umlaut 3.0.0alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. data/LICENSE +7 -0
  2. data/README.md +49 -0
  3. data/Rakefile +37 -0
  4. data/app/assets/images/error.gif +0 -0
  5. data/app/assets/images/export_bg_bot.gif +0 -0
  6. data/app/assets/images/export_bg_mid.gif +0 -0
  7. data/app/assets/images/export_bg_top.gif +0 -0
  8. data/app/assets/images/famfamfam/book_open.png +0 -0
  9. data/app/assets/images/famfamfam/cross.png +0 -0
  10. data/app/assets/images/famfamfam/page_sound.gif +0 -0
  11. data/app/assets/images/famfamfam/page_text.gif +0 -0
  12. data/app/assets/images/famfamfam/page_up.gif +0 -0
  13. data/app/assets/images/famfamfam/page_white.png +0 -0
  14. data/app/assets/images/famfamfam/readme.html +1495 -0
  15. data/app/assets/images/famfamfam/tiny_cross.png +0 -0
  16. data/app/assets/images/frame_remove.gif +0 -0
  17. data/app/assets/images/ico_go.gif +0 -0
  18. data/app/assets/images/jhu_findit.gif +0 -0
  19. data/app/assets/images/list_closed.png +0 -0
  20. data/app/assets/images/list_open.png +0 -0
  21. data/app/assets/images/more_info.gif +0 -0
  22. data/app/assets/images/rails.png +0 -0
  23. data/app/assets/images/request.gif +0 -0
  24. data/app/assets/images/spinner.gif +0 -0
  25. data/app/assets/javascripts/umlaut/ajax_windows.js +35 -0
  26. data/app/assets/javascripts/umlaut/ensure_window_size.js.erb +34 -0
  27. data/app/assets/javascripts/umlaut/expand_contract_toggle.js +25 -0
  28. data/app/assets/javascripts/umlaut/search_autocomplete.js +46 -0
  29. data/app/assets/javascripts/umlaut/simple_visible_toggle.js +8 -0
  30. data/app/assets/javascripts/umlaut/update_html.js +152 -0
  31. data/app/assets/javascripts/umlaut.js +17 -0
  32. data/app/assets/stylesheets/umlaut.css +857 -0
  33. data/app/controllers/application_controller.rb +14 -0
  34. data/app/controllers/export_email_controller.rb +123 -0
  35. data/app/controllers/js_helper_controller.rb +10 -0
  36. data/app/controllers/link_router_controller.rb +87 -0
  37. data/app/controllers/open_search_controller.rb +9 -0
  38. data/app/controllers/resolve_controller.rb +288 -0
  39. data/app/controllers/resource_controller.rb +83 -0
  40. data/app/controllers/search_controller.rb +328 -0
  41. data/app/controllers/search_methods/sfx3.rb +148 -0
  42. data/app/controllers/search_methods/sfx4.rb +257 -0
  43. data/app/controllers/search_methods/sfx_api.rb +47 -0
  44. data/app/controllers/store_controller.rb +64 -0
  45. data/app/controllers/umlaut/controller_behavior.rb +20 -0
  46. data/app/controllers/umlaut/controller_logic.rb +96 -0
  47. data/app/controllers/umlaut/error_handling.rb +48 -0
  48. data/app/controllers/umlaut_controller.rb +112 -0
  49. data/app/helpers/application_helper.rb +4 -0
  50. data/app/helpers/emailer_helper.rb +43 -0
  51. data/app/helpers/export_email_helper.rb +34 -0
  52. data/app/helpers/open_search_helper.rb +7 -0
  53. data/app/helpers/resolve_helper.rb +225 -0
  54. data/app/helpers/search_helper.rb +50 -0
  55. data/app/helpers/umlaut/footer_helper.rb +64 -0
  56. data/app/helpers/umlaut/helper.rb +62 -0
  57. data/app/helpers/umlaut/html_head_helper.rb +37 -0
  58. data/app/helpers/umlaut/url_generation.rb +77 -0
  59. data/app/mailers/emailer.rb +48 -0
  60. data/app/models/clickthrough.rb +2 -0
  61. data/app/models/collection.rb +259 -0
  62. data/app/models/crossref_lookup.rb +2 -0
  63. data/app/models/dispatched_service.rb +58 -0
  64. data/app/models/permalink.rb +29 -0
  65. data/app/models/referent.rb +473 -0
  66. data/app/models/referent_value.rb +14 -0
  67. data/app/models/request.rb +449 -0
  68. data/app/models/service_response.rb +179 -0
  69. data/app/models/service_store.rb +59 -0
  70. data/app/models/service_type_value.rb +58 -0
  71. data/app/models/service_wave.rb +150 -0
  72. data/app/models/sfx_db/az_additional_title.rb +11 -0
  73. data/app/models/sfx_db/az_letter_group.rb +11 -0
  74. data/app/models/sfx_db/az_title.rb +38 -0
  75. data/app/models/sfx_db/az_title_v2.rb +34 -0
  76. data/app/models/sfx_db/isbn.rb +12 -0
  77. data/app/models/sfx_db/issn.rb +12 -0
  78. data/app/models/sfx_db/object.rb +35 -0
  79. data/app/models/sfx_db/object_portfolio.rb +6 -0
  80. data/app/models/sfx_db/publisher.rb +10 -0
  81. data/app/models/sfx_db/sfx_db_base.rb +54 -0
  82. data/app/models/sfx_db/target.rb +9 -0
  83. data/app/models/sfx_db/target_service.rb +10 -0
  84. data/app/models/sfx_db/title.rb +10 -0
  85. data/app/models/sfx_db.rb +10 -0
  86. data/app/models/sfx_url.rb +35 -0
  87. data/app/views/emailer/citation.text.erb +28 -0
  88. data/app/views/emailer/short_citation.text.erb +8 -0
  89. data/app/views/export_email/_email.html.erb +25 -0
  90. data/app/views/export_email/_send_email.html.erb +3 -0
  91. data/app/views/export_email/_send_txt.html.erb +3 -0
  92. data/app/views/export_email/_txt.html.erb +62 -0
  93. data/app/views/export_email/email.html.erb +3 -0
  94. data/app/views/export_email/send_email.html.erb +1 -0
  95. data/app/views/export_email/send_txt.html.erb +1 -0
  96. data/app/views/export_email/txt.html.erb +3 -0
  97. data/app/views/js_helper/loader.erb.js +13 -0
  98. data/app/views/layouts/umlaut.html.erb +52 -0
  99. data/app/views/open_search/index.html.erb +9 -0
  100. data/app/views/resolve/_api_in_progress.xml.erb +21 -0
  101. data/app/views/resolve/_background_progress.html.erb +51 -0
  102. data/app/views/resolve/_background_updater.html.erb +38 -0
  103. data/app/views/resolve/_citation.html.erb +87 -0
  104. data/app/views/resolve/_coins.html.erb +1 -0
  105. data/app/views/resolve/_compact_citation.html.erb +33 -0
  106. data/app/views/resolve/_cover_image.html.erb +35 -0
  107. data/app/views/resolve/_fulltext.html.erb +55 -0
  108. data/app/views/resolve/_help.html.erb +17 -0
  109. data/app/views/resolve/_holding.html.erb +91 -0
  110. data/app/views/resolve/_related_items.html.erb +35 -0
  111. data/app/views/resolve/_search_inside.html.erb +62 -0
  112. data/app/views/resolve/_section_display.html.erb +49 -0
  113. data/app/views/resolve/_service_errors.html.erb +29 -0
  114. data/app/views/resolve/_standard_response_item.html.erb +89 -0
  115. data/app/views/resolve/api.xml.builder +72 -0
  116. data/app/views/resolve/background_status.html.erb +26 -0
  117. data/app/views/resolve/index.html.erb +73 -0
  118. data/app/views/resolve/partial_html_sections.xml.erb +30 -0
  119. data/app/views/search/_a_to_z.html.erb +6 -0
  120. data/app/views/search/_citation.html.erb +94 -0
  121. data/app/views/search/_pager.html.erb +60 -0
  122. data/app/views/search/books.html.erb +103 -0
  123. data/app/views/search/journal_search.html.erb +90 -0
  124. data/app/views/search/journals.html.erb +167 -0
  125. data/app/views/search/opensearch_description.rxml +10 -0
  126. data/app/views/testing/index.html.erb +1 -0
  127. data/app/views/umlaut/README +5 -0
  128. data/app/views/umlaut/error.html.erb +45 -0
  129. data/db/migrate/01_umlaut_init.rb +113 -0
  130. data/db/orig_fixed_data/service_type_values.yml +120 -0
  131. data/db/seeds.rb +7 -0
  132. data/lib/CronTab.rb +192 -0
  133. data/lib/aws_product_sign.rb +146 -0
  134. data/lib/exlibris/aleph/patron.rb +64 -0
  135. data/lib/exlibris/aleph/record.rb +54 -0
  136. data/lib/exlibris/aleph/rest_api.rb +29 -0
  137. data/lib/exlibris/primo/holding.rb +192 -0
  138. data/lib/exlibris/primo/rsrc.rb +17 -0
  139. data/lib/exlibris/primo/searcher.rb +276 -0
  140. data/lib/exlibris/primo/source/aleph.rb +46 -0
  141. data/lib/exlibris/primo/source/distribution/nyu_aleph.rb +323 -0
  142. data/lib/exlibris/primo/toc.rb +17 -0
  143. data/lib/exlibris/primo_ws.rb +140 -0
  144. data/lib/generators/templates/umlaut_services.yml +237 -0
  145. data/lib/generators/umlaut/asset_hooks_generator.rb +44 -0
  146. data/lib/generators/umlaut/install_generator.rb +110 -0
  147. data/lib/hip3/bib.rb +291 -0
  148. data/lib/hip3/bib_searcher.rb +302 -0
  149. data/lib/hip3/custom_field_lookup.rb +44 -0
  150. data/lib/hip3/holding.rb +50 -0
  151. data/lib/hip3/item.rb +65 -0
  152. data/lib/hip3/receipt.rb +7 -0
  153. data/lib/hip3/serial_copy.rb +82 -0
  154. data/lib/holding.rb +32 -0
  155. data/lib/marc_helper.rb +254 -0
  156. data/lib/metadata_helper.rb +312 -0
  157. data/lib/opensearch_feed.rb +398 -0
  158. data/lib/opensearch_query.rb +98 -0
  159. data/lib/referent_filter.rb +16 -0
  160. data/lib/referent_filters/dissertation_catch.rb +45 -0
  161. data/lib/section_renderer.rb +503 -0
  162. data/lib/service.rb +336 -0
  163. data/lib/service_adaptors/ajax_export.rb +37 -0
  164. data/lib/service_adaptors/amazon.rb +412 -0
  165. data/lib/service_adaptors/blacklight.rb +327 -0
  166. data/lib/service_adaptors/book_finder.rb +40 -0
  167. data/lib/service_adaptors/bx.rb +51 -0
  168. data/lib/service_adaptors/cover_thing.rb +73 -0
  169. data/lib/service_adaptors/elsevier_cover.rb +57 -0
  170. data/lib/service_adaptors/email_export.rb +10 -0
  171. data/lib/service_adaptors/ezproxy.rb +171 -0
  172. data/lib/service_adaptors/google_book_search.rb +442 -0
  173. data/lib/service_adaptors/gpo.rb +124 -0
  174. data/lib/service_adaptors/hathi_trust.rb +308 -0
  175. data/lib/service_adaptors/hip3_service.rb +150 -0
  176. data/lib/service_adaptors/hip_holding_search.rb +237 -0
  177. data/lib/service_adaptors/internet_archive.rb +488 -0
  178. data/lib/service_adaptors/isbn_db.rb +86 -0
  179. data/lib/service_adaptors/isi.rb +258 -0
  180. data/lib/service_adaptors/jcr.rb +146 -0
  181. data/lib/service_adaptors/opac.rb +351 -0
  182. data/lib/service_adaptors/open_library.rb +316 -0
  183. data/lib/service_adaptors/open_library_cover.rb +73 -0
  184. data/lib/service_adaptors/primo_service.rb +392 -0
  185. data/lib/service_adaptors/primo_source.rb +78 -0
  186. data/lib/service_adaptors/pubmed.rb +133 -0
  187. data/lib/service_adaptors/request_to_fixture.rb +68 -0
  188. data/lib/service_adaptors/scopus.rb +295 -0
  189. data/lib/service_adaptors/sfx-new.rb +557 -0
  190. data/lib/service_adaptors/sfx.rb +566 -0
  191. data/lib/service_adaptors/sfx_backchannel_record.rb +69 -0
  192. data/lib/service_adaptors/txt_holding_export.rb +32 -0
  193. data/lib/service_adaptors/ulrichs_cover.rb +57 -0
  194. data/lib/service_adaptors/ulrichs_link.rb +47 -0
  195. data/lib/service_adaptors/worldcat.rb +116 -0
  196. data/lib/service_adaptors/worldcat_identities.rb +591 -0
  197. data/lib/tasks/umlaut.rake +134 -0
  198. data/lib/umlaut/default_configuration.rb +5 -0
  199. data/lib/umlaut/routes.rb +136 -0
  200. data/lib/umlaut/version.rb +3 -0
  201. data/lib/umlaut.rb +37 -0
  202. data/lib/umlaut_configurable.rb +343 -0
  203. data/lib/umlaut_http.rb +100 -0
  204. data/lib/xml_schema_helper.rb +109 -0
  205. data/test/dummy/Rakefile +7 -0
  206. data/test/dummy/app/assets/javascripts/application.js +13 -0
  207. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  208. data/test/dummy/app/controllers/application_controller.rb +3 -0
  209. data/test/dummy/app/controllers/umlaut_controller.rb +112 -0
  210. data/test/dummy/app/helpers/application_helper.rb +2 -0
  211. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  212. data/test/dummy/config/application.rb +45 -0
  213. data/test/dummy/config/boot.rb +10 -0
  214. data/test/dummy/config/database-jhu.yml +44 -0
  215. data/test/dummy/config/database.yml +25 -0
  216. data/test/dummy/config/environment.rb +5 -0
  217. data/test/dummy/config/environments/development.rb +34 -0
  218. data/test/dummy/config/environments/production.rb +60 -0
  219. data/test/dummy/config/environments/test.rb +39 -0
  220. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  221. data/test/dummy/config/initializers/inflections.rb +10 -0
  222. data/test/dummy/config/initializers/mime_types.rb +5 -0
  223. data/test/dummy/config/initializers/secret_token.rb +7 -0
  224. data/test/dummy/config/initializers/session_store.rb +8 -0
  225. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  226. data/test/dummy/config/locales/en.yml +5 -0
  227. data/test/dummy/config/routes.rb +61 -0
  228. data/test/dummy/config/umlaut_services.yml +237 -0
  229. data/test/dummy/config.ru +4 -0
  230. data/test/dummy/db/migrate/20111228211210_umlaut_init.rb +113 -0
  231. data/test/dummy/db/schema.rb +124 -0
  232. data/test/dummy/log/development.log +12981 -0
  233. data/test/dummy/log/production.log +0 -0
  234. data/test/dummy/public/404.html +26 -0
  235. data/test/dummy/public/422.html +26 -0
  236. data/test/dummy/public/500.html +26 -0
  237. data/test/dummy/public/favicon.ico +0 -0
  238. data/test/dummy/script/rails +6 -0
  239. data/test/dummy/tmp/cache/assets/C5F/340/sprockets%2F99692920160b7a279b86a80415b79db7 +0 -0
  240. data/test/dummy/tmp/cache/assets/C70/4D0/sprockets%2F034ad2036e623081bd352800786dfe80 +0 -0
  241. data/test/dummy/tmp/cache/assets/C73/920/sprockets%2Fd371318f22900492fd180f17c5e2a504 +9268 -0
  242. data/test/dummy/tmp/cache/assets/C80/980/sprockets%2Fc94807409c1523d43e18d25f35d93c41 +0 -0
  243. data/test/dummy/tmp/cache/assets/C8F/780/sprockets%2Fe47e28558116fb5f8038754e60d1961d +11769 -0
  244. data/test/dummy/tmp/cache/assets/CAA/EB0/sprockets%2F1d179210e8b76f1ea63c802688a015e4 +9271 -0
  245. data/test/dummy/tmp/cache/assets/CBB/9C0/sprockets%2F706f28923fb754cad04b9107c89986a1 +0 -0
  246. data/test/dummy/tmp/cache/assets/CBF/B60/sprockets%2F08ca89671549936265dcb673bf02e36f +0 -0
  247. data/test/dummy/tmp/cache/assets/CC9/9F0/sprockets%2F306166316e2cafd13c15e62b51a2339d +0 -0
  248. data/test/dummy/tmp/cache/assets/CF6/F20/sprockets%2F5b2ffa1103079dfd555197838f87a99f +0 -0
  249. data/test/dummy/tmp/cache/assets/CF7/2B0/sprockets%2F25a7c73655bd3598173b39d9f98bcd46 +862 -0
  250. data/test/dummy/tmp/cache/assets/CFE/080/sprockets%2F37fe9f4255baddbd549a659914929398 +0 -0
  251. data/test/dummy/tmp/cache/assets/D22/060/sprockets%2F9aec77b768e91a802d284271c58e2f7e +21357 -0
  252. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  253. data/test/dummy/tmp/cache/assets/D33/6D0/sprockets%2F500129c57f1146e556ec3aacd6cd38c1 +0 -0
  254. data/test/dummy/tmp/cache/assets/D33/FD0/sprockets%2F2ba0b4e6334a77b923e5f770381bb2bf +0 -0
  255. data/test/dummy/tmp/cache/assets/D42/C20/sprockets%2Fbcf14e437b1582bf93b77670acf8e090 +21353 -0
  256. data/test/dummy/tmp/cache/assets/D50/A30/sprockets%2F7d8b294ac433db5d056538f8cf7c66b9 +0 -0
  257. data/test/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +872 -0
  258. data/test/dummy/tmp/cache/assets/D65/590/sprockets%2Fc1bb92fc3406a126b7dd302edc96d629 +0 -0
  259. data/test/dummy/tmp/cache/assets/D71/6B0/sprockets%2Fde558b71b494cf09b1bf055c8dff0353 +0 -0
  260. data/test/dummy/tmp/cache/assets/D72/610/sprockets%2Fa8c708eeb30ef93de34d755d4f45d023 +859 -0
  261. data/test/dummy/tmp/cache/assets/D76/AD0/sprockets%2Fe2158cde93188cf5ab6457bc6d6602ec +0 -0
  262. data/test/dummy/tmp/cache/assets/D7A/E40/sprockets%2F9622ffcc499a57627cd1bb18fe31b8e4 +11772 -0
  263. data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +0 -0
  264. data/test/dummy/tmp/cache/assets/D9B/770/sprockets%2F8aacf02eb7dbb0949704b28f27b87e0b +0 -0
  265. data/test/dummy/tmp/cache/assets/DA6/A80/sprockets%2F92e26d8e58d5bcc8b8f6c25d1b05b9c1 +0 -0
  266. data/test/dummy/tmp/cache/assets/DE8/790/sprockets%2Fd1333bde2b9aafcc712d11dd09ab35d8 +0 -0
  267. data/test/dummy/tmp/cache/assets/DF7/F30/sprockets%2F7bc16c4109b17fabe29f8ddbbf732d1c +374 -0
  268. data/test/dummy/tmp/cache/assets/E03/570/sprockets%2F493bdc0ac14cd4f57fdfe4253f992bde +0 -0
  269. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  270. data/test/dummy/tmp/cache/assets/E0B/4B0/sprockets%2F7988df51a61c81ce6ede4a2d4c8cce4f +377 -0
  271. data/test/dummy/tmp/cache/assets/E5F/960/sprockets%2Fdc007b6cad5c7ef08e33ec28cfff0ef6 +0 -0
  272. data/test/fixtures/dispatched_services.yml +5 -0
  273. data/test/fixtures/permalinks.yml +5 -0
  274. data/test/fixtures/referent_values.yml +1734 -0
  275. data/test/fixtures/referents.yml +156 -0
  276. data/test/fixtures/requests.yml +284 -0
  277. data/test/fixtures/service_responses.yml +5 -0
  278. data/test/fixtures/sfx_urls.yml +4 -0
  279. data/test/performance/browsing_test.rb +9 -0
  280. data/test/test_helper.rb +10 -0
  281. data/test/umlaut_test.rb +7 -0
  282. data/test/unit/aleph_patron_test.rb +39 -0
  283. data/test/unit/aleph_record_benchmarks.rb +28 -0
  284. data/test/unit/aleph_record_test.rb +30 -0
  285. data/test/unit/aws_product_sign_test.rb +93 -0
  286. data/test/unit/collection_test.rb +76 -0
  287. data/test/unit/google_book_search_test.rb +101 -0
  288. data/test/unit/primo_searcher_test.rb +403 -0
  289. data/test/unit/primo_service_test.rb +939 -0
  290. data/test/unit/primo_ws_test.rb +131 -0
  291. data/test/unit/service_response_test.rb +9 -0
  292. data/test/unit/service_test.rb +33 -0
  293. metadata +580 -0
@@ -0,0 +1,167 @@
1
+
2
+
3
+ <div class="oneColumn">
4
+ <h1>Journals</h1>
5
+
6
+ <%= render :partial=>"a_to_z" %>
7
+
8
+ <% if flash[:error] %>
9
+ <div id="error" class="notice citationLinker"><strong>(!) Problems:</strong> <%= flash[:error] %></div>
10
+ <% end %>
11
+
12
+ <h2 class="cl_header">Looking for a specific journal or article</h2>
13
+
14
+
15
+
16
+ <%= form_tag(@submit_hash, {:method=>'get', :class=>"OpenURL", :name=>'OpenURL', :id=>'OpenURL'}) %>
17
+ <div class="citationLinker">
18
+
19
+ <input type=hidden name="rfr_id" value="info:sid/sfxit.com:citation">
20
+ <!-- <input type=hidden name="rfr_id" value="info:sid/umlaut"> -->
21
+
22
+ <table width="100%" border="0" cellspacing="0" cellpadding="5">
23
+ <tr>
24
+ <td colspan="3" valign="bottom"><strong>Enter
25
+ the journal title or the ISSN.
26
+ If you have both the journal
27
+ title
28
+ and ISSN, use the ISSN.</strong></td>
29
+ <input type="hidden" class="rft_title" name="rft.title">
30
+ <input type="hidden" class="rft_object_id" name="rft.object_id">
31
+ <input type="hidden" id="date" name="rft.date">
32
+ </tr>
33
+ <tr>
34
+
35
+
36
+ <td width="89%">Journal Title:
37
+
38
+ <%= text_field :journal, :title, {:name=>'rft.jtitle', :autocomplete=>'off', :size=>'40', :class=>"title_search"} %>
39
+
40
+
41
+ <select name="umlaut.title_search_type" class="sfx_title_search">
42
+ <option value="contains">contains</option>
43
+ <option value="begins">begins
44
+ with</option>
45
+ <option value="exact">exact match</option>
46
+ </select>
47
+ &nbsp;&nbsp;&nbsp;&nbsp;ISSN:
48
+ <input type=text name="rft.issn" size="10" maxlength="9">
49
+
50
+
51
+ </td>
52
+
53
+ </tr>
54
+
55
+ </table>
56
+ </div>
57
+ <div class="citationLinker">
58
+ <table width="100%" border="0" cellspacing="0" cellpadding="5">
59
+ <tr>
60
+ <td><strong>Optional information - Enter as much as you know of the following: </strong></td>
61
+ </tr>
62
+ <tr>
63
+
64
+ <td width="46%">Date:
65
+ <select name="__year">
66
+
67
+ <option value="" selected>Year</option>
68
+ <% (-1*Time.now.year..-1*1950).each do |year| %>
69
+ <option value="<%= year.abs.to_s %>"><%= year.abs.to_s %></option>
70
+ <% end %>
71
+ </select>
72
+
73
+ <select name="__month">
74
+ <option value="" selected>Month
75
+ <option value="01">Jan
76
+ <option value="02">Feb
77
+ <option value="03">Mar
78
+ <option value="04">Apr
79
+ <option value="05">May
80
+ <option value="06">Jun
81
+ <option value="07">Jul
82
+ <option value="08">Aug
83
+ <option value="09">Sep
84
+ <option value="10">Oct
85
+ <option value="11">Nov
86
+ <option value="12">Dec
87
+ </select>
88
+
89
+ <select name="__day">
90
+ <option value="" selected>Day
91
+ <option value="01">01
92
+ <option value="02">02
93
+ <option value="03">03
94
+ <option value="04">04
95
+ <option value="05">05
96
+ <option value="06">06
97
+ <option value="07">07
98
+ <option value="08">08
99
+ <option value="09">09
100
+ <option value="10">10
101
+ <option value="11">11
102
+ <option value="12">12
103
+ <option value="13">13
104
+ <option value="14">14
105
+ <option value="15">15
106
+ <option value="16">16
107
+ <option value="17">17
108
+ <option value="18">18
109
+ <option value="19">19
110
+ <option value="20">20
111
+ <option value="21">21
112
+ <option value="22">22
113
+ <option value="23">23
114
+ <option value="24">24
115
+ <option value="25">25
116
+ <option value="26">26
117
+ <option value="27">27
118
+ <option value="28">28
119
+ <option value="29">29
120
+ <option value="30">30
121
+ </select>
122
+
123
+ &nbsp;&nbsp;&nbsp;Volume:
124
+ <input type=text name="rft.volume" size="5" maxlength="5" value="" class='volume'>&nbsp;&nbsp;&nbsp;Issue:
125
+ <input type=text name="rft.issue" size="5" value="" class="issue">
126
+ &nbsp;&nbsp;&nbsp;Start page:
127
+ <input type=text name="rft.spage" size="5" value="" class='spage'>
128
+ </td>
129
+
130
+ </tr>
131
+ <tr>
132
+ <td><strong>DOI or Pubmed Identifier: </strong></td>
133
+ </tr>
134
+ <tr>
135
+ <td>
136
+
137
+ <select name='rft_id_type'>
138
+ <option value='doi'>DOI:</option>
139
+ <option value='pmid'>PMID:</option>
140
+ </select>&nbsp;&nbsp;&nbsp;
141
+ <input name="rft_id_value" type=text value="" size=25>
142
+ </td>
143
+ </tr>
144
+ <tr>
145
+ </table>
146
+ </div>
147
+ <p class="cl_submit">
148
+
149
+ <input type="submit" name="Generate_OpenURL2" value="Search">
150
+ </p>
151
+ </form>
152
+ <div class="line2"></div>
153
+ <p><strong><span id="helpicon">?</span> Having
154
+ Trouble?</strong></p>
155
+ <p>&nbsp;</p>
156
+ <ul class="bullets">
157
+ <li>Try entering less information
158
+ about your article. If one piece of information is wrong, it could be causing
159
+ the problem.</li>
160
+ <% if umlaut_config.help_url %>
161
+ <li>For technical support, including access problems, please <a href="<%= umlaut_config.help_url %>">contact us</a>.</li>
162
+ <% end %>
163
+ </ul>
164
+
165
+ <p>&nbsp;</p>
166
+ <!--close oneColumn-->
167
+ </div>
@@ -0,0 +1,10 @@
1
+ xml.OpenSearchDescription(:xmlns=>'http://a9.com/-/spec/opensearch/1.1/') do
2
+ xml.ShortName('FindIt')
3
+ xml.LongName("Find It! @ Georgia Tech")
4
+ xml.Tags("journals articles")
5
+ xml.Description("Georgia Tech's eJournal Finder")
6
+ ['rss','atom', 'xhtml'].each { | type |
7
+ xml.Url(:type=>'application/'+type+'+xml', :template=>'http://'+request.host()+url_for(:action=>'opensearch')+CGI.escapeHTML('?query={searchTerms}&page={startPage?}&type='+type))
8
+ }
9
+ xml.Query(:role=>'example', :searchTerms=>'nature')
10
+ end
@@ -0,0 +1 @@
1
+ Foo!
@@ -0,0 +1,5 @@
1
+ This ./app/views/umlaut directory belongs to the UmlautController,
2
+ superclass of all Umlaut controllers. So views in here are available
3
+ to all Umlaut controllers, but can be 'over-ridden' in a sub-class
4
+ controller, simply by providing a view in subclass view dir with
5
+ same name.
@@ -0,0 +1,45 @@
1
+ <div class="oneColumn">
2
+
3
+ <div class="error_section">
4
+
5
+ <div class="heading">
6
+ <%= image_tag "error.gif" %>
7
+ <h1>Sorry, there was an error processing your request.</h1>
8
+ </div>
9
+
10
+
11
+ <h2>Please try one of the following options:</h2>
12
+ <ol>
13
+ <li>If you entered this URL yourself, please check your URL for errors. </li>
14
+
15
+
16
+ <% if params[:controller] # Unless this is really a 404 and we had no controller.
17
+ %>
18
+ <li>Sometimes it works to just <%= link_to "try again", params
19
+ -%>. It may be a temporary problem which will be resolved if you come back later.</li>
20
+ <% end %>
21
+
22
+ <% if ( umlaut_config.lookup!("sfx.sfx_base_url") &&
23
+ params[:controller] == "resolve" &&
24
+ params[:action] == "index") %>
25
+ <li>If that doesn't work: <%=
26
+ link_to("Try your request against backup link resolver",
27
+ umlaut_config.sfx.sfx_base_url.chomp("?") + '?' +
28
+ (request.fullpath.split("?")[1] || "") +
29
+ '&sfx.ignore_date_threshold=1') %>
30
+ </li>
31
+ <% end %>
32
+
33
+
34
+
35
+ <% if umlaut_config.help_url %>
36
+ <li>For more help, or to report a problem, please feel free to <%=
37
+ link_to "contact us for help", umlaut_config.help_url
38
+ %>.</li>
39
+ <% end %>
40
+
41
+ </ol>
42
+
43
+ <br/>
44
+
45
+ </div>
@@ -0,0 +1,113 @@
1
+ class UmlautInit < ActiveRecord::Migration
2
+ def change
3
+ create_table "clickthroughs" do |t|
4
+ t.integer "request_id", :default => 0, :null => false
5
+ t.integer "service_response_id", :default => 0, :null => false
6
+ t.datetime "created_at", :null => false
7
+ end
8
+
9
+ add_index "clickthroughs", ["created_at"], :name => "click_created_idx"
10
+ add_index "clickthroughs", ["request_id"], :name => "click_req_id"
11
+ add_index "clickthroughs", ["service_response_id"], :name => "click_serv_resp_idx"
12
+
13
+ create_table "dispatched_services" do |t|
14
+ t.integer "request_id", :default => 0, :null => false
15
+ t.string "service_id", :default => "0", :null => false
16
+ t.datetime "updated_at", :null => false
17
+ t.text "exception_info"
18
+ t.string "status", :null => false
19
+ t.datetime "created_at"
20
+ end
21
+
22
+ add_index "dispatched_services", ["request_id", "service_id"], :name => "dptch_request_id"
23
+
24
+ create_table "permalinks" do |t|
25
+ t.integer "referent_id", :default => 0
26
+ t.date "created_on", :null => false
27
+ t.text "context_obj_serialized"
28
+ t.string "orig_rfr_id", :limit => 256
29
+ end
30
+
31
+ add_index "permalinks", ["referent_id"], :name => "plink_referent_idx"
32
+
33
+ create_table "referent_values" do |t|
34
+ t.integer "referent_id", :default => 0, :null => false
35
+ t.string "key_name", :limit => 50, :default => "", :null => false
36
+ t.text "value"
37
+ t.string "normalized_value"
38
+ t.boolean "metadata", :default => false, :null => false
39
+ t.boolean "private_data", :default => false, :null => false
40
+ t.datetime "created_at"
41
+ end
42
+
43
+ add_index "referent_values", ["key_name", "normalized_value"], :name => "by_name_and_normal_val"
44
+ add_index "referent_values", ["referent_id", "key_name", "normalized_value"], :name => "rft_val_referent_idx"
45
+
46
+ create_table "referents" do |t|
47
+ t.string "atitle"
48
+ t.string "title"
49
+ t.string "issn", :limit => 10
50
+ t.string "isbn", :limit => 13
51
+ t.string "year", :limit => 4
52
+ t.string "volume", :limit => 10
53
+ t.datetime "created_at"
54
+ end
55
+
56
+ add_index "referents", ["atitle", "title", "issn", "isbn", "year", "volume"], :name => "rft_shortcut_idx"
57
+ add_index "referents", ["isbn"], :name => "index_referents_on_isbn"
58
+ add_index "referents", ["issn", "year", "volume"], :name => "by_issn"
59
+ add_index "referents", ["title"], :name => "index_referents_on_title"
60
+ add_index "referents", ["volume"], :name => "index_referents_on_volume"
61
+ add_index "referents", ["year", "volume"], :name => "by_year"
62
+
63
+ create_table "requests" do |t|
64
+ t.string "session_id", :limit => 100, :default => "", :null => false
65
+ t.integer "referent_id", :default => 0, :null => false
66
+ t.string "referrer_id"
67
+ t.datetime "created_at", :null => false
68
+ t.string "client_ip_addr"
69
+ t.boolean "client_ip_is_simulated"
70
+ t.string "contextobj_fingerprint", :limit => 32
71
+ t.string "http_env", :limit => 2048
72
+ end
73
+
74
+ add_index "requests", ["client_ip_addr"], :name => "index_requests_on_client_ip_addr"
75
+ add_index "requests", ["contextobj_fingerprint"], :name => "index_requests_on_contextobj_fingerprint"
76
+ add_index "requests", ["created_at"], :name => "req_created_at"
77
+ add_index "requests", ["referent_id", "referrer_id"], :name => "context_object_idx"
78
+ add_index "requests", ["session_id"], :name => "req_sess_idx"
79
+
80
+ create_table "service_responses" do |t|
81
+ t.string "service_id", :limit => 25, :null => false
82
+ t.string "response_key", :default => ""
83
+ t.string "value_string"
84
+ t.string "value_alt_string"
85
+ t.text "value_text"
86
+ t.string "display_text"
87
+ t.string "url", :limit => 1024
88
+ t.text "notes"
89
+ t.text "service_data"
90
+ t.datetime "created_at"
91
+ t.string "service_type_value_name"
92
+ t.integer "request_id"
93
+ end
94
+
95
+ add_index "service_responses", ["service_id", "response_key", "value_string", "value_alt_string"], :name => "svc_resp_service_id"
96
+
97
+ create_table "sessions" do |t|
98
+ t.string "session_id"
99
+ t.text "data"
100
+ t.datetime "updated_at"
101
+ end
102
+
103
+ add_index "sessions", ["session_id"], :name => "index_sessions_on_session_id"
104
+ add_index "sessions", ["updated_at"], :name => "index_sessions_on_updated_at"
105
+
106
+ create_table "sfx_urls" do |t|
107
+ t.string "url"
108
+ end
109
+
110
+ add_index "sfx_urls", ["url"], :name => "index_sfx_urls_on_url"
111
+
112
+ end
113
+ end
@@ -0,0 +1,120 @@
1
+ fulltext:
2
+ id: 1
3
+ display_name: Electronic Version
4
+
5
+ holding:
6
+ id: 2
7
+ display_name: Copy in Library
8
+ display_name_plural: Copies in Library
9
+
10
+ document_delivery:
11
+ id: 3
12
+ display_name: Request Service
13
+
14
+ help:
15
+ id: 4
16
+ display_name: Help Link
17
+ display_name_plural: Help Links
18
+
19
+ # Not currently used
20
+ web_link:
21
+ id: 5
22
+ display_name: Web Result
23
+
24
+ # Not currently used.
25
+ relevant_link:
26
+ id: 6
27
+ display_name: Closest Web Result
28
+
29
+ abstract:
30
+ id: 11
31
+ display_name: Abstract
32
+ display_name_plural: Abstracts
33
+
34
+ table_of_contents:
35
+ id: 12
36
+ display_name: Table of Contents
37
+ display_name_plural: Tables of Contents
38
+
39
+ cover_image:
40
+ id: 13
41
+ display_name: Cover Image
42
+
43
+ # "See also" links to known destinations, like Amazon or OCLC
44
+ highlighted_link:
45
+ id: 14
46
+ display_name: See Also Link
47
+
48
+ # Link to search holdings, generally with a count given, ie "5 possible matches".
49
+ holding_search:
50
+ id: 15
51
+ display_name: Copy in Library
52
+ display_name_plural: Copies in Library
53
+
54
+ # This is meant for 'fulltext' from such sources as the OPAC/ILS, where
55
+ # it will always be a title-level link, and dates of coverage usually
56
+ # aren't checked. DEPRECATED. No longer used, use a fulltext wtih :coverage_checked
57
+ # and/or :can_link_to_article set to false.
58
+ fulltext_title_level:
59
+ id: 16
60
+ display_name: Electronic Text Version
61
+
62
+ audio:
63
+ id: 17
64
+ display_name: Digital Audio
65
+
66
+ # A search inside tool, presented with a search box for user.
67
+ search_inside:
68
+ id: 18
69
+ display_name: Search Inside Tool
70
+
71
+ # A tool that will enhance the Referent metadata. Not always advertised
72
+ # properly yet.
73
+ referent_enhance:
74
+ id: 19
75
+ display_name: More Information
76
+
77
+ # Link to partial text, as in Amazon or Google Books that don't have
78
+ # full text, only excerpts.
79
+ excerpts:
80
+ id: 20
81
+ display_name: Limited Excerpts
82
+
83
+ cited_by:
84
+ id: 21
85
+ display_name: Article that cites this
86
+ display_name_plural: Articles that cite this
87
+
88
+ # Used by ISI and Scopus at present. Maybe more later.
89
+ # "More like this" links.
90
+ similar:
91
+ id: 22
92
+ display_name: "Similar Articles"
93
+
94
+
95
+ # Not sure what this is used for. Think it's a typo for abstract.
96
+ description:
97
+ id: 100
98
+ display_name: Description
99
+
100
+ # Not sure if this is used for anything yet, but some services generate
101
+ subject:
102
+ id: 101
103
+ display_name: Subject
104
+
105
+ # Not used yet by views
106
+ similar_item:
107
+ id: 102
108
+ display_name: Similar Item
109
+
110
+ # Used to save/send the citation/holdings
111
+ export_citation:
112
+ id: 103
113
+ display_name: Export tool
114
+
115
+ primo_source:
116
+ id: 104
117
+ display_name: Primo Source
118
+
119
+ # If you want to add your own custom ones, make them start with ids at 100000,
120
+ # to leave plenty of space for future standard umlaut ones.