hyrax 3.0.0.pre.rc2 → 3.0.0.pre.rc3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (514) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +5 -5
  3. data/.dassie/.env +4 -0
  4. data/.dassie/.gitignore +27 -0
  5. data/.dassie/Gemfile +57 -0
  6. data/.dassie/README.md +3 -0
  7. data/.dassie/Rakefile +6 -0
  8. data/.dassie/app/actors/hyrax/actors/generic_work_actor.rb +8 -0
  9. data/.dassie/app/actors/hyrax/actors/namespaced_works/nested_work_actor.rb +8 -0
  10. data/.dassie/app/assets/config/manifest.js +3 -0
  11. data/.dassie/app/assets/images/.keep +0 -0
  12. data/.dassie/app/assets/images/unauthorized.png +0 -0
  13. data/.dassie/app/assets/images/us_404.svg +91 -0
  14. data/.dassie/app/assets/javascripts/application.js +26 -0
  15. data/.dassie/app/assets/javascripts/blacklight_gallery.js +1 -0
  16. data/.dassie/app/assets/javascripts/cable.js +13 -0
  17. data/.dassie/app/assets/javascripts/channels/.keep +0 -0
  18. data/.dassie/app/assets/javascripts/openseadragon.js +2 -0
  19. data/.dassie/app/assets/stylesheets/application.css +16 -0
  20. data/.dassie/app/assets/stylesheets/hyrax.scss +17 -0
  21. data/.dassie/app/assets/stylesheets/openseadragon.css +3 -0
  22. data/.dassie/app/channels/application_cable/channel.rb +4 -0
  23. data/.dassie/app/channels/application_cable/connection.rb +4 -0
  24. data/.dassie/app/controllers/application_controller.rb +14 -0
  25. data/.dassie/app/controllers/catalog_controller.rb +300 -0
  26. data/.dassie/app/controllers/concerns/.keep +0 -0
  27. data/.dassie/app/controllers/hyrax/generic_works_controller.rb +14 -0
  28. data/.dassie/app/controllers/hyrax/monographs_controller.rb +17 -0
  29. data/.dassie/app/controllers/hyrax/namespaced_works/nested_works_controller.rb +14 -0
  30. data/.dassie/app/forms/hyrax/generic_work_form.rb +9 -0
  31. data/.dassie/app/forms/hyrax/namespaced_works/nested_work_form.rb +9 -0
  32. data/.dassie/app/forms/monograph_form.rb +20 -0
  33. data/.dassie/app/helpers/application_helper.rb +2 -0
  34. data/.dassie/app/helpers/hyrax_helper.rb +6 -0
  35. data/.dassie/app/indexers/generic_work_indexer.rb +18 -0
  36. data/.dassie/app/indexers/monograph_indexer.rb +16 -0
  37. data/.dassie/app/indexers/namespaced_works/nested_work_indexer.rb +18 -0
  38. data/.dassie/app/jobs/application_job.rb +2 -0
  39. data/.dassie/app/mailers/application_mailer.rb +4 -0
  40. data/.dassie/app/models/ability.rb +21 -0
  41. data/.dassie/app/models/application_record.rb +3 -0
  42. data/.dassie/app/models/collection.rb +8 -0
  43. data/.dassie/app/models/concerns/.keep +0 -0
  44. data/.dassie/app/models/file_set.rb +5 -0
  45. data/.dassie/app/models/generic_work.rb +14 -0
  46. data/.dassie/app/models/monograph.rb +8 -0
  47. data/.dassie/app/models/namespaced_works/nested_work.rb +16 -0
  48. data/.dassie/app/models/qa.rb +5 -0
  49. data/.dassie/app/models/qa/local_authority.rb +2 -0
  50. data/.dassie/app/models/qa/local_authority_entry.rb +3 -0
  51. data/.dassie/app/models/search_builder.rb +16 -0
  52. data/.dassie/app/models/solr_document.rb +28 -0
  53. data/.dassie/app/models/time_span.rb +22 -0
  54. data/.dassie/app/models/user.rb +26 -0
  55. data/.dassie/app/presenters/hyrax/generic_work_presenter.rb +6 -0
  56. data/.dassie/app/presenters/hyrax/namespaced_works/nested_work_presenter.rb +6 -0
  57. data/.dassie/app/views/hyrax/generic_works/_generic_work.html.erb +2 -0
  58. data/.dassie/app/views/hyrax/monographs/_monograph.html.erb +2 -0
  59. data/.dassie/app/views/hyrax/namespaced_works/nested_works/_nested_work.html.erb +2 -0
  60. data/.dassie/app/views/layouts/application.html.erb +15 -0
  61. data/.dassie/app/views/layouts/mailer.html.erb +13 -0
  62. data/.dassie/app/views/layouts/mailer.text.erb +1 -0
  63. data/.dassie/bin/bundle +3 -0
  64. data/.dassie/bin/rails +9 -0
  65. data/.dassie/bin/rake +9 -0
  66. data/.dassie/bin/setup +36 -0
  67. data/.dassie/bin/spring +17 -0
  68. data/.dassie/bin/update +31 -0
  69. data/.dassie/bin/yarn +11 -0
  70. data/.dassie/config.ru +5 -0
  71. data/.dassie/config/analytics.yml +6 -0
  72. data/.dassie/config/application.rb +22 -0
  73. data/.dassie/config/arkivo.yml +6 -0
  74. data/.dassie/config/authorities/licenses.yml +46 -0
  75. data/.dassie/config/authorities/resource_types.yml +41 -0
  76. data/.dassie/config/authorities/rights_statements.yml +37 -0
  77. data/.dassie/config/blacklight.yml +9 -0
  78. data/.dassie/config/boot.rb +4 -0
  79. data/.dassie/config/browse_everything_providers.yml +2 -0
  80. data/.dassie/config/cable.yml +10 -0
  81. data/.dassie/config/credentials.yml.enc +1 -0
  82. data/.dassie/config/environment.rb +5 -0
  83. data/.dassie/config/environments/development.rb +69 -0
  84. data/.dassie/config/environments/production.rb +94 -0
  85. data/.dassie/config/environments/test.rb +51 -0
  86. data/.dassie/config/fedora.yml +15 -0
  87. data/.dassie/config/initializers/arkivo_constraint.rb +12 -0
  88. data/.dassie/config/initializers/assets.rb +2 -0
  89. data/.dassie/config/initializers/clamav.rb +2 -0
  90. data/.dassie/config/initializers/cookies_serializer.rb +1 -0
  91. data/.dassie/config/initializers/devise.rb +13 -0
  92. data/.dassie/config/initializers/filter_parameter_logging.rb +1 -0
  93. data/.dassie/config/initializers/hydra_config.rb +6 -0
  94. data/.dassie/config/initializers/hyrax.rb +48 -0
  95. data/.dassie/config/initializers/mailboxer.rb +21 -0
  96. data/.dassie/config/initializers/mime_types.rb +4 -0
  97. data/.dassie/config/initializers/mini_magick.rb +6 -0
  98. data/.dassie/config/initializers/redis_config.rb +4 -0
  99. data/.dassie/config/initializers/riiif.rb +27 -0
  100. data/.dassie/config/initializers/simple_form.rb +28 -0
  101. data/.dassie/config/initializers/simple_form_bootstrap.rb +143 -0
  102. data/.dassie/config/initializers/wrap_parameters.rb +3 -0
  103. data/.dassie/config/locales/blacklight.en.yml +3 -0
  104. data/.dassie/config/locales/devise.en.yml +65 -0
  105. data/.dassie/config/locales/generic_work.de.yml +8 -0
  106. data/.dassie/config/locales/generic_work.en.yml +8 -0
  107. data/.dassie/config/locales/generic_work.es.yml +10 -0
  108. data/.dassie/config/locales/generic_work.fr.yml +8 -0
  109. data/.dassie/config/locales/generic_work.it.yml +8 -0
  110. data/.dassie/config/locales/generic_work.pt-BR.yml +8 -0
  111. data/.dassie/config/locales/generic_work.zh.yml +10 -0
  112. data/.dassie/config/locales/hyrax.de.yml +58 -0
  113. data/.dassie/config/locales/hyrax.en.yml +58 -0
  114. data/.dassie/config/locales/hyrax.es.yml +58 -0
  115. data/.dassie/config/locales/hyrax.fr.yml +58 -0
  116. data/.dassie/config/locales/hyrax.it.yml +58 -0
  117. data/.dassie/config/locales/hyrax.pt-BR.yml +58 -0
  118. data/.dassie/config/locales/hyrax.zh.yml +58 -0
  119. data/.dassie/config/locales/namespaced_works/nested_work.de.yml +8 -0
  120. data/.dassie/config/locales/namespaced_works/nested_work.en.yml +8 -0
  121. data/.dassie/config/locales/namespaced_works/nested_work.es.yml +10 -0
  122. data/.dassie/config/locales/namespaced_works/nested_work.fr.yml +8 -0
  123. data/.dassie/config/locales/namespaced_works/nested_work.it.yml +8 -0
  124. data/.dassie/config/locales/namespaced_works/nested_work.pt-BR.yml +8 -0
  125. data/.dassie/config/locales/namespaced_works/nested_work.zh.yml +10 -0
  126. data/.dassie/config/metadata/monograph.yaml +55 -0
  127. data/.dassie/config/metadata/sample_metadata.yaml +3 -0
  128. data/.dassie/config/puma.rb +6 -0
  129. data/.dassie/config/redis.yml +9 -0
  130. data/.dassie/config/role_map.yml +24 -0
  131. data/.dassie/config/routes.rb +35 -0
  132. data/.dassie/config/solr.yml +7 -0
  133. data/.dassie/config/spring.rb +6 -0
  134. data/.dassie/config/storage.yml +7 -0
  135. data/.dassie/config/tinymce.yml +12 -0
  136. data/.dassie/config/uv/uv-config.json +3 -0
  137. data/.dassie/config/uv/uv.html +87 -0
  138. data/.dassie/config/valkyrie_index.yml +12 -0
  139. data/.dassie/config/workflows/default_workflow.json +21 -0
  140. data/.dassie/config/workflows/mediated_deposit_workflow.json +76 -0
  141. data/.dassie/config/zotero.yml +6 -0
  142. data/.dassie/db/migrate/20200821212749_create_searches.blacklight.rb +17 -0
  143. data/.dassie/db/migrate/20200821212750_create_bookmarks.blacklight.rb +19 -0
  144. data/.dassie/db/migrate/20200821212751_add_polymorphic_type_to_bookmarks.blacklight.rb +9 -0
  145. data/.dassie/db/migrate/20200821212803_devise_create_users.rb +44 -0
  146. data/.dassie/db/migrate/20200821212806_add_devise_guests_to_users.rb +15 -0
  147. data/.dassie/db/migrate/20200821212828_create_version_committers.hyrax.rb +15 -0
  148. data/.dassie/db/migrate/20200821212829_create_checksum_audit_logs.hyrax.rb +19 -0
  149. data/.dassie/db/migrate/20200821212830_create_single_use_links.hyrax.rb +12 -0
  150. data/.dassie/db/migrate/20200821212831_add_social_to_users.hyrax.rb +13 -0
  151. data/.dassie/db/migrate/20200821212832_add_ldap_attrs_to_user.hyrax.rb +27 -0
  152. data/.dassie/db/migrate/20200821212833_add_avatars_to_users.hyrax.rb +15 -0
  153. data/.dassie/db/migrate/20200821212834_create_trophies.hyrax.rb +10 -0
  154. data/.dassie/db/migrate/20200821212835_add_linkedin_to_users.hyrax.rb +5 -0
  155. data/.dassie/db/migrate/20200821212836_create_tinymce_assets.hyrax.rb +8 -0
  156. data/.dassie/db/migrate/20200821212837_create_content_blocks.hyrax.rb +10 -0
  157. data/.dassie/db/migrate/20200821212838_create_featured_works.hyrax.rb +12 -0
  158. data/.dassie/db/migrate/20200821212839_add_external_key_to_content_blocks.hyrax.rb +6 -0
  159. data/.dassie/db/migrate/20200821212840_create_proxy_deposit_rights.hyrax.rb +10 -0
  160. data/.dassie/db/migrate/20200821212841_create_proxy_deposit_requests.hyrax.rb +15 -0
  161. data/.dassie/db/migrate/20200821212842_create_file_view_stats.hyrax.rb +12 -0
  162. data/.dassie/db/migrate/20200821212843_create_file_download_stats.hyrax.rb +12 -0
  163. data/.dassie/db/migrate/20200821212844_add_orcid_to_users.hyrax.rb +5 -0
  164. data/.dassie/db/migrate/20200821212845_create_user_stats.hyrax.rb +19 -0
  165. data/.dassie/db/migrate/20200821212846_create_work_view_stats.hyrax.rb +12 -0
  166. data/.dassie/db/migrate/20200821212847_add_works_to_user_stats.hyrax.rb +13 -0
  167. data/.dassie/db/migrate/20200821212848_change_trophy_generic_file_id_to_work_id.hyrax.rb +5 -0
  168. data/.dassie/db/migrate/20200821212849_change_proxy_deposit_generic_file_id_to_work_id.hyrax.rb +5 -0
  169. data/.dassie/db/migrate/20200821212850_change_audit_log_generic_file_id_to_file_set_id.hyrax.rb +5 -0
  170. data/.dassie/db/migrate/20200821212851_change_proxy_deposit_request_generic_file_id_to_work_id.hyrax.rb +5 -0
  171. data/.dassie/db/migrate/20200821212852_create_uploaded_files.hyrax.rb +10 -0
  172. data/.dassie/db/migrate/20200821212853_create_features.hyrax.rb +10 -0
  173. data/.dassie/db/migrate/20200821212854_create_operations.hyrax.rb +23 -0
  174. data/.dassie/db/migrate/20200821212855_change_featured_work_generic_file_id_to_work_id.hyrax.rb +6 -0
  175. data/.dassie/db/migrate/20200821212856_add_arkivo_to_users.hyrax.rb +8 -0
  176. data/.dassie/db/migrate/20200821212857_create_sipity.hyrax.rb +163 -0
  177. data/.dassie/db/migrate/20200821212858_create_sipity_workflow_methods.hyrax.rb +10 -0
  178. data/.dassie/db/migrate/20200821212859_create_permission_template.hyrax.rb +11 -0
  179. data/.dassie/db/migrate/20200821212860_create_permission_template_access.hyrax.rb +11 -0
  180. data/.dassie/db/migrate/20200821212861_add_release_to_permission_templates.hyrax.rb +6 -0
  181. data/.dassie/db/migrate/20200821212862_add_permission_template_to_sipity_workflow.hyrax.rb +26 -0
  182. data/.dassie/db/migrate/20200821212863_tidy_up_because_of_bad_exception.hyrax.rb +13 -0
  183. data/.dassie/db/migrate/20200821212864_add_allows_access_grant_to_workflow.hyrax.rb +5 -0
  184. data/.dassie/db/migrate/20200821212865_change_checksum_audit_log.hyrax.rb +18 -0
  185. data/.dassie/db/migrate/20200821212866_create_job_io_wrappers.hyrax.rb +15 -0
  186. data/.dassie/db/migrate/20200821212867_create_collection_types.hyrax.rb +17 -0
  187. data/.dassie/db/migrate/20200821212868_update_collection_type_column_names.hyrax.rb +9 -0
  188. data/.dassie/db/migrate/20200821212869_update_collection_type_column_options.hyrax.rb +17 -0
  189. data/.dassie/db/migrate/20200821212870_create_collection_branding_infos.hyrax.rb +15 -0
  190. data/.dassie/db/migrate/20200821212871_create_collection_type_participants.hyrax.rb +11 -0
  191. data/.dassie/db/migrate/20200821212872_rename_admin_set_id_to_source_id.hyrax.rb +5 -0
  192. data/.dassie/db/migrate/20200821212873_add_preferred_locale_to_users.hyrax.rb +5 -0
  193. data/.dassie/db/migrate/20200821212874_add_collection_type_sharing_options.hyrax.rb +5 -0
  194. data/.dassie/db/migrate/20200821212875_add_unique_constraint_to_permission_template_accesses.hyrax.rb +8 -0
  195. data/.dassie/db/migrate/20200821212876_add_branding_to_collection_type.hyrax.rb +5 -0
  196. data/.dassie/db/migrate/20200821212877_add_badge_color_to_collection_types.hyrax.rb +5 -0
  197. data/.dassie/db/migrate/20200821212878_update_single_use_links_column_names.hyrax.rb +6 -0
  198. data/.dassie/db/migrate/20200821212879_change_sipity_entity_specific_responsibility.hyrax.rb +9 -0
  199. data/.dassie/db/migrate/20200821212880_create_mailboxer.mailboxer_engine.rb +65 -0
  200. data/.dassie/db/migrate/20200821212881_add_conversation_optout.mailboxer_engine.rb +15 -0
  201. data/.dassie/db/migrate/20200821212882_add_missing_indices.mailboxer_engine.rb +20 -0
  202. data/.dassie/db/migrate/20200821212883_add_delivery_tracking_info_to_mailboxer_receipts.mailboxer_engine.rb +8 -0
  203. data/.dassie/db/migrate/20200821212884_create_qa_local_authorities.rb +10 -0
  204. data/.dassie/db/migrate/20200821212885_create_qa_local_authority_entries.rb +12 -0
  205. data/.dassie/db/migrate/20200821212902_create_minter_states.noid_rails_engine.rb +17 -0
  206. data/.dassie/db/migrate/20200821212903_rename_minter_state_random_to_rand.noid_rails_engine.rb +8 -0
  207. data/.dassie/db/schema.rb +563 -0
  208. data/.dassie/db/seeds.rb +14 -0
  209. data/.dassie/lib/assets/.keep +0 -0
  210. data/.dassie/lib/tasks/.keep +0 -0
  211. data/.dassie/log/.keep +0 -0
  212. data/.dassie/package.json +17 -0
  213. data/.dassie/public/404.html +67 -0
  214. data/.dassie/public/422.html +67 -0
  215. data/.dassie/public/500.html +66 -0
  216. data/.dassie/public/apple-touch-icon-precomposed.png +0 -0
  217. data/.dassie/public/apple-touch-icon.png +0 -0
  218. data/.dassie/public/favicon.ico +0 -0
  219. data/.dassie/public/robots.txt +1 -0
  220. data/.dassie/solr/conf/_rest_managed.json +3 -0
  221. data/.dassie/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  222. data/.dassie/solr/conf/schema.xml +367 -0
  223. data/.dassie/solr/conf/scripts.conf +24 -0
  224. data/.dassie/solr/conf/solrconfig.xml +208 -0
  225. data/.dassie/solr/conf/stopwords.txt +58 -0
  226. data/.dassie/solr/conf/stopwords_en.txt +58 -0
  227. data/.dassie/solr/conf/xslt/example.xsl +132 -0
  228. data/.dassie/solr/conf/xslt/example_atom.xsl +67 -0
  229. data/.dassie/solr/conf/xslt/example_rss.xsl +66 -0
  230. data/.dassie/solr/conf/xslt/luke.xsl +337 -0
  231. data/.dassie/solr/sample_solr_documents.yml +2692 -0
  232. data/.dassie/storage/.keep +0 -0
  233. data/.dassie/values.stage.yaml +7 -0
  234. data/.dassie/values.yaml +15 -0
  235. data/.dassie/vendor/.keep +0 -0
  236. data/.dockerignore +11 -0
  237. data/.env +26 -0
  238. data/.github/CODE_OF_CONDUCT.md +4 -4
  239. data/.github/CONTRIBUTING.md +1 -1
  240. data/.github/SUPPORT.md +13 -1
  241. data/.gitignore +1 -1
  242. data/.regen +1 -1
  243. data/.rubocop.yml +1 -0
  244. data/.rubocop_fixme.yml +4 -0
  245. data/CODE_OF_CONDUCT.md +4 -4
  246. data/CONTAINERS.md +148 -0
  247. data/CONTRIBUTING.md +1 -1
  248. data/Dockerfile +75 -0
  249. data/Gemfile +26 -35
  250. data/README.md +61 -288
  251. data/app/actors/hyrax/actors/attach_members_actor.rb +7 -5
  252. data/app/actors/hyrax/actors/base_actor.rb +0 -1
  253. data/app/actors/hyrax/actors/create_with_files_ordered_members_actor.rb +28 -28
  254. data/app/actors/hyrax/actors/create_with_remote_files_actor.rb +2 -3
  255. data/app/actors/hyrax/actors/create_with_remote_files_ordered_members_actor.rb +23 -28
  256. data/app/actors/hyrax/actors/default_admin_set_actor.rb +20 -21
  257. data/app/actors/hyrax/actors/file_actor.rb +32 -32
  258. data/app/actors/hyrax/actors/file_set_actor.rb +4 -15
  259. data/app/actors/hyrax/actors/initialize_workflow_actor.rb +8 -0
  260. data/app/actors/hyrax/actors/transfer_request_actor.rb +5 -0
  261. data/app/assets/javascripts/hyrax.js +1 -0
  262. data/app/assets/javascripts/hyrax/skip_to_content.js +15 -0
  263. data/app/assets/stylesheets/hyrax/_usage-stats.scss +1 -1
  264. data/app/authorities/qa/authorities/collections.rb +18 -8
  265. data/app/authorities/qa/authorities/find_works.rb +20 -5
  266. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +15 -6
  267. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +62 -31
  268. data/app/controllers/hyrax/dashboard/collections_controller.rb +22 -12
  269. data/app/controllers/hyrax/dashboard/works_controller.rb +3 -4
  270. data/app/controllers/hyrax/file_sets_controller.rb +19 -10
  271. data/app/controllers/hyrax/homepage_controller.rb +11 -11
  272. data/app/controllers/hyrax/my/collections_controller.rb +5 -6
  273. data/app/controllers/hyrax/my/highlights_controller.rb +2 -3
  274. data/app/controllers/hyrax/my/shares_controller.rb +2 -3
  275. data/app/controllers/hyrax/my/works_controller.rb +1 -6
  276. data/app/controllers/hyrax/my_controller.rb +10 -2
  277. data/app/controllers/hyrax/permissions_controller.rb +1 -0
  278. data/app/controllers/hyrax/single_use_links_viewer_controller.rb +11 -5
  279. data/app/controllers/hyrax/users_controller.rb +5 -10
  280. data/app/forms/hyrax/forms/failed_submission_form_wrapper.rb +136 -0
  281. data/app/forms/hyrax/forms/resource_form.rb +8 -4
  282. data/app/helpers/hyrax/collections_helper.rb +1 -1
  283. data/app/helpers/hyrax/dashboard_helper_behavior.rb +7 -2
  284. data/app/helpers/hyrax/embargo_helper.rb +5 -1
  285. data/app/helpers/hyrax/hyrax_helper_behavior.rb +10 -5
  286. data/app/helpers/hyrax/lease_helper.rb +5 -1
  287. data/app/indexers/hyrax/pcdm_collection_indexer.rb +21 -0
  288. data/app/indexers/hyrax/resource_indexer.rb +3 -1
  289. data/app/indexers/hyrax/valkyrie_collection_indexer.rb +3 -12
  290. data/app/indexers/hyrax/valkyrie_indexer.rb +45 -17
  291. data/app/indexers/hyrax/valkyrie_work_indexer.rb +16 -0
  292. data/app/jobs/attach_files_to_work_job.rb +3 -41
  293. data/app/jobs/embargo_expiry_job.rb +15 -0
  294. data/app/jobs/event_job.rb +14 -7
  295. data/app/jobs/hyrax/application_job.rb +6 -1
  296. data/app/jobs/import_url_job.rb +11 -5
  297. data/app/jobs/inherit_permissions_job.rb +6 -25
  298. data/app/jobs/lease_expiry_job.rb +15 -0
  299. data/app/models/admin_set.rb +1 -1
  300. data/app/models/concerns/hyrax/ability.rb +192 -21
  301. data/app/models/concerns/hyrax/ability/admin_set_ability.rb +0 -5
  302. data/app/models/concerns/hyrax/collection_behavior.rb +7 -13
  303. data/app/models/concerns/hyrax/permissions/writable.rb +2 -2
  304. data/app/models/concerns/hyrax/solr_document/characterization.rb +35 -2
  305. data/app/models/concerns/hyrax/solr_document_behavior.rb +37 -5
  306. data/app/models/hyrax/change_set.rb +5 -1
  307. data/app/models/hyrax/collection_type.rb +59 -22
  308. data/app/models/hyrax/event.rb +5 -7
  309. data/app/models/hyrax/file_metadata.rb +15 -4
  310. data/app/models/hyrax/pcdm_collection.rb +13 -0
  311. data/app/models/hyrax/uploaded_file.rb +9 -2
  312. data/app/models/hyrax/{active_job_proxy.rb → valkyrie_global_id_proxy.rb} +6 -5
  313. data/app/models/hyrax/virus_scanner.rb +2 -1
  314. data/app/models/hyrax/work.rb +1 -1
  315. data/app/models/sipity.rb +6 -0
  316. data/app/models/sipity/entity.rb +1 -1
  317. data/app/models/sipity/workflow.rb +23 -3
  318. data/app/presenters/hyrax/admin/repository_object_presenter.rb +7 -2
  319. data/app/presenters/hyrax/collection_presenter.rb +1 -1
  320. data/app/presenters/hyrax/file_set_presenter.rb +3 -0
  321. data/app/presenters/hyrax/iiif_manifest_presenter.rb +3 -3
  322. data/app/presenters/hyrax/permission_badge.rb +1 -1
  323. data/app/presenters/hyrax/presenter_factory.rb +0 -2
  324. data/app/presenters/hyrax/select_collection_type_presenter.rb +16 -3
  325. data/app/presenters/hyrax/select_type_presenter.rb +3 -2
  326. data/app/presenters/hyrax/stats_usage_presenter.rb +0 -1
  327. data/app/presenters/hyrax/work_show_presenter.rb +1 -1
  328. data/app/renderers/hyrax/renderers/attribute_renderer.rb +16 -6
  329. data/app/search_builders/hyrax/README.md +3 -3
  330. data/app/search_builders/hyrax/admin_admin_set_member_search_builder.rb +8 -2
  331. data/app/search_builders/hyrax/collection_member_search_builder.rb +21 -7
  332. data/app/search_builders/hyrax/dashboard/managed_search_filters.rb +1 -1
  333. data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +1 -1
  334. data/app/search_builders/hyrax/embargo_search_builder.rb +0 -1
  335. data/app/search_builders/hyrax/filter_by_type.rb +3 -1
  336. data/app/search_builders/hyrax/lease_search_builder.rb +0 -1
  337. data/app/search_builders/hyrax/nested_collections_parent_search_builder.rb +12 -2
  338. data/app/search_builders/hyrax/search_builder.rb +1 -4
  339. data/app/search_builders/hyrax/search_filters.rb +0 -2
  340. data/app/services/hyrax/access_control_list.rb +33 -2
  341. data/app/services/hyrax/adapters/nesting_index_adapter.rb +26 -7
  342. data/app/services/hyrax/admin_set_member_service.rb +18 -4
  343. data/{lib/hyrax/callbacks/registry.rb → app/services/hyrax/callbacks.rb} +23 -0
  344. data/app/services/hyrax/change_content_depositor_service.rb +4 -1
  345. data/app/services/hyrax/collection_member_service.rb +5 -1
  346. data/app/services/hyrax/collection_types/permissions_service.rb +0 -2
  347. data/app/services/hyrax/collections/collection_member_service.rb +44 -64
  348. data/app/services/hyrax/collections/managed_collections_service.rb +15 -2
  349. data/app/services/hyrax/collections/migration_service.rb +9 -3
  350. data/app/services/hyrax/collections/nested_collection_persistence_service.rb +1 -1
  351. data/app/services/hyrax/collections/nested_collection_query_service.rb +39 -19
  352. data/app/services/hyrax/collections/permissions_service.rb +0 -1
  353. data/app/services/hyrax/collections_service.rb +12 -12
  354. data/app/services/hyrax/custom_queries/find_collections_by_type.rb +1 -1
  355. data/app/services/hyrax/custom_queries/navigators/child_collections_navigator.rb +14 -3
  356. data/app/services/hyrax/custom_queries/navigators/child_filesets_navigator.rb +14 -3
  357. data/app/services/hyrax/custom_queries/navigators/child_works_navigator.rb +10 -3
  358. data/app/services/hyrax/custom_queries/navigators/collection_members.rb +1 -0
  359. data/app/services/hyrax/custom_queries/navigators/find_files.rb +3 -0
  360. data/app/services/hyrax/database_migrator.rb +13 -10
  361. data/app/services/hyrax/default_middleware_stack.rb +0 -6
  362. data/app/services/hyrax/ensure_well_formed_admin_set_service.rb +27 -0
  363. data/app/services/hyrax/file_set_fixity_check_service.rb +16 -17
  364. data/app/services/hyrax/file_set_type_service.rb +55 -0
  365. data/app/services/hyrax/graph_exporter.rb +64 -8
  366. data/app/services/hyrax/list_source_exporter.rb +16 -34
  367. data/app/services/hyrax/listeners.rb +22 -0
  368. data/app/services/hyrax/listeners/proxy_deposit_listener.rb +20 -0
  369. data/app/services/hyrax/listeners/workflow_listener.rb +36 -0
  370. data/app/services/hyrax/multiple_membership_checker.rb +2 -1
  371. data/app/services/hyrax/quick_classification_query.rb +2 -3
  372. data/app/services/hyrax/resource_visibility_propagator.rb +1 -1
  373. data/app/services/hyrax/search_service.rb +108 -0
  374. data/app/services/hyrax/simple_schema_loader.rb +3 -1
  375. data/app/services/hyrax/statistics/depositors/summary.rb +0 -1
  376. data/app/services/hyrax/statistics/system_stats.rb +0 -1
  377. data/app/services/hyrax/thumbnail_path_service.rb +6 -1
  378. data/app/services/hyrax/time_service.rb +10 -0
  379. data/app/services/hyrax/versioning_service.rb +4 -28
  380. data/app/services/hyrax/work_uploads_handler.rb +166 -0
  381. data/app/services/hyrax/workflow/action_taken_service.rb +14 -1
  382. data/app/services/hyrax/workflow/grant_edit_to_depositor.rb +3 -1
  383. data/app/services/hyrax/workflow/permission_generator.rb +14 -9
  384. data/app/services/hyrax/workflow/workflow_action_service.rb +1 -1
  385. data/app/services/hyrax/workflow/workflow_factory.rb +12 -10
  386. data/app/services/hyrax/working_directory.rb +0 -1
  387. data/app/services/hyrax/works/managed_works_service.rb +14 -2
  388. data/app/views/_controls.html.erb +1 -1
  389. data/app/views/hyrax/admin/collection_types/index.html.erb +1 -1
  390. data/app/views/hyrax/base/_member.html.erb +1 -1
  391. data/app/views/hyrax/base/_representative_media.html.erb +1 -1
  392. data/app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb +1 -1
  393. data/app/views/hyrax/base/show.html.erb +2 -2
  394. data/app/views/hyrax/batch_select/_add_button.html.erb +1 -1
  395. data/app/views/hyrax/collections/_default_group.html.erb +2 -0
  396. data/app/views/hyrax/collections/show.html.erb +1 -1
  397. data/app/views/hyrax/dashboard/works/_default_group.html.erb +2 -0
  398. data/app/views/hyrax/embargoes/_list_expired_active_embargoes.html.erb +1 -1
  399. data/app/views/hyrax/leases/_list_expired_active_leases.html.erb +2 -1
  400. data/app/views/hyrax/my/works/_default_group.html.erb +2 -0
  401. data/app/views/layouts/hyrax.html.erb +0 -15
  402. data/bin/db-migrate-seed.sh +9 -0
  403. data/bin/db-wait.sh +14 -0
  404. data/bin/hyrax-entrypoint.sh +15 -0
  405. data/chart/fcrepo/.gitignore +2 -0
  406. data/chart/fcrepo/.helmignore +23 -0
  407. data/chart/fcrepo/Chart.yaml +11 -0
  408. data/chart/fcrepo/README.md +50 -0
  409. data/chart/fcrepo/templates/NOTES.txt +21 -0
  410. data/chart/fcrepo/templates/_helpers.tpl +68 -0
  411. data/chart/fcrepo/templates/configmap-env.yaml +19 -0
  412. data/chart/fcrepo/templates/deployment.yaml +109 -0
  413. data/chart/fcrepo/templates/ingress.yaml +41 -0
  414. data/chart/fcrepo/templates/pvc.yaml +20 -0
  415. data/chart/fcrepo/templates/secret.yaml +12 -0
  416. data/chart/fcrepo/templates/service.yaml +15 -0
  417. data/chart/fcrepo/templates/serviceaccount.yaml +12 -0
  418. data/chart/fcrepo/templates/tests/test-connection.yaml +15 -0
  419. data/chart/fcrepo/values.yaml +79 -0
  420. data/chart/hyrax/.gitignore +2 -0
  421. data/chart/hyrax/.helmignore +23 -0
  422. data/chart/hyrax/Chart.yaml +27 -0
  423. data/chart/hyrax/README.md +69 -0
  424. data/chart/hyrax/templates/NOTES.txt +21 -0
  425. data/chart/hyrax/templates/_helpers.tpl +92 -0
  426. data/chart/hyrax/templates/configmap-env.yaml +32 -0
  427. data/chart/hyrax/templates/deployment.yaml +79 -0
  428. data/chart/hyrax/templates/fcrepo-secret.yaml +13 -0
  429. data/chart/hyrax/templates/hpa.yaml +28 -0
  430. data/chart/hyrax/templates/ingress.yaml +41 -0
  431. data/chart/hyrax/templates/secrets.yaml +12 -0
  432. data/chart/hyrax/templates/service.yaml +15 -0
  433. data/chart/hyrax/templates/serviceaccount.yaml +12 -0
  434. data/chart/hyrax/templates/tests/test-connection.yaml +15 -0
  435. data/chart/hyrax/values.yaml +97 -0
  436. data/config/initializers/indexing_adapter_initializer.rb +7 -12
  437. data/config/initializers/listeners.rb +2 -0
  438. data/config/locales/hyrax.en.yml +1 -1
  439. data/config/metadata/basic_metadata.yaml +13 -0
  440. data/db/seeds.rb +20 -0
  441. data/docker-compose.yml +132 -0
  442. data/documentation/developing-your-hyrax-based-app.md +271 -0
  443. data/documentation/legacyREADME.md +336 -0
  444. data/documentation/note-about-versions.md +15 -0
  445. data/hyrax.gemspec +7 -8
  446. data/lib/generators/hyrax/templates/config/initializers/hyrax.rb +4 -6
  447. data/lib/generators/hyrax/templates/config/locales/hyrax.es.yml +1 -1
  448. data/lib/generators/hyrax/templates/db/seeds.rb +16 -14
  449. data/lib/generators/hyrax/templates/uv.html +1 -1
  450. data/lib/generators/hyrax/work_resource/templates/controller.rb.erb +0 -5
  451. data/lib/generators/hyrax/work_resource/templates/form.rb.erb +1 -1
  452. data/lib/generators/hyrax/work_resource/templates/work.html.erb_spec.rb.erb +3 -2
  453. data/lib/hyrax.rb +17 -0
  454. data/lib/hyrax/configuration.rb +340 -200
  455. data/lib/hyrax/event_store.rb +5 -0
  456. data/lib/hyrax/form_fields.rb +1 -1
  457. data/lib/hyrax/indexer.rb +19 -3
  458. data/lib/hyrax/publisher.rb +71 -2
  459. data/lib/hyrax/resource_sync/change_list_writer.rb +1 -1
  460. data/lib/hyrax/resource_sync/resource_list_writer.rb +1 -1
  461. data/lib/hyrax/schema.rb +2 -2
  462. data/lib/hyrax/specs/capybara.rb +98 -0
  463. data/lib/hyrax/specs/clamav.rb +15 -0
  464. data/lib/hyrax/specs/disable_animations_in_test_environment.rb +53 -0
  465. data/lib/hyrax/specs/engine_routes.rb +11 -0
  466. data/lib/hyrax/specs/shared_specs/change_set.rb +11 -0
  467. data/lib/hyrax/specs/shared_specs/factories/strategies/json_strategy.rb +13 -0
  468. data/lib/hyrax/specs/shared_specs/factories/strategies/valkyrie_resource.rb +0 -11
  469. data/lib/hyrax/specs/shared_specs/hydra_works.rb +6 -0
  470. data/lib/hyrax/specs/shared_specs/indexers.rb +22 -5
  471. data/lib/hyrax/specs/shared_specs/metadata.rb +64 -0
  472. data/lib/hyrax/specs/spy_listener.rb +52 -26
  473. data/lib/hyrax/transactions/container.rb +13 -1
  474. data/lib/hyrax/transactions/steps/add_file_sets.rb +35 -0
  475. data/lib/hyrax/transactions/steps/save.rb +10 -4
  476. data/lib/hyrax/transactions/steps/save_access_control.rb +29 -0
  477. data/lib/hyrax/transactions/steps/set_default_admin_set.rb +1 -1
  478. data/lib/hyrax/transactions/update_work.rb +3 -1
  479. data/lib/hyrax/transactions/work_create.rb +3 -1
  480. data/lib/hyrax/version.rb +1 -1
  481. data/lib/tasks/collection_type_global_id.rake +22 -0
  482. data/lib/tasks/default_admin_set.rake +5 -0
  483. data/lib/wings.rb +1 -1
  484. data/lib/wings/active_fedora_converter.rb +71 -123
  485. data/lib/wings/active_fedora_converter/default_work.rb +129 -0
  486. data/lib/wings/active_fedora_converter/nested_resource.rb +25 -0
  487. data/lib/wings/attribute_transformer.rb +28 -1
  488. data/lib/wings/converter_value_mapper.rb +70 -3
  489. data/lib/wings/model_registry.rb +4 -3
  490. data/lib/wings/model_transformer.rb +25 -7
  491. data/lib/wings/orm_converter.rb +19 -23
  492. data/lib/wings/services/custom_queries/find_collections_by_type.rb +1 -1
  493. data/lib/wings/services/custom_queries/find_file_metadata.rb +65 -38
  494. data/lib/wings/services/file_converter_service.rb +6 -55
  495. data/lib/wings/services/file_metadata_builder.rb +12 -8
  496. data/lib/wings/setup.rb +56 -9
  497. data/lib/wings/transformer_value_mapper.rb +1 -0
  498. data/lib/wings/valkyrie/metadata_adapter.rb +2 -2
  499. data/lib/wings/valkyrie/persister.rb +13 -14
  500. data/lib/wings/valkyrie/storage.rb +94 -0
  501. data/tasks/benchmark.rake +56 -0
  502. data/template.rb +1 -3
  503. metadata +346 -54
  504. data/lib/hyrax/callbacks.rb +0 -27
  505. data/lib/wings/hydra/pcdm/models/concerns/collection_valkyrie_behavior.rb +0 -28
  506. data/lib/wings/hydra/pcdm/models/concerns/object_valkyrie_behavior.rb +0 -28
  507. data/lib/wings/hydra/pcdm/models/concerns/pcdm_valkyrie_behavior.rb +0 -171
  508. data/lib/wings/hydra/works/models/concerns/collection_valkyrie_behavior.rb +0 -31
  509. data/lib/wings/hydra/works/models/concerns/file_set_valkyrie_behavior.rb +0 -31
  510. data/lib/wings/hydra/works/models/concerns/work_valkyrie_behavior.rb +0 -60
  511. data/lib/wings/models/concerns/collection_behavior.rb +0 -39
  512. data/lib/wings/models/multi_checksum.rb +0 -18
  513. data/lib/wings/services/id_converter_service.rb +0 -15
  514. data/lib/wings/valkyrie/storage/active_fedora.rb +0 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c9d46930e13b120e6e81277af6e070ea5f0b66c2f2f893413e66a37d2a7e617
4
- data.tar.gz: ecfa59ac809495a3c5b3bb64fc70896c5333ac95c703872fd541f6c20a49cd81
3
+ metadata.gz: 80d651ec9f588b25d242b2b6dcb5c1a98695b3eb9f8bb1f4706a9664a4ce6dbd
4
+ data.tar.gz: a145d9fdce4f1577c02b4a521b11b64a91d0dff6f20f9b63b4a663942410e346
5
5
  SHA512:
6
- metadata.gz: e97ef9f92570796c35d77c448e61e1ff5e3953feabc6f89b54e90a73e27c0672695367720ee73f454a79d82238e31b8ba0a4b01be9332e40e91c495f39b270c4
7
- data.tar.gz: 68849eac966a278f56747d6ea1b390ba2a973eae160d2aaf8ab72020dc6367fe6bf9e13fee4e8888b7b1aa1b75c79fa5b39670e8554fec915ef5988c00b85fd6
6
+ metadata.gz: 6d4ca532232ec1d92221da0dbb738a4d081c5ad94dd316f9b878fb3461909a1a6dbbe9520fab6ea11f3a84b55bef41160b3797a7d2318b505163d51c899885eb
7
+ data.tar.gz: dc49090b11ff8a4c1c6c57ba97c912d3ae28dd22c3d838154eac4dc76ca20f87fffda64d94f92846342c814bc12fd2bf5fa4ae1265b6243f1bfaacc37899ac71
@@ -163,21 +163,21 @@ workflows:
163
163
  hyrax_valkyrie: "true"
164
164
  requires:
165
165
  - build
166
- ruby2-7-1:
166
+ ruby2-7-2:
167
167
  jobs:
168
168
  - bundle:
169
- ruby_version: "2.7.1"
169
+ ruby_version: "2.7.2"
170
170
  rails_version: "5.2.4.3"
171
171
  bundler_version: "2.1.4"
172
172
  - build:
173
- ruby_version: "2.7.1"
173
+ ruby_version: "2.7.2"
174
174
  rails_version: "5.2.4.3"
175
175
  bundler_version: "2.1.4"
176
176
  requires:
177
177
  - bundle
178
178
  - test:
179
- name: "ruby2-7-1"
180
- ruby_version: "2.7.1"
179
+ name: "ruby2-7-2"
180
+ ruby_version: "2.7.2"
181
181
  bundler_version: "2.1.4"
182
182
  requires:
183
183
  - build
@@ -0,0 +1,4 @@
1
+ MEMCACHED_HOST=memcached
2
+ HYRAX_ANALYTICS=1
3
+ REDIS_PROVIDER=SIDEKIQ_REDIS_URL
4
+ SIDEKIQ_REDIS_URL=redis://redis:6379/0
@@ -0,0 +1,27 @@
1
+ # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+ # Ignore bundler config.
8
+ /.bundle
9
+
10
+ # Ignore all logfiles and tempfiles.
11
+ /log/*
12
+ /tmp/*
13
+ !/log/.keep
14
+ !/tmp/.keep
15
+
16
+ # Ignore uploaded files in development
17
+ /storage/*
18
+ !/storage/.keep
19
+
20
+ /node_modules
21
+ /yarn-error.log
22
+
23
+ /public/assets
24
+ .byebug_history
25
+
26
+ # Ignore master key for decrypting credentials and more.
27
+ /config/master.key
@@ -0,0 +1,57 @@
1
+ source 'https://rubygems.org'
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
+
4
+ ruby '2.7.2'
5
+
6
+ # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
7
+ gem 'rails', '~> 5.2.4', '>= 5.2.4.4'
8
+ # Use postgresql as the database for Active Record
9
+ gem 'pg', '>= 0.18', '< 2.0'
10
+ # Use Puma as the app server
11
+ gem 'puma', '~> 3.11'
12
+ # Use SCSS for stylesheets
13
+ gem 'sass-rails', '~> 5.0'
14
+ # Use Uglifier as compressor for JavaScript assets
15
+ gem 'uglifier', '>= 1.3.0'
16
+
17
+ gem 'dalli' # mem_cache_store support
18
+
19
+ # Use CoffeeScript for .coffee assets and views
20
+ gem 'coffee-rails', '~> 4.2'
21
+ # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
22
+ gem 'turbolinks', '~> 5'
23
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
24
+ gem 'jbuilder', '~> 2.5'
25
+
26
+ # Reduces boot times through caching; required in config/boot.rb
27
+ gem 'bootsnap', '>= 1.1.0', require: false
28
+
29
+ group :development, :test do
30
+ # Call 'byebug' anywhere in the code to stop execution and get a debugger console
31
+ gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
32
+ end
33
+
34
+ group :development do
35
+ # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
36
+ gem 'web-console', '>= 3.3.0'
37
+ gem 'listen', '>= 3.0.5', '< 3.2'
38
+ # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
39
+ gem 'spring'
40
+ gem 'spring-watcher-listen', '~> 2.0.0'
41
+ end
42
+
43
+ # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
44
+ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
45
+
46
+ begin # this is a hack to allow `eval_gemfile` to work correctly
47
+ gem 'hyrax', path: ENV.fetch('HYRAX_ENGINE_PATH', '..')
48
+ rescue; end
49
+
50
+ gem 'rsolr', '>= 1.0', '< 3'
51
+ gem 'bootstrap-sass', '~> 3.0'
52
+ gem 'twitter-typeahead-rails', '0.11.1.pre.corejavascript'
53
+ gem 'jquery-rails'
54
+ gem 'devise'
55
+ gem 'devise-guests', '~> 0.6'
56
+ gem 'riiif', '~> 2.1'
57
+ gem 'sidekiq', '~> 6.0'
@@ -0,0 +1,3 @@
1
+ # Dassie
2
+
3
+ Dassie is a basic Hyrax application for development and testing purposes.
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,8 @@
1
+ # Generated via
2
+ # `rails generate hyrax:work GenericWork`
3
+ module Hyrax
4
+ module Actors
5
+ class GenericWorkActor < Hyrax::Actors::BaseActor
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ # Generated via
2
+ # `rails generate hyrax:work NamespacedWorks::NestedWork`
3
+ module Hyrax
4
+ module Actors
5
+ class NamespacedWorks::NestedWorkActor < Hyrax::Actors::BaseActor
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,3 @@
1
+ //= link_tree ../images
2
+ //= link_directory ../javascripts .js
3
+ //= link_directory ../stylesheets .css
File without changes
@@ -0,0 +1,91 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11
+ version="1.1"
12
+ width="600"
13
+ height="600"
14
+ id="svg2997">
15
+ <defs
16
+ id="defs19" />
17
+ <metadata
18
+ id="metadata3002">
19
+ <rdf:RDF>
20
+ <cc:Work
21
+ rdf:about="">
22
+ <dc:format>image/svg+xml</dc:format>
23
+ <dc:type
24
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
25
+ <dc:title />
26
+ </cc:Work>
27
+ </rdf:RDF>
28
+ </metadata>
29
+ <g
30
+ transform="translate(-88.571,-155.22)"
31
+ id="g3057">
32
+ <g
33
+ transform="translate(88.571,155.22)"
34
+ id="g4097">
35
+ <path
36
+ d="M 0,50 C 0,22.386 22.385,0 50,0 h 500 c 27.614,0 50,22.386 50,50 v 500 c 0,27.615 -22.386,50 -50,50 H 50 C 22.385,600 0,577.62 0,550 V 50 z"
37
+ inkscape:connector-curvature="0"
38
+ id="path4099" />
39
+ <path
40
+ d="M 300,300"
41
+ inkscape:connector-curvature="0"
42
+ id="path4101" />
43
+ </g>
44
+ <g
45
+ id="g3051">
46
+ <g
47
+ transform="matrix(0.39465,0,0,0.39465,-753.67,260.87)"
48
+ id="g3783-5-2">
49
+ <path
50
+ d="M 2455.5,-227.53 2151.8,40.85 c 95.691,54.056 160.31,156.69 160.31,274.44 0,58.027 -15.751,112.35 -43.125,159.03 -6.0012,10.234 -12.637,20.046 -19.719,29.5 -2.8607,4.7586 -5.6558,9.5784 -8.3125,14.469 -2.9441,5.4198 -5.7516,10.895 -8.4375,16.469 -2.6858,5.574 -5.2368,11.249 -7.6562,16.969 -2.4194,5.7202 -4.6987,11.485 -6.8438,17.344 -2.145,5.8584 -4.1686,11.793 -6.0312,17.781 -1.8627,5.9886 -3.584,12.045 -5.1563,18.156 -1.5722,6.1108 -2.9761,12.275 -4.25,18.5 -1.2738,6.225 -2.4076,12.513 -3.375,18.844 -0.9673,6.3311 -1.7845,12.727 -2.4375,19.156 -0.6529,6.4293 -1.1382,12.887 -1.4687,19.406 -0.3305,6.5194 -0.5,13.086 -0.5,19.688 0,6.6015 0.1695,13.168 0.5,19.688 0.3305,6.5194 0.8158,12.977 1.4687,19.406 0.653,6.4293 1.4702,12.825 2.4375,19.156 0.9674,6.3311 2.1012,12.619 3.375,18.844 1.2739,6.2249 2.6778,12.389 4.25,18.5 1.5723,6.1107 3.2936,12.168 5.1563,18.156 1.8626,5.9886 3.8862,11.923 6.0312,17.781 2.1451,5.8587 4.4244,11.624 6.8438,17.344 2.4194,5.7202 4.9704,11.394 7.6562,16.969 2.6859,5.5735 5.4934,11.049 8.4375,16.469 2.9442,5.4198 6.0242,10.773 9.2188,16.031 3.1946,5.2572 6.5006,10.444 9.9375,15.531 3.4369,5.0873 7.0163,10.059 10.688,14.969 3.6712,4.9086 7.4462,9.7459 11.344,14.469 3.8976,4.7228 7.9154,9.3465 12.031,13.875 4.1159,4.5285 8.3301,8.9547 12.656,13.281 4.3262,4.3259 8.7528,8.5403 13.281,12.656 4.5285,4.1159 9.1522,8.1341 13.875,12.031 4.7227,3.8978 9.5597,7.6726 14.469,11.344 4.9091,3.6712 9.8815,7.2506 14.969,10.688 5.0873,3.4369 10.274,6.7429 15.531,9.9375 5.2576,3.1946 10.612,6.2742 16.031,9.2188 5.4198,2.9438 10.895,5.7519 16.469,8.4374 5.574,2.6861 11.249,5.2369 16.969,7.6563 5.7202,2.4194 11.485,4.6988 17.344,6.8437 2.7997,1.0254 5.6701,1.9143 8.5,2.875 6.9951,1.9608 14.006,3.8715 21.062,5.6876 7.998,2.0571 16.02,4.0424 24.094,5.9062 6.8303,1.5767 13.708,3.0358 20.594,4.4688 1.2538,0.2606 2.4951,0.556 3.75,0.8124 8.1474,1.6676 16.313,3.2508 24.531,4.7188 8.2182,1.468 16.495,2.8271 24.781,4.0938 8.2864,1.2655 16.586,2.4377 24.938,3.5 8.3519,1.0612 16.742,2.0199 25.156,2.875 8.4148,0.8541 16.869,1.6046 25.344,2.25 8.1324,0.6183 16.283,1.1079 24.469,1.5312 0.6494,0 1.287,-0.062 1.9375,-0.062 7.3954,0 14.692,0.3998 21.938,1 81.289,6.7337 152.44,50.344 197.44,112.94 44.998,-62.594 116.15,-106.2 197.44,-112.94 7.2451,-0.6002 14.542,-1 21.938,-1 0.6505,0 1.2881,0.062 1.9375,0.062 8.1855,-0.4233 16.336,-0.9129 24.469,-1.5312 8.475,-0.6453 16.929,-1.3959 25.344,-2.25 8.4148,-0.8551 16.804,-1.8138 25.156,-2.875 8.3518,-1.0623 16.651,-2.2345 24.938,-3.5 8.2862,-1.2667 16.563,-2.6258 24.781,-4.0938 8.2182,-1.468 16.384,-3.0512 24.531,-4.7188 1.2549,-0.2563 2.4963,-0.5519 3.75,-0.8124 6.8856,-1.4329 13.764,-2.8922 20.594,-4.4688 8.074,-1.8639 16.096,-3.8491 24.094,-5.9062 7.0562,-1.8161 14.067,-3.7268 21.062,-5.6876 2.83,-0.9608 5.7003,-1.8496 8.5,-2.875 5.8586,-2.1449 11.624,-4.4243 17.344,-6.8437 5.7202,-2.4194 11.395,-4.9701 16.969,-7.6563 5.5737,-2.6856 11.049,-5.4937 16.469,-8.4374 5.4198,-2.9445 10.774,-6.0243 16.031,-9.2188 5.2573,-3.1947 10.444,-6.5007 15.531,-9.9375 5.0873,-3.437 10.06,-7.0164 14.969,-10.688 4.909,-3.6713 9.746,-7.4459 14.469,-11.344 4.7228,-3.8973 9.3465,-7.9154 13.875,-12.031 4.5285,-4.116 8.9551,-8.3304 13.281,-12.656 4.326,-4.3265 8.5403,-8.7529 12.656,-13.281 4.1159,-4.5286 8.1338,-9.1523 12.031,-13.875 3.8977,-4.7228 7.6726,-9.5601 11.344,-14.469 3.6712,-4.9095 7.2506,-9.8816 10.688,-14.969 3.4369,-5.0874 6.7429,-10.274 9.9375,-15.531 3.1946,-5.258 6.2745,-10.612 9.2188,-16.031 2.944,-5.4199 5.7516,-10.895 8.4374,-16.469 2.6858,-5.5743 5.2369,-11.249 7.6563,-16.969 2.4194,-5.7203 4.6987,-11.485 6.8437,-17.344 2.145,-5.8581 4.1687,-11.793 6.0313,-17.781 1.8627,-5.9887 3.584,-12.046 5.1563,-18.156 1.5722,-6.111 2.9759,-12.275 4.25,-18.5 1.2736,-6.2252 2.4076,-12.513 3.375,-18.844 0.9672,-6.3312 1.7845,-12.727 2.4374,-19.156 0.6531,-6.4293 1.1383,-12.887 1.4688,-19.406 0.3305,-6.5195 0.5,-13.086 0.5,-19.688 0,-6.6016 -0.1695,-13.168 -0.5,-19.688 -0.3305,-6.5195 -0.8157,-12.977 -1.4688,-19.406 -0.6529,-6.4293 -1.4702,-12.825 -2.4374,-19.156 -0.9674,-6.3312 -2.1014,-12.619 -3.375,-18.844 -1.274,-6.225 -2.6779,-12.389 -4.25,-18.5 -1.5725,-6.1108 -3.2936,-12.168 -5.1563,-18.156 -1.8626,-5.9887 -3.8862,-11.923 -6.0313,-17.781 -2.145,-5.8584 -4.4243,-11.624 -6.8437,-17.344 -2.4194,-5.7203 -4.9703,-11.395 -7.6563,-16.969 -2.6857,-5.574 -5.4933,-11.049 -8.4374,-16.469 -2.6568,-4.8905 -5.4518,-9.7102 -8.3126,-14.469 -7.0815,-9.4541 -13.718,-19.266 -19.719,-29.5 -27.374,-46.682 -43.125,-101 -43.125,-159.03 0,-117.74 64.621,-220.38 160.31,-274.44 l -303.75,-268.38 c -56.769,55.377 -133.8,90 -219.38,90 -85.284,0 -162.66,-34.95 -219.38,-90 -56.718,55.05 -134.09,90 -219.38,90 -85.57,0 -162.61,-34.623 -219.38,-90 z m 438.75,140.62 c 9.315,0 16.875,7.56 16.875,16.875 0,9.315 -7.56,16.875 -16.875,16.875 -9.315,0 -16.875,-7.56 -16.875,-16.875 0,-9.315 7.56,-16.875 16.875,-16.875 z m 0,1080 c 9.315,0 16.875,7.56 16.875,16.875 0,9.315 -7.56,16.875 -16.875,16.875 -9.315,0 -16.875,-7.56 -16.875,-16.875 0,-9.315 7.56,-16.875 16.875,-16.875 z"
51
+ inkscape:connector-curvature="0"
52
+ id="path2939-8-9"
53
+ style="fill:#ffffff;stroke:#000000;stroke-width:0.89999998;stroke-miterlimit:4;stroke-dasharray:none" />
54
+ </g>
55
+ <rect
56
+ width="36.103001"
57
+ height="33.429001"
58
+ rx="37.5"
59
+ ry="33.429001"
60
+ x="369.06"
61
+ y="217.97"
62
+ id="rect3047"
63
+ style="fill:#ffffff;fill-rule:nonzero" />
64
+ <rect
65
+ width="29.417999"
66
+ height="26.743"
67
+ rx="16.5"
68
+ ry="13.929"
69
+ x="371.73001"
70
+ y="645.85999"
71
+ id="rect3049"
72
+ style="fill:#ffffff;fill-rule:nonzero" />
73
+ </g>
74
+ </g>
75
+ <g
76
+ id="routenum"
77
+ style="font-size:440.29998779px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Roadgeek 2005 Series B">
78
+ <path
79
+ d="m 164.9,151.54 h 26.444 v 198.01 h 19.564 v 26.444 h -19.564 v 69.012 H 164.9 V 375.994 H 81.699 V 349.55 L 164.9,151.54 m 0,198.01 V 218.62 L 110.292,349.55 H 164.9"
80
+ inkscape:connector-curvature="0"
81
+ id="path2993" />
82
+ <path
83
+ d="m 300.97,145.73 c 14.189,3e-4 26.229,5.2317 36.118,15.694 6.4496,6.7366 10.893,16.053 13.329,27.949 6.5929,31.102 9.8894,67.364 9.8896,108.79 -1.4e-4,41.565 -3.2967,77.898 -9.8896,109 -2.8667,13.903 -8.5281,24.437 -16.984,31.604 -9.4597,8.0263 -20.567,12.039 -33.323,12.039 -14.906,-10e-6 -27.304,-5.2314 -37.193,-15.694 -6.3064,-6.7364 -10.678,-16.053 -13.114,-27.949 -6.5931,-30.959 -9.8896,-67.22 -9.8896,-108.79 -2e-5,-41.135 3.2965,-77.468 9.8896,-109 2.8665,-13.902 8.5279,-24.509 16.984,-31.819 9.4595,-7.8827 20.854,-11.824 34.183,-11.824 m -0.42998,31.174 c -13.186,2.7e-4 -21.427,9.6032 -24.724,28.809 -1.1467,7.0232 -2.7233,20.353 -4.7298,39.988 -1.72,17.199 -2.5799,34.614 -2.5799,52.243 -5e-5,20.496 1.4332,43.428 4.2998,68.797 2.5798,22.789 5.303,36.548 8.1696,41.278 4.873,7.7397 11.251,11.61 19.134,11.609 12.899,3e-5 20.997,-9.6029 24.294,-28.809 1.2898,-7.3096 2.8664,-20.639 4.7298,-39.988 1.7198,-17.199 2.5798,-34.757 2.5799,-52.673 -1.2e-4,-23.075 -2.0784,-51.239 -6.2347,-84.491 -1.4334,-12.326 -3.5116,-20.71 -6.2347,-25.154 -4.7299,-7.7394 -10.965,-11.609 -18.704,-11.609"
84
+ inkscape:connector-curvature="0"
85
+ id="path2995" />
86
+ <path
87
+ d="m 466.27,151.54 h 26.444 v 198.01 h 19.564 v 26.444 h -19.564 v 69.012 H 466.27 V 375.994 H 383.069 V 349.55 L 466.27,151.54 m 0,198.01 V 218.62 l -54.608,130.93 h 54.608"
88
+ inkscape:connector-curvature="0"
89
+ id="path2997" />
90
+ </g>
91
+ </svg>
@@ -0,0 +1,26 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's
5
+ // vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //=
14
+ //= require activestorage
15
+ //= require turbolinks
16
+ //
17
+ // Required by Blacklight
18
+ //= require jquery
19
+ //= require jquery_ujs
20
+ //= require dataTables/jquery.dataTables
21
+ //= require dataTables/bootstrap/3/jquery.dataTables.bootstrap
22
+ //= require blacklight/blacklight
23
+
24
+ //= require_tree .
25
+ //= require hyrax
26
+
@@ -0,0 +1 @@
1
+ //= require blacklight_gallery/default
@@ -0,0 +1,13 @@
1
+ // Action Cable provides the framework to deal with WebSockets in Rails.
2
+ // You can generate new channels where WebSocket features live using the `rails generate channel` command.
3
+ //
4
+ //= require action_cable
5
+ //= require_self
6
+ //= require_tree ./channels
7
+
8
+ (function() {
9
+ this.App || (this.App = {});
10
+
11
+ App.cable = ActionCable.createConsumer();
12
+
13
+ }).call(this);
@@ -0,0 +1,2 @@
1
+ //= require openseadragon/openseadragon
2
+ //= require openseadragon/rails
@@ -0,0 +1,16 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
6
+ * vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require dataTables/bootstrap/3/jquery.dataTables.bootstrap
15
+ *= require_self
16
+ */
@@ -0,0 +1,17 @@
1
+ /* ...
2
+ *= require jquery-ui
3
+ *= require select2
4
+ *= require_self
5
+ */
6
+
7
+ @import "bootstrap-sprockets";
8
+ @import "bootstrap-default-overrides";
9
+ @import 'bootstrap';
10
+ @import 'blacklight/blacklight';
11
+ @import "font-awesome";
12
+ @import "blacklight_gallery/gallery";
13
+ @import "blacklight_gallery/masonry";
14
+ @import "blacklight_gallery/slideshow";
15
+ @import "blacklight_gallery/osd_viewer";
16
+ @import 'hyrax/hyrax';
17
+ @import 'hyrax/login_signup';
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require openseadragon/openseadragon
3
+ */
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -0,0 +1,14 @@
1
+ class ApplicationController < ActionController::Base
2
+ helper Openseadragon::OpenseadragonHelper
3
+ # Adds a few additional behaviors into the application controller
4
+ include Blacklight::Controller
5
+ skip_after_action :discard_flash_if_xhr
6
+ include Hydra::Controller::ControllerBehavior
7
+
8
+ # Adds Hyrax behaviors into the application controller
9
+ include Hyrax::Controller
10
+ include Hyrax::ThemedLayoutController
11
+ with_themed_layout '1_column'
12
+
13
+
14
+ end
@@ -0,0 +1,300 @@
1
+ # frozen_string_literal: true
2
+ class CatalogController < ApplicationController
3
+ include Hydra::Catalog
4
+ include Hydra::Controller::ControllerBehavior
5
+
6
+ # This filter applies the hydra access controls
7
+ before_action :enforce_show_permissions, only: :show
8
+
9
+ def self.uploaded_field
10
+ "system_create_dtsi"
11
+ end
12
+
13
+ def self.modified_field
14
+ "system_modified_dtsi"
15
+ end
16
+
17
+ configure_blacklight do |config|
18
+ config.view.gallery.partials = [:index_header, :index]
19
+ config.view.masonry.partials = [:index]
20
+ config.view.slideshow.partials = [:index]
21
+
22
+
23
+ config.show.tile_source_field = :content_metadata_image_iiif_info_ssm
24
+ config.show.partials.insert(1, :openseadragon)
25
+ config.search_builder_class = Hyrax::CatalogSearchBuilder
26
+
27
+ # Show gallery view
28
+ config.view.gallery.partials = [:index_header, :index]
29
+ config.view.slideshow.partials = [:index]
30
+
31
+ ## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
32
+ config.default_solr_params = {
33
+ qt: "search",
34
+ rows: 10,
35
+ qf: "title_tesim description_tesim creator_tesim keyword_tesim"
36
+ }
37
+
38
+ # solr field configuration for document/show views
39
+ config.index.title_field = "title_tesim"
40
+ config.index.display_type_field = "has_model_ssim"
41
+ config.index.thumbnail_field = 'thumbnail_path_ss'
42
+
43
+ # solr fields that will be treated as facets by the blacklight application
44
+ # The ordering of the field names is the order of the display
45
+ config.add_facet_field "human_readable_type_sim", label: "Type", limit: 5
46
+ config.add_facet_field "resource_type_sim", label: "Resource Type", limit: 5
47
+ config.add_facet_field "creator_sim", limit: 5
48
+ config.add_facet_field "contributor_sim", label: "Contributor", limit: 5
49
+ config.add_facet_field "keyword_sim", limit: 5
50
+ config.add_facet_field "subject_sim", limit: 5
51
+ config.add_facet_field "language_sim", limit: 5
52
+ config.add_facet_field "based_near_label_sim", limit: 5
53
+ config.add_facet_field "publisher_sim", limit: 5
54
+ config.add_facet_field "file_format_sim", limit: 5
55
+ config.add_facet_field "member_of_collection_ids_ssim", limit: 5, label: 'Collections', helper_method: :collection_title_by_id
56
+
57
+ # The generic_type and depositor are not displayed on the facet list
58
+ # They are used to give a label to the filters that comes from the user profile
59
+ config.add_facet_field "generic_type_sim", if: false
60
+ config.add_facet_field "depositor_ssim", label: "Depositor", if: false
61
+
62
+ # Have BL send all facet field names to Solr, which has been the default
63
+ # previously. Simply remove these lines if you'd rather use Solr request
64
+ # handler defaults, or have no facets.
65
+ config.add_facet_fields_to_solr_request!
66
+
67
+ # solr fields to be displayed in the index (search results) view
68
+ # The ordering of the field names is the order of the display
69
+ config.add_index_field "title_tesim", label: "Title", itemprop: 'name', if: false
70
+ config.add_index_field "description_tesim", itemprop: 'description', helper_method: :iconify_auto_link
71
+ config.add_index_field "keyword_tesim", itemprop: 'keywords', link_to_search: "keyword_sim"
72
+ config.add_index_field "subject_tesim", itemprop: 'about', link_to_search: "subject_sim"
73
+ config.add_index_field "creator_tesim", itemprop: 'creator', link_to_search: "creator_sim"
74
+ config.add_index_field "contributor_tesim", itemprop: 'contributor', link_to_search: "contributor_sim"
75
+ config.add_index_field "proxy_depositor_ssim", label: "Depositor", helper_method: :link_to_profile
76
+ config.add_index_field "depositor_tesim", label: "Owner", helper_method: :link_to_profile
77
+ config.add_index_field "publisher_tesim", itemprop: 'publisher', link_to_search: "publisher_sim"
78
+ config.add_index_field "based_near_label_tesim", itemprop: 'contentLocation', link_to_search: "based_near_label_sim"
79
+ config.add_index_field "language_tesim", itemprop: 'inLanguage', link_to_search: "language_sim"
80
+ config.add_index_field "date_uploaded_dtsi", itemprop: 'datePublished', helper_method: :human_readable_date
81
+ config.add_index_field "date_modified_dtsi", itemprop: 'dateModified', helper_method: :human_readable_date
82
+ config.add_index_field "date_created_tesim", itemprop: 'dateCreated'
83
+ config.add_index_field "rights_statement_tesim", helper_method: :rights_statement_links
84
+ config.add_index_field "license_tesim", helper_method: :license_links
85
+ config.add_index_field "resource_type_tesim", label: "Resource Type", link_to_search: "resource_type_sim"
86
+ config.add_index_field "file_format_tesim", link_to_search: "file_format_sim"
87
+ config.add_index_field "identifier_tesim", helper_method: :index_field_link, field_name: 'identifier'
88
+ config.add_index_field Hydra.config.permissions.embargo.release_date, label: "Embargo release date", helper_method: :human_readable_date
89
+ config.add_index_field Hydra.config.permissions.lease.expiration_date, label: "Lease expiration date", helper_method: :human_readable_date
90
+
91
+ # solr fields to be displayed in the show (single result) view
92
+ # The ordering of the field names is the order of the display
93
+ config.add_show_field "title_tesim"
94
+ config.add_show_field "description_tesim"
95
+ config.add_show_field "keyword_tesim"
96
+ config.add_show_field "subject_tesim"
97
+ config.add_show_field "creator_tesim"
98
+ config.add_show_field "contributor_tesim"
99
+ config.add_show_field "publisher_tesim"
100
+ config.add_show_field "based_near_label_tesim"
101
+ config.add_show_field "language_tesim"
102
+ config.add_show_field "date_uploaded_tesim"
103
+ config.add_show_field "date_modified_tesim"
104
+ config.add_show_field "date_created_tesim"
105
+ config.add_show_field "rights_statement_tesim"
106
+ config.add_show_field "license_tesim"
107
+ config.add_show_field "resource_type_tesim", label: "Resource Type"
108
+ config.add_show_field "format_tesim"
109
+ config.add_show_field "identifier_tesim"
110
+
111
+ # "fielded" search configuration. Used by pulldown among other places.
112
+ # For supported keys in hash, see rdoc for Blacklight::SearchFields
113
+ #
114
+ # Search fields will inherit the :qt solr request handler from
115
+ # config[:default_solr_parameters], OR can specify a different one
116
+ # with a :qt key/value. Below examples inherit, except for subject
117
+ # that specifies the same :qt as default for our own internal
118
+ # testing purposes.
119
+ #
120
+ # The :key is what will be used to identify this BL search field internally,
121
+ # as well as in URLs -- so changing it after deployment may break bookmarked
122
+ # urls. A display label will be automatically calculated from the :key,
123
+ # or can be specified manually to be different.
124
+ #
125
+ # This one uses all the defaults set by the solr request handler. Which
126
+ # solr request handler? The one set in config[:default_solr_parameters][:qt],
127
+ # since we aren't specifying it otherwise.
128
+ config.add_search_field('all_fields', label: 'All Fields') do |field|
129
+ all_names = config.show_fields.values.map(&:field).join(" ")
130
+ title_name = "title_tesim"
131
+ field.solr_parameters = {
132
+ qf: "#{all_names} file_format_tesim all_text_timv",
133
+ pf: title_name.to_s
134
+ }
135
+ end
136
+
137
+ # Now we see how to over-ride Solr request handler defaults, in this
138
+ # case for a BL "search field", which is really a dismax aggregate
139
+ # of Solr search fields.
140
+ # creator, title, description, publisher, date_created,
141
+ # subject, language, resource_type, format, identifier, based_near,
142
+ config.add_search_field('contributor') do |field|
143
+ # solr_parameters hash are sent to Solr as ordinary url query params.
144
+
145
+ # :solr_local_parameters will be sent using Solr LocalParams
146
+ # syntax, as eg {! qf=$title_qf }. This is neccesary to use
147
+ # Solr parameter de-referencing like $title_qf.
148
+ # See: http://wiki.apache.org/solr/LocalParams
149
+ solr_name = "contributor_tesim"
150
+ field.solr_local_parameters = {
151
+ qf: solr_name,
152
+ pf: solr_name
153
+ }
154
+ end
155
+
156
+ config.add_search_field('creator') do |field|
157
+ solr_name = "creator_tesim"
158
+ field.solr_local_parameters = {
159
+ qf: solr_name,
160
+ pf: solr_name
161
+ }
162
+ end
163
+
164
+ config.add_search_field('title') do |field|
165
+ solr_name = "title_tesim"
166
+ field.solr_local_parameters = {
167
+ qf: solr_name,
168
+ pf: solr_name
169
+ }
170
+ end
171
+
172
+ config.add_search_field('description') do |field|
173
+ field.label = "Description"
174
+ solr_name = "description_tesim"
175
+ field.solr_local_parameters = {
176
+ qf: solr_name,
177
+ pf: solr_name
178
+ }
179
+ end
180
+
181
+ config.add_search_field('publisher') do |field|
182
+ solr_name = "publisher_tesim"
183
+ field.solr_local_parameters = {
184
+ qf: solr_name,
185
+ pf: solr_name
186
+ }
187
+ end
188
+
189
+ config.add_search_field('date_created') do |field|
190
+ solr_name = "created_tesim"
191
+ field.solr_local_parameters = {
192
+ qf: solr_name,
193
+ pf: solr_name
194
+ }
195
+ end
196
+
197
+ config.add_search_field('subject') do |field|
198
+ solr_name = "subject_tesim"
199
+ field.solr_local_parameters = {
200
+ qf: solr_name,
201
+ pf: solr_name
202
+ }
203
+ end
204
+
205
+ config.add_search_field('language') do |field|
206
+ solr_name = "language_tesim"
207
+ field.solr_local_parameters = {
208
+ qf: solr_name,
209
+ pf: solr_name
210
+ }
211
+ end
212
+
213
+ config.add_search_field('resource_type') do |field|
214
+ solr_name = "resource_type_tesim"
215
+ field.solr_local_parameters = {
216
+ qf: solr_name,
217
+ pf: solr_name
218
+ }
219
+ end
220
+
221
+ config.add_search_field('format') do |field|
222
+ solr_name = "format_tesim"
223
+ field.solr_local_parameters = {
224
+ qf: solr_name,
225
+ pf: solr_name
226
+ }
227
+ end
228
+
229
+ config.add_search_field('identifier') do |field|
230
+ solr_name = "id_tesim"
231
+ field.solr_local_parameters = {
232
+ qf: solr_name,
233
+ pf: solr_name
234
+ }
235
+ end
236
+
237
+ config.add_search_field('based_near') do |field|
238
+ field.label = "Location"
239
+ solr_name = "based_near_label_tesim"
240
+ field.solr_local_parameters = {
241
+ qf: solr_name,
242
+ pf: solr_name
243
+ }
244
+ end
245
+
246
+ config.add_search_field('keyword') do |field|
247
+ solr_name = "keyword_tesim"
248
+ field.solr_local_parameters = {
249
+ qf: solr_name,
250
+ pf: solr_name
251
+ }
252
+ end
253
+
254
+ config.add_search_field('depositor') do |field|
255
+ solr_name = "depositor_ssim"
256
+ field.solr_local_parameters = {
257
+ qf: solr_name,
258
+ pf: solr_name
259
+ }
260
+ end
261
+
262
+ config.add_search_field('rights_statement') do |field|
263
+ solr_name = "rights_statement_tesim"
264
+ field.solr_local_parameters = {
265
+ qf: solr_name,
266
+ pf: solr_name
267
+ }
268
+ end
269
+
270
+ config.add_search_field('license') do |field|
271
+ solr_name = "license_tesim"
272
+ field.solr_local_parameters = {
273
+ qf: solr_name,
274
+ pf: solr_name
275
+ }
276
+ end
277
+
278
+ # "sort results by" select (pulldown)
279
+ # label in pulldown is followed by the name of the SOLR field to sort by and
280
+ # whether the sort is ascending or descending (it must be asc or desc
281
+ # except in the relevancy case).
282
+ # label is key, solr field is value
283
+ config.add_sort_field "score desc, #{uploaded_field} desc", label: "relevance"
284
+ config.add_sort_field "#{uploaded_field} desc", label: "date uploaded \u25BC"
285
+ config.add_sort_field "#{uploaded_field} asc", label: "date uploaded \u25B2"
286
+ config.add_sort_field "#{modified_field} desc", label: "date modified \u25BC"
287
+ config.add_sort_field "#{modified_field} asc", label: "date modified \u25B2"
288
+
289
+ # If there are more than this many search results, no spelling ("did you
290
+ # mean") suggestion is offered.
291
+ config.spell_max = 5
292
+ end
293
+
294
+ # disable the bookmark control from displaying in gallery view
295
+ # Hyrax doesn't show any of the default controls on the list view, so
296
+ # this method is not called in that context.
297
+ def render_bookmarks_control?
298
+ false
299
+ end
300
+ end