hyrax 5.0.0.rc1 → 5.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (431) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +25 -4
  3. data/.dassie/.env +5 -1
  4. data/.dassie/Gemfile +27 -42
  5. data/.dassie/Gemfile.dassie +2 -0
  6. data/.dassie/app/assets/config/manifest.js +2 -0
  7. data/.dassie/app/assets/stylesheets/hyrax.scss +1 -0
  8. data/.dassie/app/listeners/hyrax_listener.rb +81 -0
  9. data/.dassie/config/environments/test.rb +0 -5
  10. data/.dassie/config/initializers/hyrax.rb +5 -0
  11. data/.dassie/config/initializers/publisher.rb +3 -0
  12. data/.dassie/config/initializers/riiif.rb +82 -11
  13. data/.dassie/config/metadata/collection_resource.yaml +3 -0
  14. data/.dassie/config/metadata/monograph.yaml +8 -0
  15. data/.dassie/config/metadata/sample_metadata.yaml +1 -0
  16. data/.dassie/config/redis.yml +2 -0
  17. data/.dassie/db/migrate/20230725222727_create_hyrax_counter_metrics.hyrax.rb +14 -0
  18. data/.dassie/db/migrate/20230803165135_change_work_id_to_string.rb +5 -0
  19. data/.dassie/db/migrate/20230808102105_add_indices_to_hyrax_counter_metrics.hyrax.rb +8 -0
  20. data/.dassie/db/migrate/20230821153635_add_fields_to_counter_metric.rb +8 -0
  21. data/.dassie/db/schema.rb +20 -1
  22. data/.dockerignore +2 -1
  23. data/.gitignore +5 -1
  24. data/.koppie/.env +10 -4
  25. data/.koppie/Gemfile +10 -12
  26. data/.koppie/Gemfile.koppie +2 -0
  27. data/.koppie/Rakefile +0 -2
  28. data/.koppie/app/listeners/hyrax_listener.rb +81 -0
  29. data/.koppie/app/models/ability.rb +1 -5
  30. data/.koppie/app/models/collection.rb +1 -1
  31. data/.koppie/app/models/user.rb +0 -2
  32. data/.koppie/config/analytics.yml +5 -5
  33. data/.koppie/config/application.rb +2 -1
  34. data/.koppie/config/arkivo.yml +6 -0
  35. data/.koppie/config/blacklight.yml +2 -2
  36. data/.koppie/config/features.yml +2 -0
  37. data/.koppie/config/initializers/1_valkyrie.rb +29 -6
  38. data/.koppie/config/initializers/arkivo_constraint.rb +12 -0
  39. data/.koppie/config/initializers/hyrax.rb +2 -2
  40. data/.koppie/config/initializers/publisher.rb +3 -0
  41. data/.koppie/config/initializers/riiif.rb +84 -11
  42. data/.koppie/config/metadata/collection_resource.yaml +19 -1
  43. data/.koppie/config/metadata/generic_work.yaml +2 -0
  44. data/.koppie/config/metadata/monograph.yaml +10 -0
  45. data/.koppie/config/metadata/sample_metadata.yaml +4 -0
  46. data/.koppie/config/role_map.yml +3 -25
  47. data/.koppie/config/routes.rb +1 -2
  48. data/.koppie/config/solr.yml +1 -1
  49. data/.koppie/config/valkyrie_index.yml +4 -10
  50. data/.koppie/config/zotero.yml +6 -0
  51. data/.koppie/db/migrate/20230725222727_create_hyrax_counter_metrics.hyrax.rb +14 -0
  52. data/.koppie/db/migrate/20230803165135_change_work_id_to_string.rb +5 -0
  53. data/.koppie/db/schema.rb +12 -1
  54. data/CONTAINERS.md +39 -4
  55. data/Dockerfile +25 -13
  56. data/Gemfile +8 -24
  57. data/Gemfile.dassie +2 -0
  58. data/Gemfile.koppie +2 -0
  59. data/README.md +2 -1
  60. data/Rakefile +0 -11
  61. data/app/actors/hyrax/actors/base_actor.rb +6 -3
  62. data/app/actors/hyrax/actors/embargo_actor.rb +3 -6
  63. data/app/actors/hyrax/actors/file_actor.rb +1 -1
  64. data/app/actors/hyrax/actors/lease_actor.rb +3 -6
  65. data/app/assets/javascripts/hyrax/batch_select_all.js +1 -1
  66. data/app/assets/javascripts/hyrax/file_manager/member.es6 +1 -1
  67. data/app/assets/javascripts/hyrax/save_work/uploaded_files.es6 +10 -2
  68. data/app/assets/stylesheets/hyrax/_file-listing.scss +0 -2
  69. data/app/assets/stylesheets/hyrax/_work-show.scss +19 -3
  70. data/app/assets/stylesheets/hyrax/sidebar.scss +29 -1
  71. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +1 -1
  72. data/app/controllers/concerns/hyrax/embargoes_controller_behavior.rb +7 -1
  73. data/app/controllers/concerns/hyrax/leases_controller_behavior.rb +7 -1
  74. data/app/controllers/concerns/hyrax/local_file_downloads_controller_behavior.rb +12 -19
  75. data/app/controllers/concerns/hyrax/stream_file_downloads_controller_behavior.rb +54 -0
  76. data/app/controllers/concerns/hyrax/valkyrie_downloads_controller_behavior.rb +52 -18
  77. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +69 -23
  78. data/app/controllers/hyrax/admin/admin_sets_controller.rb +2 -2
  79. data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +5 -5
  80. data/app/controllers/hyrax/api/items_controller.rb +2 -3
  81. data/app/controllers/hyrax/batch_edits_controller.rb +6 -6
  82. data/app/controllers/hyrax/batch_uploads_controller.rb +5 -1
  83. data/app/controllers/hyrax/dashboard/collections_controller.rb +6 -3
  84. data/app/controllers/hyrax/downloads_controller.rb +1 -0
  85. data/app/controllers/hyrax/file_sets_controller.rb +51 -7
  86. data/app/controllers/hyrax/my/collections_controller.rb +3 -1
  87. data/app/controllers/hyrax/single_use_links_viewer_controller.rb +16 -2
  88. data/app/forms/concerns/hyrax/basic_metadata_form_fields_behavior.rb +39 -0
  89. data/app/forms/concerns/hyrax/contained_in_works_behavior.rb +24 -0
  90. data/app/forms/concerns/hyrax/deposit_agreement_behavior.rb +12 -0
  91. data/app/forms/concerns/hyrax/leaseability_behavior.rb +49 -0
  92. data/app/forms/concerns/hyrax/permission_behavior.rb +20 -0
  93. data/app/forms/hyrax/forms/administrative_set_form.rb +1 -5
  94. data/app/forms/hyrax/forms/collection_form.rb +16 -12
  95. data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +0 -34
  96. data/app/forms/hyrax/forms/file_set_form.rb +7 -2
  97. data/app/forms/hyrax/forms/pcdm_collection_form.rb +1 -5
  98. data/app/forms/hyrax/forms/pcdm_object_form.rb +13 -1
  99. data/app/forms/hyrax/forms/permission_template_form.rb +0 -7
  100. data/app/forms/hyrax/forms/resource_batch_edit_form.rb +55 -22
  101. data/app/forms/hyrax/forms/resource_form.rb +31 -114
  102. data/app/forms/hyrax/forms.rb +52 -0
  103. data/app/helpers/hyrax/dashboard_helper_behavior.rb +13 -0
  104. data/app/helpers/hyrax/hyrax_helper_behavior.rb +2 -0
  105. data/app/indexers/concerns/hyrax/location_indexer.rb +25 -0
  106. data/app/indexers/{hyrax → concerns/hyrax}/permission_indexer.rb +2 -2
  107. data/app/indexers/{hyrax → concerns/hyrax}/visibility_indexer.rb +1 -1
  108. data/app/indexers/hyrax/administrative_set_indexer.rb +5 -17
  109. data/app/indexers/hyrax/indexers/administrative_set_indexer.rb +25 -0
  110. data/app/indexers/hyrax/indexers/file_set_indexer.rb +144 -0
  111. data/app/indexers/hyrax/indexers/pcdm_collection_indexer.rb +27 -0
  112. data/app/indexers/hyrax/indexers/pcdm_object_indexer.rb +72 -0
  113. data/app/indexers/hyrax/indexers/resource_indexer.rb +86 -0
  114. data/app/indexers/hyrax/indexers.rb +54 -0
  115. data/app/indexers/hyrax/pcdm_collection_indexer.rb +5 -26
  116. data/app/indexers/hyrax/valkyrie_collection_indexer.rb +6 -4
  117. data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +5 -141
  118. data/app/indexers/hyrax/valkyrie_indexer.rb +8 -112
  119. data/app/indexers/hyrax/valkyrie_work_indexer.rb +5 -63
  120. data/app/indexers/hyrax/work_indexer.rb +1 -0
  121. data/app/inputs/controlled_vocabulary_input.rb +1 -1
  122. data/app/jobs/characterize_job.rb +1 -1
  123. data/app/jobs/create_work_job.rb +37 -4
  124. data/app/jobs/valkyrie_characterization_job.rb +9 -0
  125. data/app/jobs/valkyrie_ingest_job.rb +1 -3
  126. data/app/models/admin_set.rb +20 -1
  127. data/app/models/collection.rb +5 -0
  128. data/app/models/collection_branding_info.rb +2 -9
  129. data/app/models/concerns/hyrax/ability/admin_set_ability.rb +13 -28
  130. data/app/models/concerns/hyrax/ability/collection_ability.rb +26 -28
  131. data/app/models/concerns/hyrax/ability/resource_ability.rb +19 -0
  132. data/app/models/concerns/hyrax/ability.rb +12 -9
  133. data/app/models/concerns/hyrax/collection_behavior.rb +12 -12
  134. data/app/models/concerns/hyrax/solr_document_behavior.rb +33 -6
  135. data/app/models/concerns/hyrax/work_behavior.rb +4 -0
  136. data/app/models/featured_work.rb +12 -4
  137. data/app/models/file_set.rb +5 -0
  138. data/app/models/hyrax/administrative_set.rb +1 -1
  139. data/app/models/hyrax/change_set.rb +2 -2
  140. data/app/models/hyrax/counter_metric.rb +7 -0
  141. data/app/models/hyrax/file_metadata.rb +37 -9
  142. data/app/models/hyrax/file_set.rb +77 -24
  143. data/app/models/hyrax/group.rb +9 -38
  144. data/app/models/hyrax/group_behavior.rb +58 -0
  145. data/app/models/hyrax/model_registry.rb +111 -0
  146. data/app/models/hyrax/orcid_validator.rb +0 -6
  147. data/app/models/hyrax/pcdm_collection.rb +1 -7
  148. data/app/models/hyrax/resource.rb +66 -8
  149. data/app/models/hyrax/statistic.rb +1 -1
  150. data/app/models/hyrax/work.rb +3 -12
  151. data/app/presenters/hyrax/collapsable_section_presenter.rb +7 -3
  152. data/app/presenters/hyrax/collection_presenter.rb +0 -17
  153. data/app/presenters/hyrax/embargo_presenter.rb +4 -0
  154. data/app/presenters/hyrax/file_set_presenter.rb +8 -6
  155. data/app/presenters/hyrax/lease_presenter.rb +4 -0
  156. data/app/presenters/hyrax/menu_presenter.rb +14 -2
  157. data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +7 -5
  158. data/app/presenters/hyrax/version_list_presenter.rb +25 -14
  159. data/app/presenters/hyrax/version_presenter.rb +19 -4
  160. data/app/search_builders/hyrax/admin_set_search_builder.rb +1 -1
  161. data/app/search_builders/hyrax/catalog_search_builder.rb +2 -2
  162. data/app/search_builders/hyrax/dashboard/collections_search_builder.rb +5 -3
  163. data/app/search_builders/hyrax/exposed_models_relation.rb +1 -1
  164. data/app/search_builders/hyrax/file_set_search_builder.rb +1 -1
  165. data/app/search_builders/hyrax/filter_by_type.rb +3 -2
  166. data/app/search_builders/hyrax/member_with_files_search_builder.rb +1 -1
  167. data/app/search_builders/hyrax/my/collections_search_builder.rb +2 -2
  168. data/app/search_builders/hyrax/my/find_works_search_builder.rb +8 -3
  169. data/app/services/hyrax/access_control_list.rb +21 -4
  170. data/app/services/hyrax/action/create_valkyrie_work.rb +80 -0
  171. data/app/services/hyrax/admin_set_create_service.rb +7 -20
  172. data/app/services/hyrax/admin_set_service.rb +2 -2
  173. data/app/services/hyrax/characterization/valkyrie_characterization_service.rb +5 -0
  174. data/app/services/hyrax/collections/collection_member_search_service.rb +2 -0
  175. data/app/services/hyrax/collections/collection_member_service.rb +1 -1
  176. data/app/services/hyrax/collections/permissions_service.rb +27 -9
  177. data/app/services/hyrax/custom_queries/find_collections_by_type.rb +1 -1
  178. data/app/services/hyrax/custom_queries/find_file_metadata.rb +1 -1
  179. data/app/services/hyrax/custom_queries/navigators/find_files.rb +1 -1
  180. data/app/services/hyrax/custom_queries/navigators/parent_work_navigator.rb +1 -1
  181. data/app/services/hyrax/edit_permissions_service.rb +1 -1
  182. data/app/services/hyrax/embargo_manager.rb +44 -17
  183. data/app/services/hyrax/embargo_service.rb +12 -10
  184. data/app/services/hyrax/file_set_derivatives_service.rb +11 -11
  185. data/app/services/hyrax/file_set_file_service.rb +21 -10
  186. data/app/services/hyrax/fixity_check_failure_service.rb +1 -1
  187. data/app/services/hyrax/form_factory.rb +1 -1
  188. data/app/services/hyrax/identifier/dispatcher.rb +9 -2
  189. data/app/services/hyrax/lease_manager.rb +39 -16
  190. data/app/services/hyrax/lease_service.rb +12 -6
  191. data/app/services/hyrax/listeners/acl_index_listener.rb +1 -1
  192. data/app/services/hyrax/listeners/active_fedora_acl_index_listener.rb +1 -1
  193. data/app/services/hyrax/listeners/file_metadata_listener.rb +14 -6
  194. data/app/services/hyrax/listeners/member_cleanup_listener.rb +12 -24
  195. data/app/services/hyrax/listeners/metadata_index_listener.rb +11 -0
  196. data/app/services/hyrax/listeners/object_lifecycle_listener.rb +5 -1
  197. data/app/services/hyrax/listeners/trophy_cleanup_listener.rb +2 -1
  198. data/app/services/hyrax/listeners/workflow_listener.rb +13 -0
  199. data/app/services/hyrax/listeners.rb +2 -1
  200. data/app/services/hyrax/location_service.rb +3 -0
  201. data/app/services/hyrax/lock_manager.rb +1 -2
  202. data/app/services/hyrax/multiple_membership_checker.rb +1 -1
  203. data/app/services/hyrax/simple_schema_loader.rb +32 -1
  204. data/app/services/hyrax/solr_service.rb +19 -5
  205. data/app/services/hyrax/statistics/collections/over_time.rb +1 -1
  206. data/app/services/hyrax/statistics/query_service.rb +6 -0
  207. data/app/services/hyrax/valkyrie_persist_derivatives.rb +12 -5
  208. data/app/services/hyrax/valkyrie_upload.rb +13 -27
  209. data/app/services/hyrax/versioning_service.rb +29 -15
  210. data/app/services/hyrax/work_uploads_handler.rb +6 -5
  211. data/app/validators/hyrax/collection_membership_validator.rb +1 -1
  212. data/app/views/_user_util_links.html.erb +1 -1
  213. data/app/views/catalog/_search_form.html.erb +1 -1
  214. data/app/views/collections/edit_fields/_based_near.html.erb +11 -7
  215. data/app/views/hyrax/admin/admin_sets/_form_participants.html.erb +67 -67
  216. data/app/views/hyrax/admin/admin_sets/edit.html.erb +1 -1
  217. data/app/views/hyrax/admin/collection_types/_form_participants.html.erb +3 -1
  218. data/app/views/hyrax/admin/collection_types/index.html.erb +1 -1
  219. data/app/views/hyrax/base/_attribute_rows.html.erb +1 -0
  220. data/app/views/hyrax/base/_base_form_files_prepend.html.erb +4 -0
  221. data/app/views/hyrax/base/_file_manager_resource_form.html.erb +1 -1
  222. data/app/views/hyrax/base/_form_files.html.erb +65 -64
  223. data/app/views/hyrax/base/_form_visibility_component.html.erb +4 -4
  224. data/app/views/hyrax/base/_show_actions.html.erb +1 -1
  225. data/app/views/hyrax/base/_workflow_actions.html.erb +25 -23
  226. data/app/views/hyrax/base/show.html.erb +2 -3
  227. data/app/views/hyrax/base/show.json.jbuilder +2 -1
  228. data/app/views/hyrax/collections/_show_document_list_row.html.erb +1 -1
  229. data/app/views/hyrax/collections/show.html.erb +7 -9
  230. data/app/views/hyrax/dashboard/_sidebar.html.erb +4 -3
  231. data/app/views/hyrax/dashboard/collections/_form_share_table.html.erb +2 -2
  232. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +1 -1
  233. data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +1 -1
  234. data/app/views/hyrax/dashboard/collections/_sort_and_per_page.html.erb +3 -3
  235. data/app/views/hyrax/file_sets/_versioning.html.erb +5 -5
  236. data/app/views/hyrax/file_sets/media_display/_audio.html.erb +5 -5
  237. data/app/views/hyrax/file_sets/media_display/_default.html.erb +1 -1
  238. data/app/views/hyrax/file_sets/media_display/_video.html.erb +3 -3
  239. data/app/views/hyrax/my/_search_form.html.erb +1 -1
  240. data/app/views/hyrax/my/facet.html.erb +1 -1
  241. data/app/views/hyrax/notifications/_notifications.html.erb +1 -1
  242. data/app/views/hyrax/users/_vitals.html.erb +1 -1
  243. data/app/views/layouts/_head_tag_content.html.erb +1 -0
  244. data/app/views/shared/_footer.html.erb +1 -1
  245. data/bin/dev-entrypoint.sh +13 -0
  246. data/chart/hyrax/Chart.yaml +5 -5
  247. data/chart/hyrax/templates/_helpers.tpl +8 -0
  248. data/chart/hyrax/templates/configmap-env.yaml +1 -1
  249. data/chart/hyrax/values.yaml +12 -1
  250. data/config/initializers/file_length_patch.rb +10 -0
  251. data/config/initializers/listeners.rb +1 -1
  252. data/config/locales/hyrax.de.yml +5 -0
  253. data/config/locales/hyrax.en.yml +10 -0
  254. data/config/locales/hyrax.es.yml +5 -0
  255. data/config/locales/hyrax.fr.yml +5 -0
  256. data/config/locales/hyrax.it.yml +5 -0
  257. data/config/locales/hyrax.pt-BR.yml +5 -0
  258. data/config/locales/hyrax.zh.yml +5 -0
  259. data/config/metadata/basic_metadata.yaml +53 -0
  260. data/config/metadata/core_metadata.yaml +6 -0
  261. data/config/metadata/file_set_metadata.yaml +21 -0
  262. data/config/metadata/hyrax_internal_metadata.yaml +57 -0
  263. data/docker-compose-koppie.yml +26 -25
  264. data/docker-compose-sirenia.yml +202 -0
  265. data/docker-compose.yml +27 -24
  266. data/documentation/developing-your-hyrax-based-app.md +77 -60
  267. data/hyrax.gemspec +18 -12
  268. data/karma.conf.js +1 -1
  269. data/lib/generators/hyrax/collection_resource/templates/collection_indexer.rb.erb +1 -1
  270. data/lib/generators/hyrax/collection_resource/templates/collection_metadata.yaml +2 -0
  271. data/lib/generators/hyrax/config_generator.rb +12 -0
  272. data/lib/generators/hyrax/install_generator.rb +37 -7
  273. data/lib/generators/hyrax/listeners_generator.rb +18 -0
  274. data/lib/generators/hyrax/models_generator.rb +1 -10
  275. data/lib/generators/hyrax/riiif_generator.rb +6 -4
  276. data/lib/generators/hyrax/templates/.env +9 -0
  277. data/lib/generators/hyrax/templates/.lando.yml +50 -0
  278. data/lib/generators/hyrax/templates/app/listeners/hyrax_listener.rb +81 -0
  279. data/lib/generators/hyrax/templates/app/models/file_set.rb +1 -2
  280. data/lib/generators/hyrax/templates/config/initializers/1_valkyrie.rb +102 -0
  281. data/lib/generators/hyrax/templates/config/initializers/file_services.rb +6 -0
  282. data/lib/generators/hyrax/templates/config/initializers/hyrax.rb +41 -5
  283. data/lib/generators/hyrax/templates/config/initializers/publisher.rb +3 -0
  284. data/lib/generators/hyrax/templates/config/initializers/riiif.rb +90 -19
  285. data/lib/generators/hyrax/templates/config/locales/hyrax.de.yml +1 -1
  286. data/lib/generators/hyrax/templates/config/locales/hyrax.en.yml +1 -1
  287. data/lib/generators/hyrax/templates/config/locales/hyrax.es.yml +1 -1
  288. data/lib/generators/hyrax/templates/config/locales/hyrax.fr.yml +1 -1
  289. data/lib/generators/hyrax/templates/config/locales/hyrax.it.yml +1 -1
  290. data/lib/generators/hyrax/templates/config/locales/hyrax.pt-BR.yml +1 -1
  291. data/lib/generators/hyrax/templates/config/locales/hyrax.zh.yml +1 -1
  292. data/lib/generators/hyrax/templates/config/redis.yml +3 -6
  293. data/lib/generators/hyrax/templates/config/valkyrie_index.yml +4 -9
  294. data/lib/generators/hyrax/templates/db/migrate/20230725222727_create_hyrax_counter_metrics.rb.erb +14 -0
  295. data/lib/generators/hyrax/templates/db/migrate/20230803165135_change_work_id_to_string.rb.erb +5 -0
  296. data/lib/generators/hyrax/templates/db/migrate/20230808102105_add_indices_to_hyrax_counter_metrics.rb.erb +8 -0
  297. data/lib/generators/hyrax/templates/db/migrate/20230821153635_add_fields_to_counter_metric.rb.erb +8 -0
  298. data/lib/generators/hyrax/templates/db/seeds.rb +1 -1
  299. data/lib/generators/hyrax/work_resource/templates/form.rb.erb +1 -1
  300. data/lib/generators/hyrax/work_resource/templates/indexer.rb.erb +1 -1
  301. data/lib/generators/hyrax/work_resource/templates/metadata.yaml +2 -0
  302. data/lib/hyrax/configuration.rb +241 -55
  303. data/lib/hyrax/controlled_vocabularies/location.rb +7 -1
  304. data/lib/hyrax/engine.rb +0 -1
  305. data/lib/hyrax/form_fields.rb +6 -0
  306. data/lib/hyrax/indexer.rb +1 -1
  307. data/lib/hyrax/publisher.rb +9 -2
  308. data/lib/hyrax/redis_event_store.rb +7 -8
  309. data/lib/hyrax/resource_name.rb +4 -0
  310. data/lib/hyrax/resource_sync/change_list_writer.rb +1 -1
  311. data/lib/hyrax/resource_sync/resource_list_writer.rb +1 -1
  312. data/lib/hyrax/specs/capybara.rb +26 -42
  313. data/lib/hyrax/specs/shared_specs/hydra_works.rb +112 -27
  314. data/lib/hyrax/specs/shared_specs/indexers.rb +25 -7
  315. data/lib/hyrax/transactions/admin_set_destroy.rb +2 -1
  316. data/lib/hyrax/transactions/collection_destroy.rb +3 -2
  317. data/lib/hyrax/transactions/container.rb +47 -0
  318. data/lib/hyrax/transactions/file_metadata_destroy.rb +20 -0
  319. data/lib/hyrax/transactions/file_set_destroy.rb +3 -1
  320. data/lib/hyrax/transactions/file_set_update.rb +21 -0
  321. data/lib/hyrax/transactions/steps/add_to_parent.rb +2 -1
  322. data/lib/hyrax/transactions/steps/check_for_default_admin_set.rb +32 -0
  323. data/lib/hyrax/transactions/steps/check_for_empty_admin_set.rb +1 -1
  324. data/lib/hyrax/transactions/steps/delete_all_file_metadata.rb +46 -0
  325. data/lib/hyrax/transactions/steps/delete_all_file_sets.rb +46 -0
  326. data/lib/hyrax/transactions/steps/file_metadata_delete.rb +40 -0
  327. data/lib/hyrax/transactions/steps/remove_from_membership.rb +45 -0
  328. data/lib/hyrax/transactions/steps/save.rb +2 -1
  329. data/lib/hyrax/transactions/steps/set_user_as_creator.rb +1 -1
  330. data/lib/hyrax/transactions/steps/update_work_members.rb +2 -0
  331. data/lib/hyrax/transactions/work_destroy.rb +3 -2
  332. data/lib/hyrax/version.rb +1 -1
  333. data/lib/hyrax.rb +1 -0
  334. data/lib/tasks/collection_type_global_id.rake +9 -4
  335. data/lib/tasks/embargo_lease.rake +2 -0
  336. data/lib/valkyrie/indexing/solr/indexing_adapter.rb +22 -6
  337. data/lib/wings/active_fedora_converter/default_work.rb +4 -5
  338. data/lib/wings/active_fedora_converter/file_metadata_node.rb +1 -1
  339. data/lib/wings/active_fedora_converter.rb +6 -0
  340. data/lib/wings/attribute_transformer.rb +24 -17
  341. data/lib/wings/model_registry.rb +8 -0
  342. data/lib/wings/model_transformer.rb +19 -10
  343. data/lib/wings/orm_converter.rb +27 -18
  344. data/lib/wings/services/custom_queries/find_ids_by_model.rb +2 -2
  345. data/lib/wings/setup.rb +2 -2
  346. data/lib/wings/valkyrie/query_service.rb +5 -2
  347. data/lib/wings/valkyrie/storage.rb +8 -90
  348. data/lib/wings.rb +8 -0
  349. data/spec/factories/access_control.rb +12 -0
  350. data/spec/factories/admin_sets.rb +32 -0
  351. data/spec/factories/admin_sets_lw.rb +222 -0
  352. data/spec/factories/administrative_sets.rb +79 -0
  353. data/spec/factories/api_items.rb +92 -0
  354. data/spec/factories/collection_branding_infos.rb +12 -0
  355. data/spec/factories/collection_type_participants.rb +9 -0
  356. data/spec/factories/collection_types.rb +139 -0
  357. data/spec/factories/collections.rb +282 -0
  358. data/spec/factories/collections_factory.rb +107 -0
  359. data/spec/factories/content_blocks.rb +5 -0
  360. data/spec/factories/counter_metrics.rb +12 -0
  361. data/spec/factories/featured_works.rb +5 -0
  362. data/spec/factories/file_sets.rb +45 -0
  363. data/spec/factories/generic_works.rb +200 -0
  364. data/spec/factories/hyrax_collection.rb +92 -0
  365. data/spec/factories/hyrax_default_admin_set.rb +7 -0
  366. data/spec/factories/hyrax_embargo.rb +18 -0
  367. data/spec/factories/hyrax_file_metadata.rb +92 -0
  368. data/spec/factories/hyrax_file_set.rb +129 -0
  369. data/spec/factories/hyrax_lease.rb +18 -0
  370. data/spec/factories/hyrax_resource.rb +15 -0
  371. data/spec/factories/hyrax_work.rb +221 -0
  372. data/spec/factories/object_id.rb +7 -0
  373. data/spec/factories/operations.rb +22 -0
  374. data/spec/factories/permission.rb +7 -0
  375. data/spec/factories/permission_template_accesses.rb +17 -0
  376. data/spec/factories/permission_templates.rb +111 -0
  377. data/spec/factories/proxy_deposit_requests.rb +7 -0
  378. data/spec/factories/single_use_links.rb +14 -0
  379. data/spec/factories/sipity_entities.rb +17 -0
  380. data/spec/factories/uploaded_files.rb +11 -0
  381. data/spec/factories/users.rb +52 -0
  382. data/spec/factories/workflow_actions.rb +7 -0
  383. data/spec/factories/workflow_states.rb +7 -0
  384. data/spec/factories/workflows.rb +7 -0
  385. data/spec/support/book_resource.rb +36 -0
  386. data/spec/support/can_can_overrides.rb +43 -0
  387. data/spec/support/clean_solr.rb +7 -0
  388. data/spec/support/controller_level_helpers.rb +27 -0
  389. data/spec/support/factory_helpers.rb +94 -0
  390. data/spec/support/fakes/fake_actor.rb +22 -0
  391. data/spec/support/fakes/fake_authority.rb +14 -0
  392. data/spec/support/fakes/fake_search_builder_scope.rb +44 -0
  393. data/spec/support/fakes/indexing_adapter.rb +17 -0
  394. data/spec/support/fakes/test_hydra_group_service.rb +55 -0
  395. data/spec/support/features/batch_edit_actions.rb +37 -0
  396. data/spec/support/features/session_helpers.rb +15 -0
  397. data/spec/support/features/workflow.rb +10 -0
  398. data/spec/support/features.rb +11 -0
  399. data/spec/support/form_with_validations.rb +15 -0
  400. data/spec/support/input_support.rb +12 -0
  401. data/spec/support/logging_formatter.rb +67 -0
  402. data/spec/support/matchers/api_responses.rb +27 -0
  403. data/spec/support/matchers/collection_type_property_matchers.rb +30 -0
  404. data/spec/support/matchers/embargo.rb +9 -0
  405. data/spec/support/matchers/lease.rb +9 -0
  406. data/spec/support/matchers/match_valkyrie_ids_with_af_ids.rb +12 -0
  407. data/spec/support/matchers/pcdm_matchers.rb +34 -0
  408. data/spec/support/matchers/permission.rb +31 -0
  409. data/spec/support/matchers/response_matchers.rb +8 -0
  410. data/spec/support/optional_example.rb +17 -0
  411. data/spec/support/rake.rb +42 -0
  412. data/spec/support/selectors.rb +112 -0
  413. data/spec/support/shared_examples_for_collection_presenter.rb +44 -0
  414. data/spec/support/simple_work.rb +28 -0
  415. data/spec/support/spec_statistic.rb +24 -0
  416. data/spec/support/speedup.rb +7 -0
  417. data/spec/support/statistic_helper.rb +10 -0
  418. data/spec/support/valkyrie_indexing.rb +2 -0
  419. data/spec/support/wings_models.rb +9 -0
  420. data/tasks/hyrax_dev.rake +2 -33
  421. data/template.rb +1 -3
  422. metadata +184 -84
  423. data/.engine_cart.yml +0 -3
  424. data/app/indexers/hyrax/resource_indexer.rb +0 -15
  425. data/app/services/hyrax/characterization/model_wrapper.rb +0 -0
  426. data/app/services/hyrax/custom_queries/find_by_collection_type.rb +0 -0
  427. data/app/services/hyrax/query_service.rb +0 -0
  428. data/app/views/hyrax/users/_user_util_links_extra.html.erb +0 -0
  429. data/lib/hyrax/specs/disable_animations_in_test_environment.rb +0 -53
  430. data/lib/hyrax/specs/shared_specs/valkyrie_storage_versions.rb +0 -9
  431. /data/app/indexers/{hyrax → concerns/hyrax}/thumbnail_indexer.rb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyrax
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0.rc1
4
+ version: 5.0.0.rc3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2023-08-25 00:00:00.000000000 Z
17
+ date: 2024-02-23 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: rails
@@ -22,14 +22,14 @@ dependencies:
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '6.0'
25
+ version: '6.1'
26
26
  type: :runtime
27
27
  prerelease: false
28
28
  version_requirements: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.0'
32
+ version: '6.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: active-fedora
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -162,6 +162,20 @@ dependencies:
162
162
  - - "~>"
163
163
  - !ruby/object:Gem::Version
164
164
  version: '1.5'
165
+ - !ruby/object:Gem::Dependency
166
+ name: concurrent-ruby
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: '1.0'
172
+ type: :runtime
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '1.0'
165
179
  - !ruby/object:Gem::Dependency
166
180
  name: connection_pool
167
181
  requirement: !ruby/object:Gem::Requirement
@@ -191,75 +205,81 @@ dependencies:
191
205
  - !ruby/object:Gem::Version
192
206
  version: '4.0'
193
207
  - !ruby/object:Gem::Dependency
194
- name: dry-events
208
+ name: dry-logic
195
209
  requirement: !ruby/object:Gem::Requirement
196
210
  requirements:
197
211
  - - "~>"
198
212
  - !ruby/object:Gem::Version
199
- version: 0.2.0
213
+ version: '1.5'
200
214
  type: :runtime
201
215
  prerelease: false
202
216
  version_requirements: !ruby/object:Gem::Requirement
203
217
  requirements:
204
218
  - - "~>"
205
219
  - !ruby/object:Gem::Version
206
- version: 0.2.0
220
+ version: '1.5'
207
221
  - !ruby/object:Gem::Dependency
208
- name: dry-equalizer
222
+ name: dry-container
209
223
  requirement: !ruby/object:Gem::Requirement
210
224
  requirements:
211
225
  - - "~>"
212
226
  - !ruby/object:Gem::Version
213
- version: '0.2'
227
+ version: '0.11'
214
228
  type: :runtime
215
229
  prerelease: false
216
230
  version_requirements: !ruby/object:Gem::Requirement
217
231
  requirements:
218
232
  - - "~>"
219
233
  - !ruby/object:Gem::Version
220
- version: '0.2'
234
+ version: '0.11'
221
235
  - !ruby/object:Gem::Dependency
222
- name: dry-monads
236
+ name: dry-events
223
237
  requirement: !ruby/object:Gem::Requirement
224
238
  requirements:
225
239
  - - "~>"
226
240
  - !ruby/object:Gem::Version
227
- version: '1.5'
241
+ version: '1.0'
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: 1.0.1
228
245
  type: :runtime
229
246
  prerelease: false
230
247
  version_requirements: !ruby/object:Gem::Requirement
231
248
  requirements:
232
249
  - - "~>"
233
250
  - !ruby/object:Gem::Version
234
- version: '1.5'
251
+ version: '1.0'
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: 1.0.1
235
255
  - !ruby/object:Gem::Dependency
236
- name: dry-struct
256
+ name: dry-monads
237
257
  requirement: !ruby/object:Gem::Requirement
238
258
  requirements:
239
259
  - - "~>"
240
260
  - !ruby/object:Gem::Version
241
- version: '1.0'
261
+ version: '1.6'
242
262
  type: :runtime
243
263
  prerelease: false
244
264
  version_requirements: !ruby/object:Gem::Requirement
245
265
  requirements:
246
266
  - - "~>"
247
267
  - !ruby/object:Gem::Version
248
- version: '1.0'
268
+ version: '1.6'
249
269
  - !ruby/object:Gem::Dependency
250
270
  name: dry-validation
251
271
  requirement: !ruby/object:Gem::Requirement
252
272
  requirements:
253
273
  - - "~>"
254
274
  - !ruby/object:Gem::Version
255
- version: '1.3'
275
+ version: '1.10'
256
276
  type: :runtime
257
277
  prerelease: false
258
278
  version_requirements: !ruby/object:Gem::Requirement
259
279
  requirements:
260
280
  - - "~>"
261
281
  - !ruby/object:Gem::Version
262
- version: '1.3'
282
+ version: '1.10'
263
283
  - !ruby/object:Gem::Dependency
264
284
  name: flipflop
265
285
  requirement: !ruby/object:Gem::Requirement
@@ -724,14 +744,14 @@ dependencies:
724
744
  requirements:
725
745
  - - "~>"
726
746
  - !ruby/object:Gem::Version
727
- version: 3.0.1
747
+ version: 3.1.1
728
748
  type: :runtime
729
749
  prerelease: false
730
750
  version_requirements: !ruby/object:Gem::Requirement
731
751
  requirements:
732
752
  - - "~>"
733
753
  - !ruby/object:Gem::Version
734
- version: 3.0.1
754
+ version: 3.1.1
735
755
  - !ruby/object:Gem::Dependency
736
756
  name: view_component
737
757
  requirement: !ruby/object:Gem::Requirement
@@ -830,20 +850,6 @@ dependencies:
830
850
  - - "~>"
831
851
  - !ruby/object:Gem::Version
832
852
  version: '1.3'
833
- - !ruby/object:Gem::Dependency
834
- name: engine_cart
835
- requirement: !ruby/object:Gem::Requirement
836
- requirements:
837
- - - "~>"
838
- - !ruby/object:Gem::Version
839
- version: '2.5'
840
- type: :development
841
- prerelease: false
842
- version_requirements: !ruby/object:Gem::Requirement
843
- requirements:
844
- - - "~>"
845
- - !ruby/object:Gem::Version
846
- version: '2.5'
847
853
  - !ruby/object:Gem::Dependency
848
854
  name: equivalent-xml
849
855
  requirement: !ruby/object:Gem::Requirement
@@ -872,26 +878,6 @@ dependencies:
872
878
  - - "~>"
873
879
  - !ruby/object:Gem::Version
874
880
  version: '4.4'
875
- - !ruby/object:Gem::Dependency
876
- name: fcrepo_wrapper
877
- requirement: !ruby/object:Gem::Requirement
878
- requirements:
879
- - - "~>"
880
- - !ruby/object:Gem::Version
881
- version: '0.5'
882
- - - ">="
883
- - !ruby/object:Gem::Version
884
- version: 0.5.1
885
- type: :development
886
- prerelease: false
887
- version_requirements: !ruby/object:Gem::Requirement
888
- requirements:
889
- - - "~>"
890
- - !ruby/object:Gem::Version
891
- version: '0.5'
892
- - - ">="
893
- - !ruby/object:Gem::Version
894
- version: 0.5.1
895
881
  - !ruby/object:Gem::Dependency
896
882
  name: mida
897
883
  requirement: !ruby/object:Gem::Requirement
@@ -968,14 +954,14 @@ dependencies:
968
954
  requirements:
969
955
  - - "~>"
970
956
  - !ruby/object:Gem::Version
971
- version: '5.0'
957
+ version: '6.0'
972
958
  type: :development
973
959
  prerelease: false
974
960
  version_requirements: !ruby/object:Gem::Requirement
975
961
  requirements:
976
962
  - - "~>"
977
963
  - !ruby/object:Gem::Version
978
- version: '5.0'
964
+ version: '6.0'
979
965
  - !ruby/object:Gem::Dependency
980
966
  name: rspec_junit_formatter
981
967
  requirement: !ruby/object:Gem::Requirement
@@ -1094,20 +1080,6 @@ dependencies:
1094
1080
  - - "~>"
1095
1081
  - !ruby/object:Gem::Version
1096
1082
  version: '3.1'
1097
- - !ruby/object:Gem::Dependency
1098
- name: webdrivers
1099
- requirement: !ruby/object:Gem::Requirement
1100
- requirements:
1101
- - - "~>"
1102
- - !ruby/object:Gem::Version
1103
- version: '4.4'
1104
- type: :development
1105
- prerelease: false
1106
- version_requirements: !ruby/object:Gem::Requirement
1107
- requirements:
1108
- - - "~>"
1109
- - !ruby/object:Gem::Version
1110
- version: '4.4'
1111
1083
  - !ruby/object:Gem::Dependency
1112
1084
  name: webmock
1113
1085
  requirement: !ruby/object:Gem::Requirement
@@ -1135,6 +1107,7 @@ email:
1135
1107
  executables:
1136
1108
  - db-migrate-seed.sh
1137
1109
  - db-wait.sh
1110
+ - dev-entrypoint.sh
1138
1111
  - hyrax-entrypoint.sh
1139
1112
  - solrcloud-assign-configset.sh
1140
1113
  - solrcloud-upload-configset.sh
@@ -1146,6 +1119,7 @@ files:
1146
1119
  - ".dassie/.env"
1147
1120
  - ".dassie/.gitignore"
1148
1121
  - ".dassie/Gemfile"
1122
+ - ".dassie/Gemfile.dassie"
1149
1123
  - ".dassie/README.md"
1150
1124
  - ".dassie/Rakefile"
1151
1125
  - ".dassie/app/actors/hyrax/actors/generic_work_actor.rb"
@@ -1181,6 +1155,7 @@ files:
1181
1155
  - ".dassie/app/indexers/monograph_indexer.rb"
1182
1156
  - ".dassie/app/indexers/namespaced_works/nested_work_indexer.rb"
1183
1157
  - ".dassie/app/jobs/application_job.rb"
1158
+ - ".dassie/app/listeners/hyrax_listener.rb"
1184
1159
  - ".dassie/app/mailers/application_mailer.rb"
1185
1160
  - ".dassie/app/models/ability.rb"
1186
1161
  - ".dassie/app/models/application_record.rb"
@@ -1242,6 +1217,7 @@ files:
1242
1217
  - ".dassie/config/initializers/mailboxer.rb"
1243
1218
  - ".dassie/config/initializers/mime_types.rb"
1244
1219
  - ".dassie/config/initializers/mini_magick.rb"
1220
+ - ".dassie/config/initializers/publisher.rb"
1245
1221
  - ".dassie/config/initializers/redis_config.rb"
1246
1222
  - ".dassie/config/initializers/riiif.rb"
1247
1223
  - ".dassie/config/initializers/simple_form.rb"
@@ -1361,6 +1337,10 @@ files:
1361
1337
  - ".dassie/db/migrate/20210921150126_create_updated_at_index.valkyrie_engine.rb"
1362
1338
  - ".dassie/db/migrate/20210921150127_add_optimistic_locking_to_orm_resources.valkyrie_engine.rb"
1363
1339
  - ".dassie/db/migrate/20211130181150_create_default_administrative_set.rb"
1340
+ - ".dassie/db/migrate/20230725222727_create_hyrax_counter_metrics.hyrax.rb"
1341
+ - ".dassie/db/migrate/20230803165135_change_work_id_to_string.rb"
1342
+ - ".dassie/db/migrate/20230808102105_add_indices_to_hyrax_counter_metrics.hyrax.rb"
1343
+ - ".dassie/db/migrate/20230821153635_add_fields_to_counter_metric.rb"
1364
1344
  - ".dassie/db/schema.rb"
1365
1345
  - ".dassie/db/seeds.rb"
1366
1346
  - ".dassie/lib/assets/.keep"
@@ -1395,7 +1375,6 @@ files:
1395
1375
  - ".dassie/values.yaml"
1396
1376
  - ".dassie/vendor/.keep"
1397
1377
  - ".dockerignore"
1398
- - ".engine_cart.yml"
1399
1378
  - ".eslintignore"
1400
1379
  - ".eslintrc"
1401
1380
  - ".fcrepo_wrapper"
@@ -1417,6 +1396,7 @@ files:
1417
1396
  - ".koppie/CODE_OF_CONDUCT.md"
1418
1397
  - ".koppie/CONTRIBUTING.md"
1419
1398
  - ".koppie/Gemfile"
1399
+ - ".koppie/Gemfile.koppie"
1420
1400
  - ".koppie/LICENSE"
1421
1401
  - ".koppie/README.md"
1422
1402
  - ".koppie/Rakefile"
@@ -1448,6 +1428,7 @@ files:
1448
1428
  - ".koppie/app/indexers/generic_work_indexer.rb"
1449
1429
  - ".koppie/app/indexers/monograph_indexer.rb"
1450
1430
  - ".koppie/app/jobs/application_job.rb"
1431
+ - ".koppie/app/listeners/hyrax_listener.rb"
1451
1432
  - ".koppie/app/mailers/application_mailer.rb"
1452
1433
  - ".koppie/app/models/ability.rb"
1453
1434
  - ".koppie/app/models/application_record.rb"
@@ -1478,6 +1459,7 @@ files:
1478
1459
  - ".koppie/config.ru"
1479
1460
  - ".koppie/config/analytics.yml"
1480
1461
  - ".koppie/config/application.rb"
1462
+ - ".koppie/config/arkivo.yml"
1481
1463
  - ".koppie/config/authorities/licenses.yml"
1482
1464
  - ".koppie/config/authorities/resource_types.yml"
1483
1465
  - ".koppie/config/authorities/rights_statements.yml"
@@ -1491,8 +1473,10 @@ files:
1491
1473
  - ".koppie/config/environments/development.rb"
1492
1474
  - ".koppie/config/environments/production.rb"
1493
1475
  - ".koppie/config/environments/test.rb"
1476
+ - ".koppie/config/features.yml"
1494
1477
  - ".koppie/config/initializers/1_valkyrie.rb"
1495
1478
  - ".koppie/config/initializers/application_controller_renderer.rb"
1479
+ - ".koppie/config/initializers/arkivo_constraint.rb"
1496
1480
  - ".koppie/config/initializers/assets.rb"
1497
1481
  - ".koppie/config/initializers/backtrace_silencers.rb"
1498
1482
  - ".koppie/config/initializers/clamav.rb"
@@ -1507,6 +1491,7 @@ files:
1507
1491
  - ".koppie/config/initializers/mailboxer.rb"
1508
1492
  - ".koppie/config/initializers/mime_types.rb"
1509
1493
  - ".koppie/config/initializers/mini_magick.rb"
1494
+ - ".koppie/config/initializers/publisher.rb"
1510
1495
  - ".koppie/config/initializers/redis_config.rb"
1511
1496
  - ".koppie/config/initializers/riiif.rb"
1512
1497
  - ".koppie/config/initializers/simple_form.rb"
@@ -1525,6 +1510,7 @@ files:
1525
1510
  - ".koppie/config/metadata/collection_resource.yaml"
1526
1511
  - ".koppie/config/metadata/generic_work.yaml"
1527
1512
  - ".koppie/config/metadata/monograph.yaml"
1513
+ - ".koppie/config/metadata/sample_metadata.yaml"
1528
1514
  - ".koppie/config/puma.rb"
1529
1515
  - ".koppie/config/redis.yml"
1530
1516
  - ".koppie/config/role_map.yml"
@@ -1539,6 +1525,7 @@ files:
1539
1525
  - ".koppie/config/valkyrie_index.yml"
1540
1526
  - ".koppie/config/workflows/default_workflow.json"
1541
1527
  - ".koppie/config/workflows/mediated_deposit_workflow.json"
1528
+ - ".koppie/config/zotero.yml"
1542
1529
  - ".koppie/db/migrate/20210911143430_create_searches.blacklight.rb"
1543
1530
  - ".koppie/db/migrate/20210911143431_create_bookmarks.blacklight.rb"
1544
1531
  - ".koppie/db/migrate/20210911143432_add_polymorphic_type_to_bookmarks.blacklight.rb"
@@ -1614,6 +1601,8 @@ files:
1614
1601
  - ".koppie/db/migrate/20210921150127_add_optimistic_locking_to_orm_resources.valkyrie_engine.rb"
1615
1602
  - ".koppie/db/migrate/20211021161136_user_roles.rb"
1616
1603
  - ".koppie/db/migrate/20211207172259_create_default_administrative_set.hyrax.rb"
1604
+ - ".koppie/db/migrate/20230725222727_create_hyrax_counter_metrics.hyrax.rb"
1605
+ - ".koppie/db/migrate/20230803165135_change_work_id_to_string.rb"
1617
1606
  - ".koppie/db/schema.rb"
1618
1607
  - ".koppie/db/seeds.rb"
1619
1608
  - ".koppie/lib/assets/.keep"
@@ -1675,6 +1664,8 @@ files:
1675
1664
  - CONTRIBUTING.md
1676
1665
  - Dockerfile
1677
1666
  - Gemfile
1667
+ - Gemfile.dassie
1668
+ - Gemfile.koppie
1678
1669
  - LICENSE
1679
1670
  - README.md
1680
1671
  - Rakefile
@@ -1887,6 +1878,7 @@ files:
1887
1878
  - app/controllers/concerns/hyrax/local_file_downloads_controller_behavior.rb
1888
1879
  - app/controllers/concerns/hyrax/manages_embargoes.rb
1889
1880
  - app/controllers/concerns/hyrax/singular_subresource_controller.rb
1881
+ - app/controllers/concerns/hyrax/stream_file_downloads_controller_behavior.rb
1890
1882
  - app/controllers/concerns/hyrax/themed_layout_controller.rb
1891
1883
  - app/controllers/concerns/hyrax/valkyrie_downloads_controller_behavior.rb
1892
1884
  - app/controllers/concerns/hyrax/works_controller_behavior.rb
@@ -1947,6 +1939,12 @@ files:
1947
1939
  - app/controllers/hyrax/uploads_controller.rb
1948
1940
  - app/controllers/hyrax/users_controller.rb
1949
1941
  - app/controllers/hyrax/workflow_actions_controller.rb
1942
+ - app/forms/concerns/hyrax/basic_metadata_form_fields_behavior.rb
1943
+ - app/forms/concerns/hyrax/contained_in_works_behavior.rb
1944
+ - app/forms/concerns/hyrax/deposit_agreement_behavior.rb
1945
+ - app/forms/concerns/hyrax/leaseability_behavior.rb
1946
+ - app/forms/concerns/hyrax/permission_behavior.rb
1947
+ - app/forms/hyrax/forms.rb
1950
1948
  - app/forms/hyrax/forms/admin/appearance.rb
1951
1949
  - app/forms/hyrax/forms/admin/collection_type_form.rb
1952
1950
  - app/forms/hyrax/forms/admin/collection_type_participant_form.rb
@@ -2008,6 +2006,10 @@ files:
2008
2006
  - app/helpers/hyrax/workflows_helper.rb
2009
2007
  - app/indexers/concerns/hyrax/indexes_basic_metadata.rb
2010
2008
  - app/indexers/concerns/hyrax/indexes_linked_metadata.rb
2009
+ - app/indexers/concerns/hyrax/location_indexer.rb
2010
+ - app/indexers/concerns/hyrax/permission_indexer.rb
2011
+ - app/indexers/concerns/hyrax/thumbnail_indexer.rb
2012
+ - app/indexers/concerns/hyrax/visibility_indexer.rb
2011
2013
  - app/indexers/hyrax/admin_set_indexer.rb
2012
2014
  - app/indexers/hyrax/administrative_set_indexer.rb
2013
2015
  - app/indexers/hyrax/basic_metadata_indexer.rb
@@ -2015,16 +2017,18 @@ files:
2015
2017
  - app/indexers/hyrax/collection_with_basic_metadata_indexer.rb
2016
2018
  - app/indexers/hyrax/deep_indexing_service.rb
2017
2019
  - app/indexers/hyrax/file_set_indexer.rb
2020
+ - app/indexers/hyrax/indexers.rb
2021
+ - app/indexers/hyrax/indexers/administrative_set_indexer.rb
2022
+ - app/indexers/hyrax/indexers/file_set_indexer.rb
2023
+ - app/indexers/hyrax/indexers/pcdm_collection_indexer.rb
2024
+ - app/indexers/hyrax/indexers/pcdm_object_indexer.rb
2025
+ - app/indexers/hyrax/indexers/resource_indexer.rb
2018
2026
  - app/indexers/hyrax/indexes_workflow.rb
2019
2027
  - app/indexers/hyrax/pcdm_collection_indexer.rb
2020
- - app/indexers/hyrax/permission_indexer.rb
2021
- - app/indexers/hyrax/resource_indexer.rb
2022
- - app/indexers/hyrax/thumbnail_indexer.rb
2023
2028
  - app/indexers/hyrax/valkyrie_collection_indexer.rb
2024
2029
  - app/indexers/hyrax/valkyrie_file_set_indexer.rb
2025
2030
  - app/indexers/hyrax/valkyrie_indexer.rb
2026
2031
  - app/indexers/hyrax/valkyrie_work_indexer.rb
2027
- - app/indexers/hyrax/visibility_indexer.rb
2028
2032
  - app/indexers/hyrax/work_indexer.rb
2029
2033
  - app/inputs/controlled_vocabulary_input.rb
2030
2034
  - app/inputs/multi_value_select_input.rb
@@ -2066,6 +2070,7 @@ files:
2066
2070
  - app/jobs/resolrize_job.rb
2067
2071
  - app/jobs/stream_notifications_job.rb
2068
2072
  - app/jobs/user_edit_profile_event_job.rb
2073
+ - app/jobs/valkyrie_characterization_job.rb
2069
2074
  - app/jobs/valkyrie_create_derivatives_job.rb
2070
2075
  - app/jobs/valkyrie_ingest_job.rb
2071
2076
  - app/jobs/visibility_copy_job.rb
@@ -2073,12 +2078,14 @@ files:
2073
2078
  - app/models/admin_set.rb
2074
2079
  - app/models/batch_upload_item.rb
2075
2080
  - app/models/checksum_audit_log.rb
2081
+ - app/models/collection.rb
2076
2082
  - app/models/collection_branding_info.rb
2077
2083
  - app/models/concerns/hyrax/ability.rb
2078
2084
  - app/models/concerns/hyrax/ability/admin_set_ability.rb
2079
2085
  - app/models/concerns/hyrax/ability/collection_ability.rb
2080
2086
  - app/models/concerns/hyrax/ability/collection_type_ability.rb
2081
2087
  - app/models/concerns/hyrax/ability/permission_template_ability.rb
2088
+ - app/models/concerns/hyrax/ability/resource_ability.rb
2082
2089
  - app/models/concerns/hyrax/ability/solr_document_ability.rb
2083
2090
  - app/models/concerns/hyrax/basic_metadata.rb
2084
2091
  - app/models/concerns/hyrax/collection_behavior.rb
@@ -2117,6 +2124,7 @@ files:
2117
2124
  - app/models/featured_work.rb
2118
2125
  - app/models/featured_work_list.rb
2119
2126
  - app/models/file_download_stat.rb
2127
+ - app/models/file_set.rb
2120
2128
  - app/models/file_view_stat.rb
2121
2129
  - app/models/hyrax/access_control.rb
2122
2130
  - app/models/hyrax/administrative_set.rb
@@ -2127,6 +2135,7 @@ files:
2127
2135
  - app/models/hyrax/collection_type.rb
2128
2136
  - app/models/hyrax/collection_type_participant.rb
2129
2137
  - app/models/hyrax/contact_form.rb
2138
+ - app/models/hyrax/counter_metric.rb
2130
2139
  - app/models/hyrax/default_administrative_set.rb
2131
2140
  - app/models/hyrax/download.rb
2132
2141
  - app/models/hyrax/embargo.rb
@@ -2135,7 +2144,9 @@ files:
2135
2144
  - app/models/hyrax/file_metadata.rb
2136
2145
  - app/models/hyrax/file_set.rb
2137
2146
  - app/models/hyrax/group.rb
2147
+ - app/models/hyrax/group_behavior.rb
2138
2148
  - app/models/hyrax/lease.rb
2149
+ - app/models/hyrax/model_registry.rb
2139
2150
  - app/models/hyrax/operation.rb
2140
2151
  - app/models/hyrax/orcid_validator.rb
2141
2152
  - app/models/hyrax/pageview.rb
@@ -2286,6 +2297,7 @@ files:
2286
2297
  - app/search_builders/hyrax/works_search_builder.rb
2287
2298
  - app/services/hyrax/abstract_message_service.rb
2288
2299
  - app/services/hyrax/access_control_list.rb
2300
+ - app/services/hyrax/action/create_valkyrie_work.rb
2289
2301
  - app/services/hyrax/admin_set_create_service.rb
2290
2302
  - app/services/hyrax/admin_set_member_service.rb
2291
2303
  - app/services/hyrax/admin_set_service.rb
@@ -2304,7 +2316,6 @@ files:
2304
2316
  - app/services/hyrax/change_content_depositor_service.rb
2305
2317
  - app/services/hyrax/change_depositor_service.rb
2306
2318
  - app/services/hyrax/characterization/file_set_description.rb
2307
- - app/services/hyrax/characterization/model_wrapper.rb
2308
2319
  - app/services/hyrax/characterization/valkyrie_characterization_service.rb
2309
2320
  - app/services/hyrax/child_types.rb
2310
2321
  - app/services/hyrax/collection_member_service.rb
@@ -2324,7 +2335,6 @@ files:
2324
2335
  - app/services/hyrax/curation_concern.rb
2325
2336
  - app/services/hyrax/custom_queries.rb
2326
2337
  - app/services/hyrax/custom_queries/find_access_control.rb
2327
- - app/services/hyrax/custom_queries/find_by_collection_type.rb
2328
2338
  - app/services/hyrax/custom_queries/find_by_date_range.rb
2329
2339
  - app/services/hyrax/custom_queries/find_collections_by_type.rb
2330
2340
  - app/services/hyrax/custom_queries/find_count_by.rb
@@ -2400,7 +2410,6 @@ files:
2400
2410
  - app/services/hyrax/persist_derivatives.rb
2401
2411
  - app/services/hyrax/persist_directly_contained_output_file_service.rb
2402
2412
  - app/services/hyrax/qa_select_service.rb
2403
- - app/services/hyrax/query_service.rb
2404
2413
  - app/services/hyrax/quick_classification_query.rb
2405
2414
  - app/services/hyrax/repository_fixity_check_service.rb
2406
2415
  - app/services/hyrax/resource_status.rb
@@ -2574,6 +2583,7 @@ files:
2574
2583
  - app/views/hyrax/base/_actions.html.erb
2575
2584
  - app/views/hyrax/base/_attribute_rows.html.erb
2576
2585
  - app/views/hyrax/base/_attributes.html.erb
2586
+ - app/views/hyrax/base/_base_form_files_prepend.html.erb
2577
2587
  - app/views/hyrax/base/_citations.html.erb
2578
2588
  - app/views/hyrax/base/_currently_shared.html.erb
2579
2589
  - app/views/hyrax/base/_file_manager_actions.html.erb
@@ -2868,7 +2878,6 @@ files:
2868
2878
  - app/views/hyrax/users/_user.html.erb
2869
2879
  - app/views/hyrax/users/_user_info.html.erb
2870
2880
  - app/views/hyrax/users/_user_row.html.erb
2871
- - app/views/hyrax/users/_user_util_links_extra.html.erb
2872
2881
  - app/views/hyrax/users/_vitals.html.erb
2873
2882
  - app/views/hyrax/users/index.html.erb
2874
2883
  - app/views/hyrax/users/index.json.jbuilder
@@ -2916,6 +2925,7 @@ files:
2916
2925
  - artifacts/entity-relationship-diagram.pdf
2917
2926
  - bin/db-migrate-seed.sh
2918
2927
  - bin/db-wait.sh
2928
+ - bin/dev-entrypoint.sh
2919
2929
  - bin/hyrax-entrypoint.sh
2920
2930
  - bin/solrcloud-assign-configset.sh
2921
2931
  - bin/solrcloud-upload-configset.sh
@@ -2945,6 +2955,7 @@ files:
2945
2955
  - config/features.rb
2946
2956
  - config/i18n-tasks.yml
2947
2957
  - config/initializers/1_healthz.rb
2958
+ - config/initializers/file_length_patch.rb
2948
2959
  - config/initializers/indexing_adapter_initializer.rb
2949
2960
  - config/initializers/kaminari_engine_patch.rb
2950
2961
  - config/initializers/listeners.rb
@@ -2969,10 +2980,12 @@ files:
2969
2980
  - config/metadata/basic_metadata.yaml
2970
2981
  - config/metadata/core_metadata.yaml
2971
2982
  - config/metadata/file_set_metadata.yaml
2983
+ - config/metadata/hyrax_internal_metadata.yaml
2972
2984
  - config/routes.rb
2973
2985
  - config/schema_org.yml
2974
2986
  - db/seeds.rb
2975
2987
  - docker-compose-koppie.yml
2988
+ - docker-compose-sirenia.yml
2976
2989
  - docker-compose.yml
2977
2990
  - documentation/MAINTENANCE.md
2978
2991
  - documentation/developing-your-hyrax-based-app.md
@@ -2996,11 +3009,15 @@ files:
2996
3009
  - lib/generators/hyrax/config_generator.rb
2997
3010
  - lib/generators/hyrax/health_check_generator.rb
2998
3011
  - lib/generators/hyrax/install_generator.rb
3012
+ - lib/generators/hyrax/listeners_generator.rb
2999
3013
  - lib/generators/hyrax/models_generator.rb
3000
3014
  - lib/generators/hyrax/riiif_generator.rb
3001
3015
  - lib/generators/hyrax/sample_data_generator.rb
3016
+ - lib/generators/hyrax/templates/.env
3017
+ - lib/generators/hyrax/templates/.lando.yml
3002
3018
  - lib/generators/hyrax/templates/app/assets/images/unauthorized.png
3003
3019
  - lib/generators/hyrax/templates/app/assets/images/us_404.svg
3020
+ - lib/generators/hyrax/templates/app/listeners/hyrax_listener.rb
3004
3021
  - lib/generators/hyrax/templates/app/models/collection.rb
3005
3022
  - lib/generators/hyrax/templates/app/models/file_set.rb
3006
3023
  - lib/generators/hyrax/templates/catalog_controller.rb
@@ -3012,8 +3029,11 @@ files:
3012
3029
  - lib/generators/hyrax/templates/config/authorities/resource_types.yml
3013
3030
  - lib/generators/hyrax/templates/config/authorities/rights_statements.yml
3014
3031
  - lib/generators/hyrax/templates/config/clamav.rb
3032
+ - lib/generators/hyrax/templates/config/initializers/1_valkyrie.rb
3033
+ - lib/generators/hyrax/templates/config/initializers/file_services.rb
3015
3034
  - lib/generators/hyrax/templates/config/initializers/hyrax.rb
3016
3035
  - lib/generators/hyrax/templates/config/initializers/mini_magick.rb
3036
+ - lib/generators/hyrax/templates/config/initializers/publisher.rb
3017
3037
  - lib/generators/hyrax/templates/config/initializers/redis_config.rb
3018
3038
  - lib/generators/hyrax/templates/config/initializers/riiif.rb
3019
3039
  - lib/generators/hyrax/templates/config/initializers/simple_form.rb
@@ -3084,6 +3104,10 @@ files:
3084
3104
  - lib/generators/hyrax/templates/db/migrate/20180612002029_update_single_use_links_column_names.rb.erb
3085
3105
  - lib/generators/hyrax/templates/db/migrate/20200617002029_change_sipity_entity_specific_responsibility.rb.erb
3086
3106
  - lib/generators/hyrax/templates/db/migrate/20211130181150_create_default_administrative_set.rb.erb
3107
+ - lib/generators/hyrax/templates/db/migrate/20230725222727_create_hyrax_counter_metrics.rb.erb
3108
+ - lib/generators/hyrax/templates/db/migrate/20230803165135_change_work_id_to_string.rb.erb
3109
+ - lib/generators/hyrax/templates/db/migrate/20230808102105_add_indices_to_hyrax_counter_metrics.rb.erb
3110
+ - lib/generators/hyrax/templates/db/migrate/20230821153635_add_fields_to_counter_metric.rb.erb
3087
3111
  - lib/generators/hyrax/templates/db/seeds.rb
3088
3112
  - lib/generators/hyrax/templates/hyrax.scss
3089
3113
  - lib/generators/hyrax/templates/hyrax_helper.rb
@@ -3168,7 +3192,6 @@ files:
3168
3192
  - lib/hyrax/search_state.rb
3169
3193
  - lib/hyrax/specs/capybara.rb
3170
3194
  - lib/hyrax/specs/clamav.rb
3171
- - lib/hyrax/specs/disable_animations_in_test_environment.rb
3172
3195
  - lib/hyrax/specs/engine_routes.rb
3173
3196
  - lib/hyrax/specs/shared_specs.rb
3174
3197
  - lib/hyrax/specs/shared_specs/change_set.rb
@@ -3179,7 +3202,6 @@ files:
3179
3202
  - lib/hyrax/specs/shared_specs/identifiers.rb
3180
3203
  - lib/hyrax/specs/shared_specs/indexers.rb
3181
3204
  - lib/hyrax/specs/shared_specs/metadata.rb
3182
- - lib/hyrax/specs/shared_specs/valkyrie_storage_versions.rb
3183
3205
  - lib/hyrax/specs/shared_specs/workflow_method.rb
3184
3206
  - lib/hyrax/specs/spy_listener.rb
3185
3207
  - lib/hyrax/transactions.rb
@@ -3191,18 +3213,25 @@ files:
3191
3213
  - lib/hyrax/transactions/collection_destroy.rb
3192
3214
  - lib/hyrax/transactions/collection_update.rb
3193
3215
  - lib/hyrax/transactions/container.rb
3216
+ - lib/hyrax/transactions/file_metadata_destroy.rb
3194
3217
  - lib/hyrax/transactions/file_set_destroy.rb
3218
+ - lib/hyrax/transactions/file_set_update.rb
3195
3219
  - lib/hyrax/transactions/steps/add_file_sets.rb
3196
3220
  - lib/hyrax/transactions/steps/add_to_collections.rb
3197
3221
  - lib/hyrax/transactions/steps/add_to_parent.rb
3198
3222
  - lib/hyrax/transactions/steps/apply_collection_type_permissions.rb
3199
3223
  - lib/hyrax/transactions/steps/apply_permission_template.rb
3200
3224
  - lib/hyrax/transactions/steps/change_depositor.rb
3225
+ - lib/hyrax/transactions/steps/check_for_default_admin_set.rb
3201
3226
  - lib/hyrax/transactions/steps/check_for_empty_admin_set.rb
3202
3227
  - lib/hyrax/transactions/steps/delete_access_control.rb
3228
+ - lib/hyrax/transactions/steps/delete_all_file_metadata.rb
3229
+ - lib/hyrax/transactions/steps/delete_all_file_sets.rb
3203
3230
  - lib/hyrax/transactions/steps/delete_resource.rb
3204
3231
  - lib/hyrax/transactions/steps/ensure_admin_set.rb
3232
+ - lib/hyrax/transactions/steps/file_metadata_delete.rb
3205
3233
  - lib/hyrax/transactions/steps/remove_file_set_from_work.rb
3234
+ - lib/hyrax/transactions/steps/remove_from_membership.rb
3206
3235
  - lib/hyrax/transactions/steps/save.rb
3207
3236
  - lib/hyrax/transactions/steps/save_access_control.rb
3208
3237
  - lib/hyrax/transactions/steps/save_collection_banner.rb
@@ -3269,6 +3298,77 @@ files:
3269
3298
  - lib/wings/valkyrizable.rb
3270
3299
  - package.json
3271
3300
  - samvera-fall-TM3.svg
3301
+ - spec/factories/access_control.rb
3302
+ - spec/factories/admin_sets.rb
3303
+ - spec/factories/admin_sets_lw.rb
3304
+ - spec/factories/administrative_sets.rb
3305
+ - spec/factories/api_items.rb
3306
+ - spec/factories/collection_branding_infos.rb
3307
+ - spec/factories/collection_type_participants.rb
3308
+ - spec/factories/collection_types.rb
3309
+ - spec/factories/collections.rb
3310
+ - spec/factories/collections_factory.rb
3311
+ - spec/factories/content_blocks.rb
3312
+ - spec/factories/counter_metrics.rb
3313
+ - spec/factories/featured_works.rb
3314
+ - spec/factories/file_sets.rb
3315
+ - spec/factories/generic_works.rb
3316
+ - spec/factories/hyrax_collection.rb
3317
+ - spec/factories/hyrax_default_admin_set.rb
3318
+ - spec/factories/hyrax_embargo.rb
3319
+ - spec/factories/hyrax_file_metadata.rb
3320
+ - spec/factories/hyrax_file_set.rb
3321
+ - spec/factories/hyrax_lease.rb
3322
+ - spec/factories/hyrax_resource.rb
3323
+ - spec/factories/hyrax_work.rb
3324
+ - spec/factories/object_id.rb
3325
+ - spec/factories/operations.rb
3326
+ - spec/factories/permission.rb
3327
+ - spec/factories/permission_template_accesses.rb
3328
+ - spec/factories/permission_templates.rb
3329
+ - spec/factories/proxy_deposit_requests.rb
3330
+ - spec/factories/single_use_links.rb
3331
+ - spec/factories/sipity_entities.rb
3332
+ - spec/factories/uploaded_files.rb
3333
+ - spec/factories/users.rb
3334
+ - spec/factories/workflow_actions.rb
3335
+ - spec/factories/workflow_states.rb
3336
+ - spec/factories/workflows.rb
3337
+ - spec/support/book_resource.rb
3338
+ - spec/support/can_can_overrides.rb
3339
+ - spec/support/clean_solr.rb
3340
+ - spec/support/controller_level_helpers.rb
3341
+ - spec/support/factory_helpers.rb
3342
+ - spec/support/fakes/fake_actor.rb
3343
+ - spec/support/fakes/fake_authority.rb
3344
+ - spec/support/fakes/fake_search_builder_scope.rb
3345
+ - spec/support/fakes/indexing_adapter.rb
3346
+ - spec/support/fakes/test_hydra_group_service.rb
3347
+ - spec/support/features.rb
3348
+ - spec/support/features/batch_edit_actions.rb
3349
+ - spec/support/features/session_helpers.rb
3350
+ - spec/support/features/workflow.rb
3351
+ - spec/support/form_with_validations.rb
3352
+ - spec/support/input_support.rb
3353
+ - spec/support/logging_formatter.rb
3354
+ - spec/support/matchers/api_responses.rb
3355
+ - spec/support/matchers/collection_type_property_matchers.rb
3356
+ - spec/support/matchers/embargo.rb
3357
+ - spec/support/matchers/lease.rb
3358
+ - spec/support/matchers/match_valkyrie_ids_with_af_ids.rb
3359
+ - spec/support/matchers/pcdm_matchers.rb
3360
+ - spec/support/matchers/permission.rb
3361
+ - spec/support/matchers/response_matchers.rb
3362
+ - spec/support/optional_example.rb
3363
+ - spec/support/rake.rb
3364
+ - spec/support/selectors.rb
3365
+ - spec/support/shared_examples_for_collection_presenter.rb
3366
+ - spec/support/simple_work.rb
3367
+ - spec/support/spec_statistic.rb
3368
+ - spec/support/speedup.rb
3369
+ - spec/support/statistic_helper.rb
3370
+ - spec/support/valkyrie_indexing.rb
3371
+ - spec/support/wings_models.rb
3272
3372
  - tasks/benchmark.rake
3273
3373
  - tasks/hyrax_dev.rake
3274
3374
  - template.rb
@@ -3311,11 +3411,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
3311
3411
  version: '3.2'
3312
3412
  required_rubygems_version: !ruby/object:Gem::Requirement
3313
3413
  requirements:
3314
- - - ">"
3414
+ - - ">="
3315
3415
  - !ruby/object:Gem::Version
3316
- version: 1.3.1
3416
+ version: '0'
3317
3417
  requirements: []
3318
- rubygems_version: 3.4.17
3418
+ rubygems_version: 3.5.5
3319
3419
  signing_key:
3320
3420
  specification_version: 4
3321
3421
  summary: Hyrax is a front-end based on the robust Samvera framework, providing a user