hyrax 5.2.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (527) hide show
  1. checksums.yaml +4 -4
  2. data/.dassie/.env +5 -1
  3. data/.dassie/Gemfile +4 -2
  4. data/.dassie/app/assets/images/bulkrax/removed.png +0 -0
  5. data/.dassie/app/assets/javascripts/application.js +2 -0
  6. data/.dassie/app/assets/stylesheets/application.css +1 -0
  7. data/.dassie/app/controllers/catalog_controller.rb +1 -0
  8. data/.dassie/app/forms/admin_set_resource_form.rb +6 -0
  9. data/.dassie/app/forms/collection_resource_form.rb +5 -2
  10. data/.dassie/app/forms/generic_work_resource_form.rb +5 -2
  11. data/.dassie/app/forms/monograph_form.rb +5 -3
  12. data/.dassie/app/indexers/admin_set_resource_indexer.rb +5 -0
  13. data/.dassie/app/indexers/collection_resource_indexer.rb +3 -3
  14. data/.dassie/app/indexers/generic_work_resource_indexer.rb +6 -3
  15. data/.dassie/app/indexers/monograph_indexer.rb +6 -2
  16. data/.dassie/app/models/ability.rb +8 -0
  17. data/.dassie/app/models/collection_resource.rb +4 -2
  18. data/.dassie/app/models/concerns/bulkrax/has_local_processing.rb +8 -0
  19. data/.dassie/app/models/generic_work_resource.rb +5 -2
  20. data/.dassie/app/models/monograph.rb +5 -2
  21. data/.dassie/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
  22. data/.dassie/bin/importer +142 -0
  23. data/.dassie/bin/web +4 -0
  24. data/.dassie/config/browse_everything_providers.yml +1 -1
  25. data/.dassie/config/bulkrax_api.yml +86 -0
  26. data/.dassie/config/initializers/bulkrax.rb +92 -0
  27. data/.dassie/config/initializers/clamav.rb +2 -0
  28. data/.dassie/config/initializers/hyrax.rb +7 -1
  29. data/.dassie/config/initializers/riiif.rb +4 -80
  30. data/.dassie/config/initializers/wings.rb +1 -1
  31. data/.dassie/config/metadata_profiles/m3_profile.yaml +929 -0
  32. data/.dassie/config/puma.rb +4 -2
  33. data/.dassie/config/routes.rb +7 -0
  34. data/.dassie/config/sidekiq.yml +17 -0
  35. data/.dassie/config/uv/uv.html +63 -81
  36. data/.dassie/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb +9 -0
  37. data/.dassie/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb +5 -0
  38. data/.dassie/db/migrate/20250826142438_create_bulkrax_importers.bulkrax.rb +19 -0
  39. data/.dassie/db/migrate/20250826142439_create_bulkrax_importer_runs.bulkrax.rb +17 -0
  40. data/.dassie/db/migrate/20250826142440_create_bulkrax_entries.bulkrax.rb +17 -0
  41. data/.dassie/db/migrate/20250826142441_add_status_to_entry.bulkrax.rb +10 -0
  42. data/.dassie/db/migrate/20250826142442_add_collections_to_importer_runs.bulkrax.rb +7 -0
  43. data/.dassie/db/migrate/20250826142443_change_collection_ids_on_entries.bulkrax.rb +6 -0
  44. data/.dassie/db/migrate/20250826142444_create_bulkrax_exporters.bulkrax.rb +20 -0
  45. data/.dassie/db/migrate/20250826142445_create_bulkrax_exporter_runs.bulkrax.rb +15 -0
  46. data/.dassie/db/migrate/20250826142446_change_importer_and_exporter_to_polymorphic.bulkrax.rb +19 -0
  47. data/.dassie/db/migrate/20250826142447_add_total_collection_records_to_importer_runs.bulkrax.rb +6 -0
  48. data/.dassie/db/migrate/20250826142448_add_children_to_importer_runs.bulkrax.rb +7 -0
  49. data/.dassie/db/migrate/20250826142449_change_total_records_to_total_work_entries.bulkrax.rb +7 -0
  50. data/.dassie/db/migrate/20250826142450_change_entry_last_error.bulkrax.rb +20 -0
  51. data/.dassie/db/migrate/20250826142451_add_validate_only_to_bulkrax_importers.bulkrax.rb +6 -0
  52. data/.dassie/db/migrate/20250826142452_add_status_to_importers.bulkrax.rb +10 -0
  53. data/.dassie/db/migrate/20250826142453_remove_foreign_key_from_bulkrax_entries.bulkrax.rb +6 -0
  54. data/.dassie/db/migrate/20250826142454_add_status_to_exporters.bulkrax.rb +8 -0
  55. data/.dassie/db/migrate/20250826142455_add_invalid_record_to_importer_run.bulkrax.rb +6 -0
  56. data/.dassie/db/migrate/20250826142456_create_bulkrax_statuses.bulkrax.rb +19 -0
  57. data/.dassie/db/migrate/20250826142457_move_to_statuses.bulkrax.rb +31 -0
  58. data/.dassie/db/migrate/20250826142458_add_date_filter_and_status_to_bulkrax_exporters.bulkrax.rb +8 -0
  59. data/.dassie/db/migrate/20250826142459_add_workflow_status_to_bulkrax_exporter.bulkrax.rb +6 -0
  60. data/.dassie/db/migrate/20250826142460_remove_unused_last_error.bulkrax.rb +8 -0
  61. data/.dassie/db/migrate/20250826142461_increase_text_sizes.bulkrax.rb +13 -0
  62. data/.dassie/db/migrate/20250826142462_change_bulkrax_statuses_error_message_column_type_to_text.bulkrax.rb +6 -0
  63. data/.dassie/db/migrate/20250826142463_rename_children_counters_to_relationships.bulkrax.rb +7 -0
  64. data/.dassie/db/migrate/20250826142464_add_file_set_counters_to_importer_runs.bulkrax.rb +8 -0
  65. data/.dassie/db/migrate/20250826142465_add_import_attempts_to_entries.bulkrax.rb +6 -0
  66. data/.dassie/db/migrate/20250826142466_add_work_counters_to_importer_runs.bulkrax.rb +7 -0
  67. data/.dassie/db/migrate/20250826142467_create_bulkrax_pending_relationships.bulkrax.rb +14 -0
  68. data/.dassie/db/migrate/20250826142468_add_order_to_bulkrax_pending_relationships.bulkrax.rb +6 -0
  69. data/.dassie/db/migrate/20250826142469_add_include_thumbnails_to_bulkrax_exporters.bulkrax.rb +6 -0
  70. data/.dassie/db/migrate/20250826142470_add_generated_metadata_to_bulkrax_exporters.bulkrax.rb +6 -0
  71. data/.dassie/db/migrate/20250826142471_rename_bulkrax_importer_run_to_importer_run.bulkrax.rb +18 -0
  72. data/.dassie/db/migrate/20250826142472_add_indices_to_bulkrax.bulkrax.rb +26 -0
  73. data/.dassie/db/migrate/20250826142473_denormalize_status_message.bulkrax.rb +8 -0
  74. data/.dassie/db/migrate/20250826142474_update_identifier_index.bulkrax.rb +7 -0
  75. data/.dassie/db/migrate/20250826142475_add_index_to_metadata_bulkrax_identifier.bulkrax.rb +19 -0
  76. data/.dassie/db/migrate/20250826142476_add_file_name_to_uploaded_files.bulkrax.rb +6 -0
  77. data/.dassie/db/migrate/20250826142477_add_error_tracking_to_pending_relationships.bulkrax.rb +6 -0
  78. data/.dassie/db/migrate/20250826142478_add_last_imported_at_to_bulkrax_importers.bulkrax.rb +6 -0
  79. data/.dassie/db/migrate/20250826142479_add_next_import_at_to_bulkrax_importers.bulkrax.rb +6 -0
  80. data/.dassie/db/migrate/20250826142480_entry_error_denormalization.bulkrax.rb +8 -0
  81. data/.dassie/db/migrate/20250826142481_faster_first_entry.bulkrax.rb +8 -0
  82. data/.dassie/db/migrate/20260430000001_create_hyrax_redirect_paths.hyrax.rb +13 -0
  83. data/.dassie/db/migrate/20260521003627_add_additional_redirect_info.hyrax.rb +32 -0
  84. data/.dassie/db/schema.rb +154 -1
  85. data/.dassie/package.json +1 -1
  86. data/.dassie/rspec_split_configuration.json +835 -0
  87. data/.dassie/solr/conf/solrconfig.xml +21 -5
  88. data/.github/{ISSUE_TEMPLATE.md → ISSUE_TEMPLATE/issue_template.md} +5 -0
  89. data/.github/workflows/lint-build-test.yml +5 -1
  90. data/.github/workflows/release-charts.yml +48 -0
  91. data/.gitignore +6 -0
  92. data/.koppie/.env +5 -1
  93. data/.koppie/Gemfile +3 -1
  94. data/.koppie/app/assets/images/bulkrax/removed.png +0 -0
  95. data/.koppie/app/assets/javascripts/application.js +2 -0
  96. data/.koppie/app/assets/stylesheets/application.css +1 -0
  97. data/.koppie/app/controllers/catalog_controller.rb +1 -1
  98. data/.koppie/app/forms/collection_resource_form.rb +5 -2
  99. data/.koppie/app/forms/file_set_form.rb +5 -0
  100. data/.koppie/app/forms/generic_work_form.rb +5 -3
  101. data/.koppie/app/forms/monograph_form.rb +5 -3
  102. data/.koppie/app/indexers/collection_resource_indexer.rb +5 -2
  103. data/.koppie/app/indexers/file_set_indexer.rb +7 -0
  104. data/.koppie/app/indexers/generic_work_indexer.rb +6 -3
  105. data/.koppie/app/indexers/monograph_indexer.rb +6 -2
  106. data/.koppie/app/models/ability.rb +8 -0
  107. data/.koppie/app/models/collection_resource.rb +4 -2
  108. data/.koppie/app/models/concerns/bulkrax/has_local_processing.rb +8 -0
  109. data/.koppie/app/models/generic_work.rb +5 -2
  110. data/.koppie/app/models/monograph.rb +5 -2
  111. data/.koppie/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
  112. data/.koppie/bin/importer +142 -0
  113. data/.koppie/bin/web +4 -0
  114. data/.koppie/config/browse_everything_providers.yml +2 -0
  115. data/.koppie/config/bulkrax_api.yml +86 -0
  116. data/.koppie/config/initializers/bulkrax.rb +92 -0
  117. data/.koppie/config/initializers/clamav.rb +2 -0
  118. data/.koppie/config/initializers/hyrax.rb +11 -3
  119. data/.koppie/config/initializers/riiif.rb +4 -82
  120. data/.koppie/config/metadata_profiles/m3_profile.yaml +930 -0
  121. data/.koppie/config/routes.rb +7 -0
  122. data/.koppie/config/sidekiq.yml +2 -0
  123. data/.koppie/config/uv/uv.html +63 -81
  124. data/.koppie/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb +9 -0
  125. data/.koppie/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb +5 -0
  126. data/.koppie/db/migrate/20250826142438_create_bulkrax_importers.bulkrax.rb +19 -0
  127. data/.koppie/db/migrate/20250826142439_create_bulkrax_importer_runs.bulkrax.rb +17 -0
  128. data/.koppie/db/migrate/20250826142440_create_bulkrax_entries.bulkrax.rb +17 -0
  129. data/.koppie/db/migrate/20250826142441_add_status_to_entry.bulkrax.rb +10 -0
  130. data/.koppie/db/migrate/20250826142442_add_collections_to_importer_runs.bulkrax.rb +7 -0
  131. data/.koppie/db/migrate/20250826142443_change_collection_ids_on_entries.bulkrax.rb +6 -0
  132. data/.koppie/db/migrate/20250826142444_create_bulkrax_exporters.bulkrax.rb +20 -0
  133. data/.koppie/db/migrate/20250826142445_create_bulkrax_exporter_runs.bulkrax.rb +15 -0
  134. data/.koppie/db/migrate/20250826142446_change_importer_and_exporter_to_polymorphic.bulkrax.rb +19 -0
  135. data/.koppie/db/migrate/20250826142447_add_total_collection_records_to_importer_runs.bulkrax.rb +6 -0
  136. data/.koppie/db/migrate/20250826142448_add_children_to_importer_runs.bulkrax.rb +7 -0
  137. data/.koppie/db/migrate/20250826142449_change_total_records_to_total_work_entries.bulkrax.rb +7 -0
  138. data/.koppie/db/migrate/20250826142450_change_entry_last_error.bulkrax.rb +20 -0
  139. data/.koppie/db/migrate/20250826142451_add_validate_only_to_bulkrax_importers.bulkrax.rb +6 -0
  140. data/.koppie/db/migrate/20250826142452_add_status_to_importers.bulkrax.rb +10 -0
  141. data/.koppie/db/migrate/20250826142453_remove_foreign_key_from_bulkrax_entries.bulkrax.rb +6 -0
  142. data/.koppie/db/migrate/20250826142454_add_status_to_exporters.bulkrax.rb +8 -0
  143. data/.koppie/db/migrate/20250826142455_add_invalid_record_to_importer_run.bulkrax.rb +6 -0
  144. data/.koppie/db/migrate/20250826142456_create_bulkrax_statuses.bulkrax.rb +19 -0
  145. data/.koppie/db/migrate/20250826142457_move_to_statuses.bulkrax.rb +31 -0
  146. data/.koppie/db/migrate/20250826142458_add_date_filter_and_status_to_bulkrax_exporters.bulkrax.rb +8 -0
  147. data/.koppie/db/migrate/20250826142459_add_workflow_status_to_bulkrax_exporter.bulkrax.rb +6 -0
  148. data/.koppie/db/migrate/20250826142460_remove_unused_last_error.bulkrax.rb +8 -0
  149. data/.koppie/db/migrate/20250826142461_increase_text_sizes.bulkrax.rb +13 -0
  150. data/.koppie/db/migrate/20250826142462_change_bulkrax_statuses_error_message_column_type_to_text.bulkrax.rb +6 -0
  151. data/.koppie/db/migrate/20250826142463_rename_children_counters_to_relationships.bulkrax.rb +7 -0
  152. data/.koppie/db/migrate/20250826142464_add_file_set_counters_to_importer_runs.bulkrax.rb +8 -0
  153. data/.koppie/db/migrate/20250826142465_add_import_attempts_to_entries.bulkrax.rb +6 -0
  154. data/.koppie/db/migrate/20250826142466_add_work_counters_to_importer_runs.bulkrax.rb +7 -0
  155. data/.koppie/db/migrate/20250826142467_create_bulkrax_pending_relationships.bulkrax.rb +14 -0
  156. data/.koppie/db/migrate/20250826142468_add_order_to_bulkrax_pending_relationships.bulkrax.rb +6 -0
  157. data/.koppie/db/migrate/20250826142469_add_include_thumbnails_to_bulkrax_exporters.bulkrax.rb +6 -0
  158. data/.koppie/db/migrate/20250826142470_add_generated_metadata_to_bulkrax_exporters.bulkrax.rb +6 -0
  159. data/.koppie/db/migrate/20250826142471_rename_bulkrax_importer_run_to_importer_run.bulkrax.rb +18 -0
  160. data/.koppie/db/migrate/20250826142472_add_indices_to_bulkrax.bulkrax.rb +26 -0
  161. data/.koppie/db/migrate/20250826142473_denormalize_status_message.bulkrax.rb +8 -0
  162. data/.koppie/db/migrate/20250826142474_update_identifier_index.bulkrax.rb +7 -0
  163. data/.koppie/db/migrate/20250826142475_add_index_to_metadata_bulkrax_identifier.bulkrax.rb +19 -0
  164. data/.koppie/db/migrate/20250826142476_add_file_name_to_uploaded_files.bulkrax.rb +6 -0
  165. data/.koppie/db/migrate/20250826142477_add_error_tracking_to_pending_relationships.bulkrax.rb +6 -0
  166. data/.koppie/db/migrate/20250826142478_add_last_imported_at_to_bulkrax_importers.bulkrax.rb +6 -0
  167. data/.koppie/db/migrate/20250826142479_add_next_import_at_to_bulkrax_importers.bulkrax.rb +6 -0
  168. data/.koppie/db/migrate/20250826142480_entry_error_denormalization.bulkrax.rb +8 -0
  169. data/.koppie/db/migrate/20250826142481_faster_first_entry.bulkrax.rb +8 -0
  170. data/.koppie/db/migrate/20260430000001_create_hyrax_redirect_paths.hyrax.rb +13 -0
  171. data/.koppie/db/migrate/20260521003627_add_additional_redirect_info.hyrax.rb +32 -0
  172. data/.koppie/db/schema.rb +154 -1
  173. data/.koppie/package.json +1 -1
  174. data/.koppie/rspec_split_configuration.json +835 -0
  175. data/.koppie/solr/conf/solrconfig.xml +0 -5
  176. data/.koppie/yarn.lock +5587 -752
  177. data/.rubocop.yml +1 -0
  178. data/CONTAINERS.md +2 -0
  179. data/Dockerfile +9 -22
  180. data/Gemfile +0 -1
  181. data/Gemfile.allinson +2 -0
  182. data/README.md +1 -2
  183. data/app/actors/hyrax/actors/file_actor.rb +2 -0
  184. data/app/actors/hyrax/actors/file_set_actor.rb +1 -1
  185. data/app/assets/javascripts/hyrax/app.js.erb +143 -10
  186. data/app/assets/javascripts/hyrax/collection_select.js +68 -0
  187. data/app/assets/javascripts/hyrax/copy_permalink_button.js +28 -0
  188. data/app/assets/javascripts/hyrax/redirects.js +45 -0
  189. data/app/assets/javascripts/hyrax/relationships/control.es6 +21 -1
  190. data/app/assets/javascripts/hyrax/select_work_type.es6 +7 -2
  191. data/app/assets/javascripts/hyrax.js +3 -1
  192. data/app/assets/stylesheets/hyrax/_file-show.scss +1 -0
  193. data/app/assets/stylesheets/hyrax/_viewer.scss +8 -0
  194. data/app/assets/stylesheets/hyrax/dashboard.scss +22 -1
  195. data/app/assets/stylesheets/hyrax/sidebar.scss +98 -3
  196. data/app/authorities/qa/authorities/collections.rb +9 -9
  197. data/app/controllers/concerns/hyrax/analytics_error_handling.rb +97 -0
  198. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +3 -1
  199. data/app/controllers/concerns/hyrax/ensure_migrated_behavior.rb +50 -0
  200. data/app/controllers/concerns/hyrax/flexible_catalog_behavior.rb +206 -0
  201. data/app/controllers/concerns/hyrax/flexible_schema_behavior.rb +17 -0
  202. data/app/controllers/concerns/hyrax/redirect_to_display_url.rb +54 -0
  203. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +52 -10
  204. data/app/controllers/hyrax/admin/admin_sets_controller.rb +21 -13
  205. data/app/controllers/hyrax/admin/analytics/collection_reports_controller.rb +2 -0
  206. data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +1 -0
  207. data/app/controllers/hyrax/admin/metadata_profiles_controller.rb +66 -0
  208. data/app/controllers/hyrax/batch_uploads_controller.rb +2 -0
  209. data/app/controllers/hyrax/dashboard/collections_controller.rb +27 -6
  210. data/app/controllers/hyrax/dashboard/nest_collections_controller.rb +2 -1
  211. data/app/controllers/hyrax/dashboard_controller.rb +2 -1
  212. data/app/controllers/hyrax/file_sets_controller.rb +19 -1
  213. data/app/controllers/hyrax/homepage_controller.rb +7 -0
  214. data/app/controllers/hyrax/my/works_controller.rb +2 -21
  215. data/app/controllers/hyrax/permissions_controller.rb +4 -2
  216. data/app/controllers/hyrax/redirects_controller.rb +56 -0
  217. data/app/controllers/hyrax/single_use_links_viewer_controller.rb +2 -1
  218. data/app/controllers/hyrax/transcripts_controller.rb +31 -0
  219. data/app/controllers/hyrax/uploads_controller.rb +18 -9
  220. data/app/forms/concerns/hyrax/based_near_field_behavior.rb +77 -0
  221. data/app/forms/concerns/hyrax/flexible_form_behavior.rb +37 -0
  222. data/app/forms/concerns/hyrax/redirects_field_behavior.rb +95 -0
  223. data/app/forms/concerns/hyrax/transcripts_behavior.rb +40 -0
  224. data/app/forms/hyrax/forms/admin_set_form.rb +1 -1
  225. data/app/forms/hyrax/forms/administrative_set_form.rb +3 -0
  226. data/app/forms/hyrax/forms/batch_edit_form.rb +1 -3
  227. data/app/forms/hyrax/forms/batch_upload_form.rb +14 -0
  228. data/app/forms/hyrax/forms/file_set_edit_form.rb +1 -1
  229. data/app/forms/hyrax/forms/file_set_form.rb +6 -7
  230. data/app/forms/hyrax/forms/pcdm_collection_form.rb +17 -5
  231. data/app/forms/hyrax/forms/pcdm_object_form.rb +11 -3
  232. data/app/forms/hyrax/forms/resource_batch_edit_form.rb +8 -22
  233. data/app/forms/hyrax/forms/resource_form.rb +110 -10
  234. data/app/forms/hyrax/forms.rb +1 -0
  235. data/app/helpers/hyrax/attributes_helper.rb +109 -0
  236. data/app/helpers/hyrax/blacklight_override.rb +26 -0
  237. data/app/helpers/hyrax/collections_helper.rb +2 -0
  238. data/app/helpers/hyrax/file_set_form_helper.rb +24 -0
  239. data/app/helpers/hyrax/hyrax_helper_behavior.rb +51 -2
  240. data/app/helpers/hyrax/iiif_helper.rb +11 -1
  241. data/app/helpers/hyrax/permalink_helper.rb +37 -0
  242. data/app/helpers/hyrax/redirects_tab_helper.rb +29 -0
  243. data/app/helpers/hyrax/work_form_helper.rb +9 -5
  244. data/app/helpers/hyrax/works_helper.rb +14 -0
  245. data/app/indexers/concerns/hyrax/workflow_indexer.rb +30 -0
  246. data/app/indexers/hyrax/file_set_indexer.rb +1 -0
  247. data/app/indexers/hyrax/indexers/administrative_set_indexer.rb +2 -1
  248. data/app/indexers/hyrax/indexers/file_set_indexer.rb +6 -2
  249. data/app/indexers/hyrax/indexers/pcdm_collection_indexer.rb +11 -1
  250. data/app/indexers/hyrax/indexers/pcdm_object_indexer.rb +25 -4
  251. data/app/indexers/hyrax/indexers/redirects_indexer.rb +29 -0
  252. data/app/indexers/hyrax/indexers/resource_indexer.rb +4 -0
  253. data/app/indexers/hyrax/indexers.rb +2 -0
  254. data/app/inputs/controlled_vocabulary_input.rb +7 -1
  255. data/app/jobs/content_deposit_error_event_job.rb +14 -0
  256. data/app/jobs/create_work_job.rb +2 -0
  257. data/app/jobs/migrate_files_to_valkyrie_job.rb +7 -1
  258. data/app/models/batch_upload_item.rb +4 -0
  259. data/app/models/concerns/hyrax/ability/flexible_metadata_ability.rb +10 -0
  260. data/app/models/concerns/hyrax/ability.rb +3 -1
  261. data/app/models/concerns/hyrax/collection_behavior.rb +4 -0
  262. data/app/models/concerns/hyrax/file_set/transcripts.rb +16 -0
  263. data/app/models/concerns/hyrax/file_set_behavior.rb +9 -0
  264. data/app/models/concerns/hyrax/flexibility.rb +107 -0
  265. data/app/models/concerns/hyrax/redirects_normalization.rb +38 -0
  266. data/app/models/concerns/hyrax/solr_document/characterization.rb +1 -1
  267. data/app/models/concerns/hyrax/solr_document/metadata.rb +9 -0
  268. data/app/models/concerns/hyrax/solr_document/ordered_members.rb +4 -0
  269. data/app/models/concerns/hyrax/solr_document_behavior.rb +28 -6
  270. data/app/models/concerns/hyrax/suppressible.rb +1 -1
  271. data/app/models/concerns/hyrax/valkyrie_lazy_migration.rb +1 -1
  272. data/app/models/concerns/hyrax/with_embargoes_and_leases.rb +30 -0
  273. data/app/models/concerns/hyrax/work_behavior.rb +8 -0
  274. data/app/models/hyrax/administrative_set.rb +1 -1
  275. data/app/models/hyrax/change_set.rb +3 -1
  276. data/app/models/hyrax/embargo.rb +3 -1
  277. data/app/models/hyrax/file_set.rb +4 -2
  278. data/app/models/hyrax/flexible_schema.rb +219 -0
  279. data/app/models/hyrax/lease.rb +3 -1
  280. data/app/models/hyrax/pcdm_collection.rb +4 -1
  281. data/app/models/hyrax/redirect.rb +64 -0
  282. data/app/models/hyrax/redirect_path.rb +14 -0
  283. data/app/models/hyrax/resource.rb +22 -25
  284. data/app/models/hyrax/riiif/file.rb +43 -0
  285. data/app/models/hyrax/riiif/file_resolver.rb +65 -0
  286. data/app/models/hyrax/uploaded_file.rb +9 -0
  287. data/app/models/hyrax/virus_scanner.rb +16 -3
  288. data/app/models/hyrax/work.rb +4 -1
  289. data/app/models/job_io_wrapper.rb +12 -3
  290. data/app/models/user_mailbox.rb +3 -1
  291. data/app/presenters/hyrax/admin_set_presenter.rb +11 -0
  292. data/app/presenters/hyrax/annotates_content.rb +35 -0
  293. data/app/presenters/hyrax/collection_presenter.rb +5 -1
  294. data/app/presenters/hyrax/displays_content.rb +133 -0
  295. data/app/presenters/hyrax/displays_image.rb +11 -4
  296. data/app/presenters/hyrax/displays_transcripts.rb +59 -0
  297. data/app/presenters/hyrax/file_set_presenter.rb +8 -18
  298. data/app/presenters/hyrax/google_scholar_presenter.rb +39 -0
  299. data/app/presenters/hyrax/iiif_manifest_presenter.rb +22 -4
  300. data/app/presenters/hyrax/missing_method_behavior.rb +15 -0
  301. data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +2 -4
  302. data/app/presenters/hyrax/work_show_presenter.rb +56 -14
  303. data/app/renderers/hyrax/renderers/attribute_renderer.rb +6 -2
  304. data/app/renderers/hyrax/renderers/license_attribute_renderer.rb +10 -10
  305. data/app/renderers/hyrax/renderers/redirects_label_attribute_renderer.rb +25 -0
  306. data/app/renderers/hyrax/renderers/rights_statement_attribute_renderer.rb +10 -11
  307. data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +1 -5
  308. data/app/search_builders/hyrax/filter_by_type.rb +1 -1
  309. data/app/services/hyrax/action/create_valkyrie_work.rb +3 -2
  310. data/app/services/hyrax/authority_rendering_helper.rb +28 -0
  311. data/app/services/hyrax/authority_service.rb +107 -0
  312. data/app/services/hyrax/callbacks.rb +2 -2
  313. data/app/services/hyrax/collections/nested_collection_query_service.rb +9 -3
  314. data/app/services/hyrax/collections_service.rb +17 -0
  315. data/app/services/hyrax/custom_queries/find_by_property_value.rb +89 -0
  316. data/app/services/hyrax/edit_permissions_service.rb +4 -4
  317. data/app/services/hyrax/file_set_type_service.rb +12 -4
  318. data/app/services/hyrax/flexible_schema_validator_service.rb +153 -0
  319. data/app/services/hyrax/flexible_schema_validators/class_validator.rb +123 -0
  320. data/app/services/hyrax/flexible_schema_validators/core_metadata_validator.rb +211 -0
  321. data/app/services/hyrax/flexible_schema_validators/existing_records_validator.rb +83 -0
  322. data/app/services/hyrax/flexible_schema_validators/redirects_validator.rb +116 -0
  323. data/app/services/hyrax/flexible_schema_validators/schema_validator.rb +34 -0
  324. data/app/services/hyrax/flexible_schema_validators/sort_properties_validator.rb +54 -0
  325. data/app/services/hyrax/license_service.rb +1 -1
  326. data/app/services/hyrax/listeners/metadata_index_listener.rb +11 -0
  327. data/app/services/hyrax/m3_profile_editor.rb +32 -0
  328. data/app/services/hyrax/m3_schema_loader.rb +119 -0
  329. data/app/services/hyrax/manifest_builder_service.rb +18 -24
  330. data/app/services/hyrax/permalink_path.rb +25 -0
  331. data/app/services/hyrax/qa_select_service.rb +9 -5
  332. data/app/services/hyrax/redirect_path_normalizer.rb +58 -0
  333. data/app/services/hyrax/redirects_lookup.rb +59 -0
  334. data/app/services/hyrax/resource_permissions_visibility_propagator.rb +54 -0
  335. data/app/services/hyrax/resource_types_service.rb +3 -20
  336. data/app/services/hyrax/rights_statement_service.rb +1 -1
  337. data/app/services/hyrax/schema_loader.rb +205 -0
  338. data/app/services/hyrax/search_service.rb +1 -1
  339. data/app/services/hyrax/simple_schema_loader.rb +28 -127
  340. data/app/services/hyrax/solr_service.rb +39 -2
  341. data/app/services/hyrax/tolerant_select_service.rb +5 -3
  342. data/app/services/hyrax/valkyrie_upload.rb +2 -2
  343. data/app/services/hyrax/visibility_propagator.rb +4 -1
  344. data/app/services/hyrax/work_uploads_handler.rb +17 -9
  345. data/app/services/hyrax/workflow/workflow_factory.rb +5 -4
  346. data/app/services/migrate_resource_service.rb +7 -1
  347. data/app/uploaders/hyrax/uploaded_file_uploader.rb +2 -2
  348. data/app/utils/hyrax/data_destroyers/collection_branding_destroyer.rb +1 -1
  349. data/app/utils/hyrax/required_data_seeder.rb +1 -0
  350. data/app/utils/hyrax/required_data_seeders/collection_type_seeder.rb +1 -1
  351. data/app/utils/hyrax/required_data_seeders/flexible_profile_seeder.rb +28 -0
  352. data/app/validators/hyrax/controlled_vocabulary_validator.rb +64 -0
  353. data/app/validators/hyrax/redirect_validator.rb +128 -0
  354. data/app/views/catalog/_thumbnail_list_default.html.erb +2 -2
  355. data/app/views/collections/edit_fields/_schema_version.html.erb +1 -0
  356. data/app/views/hyrax/admin/admin_sets/_form_metadata.html.erb +24 -2
  357. data/app/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb +1 -1
  358. data/app/views/hyrax/admin/admin_sets/show.html.erb +1 -1
  359. data/app/views/hyrax/admin/analytics/_analytics_error.html.erb +42 -0
  360. data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +11 -9
  361. data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +60 -57
  362. data/app/views/hyrax/admin/features/index.html.erb +1 -1
  363. data/app/views/hyrax/admin/metadata_profiles/_import_modal.html.erb +20 -0
  364. data/app/views/hyrax/admin/metadata_profiles/index.html.erb +54 -0
  365. data/app/views/hyrax/base/_attribute_rows.html.erb +4 -21
  366. data/app/views/hyrax/base/_citations.html.erb +1 -0
  367. data/app/views/hyrax/base/_currently_shared.html.erb +2 -1
  368. data/app/views/hyrax/base/_file_manager_thumbnail.html.erb +1 -1
  369. data/app/views/hyrax/base/_form_member_of_collections.html.erb +6 -6
  370. data/app/views/hyrax/base/_form_redirects.html.erb +125 -0
  371. data/app/views/hyrax/base/_form_share.html.erb +7 -2
  372. data/app/views/hyrax/base/_member.html.erb +1 -1
  373. data/app/views/hyrax/base/_social_media.html.erb +1 -1
  374. data/app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb +1 -1
  375. data/app/views/hyrax/base/show.html.erb +3 -0
  376. data/app/views/hyrax/collections/_default_group.html.erb +3 -0
  377. data/app/views/hyrax/collections/_list_collections.html.erb +3 -0
  378. data/app/views/hyrax/collections/_list_works.html.erb +1 -1
  379. data/app/views/hyrax/collections/_show_document_list_row.html.erb +1 -1
  380. data/app/views/hyrax/collections/show.html.erb +4 -0
  381. data/app/views/hyrax/dashboard/_sidebar.html.erb +4 -2
  382. data/app/views/hyrax/dashboard/collections/_button_for_update_collection.html.erb +2 -1
  383. data/app/views/hyrax/dashboard/collections/_default_group.html.erb +3 -0
  384. data/app/views/hyrax/dashboard/collections/_form.html.erb +17 -0
  385. data/app/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb +7 -10
  386. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +3 -0
  387. data/app/views/hyrax/dashboard/collections/_list_works.html.erb +1 -1
  388. data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +1 -1
  389. data/app/views/hyrax/dashboard/profiles/_edit_primary.html.erb +1 -8
  390. data/app/views/hyrax/dashboard/profiles/_trophy_edit.html.erb +1 -1
  391. data/app/views/hyrax/dashboard/profiles/show.html.erb +5 -5
  392. data/app/views/hyrax/dashboard/sidebar/_metadata.html.erb +11 -0
  393. data/app/views/hyrax/dashboard/sidebar/_repository_content.html.erb +1 -0
  394. data/app/views/hyrax/dashboard/works/_default_group.html.erb +3 -0
  395. data/app/views/hyrax/dashboard/works/_list_works.html.erb +4 -2
  396. data/app/views/hyrax/file_sets/_form.html.erb +16 -3
  397. data/app/views/hyrax/file_sets/_metadata.html.erb +35 -0
  398. data/app/views/hyrax/file_sets/_valkyrie_form.html.erb +37 -0
  399. data/app/views/hyrax/file_sets/edit.html.erb +14 -8
  400. data/app/views/hyrax/file_sets/media_display/_audio.html.erb +4 -0
  401. data/app/views/hyrax/file_sets/media_display/_image.html.erb +2 -2
  402. data/app/views/hyrax/file_sets/media_display/_video.html.erb +4 -0
  403. data/app/views/hyrax/homepage/_explore_collections.html.erb +1 -1
  404. data/app/views/hyrax/homepage/_featured_fields.html.erb +1 -1
  405. data/app/views/hyrax/homepage/_recent_document.html.erb +1 -1
  406. data/app/views/hyrax/homepage/robots.text.erb +17 -0
  407. data/app/views/hyrax/my/collections/_default_group.html.erb +3 -0
  408. data/app/views/hyrax/my/collections/_list_collections.html.erb +3 -0
  409. data/app/views/hyrax/my/collections/_modal_add_subcollection.html.erb +2 -2
  410. data/app/views/hyrax/my/collections/_modal_add_to_collection.html.erb +2 -2
  411. data/app/views/hyrax/my/works/_default_group.html.erb +3 -0
  412. data/app/views/hyrax/my/works/_list_works.html.erb +5 -2
  413. data/app/views/hyrax/shared/_copy_permalink.html.erb +10 -0
  414. data/app/views/hyrax/users/_user_info.html.erb +1 -6
  415. data/app/views/layouts/_head_tag_content.html.erb +2 -0
  416. data/app/views/layouts/hyrax/dashboard.html.erb +2 -1
  417. data/app/views/records/edit_fields/_contexts.html.erb +1 -0
  418. data/app/views/records/edit_fields/_license.html.erb +17 -5
  419. data/app/views/records/edit_fields/_resource_type.html.erb +16 -2
  420. data/app/views/records/edit_fields/_rights_statement.html.erb +17 -5
  421. data/app/views/records/edit_fields/_schema_version.html.erb +1 -0
  422. data/app/views/records/edit_fields/_transcript_ids.html.erb +18 -0
  423. data/app/views/records/show_fields/_rights.html.erb +1 -1
  424. data/app/views/shared/_citations.html.erb +46 -31
  425. data/app/views/shared/_schema_version.html.erb +38 -0
  426. data/bin/dev-entrypoint.sh +14 -4
  427. data/chart/hyrax/Chart.yaml +4 -4
  428. data/chart/hyrax/templates/ingress.yaml +3 -0
  429. data/chart/hyrax/values.yaml +10 -8
  430. data/config/features.rb +27 -0
  431. data/config/initializers/blacklight_dynamic_sitemap.rb +43 -0
  432. data/config/initializers/deprecation_patch.rb +27 -0
  433. data/config/initializers/hydra_works.rb +3 -0
  434. data/config/initializers/i18n_extensions.rb +197 -0
  435. data/config/initializers/storage_adapter_initializer.rb +15 -9
  436. data/config/locales/hyrax.de.yml +172 -54
  437. data/config/locales/hyrax.en.yml +183 -66
  438. data/config/locales/hyrax.es.yml +174 -49
  439. data/config/locales/hyrax.fr.yml +169 -45
  440. data/config/locales/hyrax.it.yml +172 -48
  441. data/config/locales/hyrax.pt-BR.yml +172 -54
  442. data/config/locales/hyrax.zh.yml +145 -21
  443. data/config/metadata/basic_metadata.yaml +66 -0
  444. data/config/metadata/batch_edit_metadata.yaml +119 -0
  445. data/config/metadata/file_set_metadata.yaml +19 -0
  446. data/config/metadata/redirects.yaml +15 -0
  447. data/config/metadata_profiles/m3_json_schema.json +487 -0
  448. data/config/metadata_profiles/m3_profile.yaml +954 -0
  449. data/config/routes.rb +9 -0
  450. data/docker-compose-allinson.yml +176 -0
  451. data/docker-compose-dassie.yml +14 -6
  452. data/docker-compose-koppie.yml +18 -10
  453. data/docker-compose-sirenia.yml +20 -10
  454. data/documentation/copy_permalink.md +29 -0
  455. data/documentation/developing-your-hyrax-based-app.md +2 -2
  456. data/documentation/file-ingest-characterization.md +763 -0
  457. data/documentation/flexible_metadata.md +113 -0
  458. data/documentation/forms/field_behaviors.md +297 -0
  459. data/documentation/redirects.md +428 -0
  460. data/hyrax.gemspec +7 -2
  461. data/lib/freyja/metadata_adapter.rb +1 -1
  462. data/lib/freyja/persister.rb +25 -1
  463. data/lib/generators/hyrax/collection_resource/collection_resource_generator.rb +2 -2
  464. data/lib/generators/hyrax/collection_resource/templates/collection.rb.erb +5 -1
  465. data/lib/generators/hyrax/collection_resource/templates/collection_form.rb.erb +5 -1
  466. data/lib/generators/hyrax/collection_resource/templates/collection_indexer.rb.erb +6 -1
  467. data/lib/generators/hyrax/iiif_viewer/USAGE +22 -0
  468. data/lib/generators/hyrax/iiif_viewer/iiif_viewer_generator.rb +49 -0
  469. data/lib/generators/hyrax/iiif_viewer/templates/_clover.html.erb +7 -0
  470. data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.css +3328 -0
  471. data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.html +16 -0
  472. data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.js +237 -0
  473. data/lib/generators/hyrax/install_generator.rb +25 -1
  474. data/lib/generators/hyrax/riiif_generator.rb +1 -1
  475. data/lib/generators/hyrax/templates/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
  476. data/lib/generators/hyrax/templates/config/clamav.rb +2 -0
  477. data/lib/generators/hyrax/templates/config/initializers/riiif.rb +4 -80
  478. data/lib/generators/hyrax/templates/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb.erb +9 -0
  479. data/lib/generators/hyrax/templates/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb.erb +5 -0
  480. data/lib/generators/hyrax/templates/db/migrate/20260430000001_create_hyrax_redirect_paths.rb.erb +22 -0
  481. data/lib/generators/hyrax/templates/db/migrate/20260521003627_add_additional_redirect_info.rb.erb +39 -0
  482. data/lib/generators/hyrax/templates/package.json +1 -1
  483. data/lib/generators/hyrax/templates/uv.html +60 -82
  484. data/lib/generators/hyrax/work/templates/indexer.rb.erb +1 -1
  485. data/lib/generators/hyrax/work/templates/model.rb.erb +5 -1
  486. data/lib/generators/hyrax/work_resource/templates/form.rb.erb +5 -2
  487. data/lib/generators/hyrax/work_resource/templates/indexer.rb.erb +6 -2
  488. data/lib/generators/hyrax/work_resource/templates/work.rb.erb +5 -2
  489. data/lib/generators/hyrax/work_resource/work_resource_generator.rb +1 -0
  490. data/lib/hyrax/active_fedora_dummy_model.rb +6 -0
  491. data/lib/hyrax/configuration.rb +197 -3
  492. data/lib/hyrax/deprecation.rb +31 -0
  493. data/lib/hyrax/engine.rb +2 -0
  494. data/lib/hyrax/form_fields.rb +17 -5
  495. data/lib/hyrax/indexer.rb +31 -2
  496. data/lib/hyrax/resource_sync/resource_list_writer.rb +3 -0
  497. data/lib/hyrax/schema.rb +15 -4
  498. data/lib/hyrax/specs/shared_specs/factories/administrative_sets.rb +12 -0
  499. data/lib/hyrax/specs/shared_specs/factories/hyrax_embargo.rb +1 -1
  500. data/lib/hyrax/specs/shared_specs/factories/hyrax_file_set.rb +13 -0
  501. data/lib/hyrax/specs/shared_specs/factories/hyrax_lease.rb +5 -1
  502. data/lib/hyrax/specs/shared_specs/factories/hyrax_work.rb +14 -0
  503. data/lib/hyrax/specs/shared_specs/simple_work.rb +41 -0
  504. data/lib/hyrax/specs/shared_specs.rb +1 -0
  505. data/lib/hyrax/transactions/collection_create.rb +2 -1
  506. data/lib/hyrax/transactions/collection_destroy.rb +1 -0
  507. data/lib/hyrax/transactions/collection_update.rb +2 -1
  508. data/lib/hyrax/transactions/container.rb +28 -0
  509. data/lib/hyrax/transactions/steps/apply_permission_template_on_update.rb +65 -0
  510. data/lib/hyrax/transactions/steps/apply_workflow_on_admin_set_change.rb +97 -0
  511. data/lib/hyrax/transactions/steps/ensure_admin_set.rb +1 -1
  512. data/lib/hyrax/transactions/steps/remove_redirect_paths.rb +35 -0
  513. data/lib/hyrax/transactions/steps/save.rb +10 -0
  514. data/lib/hyrax/transactions/steps/set_default_admin_set.rb +1 -1
  515. data/lib/hyrax/transactions/steps/sync_redirect_paths.rb +141 -0
  516. data/lib/hyrax/transactions/work_create.rb +2 -1
  517. data/lib/hyrax/transactions/work_destroy.rb +1 -0
  518. data/lib/hyrax/transactions/work_update.rb +4 -1
  519. data/lib/hyrax/version.rb +1 -1
  520. data/lib/hyrax.rb +61 -0
  521. data/lib/tasks/m3_profile_cleanup.rake +35 -0
  522. data/template.rb +4 -1
  523. metadata +313 -19
  524. data/.dassie/public/robots.txt +0 -1
  525. data/.koppie/public/robots.txt +0 -1
  526. data/app/forms/concerns/hyrax/basic_metadata_form_fields_behavior.rb +0 -39
  527. data/app/views/catalog/_thumbnail_list_collection.html.erb +0 -4
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.2.0
4
+ version: 5.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -11,10 +11,9 @@ authors:
11
11
  - Jeremy Friesen
12
12
  - Trey Pendragon
13
13
  - Esmé Cowles
14
- autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
- date: 2025-07-09 00:00:00.000000000 Z
16
+ date: 1980-01-02 00:00:00.000000000 Z
18
17
  dependencies:
19
18
  - !ruby/object:Gem::Dependency
20
19
  name: rails
@@ -92,6 +91,20 @@ dependencies:
92
91
  - - "~>"
93
92
  - !ruby/object:Gem::Version
94
93
  version: '7.29'
94
+ - !ruby/object:Gem::Dependency
95
+ name: blacklight_dynamic_sitemap
96
+ requirement: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: '1.0'
101
+ type: :runtime
102
+ prerelease: false
103
+ version_requirements: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - "~>"
106
+ - !ruby/object:Gem::Version
107
+ version: '1.0'
95
108
  - !ruby/object:Gem::Dependency
96
109
  name: blacklight-gallery
97
110
  requirement: !ruby/object:Gem::Requirement
@@ -446,6 +459,20 @@ dependencies:
446
459
  - - ">="
447
460
  - !ruby/object:Gem::Version
448
461
  version: '0'
462
+ - !ruby/object:Gem::Dependency
463
+ name: json_schemer
464
+ requirement: !ruby/object:Gem::Requirement
465
+ requirements:
466
+ - - ">="
467
+ - !ruby/object:Gem::Version
468
+ version: '0'
469
+ type: :runtime
470
+ prerelease: false
471
+ version_requirements: !ruby/object:Gem::Requirement
472
+ requirements:
473
+ - - ">="
474
+ - !ruby/object:Gem::Version
475
+ version: '0'
449
476
  - !ruby/object:Gem::Dependency
450
477
  name: legato
451
478
  requirement: !ruby/object:Gem::Requirement
@@ -502,6 +529,20 @@ dependencies:
502
529
  - - "~>"
503
530
  - !ruby/object:Gem::Version
504
531
  version: '0.12'
532
+ - !ruby/object:Gem::Dependency
533
+ name: multi_json
534
+ requirement: !ruby/object:Gem::Requirement
535
+ requirements:
536
+ - - '='
537
+ - !ruby/object:Gem::Version
538
+ version: 1.18.0
539
+ type: :runtime
540
+ prerelease: false
541
+ version_requirements: !ruby/object:Gem::Requirement
542
+ requirements:
543
+ - - '='
544
+ - !ruby/object:Gem::Version
545
+ version: 1.18.0
505
546
  - !ruby/object:Gem::Dependency
506
547
  name: nest
507
548
  requirement: !ruby/object:Gem::Requirement
@@ -828,6 +869,20 @@ dependencies:
828
869
  - - "~>"
829
870
  - !ruby/object:Gem::Version
830
871
  version: '3.5'
872
+ - !ruby/object:Gem::Dependency
873
+ name: language_list
874
+ requirement: !ruby/object:Gem::Requirement
875
+ requirements:
876
+ - - ">="
877
+ - !ruby/object:Gem::Version
878
+ version: '0'
879
+ type: :runtime
880
+ prerelease: false
881
+ version_requirements: !ruby/object:Gem::Requirement
882
+ requirements:
883
+ - - ">="
884
+ - !ruby/object:Gem::Version
885
+ version: '0'
831
886
  - !ruby/object:Gem::Dependency
832
887
  name: capybara
833
888
  requirement: !ruby/object:Gem::Requirement
@@ -1072,34 +1127,54 @@ dependencies:
1072
1127
  - - ">="
1073
1128
  - !ruby/object:Gem::Version
1074
1129
  version: 5.0.2
1130
+ - !ruby/object:Gem::Dependency
1131
+ name: rubocop-ast
1132
+ requirement: !ruby/object:Gem::Requirement
1133
+ requirements:
1134
+ - - ">="
1135
+ - !ruby/object:Gem::Version
1136
+ version: 1.17.0
1137
+ - - "<"
1138
+ - !ruby/object:Gem::Version
1139
+ version: '1.30'
1140
+ type: :development
1141
+ prerelease: false
1142
+ version_requirements: !ruby/object:Gem::Requirement
1143
+ requirements:
1144
+ - - ">="
1145
+ - !ruby/object:Gem::Version
1146
+ version: 1.17.0
1147
+ - - "<"
1148
+ - !ruby/object:Gem::Version
1149
+ version: '1.30'
1075
1150
  - !ruby/object:Gem::Dependency
1076
1151
  name: shoulda-callback-matchers
1077
1152
  requirement: !ruby/object:Gem::Requirement
1078
1153
  requirements:
1079
- - - "~>"
1154
+ - - ">="
1080
1155
  - !ruby/object:Gem::Version
1081
- version: 1.1.1
1156
+ version: '0'
1082
1157
  type: :development
1083
1158
  prerelease: false
1084
1159
  version_requirements: !ruby/object:Gem::Requirement
1085
1160
  requirements:
1086
- - - "~>"
1161
+ - - ">="
1087
1162
  - !ruby/object:Gem::Version
1088
- version: 1.1.1
1163
+ version: '0'
1089
1164
  - !ruby/object:Gem::Dependency
1090
1165
  name: shoulda-matchers
1091
1166
  requirement: !ruby/object:Gem::Requirement
1092
1167
  requirements:
1093
- - - "~>"
1168
+ - - ">="
1094
1169
  - !ruby/object:Gem::Version
1095
- version: '3.1'
1170
+ version: '0'
1096
1171
  type: :development
1097
1172
  prerelease: false
1098
1173
  version_requirements: !ruby/object:Gem::Requirement
1099
1174
  requirements:
1100
- - - "~>"
1175
+ - - ">="
1101
1176
  - !ruby/object:Gem::Version
1102
- version: '3.1'
1177
+ version: '0'
1103
1178
  - !ruby/object:Gem::Dependency
1104
1179
  name: webmock
1105
1180
  requirement: !ruby/object:Gem::Requirement
@@ -1147,6 +1222,7 @@ files:
1147
1222
  - ".dassie/app/actors/hyrax/actors/namespaced_works/nested_work_actor.rb"
1148
1223
  - ".dassie/app/assets/config/manifest.js"
1149
1224
  - ".dassie/app/assets/images/.keep"
1225
+ - ".dassie/app/assets/images/bulkrax/removed.png"
1150
1226
  - ".dassie/app/assets/images/unauthorized.png"
1151
1227
  - ".dassie/app/assets/images/us_404.svg"
1152
1228
  - ".dassie/app/assets/javascripts/application.js"
@@ -1166,6 +1242,7 @@ files:
1166
1242
  - ".dassie/app/controllers/hyrax/generic_works_controller.rb"
1167
1243
  - ".dassie/app/controllers/hyrax/monographs_controller.rb"
1168
1244
  - ".dassie/app/controllers/hyrax/namespaced_works/nested_works_controller.rb"
1245
+ - ".dassie/app/forms/admin_set_resource_form.rb"
1169
1246
  - ".dassie/app/forms/collection_resource_form.rb"
1170
1247
  - ".dassie/app/forms/generic_work_resource_form.rb"
1171
1248
  - ".dassie/app/forms/hyrax/generic_work_form.rb"
@@ -1173,6 +1250,7 @@ files:
1173
1250
  - ".dassie/app/forms/monograph_form.rb"
1174
1251
  - ".dassie/app/helpers/application_helper.rb"
1175
1252
  - ".dassie/app/helpers/hyrax_helper.rb"
1253
+ - ".dassie/app/indexers/admin_set_resource_indexer.rb"
1176
1254
  - ".dassie/app/indexers/collection_resource_indexer.rb"
1177
1255
  - ".dassie/app/indexers/generic_work_indexer.rb"
1178
1256
  - ".dassie/app/indexers/generic_work_resource_indexer.rb"
@@ -1187,6 +1265,7 @@ files:
1187
1265
  - ".dassie/app/models/collection.rb"
1188
1266
  - ".dassie/app/models/collection_resource.rb"
1189
1267
  - ".dassie/app/models/concerns/.keep"
1268
+ - ".dassie/app/models/concerns/bulkrax/has_local_processing.rb"
1190
1269
  - ".dassie/app/models/file_set.rb"
1191
1270
  - ".dassie/app/models/generic_work.rb"
1192
1271
  - ".dassie/app/models/generic_work_resource.rb"
@@ -1201,6 +1280,7 @@ files:
1201
1280
  - ".dassie/app/models/user.rb"
1202
1281
  - ".dassie/app/presenters/hyrax/generic_work_presenter.rb"
1203
1282
  - ".dassie/app/presenters/hyrax/namespaced_works/nested_work_presenter.rb"
1283
+ - ".dassie/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder"
1204
1284
  - ".dassie/app/views/hyrax/generic_work_resources/_generic_work_resource.html.erb"
1205
1285
  - ".dassie/app/views/hyrax/generic_works/_generic_work.html.erb"
1206
1286
  - ".dassie/app/views/hyrax/monographs/_monograph.html.erb"
@@ -1210,10 +1290,12 @@ files:
1210
1290
  - ".dassie/app/views/layouts/mailer.text.erb"
1211
1291
  - ".dassie/app/views/shared/_footer.html.erb"
1212
1292
  - ".dassie/bin/bundle"
1293
+ - ".dassie/bin/importer"
1213
1294
  - ".dassie/bin/rails"
1214
1295
  - ".dassie/bin/rake"
1215
1296
  - ".dassie/bin/setup"
1216
1297
  - ".dassie/bin/update"
1298
+ - ".dassie/bin/web"
1217
1299
  - ".dassie/bin/yarn"
1218
1300
  - ".dassie/config.ru"
1219
1301
  - ".dassie/config/analytics.yml"
@@ -1225,6 +1307,7 @@ files:
1225
1307
  - ".dassie/config/blacklight.yml"
1226
1308
  - ".dassie/config/boot.rb"
1227
1309
  - ".dassie/config/browse_everything_providers.yml"
1310
+ - ".dassie/config/bulkrax_api.yml"
1228
1311
  - ".dassie/config/cable.yml"
1229
1312
  - ".dassie/config/credentials.yml.enc"
1230
1313
  - ".dassie/config/database.yml"
@@ -1235,6 +1318,7 @@ files:
1235
1318
  - ".dassie/config/fedora.yml"
1236
1319
  - ".dassie/config/initializers/arkivo_constraint.rb"
1237
1320
  - ".dassie/config/initializers/assets.rb"
1321
+ - ".dassie/config/initializers/bulkrax.rb"
1238
1322
  - ".dassie/config/initializers/clamav.rb"
1239
1323
  - ".dassie/config/initializers/cookies_serializer.rb"
1240
1324
  - ".dassie/config/initializers/devise.rb"
@@ -1279,10 +1363,12 @@ files:
1279
1363
  - ".dassie/config/metadata/generic_work_resource.yaml"
1280
1364
  - ".dassie/config/metadata/monograph.yaml"
1281
1365
  - ".dassie/config/metadata/sample_metadata.yaml"
1366
+ - ".dassie/config/metadata_profiles/m3_profile.yaml"
1282
1367
  - ".dassie/config/puma.rb"
1283
1368
  - ".dassie/config/redis.yml"
1284
1369
  - ".dassie/config/role_map.yml"
1285
1370
  - ".dassie/config/routes.rb"
1371
+ - ".dassie/config/sidekiq.yml"
1286
1372
  - ".dassie/config/solr.yml"
1287
1373
  - ".dassie/config/storage.yml"
1288
1374
  - ".dassie/config/tinymce.yml"
@@ -1371,7 +1457,55 @@ files:
1371
1457
  - ".dassie/db/migrate/20230808102105_add_indices_to_hyrax_counter_metrics.hyrax.rb"
1372
1458
  - ".dassie/db/migrate/20230821153635_add_fields_to_counter_metric.rb"
1373
1459
  - ".dassie/db/migrate/20240506070809_valkyrie_id_to_string.rb"
1460
+ - ".dassie/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb"
1461
+ - ".dassie/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb"
1374
1462
  - ".dassie/db/migrate/20250328100249_user_roles.rb"
1463
+ - ".dassie/db/migrate/20250826142438_create_bulkrax_importers.bulkrax.rb"
1464
+ - ".dassie/db/migrate/20250826142439_create_bulkrax_importer_runs.bulkrax.rb"
1465
+ - ".dassie/db/migrate/20250826142440_create_bulkrax_entries.bulkrax.rb"
1466
+ - ".dassie/db/migrate/20250826142441_add_status_to_entry.bulkrax.rb"
1467
+ - ".dassie/db/migrate/20250826142442_add_collections_to_importer_runs.bulkrax.rb"
1468
+ - ".dassie/db/migrate/20250826142443_change_collection_ids_on_entries.bulkrax.rb"
1469
+ - ".dassie/db/migrate/20250826142444_create_bulkrax_exporters.bulkrax.rb"
1470
+ - ".dassie/db/migrate/20250826142445_create_bulkrax_exporter_runs.bulkrax.rb"
1471
+ - ".dassie/db/migrate/20250826142446_change_importer_and_exporter_to_polymorphic.bulkrax.rb"
1472
+ - ".dassie/db/migrate/20250826142447_add_total_collection_records_to_importer_runs.bulkrax.rb"
1473
+ - ".dassie/db/migrate/20250826142448_add_children_to_importer_runs.bulkrax.rb"
1474
+ - ".dassie/db/migrate/20250826142449_change_total_records_to_total_work_entries.bulkrax.rb"
1475
+ - ".dassie/db/migrate/20250826142450_change_entry_last_error.bulkrax.rb"
1476
+ - ".dassie/db/migrate/20250826142451_add_validate_only_to_bulkrax_importers.bulkrax.rb"
1477
+ - ".dassie/db/migrate/20250826142452_add_status_to_importers.bulkrax.rb"
1478
+ - ".dassie/db/migrate/20250826142453_remove_foreign_key_from_bulkrax_entries.bulkrax.rb"
1479
+ - ".dassie/db/migrate/20250826142454_add_status_to_exporters.bulkrax.rb"
1480
+ - ".dassie/db/migrate/20250826142455_add_invalid_record_to_importer_run.bulkrax.rb"
1481
+ - ".dassie/db/migrate/20250826142456_create_bulkrax_statuses.bulkrax.rb"
1482
+ - ".dassie/db/migrate/20250826142457_move_to_statuses.bulkrax.rb"
1483
+ - ".dassie/db/migrate/20250826142458_add_date_filter_and_status_to_bulkrax_exporters.bulkrax.rb"
1484
+ - ".dassie/db/migrate/20250826142459_add_workflow_status_to_bulkrax_exporter.bulkrax.rb"
1485
+ - ".dassie/db/migrate/20250826142460_remove_unused_last_error.bulkrax.rb"
1486
+ - ".dassie/db/migrate/20250826142461_increase_text_sizes.bulkrax.rb"
1487
+ - ".dassie/db/migrate/20250826142462_change_bulkrax_statuses_error_message_column_type_to_text.bulkrax.rb"
1488
+ - ".dassie/db/migrate/20250826142463_rename_children_counters_to_relationships.bulkrax.rb"
1489
+ - ".dassie/db/migrate/20250826142464_add_file_set_counters_to_importer_runs.bulkrax.rb"
1490
+ - ".dassie/db/migrate/20250826142465_add_import_attempts_to_entries.bulkrax.rb"
1491
+ - ".dassie/db/migrate/20250826142466_add_work_counters_to_importer_runs.bulkrax.rb"
1492
+ - ".dassie/db/migrate/20250826142467_create_bulkrax_pending_relationships.bulkrax.rb"
1493
+ - ".dassie/db/migrate/20250826142468_add_order_to_bulkrax_pending_relationships.bulkrax.rb"
1494
+ - ".dassie/db/migrate/20250826142469_add_include_thumbnails_to_bulkrax_exporters.bulkrax.rb"
1495
+ - ".dassie/db/migrate/20250826142470_add_generated_metadata_to_bulkrax_exporters.bulkrax.rb"
1496
+ - ".dassie/db/migrate/20250826142471_rename_bulkrax_importer_run_to_importer_run.bulkrax.rb"
1497
+ - ".dassie/db/migrate/20250826142472_add_indices_to_bulkrax.bulkrax.rb"
1498
+ - ".dassie/db/migrate/20250826142473_denormalize_status_message.bulkrax.rb"
1499
+ - ".dassie/db/migrate/20250826142474_update_identifier_index.bulkrax.rb"
1500
+ - ".dassie/db/migrate/20250826142475_add_index_to_metadata_bulkrax_identifier.bulkrax.rb"
1501
+ - ".dassie/db/migrate/20250826142476_add_file_name_to_uploaded_files.bulkrax.rb"
1502
+ - ".dassie/db/migrate/20250826142477_add_error_tracking_to_pending_relationships.bulkrax.rb"
1503
+ - ".dassie/db/migrate/20250826142478_add_last_imported_at_to_bulkrax_importers.bulkrax.rb"
1504
+ - ".dassie/db/migrate/20250826142479_add_next_import_at_to_bulkrax_importers.bulkrax.rb"
1505
+ - ".dassie/db/migrate/20250826142480_entry_error_denormalization.bulkrax.rb"
1506
+ - ".dassie/db/migrate/20250826142481_faster_first_entry.bulkrax.rb"
1507
+ - ".dassie/db/migrate/20260430000001_create_hyrax_redirect_paths.hyrax.rb"
1508
+ - ".dassie/db/migrate/20260521003627_add_additional_redirect_info.hyrax.rb"
1375
1509
  - ".dassie/db/schema.rb"
1376
1510
  - ".dassie/db/seeds.rb"
1377
1511
  - ".dassie/lib/assets/.keep"
@@ -1384,7 +1518,7 @@ files:
1384
1518
  - ".dassie/public/apple-touch-icon-precomposed.png"
1385
1519
  - ".dassie/public/apple-touch-icon.png"
1386
1520
  - ".dassie/public/favicon.ico"
1387
- - ".dassie/public/robots.txt"
1521
+ - ".dassie/rspec_split_configuration.json"
1388
1522
  - ".dassie/solr/conf/_rest_managed.json"
1389
1523
  - ".dassie/solr/conf/mapping-ISOLatin1Accent.txt"
1390
1524
  - ".dassie/solr/conf/schema.xml"
@@ -1414,13 +1548,14 @@ files:
1414
1548
  - ".fcrepo_wrapper"
1415
1549
  - ".github/CODE_OF_CONDUCT.md"
1416
1550
  - ".github/CONTRIBUTING.md"
1417
- - ".github/ISSUE_TEMPLATE.md"
1551
+ - ".github/ISSUE_TEMPLATE/issue_template.md"
1418
1552
  - ".github/PULL_REQUEST_TEMPLATE.md"
1419
1553
  - ".github/SUPPORT.md"
1420
1554
  - ".github/release.yml"
1421
1555
  - ".github/stale.yml"
1422
1556
  - ".github/workflows/build.yml"
1423
1557
  - ".github/workflows/lint-build-test.yml"
1558
+ - ".github/workflows/release-charts.yml"
1424
1559
  - ".github/workflows/release.yml"
1425
1560
  - ".github/workflows/test-results.yml"
1426
1561
  - ".gitignore"
@@ -1437,6 +1572,7 @@ files:
1437
1572
  - ".koppie/Rakefile"
1438
1573
  - ".koppie/app/assets/config/manifest.js"
1439
1574
  - ".koppie/app/assets/images/.keep"
1575
+ - ".koppie/app/assets/images/bulkrax/removed.png"
1440
1576
  - ".koppie/app/assets/images/unauthorized.png"
1441
1577
  - ".koppie/app/assets/images/us_404.svg"
1442
1578
  - ".koppie/app/assets/javascripts/application.js"
@@ -1455,11 +1591,13 @@ files:
1455
1591
  - ".koppie/app/controllers/hyrax/generic_works_controller.rb"
1456
1592
  - ".koppie/app/controllers/hyrax/monographs_controller.rb"
1457
1593
  - ".koppie/app/forms/collection_resource_form.rb"
1594
+ - ".koppie/app/forms/file_set_form.rb"
1458
1595
  - ".koppie/app/forms/generic_work_form.rb"
1459
1596
  - ".koppie/app/forms/monograph_form.rb"
1460
1597
  - ".koppie/app/helpers/application_helper.rb"
1461
1598
  - ".koppie/app/helpers/hyrax_helper.rb"
1462
1599
  - ".koppie/app/indexers/collection_resource_indexer.rb"
1600
+ - ".koppie/app/indexers/file_set_indexer.rb"
1463
1601
  - ".koppie/app/indexers/generic_work_indexer.rb"
1464
1602
  - ".koppie/app/indexers/monograph_indexer.rb"
1465
1603
  - ".koppie/app/jobs/application_job.rb"
@@ -1470,6 +1608,7 @@ files:
1470
1608
  - ".koppie/app/models/collection.rb"
1471
1609
  - ".koppie/app/models/collection_resource.rb"
1472
1610
  - ".koppie/app/models/concerns/.keep"
1611
+ - ".koppie/app/models/concerns/bulkrax/has_local_processing.rb"
1473
1612
  - ".koppie/app/models/file_set.rb"
1474
1613
  - ".koppie/app/models/generic_work.rb"
1475
1614
  - ".koppie/app/models/monograph.rb"
@@ -1479,6 +1618,7 @@ files:
1479
1618
  - ".koppie/app/models/search_builder.rb"
1480
1619
  - ".koppie/app/models/solr_document.rb"
1481
1620
  - ".koppie/app/models/user.rb"
1621
+ - ".koppie/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder"
1482
1622
  - ".koppie/app/views/hyrax/generic_works/_generic_work.html.erb"
1483
1623
  - ".koppie/app/views/hyrax/monographs/_monograph.html.erb"
1484
1624
  - ".koppie/app/views/layouts/application.html.erb"
@@ -1486,10 +1626,12 @@ files:
1486
1626
  - ".koppie/app/views/layouts/mailer.text.erb"
1487
1627
  - ".koppie/app/views/shared/_footer.html.erb"
1488
1628
  - ".koppie/bin/bundle"
1629
+ - ".koppie/bin/importer"
1489
1630
  - ".koppie/bin/rails"
1490
1631
  - ".koppie/bin/rake"
1491
1632
  - ".koppie/bin/setup"
1492
1633
  - ".koppie/bin/update"
1634
+ - ".koppie/bin/web"
1493
1635
  - ".koppie/bin/yarn"
1494
1636
  - ".koppie/config.ru"
1495
1637
  - ".koppie/config/analytics.yml"
@@ -1501,6 +1643,7 @@ files:
1501
1643
  - ".koppie/config/blacklight.yml"
1502
1644
  - ".koppie/config/boot.rb"
1503
1645
  - ".koppie/config/browse_everything_providers.yml"
1646
+ - ".koppie/config/bulkrax_api.yml"
1504
1647
  - ".koppie/config/cable.yml"
1505
1648
  - ".koppie/config/credentials.yml.enc"
1506
1649
  - ".koppie/config/database.yml"
@@ -1514,6 +1657,7 @@ files:
1514
1657
  - ".koppie/config/initializers/arkivo_constraint.rb"
1515
1658
  - ".koppie/config/initializers/assets.rb"
1516
1659
  - ".koppie/config/initializers/backtrace_silencers.rb"
1660
+ - ".koppie/config/initializers/bulkrax.rb"
1517
1661
  - ".koppie/config/initializers/clamav.rb"
1518
1662
  - ".koppie/config/initializers/content_security_policy.rb"
1519
1663
  - ".koppie/config/initializers/cookies_serializer.rb"
@@ -1546,6 +1690,7 @@ files:
1546
1690
  - ".koppie/config/metadata/generic_work.yaml"
1547
1691
  - ".koppie/config/metadata/monograph.yaml"
1548
1692
  - ".koppie/config/metadata/sample_metadata.yaml"
1693
+ - ".koppie/config/metadata_profiles/m3_profile.yaml"
1549
1694
  - ".koppie/config/puma.rb"
1550
1695
  - ".koppie/config/redis.yml"
1551
1696
  - ".koppie/config/role_map.yml"
@@ -1637,6 +1782,54 @@ files:
1637
1782
  - ".koppie/db/migrate/20211207172259_create_default_administrative_set.hyrax.rb"
1638
1783
  - ".koppie/db/migrate/20230725222727_create_hyrax_counter_metrics.hyrax.rb"
1639
1784
  - ".koppie/db/migrate/20230803165135_change_work_id_to_string.rb"
1785
+ - ".koppie/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb"
1786
+ - ".koppie/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb"
1787
+ - ".koppie/db/migrate/20250826142438_create_bulkrax_importers.bulkrax.rb"
1788
+ - ".koppie/db/migrate/20250826142439_create_bulkrax_importer_runs.bulkrax.rb"
1789
+ - ".koppie/db/migrate/20250826142440_create_bulkrax_entries.bulkrax.rb"
1790
+ - ".koppie/db/migrate/20250826142441_add_status_to_entry.bulkrax.rb"
1791
+ - ".koppie/db/migrate/20250826142442_add_collections_to_importer_runs.bulkrax.rb"
1792
+ - ".koppie/db/migrate/20250826142443_change_collection_ids_on_entries.bulkrax.rb"
1793
+ - ".koppie/db/migrate/20250826142444_create_bulkrax_exporters.bulkrax.rb"
1794
+ - ".koppie/db/migrate/20250826142445_create_bulkrax_exporter_runs.bulkrax.rb"
1795
+ - ".koppie/db/migrate/20250826142446_change_importer_and_exporter_to_polymorphic.bulkrax.rb"
1796
+ - ".koppie/db/migrate/20250826142447_add_total_collection_records_to_importer_runs.bulkrax.rb"
1797
+ - ".koppie/db/migrate/20250826142448_add_children_to_importer_runs.bulkrax.rb"
1798
+ - ".koppie/db/migrate/20250826142449_change_total_records_to_total_work_entries.bulkrax.rb"
1799
+ - ".koppie/db/migrate/20250826142450_change_entry_last_error.bulkrax.rb"
1800
+ - ".koppie/db/migrate/20250826142451_add_validate_only_to_bulkrax_importers.bulkrax.rb"
1801
+ - ".koppie/db/migrate/20250826142452_add_status_to_importers.bulkrax.rb"
1802
+ - ".koppie/db/migrate/20250826142453_remove_foreign_key_from_bulkrax_entries.bulkrax.rb"
1803
+ - ".koppie/db/migrate/20250826142454_add_status_to_exporters.bulkrax.rb"
1804
+ - ".koppie/db/migrate/20250826142455_add_invalid_record_to_importer_run.bulkrax.rb"
1805
+ - ".koppie/db/migrate/20250826142456_create_bulkrax_statuses.bulkrax.rb"
1806
+ - ".koppie/db/migrate/20250826142457_move_to_statuses.bulkrax.rb"
1807
+ - ".koppie/db/migrate/20250826142458_add_date_filter_and_status_to_bulkrax_exporters.bulkrax.rb"
1808
+ - ".koppie/db/migrate/20250826142459_add_workflow_status_to_bulkrax_exporter.bulkrax.rb"
1809
+ - ".koppie/db/migrate/20250826142460_remove_unused_last_error.bulkrax.rb"
1810
+ - ".koppie/db/migrate/20250826142461_increase_text_sizes.bulkrax.rb"
1811
+ - ".koppie/db/migrate/20250826142462_change_bulkrax_statuses_error_message_column_type_to_text.bulkrax.rb"
1812
+ - ".koppie/db/migrate/20250826142463_rename_children_counters_to_relationships.bulkrax.rb"
1813
+ - ".koppie/db/migrate/20250826142464_add_file_set_counters_to_importer_runs.bulkrax.rb"
1814
+ - ".koppie/db/migrate/20250826142465_add_import_attempts_to_entries.bulkrax.rb"
1815
+ - ".koppie/db/migrate/20250826142466_add_work_counters_to_importer_runs.bulkrax.rb"
1816
+ - ".koppie/db/migrate/20250826142467_create_bulkrax_pending_relationships.bulkrax.rb"
1817
+ - ".koppie/db/migrate/20250826142468_add_order_to_bulkrax_pending_relationships.bulkrax.rb"
1818
+ - ".koppie/db/migrate/20250826142469_add_include_thumbnails_to_bulkrax_exporters.bulkrax.rb"
1819
+ - ".koppie/db/migrate/20250826142470_add_generated_metadata_to_bulkrax_exporters.bulkrax.rb"
1820
+ - ".koppie/db/migrate/20250826142471_rename_bulkrax_importer_run_to_importer_run.bulkrax.rb"
1821
+ - ".koppie/db/migrate/20250826142472_add_indices_to_bulkrax.bulkrax.rb"
1822
+ - ".koppie/db/migrate/20250826142473_denormalize_status_message.bulkrax.rb"
1823
+ - ".koppie/db/migrate/20250826142474_update_identifier_index.bulkrax.rb"
1824
+ - ".koppie/db/migrate/20250826142475_add_index_to_metadata_bulkrax_identifier.bulkrax.rb"
1825
+ - ".koppie/db/migrate/20250826142476_add_file_name_to_uploaded_files.bulkrax.rb"
1826
+ - ".koppie/db/migrate/20250826142477_add_error_tracking_to_pending_relationships.bulkrax.rb"
1827
+ - ".koppie/db/migrate/20250826142478_add_last_imported_at_to_bulkrax_importers.bulkrax.rb"
1828
+ - ".koppie/db/migrate/20250826142479_add_next_import_at_to_bulkrax_importers.bulkrax.rb"
1829
+ - ".koppie/db/migrate/20250826142480_entry_error_denormalization.bulkrax.rb"
1830
+ - ".koppie/db/migrate/20250826142481_faster_first_entry.bulkrax.rb"
1831
+ - ".koppie/db/migrate/20260430000001_create_hyrax_redirect_paths.hyrax.rb"
1832
+ - ".koppie/db/migrate/20260521003627_add_additional_redirect_info.hyrax.rb"
1640
1833
  - ".koppie/db/schema.rb"
1641
1834
  - ".koppie/db/seeds.rb"
1642
1835
  - ".koppie/lib/assets/.keep"
@@ -1650,7 +1843,7 @@ files:
1650
1843
  - ".koppie/public/apple-touch-icon.png"
1651
1844
  - ".koppie/public/branding/.keep"
1652
1845
  - ".koppie/public/favicon.ico"
1653
- - ".koppie/public/robots.txt"
1846
+ - ".koppie/rspec_split_configuration.json"
1654
1847
  - ".koppie/solr/conf/_rest_managed.json"
1655
1848
  - ".koppie/solr/conf/admin-extra.html"
1656
1849
  - ".koppie/solr/conf/elevate.xml"
@@ -1696,6 +1889,7 @@ files:
1696
1889
  - CONTRIBUTING.md
1697
1890
  - Dockerfile
1698
1891
  - Gemfile
1892
+ - Gemfile.allinson
1699
1893
  - Gemfile.dassie
1700
1894
  - Gemfile.koppie
1701
1895
  - LICENSE
@@ -1767,6 +1961,7 @@ files:
1767
1961
  - app/assets/javascripts/hyrax/batch_select_all.js
1768
1962
  - app/assets/javascripts/hyrax/browse_everything.js
1769
1963
  - app/assets/javascripts/hyrax/collapse.js
1964
+ - app/assets/javascripts/hyrax/collection_select.js
1770
1965
  - app/assets/javascripts/hyrax/collection_types.es6
1771
1966
  - app/assets/javascripts/hyrax/collections.js
1772
1967
  - app/assets/javascripts/hyrax/collections/editor.es6
@@ -1774,6 +1969,7 @@ files:
1774
1969
  - app/assets/javascripts/hyrax/collections_v2.es6
1775
1970
  - app/assets/javascripts/hyrax/config.js.erb
1776
1971
  - app/assets/javascripts/hyrax/content_blocks.js
1972
+ - app/assets/javascripts/hyrax/copy_permalink_button.js
1777
1973
  - app/assets/javascripts/hyrax/dashboard_actions.js
1778
1974
  - app/assets/javascripts/hyrax/editor.es6
1779
1975
  - app/assets/javascripts/hyrax/editor/admin_set_widget.es6
@@ -1803,6 +1999,7 @@ files:
1803
1999
  - app/assets/javascripts/hyrax/permissions/registry_entry.es6
1804
2000
  - app/assets/javascripts/hyrax/permissions/user_controls.es6
1805
2001
  - app/assets/javascripts/hyrax/proxy_rights.js
2002
+ - app/assets/javascripts/hyrax/redirects.js
1806
2003
  - app/assets/javascripts/hyrax/relationships.js
1807
2004
  - app/assets/javascripts/hyrax/relationships/confirm_remove_dialog.es6
1808
2005
  - app/assets/javascripts/hyrax/relationships/control.es6
@@ -1895,6 +2092,7 @@ files:
1895
2092
  - app/connections/hyrax/clean_connection.rb
1896
2093
  - app/controllers/concerns/hyrax/admin/stats_behavior.rb
1897
2094
  - app/controllers/concerns/hyrax/admin/users_controller_behavior.rb
2095
+ - app/controllers/concerns/hyrax/analytics_error_handling.rb
1898
2096
  - app/controllers/concerns/hyrax/api.rb
1899
2097
  - app/controllers/concerns/hyrax/breadcrumbs.rb
1900
2098
  - app/controllers/concerns/hyrax/breadcrumbs_for_collection_analytics.rb
@@ -1907,9 +2105,13 @@ files:
1907
2105
  - app/controllers/concerns/hyrax/controller.rb
1908
2106
  - app/controllers/concerns/hyrax/deny_access_override_behavior.rb
1909
2107
  - app/controllers/concerns/hyrax/embargoes_controller_behavior.rb
2108
+ - app/controllers/concerns/hyrax/ensure_migrated_behavior.rb
2109
+ - app/controllers/concerns/hyrax/flexible_catalog_behavior.rb
2110
+ - app/controllers/concerns/hyrax/flexible_schema_behavior.rb
1910
2111
  - app/controllers/concerns/hyrax/leases_controller_behavior.rb
1911
2112
  - app/controllers/concerns/hyrax/local_file_downloads_controller_behavior.rb
1912
2113
  - app/controllers/concerns/hyrax/manages_embargoes.rb
2114
+ - app/controllers/concerns/hyrax/redirect_to_display_url.rb
1913
2115
  - app/controllers/concerns/hyrax/singular_subresource_controller.rb
1914
2116
  - app/controllers/concerns/hyrax/stream_file_downloads_controller_behavior.rb
1915
2117
  - app/controllers/concerns/hyrax/themed_layout_controller.rb
@@ -1923,6 +2125,7 @@ files:
1923
2125
  - app/controllers/hyrax/admin/collection_type_participants_controller.rb
1924
2126
  - app/controllers/hyrax/admin/collection_types_controller.rb
1925
2127
  - app/controllers/hyrax/admin/features_controller.rb
2128
+ - app/controllers/hyrax/admin/metadata_profiles_controller.rb
1926
2129
  - app/controllers/hyrax/admin/permission_template_accesses_controller.rb
1927
2130
  - app/controllers/hyrax/admin/permission_templates_controller.rb
1928
2131
  - app/controllers/hyrax/admin/stats_controller.rb
@@ -1962,21 +2165,26 @@ files:
1962
2165
  - app/controllers/hyrax/operations_controller.rb
1963
2166
  - app/controllers/hyrax/pages_controller.rb
1964
2167
  - app/controllers/hyrax/permissions_controller.rb
2168
+ - app/controllers/hyrax/redirects_controller.rb
1965
2169
  - app/controllers/hyrax/resource_sync_controller.rb
1966
2170
  - app/controllers/hyrax/single_use_links_controller.rb
1967
2171
  - app/controllers/hyrax/single_use_links_viewer_controller.rb
1968
2172
  - app/controllers/hyrax/static_controller.rb
1969
2173
  - app/controllers/hyrax/stats_controller.rb
2174
+ - app/controllers/hyrax/transcripts_controller.rb
1970
2175
  - app/controllers/hyrax/transfers_controller.rb
1971
2176
  - app/controllers/hyrax/trophies_controller.rb
1972
2177
  - app/controllers/hyrax/uploads_controller.rb
1973
2178
  - app/controllers/hyrax/users_controller.rb
1974
2179
  - app/controllers/hyrax/workflow_actions_controller.rb
1975
- - app/forms/concerns/hyrax/basic_metadata_form_fields_behavior.rb
2180
+ - app/forms/concerns/hyrax/based_near_field_behavior.rb
1976
2181
  - app/forms/concerns/hyrax/contained_in_works_behavior.rb
1977
2182
  - app/forms/concerns/hyrax/deposit_agreement_behavior.rb
2183
+ - app/forms/concerns/hyrax/flexible_form_behavior.rb
1978
2184
  - app/forms/concerns/hyrax/leaseability_behavior.rb
1979
2185
  - app/forms/concerns/hyrax/permission_behavior.rb
2186
+ - app/forms/concerns/hyrax/redirects_field_behavior.rb
2187
+ - app/forms/concerns/hyrax/transcripts_behavior.rb
1980
2188
  - app/forms/hyrax/forms.rb
1981
2189
  - app/forms/hyrax/forms/admin/appearance.rb
1982
2190
  - app/forms/hyrax/forms/admin/collection_type_form.rb
@@ -2006,6 +2214,7 @@ files:
2006
2214
  - app/forms/hyrax/forms/workflow_action_form.rb
2007
2215
  - app/forms/hyrax/forms/workflow_responsibility_form.rb
2008
2216
  - app/helpers/hyrax/ability_helper.rb
2217
+ - app/helpers/hyrax/attributes_helper.rb
2009
2218
  - app/helpers/hyrax/batch_edits_helper.rb
2010
2219
  - app/helpers/hyrax/blacklight_override.rb
2011
2220
  - app/helpers/hyrax/charts_helper.rb
@@ -2026,23 +2235,28 @@ files:
2026
2235
  - app/helpers/hyrax/dashboard_helper_behavior.rb
2027
2236
  - app/helpers/hyrax/embargo_helper.rb
2028
2237
  - app/helpers/hyrax/facets_helper.rb
2238
+ - app/helpers/hyrax/file_set_form_helper.rb
2029
2239
  - app/helpers/hyrax/file_set_helper.rb
2030
2240
  - app/helpers/hyrax/hyrax_helper_behavior.rb
2031
2241
  - app/helpers/hyrax/iiif_helper.rb
2032
2242
  - app/helpers/hyrax/lease_helper.rb
2033
2243
  - app/helpers/hyrax/membership_helper.rb
2244
+ - app/helpers/hyrax/permalink_helper.rb
2034
2245
  - app/helpers/hyrax/permission_levels_helper.rb
2035
2246
  - app/helpers/hyrax/permissions_helper.rb
2247
+ - app/helpers/hyrax/redirects_tab_helper.rb
2036
2248
  - app/helpers/hyrax/title_helper.rb
2037
2249
  - app/helpers/hyrax/trophy_helper.rb
2038
2250
  - app/helpers/hyrax/work_form_helper.rb
2039
2251
  - app/helpers/hyrax/workflows_helper.rb
2252
+ - app/helpers/hyrax/works_helper.rb
2040
2253
  - app/indexers/concerns/hyrax/indexes_basic_metadata.rb
2041
2254
  - app/indexers/concerns/hyrax/indexes_linked_metadata.rb
2042
2255
  - app/indexers/concerns/hyrax/location_indexer.rb
2043
2256
  - app/indexers/concerns/hyrax/permission_indexer.rb
2044
2257
  - app/indexers/concerns/hyrax/thumbnail_indexer.rb
2045
2258
  - app/indexers/concerns/hyrax/visibility_indexer.rb
2259
+ - app/indexers/concerns/hyrax/workflow_indexer.rb
2046
2260
  - app/indexers/hyrax/admin_set_indexer.rb
2047
2261
  - app/indexers/hyrax/administrative_set_indexer.rb
2048
2262
  - app/indexers/hyrax/basic_metadata_indexer.rb
@@ -2055,6 +2269,7 @@ files:
2055
2269
  - app/indexers/hyrax/indexers/file_set_indexer.rb
2056
2270
  - app/indexers/hyrax/indexers/pcdm_collection_indexer.rb
2057
2271
  - app/indexers/hyrax/indexers/pcdm_object_indexer.rb
2272
+ - app/indexers/hyrax/indexers/redirects_indexer.rb
2058
2273
  - app/indexers/hyrax/indexers/resource_indexer.rb
2059
2274
  - app/indexers/hyrax/indexes_workflow.rb
2060
2275
  - app/indexers/hyrax/pcdm_collection_indexer.rb
@@ -2075,6 +2290,7 @@ files:
2075
2290
  - app/jobs/concerns/hyrax/permission_job_behavior.rb
2076
2291
  - app/jobs/concerns/hyrax/queued_job_behavior.rb
2077
2292
  - app/jobs/content_delete_event_job.rb
2293
+ - app/jobs/content_deposit_error_event_job.rb
2078
2294
  - app/jobs/content_deposit_event_job.rb
2079
2295
  - app/jobs/content_event_job.rb
2080
2296
  - app/jobs/content_new_version_event_job.rb
@@ -2123,6 +2339,7 @@ files:
2123
2339
  - app/models/concerns/hyrax/ability/admin_set_ability.rb
2124
2340
  - app/models/concerns/hyrax/ability/collection_ability.rb
2125
2341
  - app/models/concerns/hyrax/ability/collection_type_ability.rb
2342
+ - app/models/concerns/hyrax/ability/flexible_metadata_ability.rb
2126
2343
  - app/models/concerns/hyrax/ability/permission_template_ability.rb
2127
2344
  - app/models/concerns/hyrax/ability/resource_ability.rb
2128
2345
  - app/models/concerns/hyrax/ability/solr_document_ability.rb
@@ -2136,7 +2353,9 @@ files:
2136
2353
  - app/models/concerns/hyrax/file_set/derivatives.rb
2137
2354
  - app/models/concerns/hyrax/file_set/indexing.rb
2138
2355
  - app/models/concerns/hyrax/file_set/querying.rb
2356
+ - app/models/concerns/hyrax/file_set/transcripts.rb
2139
2357
  - app/models/concerns/hyrax/file_set_behavior.rb
2358
+ - app/models/concerns/hyrax/flexibility.rb
2140
2359
  - app/models/concerns/hyrax/has_rendering.rb
2141
2360
  - app/models/concerns/hyrax/has_representative.rb
2142
2361
  - app/models/concerns/hyrax/human_readable_type.rb
@@ -2147,6 +2366,7 @@ files:
2147
2366
  - app/models/concerns/hyrax/permissions/readable.rb
2148
2367
  - app/models/concerns/hyrax/permissions/writable.rb
2149
2368
  - app/models/concerns/hyrax/proxy_deposit.rb
2369
+ - app/models/concerns/hyrax/redirects_normalization.rb
2150
2370
  - app/models/concerns/hyrax/serializers.rb
2151
2371
  - app/models/concerns/hyrax/solr_document/characterization.rb
2152
2372
  - app/models/concerns/hyrax/solr_document/export.rb
@@ -2158,6 +2378,7 @@ files:
2158
2378
  - app/models/concerns/hyrax/user_usage_stats.rb
2159
2379
  - app/models/concerns/hyrax/valkyrie_lazy_migration.rb
2160
2380
  - app/models/concerns/hyrax/virus_check.rb
2381
+ - app/models/concerns/hyrax/with_embargoes_and_leases.rb
2161
2382
  - app/models/concerns/hyrax/with_events.rb
2162
2383
  - app/models/concerns/hyrax/work_behavior.rb
2163
2384
  - app/models/concerns/hyrax/works/metadata.rb
@@ -2184,6 +2405,7 @@ files:
2184
2405
  - app/models/hyrax/feature.rb
2185
2406
  - app/models/hyrax/file_metadata.rb
2186
2407
  - app/models/hyrax/file_set.rb
2408
+ - app/models/hyrax/flexible_schema.rb
2187
2409
  - app/models/hyrax/group.rb
2188
2410
  - app/models/hyrax/group_behavior.rb
2189
2411
  - app/models/hyrax/lease.rb
@@ -2195,7 +2417,11 @@ files:
2195
2417
  - app/models/hyrax/permission.rb
2196
2418
  - app/models/hyrax/permission_template.rb
2197
2419
  - app/models/hyrax/permission_template_access.rb
2420
+ - app/models/hyrax/redirect.rb
2421
+ - app/models/hyrax/redirect_path.rb
2198
2422
  - app/models/hyrax/resource.rb
2423
+ - app/models/hyrax/riiif/file.rb
2424
+ - app/models/hyrax/riiif/file_resolver.rb
2199
2425
  - app/models/hyrax/statistic.rb
2200
2426
  - app/models/hyrax/uploaded_file.rb
2201
2427
  - app/models/hyrax/valkyrie_global_id_proxy.rb
@@ -2241,12 +2467,15 @@ files:
2241
2467
  - app/presenters/hyrax/admin_set_presenter.rb
2242
2468
  - app/presenters/hyrax/admin_set_selection_presenter.rb
2243
2469
  - app/presenters/hyrax/admin_stats_presenter.rb
2470
+ - app/presenters/hyrax/annotates_content.rb
2244
2471
  - app/presenters/hyrax/characterization_behavior.rb
2245
2472
  - app/presenters/hyrax/collapsable_section_presenter.rb
2246
2473
  - app/presenters/hyrax/collection_presenter.rb
2247
2474
  - app/presenters/hyrax/composite_presenter_factory.rb
2248
2475
  - app/presenters/hyrax/dashboard/user_presenter.rb
2476
+ - app/presenters/hyrax/displays_content.rb
2249
2477
  - app/presenters/hyrax/displays_image.rb
2478
+ - app/presenters/hyrax/displays_transcripts.rb
2250
2479
  - app/presenters/hyrax/embargo_presenter.rb
2251
2480
  - app/presenters/hyrax/file_set_presenter.rb
2252
2481
  - app/presenters/hyrax/file_usage.rb
@@ -2258,6 +2487,7 @@ files:
2258
2487
  - app/presenters/hyrax/lease_presenter.rb
2259
2488
  - app/presenters/hyrax/member_presenter_factory.rb
2260
2489
  - app/presenters/hyrax/menu_presenter.rb
2490
+ - app/presenters/hyrax/missing_method_behavior.rb
2261
2491
  - app/presenters/hyrax/model_icon.rb
2262
2492
  - app/presenters/hyrax/model_proxy.rb
2263
2493
  - app/presenters/hyrax/page_title_decorator.rb
@@ -2289,6 +2519,7 @@ files:
2289
2519
  - app/renderers/hyrax/renderers/faceted_attribute_renderer.rb
2290
2520
  - app/renderers/hyrax/renderers/license_attribute_renderer.rb
2291
2521
  - app/renderers/hyrax/renderers/linked_attribute_renderer.rb
2522
+ - app/renderers/hyrax/renderers/redirects_label_attribute_renderer.rb
2292
2523
  - app/renderers/hyrax/renderers/rights_statement_attribute_renderer.rb
2293
2524
  - app/search_builders/hyrax/README.md
2294
2525
  - app/search_builders/hyrax/abstract_type_relation.rb
@@ -2356,6 +2587,8 @@ files:
2356
2587
  - app/services/hyrax/analytics/google/visits_daily.rb
2357
2588
  - app/services/hyrax/analytics/matomo.rb
2358
2589
  - app/services/hyrax/analytics/results.rb
2590
+ - app/services/hyrax/authority_rendering_helper.rb
2591
+ - app/services/hyrax/authority_service.rb
2359
2592
  - app/services/hyrax/batch_create_failure_service.rb
2360
2593
  - app/services/hyrax/batch_create_success_service.rb
2361
2594
  - app/services/hyrax/caching_iiif_manifest_builder.rb
@@ -2383,6 +2616,7 @@ files:
2383
2616
  - app/services/hyrax/custom_queries.rb
2384
2617
  - app/services/hyrax/custom_queries/find_access_control.rb
2385
2618
  - app/services/hyrax/custom_queries/find_by_date_range.rb
2619
+ - app/services/hyrax/custom_queries/find_by_property_value.rb
2386
2620
  - app/services/hyrax/custom_queries/find_collections_by_type.rb
2387
2621
  - app/services/hyrax/custom_queries/find_count_by.rb
2388
2622
  - app/services/hyrax/custom_queries/find_file_metadata.rb
@@ -2416,6 +2650,13 @@ files:
2416
2650
  - app/services/hyrax/fixity/active_fedora_fixity_service.rb
2417
2651
  - app/services/hyrax/fixity/missing_content_error.rb
2418
2652
  - app/services/hyrax/fixity_check_failure_service.rb
2653
+ - app/services/hyrax/flexible_schema_validator_service.rb
2654
+ - app/services/hyrax/flexible_schema_validators/class_validator.rb
2655
+ - app/services/hyrax/flexible_schema_validators/core_metadata_validator.rb
2656
+ - app/services/hyrax/flexible_schema_validators/existing_records_validator.rb
2657
+ - app/services/hyrax/flexible_schema_validators/redirects_validator.rb
2658
+ - app/services/hyrax/flexible_schema_validators/schema_validator.rb
2659
+ - app/services/hyrax/flexible_schema_validators/sort_properties_validator.rb
2419
2660
  - app/services/hyrax/form_factory.rb
2420
2661
  - app/services/hyrax/form_metadata_service.rb
2421
2662
  - app/services/hyrax/graph_exporter.rb
@@ -2448,23 +2689,30 @@ files:
2448
2689
  - app/services/hyrax/location_service.rb
2449
2690
  - app/services/hyrax/lock_manager.rb
2450
2691
  - app/services/hyrax/lockable.rb
2692
+ - app/services/hyrax/m3_profile_editor.rb
2693
+ - app/services/hyrax/m3_schema_loader.rb
2451
2694
  - app/services/hyrax/manifest_builder_service.rb
2452
2695
  - app/services/hyrax/messenger_service.rb
2453
2696
  - app/services/hyrax/microdata.rb
2454
2697
  - app/services/hyrax/multiple_membership_checker.rb
2455
2698
  - app/services/hyrax/noid.rb
2699
+ - app/services/hyrax/permalink_path.rb
2456
2700
  - app/services/hyrax/permission_manager.rb
2457
2701
  - app/services/hyrax/permission_template_applicator.rb
2458
2702
  - app/services/hyrax/persist_derivatives.rb
2459
2703
  - app/services/hyrax/persist_directly_contained_output_file_service.rb
2460
2704
  - app/services/hyrax/qa_select_service.rb
2461
2705
  - app/services/hyrax/quick_classification_query.rb
2706
+ - app/services/hyrax/redirect_path_normalizer.rb
2707
+ - app/services/hyrax/redirects_lookup.rb
2462
2708
  - app/services/hyrax/repository_fixity_check_service.rb
2709
+ - app/services/hyrax/resource_permissions_visibility_propagator.rb
2463
2710
  - app/services/hyrax/resource_status.rb
2464
2711
  - app/services/hyrax/resource_types_service.rb
2465
2712
  - app/services/hyrax/resource_visibility_propagator.rb
2466
2713
  - app/services/hyrax/restriction_service.rb
2467
2714
  - app/services/hyrax/rights_statement_service.rb
2715
+ - app/services/hyrax/schema_loader.rb
2468
2716
  - app/services/hyrax/search_service.rb
2469
2717
  - app/services/hyrax/simple_schema_loader.rb
2470
2718
  - app/services/hyrax/solr_query_builder_service.rb
@@ -2548,12 +2796,15 @@ files:
2548
2796
  - app/utils/hyrax/required_data_seeder.rb
2549
2797
  - app/utils/hyrax/required_data_seeders/collection_seeder.rb
2550
2798
  - app/utils/hyrax/required_data_seeders/collection_type_seeder.rb
2799
+ - app/utils/hyrax/required_data_seeders/flexible_profile_seeder.rb
2551
2800
  - app/utils/hyrax/test_data_seeder.rb
2552
2801
  - app/utils/hyrax/test_data_seeders/collection_seeder.rb
2553
2802
  - app/utils/hyrax/test_data_seeders/collection_type_seeder.rb
2554
2803
  - app/utils/hyrax/test_data_seeders/user_seeder.rb
2555
2804
  - app/validators/hyrax/collection_membership_validator.rb
2805
+ - app/validators/hyrax/controlled_vocabulary_validator.rb
2556
2806
  - app/validators/hyrax/has_one_title_validator.rb
2807
+ - app/validators/hyrax/redirect_validator.rb
2557
2808
  - app/values/hyrax/chart_data.rb
2558
2809
  - app/views/_controls.html.erb
2559
2810
  - app/views/_flash_msg.html.erb
@@ -2570,12 +2821,12 @@ files:
2570
2821
  - app/views/catalog/_index_header_list_default.html.erb
2571
2822
  - app/views/catalog/_index_list_default.html.erb
2572
2823
  - app/views/catalog/_search_form.html.erb
2573
- - app/views/catalog/_thumbnail_list_collection.html.erb
2574
2824
  - app/views/catalog/_thumbnail_list_default.html.erb
2575
2825
  - app/views/catalog/facet.html.erb
2576
2826
  - app/views/catalog/index.html.erb
2577
2827
  - app/views/catalog/recent.js.erb
2578
2828
  - app/views/collections/edit_fields/_based_near.html.erb
2829
+ - app/views/collections/edit_fields/_schema_version.html.erb
2579
2830
  - app/views/hyrax/admin/admin_sets/_form.html.erb
2580
2831
  - app/views/hyrax/admin/admin_sets/_form_metadata.html.erb
2581
2832
  - app/views/hyrax/admin/admin_sets/_form_participant_table.html.erb
@@ -2591,6 +2842,7 @@ files:
2591
2842
  - app/views/hyrax/admin/admin_sets/index.json.jbuilder
2592
2843
  - app/views/hyrax/admin/admin_sets/new.html.erb
2593
2844
  - app/views/hyrax/admin/admin_sets/show.html.erb
2845
+ - app/views/hyrax/admin/analytics/_analytics_error.html.erb
2594
2846
  - app/views/hyrax/admin/analytics/_date_range_form.html.erb
2595
2847
  - app/views/hyrax/admin/analytics/collection_reports/_custom_range.html.erb
2596
2848
  - app/views/hyrax/admin/analytics/collection_reports/_monthly_summary.html.erb
@@ -2619,6 +2871,8 @@ files:
2619
2871
  - app/views/hyrax/admin/collection_types/index.html.erb
2620
2872
  - app/views/hyrax/admin/collection_types/new.html.erb
2621
2873
  - app/views/hyrax/admin/features/index.html.erb
2874
+ - app/views/hyrax/admin/metadata_profiles/_import_modal.html.erb
2875
+ - app/views/hyrax/admin/metadata_profiles/index.html.erb
2622
2876
  - app/views/hyrax/admin/stats/_date_form.html.erb
2623
2877
  - app/views/hyrax/admin/stats/_deposits.html.erb
2624
2878
  - app/views/hyrax/admin/stats/_new_users.html.erb
@@ -2657,6 +2911,7 @@ files:
2657
2911
  - app/views/hyrax/base/_form_permission_under_embargo.html.erb
2658
2912
  - app/views/hyrax/base/_form_permission_under_lease.html.erb
2659
2913
  - app/views/hyrax/base/_form_progress.html.erb
2914
+ - app/views/hyrax/base/_form_redirects.html.erb
2660
2915
  - app/views/hyrax/base/_form_relationships.html.erb
2661
2916
  - app/views/hyrax/base/_form_rendering.html.erb
2662
2917
  - app/views/hyrax/base/_form_representative.html.erb
@@ -2791,6 +3046,7 @@ files:
2791
3046
  - app/views/hyrax/dashboard/sidebar/_activity.html.erb
2792
3047
  - app/views/hyrax/dashboard/sidebar/_configuration.html.erb
2793
3048
  - app/views/hyrax/dashboard/sidebar/_menu_partials.html.erb
3049
+ - app/views/hyrax/dashboard/sidebar/_metadata.html.erb
2794
3050
  - app/views/hyrax/dashboard/sidebar/_repository_content.html.erb
2795
3051
  - app/views/hyrax/dashboard/sidebar/_tasks.html.erb
2796
3052
  - app/views/hyrax/dashboard/works/_default_group.html.erb
@@ -2814,6 +3070,7 @@ files:
2814
3070
  - app/views/hyrax/file_sets/_file_set_title.erb
2815
3071
  - app/views/hyrax/file_sets/_form.html.erb
2816
3072
  - app/views/hyrax/file_sets/_groups_description.html.erb
3073
+ - app/views/hyrax/file_sets/_metadata.html.erb
2817
3074
  - app/views/hyrax/file_sets/_permission.html.erb
2818
3075
  - app/views/hyrax/file_sets/_permission_form.html.erb
2819
3076
  - app/views/hyrax/file_sets/_show_actions.html.erb
@@ -2821,6 +3078,7 @@ files:
2821
3078
  - app/views/hyrax/file_sets/_show_details.html.erb
2822
3079
  - app/views/hyrax/file_sets/_single_use_link_rows.html.erb
2823
3080
  - app/views/hyrax/file_sets/_single_use_links.html.erb
3081
+ - app/views/hyrax/file_sets/_valkyrie_form.html.erb
2824
3082
  - app/views/hyrax/file_sets/_versioning.html.erb
2825
3083
  - app/views/hyrax/file_sets/edit.html.erb
2826
3084
  - app/views/hyrax/file_sets/media_display/_audio.html.erb
@@ -2844,6 +3102,7 @@ files:
2844
3102
  - app/views/hyrax/homepage/_recently_uploaded.html.erb
2845
3103
  - app/views/hyrax/homepage/_sortable_featured.html.erb
2846
3104
  - app/views/hyrax/homepage/index.html.erb
3105
+ - app/views/hyrax/homepage/robots.text.erb
2847
3106
  - app/views/hyrax/leases/_lease_history.html.erb
2848
3107
  - app/views/hyrax/leases/_list_active_leases.html.erb
2849
3108
  - app/views/hyrax/leases/_list_deactivated_leases.html.erb
@@ -2901,6 +3160,7 @@ files:
2901
3160
  - app/views/hyrax/pages/show.html.erb
2902
3161
  - app/views/hyrax/permissions/confirm.html.erb
2903
3162
  - app/views/hyrax/permissions/confirm_access.html.erb
3163
+ - app/views/hyrax/shared/_copy_permalink.html.erb
2904
3164
  - app/views/hyrax/single_use_links/index.html.erb
2905
3165
  - app/views/hyrax/single_use_links_viewer/show.html.erb
2906
3166
  - app/views/hyrax/single_use_links_viewer/single_use_error.html.erb
@@ -2941,12 +3201,15 @@ files:
2941
3201
  - app/views/records/edit_fields/_abstract.html.erb
2942
3202
  - app/views/records/edit_fields/_access_right.html.erb
2943
3203
  - app/views/records/edit_fields/_based_near.html.erb
3204
+ - app/views/records/edit_fields/_contexts.html.erb
2944
3205
  - app/views/records/edit_fields/_description.html.erb
2945
3206
  - app/views/records/edit_fields/_language.html.erb
2946
3207
  - app/views/records/edit_fields/_license.html.erb
2947
3208
  - app/views/records/edit_fields/_resource_type.html.erb
2948
3209
  - app/views/records/edit_fields/_rights_statement.html.erb
3210
+ - app/views/records/edit_fields/_schema_version.html.erb
2949
3211
  - app/views/records/edit_fields/_subject.html.erb
3212
+ - app/views/records/edit_fields/_transcript_ids.html.erb
2950
3213
  - app/views/records/show_fields/_based_near.html.erb
2951
3214
  - app/views/records/show_fields/_contributor.html.erb
2952
3215
  - app/views/records/show_fields/_creator.html.erb
@@ -2971,6 +3234,7 @@ files:
2971
3234
  - app/views/shared/_matomo.html.erb
2972
3235
  - app/views/shared/_nav_safety_modal.html.erb
2973
3236
  - app/views/shared/_read_only.html.erb
3237
+ - app/views/shared/_schema_version.html.erb
2974
3238
  - app/views/shared/_select_work_type_modal.html.erb
2975
3239
  - artifacts/entity-relationship-diagram.dot
2976
3240
  - artifacts/entity-relationship-diagram.pdf
@@ -3010,7 +3274,11 @@ files:
3010
3274
  - config/initializers/1_healthz.rb
3011
3275
  - config/initializers/ar_test_fixture_monkey_patch.rb
3012
3276
  - config/initializers/arel_rails_7_2_monkey_patch.rb
3277
+ - config/initializers/blacklight_dynamic_sitemap.rb
3278
+ - config/initializers/deprecation_patch.rb
3013
3279
  - config/initializers/file_length_patch.rb
3280
+ - config/initializers/hydra_works.rb
3281
+ - config/initializers/i18n_extensions.rb
3014
3282
  - config/initializers/indexing_adapter_initializer.rb
3015
3283
  - config/initializers/kaminari_engine_patch.rb
3016
3284
  - config/initializers/listeners.rb
@@ -3034,20 +3302,30 @@ files:
3034
3302
  - config/locales/simple_form.pt-BR.yml
3035
3303
  - config/locales/simple_form.zh.yml
3036
3304
  - config/metadata/basic_metadata.yaml
3305
+ - config/metadata/batch_edit_metadata.yaml
3037
3306
  - config/metadata/core_metadata.yaml
3038
3307
  - config/metadata/file_set_metadata.yaml
3039
3308
  - config/metadata/hyrax_internal_metadata.yaml
3309
+ - config/metadata/redirects.yaml
3310
+ - config/metadata_profiles/m3_json_schema.json
3311
+ - config/metadata_profiles/m3_profile.yaml
3040
3312
  - config/routes.rb
3041
3313
  - config/schema_org.yml
3042
3314
  - db/seeds.rb
3315
+ - docker-compose-allinson.yml
3043
3316
  - docker-compose-dassie.yml
3044
3317
  - docker-compose-koppie.yml
3045
3318
  - docker-compose-sirenia.yml
3046
3319
  - docker-compose.yml
3047
3320
  - documentation/MAINTENANCE.md
3321
+ - documentation/copy_permalink.md
3048
3322
  - documentation/developing-your-hyrax-based-app.md
3323
+ - documentation/file-ingest-characterization.md
3324
+ - documentation/flexible_metadata.md
3325
+ - documentation/forms/field_behaviors.md
3049
3326
  - documentation/legacyREADME.md
3050
3327
  - documentation/note-about-versions.md
3328
+ - documentation/redirects.md
3051
3329
  - hyrax.gemspec
3052
3330
  - karma.conf.js
3053
3331
  - lib/freyja.rb
@@ -3076,6 +3354,12 @@ files:
3076
3354
  - lib/generators/hyrax/collection_resource/templates/collection_spec.rb.erb
3077
3355
  - lib/generators/hyrax/config_generator.rb
3078
3356
  - lib/generators/hyrax/health_check_generator.rb
3357
+ - lib/generators/hyrax/iiif_viewer/USAGE
3358
+ - lib/generators/hyrax/iiif_viewer/iiif_viewer_generator.rb
3359
+ - lib/generators/hyrax/iiif_viewer/templates/_clover.html.erb
3360
+ - lib/generators/hyrax/iiif_viewer/templates/clover/clover.css
3361
+ - lib/generators/hyrax/iiif_viewer/templates/clover/clover.html
3362
+ - lib/generators/hyrax/iiif_viewer/templates/clover/clover.js
3079
3363
  - lib/generators/hyrax/install_generator.rb
3080
3364
  - lib/generators/hyrax/listeners_generator.rb
3081
3365
  - lib/generators/hyrax/models_generator.rb
@@ -3088,6 +3372,7 @@ files:
3088
3372
  - lib/generators/hyrax/templates/app/listeners/hyrax_listener.rb
3089
3373
  - lib/generators/hyrax/templates/app/models/collection.rb
3090
3374
  - lib/generators/hyrax/templates/app/models/file_set.rb
3375
+ - lib/generators/hyrax/templates/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder
3091
3376
  - lib/generators/hyrax/templates/catalog_controller.rb
3092
3377
  - lib/generators/hyrax/templates/config/action_dispatch_http_upload_monkey_patch.rb
3093
3378
  - lib/generators/hyrax/templates/config/analytics.yml
@@ -3175,6 +3460,10 @@ files:
3175
3460
  - lib/generators/hyrax/templates/db/migrate/20230803165135_change_work_id_to_string.rb.erb
3176
3461
  - lib/generators/hyrax/templates/db/migrate/20230808102105_add_indices_to_hyrax_counter_metrics.rb.erb
3177
3462
  - lib/generators/hyrax/templates/db/migrate/20230821153635_add_fields_to_counter_metric.rb.erb
3463
+ - lib/generators/hyrax/templates/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb.erb
3464
+ - lib/generators/hyrax/templates/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb.erb
3465
+ - lib/generators/hyrax/templates/db/migrate/20260430000001_create_hyrax_redirect_paths.rb.erb
3466
+ - lib/generators/hyrax/templates/db/migrate/20260521003627_add_additional_redirect_info.rb.erb
3178
3467
  - lib/generators/hyrax/templates/db/seeds.rb
3179
3468
  - lib/generators/hyrax/templates/hyrax.scss
3180
3469
  - lib/generators/hyrax/templates/hyrax_helper.rb
@@ -3237,6 +3526,7 @@ files:
3237
3526
  - lib/hyrax/controlled_vocabulary/importer/downloader.rb
3238
3527
  - lib/hyrax/controlled_vocabulary/importer/language.rb
3239
3528
  - lib/hyrax/controller_resource.rb
3529
+ - lib/hyrax/deprecation.rb
3240
3530
  - lib/hyrax/engine.rb
3241
3531
  - lib/hyrax/errors.rb
3242
3532
  - lib/hyrax/event_store.rb
@@ -3309,6 +3599,7 @@ files:
3309
3599
  - lib/hyrax/specs/shared_specs/identifiers.rb
3310
3600
  - lib/hyrax/specs/shared_specs/indexers.rb
3311
3601
  - lib/hyrax/specs/shared_specs/metadata.rb
3602
+ - lib/hyrax/specs/shared_specs/simple_work.rb
3312
3603
  - lib/hyrax/specs/shared_specs/workflow_method.rb
3313
3604
  - lib/hyrax/specs/spy_listener.rb
3314
3605
  - lib/hyrax/transactions.rb
@@ -3328,6 +3619,8 @@ files:
3328
3619
  - lib/hyrax/transactions/steps/add_to_parent.rb
3329
3620
  - lib/hyrax/transactions/steps/apply_collection_type_permissions.rb
3330
3621
  - lib/hyrax/transactions/steps/apply_permission_template.rb
3622
+ - lib/hyrax/transactions/steps/apply_permission_template_on_update.rb
3623
+ - lib/hyrax/transactions/steps/apply_workflow_on_admin_set_change.rb
3331
3624
  - lib/hyrax/transactions/steps/change_depositor.rb
3332
3625
  - lib/hyrax/transactions/steps/check_for_default_admin_set.rb
3333
3626
  - lib/hyrax/transactions/steps/check_for_empty_admin_set.rb
@@ -3340,6 +3633,7 @@ files:
3340
3633
  - lib/hyrax/transactions/steps/file_metadata_delete.rb
3341
3634
  - lib/hyrax/transactions/steps/remove_file_set_from_work.rb
3342
3635
  - lib/hyrax/transactions/steps/remove_from_membership.rb
3636
+ - lib/hyrax/transactions/steps/remove_redirect_paths.rb
3343
3637
  - lib/hyrax/transactions/steps/save.rb
3344
3638
  - lib/hyrax/transactions/steps/save_access_control.rb
3345
3639
  - lib/hyrax/transactions/steps/save_collection_banner.rb
@@ -3350,6 +3644,7 @@ files:
3350
3644
  - lib/hyrax/transactions/steps/set_uploaded_date_unless_present.rb
3351
3645
  - lib/hyrax/transactions/steps/set_user_as_creator.rb
3352
3646
  - lib/hyrax/transactions/steps/set_user_as_depositor.rb
3647
+ - lib/hyrax/transactions/steps/sync_redirect_paths.rb
3353
3648
  - lib/hyrax/transactions/steps/update_work_members.rb
3354
3649
  - lib/hyrax/transactions/steps/validate.rb
3355
3650
  - lib/hyrax/transactions/transaction.rb
@@ -3369,6 +3664,7 @@ files:
3369
3664
  - lib/tasks/hyrax.rake
3370
3665
  - lib/tasks/hyrax_user.rake
3371
3666
  - lib/tasks/install.rake
3667
+ - lib/tasks/m3_profile_cleanup.rake
3372
3668
  - lib/tasks/migrate.rake
3373
3669
  - lib/tasks/regenerate_derivatives.rake
3374
3670
  - lib/tasks/reindex.rake
@@ -3438,7 +3734,6 @@ licenses:
3438
3734
  - Apache-2.0
3439
3735
  metadata:
3440
3736
  rubygems_mfa_required: 'true'
3441
- post_install_message:
3442
3737
  rdoc_options: []
3443
3738
  require_paths:
3444
3739
  - lib
@@ -3453,8 +3748,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
3453
3748
  - !ruby/object:Gem::Version
3454
3749
  version: '0'
3455
3750
  requirements: []
3456
- rubygems_version: 3.5.22
3457
- signing_key:
3751
+ rubygems_version: 3.6.8
3458
3752
  specification_version: 4
3459
3753
  summary: Hyrax is a front-end based on the robust Samvera framework, providing a user
3460
3754
  interface for common repository features. Hyrax offers the ability to create repository