hydra-head 3.0.0pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (366) hide show
  1. data/.gitignore +71 -0
  2. data/.gitmodules +6 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +257 -0
  5. data/README.textile +150 -0
  6. data/README_RAILS3_CHANGES.textile +42 -0
  7. data/Rakefile +5 -0
  8. data/TESTING.textile +85 -0
  9. data/app/controllers/assets_controller.rb +117 -0
  10. data/app/controllers/contributors_controller.rb +54 -0
  11. data/app/controllers/file_assets_controller.rb +152 -0
  12. data/app/controllers/permissions_controller.rb +137 -0
  13. data/app/controllers/user_sessions_controller.rb +14 -0
  14. data/app/helpers/article_metadata_helper.rb +80 -0
  15. data/app/helpers/blacklight_helper.rb +192 -0
  16. data/app/helpers/downloads_helper.rb +19 -0
  17. data/app/helpers/generic_content_objects_helper.rb +16 -0
  18. data/app/helpers/hydra_assets_helper.rb +75 -0
  19. data/app/helpers/hydra_djatoka_helper.rb +23 -0
  20. data/app/helpers/hydra_fedora_metadata_helper.rb +365 -0
  21. data/app/helpers/hydra_helper.rb +155 -0
  22. data/app/helpers/hydra_uploader_helper.rb +18 -0
  23. data/app/helpers/inline_editable_metadata_helper.rb +15 -0
  24. data/app/helpers/javascript_includes_helper.rb +93 -0
  25. data/app/helpers/release_process_helper.rb +32 -0
  26. data/app/models/audio_asset.rb +8 -0
  27. data/app/models/file_asset.rb +111 -0
  28. data/app/models/generic_content.rb +21 -0
  29. data/app/models/generic_image.rb +62 -0
  30. data/app/models/image_asset.rb +8 -0
  31. data/app/models/mods_asset.rb +6 -0
  32. data/app/models/role_mapper.rb +22 -0
  33. data/app/models/superuser.rb +6 -0
  34. data/app/models/video_asset.rb +8 -0
  35. data/app/views/_add_assets_links.html.erb +13 -0
  36. data/app/views/_brown_sidebar.html +15 -0
  37. data/app/views/_user_util_links.html.erb +31 -0
  38. data/app/views/catalog/_citation.html.erb +11 -0
  39. data/app/views/catalog/_constraints_element.html.erb +34 -0
  40. data/app/views/catalog/_delete_partials/_default.html.erb +29 -0
  41. data/app/views/catalog/_document_list.html.erb +11 -0
  42. data/app/views/catalog/_edit_partials/_default.html.erb +64 -0
  43. data/app/views/catalog/_edit_partials/_default_details.html.erb +15 -0
  44. data/app/views/catalog/_email_form.html.erb +9 -0
  45. data/app/views/catalog/_facets.html.erb +37 -0
  46. data/app/views/catalog/_flash_msg.html.erb +17 -0
  47. data/app/views/catalog/_home.html.erb +6 -0
  48. data/app/views/catalog/_home_text.html.erb +10 -0
  49. data/app/views/catalog/_index_partials/_default.html.erb +20 -0
  50. data/app/views/catalog/_index_partials/_default_details.html.erb +11 -0
  51. data/app/views/catalog/_index_partials/_default_group.html.erb +15 -0
  52. data/app/views/catalog/_search_form.html.erb +12 -0
  53. data/app/views/catalog/_show_partials/_default.html.erb +23 -0
  54. data/app/views/catalog/_show_partials/_default_details.html.erb +12 -0
  55. data/app/views/catalog/_show_partials/_facets.html.erb +52 -0
  56. data/app/views/catalog/_sms_form.html.erb +21 -0
  57. data/app/views/catalog/_sort_and_per_page.html.erb +22 -0
  58. data/app/views/catalog/_uva_tabs.html.erb +10 -0
  59. data/app/views/catalog/about.html.erb +0 -0
  60. data/app/views/catalog/show.html.erb +48 -0
  61. data/app/views/contributors/_add_contributor_split_button.html.erb +10 -0
  62. data/app/views/contributors/_edit_conference.html.erb +29 -0
  63. data/app/views/contributors/_edit_organization.html.erb +29 -0
  64. data/app/views/contributors/_edit_person.html.erb +42 -0
  65. data/app/views/contributors/_index.html.erb +12 -0
  66. data/app/views/contributors/_new.html.erb +10 -0
  67. data/app/views/contributors/_show_conference.html.erb +22 -0
  68. data/app/views/contributors/_show_organization.html.erb +29 -0
  69. data/app/views/contributors/_show_person.html.erb +17 -0
  70. data/app/views/contributors/new.html.erb +13 -0
  71. data/app/views/downloads/index.html.erb +1 -0
  72. data/app/views/file_assets/_deletable_result.html.erb +5 -0
  73. data/app/views/file_assets/_index.html.erb +15 -0
  74. data/app/views/file_assets/_new.html.erb +2 -0
  75. data/app/views/file_assets/_result.html.erb +16 -0
  76. data/app/views/file_assets/index.html.erb +5 -0
  77. data/app/views/fluid_infusion/_uploader.html.erb +81 -0
  78. data/app/views/fluid_infusion/_uploader_generic_content_objects.js.erb +38 -0
  79. data/app/views/fluid_infusion/_uploader_js.erb +45 -0
  80. data/app/views/generic_content_objects/_edit_description.html.erb +50 -0
  81. data/app/views/generic_content_objects/_new.html.erb +0 -0
  82. data/app/views/generic_content_objects/_show_description.html.erb +68 -0
  83. data/app/views/generic_content_objects/contributors/_edit_conference.html.erb +29 -0
  84. data/app/views/generic_content_objects/contributors/_edit_organization.html.erb +29 -0
  85. data/app/views/generic_content_objects/contributors/_edit_person.html.erb +37 -0
  86. data/app/views/generic_content_objects/contributors/_new.html.erb +10 -0
  87. data/app/views/generic_content_objects/contributors/_show_conference.html.erb +22 -0
  88. data/app/views/generic_content_objects/contributors/_show_organization.html.erb +22 -0
  89. data/app/views/generic_content_objects/contributors/_show_person.html.erb +38 -0
  90. data/app/views/generic_contents/_edit.html.erb +59 -0
  91. data/app/views/generic_contents/_index.html.erb +23 -0
  92. data/app/views/generic_contents/_show.html.erb +18 -0
  93. data/app/views/generic_contents/_show_content.html.erb +4 -0
  94. data/app/views/generic_images/_edit.html.erb +59 -0
  95. data/app/views/generic_images/_index.html.erb +24 -0
  96. data/app/views/generic_images/_show.html.erb +18 -0
  97. data/app/views/generic_images/_show_all.html.erb +14 -0
  98. data/app/views/generic_images/_show_content.html.erb +7 -0
  99. data/app/views/layouts/application.html.erb +57 -0
  100. data/app/views/layouts/hydra-head.html.erb +12 -0
  101. data/app/views/mods_assets/_edit.html.erb +49 -0
  102. data/app/views/mods_assets/_edit_description.html.erb +82 -0
  103. data/app/views/mods_assets/_edit_journal.html.erb +72 -0
  104. data/app/views/mods_assets/_index.html.erb +1 -0
  105. data/app/views/mods_assets/_index_list.html.erb +37 -0
  106. data/app/views/mods_assets/_index_table.html.erb +7 -0
  107. data/app/views/mods_assets/_progress_box.html.erb +82 -0
  108. data/app/views/mods_assets/_show.html.erb +44 -0
  109. data/app/views/mods_assets/_show_description.html.erb +44 -0
  110. data/app/views/mods_assets/_show_journal.html.erb +42 -0
  111. data/app/views/mods_assets/_show_permissions.html.erb +14 -0
  112. data/app/views/permissions/_edit_person_permissions.html.erb +35 -0
  113. data/app/views/permissions/_index.html.erb +55 -0
  114. data/app/views/permissions/_new.html.erb +18 -0
  115. data/app/views/permissions/index.html.erb +1 -0
  116. data/app/views/permissions/new.html.erb +1 -0
  117. data/app/views/shared/_delete_asset_confirmation.html.erb +17 -0
  118. data/app/views/user_sessions/_login_form.html.erb +10 -0
  119. data/app/views/user_sessions/logged_out.html.erb +1 -0
  120. data/config/routes.rb +12 -0
  121. data/fedora_conf/conf/fedora.fcfg +1021 -0
  122. data/hydra-head.gemspec +70 -0
  123. data/lib/application_controller.rb +25 -0
  124. data/lib/application_helper.rb +2 -0
  125. data/lib/engine.rb +30 -0
  126. data/lib/generators/hydra/head_generator.rb +152 -0
  127. data/lib/generators/hydra/templates/config/fedora.yml +17 -0
  128. data/lib/generators/hydra/templates/config/initializers/blacklight_config.rb +246 -0
  129. data/lib/generators/hydra/templates/config/initializers/fedora_config.rb +23 -0
  130. data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +29 -0
  131. data/lib/generators/hydra/templates/config/role_map_cucumber.yml +10 -0
  132. data/lib/generators/hydra/templates/config/role_map_development.yml +12 -0
  133. data/lib/generators/hydra/templates/config/role_map_production.yml +2 -0
  134. data/lib/generators/hydra/templates/config/role_map_test.yml +15 -0
  135. data/lib/generators/hydra/templates/config/solr.yml +10 -0
  136. data/lib/generators/hydra/templates/config/solr_mappings.yml +22 -0
  137. data/lib/generators/hydra/templates/fedora_conf/conf/fedora.fcfg +1021 -0
  138. data/lib/generators/hydra/templates/migrations/add_user_attributes_table.rb +15 -0
  139. data/lib/generators/hydra/templates/migrations/create_superusers.rb +12 -0
  140. data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +118 -0
  141. data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +332 -0
  142. data/lib/generators/hydra/templates/solr_conf/solr.xml +35 -0
  143. data/lib/hydra-head.rb +29 -0
  144. data/lib/hydra-head/engine.rb +9 -0
  145. data/lib/hydra-head/routes.rb +87 -0
  146. data/lib/hydra-head/version.rb +4 -0
  147. data/lib/hydra.rb +22 -0
  148. data/lib/hydra/access_controls_enforcement.rb +236 -0
  149. data/lib/hydra/access_controls_evaluation.rb +97 -0
  150. data/lib/hydra/assets_controller_helper.rb +144 -0
  151. data/lib/hydra/catalog.rb +64 -0
  152. data/lib/hydra/common_mods_index_methods.rb +42 -0
  153. data/lib/hydra/controller.rb +7 -0
  154. data/lib/hydra/file_assets_helper.rb +144 -0
  155. data/lib/hydra/fixtures.rb +43 -0
  156. data/lib/hydra/generic_content.rb +113 -0
  157. data/lib/hydra/generic_image.rb +100 -0
  158. data/lib/hydra/image.rb +177 -0
  159. data/lib/hydra/model_methods.rb +95 -0
  160. data/lib/hydra/model_mixins.rb +2 -0
  161. data/lib/hydra/model_mixins/common_metadata.rb +24 -0
  162. data/lib/hydra/model_mixins/mods_object.rb +16 -0
  163. data/lib/hydra/mods_article.rb +505 -0
  164. data/lib/hydra/mods_dataset.rb +165 -0
  165. data/lib/hydra/mods_generic_content.rb +494 -0
  166. data/lib/hydra/mods_image.rb +494 -0
  167. data/lib/hydra/repository_controller.rb +102 -0
  168. data/lib/hydra/rights_metadata.rb +189 -0
  169. data/lib/hydra/superuser_attributes.rb +12 -0
  170. data/lib/hydra/testing_server.rb +183 -0
  171. data/lib/hydra/user.rb +22 -0
  172. data/lib/mediashelf/active_fedora_helper.rb +72 -0
  173. data/lib/railties/all_tests.rake +23 -0
  174. data/lib/railties/hydra-fixtures.rake +184 -0
  175. data/lib/railties/hydra_jetty.rake +79 -0
  176. data/lib/railties/hyhead_cucumber.rake +127 -0
  177. data/lib/railties/hyhead_rspec.rake +137 -0
  178. data/lib/stanford/searchworks_helper.rb +1338 -0
  179. data/lib/stanford/solr_helper.rb +108 -0
  180. data/lib/uva/mods_index_methods.rb +24 -0
  181. data/solr_conf/conf/schema.xml +122 -0
  182. data/solr_conf/conf/solrconfig.xml +332 -0
  183. data/solr_conf/solr.xml +35 -0
  184. data/tasks/hydra-head-fixtures.rake +54 -0
  185. data/tasks/hydra-head.rake +247 -0
  186. data/tasks/hydra_jetty.rake +79 -0
  187. data/tasks/replicator.rake +27 -0
  188. data/tasks/solrizer-fedora.rake +53 -0
  189. data/tasks/solrizer.rake +13 -0
  190. data/test_support/etc/Gemfile +29 -0
  191. data/test_support/etc/rvmrc +32 -0
  192. data/test_support/features/button_add_assets.feature +22 -0
  193. data/test_support/features/button_add_generic_content.feature +11 -0
  194. data/test_support/features/button_add_image.feature +11 -0
  195. data/test_support/features/button_add_mods_asset.feature +11 -0
  196. data/test_support/features/contributor_add.feature +39 -0
  197. data/test_support/features/file_assets_list.feature +32 -0
  198. data/test_support/features/file_upload.feature +40 -0
  199. data/test_support/features/home_page.feature +9 -0
  200. data/test_support/features/html_validity.feature +47 -0
  201. data/test_support/features/mods_asset_contributors_edit.feature +80 -0
  202. data/test_support/features/mods_asset_create.feature +12 -0
  203. data/test_support/features/mods_asset_edit.feature +33 -0
  204. data/test_support/features/mods_asset_edit_without_permission.feature +10 -0
  205. data/test_support/features/mods_asset_search_result.feature +13 -0
  206. data/test_support/features/mods_asset_show.feature +39 -0
  207. data/test_support/features/permissions_add.feature +15 -0
  208. data/test_support/features/permissions_edit.feature +63 -0
  209. data/test_support/features/step_definitions/catalog_index_steps.rb +14 -0
  210. data/test_support/features/step_definitions/create_asset_steps.rb +7 -0
  211. data/test_support/features/step_definitions/edit_metadata_steps.rb +73 -0
  212. data/test_support/features/step_definitions/file_list_steps.rb +28 -0
  213. data/test_support/features/step_definitions/hydra_metadata_steps.rb +3 -0
  214. data/test_support/features/step_definitions/hydra_steps.rb +8 -0
  215. data/test_support/features/step_definitions/inline_editable_edit_steps.rb +77 -0
  216. data/test_support/features/step_definitions/search_steps.rb +88 -0
  217. data/test_support/features/step_definitions/searching_steps.rb +22 -0
  218. data/test_support/features/step_definitions/show_document_steps.rb +85 -0
  219. data/test_support/features/step_definitions/user_steps.rb +36 -0
  220. data/test_support/features/step_definitions/web_steps.rb +219 -0
  221. data/test_support/features/support/env.rb +55 -0
  222. data/test_support/features/support/paths.rb +80 -0
  223. data/test_support/features/switch_users.feature +14 -0
  224. data/test_support/features/view_catalog_index.feature +18 -0
  225. data/test_support/fixtures/empty_file.txt +0 -0
  226. data/test_support/fixtures/hydrangea_fixture_archivist_only_mods_article.foxml.xml +1212 -0
  227. data/test_support/fixtures/hydrangea_fixture_file_asset1.foxml.xml +4946 -0
  228. data/test_support/fixtures/hydrangea_fixture_mods_article1.foxml.xml +234 -0
  229. data/test_support/fixtures/hydrangea_fixture_mods_article2.foxml.xml +177 -0
  230. data/test_support/fixtures/hydrangea_fixture_mods_article3.foxml.xml +170 -0
  231. data/test_support/fixtures/hydrangea_fixture_mods_dataset1.foxml.xml +187 -0
  232. data/test_support/fixtures/hydrangea_fixture_uploaded_svg1.foxml.xml +676 -0
  233. data/test_support/fixtures/image.jp2 +0 -0
  234. data/test_support/fixtures/libra-oa_1.foxml.xml +2324 -0
  235. data/test_support/fixtures/libra-oa_2.foxml.xml +2422 -0
  236. data/test_support/spec/controllers/assets_controller_spec.rb +113 -0
  237. data/test_support/spec/controllers/catalog_controller_spec.rb +148 -0
  238. data/test_support/spec/controllers/catalog_controller_viewing_context_spec.rb +62 -0
  239. data/test_support/spec/controllers/contributors_controller_spec.rb +47 -0
  240. data/test_support/spec/controllers/file_assets_controller_spec.rb +189 -0
  241. data/test_support/spec/controllers/hydra_controller_spec.rb +15 -0
  242. data/test_support/spec/controllers/permissions_controller_spec.rb +80 -0
  243. data/test_support/spec/controllers/user_sessions_controller_spec.rb +35 -0
  244. data/test_support/spec/generators/hydra-head_generator_spec.rb +14 -0
  245. data/test_support/spec/helpers/access_controls_enforcement_spec.rb +212 -0
  246. data/test_support/spec/helpers/access_controls_evaluation_spec.rb +35 -0
  247. data/test_support/spec/helpers/assets_controller_helper_spec.rb +71 -0
  248. data/test_support/spec/helpers/blacklight_helper_spec.rb +64 -0
  249. data/test_support/spec/helpers/file_assets_helper_spec.rb +107 -0
  250. data/test_support/spec/helpers/hydra-repository_controller_spec.rb +32 -0
  251. data/test_support/spec/helpers/hydra_assets_helper_spec.rb +195 -0
  252. data/test_support/spec/helpers/hydra_djatoka_helper_spec.rb +32 -0
  253. data/test_support/spec/helpers/hydra_fedora_metadata_helper_spec.rb +215 -0
  254. data/test_support/spec/helpers/hydra_helper_spec.rb +73 -0
  255. data/test_support/spec/helpers/hydra_model_methods_spec.rb +95 -0
  256. data/test_support/spec/helpers/hydra_uploader_helper_spec.rb +18 -0
  257. data/test_support/spec/helpers/javascript_includes_helper_spec.rb +43 -0
  258. data/test_support/spec/integration/file_asset_spec.rb +150 -0
  259. data/test_support/spec/lib/active_fedora_helper_spec.rb +56 -0
  260. data/test_support/spec/lib/catalog_spec.rb +16 -0
  261. data/test_support/spec/lib/common_mods_index_methods_spec.rb +28 -0
  262. data/test_support/spec/models/audio_asset_spec.rb +23 -0
  263. data/test_support/spec/models/file_asset_spec.rb +42 -0
  264. data/test_support/spec/models/generic_content_spec.rb +29 -0
  265. data/test_support/spec/models/generic_image_spec.rb +58 -0
  266. data/test_support/spec/models/hydra_rights_metadata_spec.rb +162 -0
  267. data/test_support/spec/models/image_asset_spec.rb +23 -0
  268. data/test_support/spec/models/mods_asset_spec.rb +29 -0
  269. data/test_support/spec/models/role_mapper_spec.rb +22 -0
  270. data/test_support/spec/models/user_spec.rb +52 -0
  271. data/test_support/spec/models/video_asset_spec.rb +23 -0
  272. data/test_support/spec/rcov.opts +3 -0
  273. data/test_support/spec/spec.opts +4 -0
  274. data/test_support/spec/spec_helper.rb +44 -0
  275. data/test_support/spec/support/matchers/helper_matcher.rb +14 -0
  276. data/test_support/spec/support/matchers/solr_matchers.rb +60 -0
  277. data/test_support/spec/unit/hydra-head-engine_spec.rb +8 -0
  278. data/test_support/spec/unit/hydra-head_spec.rb +8 -0
  279. data/test_support/spec/utilities/hydra_testing_server_spec.rb +49 -0
  280. data/test_support/spec/views/uploader.html.erb_spec.rb +30 -0
  281. data/vendor/cache/RedCloth-4.2.3.gem +0 -0
  282. data/vendor/cache/abstract-1.0.0.gem +0 -0
  283. data/vendor/cache/actionmailer-3.0.9.gem +0 -0
  284. data/vendor/cache/actionpack-3.0.9.gem +0 -0
  285. data/vendor/cache/active-fedora-2.3.3.gem +0 -0
  286. data/vendor/cache/activemodel-3.0.9.gem +0 -0
  287. data/vendor/cache/activerecord-3.0.9.gem +0 -0
  288. data/vendor/cache/activeresource-3.0.9.gem +0 -0
  289. data/vendor/cache/activesupport-3.0.9.gem +0 -0
  290. data/vendor/cache/arel-2.0.10.gem +0 -0
  291. data/vendor/cache/blacklight-3.0.0.gem +0 -0
  292. data/vendor/cache/block_helpers-0.3.3.gem +0 -0
  293. data/vendor/cache/builder-2.1.2.gem +0 -0
  294. data/vendor/cache/capybara-1.0.0.gem +0 -0
  295. data/vendor/cache/childprocess-0.2.0.gem +0 -0
  296. data/vendor/cache/columnize-0.3.4.gem +0 -0
  297. data/vendor/cache/crack-0.1.8.gem +0 -0
  298. data/vendor/cache/cucumber-1.0.2.gem +0 -0
  299. data/vendor/cache/cucumber-rails-1.0.2.gem +0 -0
  300. data/vendor/cache/curb-0.7.15.gem +0 -0
  301. data/vendor/cache/daemons-1.1.4.gem +0 -0
  302. data/vendor/cache/database_cleaner-0.6.7.gem +0 -0
  303. data/vendor/cache/diff-lcs-1.1.2.gem +0 -0
  304. data/vendor/cache/equivalent-xml-0.2.7.gem +0 -0
  305. data/vendor/cache/erubis-2.6.6.gem +0 -0
  306. data/vendor/cache/facets-2.8.4.gem +0 -0
  307. data/vendor/cache/factory_girl-1.3.3.gem +0 -0
  308. data/vendor/cache/fastercsv-1.5.4.gem +0 -0
  309. data/vendor/cache/ffi-1.0.9.gem +0 -0
  310. data/vendor/cache/gherkin-2.4.5.gem +0 -0
  311. data/vendor/cache/haml-3.1.2.gem +0 -0
  312. data/vendor/cache/httparty-0.7.8.gem +0 -0
  313. data/vendor/cache/i18n-0.5.0.gem +0 -0
  314. data/vendor/cache/jettywrapper-0.0.10.gem +0 -0
  315. data/vendor/cache/json-1.5.3.gem +0 -0
  316. data/vendor/cache/json_pure-1.5.3.gem +0 -0
  317. data/vendor/cache/kaminari-0.12.4.gem +0 -0
  318. data/vendor/cache/launchy-2.0.3.gem +0 -0
  319. data/vendor/cache/linecache-0.46.gem +0 -0
  320. data/vendor/cache/logger-1.2.8.gem +0 -0
  321. data/vendor/cache/mail-2.2.19.gem +0 -0
  322. data/vendor/cache/marc-0.4.3.gem +0 -0
  323. data/vendor/cache/mediashelf-loggable-0.4.2.gem +0 -0
  324. data/vendor/cache/mime-types-1.16.gem +0 -0
  325. data/vendor/cache/mocha-0.9.12.gem +0 -0
  326. data/vendor/cache/multipart-post-1.1.2.gem +0 -0
  327. data/vendor/cache/nokogiri-1.5.0.gem +0 -0
  328. data/vendor/cache/om-1.2.5.gem +0 -0
  329. data/vendor/cache/polyglot-0.3.1.gem +0 -0
  330. data/vendor/cache/rack-1.2.3.gem +0 -0
  331. data/vendor/cache/rack-mount-0.6.14.gem +0 -0
  332. data/vendor/cache/rack-test-0.5.7.gem +0 -0
  333. data/vendor/cache/rails-3.0.9.gem +0 -0
  334. data/vendor/cache/railties-3.0.9.gem +0 -0
  335. data/vendor/cache/rake-0.9.2.gem +0 -0
  336. data/vendor/cache/rbx-require-relative-0.0.5.gem +0 -0
  337. data/vendor/cache/rcov-0.9.9.gem +0 -0
  338. data/vendor/cache/rdoc-3.8.gem +0 -0
  339. data/vendor/cache/rsolr-1.0.2.gem +0 -0
  340. data/vendor/cache/rsolr-ext-1.0.3.gem +0 -0
  341. data/vendor/cache/rspec-2.6.0.gem +0 -0
  342. data/vendor/cache/rspec-core-2.6.4.gem +0 -0
  343. data/vendor/cache/rspec-expectations-2.6.0.gem +0 -0
  344. data/vendor/cache/rspec-mocks-2.6.0.gem +0 -0
  345. data/vendor/cache/rspec-rails-2.6.1.gem +0 -0
  346. data/vendor/cache/ruby-debug-0.10.4.gem +0 -0
  347. data/vendor/cache/ruby-debug-base-0.10.4.gem +0 -0
  348. data/vendor/cache/rubyzip-0.9.4.gem +0 -0
  349. data/vendor/cache/sanitize-2.0.3.gem +0 -0
  350. data/vendor/cache/selenium-webdriver-0.2.2.gem +0 -0
  351. data/vendor/cache/solr-ruby-0.0.8.gem +0 -0
  352. data/vendor/cache/solrizer-1.1.0.gem +0 -0
  353. data/vendor/cache/solrizer-fedora-1.1.0.gem +0 -0
  354. data/vendor/cache/sqlite3-ruby-1.2.5.gem +0 -0
  355. data/vendor/cache/stomp-1.1.9.gem +0 -0
  356. data/vendor/cache/term-ansicolor-1.0.5.gem +0 -0
  357. data/vendor/cache/thor-0.14.6.gem +0 -0
  358. data/vendor/cache/treetop-1.4.9.gem +0 -0
  359. data/vendor/cache/trollop-1.16.2.gem +0 -0
  360. data/vendor/cache/tzinfo-0.3.29.gem +0 -0
  361. data/vendor/cache/unicode-0.4.0.gem +0 -0
  362. data/vendor/cache/will_paginate-2.3.15.gem +0 -0
  363. data/vendor/cache/xml-simple-1.1.0.gem +0 -0
  364. data/vendor/cache/xpath-0.1.4.gem +0 -0
  365. data/vendor/cache/yard-0.7.2.gem +0 -0
  366. metadata +1110 -0
data/.gitignore ADDED
@@ -0,0 +1,71 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## OSX
17
+ .DS_Store
18
+ nohup.out
19
+
20
+ ## Cucumber
21
+
22
+ rerun.txt
23
+
24
+ ## rcov
25
+ coverage.data
26
+ coverage/*
27
+
28
+ ## TEST APP
29
+ pkg/
30
+ spec/dummy/db/*.sqlite3
31
+ spec/dummy/log/*.log
32
+ spec/dummy/tmp/
33
+
34
+
35
+ ## PROJECT::GENERAL
36
+ coverage
37
+ rdoc
38
+ pkg
39
+ /.bundle
40
+ /.rvmrc
41
+ db/*.sqlite3
42
+ log/*.log
43
+ tmp/*.log
44
+ tmp/pids/
45
+ tmp/test_app/
46
+
47
+ *.sqlite3
48
+ *.log
49
+ *~
50
+ *.swp
51
+
52
+ vendor/plugins/haml/init.rb
53
+ vendor/plugins/blacklight/.git
54
+ log/*
55
+
56
+ public/plugin_assets
57
+ public/plugin_assets/
58
+
59
+ tmp/**/*
60
+ tmp/performance
61
+
62
+ db/schema.rb
63
+
64
+ .project
65
+ .buildpath
66
+ .rvmrc
67
+
68
+ /.bundle
69
+ /.yardoc
70
+ /doc
71
+ ## PROJECT::SPECIFIC
data/.gitmodules ADDED
@@ -0,0 +1,6 @@
1
+ [submodule "hydra-plugin_test_host"]
2
+ path = hydra-plugin_test_host
3
+ url = git://github.com/projecthydra/hydra-plugin_test_host.git
4
+ [submodule "jetty"]
5
+ path = jetty
6
+ url = git://github.com/projecthydra/hydra-jetty.git
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in hydra-head-r3.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,257 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ hydra-head (0.0.1)
5
+ RedCloth (= 4.2.3)
6
+ active-fedora (>= 2.3.3)
7
+ blacklight (= 3.0.0)
8
+ block_helpers
9
+ builder
10
+ columnize
11
+ crack
12
+ curb
13
+ database_cleaner
14
+ diff-lcs
15
+ facets (= 2.8.4)
16
+ haml
17
+ httparty
18
+ json_pure (> 1.4.3)
19
+ launchy
20
+ linecache
21
+ mime-types
22
+ multipart-post
23
+ nokogiri
24
+ om (>= 1.2.3)
25
+ rack
26
+ rack-test
27
+ rails (>= 3.0)
28
+ rake
29
+ rcov
30
+ sanitize
31
+ solr-ruby
32
+ solrizer (>= 1.1.0)
33
+ solrizer-fedora (>= 1.1.0)
34
+ sqlite3-ruby (= 1.2.5)
35
+ term-ansicolor
36
+ trollop
37
+ will_paginate
38
+ xml-simple
39
+ yard
40
+
41
+ GEM
42
+ remote: http://rubygems.org/
43
+ specs:
44
+ RedCloth (4.2.3)
45
+ abstract (1.0.0)
46
+ actionmailer (3.0.9)
47
+ actionpack (= 3.0.9)
48
+ mail (~> 2.2.19)
49
+ actionpack (3.0.9)
50
+ activemodel (= 3.0.9)
51
+ activesupport (= 3.0.9)
52
+ builder (~> 2.1.2)
53
+ erubis (~> 2.6.6)
54
+ i18n (~> 0.5.0)
55
+ rack (~> 1.2.1)
56
+ rack-mount (~> 0.6.14)
57
+ rack-test (~> 0.5.7)
58
+ tzinfo (~> 0.3.23)
59
+ active-fedora (2.3.3)
60
+ activeresource
61
+ equivalent-xml
62
+ facets
63
+ mediashelf-loggable
64
+ mime-types (>= 1.16)
65
+ multipart-post
66
+ nokogiri
67
+ om (>= 1.0)
68
+ solr-ruby (>= 0.0.6)
69
+ solrizer (> 1.0.0)
70
+ xml-simple (>= 1.0.12)
71
+ activemodel (3.0.9)
72
+ activesupport (= 3.0.9)
73
+ builder (~> 2.1.2)
74
+ i18n (~> 0.5.0)
75
+ activerecord (3.0.9)
76
+ activemodel (= 3.0.9)
77
+ activesupport (= 3.0.9)
78
+ arel (~> 2.0.10)
79
+ tzinfo (~> 0.3.23)
80
+ activeresource (3.0.9)
81
+ activemodel (= 3.0.9)
82
+ activesupport (= 3.0.9)
83
+ activesupport (3.0.9)
84
+ arel (2.0.10)
85
+ blacklight (3.0.0)
86
+ kaminari
87
+ marc (~> 0.4.3)
88
+ nokogiri (~> 1.5)
89
+ rails (~> 3.0)
90
+ rsolr (~> 1.0)
91
+ rsolr-ext (~> 1.0)
92
+ unicode
93
+ block_helpers (0.3.3)
94
+ activesupport (>= 2.0)
95
+ builder (2.1.2)
96
+ capybara (1.0.0)
97
+ mime-types (>= 1.16)
98
+ nokogiri (>= 1.3.3)
99
+ rack (>= 1.0.0)
100
+ rack-test (>= 0.5.4)
101
+ selenium-webdriver (~> 0.2.0)
102
+ xpath (~> 0.1.4)
103
+ childprocess (0.2.0)
104
+ ffi (~> 1.0.6)
105
+ columnize (0.3.4)
106
+ crack (0.1.8)
107
+ cucumber (1.0.2)
108
+ builder (>= 2.1.2)
109
+ diff-lcs (>= 1.1.2)
110
+ gherkin (~> 2.4.5)
111
+ json (>= 1.4.6)
112
+ term-ansicolor (>= 1.0.5)
113
+ cucumber-rails (1.0.2)
114
+ capybara (>= 1.0.0)
115
+ cucumber (~> 1.0.0)
116
+ nokogiri (>= 1.4.6)
117
+ curb (0.7.15)
118
+ daemons (1.1.4)
119
+ database_cleaner (0.6.7)
120
+ diff-lcs (1.1.2)
121
+ equivalent-xml (0.2.7)
122
+ nokogiri (>= 1.4.3)
123
+ erubis (2.6.6)
124
+ abstract (>= 1.0.0)
125
+ facets (2.8.4)
126
+ factory_girl (1.3.3)
127
+ fastercsv (1.5.4)
128
+ ffi (1.0.9)
129
+ gherkin (2.4.5)
130
+ json (>= 1.4.6)
131
+ haml (3.1.2)
132
+ httparty (0.7.8)
133
+ crack (= 0.1.8)
134
+ i18n (0.5.0)
135
+ jettywrapper (0.0.10)
136
+ logger
137
+ mediashelf-loggable
138
+ json (1.5.3)
139
+ json_pure (1.5.3)
140
+ kaminari (0.12.4)
141
+ rails (>= 3.0.0)
142
+ launchy (2.0.3)
143
+ linecache (0.46)
144
+ rbx-require-relative (> 0.0.4)
145
+ logger (1.2.8)
146
+ mail (2.2.19)
147
+ activesupport (>= 2.3.6)
148
+ i18n (>= 0.4.0)
149
+ mime-types (~> 1.16)
150
+ treetop (~> 1.4.8)
151
+ marc (0.4.3)
152
+ mediashelf-loggable (0.4.2)
153
+ mime-types (1.16)
154
+ mocha (0.9.12)
155
+ multipart-post (1.1.2)
156
+ nokogiri (1.5.0)
157
+ om (1.2.5)
158
+ nokogiri (>= 1.4.2)
159
+ polyglot (0.3.1)
160
+ rack (1.2.3)
161
+ rack-mount (0.6.14)
162
+ rack (>= 1.0.0)
163
+ rack-test (0.5.7)
164
+ rack (>= 1.0)
165
+ rails (3.0.9)
166
+ actionmailer (= 3.0.9)
167
+ actionpack (= 3.0.9)
168
+ activerecord (= 3.0.9)
169
+ activeresource (= 3.0.9)
170
+ activesupport (= 3.0.9)
171
+ bundler (~> 1.0)
172
+ railties (= 3.0.9)
173
+ railties (3.0.9)
174
+ actionpack (= 3.0.9)
175
+ activesupport (= 3.0.9)
176
+ rake (>= 0.8.7)
177
+ rdoc (~> 3.4)
178
+ thor (~> 0.14.4)
179
+ rake (0.9.2)
180
+ rbx-require-relative (0.0.5)
181
+ rcov (0.9.9)
182
+ rdoc (3.8)
183
+ rsolr (1.0.2)
184
+ builder (>= 2.1.2)
185
+ rsolr-ext (1.0.3)
186
+ rsolr (>= 1.0.2)
187
+ rspec (2.6.0)
188
+ rspec-core (~> 2.6.0)
189
+ rspec-expectations (~> 2.6.0)
190
+ rspec-mocks (~> 2.6.0)
191
+ rspec-core (2.6.4)
192
+ rspec-expectations (2.6.0)
193
+ diff-lcs (~> 1.1.2)
194
+ rspec-mocks (2.6.0)
195
+ rspec-rails (2.6.1)
196
+ actionpack (~> 3.0)
197
+ activesupport (~> 3.0)
198
+ railties (~> 3.0)
199
+ rspec (~> 2.6.0)
200
+ ruby-debug (0.10.4)
201
+ columnize (>= 0.1)
202
+ ruby-debug-base (~> 0.10.4.0)
203
+ ruby-debug-base (0.10.4)
204
+ linecache (>= 0.3)
205
+ rubyzip (0.9.4)
206
+ sanitize (2.0.3)
207
+ nokogiri (< 1.6, >= 1.4.4)
208
+ selenium-webdriver (0.2.2)
209
+ childprocess (>= 0.1.9)
210
+ ffi (>= 1.0.7)
211
+ json_pure
212
+ rubyzip
213
+ solr-ruby (0.0.8)
214
+ solrizer (1.1.0)
215
+ daemons
216
+ mediashelf-loggable
217
+ nokogiri
218
+ om (>= 1.0.0)
219
+ stomp
220
+ xml-simple
221
+ solrizer-fedora (1.1.0)
222
+ active-fedora (>= 2.3.0)
223
+ fastercsv
224
+ rsolr
225
+ solr-ruby (>= 0.0.6)
226
+ solrizer (>= 1.0.0)
227
+ sqlite3-ruby (1.2.5)
228
+ stomp (1.1.9)
229
+ term-ansicolor (1.0.5)
230
+ thor (0.14.6)
231
+ treetop (1.4.9)
232
+ polyglot (>= 0.3.1)
233
+ trollop (1.16.2)
234
+ tzinfo (0.3.29)
235
+ unicode (0.4.0)
236
+ will_paginate (2.3.15)
237
+ xml-simple (1.1.0)
238
+ xpath (0.1.4)
239
+ nokogiri (~> 1.3)
240
+ yard (0.7.2)
241
+
242
+ PLATFORMS
243
+ ruby
244
+
245
+ DEPENDENCIES
246
+ cucumber (>= 0.8.5)
247
+ cucumber-rails (>= 1.0.0)
248
+ factory_girl
249
+ gherkin
250
+ hydra-head!
251
+ jettywrapper (~> 0.0.10)
252
+ mocha
253
+ rake
254
+ rspec (>= 2.0.0)
255
+ rspec-rails (>= 2.0.0)
256
+ ruby-debug
257
+ ruby-debug-base
data/README.textile ADDED
@@ -0,0 +1,150 @@
1
+ h1. Hydra-Head
2
+
3
+ Hydra-Head is a Rails Engines plugin containing the core code for a Hydra application. The full hydra stack includes the following:
4
+
5
+ - "Blacklight":http://projectblacklight.org/ (a rails engines plugin) for the User Interface
6
+ - "Solr":http://lucene.apache.org/solr/ (a java application, also ported to other languages) for the Search Engine
7
+ - "ActiveFedora":https://github.com/mediashelf/active_fedora (a ruby gem) to let the rails application talk to fedora
8
+ - "OM (Opinionated Metadata)":https://github.com/mediashelf/om (a ruby gem) to streamline the metadata configuration
9
+ - "Solrizer":https://github.com/projecthydra/solrizer (a ruby gem) to write content to the Solr index
10
+ - "SolrizerFedora":https://github.com/projecthydra/solrizer-fedora (a ruby gem) to write Fedora content to the Solr index.
11
+ - HydraHead (a rails engines plugin) to glue it all together
12
+
13
+ For a more thorough overview of the Hydra framework, see "HYDRA_OVERVIEW.textile":https://github.com/projecthydra/hydrangea/blob/master/HYDRA_OVERVIEW.textile.
14
+
15
+ This is a Ruby on Rails 3 gem.
16
+
17
+ h2. Installation/Setup
18
+
19
+ h3. Install Rails, Bundler and Devise
20
+
21
+ <pre>
22
+ gem install 'rails'
23
+ gem install 'bundler'
24
+ gem install 'devise'
25
+ </pre>
26
+
27
+ h3. Generate a new rails application:
28
+
29
+ <pre>
30
+ rails new my_hydra_head
31
+ cd my_hydra_head
32
+ </pre>
33
+
34
+ h3. Init the git Repository
35
+
36
+ First, put a .gitignore file into the root of your project to keep your repository clean. You could start with the ".gitignore file from the hydra-head gem":https://github.com/projecthydra/hydra-head/blob/master/.gitignore
37
+
38
+ Now init the git repository and add the initial set of files
39
+
40
+ <pre>
41
+ git init
42
+ git add .
43
+ git commit -m"Initial Commit: empty rails app"
44
+ </pre>
45
+
46
+ h3. Add the blacklight and hydra-head gems:
47
+
48
+ First, add them to the Gemfile of your application:
49
+
50
+ <pre>
51
+ source 'http://rubygems.org'
52
+
53
+ gem 'rails', '>=3.0.4'
54
+
55
+ gem 'blacklight', '~> 3.0.0'
56
+ gem 'hydra-head', '3.0.0pre1'
57
+
58
+ # We will assume that you're using sqlite3 for testing/demo,
59
+ # but in a production setup you probably want to use a real sql database like mysql or postgres
60
+ gem 'sqlite3-ruby', :require => 'sqlite3'
61
+
62
+ # We will assume you're using devise in tutorials/documentation.
63
+ # You are free to implement your own User/Authentication solution in its place.
64
+ gem 'devise'
65
+
66
+ # For testing. You will probably want to use all of these to run the tests you write for your hydra head
67
+ group :development, :test do
68
+ gem 'solrizer-fedora', '>=1.0.1'
69
+ gem 'ruby-debug'
70
+ gem 'rspec'
71
+ gem 'rspec-rails', '>=2.5.0'
72
+ gem 'mocha'
73
+ #gem 'generator_spec'
74
+ gem 'cucumber-rails'
75
+ gem 'database_cleaner'
76
+ gem 'capybara'
77
+ #gem 'webrat'
78
+ #gem 'aruba'
79
+ gem 'factory_girl'
80
+ gem 'bcrypt-ruby'
81
+ end
82
+ </pre>
83
+
84
+ To install all of the dependencies, run:
85
+
86
+ <pre>
87
+ bundle install
88
+ </pre>
89
+
90
+ h3. Run the generators and migrations:
91
+
92
+ Run the blacklight generator
93
+
94
+ <pre>rails g blackight -devise</pre>
95
+
96
+ Run the hydra-head generator
97
+
98
+ <pre>rails g hydra-head -df</pre>
99
+
100
+ Run the database migrations
101
+
102
+ <pre>
103
+ rake db:migrate
104
+ rake db:migrate RAILS_ENV=test
105
+ </pre>
106
+
107
+ If you will be writing cucumber tests, run the cucumber generator
108
+
109
+ <pre>rails g cucumber:install</pre>
110
+
111
+ h3. Add all the generated code to the Git repository
112
+
113
+ <pre>
114
+ git add .
115
+ git commit -m"Ran Blacklight, Hydra-Head, and Cucumber Generators"
116
+ </pre>
117
+
118
+ h3. The Hydra Jetty
119
+
120
+ The Hydra project provides a copy of Jetty with Fedora and Solr pre-installed. This is useful for running tests against and for running your code against while you're actively working on your hydra head.
121
+
122
+ Most projects add hydra jetty to their code as a git submodule
123
+
124
+ <pre>
125
+ git submodule add git@github.com:projecthydra/hydra-jetty.git jetty
126
+ git commit -m"added jetty submodule"
127
+ </pre>
128
+
129
+ Now that you've added the submodule to your git repository, whenever you grab a new working copy of the code, you can get hydra-jetty by running:
130
+
131
+ <pre>
132
+ git submodule init
133
+ git submodule update
134
+ </pre>
135
+
136
+ h2. Run tests to make sure everything is installed properly
137
+
138
+ *TODO*
139
+
140
+ h2. Modifying and Testing the Gem
141
+
142
+ For those developers who want to or need to work on the hydra-head gem itself, see the "Instructions for Contributors":http://hudson.projecthydra.org/job/hydra-head-rails3-plugin/Documentation/file.TESTING.html
143
+
144
+ h2. Acknowledgements
145
+
146
+ h3. Design & Strategic Contributions
147
+
148
+ The Hydra Framework would not exist without the extensive design effort undertaken by representatives of repository initiatives from Stanford University, University of Virginia, University of Hull and MediaShelf LLC. Contributors to that effort include Tom Cramer, Lynn McRae, Martha Sites, Richard Green, Chris Awre, and Matt Zumwalt.
149
+
150
+ Thorny Staples from Fedora Commons & DuraSpace deserves special thanks for putting all of these people in the same room together.