From: Steven Chan Date: Fri, 19 Sep 2014 22:41:02 +0000 (-0700) Subject: Complete the README file X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=19ec4380f9f74f2db971025f2b25f020ecdaadde;p=contrib%2Foverdrive-eg-opac.git Complete the README file Signed-off-by: Steven Chan --- diff --git a/README.txt b/README.txt index 8927d6e..b2c7ef8 100644 --- a/README.txt +++ b/README.txt @@ -1,26 +1,30 @@ -The source code for the project is written Coffeescript. +The source code for the project is written in Coffeescript. The source needs to be completed by writing a od_config.coffee file to define configuration parameters, primarily related to authentication. Use the template -file 'od_config_template.coffee' by following the instructions in the comments. +file 'od_config_template.coffee' by following its instructions. -The source also needs to be compiled into Javascript and minimized before the -code can be deployed on a production server. +The source also needs to be compiled into Javascript and minimized on a +development machine before executable code can be deployed on a production +server. -Prerequisites + +A. Prerequisites, development machine 1. Install nodejs.org 2. Install node packages -# npm install --global coffee-script -# npm install --global requirejs +# sudo npm install --global coffee-script +# sudo npm install --global requirejs -Production Deployment +B. Production Deployment 1. Put yourself at top-level project directory. -2. Compile source files from Coffeescript to Javascript (long form) +2. Compile source files from Coffeescript to Javascript + +(long form) # coffee --compile --bare --output app src (short form) @@ -29,22 +33,90 @@ Production Deployment 3. Minify Javascript files # r.js -o build.js -4. Deploy minified files -# rsync -e 'ssh -l sitkastaff' -azv build/overdrive.js servername.domainname:/var/tmp/od +4. Deploy minified files to production server +# rsync -e 'ssh -l sitkastaff' -azv build/overdrive.js servername.domainname:/var/tmp + +On production server: +# sudo chown opensrf:opensrf /var/tmp/overdrive.js +# sudo mv /var/tmp/overdrive.js /srv/openils/var/web/js/ui/default/opac + + +C. Configuration of Web Service + +1. Add the following script tag to /srv/openils/var/templates/opac/parts/js.tt2. + + + +2. Define the file /etc/apache2/mods-available/proxy_http.conf, with the +following contents. + + + SSLProxyEngine On + ProxyPass /od/oauth https://oauth.overdrive.com + ProxyPassReverse /od/oauth https://oauth.overdrive.com + ProxyPass /od/oauth-patron https://oauth-patron.overdrive.com + ProxyPassReverse /od/oauth-patron https://oauth-patron.overdrive.com + ProxyPass /od/api http://api.overdrive.com + ProxyPassReverse /od/api http://api.overdrive.com + ProxyPass /od/api-patron http://patron.api.overdrive.com + ProxyPassReverse /od/api-patron http://patron.api.overdrive.com + ProxyPass /od/images http://images.contentreserve.com + ProxyPassReverse /od/images http://images.contentreserve.com + ProxyPass /od/fulfill http://fulfill.contentreserve.com + ProxyPassReverse /od/fulfill http://fulfill.contentreserve.com + + +3. Ensure that the proxy_http module is enabled. + +# cat /etc/apache2/mods-available/proxy_http.load +> LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so +4. Gracefully restart the Apache web service. -Development +# sudo service apache2 graceful + + +D. Web Browser + +Reload the browser at http://libraryname.servername.domainname/eg/opac/home, to +run the home page of the OPAC. Ensure that the browser's cache is disabled. +By monitoring the network traffic, you should see new JS and CSS files load, in +the following approximate sequence. + +require.min.js +overdrive.js +jquery.min.js +lodash.min.js +cookies.min.js +json3.min.js +moment.min.js +jquery-ui.min.js +jquery-ui.min.css + + +E. Development Cycle During development, you will cycle between compiling source files, deploying unminified files, and testing. - Run the compiler in watch mode and as a background process. + # coffee -cbw -o app src & - Edit a file. It will be compiled automatically via the background process. -- Deploy unminified files that have been modified to the test server. +- Deploy unminified files in app directory to the test server. (A convenient + way is to upload the files to /var/tmp/od/ and to symbolically link each file + to the target directory, /srv/openils/var/web/js/ui/default/opac.) + # rsync -e 'ssh -l sitkastaff' -azv app/ servername.domainname:/var/tmp/od + On servername.domainname machine, repeat for each js files: + +# sudo ln -s /var/tmp/od/overdrive.js /srv/openils/var/web/js/ui/default/opac + - Reload your browser, https://libraryname.servername.domainname, to run the - modified file. Ensure that the browser's cache is disabled. + modified files. Ensure that the browser's cache is disabled.