hyrax 4.0.0.beta1 → 4.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (493) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +66 -54
  3. data/.dassie/.env +29 -0
  4. data/.dassie/Gemfile +1 -1
  5. data/.dassie/app/controllers/catalog_controller.rb +1 -1
  6. data/.dassie/config/initializers/hyrax.rb +4 -0
  7. data/.github/SUPPORT.md +2 -3
  8. data/.github/workflows/build.yml +79 -0
  9. data/.github/workflows/main.yml +4 -4
  10. data/.github/workflows/release.yml +10 -4
  11. data/{.env → .koppie/.env} +21 -11
  12. data/.koppie/.gitignore +48 -0
  13. data/.koppie/.rspec +2 -0
  14. data/.koppie/CODE_OF_CONDUCT.md +36 -0
  15. data/.koppie/CONTRIBUTING.md +192 -0
  16. data/.koppie/Gemfile +53 -0
  17. data/.koppie/LICENSE +205 -0
  18. data/.koppie/README.md +55 -0
  19. data/.koppie/Rakefile +8 -0
  20. data/.koppie/app/assets/config/manifest.js +5 -0
  21. data/.koppie/app/assets/images/.keep +0 -0
  22. data/.koppie/app/assets/images/unauthorized.png +0 -0
  23. data/.koppie/app/assets/images/us_404.svg +91 -0
  24. data/.koppie/app/assets/javascripts/application.js +30 -0
  25. data/.koppie/app/assets/javascripts/blacklight_gallery.js +1 -0
  26. data/.koppie/app/assets/javascripts/cable.js +13 -0
  27. data/.koppie/app/assets/javascripts/channels/.keep +0 -0
  28. data/.koppie/app/assets/javascripts/openseadragon.js +2 -0
  29. data/.koppie/app/assets/stylesheets/application.css +48 -0
  30. data/.koppie/app/assets/stylesheets/hyrax.scss +17 -0
  31. data/.koppie/app/assets/stylesheets/openseadragon.css +3 -0
  32. data/.koppie/app/channels/application_cable/channel.rb +4 -0
  33. data/.koppie/app/channels/application_cable/connection.rb +4 -0
  34. data/.koppie/app/controllers/application_controller.rb +13 -0
  35. data/.koppie/app/controllers/catalog_controller.rb +314 -0
  36. data/.koppie/app/controllers/concerns/.keep +0 -0
  37. data/.koppie/app/controllers/hyrax/generic_works_controller.rb +17 -0
  38. data/.koppie/app/controllers/hyrax/monographs_controller.rb +17 -0
  39. data/.koppie/app/forms/collection_resource_form.rb +7 -0
  40. data/.koppie/app/forms/generic_work_form.rb +20 -0
  41. data/.koppie/app/forms/monograph_form.rb +20 -0
  42. data/.koppie/app/helpers/application_helper.rb +2 -0
  43. data/.koppie/app/helpers/hyrax_helper.rb +6 -0
  44. data/.koppie/app/indexers/collection_resource_indexer.rb +7 -0
  45. data/.koppie/app/indexers/generic_work_indexer.rb +16 -0
  46. data/.koppie/app/indexers/monograph_indexer.rb +16 -0
  47. data/.koppie/app/jobs/application_job.rb +2 -0
  48. data/.koppie/app/mailers/application_mailer.rb +4 -0
  49. data/.koppie/app/models/ability.rb +25 -0
  50. data/.koppie/app/models/application_record.rb +3 -0
  51. data/.koppie/app/models/collection.rb +1 -0
  52. data/.koppie/app/models/collection_resource.rb +31 -0
  53. data/.koppie/app/models/concerns/.keep +0 -0
  54. data/.koppie/app/models/file_set.rb +4 -0
  55. data/.koppie/app/models/generic_work.rb +8 -0
  56. data/.koppie/app/models/monograph.rb +8 -0
  57. data/.koppie/app/models/qa/local_authority.rb +2 -0
  58. data/.koppie/app/models/qa/local_authority_entry.rb +3 -0
  59. data/.koppie/app/models/qa.rb +5 -0
  60. data/.koppie/app/models/search_builder.rb +16 -0
  61. data/.koppie/app/models/solr_document.rb +28 -0
  62. data/.koppie/app/models/user.rb +24 -0
  63. data/.koppie/app/views/hyrax/generic_works/_generic_work.html.erb +2 -0
  64. data/.koppie/app/views/hyrax/monographs/_monograph.html.erb +2 -0
  65. data/.koppie/app/views/layouts/application.html.erb +15 -0
  66. data/.koppie/app/views/layouts/mailer.html.erb +13 -0
  67. data/.koppie/app/views/layouts/mailer.text.erb +1 -0
  68. data/.koppie/bin/bundle +3 -0
  69. data/.koppie/bin/rails +9 -0
  70. data/.koppie/bin/rake +9 -0
  71. data/.koppie/bin/setup +36 -0
  72. data/.koppie/bin/spring +17 -0
  73. data/.koppie/bin/update +31 -0
  74. data/.koppie/bin/yarn +11 -0
  75. data/.koppie/config/analytics.yml +12 -0
  76. data/.koppie/config/application.rb +33 -0
  77. data/.koppie/config/authorities/licenses.yml +46 -0
  78. data/.koppie/config/authorities/resource_types.yml +41 -0
  79. data/.koppie/config/authorities/rights_statements.yml +37 -0
  80. data/.koppie/config/blacklight.yml +9 -0
  81. data/.koppie/config/boot.rb +4 -0
  82. data/.koppie/config/browse_everything_providers.yml +25 -0
  83. data/.koppie/config/cable.yml +12 -0
  84. data/.koppie/config/credentials.yml.enc +1 -0
  85. data/.koppie/config/database.yml +25 -0
  86. data/.koppie/config/environment.rb +5 -0
  87. data/.koppie/config/environments/development.rb +71 -0
  88. data/.koppie/config/environments/production.rb +97 -0
  89. data/.koppie/config/environments/test.rb +46 -0
  90. data/.koppie/config/initializers/1_valkyrie.rb +56 -0
  91. data/.koppie/config/initializers/application_controller_renderer.rb +8 -0
  92. data/.koppie/config/initializers/assets.rb +14 -0
  93. data/.koppie/config/initializers/backtrace_silencers.rb +7 -0
  94. data/.koppie/config/initializers/clamav.rb +2 -0
  95. data/.koppie/config/initializers/content_security_policy.rb +25 -0
  96. data/.koppie/config/initializers/cookies_serializer.rb +5 -0
  97. data/.koppie/config/initializers/devise.rb +311 -0
  98. data/.koppie/config/initializers/file_services.rb +4 -0
  99. data/.koppie/config/initializers/filter_parameter_logging.rb +4 -0
  100. data/.koppie/config/initializers/hydra_config.rb +24 -0
  101. data/.koppie/config/initializers/hyrax.rb +333 -0
  102. data/.koppie/config/initializers/inflections.rb +16 -0
  103. data/.koppie/config/initializers/mailboxer.rb +22 -0
  104. data/.koppie/config/initializers/mime_types.rb +8 -0
  105. data/.koppie/config/initializers/mini_magick.rb +6 -0
  106. data/.koppie/config/initializers/redis_config.rb +4 -0
  107. data/.koppie/config/initializers/riiif.rb +29 -0
  108. data/.koppie/config/initializers/simple_form.rb +171 -0
  109. data/.koppie/config/initializers/simple_form_bootstrap.rb +151 -0
  110. data/.koppie/config/initializers/wrap_parameters.rb +14 -0
  111. data/.koppie/config/locales/blacklight.en.yml +3 -0
  112. data/.koppie/config/locales/devise.en.yml +65 -0
  113. data/.koppie/config/locales/en.yml +33 -0
  114. data/.koppie/config/locales/hyrax.de.yml +58 -0
  115. data/.koppie/config/locales/hyrax.en.yml +58 -0
  116. data/.koppie/config/locales/hyrax.es.yml +58 -0
  117. data/.koppie/config/locales/hyrax.fr.yml +58 -0
  118. data/.koppie/config/locales/hyrax.it.yml +58 -0
  119. data/.koppie/config/locales/hyrax.pt-BR.yml +58 -0
  120. data/.koppie/config/locales/hyrax.zh.yml +58 -0
  121. data/.koppie/config/metadata/collection_resource.yaml +149 -0
  122. data/.koppie/config/metadata/generic_work.yaml +22 -0
  123. data/.koppie/config/metadata/monograph.yaml +55 -0
  124. data/.koppie/config/puma.rb +37 -0
  125. data/.koppie/config/redis.yml +12 -0
  126. data/.koppie/config/role_map.yml +48 -0
  127. data/.koppie/config/routes.rb +36 -0
  128. data/.koppie/config/sidekiq.yml +15 -0
  129. data/.koppie/config/solr.yml +7 -0
  130. data/.koppie/config/spring.rb +6 -0
  131. data/.koppie/config/storage.yml +34 -0
  132. data/.koppie/config/tinymce.yml +13 -0
  133. data/.koppie/config/uv/uv-config.json +3 -0
  134. data/.koppie/config/uv/uv.html +87 -0
  135. data/.koppie/config/valkyrie_index.yml +12 -0
  136. data/.koppie/config/workflows/default_workflow.json +21 -0
  137. data/.koppie/config/workflows/mediated_deposit_workflow.json +76 -0
  138. data/.koppie/config.ru +5 -0
  139. data/.koppie/db/migrate/20210911143430_create_searches.blacklight.rb +17 -0
  140. data/.koppie/db/migrate/20210911143431_create_bookmarks.blacklight.rb +19 -0
  141. data/.koppie/db/migrate/20210911143432_add_polymorphic_type_to_bookmarks.blacklight.rb +9 -0
  142. data/.koppie/db/migrate/20210911143452_devise_create_users.rb +44 -0
  143. data/.koppie/db/migrate/20210911143456_add_devise_guests_to_users.rb +15 -0
  144. data/.koppie/db/migrate/20210911143532_create_version_committers.hyrax.rb +15 -0
  145. data/.koppie/db/migrate/20210911143533_create_checksum_audit_logs.hyrax.rb +19 -0
  146. data/.koppie/db/migrate/20210911143534_create_single_use_links.hyrax.rb +12 -0
  147. data/.koppie/db/migrate/20210911143535_add_social_to_users.hyrax.rb +13 -0
  148. data/.koppie/db/migrate/20210911143536_add_ldap_attrs_to_user.hyrax.rb +27 -0
  149. data/.koppie/db/migrate/20210911143537_add_avatars_to_users.hyrax.rb +15 -0
  150. data/.koppie/db/migrate/20210911143538_create_trophies.hyrax.rb +10 -0
  151. data/.koppie/db/migrate/20210911143539_add_linkedin_to_users.hyrax.rb +5 -0
  152. data/.koppie/db/migrate/20210911143540_create_tinymce_assets.hyrax.rb +8 -0
  153. data/.koppie/db/migrate/20210911143541_create_content_blocks.hyrax.rb +10 -0
  154. data/.koppie/db/migrate/20210911143542_create_featured_works.hyrax.rb +12 -0
  155. data/.koppie/db/migrate/20210911143543_add_external_key_to_content_blocks.hyrax.rb +6 -0
  156. data/.koppie/db/migrate/20210911143544_create_proxy_deposit_rights.hyrax.rb +10 -0
  157. data/.koppie/db/migrate/20210911143545_create_proxy_deposit_requests.hyrax.rb +15 -0
  158. data/.koppie/db/migrate/20210911143546_create_file_view_stats.hyrax.rb +12 -0
  159. data/.koppie/db/migrate/20210911143547_create_file_download_stats.hyrax.rb +12 -0
  160. data/.koppie/db/migrate/20210911143548_add_orcid_to_users.hyrax.rb +5 -0
  161. data/.koppie/db/migrate/20210911143549_create_user_stats.hyrax.rb +19 -0
  162. data/.koppie/db/migrate/20210911143550_create_work_view_stats.hyrax.rb +12 -0
  163. data/.koppie/db/migrate/20210911143551_add_works_to_user_stats.hyrax.rb +13 -0
  164. data/.koppie/db/migrate/20210911143552_change_trophy_generic_file_id_to_work_id.hyrax.rb +5 -0
  165. data/.koppie/db/migrate/20210911143553_change_proxy_deposit_generic_file_id_to_work_id.hyrax.rb +5 -0
  166. data/.koppie/db/migrate/20210911143554_change_audit_log_generic_file_id_to_file_set_id.hyrax.rb +5 -0
  167. data/.koppie/db/migrate/20210911143555_change_proxy_deposit_request_generic_file_id_to_work_id.hyrax.rb +5 -0
  168. data/.koppie/db/migrate/20210911143556_create_uploaded_files.hyrax.rb +10 -0
  169. data/.koppie/db/migrate/20210911143557_create_features.hyrax.rb +10 -0
  170. data/.koppie/db/migrate/20210911143558_create_operations.hyrax.rb +23 -0
  171. data/.koppie/db/migrate/20210911143559_change_featured_work_generic_file_id_to_work_id.hyrax.rb +6 -0
  172. data/.koppie/db/migrate/20210911143560_add_arkivo_to_users.hyrax.rb +8 -0
  173. data/.koppie/db/migrate/20210911143561_create_sipity.hyrax.rb +163 -0
  174. data/.koppie/db/migrate/20210911143562_create_sipity_workflow_methods.hyrax.rb +10 -0
  175. data/.koppie/db/migrate/20210911143563_create_permission_template.hyrax.rb +11 -0
  176. data/.koppie/db/migrate/20210911143564_create_permission_template_access.hyrax.rb +11 -0
  177. data/.koppie/db/migrate/20210911143565_add_release_to_permission_templates.hyrax.rb +6 -0
  178. data/.koppie/db/migrate/20210911143566_add_permission_template_to_sipity_workflow.hyrax.rb +26 -0
  179. data/.koppie/db/migrate/20210911143567_tidy_up_because_of_bad_exception.hyrax.rb +13 -0
  180. data/.koppie/db/migrate/20210911143568_add_allows_access_grant_to_workflow.hyrax.rb +5 -0
  181. data/.koppie/db/migrate/20210911143569_change_checksum_audit_log.hyrax.rb +18 -0
  182. data/.koppie/db/migrate/20210911143570_create_job_io_wrappers.hyrax.rb +15 -0
  183. data/.koppie/db/migrate/20210911143571_create_collection_types.hyrax.rb +17 -0
  184. data/.koppie/db/migrate/20210911143572_update_collection_type_column_names.hyrax.rb +9 -0
  185. data/.koppie/db/migrate/20210911143573_update_collection_type_column_options.hyrax.rb +17 -0
  186. data/.koppie/db/migrate/20210911143574_create_collection_branding_infos.hyrax.rb +15 -0
  187. data/.koppie/db/migrate/20210911143575_create_collection_type_participants.hyrax.rb +11 -0
  188. data/.koppie/db/migrate/20210911143576_rename_admin_set_id_to_source_id.hyrax.rb +5 -0
  189. data/.koppie/db/migrate/20210911143577_add_preferred_locale_to_users.hyrax.rb +5 -0
  190. data/.koppie/db/migrate/20210911143578_add_collection_type_sharing_options.hyrax.rb +5 -0
  191. data/.koppie/db/migrate/20210911143579_add_unique_constraint_to_permission_template_accesses.hyrax.rb +8 -0
  192. data/.koppie/db/migrate/20210911143580_add_branding_to_collection_type.hyrax.rb +5 -0
  193. data/.koppie/db/migrate/20210911143581_add_badge_color_to_collection_types.hyrax.rb +5 -0
  194. data/.koppie/db/migrate/20210911143582_update_single_use_links_column_names.hyrax.rb +6 -0
  195. data/.koppie/db/migrate/20210911143583_change_sipity_entity_specific_responsibility.hyrax.rb +9 -0
  196. data/.koppie/db/migrate/20210911143584_create_mailboxer.mailboxer_engine.rb +65 -0
  197. data/.koppie/db/migrate/20210911143585_add_conversation_optout.mailboxer_engine.rb +15 -0
  198. data/.koppie/db/migrate/20210911143586_add_missing_indices.mailboxer_engine.rb +20 -0
  199. data/.koppie/db/migrate/20210911143587_add_delivery_tracking_info_to_mailboxer_receipts.mailboxer_engine.rb +8 -0
  200. data/.koppie/db/migrate/20210911143588_create_qa_local_authorities.rb +10 -0
  201. data/.koppie/db/migrate/20210911143602_create_qa_local_authority_entries.rb +12 -0
  202. data/.koppie/db/migrate/20210911143623_create_minter_states.noid_rails_engine.rb +17 -0
  203. data/.koppie/db/migrate/20210911143624_rename_minter_state_random_to_rand.noid_rails_engine.rb +8 -0
  204. data/.koppie/db/migrate/20210921150120_enable_uuid_extension.valkyrie_engine.rb +7 -0
  205. data/.koppie/db/migrate/20210921150121_create_orm_resources.valkyrie_engine.rb +19 -0
  206. data/.koppie/db/migrate/20210921150122_add_model_type_to_orm_resources.valkyrie_engine.rb +7 -0
  207. data/.koppie/db/migrate/20210921150123_change_model_type_to_internal_model.valkyrie_engine.rb +7 -0
  208. data/.koppie/db/migrate/20210921150124_create_path_gin_index.valkyrie_engine.rb +7 -0
  209. data/.koppie/db/migrate/20210921150125_create_internal_resource_index.valkyrie_engine.rb +7 -0
  210. data/.koppie/db/migrate/20210921150126_create_updated_at_index.valkyrie_engine.rb +7 -0
  211. data/.koppie/db/migrate/20210921150127_add_optimistic_locking_to_orm_resources.valkyrie_engine.rb +7 -0
  212. data/.koppie/db/migrate/20211021161136_user_roles.rb +20 -0
  213. data/.koppie/db/migrate/20211207172259_create_default_administrative_set.hyrax.rb +8 -0
  214. data/.koppie/db/schema.rb +595 -0
  215. data/.koppie/db/seeds.rb +79 -0
  216. data/.koppie/lib/assets/.keep +0 -0
  217. data/.koppie/lib/tasks/.keep +0 -0
  218. data/.koppie/log/.keep +0 -0
  219. data/.koppie/package.json +15 -0
  220. data/.koppie/public/404.html +67 -0
  221. data/.koppie/public/422.html +67 -0
  222. data/.koppie/public/500.html +66 -0
  223. data/.koppie/public/apple-touch-icon-precomposed.png +0 -0
  224. data/.koppie/public/apple-touch-icon.png +0 -0
  225. data/.koppie/public/branding/.keep +0 -0
  226. data/.koppie/public/favicon.ico +0 -0
  227. data/.koppie/public/robots.txt +1 -0
  228. data/.koppie/scripts/db-migrate-seed.sh +9 -0
  229. data/.koppie/scripts/entrypoint.sh +10 -0
  230. data/.koppie/solr/conf/_rest_managed.json +3 -0
  231. data/.koppie/solr/conf/admin-extra.html +31 -0
  232. data/.koppie/solr/conf/elevate.xml +36 -0
  233. data/.koppie/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  234. data/.koppie/solr/conf/protwords.txt +21 -0
  235. data/.koppie/solr/conf/schema.xml +367 -0
  236. data/.koppie/solr/conf/scripts.conf +24 -0
  237. data/.koppie/solr/conf/solrconfig.xml +325 -0
  238. data/.koppie/solr/conf/spellings.txt +2 -0
  239. data/.koppie/solr/conf/stopwords.txt +58 -0
  240. data/.koppie/solr/conf/stopwords_en.txt +58 -0
  241. data/.koppie/solr/conf/synonyms.txt +31 -0
  242. data/.koppie/solr/conf/xslt/example.xsl +132 -0
  243. data/.koppie/solr/conf/xslt/example_atom.xsl +67 -0
  244. data/.koppie/solr/conf/xslt/example_rss.xsl +66 -0
  245. data/.koppie/solr/conf/xslt/luke.xsl +337 -0
  246. data/.koppie/solr/sample_solr_documents.yml +2692 -0
  247. data/.koppie/spec/forms/collection_resource_form_spec.rb +13 -0
  248. data/.koppie/spec/indexers/collection_resource_indexer_spec.rb +14 -0
  249. data/.koppie/spec/indexers/generic_work_indexer_spec.rb +13 -0
  250. data/.koppie/spec/indexers/monograph_indexer_spec.rb +13 -0
  251. data/.koppie/spec/models/collection_resource_spec.rb +13 -0
  252. data/.koppie/spec/models/collection_spec.rb +17 -0
  253. data/.koppie/spec/models/file_set_spec.rb +15 -0
  254. data/.koppie/spec/models/generic_work_spec.rb +13 -0
  255. data/.koppie/spec/models/monograph_spec.rb +13 -0
  256. data/.koppie/spec/models/qa/local_authority_entry_spec.rb +5 -0
  257. data/.koppie/spec/models/qa/local_authority_spec.rb +5 -0
  258. data/.koppie/spec/rails_helper.rb +47 -0
  259. data/.koppie/spec/spec_helper.rb +19 -0
  260. data/.koppie/spec/views/generic_works/_generic_work.html.erb_spec.rb +7 -0
  261. data/.koppie/spec/views/monographs/_monograph.html.erb_spec.rb +7 -0
  262. data/.koppie/storage/.keep +0 -0
  263. data/.koppie/vendor/.keep +0 -0
  264. data/.koppie/yarn.lock +1497 -0
  265. data/CONTAINERS.md +56 -12
  266. data/CONTRIBUTING.md +2 -2
  267. data/Dockerfile +29 -13
  268. data/README.md +24 -97
  269. data/app/actors/hyrax/actors/collections_membership_actor.rb +1 -2
  270. data/app/actors/hyrax/actors/create_with_files_actor.rb +1 -1
  271. data/app/actors/hyrax/actors/create_with_remote_files_actor.rb +2 -2
  272. data/app/actors/hyrax/actors/embargo_actor.rb +11 -4
  273. data/app/actors/hyrax/actors/lease_actor.rb +11 -4
  274. data/app/assets/javascripts/hyrax/app.js.erb +1 -1
  275. data/app/assets/javascripts/hyrax/permissions/control.es6 +8 -1
  276. data/app/assets/stylesheets/hyrax/_catalog.scss +4 -0
  277. data/app/assets/stylesheets/hyrax/_forms.scss +4 -0
  278. data/app/assets/stylesheets/hyrax/dashboard.scss +5 -62
  279. data/app/components/hyrax/dropdown_facet_field_component.html.erb +21 -0
  280. data/app/components/hyrax/dropdown_facet_field_component.rb +30 -0
  281. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +6 -9
  282. data/app/controllers/concerns/hyrax/controller.rb +1 -23
  283. data/app/controllers/concerns/hyrax/embargoes_controller_behavior.rb +11 -2
  284. data/app/controllers/concerns/hyrax/leases_controller_behavior.rb +11 -2
  285. data/app/controllers/concerns/hyrax/manages_embargoes.rb +13 -1
  286. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +5 -2
  287. data/app/controllers/hyrax/dashboard/collection_members_controller.rb +0 -1
  288. data/app/controllers/hyrax/dashboard/collections_controller.rb +5 -8
  289. data/app/controllers/hyrax/downloads_controller.rb +16 -1
  290. data/app/controllers/hyrax/file_sets_controller.rb +10 -2
  291. data/app/controllers/hyrax/my/collections_controller.rb +1 -0
  292. data/app/controllers/hyrax/my/works_controller.rb +4 -2
  293. data/app/controllers/hyrax/permissions_controller.rb +1 -1
  294. data/app/controllers/hyrax/transfers_controller.rb +4 -3
  295. data/app/controllers/hyrax/workflow_actions_controller.rb +3 -2
  296. data/app/forms/hyrax/forms/batch_upload_form.rb +1 -1
  297. data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +4 -18
  298. data/app/forms/hyrax/forms/embargo.rb +13 -0
  299. data/app/forms/hyrax/forms/file_set_edit_form.rb +1 -1
  300. data/app/forms/hyrax/forms/file_set_form.rb +8 -35
  301. data/app/forms/hyrax/forms/lease.rb +13 -0
  302. data/app/forms/hyrax/forms/pcdm_object_form.rb +46 -0
  303. data/app/forms/hyrax/forms/resource_form.rb +36 -32
  304. data/app/forms/hyrax/forms/work_embargo_form.rb +35 -0
  305. data/app/forms/hyrax/forms/work_form.rb +2 -2
  306. data/app/forms/hyrax/forms/work_lease_form.rb +35 -0
  307. data/app/helpers/hyrax/collections_helper.rb +4 -32
  308. data/app/helpers/hyrax/embargo_helper.rb +11 -0
  309. data/app/helpers/hyrax/facets_helper.rb +0 -140
  310. data/app/helpers/hyrax/hyrax_helper_behavior.rb +16 -1
  311. data/app/helpers/hyrax/lease_helper.rb +11 -0
  312. data/app/helpers/hyrax/work_form_helper.rb +107 -0
  313. data/app/indexers/hyrax/deep_indexing_service.rb +2 -2
  314. data/app/indexers/hyrax/pcdm_collection_indexer.rb +1 -0
  315. data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +2 -8
  316. data/app/indexers/hyrax/valkyrie_work_indexer.rb +21 -0
  317. data/app/jobs/characterize_job.rb +9 -4
  318. data/app/jobs/import_url_job.rb +2 -2
  319. data/app/jobs/valkyrie_create_derivatives_job.rb +0 -2
  320. data/app/models/admin_set.rb +8 -0
  321. data/app/models/concerns/hyrax/ability.rb +3 -3
  322. data/app/models/concerns/hyrax/collection_behavior.rb +3 -48
  323. data/app/models/concerns/hyrax/file_set_behavior.rb +1 -0
  324. data/app/models/concerns/hyrax/naming.rb +1 -1
  325. data/app/models/concerns/hyrax/solr_document/metadata.rb +1 -0
  326. data/app/models/concerns/hyrax/suppressible.rb +0 -8
  327. data/app/models/concerns/hyrax/work_behavior.rb +0 -1
  328. data/app/models/file_download_stat.rb +5 -5
  329. data/app/models/hyrax/collection_type.rb +9 -17
  330. data/app/models/hyrax/embargo.rb +1 -1
  331. data/app/models/hyrax/file_metadata.rb +5 -12
  332. data/app/models/hyrax/file_set.rb +3 -11
  333. data/app/models/hyrax/lease.rb +1 -1
  334. data/app/models/hyrax/statistic.rb +5 -5
  335. data/app/models/hyrax/work.rb +2 -2
  336. data/app/models/proxy_deposit_request.rb +1 -1
  337. data/app/models/sipity.rb +35 -14
  338. data/app/presenters/hyrax/admin_set_presenter.rb +5 -0
  339. data/app/presenters/hyrax/collection_presenter.rb +1 -1
  340. data/app/presenters/hyrax/displays_image.rb +1 -1
  341. data/app/presenters/hyrax/iiif_manifest_presenter.rb +14 -4
  342. data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +1 -1
  343. data/app/presenters/hyrax/permission_badge.rb +3 -2
  344. data/app/presenters/hyrax/presenter_renderer.rb +1 -1
  345. data/app/presenters/hyrax/presents_attributes.rb +1 -1
  346. data/app/presenters/hyrax/version_list_presenter.rb +6 -1
  347. data/app/presenters/hyrax/work_show_presenter.rb +4 -1
  348. data/app/presenters/hyrax/workflow_presenter.rb +1 -1
  349. data/app/search_builders/hyrax/collection_search_builder.rb +1 -0
  350. data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +7 -67
  351. data/app/search_builders/hyrax/filter_suppressed_with_roles.rb +1 -1
  352. data/app/services/hyrax/admin_set_create_service.rb +2 -2
  353. data/app/services/hyrax/admin_set_service.rb +1 -1
  354. data/app/services/hyrax/analytics/google.rb +1 -1
  355. data/app/services/hyrax/analytics/matomo.rb +1 -1
  356. data/app/services/hyrax/collection_member_service.rb +2 -0
  357. data/app/services/hyrax/collection_types/create_service.rb +1 -1
  358. data/app/services/hyrax/collections/migration_service.rb +8 -8
  359. data/app/services/hyrax/collections/nested_collection_query_service.rb +3 -113
  360. data/app/services/hyrax/database_migrator.rb +1 -1
  361. data/app/services/hyrax/derivative_service.rb +37 -4
  362. data/app/services/hyrax/edit_permissions_service.rb +22 -17
  363. data/app/services/hyrax/embargo_manager.rb +9 -0
  364. data/app/services/hyrax/embargo_service.rb +4 -0
  365. data/app/services/hyrax/file_set_file_service.rb +55 -0
  366. data/app/services/hyrax/lease_manager.rb +9 -0
  367. data/app/services/hyrax/lease_service.rb +4 -0
  368. data/app/services/hyrax/listeners/file_metadata_listener.rb +11 -0
  369. data/app/services/hyrax/listeners/workflow_listener.rb +2 -2
  370. data/app/services/hyrax/local_file_service.rb +3 -1
  371. data/app/services/hyrax/restriction_service.rb +1 -1
  372. data/app/services/hyrax/solr_query_service.rb +10 -2
  373. data/app/services/hyrax/solr_service.rb +22 -16
  374. data/app/services/hyrax/statistics/depositors/summary.rb +1 -1
  375. data/app/services/hyrax/statistics/term_query.rb +1 -1
  376. data/app/services/hyrax/thumbnail_path_service.rb +11 -3
  377. data/app/services/hyrax/user_stat_importer.rb +4 -2
  378. data/app/services/hyrax/valkyrie_persist_derivatives.rb +26 -15
  379. data/app/services/hyrax/valkyrie_upload.rb +24 -31
  380. data/app/services/hyrax/versioning_service.rb +78 -10
  381. data/app/services/hyrax/visibility_map.rb +10 -2
  382. data/app/services/hyrax/visibility_propagator.rb +5 -5
  383. data/app/services/hyrax/work_resource_query_service.rb +45 -0
  384. data/app/services/hyrax/workflow/action_taken_service.rb +4 -4
  385. data/app/services/hyrax/workflow/notification_service.rb +2 -2
  386. data/app/services/hyrax/workflow/status_list_service.rb +1 -1
  387. data/app/services/hyrax/workflow/workflow_importer.rb +2 -2
  388. data/app/services/hyrax/working_directory.rb +3 -3
  389. data/app/services/hyrax/works/migration_service.rb +3 -3
  390. data/app/utils/hyrax/test_data_seeders/user_seeder.rb +3 -2
  391. data/app/validators/hyrax/collection_membership_validator.rb +2 -2
  392. data/app/views/hyrax/admin/analytics/work_reports/show.html.erb +6 -6
  393. data/app/views/hyrax/base/_attribute_rows.html.erb +2 -0
  394. data/app/views/hyrax/base/_form_collections_error.html.erb +1 -1
  395. data/app/views/hyrax/base/_form_in_works_error.html.erb +1 -1
  396. data/app/views/hyrax/base/_form_ordered_members_error.html.erb +1 -1
  397. data/app/views/hyrax/base/_form_progress.html.erb +1 -1
  398. data/app/views/hyrax/base/_form_visibility_component.html.erb +5 -1
  399. data/app/views/hyrax/base/_form_visibility_error.html.erb +19 -5
  400. data/app/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb +1 -1
  401. data/app/views/hyrax/embargoes/edit.html.erb +4 -4
  402. data/app/views/hyrax/file_sets/_permission.html.erb +1 -1
  403. data/app/views/hyrax/file_sets/_permission_form.html.erb +1 -6
  404. data/app/views/hyrax/file_sets/edit.html.erb +2 -2
  405. data/app/views/hyrax/file_sets/media_display/_audio.html.erb +1 -1
  406. data/app/views/hyrax/file_sets/media_display/_default.html.erb +1 -1
  407. data/app/views/hyrax/file_sets/media_display/_image.html.erb +1 -1
  408. data/app/views/hyrax/file_sets/media_display/_office_document.html.erb +1 -1
  409. data/app/views/hyrax/file_sets/media_display/_pdf.html.erb +1 -1
  410. data/app/views/hyrax/file_sets/media_display/_video.html.erb +1 -1
  411. data/app/views/hyrax/leases/edit.html.erb +3 -3
  412. data/app/views/hyrax/my/collections/_facets.html.erb +7 -5
  413. data/app/views/hyrax/my/works/_facets.html.erb +6 -2
  414. data/app/views/hyrax/transfers/_received.html.erb +1 -1
  415. data/app/views/hyrax/transfers/_sent.html.erb +1 -1
  416. data/app/views/hyrax/transfers/new.html.erb +1 -1
  417. data/app/views/hyrax/uploads/_js_templates.html.erb +8 -8
  418. data/app/views/hyrax/uploads/_js_templates_branding.html.erb +2 -2
  419. data/app/views/hyrax/users/_vitals.html.erb +4 -4
  420. data/chart/hyrax/Chart.yaml +7 -7
  421. data/chart/hyrax/README.md +5 -0
  422. data/chart/hyrax/templates/_helpers.tpl +19 -7
  423. data/chart/hyrax/templates/configmap-env.yaml +1 -1
  424. data/chart/hyrax/templates/cron-embargo.yaml +1 -1
  425. data/chart/hyrax/templates/cron-lease.yaml +1 -1
  426. data/chart/hyrax/templates/deployment-worker.yaml +2 -2
  427. data/chart/hyrax/templates/extra-list.yaml +8 -0
  428. data/chart/hyrax/templates/secrets.yaml +3 -3
  429. data/chart/hyrax/values.yaml +23 -15
  430. data/config/features.rb +1 -1
  431. data/config/initializers/reform_rails_6_1_monkey_patch.rb +27 -0
  432. data/config/locales/hyrax.de.yml +9 -8
  433. data/config/locales/hyrax.en.yml +3 -0
  434. data/config/locales/hyrax.es.yml +8 -7
  435. data/config/locales/hyrax.fr.yml +10 -9
  436. data/config/locales/hyrax.it.yml +8 -7
  437. data/config/locales/hyrax.pt-BR.yml +8 -7
  438. data/config/locales/hyrax.zh.yml +9 -8
  439. data/config/metadata/basic_metadata.yaml +2 -0
  440. data/config/metadata/file_set_metadata.yaml +130 -0
  441. data/docker-compose-koppie.yml +163 -0
  442. data/docker-compose.yml +0 -3
  443. data/documentation/MAINTENANCE.md +77 -0
  444. data/documentation/developing-your-hyrax-based-app.md +2 -2
  445. data/documentation/legacyREADME.md +3 -3
  446. data/hyrax.gemspec +9 -8
  447. data/lib/generators/hyrax/install_generator.rb +4 -4
  448. data/lib/generators/hyrax/templates/catalog_controller.rb +1 -3
  449. data/lib/generators/hyrax/templates/config/initializers/hyrax.rb +8 -1
  450. data/lib/generators/hyrax/templates/config/initializers/riiif.rb +1 -1
  451. data/lib/hyrax/active_fedora_dummy_model.rb +13 -0
  452. data/lib/hyrax/configuration.rb +30 -15
  453. data/lib/hyrax/controlled_vocabulary/importer/language.rb +1 -1
  454. data/lib/hyrax/engine.rb +6 -3
  455. data/lib/hyrax/errors.rb +2 -0
  456. data/lib/hyrax/publisher.rb +4 -0
  457. data/lib/hyrax/search_state.rb +9 -0
  458. data/lib/hyrax/specs/capybara.rb +2 -2
  459. data/lib/hyrax/specs/shared_specs/factories/strategies/json_strategy.rb +4 -0
  460. data/lib/hyrax/specs/shared_specs/factories/strategies/valkyrie_resource.rb +10 -0
  461. data/lib/hyrax/specs/shared_specs/indexers.rb +5 -0
  462. data/lib/hyrax/transactions/container.rb +0 -2
  463. data/lib/hyrax/transactions/steps/remove_file_set_from_work.rb +29 -3
  464. data/lib/hyrax/transactions/steps/save_access_control.rb +17 -1
  465. data/lib/hyrax/transactions/steps/save_collection_banner.rb +1 -1
  466. data/lib/hyrax/transactions/steps/save_collection_logo.rb +1 -1
  467. data/lib/hyrax/version.rb +1 -1
  468. data/lib/hyrax.rb +1 -1
  469. data/lib/tasks/migrate.rake +5 -1
  470. data/lib/valkyrie/indexing/solr/indexing_adapter.rb +1 -1
  471. data/lib/wings/active_fedora_converter/file_metadata_node.rb +1 -1
  472. data/lib/wings/valkyrie/storage.rb +6 -2
  473. data/samvera-fall-TM3.svg +376 -0
  474. data/tasks/benchmark.rake +1 -1
  475. data/tasks/hyrax_dev.rake +0 -32
  476. data/template.rb +1 -1
  477. metadata +326 -65
  478. data/app/conversions/power_converters/polymorphic_type.rb +0 -9
  479. data/app/conversions/power_converters/sipity_action.rb +0 -11
  480. data/app/conversions/power_converters/sipity_action_name.rb +0 -10
  481. data/app/conversions/power_converters/sipity_agent.rb +0 -9
  482. data/app/conversions/power_converters/sipity_entity.rb +0 -14
  483. data/app/conversions/power_converters/sipity_role.rb +0 -10
  484. data/app/conversions/power_converters/sipity_workflow_id.rb +0 -17
  485. data/app/conversions/power_converters/sipity_workflow_state.rb +0 -13
  486. data/app/conversions/power_converters.rb +0 -7
  487. data/app/indexers/hyrax/repository_reindexer.rb +0 -19
  488. data/app/models/concerns/hyrax/collection_nesting.rb +0 -73
  489. data/app/services/hyrax/adapters/nesting_index_adapter.rb +0 -193
  490. data/app/views/hyrax/my/_facet_layout.html.erb +0 -7
  491. data/app/views/hyrax/my/_facet_limit.html.erb +0 -15
  492. data/app/views/hyrax/my/_facet_pivot.html.erb +0 -26
  493. data/config/initializers/nesting_indexer_initializer.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0217d84335b2d3a3a1ed7729493eec75e67e5a2563034c9b1b4b3e025eb30520
4
- data.tar.gz: 509e3aaf3d67a086d2361baa09de56a75d063f3df63c7b2b955027d6fd1fcbd7
3
+ metadata.gz: a40b509766f1add062da64ebfa925e2f005b37f3b8ba98cf47869b126e5c5edb
4
+ data.tar.gz: f8d8d154e6c12ba940ea317042ded3bddbbc8c5b3b4ba70df2edcb35715c3aca
5
5
  SHA512:
6
- metadata.gz: 95237e304352c8a36f8fc16994e192f8b305c12d4df7dc12c20de05072932a5516d4598a4facd58f42262d1e1a85aae9a50a21e174e32f9dbc613ac2c90c7177
7
- data.tar.gz: 42f9ff962f2920a60f78e342cc01114ab9dfe653d5f5ec8cf743816edb5da3d71bad71e553239a67e8e017c0faf4317c004564b6f60653f40697275ba4fc1994
6
+ metadata.gz: b07a5c4beb95e72e33ebcdb6cd7c68837077760de21f73ff8a216c9a51eef7b32ca8c2331a3cfc54e17aae8964fa2c5cbd5981de052c822502141bc7ad3ee513
7
+ data.tar.gz: cae0fc1b05c720927879e2c076e3ce9eac3fa623e44012f227ef43814028b95cfd7605c14f87e459d26259f9d3996c15848c25130ad128ca82c3a13a9298f237
data/.circleci/config.yml CHANGED
@@ -2,22 +2,25 @@ version: 2.1
2
2
  orbs:
3
3
  samvera: samvera/circleci-orb@1
4
4
  browser-tools: circleci/browser-tools@1.3
5
+ ruby: circleci/ruby@2
6
+ node: circleci/node@5
7
+
5
8
  jobs:
6
9
  bundle:
7
10
  parameters:
8
11
  ruby_version:
9
12
  type: string
10
- default: 2.7.6
13
+ default: 2.7.7
11
14
  bundler_version:
12
15
  type: string
13
- default: 2.3.13
16
+ default: 2.4.8
14
17
  rails_version:
15
18
  type: string
16
- default: 6.0.5
19
+ default: 6.1.7.2
17
20
  executor:
18
21
  name: 'samvera/ruby'
19
22
  ruby_version: << parameters.ruby_version >>
20
- resource_class: medium+
23
+ resource_class: medium
21
24
  environment:
22
25
  RAILS_VERSION: << parameters.rails_version >>
23
26
  NOKOGIRI_USE_SYSTEM_LIBRARIES: true
@@ -44,8 +47,8 @@ jobs:
44
47
  - restore_cache:
45
48
  name: Restore rubocop cache
46
49
  keys:
47
- - v1-ruby<< parameters.ruby_version >>-bundle{{ checksum "Gemfile.lock" }}
48
- - v1-ruby<< parameters.ruby_version >>
50
+ - v1-rubocop-ruby<< parameters.ruby_version >>-bundle{{ checksum "Gemfile.lock" }}
51
+ - v1-rubocop-ruby<< parameters.ruby_version >>
49
52
  - v1
50
53
 
51
54
  - run:
@@ -54,9 +57,9 @@ jobs:
54
57
 
55
58
  - save_cache:
56
59
  name: Save rubocop cache
57
- key: v1-ruby<< parameters.ruby_version >>-bundle{{ checksum "Gemfile.lock" }}
60
+ key: v1-rubocop-ruby<< parameters.ruby_version >>-bundle{{ checksum "Gemfile.lock" }}
58
61
  paths:
59
- - ~/.cache
62
+ - ~/.cache/rubocop_cache
60
63
 
61
64
  - persist_to_workspace:
62
65
  root: ~/
@@ -68,17 +71,17 @@ jobs:
68
71
  parameters:
69
72
  ruby_version:
70
73
  type: string
71
- default: 2.7.6
74
+ default: 2.7.7
72
75
  bundler_version:
73
76
  type: string
74
- default: 2.3.13
77
+ default: 2.4.8
75
78
  rails_version:
76
79
  type: string
77
- default: 6.0.5
80
+ default: 6.1.7.2
78
81
  executor:
79
82
  name: 'samvera/ruby_fcrepo_solr_redis_postgres'
80
83
  ruby_version: << parameters.ruby_version >>
81
- resource_class: medium+
84
+ resource_class: medium
82
85
  environment:
83
86
  RAILS_VERSION: << parameters.rails_version >>
84
87
  NOKOGIRI_USE_SYSTEM_LIBRARIES: true
@@ -92,6 +95,15 @@ jobs:
92
95
  - samvera/bundle:
93
96
  ruby_version: << parameters.ruby_version >>
94
97
  bundler_version: << parameters.bundler_version >>
98
+ - run:
99
+ name: Generate .internal_test_app/Gemfile.lock
100
+ command: bundle lock
101
+ working_directory: .internal_test_app
102
+ - ruby/install-deps:
103
+ app-dir: .internal_test_app
104
+ - node/install-packages:
105
+ pkg-manager: yarn
106
+ app-dir: .internal_test_app
95
107
  - persist_to_workspace:
96
108
  root: ~/
97
109
  paths:
@@ -102,10 +114,10 @@ jobs:
102
114
  parameters:
103
115
  ruby_version:
104
116
  type: string
105
- default: 2.7.6
117
+ default: 2.7.7
106
118
  bundler_version:
107
119
  type: string
108
- default: 2.3.13
120
+ default: 2.4.8
109
121
  hyrax_valkyrie:
110
122
  type: string
111
123
  default: "false"
@@ -120,6 +132,7 @@ jobs:
120
132
  DATABASE_URL: postgresql://postgres@127.0.0.1/circle_test # Hard-coded with data from CircleCI orb, related to https://github.com/samvera-labs/samvera-circleci-orb/issues/42
121
133
  KARMA_BROWSER: ChromeHeadlessCustom
122
134
  RAILS_ROOT: .internal_test_app
135
+ SPEC_OPTS: "" # Clear output conflicts between samvera orb executor and ruby orb rspec command
123
136
  steps:
124
137
  - attach_workspace:
125
138
  at: ~/
@@ -127,17 +140,25 @@ jobs:
127
140
  name: Install system dependencies
128
141
  command: |
129
142
  sudo apt-get update
130
- sudo apt-get install imagemagick librsvg2-bin
143
+ sudo apt-get install imagemagick librsvg2-bin lsof
131
144
  - browser-tools/install-chrome
132
145
  - browser-tools/install-chromedriver
133
146
  - run:
147
+ name: Check Chrome install
134
148
  command: |
135
149
  google-chrome --version
136
150
  chromedriver --version
137
- name: Check Chrome install
151
+ - restore_cache:
152
+ keys:
153
+ - engine-node-v1-{{ checksum "package.json" }}
154
+ # Call yarn directly for hyrax engine; node orb demands a lockfile to use caching
138
155
  - run:
139
- name: Yarn install
156
+ name: Yarn Install (engine)
140
157
  command: yarn install
158
+ - save_cache:
159
+ key: engine-node-v1-{{ checksum "package.json" }}
160
+ paths:
161
+ - node_modules
141
162
  - samvera/install_solr_core:
142
163
  solr_config_path: .internal_test_app/solr/conf
143
164
  - samvera/install_solr_core:
@@ -147,56 +168,47 @@ jobs:
147
168
  - samvera/bundle:
148
169
  ruby_version: << parameters.ruby_version >>
149
170
  bundler_version: << parameters.bundler_version >>
171
+ # Ensure gems needed by the test app are installed
172
+ - ruby/install-deps:
173
+ app-dir: .internal_test_app
174
+ - node/install-packages:
175
+ pkg-manager: yarn
176
+ app-dir: .internal_test_app
150
177
  - run:
151
- command: bundle exec rake app:db:migrate
152
- - samvera/parallel_rspec
178
+ command: bundle exec rake db:migrate
179
+ working_directory: .internal_test_app
180
+ - ruby/rspec-test
181
+ - store_artifacts:
182
+ path: Gemfile.lock
183
+ destination: engine-gemfile-lock
184
+ - store_artifacts:
185
+ path: .internal_test_app/Gemfile.lock
186
+ destination: webapp-gemfile-lock
153
187
 
154
- # Trigger a workflow on the nurax repository that will deploy the most recent hyrax gem code to https://nurax-dev.curationexperts.com/
155
- deploy:
156
- docker:
157
- - image: ubuntu
158
- steps:
159
- - run:
160
- name: Install curl
161
- command: apt-get update && apt-get install -y curl
162
- - run:
163
- name: "Trigger Nurax deploy"
164
- command: |
165
- curl -X POST https://circleci.com/api/v2/project/gh/curationexperts/nurax/pipeline \
166
- --header "Circle-Token: $NURAX_CIRCLECI_TOKEN" \
167
- --header 'Accept: text/plain' \
168
- --header 'Content-Type: application/json'
169
188
  workflows:
170
189
  version: 2
171
- ruby2-7-6:
190
+ ruby2-7:
172
191
  jobs:
173
192
  - bundle:
174
- ruby_version: "2.7.6"
175
- rails_version: "6.0.5"
176
- bundler_version: "2.3.13"
193
+ ruby_version: "2.7.7"
194
+ rails_version: "6.1.7.2"
195
+ bundler_version: "2.4.8"
177
196
  - build:
178
- ruby_version: "2.7.6"
179
- rails_version: "6.0.5"
180
- bundler_version: "2.3.13"
197
+ ruby_version: "2.7.7"
198
+ rails_version: "6.1.7.2"
199
+ bundler_version: "2.4.8"
181
200
  requires:
182
201
  - bundle
183
202
  - test:
184
- name: "ruby2-7-6"
185
- ruby_version: "2.7.6"
186
- bundler_version: "2.3.13"
203
+ name: "ruby2-7"
204
+ ruby_version: "2.7.7"
205
+ bundler_version: "2.4.8"
187
206
  requires:
188
207
  - build
189
208
  - test:
190
- name: "ruby2-7-6-valkyrie"
191
- ruby_version: "2.7.6"
192
- bundler_version: "2.3.13"
209
+ name: "ruby2-7-valkyrie"
210
+ ruby_version: "2.7.7"
211
+ bundler_version: "2.4.8"
193
212
  hyrax_valkyrie: "true"
194
213
  requires:
195
214
  - build
196
- nurax-dev_deploy:
197
- jobs:
198
- - deploy:
199
- filters:
200
- branches:
201
- only:
202
- - main
data/.dassie/.env CHANGED
@@ -1,4 +1,33 @@
1
+ ANALYTICS_START_DATE=2021-08-21
2
+ CHROME_HEADLESS_MODE=false
3
+ DATABASE_CLEANER_ALLOW_REMOTE_DATABASE_URL=true
4
+ DATABASE_TEST_URL=postgresql://hyrax_user:hyrax_password@postgres/hyrax_test?pool=5
5
+ DATABASE_URL=postgresql://hyrax_user:hyrax_password@postgres/hyrax?pool=5
6
+ DB_HOST=postgres
7
+ DB_PORT=5432
8
+ FCREPO_HOST=fcrepo
9
+ FCREPO_PORT=8080
10
+ FCREPO_REST_PATH=rest
11
+ FCREPO_TEST_BASE_PATH=/test
12
+ HUB_URL=http://chrome:4444/wd/hub
13
+ HYRAX_ANALYTICS=false
14
+ HYRAX_ANALYTICS_PROVIDER=google
15
+ HYRAX_DERIVATIVES_PATH=/app/samvera/hyrax-webapp/derivatives/
16
+ HYRAX_ENGINE_PATH=/app/samvera/hyrax-engine
17
+ HYRAX_UPLOAD_PATH=/app/samvera/hyrax-webapp/uploads/
18
+ IN_DOCKER=true
19
+ KARMA_BROWSER=ChromiumHeadlessCustom
1
20
  MEMCACHED_HOST=memcached
21
+ RACK_ENV=development
22
+ RAILS_ENV=development
23
+ RAILS_ROOT=.dassie
24
+ REDIS_HOST=redis
2
25
  REDIS_PROVIDER=SIDEKIQ_REDIS_URL
3
26
  SEED_DASSIE=true
4
27
  SIDEKIQ_REDIS_URL=redis://redis:6379/0
28
+ SOLR_HOST=solr
29
+ SOLR_PORT=8983
30
+ SOLR_TEST_URL=http://solr:8983/solr/hyrax_test
31
+ SOLR_URL=http://solr:8983/solr/hyrax
32
+ VALKYRIE_SOLR_HOST=solr
33
+ VALKYRIE_SOLR_PORT=8983
data/.dassie/Gemfile CHANGED
@@ -8,7 +8,7 @@ else
8
8
  end
9
9
  git_source(:github) { |repo| "https://github.com/#{repo}.git" }
10
10
 
11
- ruby '2.7.6'
11
+ ruby '2.7.7'
12
12
 
13
13
  # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
14
14
  gem 'rails', '~> 6.0'
@@ -25,7 +25,7 @@ class CatalogController < ApplicationController
25
25
 
26
26
  # Because too many times on Samvera tech people raise a problem regarding a failed query to SOLR.
27
27
  # Often, it's because they inadvertently exceeded the character limit of a GET request.
28
- config.http_method = :post
28
+ config.http_method = Hyrax.config.solr_default_method
29
29
 
30
30
  ## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
31
31
  config.default_solr_params = {
@@ -46,6 +46,10 @@ Hyrax.config do |config|
46
46
  # Set the system-wide virus scanner
47
47
  config.virus_scanner = Hyrax::VirusScanner
48
48
 
49
+ # The default method used for Solr queries. Values are :get or :post.
50
+ # Post is suggested to prevent issues with URL length.
51
+ config.solr_default_method = :post
52
+
49
53
  ##
50
54
  # To index to the Valkyrie core, uncomment the following lines.
51
55
  # config.query_index_from_valkyrie = true
data/.github/SUPPORT.md CHANGED
@@ -1,10 +1,9 @@
1
1
  # Getting Help
2
2
 
3
- If you have questions or need help, please email [the Samvera community tech list](mailto:samvera-tech@googlegroups.com) or stop by the #dev channel in [the Samvera community Slack team](https://wiki.lyrasis.org/pages/viewpage.action?pageId=87460391#Getintouch!-Slack).
3
+ If you have questions or need help, please email [the Samvera community tech list](mailto:samvera-tech@googlegroups.com) or stop by the #dev channel in [the Samvera Community Slack Workspace](https://samvera.atlassian.net/wiki/spaces/samvera/pages/405211682/Getting+Started+in+the+Samvera+Community#Join-the-Samvera-Slack-workspace).
4
4
 
5
5
  The [Hyrax wiki](https://github.com/samvera/hyrax/wiki) gathers documentation as the community tries things and learns what works. There is useful knowledge and history there but please keep in mind that this information can age quickly. Refer to the [README.md](./README.md) for the best updated guidance we have to offer.
6
6
 
7
- You can also look in the [Samvera Community Knowledge Base](https://samvera.github.io) for help with Hyrax or other Samvera Community questions.
8
7
 
9
8
  ## Reporting Issues
10
9
 
@@ -12,4 +11,4 @@ If you would like to report an issue with Hyrax, first do search [the list of is
12
11
 
13
12
  ## Reporting Security Issues
14
13
 
15
- To report a security vulnerability, email [samvera-steering@googlegroups.com](mailto:samvera-steering@googlegroups.com) and the Steering Group will coordinate the community response. In your message, please document to the best of your ability cases (relevant software versions, conditions, etc.) where the vulnerability is applicable, the potential negative effects, and any known workarounds or fixes to mitigate the risk. Steering will communicate this to the Partners and the rest of the community in a timely fashion.
14
+ To report a security vulnerability, email [the Samvera Board](mailto:board@samvera.org) and the they will coordinate the community response. In your message, please document to the best of your ability cases (relevant software versions, conditions, etc.) where the vulnerability is applicable, the potential negative effects, and any known workarounds or fixes to mitigate the risk. The Board will communicate this to the Partners and the rest of the community in a timely fashion.
@@ -0,0 +1,79 @@
1
+ name: Build and push docker image
2
+ on:
3
+ workflow_dispatch:
4
+ release:
5
+ push:
6
+ branches:
7
+ - build_images_on_release
8
+
9
+ env:
10
+ REGISTRY: ghcr.io
11
+
12
+ jobs:
13
+ build:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - name: Set env
17
+ run: echo "TAG=${GITHUB_SHA::8}" >> $GITHUB_ENV
18
+ - name: Downcase repo
19
+ run: echo "REPO_LOWER=${REPO,,}" >> $GITHUB_ENV
20
+ env:
21
+ REPO: '${{ github.repository }}'
22
+ - name: Checkout code
23
+ uses: actions/checkout@v3
24
+ - name: Set up QEMU
25
+ uses: docker/setup-qemu-action@v2
26
+ - name: Set up Docker Buildx
27
+ uses: docker/setup-buildx-action@v2
28
+ - name: Github Container Login
29
+ uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
30
+ with:
31
+ registry: ${{ env.REGISTRY }}
32
+ username: ${{ github.actor }}
33
+ password: ${{ secrets.GITHUB_TOKEN }}
34
+ - name: Build and push
35
+ uses: docker/build-push-action@v3
36
+ with:
37
+ context: .
38
+ platforms: linux/amd64,linux/arm64
39
+ target: hyrax-base
40
+ push: true
41
+ tags: |
42
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/hyrax-base:${{ env.TAG }}
43
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/hyrax-base:${{ github.ref_name }}
44
+ - name: Build and push worker
45
+ uses: docker/build-push-action@v3
46
+ with:
47
+ context: .
48
+ platforms: linux/amd64,linux/arm64
49
+ target: hyrax-worker-base
50
+ cache-from: |
51
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}:${TAG}
52
+ push: true
53
+ tags: |
54
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/hyrax-worker-base:${{ env.TAG }}
55
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/hyrax-worker-base:${{ github.ref_name }}
56
+ - name: Build and push dassie
57
+ uses: docker/build-push-action@v3
58
+ with:
59
+ context: .
60
+ platforms: linux/amd64,linux/arm64
61
+ target: hyrax-engine-dev
62
+ cache-from: |
63
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}:${TAG}
64
+ push: true
65
+ tags: |
66
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/dassie:${{ env.TAG }}
67
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/dassie:${{ github.ref_name }}
68
+ - name: Build and push dassie worker
69
+ uses: docker/build-push-action@v3
70
+ with:
71
+ context: .
72
+ platforms: linux/amd64,linux/arm64
73
+ target: hyrax-engine-dev-worker
74
+ cache-from: |
75
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/dassie:${TAG}
76
+ push: true
77
+ tags: |
78
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/dassie-worker:${{ env.TAG }}
79
+ ${{ env.REGISTRY }}/${{ env.REPO_LOWER }}/dassie-worker:${{ github.ref_name }}
@@ -2,16 +2,16 @@ name: Trigger Nurax build
2
2
  on:
3
3
  workflow_dispatch:
4
4
  push:
5
+ branches:
6
+ - 'main'
5
7
 
6
8
  jobs:
7
9
  trigger:
8
10
  runs-on: ubuntu-latest
9
11
  steps:
10
- - uses: peter-evans/repository-dispatch@v1
12
+ - uses: peter-evans/repository-dispatch@v2.1.1
11
13
  with:
12
14
  token: ${{ secrets.NURAX_ACCESS_TOKEN }}
13
15
  event-type: push
14
- repository: curationexperts/nurax
16
+ repository: samvera-labs/nurax
15
17
  client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
16
-
17
-
@@ -2,16 +2,22 @@ name: Trigger Nurax build
2
2
  on:
3
3
  workflow_dispatch:
4
4
  release:
5
+ types: [released]
5
6
 
6
7
  jobs:
7
8
  trigger:
8
9
  runs-on: ubuntu-latest
9
10
  steps:
10
- - uses: peter-evans/repository-dispatch@v1
11
+ - id: latest-release
12
+ uses: pozetroninc/github-action-get-latest-release@v0.7.0
13
+ with:
14
+ repository: ${{ github.repository }}
15
+ token: ${{ github.token }}
16
+ excludes: prerelease, draft
17
+ - uses: peter-evans/repository-dispatch@v2.1.1
18
+ if: ${{ steps.latest-release.outputs.release == github.ref_name }}
11
19
  with:
12
20
  token: ${{ secrets.NURAX_ACCESS_TOKEN }}
13
21
  event-type: release
14
- repository: curationexperts/nurax
22
+ repository: samvera-labs/nurax
15
23
  client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
16
-
17
-
@@ -1,29 +1,39 @@
1
- ANALYTICS_START_DATE=2021-08-21
2
1
  CHROME_HEADLESS_MODE=false
3
2
  DATABASE_CLEANER_ALLOW_REMOTE_DATABASE_URL=true
4
3
  DATABASE_TEST_URL=postgresql://hyrax_user:hyrax_password@postgres/hyrax_test?pool=5
5
4
  DATABASE_URL=postgresql://hyrax_user:hyrax_password@postgres/hyrax?pool=5
6
5
  DB_HOST=postgres
6
+ DB_NAME=koppie
7
+ DB_PASSWORD=hyrax_password
7
8
  DB_PORT=5432
8
- FCREPO_HOST=fcrepo
9
- FCREPO_PORT=8080
10
- FCREPO_REST_PATH=rest
11
- FCREPO_TEST_BASE_PATH=/test
9
+ DB_USERNAME=hyrax_user
12
10
  HUB_URL=http://chrome:4444/wd/hub
13
- HYRAX_ANALYTICS=false
14
- HYRAX_ANALYTICS_PROVIDER=google
15
11
  HYRAX_DERIVATIVES_PATH=/app/samvera/hyrax-webapp/derivatives/
16
12
  HYRAX_ENGINE_PATH=/app/samvera/hyrax-engine
17
13
  HYRAX_UPLOAD_PATH=/app/samvera/hyrax-webapp/uploads/
14
+ HYRAX_VALKYRIE=true
18
15
  IN_DOCKER=true
19
- KARMA_BROWSER=ChromiumHeadlessCustom
16
+ METADATA_DATABASE_NAME=koppie_metadata_development
17
+ POSTGRES_DB=koppie
18
+ POSTGRES_HOST_AUTH_METHOD=trust
19
+ POSTGRES_PASSWORD=hyrax_password
20
+ POSTGRES_USER=hyrax_user
20
21
  RACK_ENV=development
21
22
  RAILS_ENV=development
22
- RAILS_ROOT=.dassie
23
+ RAILS_ROOT=.koppie
24
+ RAILS_LOG_TO_STDOUT=true
25
+ RAILS_QUEUE=sidekiq
23
26
  REDIS_HOST=redis
27
+ REDIS_PASSWORD=sidekickin
28
+ REDIS_URL=redis://noop:sidekickin@redis:6379
29
+ SEED_KOPPIE=true
30
+ SKIP_SELENIUM=
31
+ SOLR_COLLECTION_NAME=koppie
32
+ SOLR_CORE_CONF_DIR=/opt/solr/server/configsets/hyraxconf
33
+ SOLR_CORES=koppie
24
34
  SOLR_HOST=solr
25
35
  SOLR_PORT=8983
26
- SOLR_TEST_URL=http://solr:8983/solr/hyrax_test
27
- SOLR_URL=http://solr:8983/solr/hyrax
36
+ SOLR_URL=http://solr:8983/solr/koppie
37
+ VALKYRIE_SOLR_CORE=koppie
28
38
  VALKYRIE_SOLR_HOST=solr
29
39
  VALKYRIE_SOLR_PORT=8983
@@ -0,0 +1,48 @@
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 the default SQLite database.
11
+ /db/*.sqlite3
12
+ /db/*.sqlite3-journal
13
+
14
+ # Ignore all logfiles and tempfiles.
15
+ /log/*
16
+ /tmp/*
17
+ !/log/.keep
18
+ !/tmp/.keep
19
+ !/tmp/derivatives/.keep
20
+ !/tmp/uploads/.keep
21
+ !/tmp/uploads/cache/.keep
22
+
23
+ # From Rails 5.1
24
+ /node_modules
25
+ /yarn-error.log
26
+
27
+ # Ignore Byebug command history file.
28
+ .byebug_history
29
+
30
+ # Ignore Ruby artifacts
31
+ /.ruby-*
32
+
33
+ # Ignore uploaded files in development
34
+ /storage/*
35
+ !/storage/.keep
36
+
37
+ # Ignore master key for decrypting credentials and more.
38
+ /config/master.key
39
+
40
+ /public/assets
41
+ /public/files
42
+ /public/uv
43
+ /public/branding/*
44
+ !public/branding/.keep
45
+
46
+ /spec/examples.txt
47
+
48
+ fits.log
data/.koppie/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
@@ -0,0 +1,36 @@
1
+ The Samvera community is dedicated to providing a welcoming and
2
+ positive experience for all its members, whether they are at a formal
3
+ gathering, in a social setting, or taking part in activities online.
4
+ The Samvera community welcomes participation from people all over the
5
+ world and these members bring with them a wide variety of
6
+ professional, personal and social backgrounds; whatever these may be,
7
+ we treat colleagues with dignity and respect.
8
+
9
+ Community members communicate primarily in English, though for many of
10
+ them this is not their native language. We therefore strive to express
11
+ ourselves simply and clearly remembering that unnecessary use of
12
+ jargon and slang will be a barrier to understanding for many of our
13
+ colleagues. We are sensitive to the fact that the international
14
+ nature of the community means that we span many different social norms
15
+ around language and behaviour and we strive to conduct ourselves,
16
+ online and in person, in ways that are unlikely to cause offence.
17
+
18
+ Samvera conversations are often information-rich and intended to
19
+ generate discussion and debate. We discuss ideas from a standpoint of
20
+ mutual respect and reasoned argument.
21
+
22
+ Community members work together to promote a respectful and safe
23
+ community. In the event that someone’s conduct is causing offence or
24
+ distress, Samvera has a detailed
25
+ [Anti-Harassment Policy and Protocol](https://wiki.lyrasis.org/display/samvera/Anti-Harassment+Policy)
26
+ which can be applied to address the problem. The first step in dealing
27
+ with any serious misconduct is to contact a local meeting organizer,
28
+ the
29
+ [Samvera community helpers](https://wiki.lyrasis.org/display/samvera/Samvera+Community+Helpers)
30
+ ([email](mailto:helpers@samvera.org)), a community member you
31
+ trust, or the
32
+ [Samvera Steering Group](https://wiki.lyrasis.org/display/samvera/Samvera+Steering+Group+membership)
33
+ immediately; at Samvera events, these people can be identified by
34
+ distinctive name badges. The
35
+ [Policy and Protocol](https://wiki.lyrasis.org/display/samvera/Anti-Harassment+Policy)
36
+ should be consulted for fuller details.