Flesh out install instructions
[sitka/overdrive-evergreen-opac.git] / README.txt
1 The source code for the project is written in Coffeescript.
2
3 The source needs to be completed by writing a od_config.coffee file to define
4 configuration parameters, primarily related to authentication. Use the template
5 file 'od_config_template.coffee' by following its instructions.
6
7 The source also needs to be compiled into Javascript and minimized on a
8 development machine before executable code can be deployed on a production
9 server.
10
11
12 A. Prerequisites
13
14 1. Install nodejs.org
15
16 2. Install node packages
17 # sudo npm install --global coffee-script
18 # sudo npm install --global requirejs
19
20
21 B. Compiling and Production Deployment
22
23 1. Configure od_config.coffee to match your production
24 values.
25
26 #cp src/od_config_template.coffee src/od_config.coffee
27 #vi src/od_config.coffee
28
29 Map the full org unit name for each branch (as displayed in the Home
30 Library field of the Account Preferences tab in My Account in the OPAC)
31 to its corresponding Overdrive authorization name (provided by
32 Overdrive).
33
34 Follow the comments in the file to create your oAuth credential in
35 Base64 format.
36
37 Add your account and website ID values as described here:
38 https://developer.overdrive.com/apis/patron-auth
39
40 Indicate whether a user password is required for Overdrive
41 authentication (this depends on how your Overdrive account is
42 configured).  The no_password array should contain a comma-separated
43 list of the full long name of each library that does not require
44 passwords.  Alternatively, you can modify the password_required block to
45 always return true (if all your libraries require a password for
46 Overdrive) or false (if none require a password).
47
48 Edit the value for baseURL.  This is your specific
49 *.lib.overdrive.com/ContentDetails.htm URL.  Overdrive can assist with
50 finding this if you do not know it.
51
52 Define productbaseURLs.  This is the FQDN for your library specific URLs
53 for Overdrive products (i.e. the domain name used in your links to
54 Overdrive titles in MARC 856 tags).
55
56
57 2. Compile source files from Coffeescript to Javascript
58
59 (long form)
60 # coffee --compile --bare --output app src
61
62 (short form)
63 # coffee -cb -o app src
64
65
66 3. Minify Javascript files (optional, but recommended)
67 # r.js -o build.js
68
69 4. Deploy files to production server
70
71 If you minified the files:
72 # cp build/overdrive.js /openils/var/web/js/ui/default/opac
73
74 If you did not minify the files:
75 # cp app/* /openils/var/web/js/ui/default/opac
76
77
78 C. Configuration of the TPAC template files
79
80 Merge the following commits from Sitka into your local Evergreen git repo.
81 The best method for this is to add Sitka as a remote, and cherry-pick from it.
82 You could also attempt to patch by hand, but this is prone to more errors.
83
84 # git remote add sitka git://git.sitka.bclibraries.ca/sitka/evergreen.git
85 # git fetch sitka
86
87 http://git.sitka.bclibraries.ca/gitweb/?p=sitka/evergreen.git;a=commit;h=f8d5d13
88 http://git.sitka.bclibraries.ca/gitweb/?p=sitka/evergreen.git;a=commit;h=b4e4270
89 http://git.sitka.bclibraries.ca/gitweb/?p=sitka/evergreen.git;a=commit;h=2ba716b
90 http://git.sitka.bclibraries.ca/gitweb/?p=sitka/evergreen.git;a=commit;h=946333b
91 http://git.sitka.bclibraries.ca/gitweb/?p=sitka/evergreen.git;a=commit;h=4ab3d89
92
93 (TODO: Make these changes available in a branch in the working repo.)
94
95
96 D. Enabling the mod_proxy_http module for Apache
97
98 1. Create the file /etc/apache2/mods-available/proxy_http.conf, with the
99 following contents.
100
101 <IfModule mod_proxy_http.c>
102     SSLProxyEngine On
103     ProxyPass        /od/oauth        https://oauth.overdrive.com
104     ProxyPassReverse /od/oauth        https://oauth.overdrive.com
105     ProxyPass        /od/oauth-patron https://oauth-patron.overdrive.com
106     ProxyPassReverse /od/oauth-patron https://oauth-patron.overdrive.com
107     ProxyPass        /od/api          http://api.overdrive.com
108     ProxyPassReverse /od/api          http://api.overdrive.com
109     ProxyPass        /od/api-patron   http://patron.api.overdrive.com
110     ProxyPassReverse /od/api-patron   http://patron.api.overdrive.com
111     ProxyPass        /od/images       http://images.contentreserve.com
112     ProxyPassReverse /od/images       http://images.contentreserve.com
113     ProxyPass        /od/fulfill      http://fulfill.contentreserve.com
114     ProxyPassReverse /od/fulfill      http://fulfill.contentreserve.com
115 </IfModule>
116
117
118 2. Ensure that the proxy_http module is enabled.
119
120 # sudo a2enmod proxy_http.load
121
122
123 3. Gracefully restart the Apache web service.
124
125 # sudo service apache2 graceful
126
127
128 D. Web Browser
129
130 Reload the browser at http://libraryname.servername.domainname/eg/opac/home, to
131 run the home page of the OPAC.  Ensure that the browser's cache is disabled.
132 By monitoring the network traffic, you should see new JS and CSS files load, in
133 the following approximate sequence.
134
135 require.min.js
136 overdrive.js
137 jquery.min.js
138 lodash.min.js
139 cookies.min.js
140 json3.min.js
141 moment.min.js
142 jquery-ui.min.js
143 jquery-ui.min.css
144
145 (You will see additional files if you did not minify JS.)
146