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
@@ -24,20 +24,27 @@ en:
24
24
  suppressed_bsi: Status
25
25
  visibility_ssi: Visibility
26
26
  show:
27
- admin_set: 'In Administrative Set:'
27
+ admin_set: "In Administrative Set:"
28
28
  based_near_label: Location
29
29
  contributor: Contributors
30
30
  keyword: Keyword
31
31
  filters:
32
- title: 'Filtering by:'
32
+ title: "Filtering by:"
33
33
  start_over: Start Over
34
34
  errors:
35
35
  messages:
36
36
  carrierwave_download_error: Couldn't download image.
37
37
  carrierwave_integrity_error: Not an image.
38
38
  carrierwave_processing_error: Cannot resize image.
39
- extension_blacklist_error: 'You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}'
40
- extension_whitelist_error: 'You are not allowed to upload %{extension} files, allowed types: %{allowed_types}'
39
+ extension_blacklist_error: "You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}"
40
+ extension_whitelist_error: "You are not allowed to upload %{extension} files, allowed types: %{allowed_types}"
41
+ redirect:
42
+ already_taken: '"%{path}" is already used by another work or collection.'
43
+ blank: A redirect path can't be blank.
44
+ intra_record_duplicate: '"%{path}" is listed more than once on this record.'
45
+ invalid_format: '"%{path}" is not a valid path. Paths must start with "/" and contain no spaces, "?", or "#".'
46
+ multiple_display_url: At most one redirect entry may be marked as the display URL.
47
+ reserved_prefix: '"%{path}" can''t be used. The path is reserved by the application and may not be used as an alias.'
41
48
  helpers:
42
49
  action:
43
50
  accept: Accept
@@ -53,6 +60,11 @@ en:
53
60
  delete: Delete
54
61
  edit: Edit
55
62
  less: Less
63
+ hyrax_metadata_profile:
64
+ hint: Importing a new profile will overwrite the existing profile
65
+ import: Import Metadata Profile
66
+ import_metadata_profile: Import Profile
67
+ submit: Import
56
68
  more: More
57
69
  refresh: Refresh
58
70
  remove: Remove
@@ -85,9 +97,11 @@ en:
85
97
  no_works: The administrative set does not contain any works.
86
98
  title: List of items in this administrative set
87
99
  edit:
88
- header: 'Edit Administrative Set: %{title}'
100
+ header: "Edit Administrative Set: %{title}"
89
101
  form:
90
102
  cancel: Cancel
103
+ contexts:
104
+ none: "-- No context (remove all contexts) --"
91
105
  note: Users granted a new role will only gain the role on works that are deposited after that role has been granted.
92
106
  permission_destroy_errors:
93
107
  admin_group: The repository administrators group cannot be removed
@@ -137,9 +151,9 @@ en:
137
151
  title: Viewers
138
152
  type: Type
139
153
  form_participants:
140
- add_group: 'Add group:'
154
+ add_group: "Add group:"
141
155
  add_participants: Add Participants
142
- add_user: 'Add user:'
156
+ add_user: "Add user:"
143
157
  current_participants: Current Participants
144
158
  form_visibility:
145
159
  cancel: Cancel
@@ -151,15 +165,15 @@ en:
151
165
  title: Release
152
166
  varies:
153
167
  any: Depositor can choose any embargo length; leases are allowed
154
- between: 'Depositor can choose embargo up to date:'
155
- description: 'Allow depositor to choose settings:'
168
+ between: "Depositor can choose embargo up to date:"
169
+ description: "Allow depositor to choose settings:"
156
170
  embargo:
157
171
  1yr: 1 year after deposit
158
172
  2yrs: 2 years after deposit
159
173
  3yrs: 3 years after deposit
160
174
  6mos: 6 months after deposit
161
175
  select: Select embargo period..
162
- period: 'Depositor can choose embargo period up to:'
176
+ period: "Depositor can choose embargo period up to:"
163
177
  visibility:
164
178
  description: Set visibility policies for the administrative set. Setting honors embargo policies above.
165
179
  everyone: Public - depositor can only choose public visibility setting
@@ -189,7 +203,7 @@ en:
189
203
  and: and
190
204
  summary: Summary
191
205
  monthly: Monthly
192
- custom_range: Custom Range
206
+ custom_range: Custom Range
193
207
  downloads: downloads
194
208
  report_header: Custom Collections Report
195
209
  report_generated_on: This report was generated on
@@ -198,10 +212,10 @@ en:
198
212
  title: Collection Report
199
213
  summary: Summary
200
214
  monthly: Monthly
201
- custom_range: Custom Range
215
+ custom_range: Custom Range
202
216
  return_to_btn: Return to Collections Report
203
217
  view_collection_btn: View Collection
204
- created_by: Created by
218
+ created_by: Created by
205
219
  last_updated: Last updated on
206
220
  collection_type: Collection type
207
221
  visibility: Visibility
@@ -235,6 +249,48 @@ en:
235
249
  collection_page_views: Collection Page Views
236
250
  deleted: Collection deleted
237
251
  export: Export
252
+ errors:
253
+ troubleshooting_steps: "Troubleshooting Steps"
254
+ documentation_html: "For more information, see the <a href='%{url}' target='_blank' rel='noopener noreferrer'>documentation</a>."
255
+ permission:
256
+ title: "Analytics Access Required"
257
+ message: "The system cannot access your Google Analytics data. This usually means the service account email needs to be granted access to your Google Analytics property."
258
+ troubleshooting_steps:
259
+ - "In your Google Analytics account, go to Admin → Account → Account Access Management"
260
+ - "Click the '+' button to add a new user"
261
+ - "Enter the service account email address from your credentials file (it looks like: your-service-account@project-name.iam.gserviceaccount.com)"
262
+ - "Set the role to 'Viewer' and click 'Add'"
263
+ - "Wait a few minutes for the changes to take effect, then refresh this page"
264
+ documentation_url: "https://samvera.atlassian.net/wiki/spaces/hyku/pages/3185147970/Google+Analytics+4+GA4+Support"
265
+ invalid_property:
266
+ title: "Invalid Property ID"
267
+ message: "The Google Analytics Property ID is invalid. A numeric Property ID is required for Google Analytics 4."
268
+ troubleshooting_steps:
269
+ - "Check your Google Analytics 4 settings and ensure you are using the numeric Property ID, not the Measurement ID (which starts with 'G-')."
270
+ - "Verify the Property ID is correctly configured in your application settings."
271
+ documentation_url: "https://samvera.atlassian.net/wiki/spaces/hyku/pages/3185147970/Google+Analytics+4+GA4+Support"
272
+ authentication:
273
+ title: "Authentication Error"
274
+ message: "There was an issue authenticating with Google Analytics. Please check your credentials."
275
+ troubleshooting_steps:
276
+ - "Ensure your `google-analytics.json` (or equivalent) credentials file is correctly formatted and contains valid information."
277
+ - "Verify that the service account is enabled in your Google Cloud project."
278
+ documentation_url: "https://samvera.atlassian.net/wiki/spaces/hyku/pages/3185147970/Google+Analytics+4+GA4+Support"
279
+ quota_exceeded:
280
+ title: "Quota Exceeded"
281
+ message: "The request rate to the Google Analytics API has been exceeded. Please try again later."
282
+ troubleshooting_steps:
283
+ - "Review the Google Analytics API quota limits and your usage."
284
+ - "Consider implementing backoff strategies for API requests if you are making many requests in a short period."
285
+ documentation_url: "https://developers.google.com/analytics/devguides/reporting/data/v1/limits-quotas"
286
+ general:
287
+ title: "Analytics Configuration Issue"
288
+ message: "There's a problem with the Google Analytics configuration that requires administrator attention."
289
+ troubleshooting_steps:
290
+ - "Contact your system administrator to review the Google Analytics configuration"
291
+ - "Verify that the service account credentials are correctly configured"
292
+ - "Ensure the Google Analytics property is set up properly"
293
+ documentation_url: "https://samvera.atlassian.net/wiki/spaces/hyku/pages/3185147970/Google+Analytics+4+GA4+Support"
238
294
  work_reports:
239
295
  index:
240
296
  title: Works Report
@@ -246,7 +302,7 @@ en:
246
302
  access_to: You have access to
247
303
  summary: Summary
248
304
  monthly: Monthly
249
- custom_range: Custom Range
305
+ custom_range: Custom Range
250
306
  downloads: downloads
251
307
  enable_analytics: Enable Analytics To View Reports
252
308
  report_generated_on: This report was generated on
@@ -254,10 +310,10 @@ en:
254
310
  title: Work Report
255
311
  summary: Summary
256
312
  monthly: Monthly
257
- custom_range: Custom Range
313
+ custom_range: Custom Range
258
314
  return_to_btn: Return to Works Report
259
315
  view_work_btn: View Work
260
- deposited_by: Deposited by
316
+ deposited_by: Deposited by
261
317
  work_type: Work type
262
318
  resource_type: Resource type
263
319
  status: Status
@@ -266,9 +322,9 @@ en:
266
322
  title: Files
267
323
  total_downloads: Total Downloads
268
324
  work_counts:
269
- total_size: total size
270
- child_works: child works
271
- files: files
325
+ total_size: total size
326
+ child_works: child works
327
+ files: files
272
328
  summary:
273
329
  subtitle: Summary of user activity
274
330
  unique_visitors: Unique Visitors
@@ -301,11 +357,11 @@ en:
301
357
  page_views: Page Views
302
358
  file_downloads: File Downloads
303
359
  date_range_form:
304
- date_range_heading: Customize Date Range
305
- start_date: Start Date
306
- end_date: End Date
307
- set_date_range: Set Report Date Range
308
- reset_date_range: Reset Date Range
360
+ date_range_heading: Customize Date Range
361
+ start_date: Start Date
362
+ end_date: End Date
363
+ set_date_range: Set Report Date Range
364
+ reset_date_range: Reset Date Range
309
365
  appearances:
310
366
  show:
311
367
  header: Appearance
@@ -358,7 +414,7 @@ en:
358
414
  update_notice: Participants Updated
359
415
  form_settings:
360
416
  instructions: These settings determine how collections of this type can be managed and discovered.
361
- warning: 'Warning: These settings cannot be changed after a collection of this type has been created.'
417
+ warning: "Warning: These settings cannot be changed after a collection of this type has been created."
362
418
  index:
363
419
  breadcrumb: Collection Types
364
420
  create_new_button: Create new collection type
@@ -376,7 +432,7 @@ en:
376
432
  actions: Actions
377
433
  name: Name
378
434
  multiple_membership_checker:
379
- error_preamble: 'Error: You have specified more than one of the same single-membership collection type '
435
+ error_preamble: "Error: You have specified more than one of the same single-membership collection type "
380
436
  error_type_and_collections: "(type: %{type}, collections: %{collections})"
381
437
  new:
382
438
  header: Create New Collection Type
@@ -398,6 +454,7 @@ en:
398
454
  content_blocks: Content Blocks
399
455
  dashboard: Dashboard
400
456
  delete_all: Delete All
457
+ metadata_profiles: Metadata Profiles
401
458
  notifications: Notifications
402
459
  pages: Pages
403
460
  profile: Profile
@@ -419,7 +476,7 @@ en:
419
476
  stats:
420
477
  deposited_form:
421
478
  end_label: end [defaults to now]
422
- heading: 'Display Files Deposited:'
479
+ heading: "Display Files Deposited:"
423
480
  start_label: Start
424
481
  repository_objects:
425
482
  series:
@@ -433,7 +490,7 @@ en:
433
490
  works:
434
491
  headers:
435
492
  main: Work Statistics
436
- total: 'Total Works:'
493
+ total: "Total Works:"
437
494
  visibility: Totals by Visibility
438
495
  users:
439
496
  index:
@@ -489,7 +546,7 @@ en:
489
546
  default: You must be logged in to do that!
490
547
  unprocessable_entity:
491
548
  default: The resource you attempted to modify cannot be modified according to your request.
492
- background_attribution_html: ''
549
+ background_attribution_html: ""
493
550
  base:
494
551
  attributes:
495
552
  table_attribute_name: Attribute Name
@@ -499,13 +556,14 @@ en:
499
556
  citations:
500
557
  citations: Citations
501
558
  endnote: EndNote
502
- header: 'Citations:'
559
+ header: "Citations:"
503
560
  mendeley: Mendeley
504
561
  zotero: Zotero
505
562
  currently_shared:
506
563
  currently_sharing: Currently Shared With
507
564
  table_title_access: Access Level
508
- table_title_user: Person/Group
565
+ table_title_user: User/Group
566
+ table_title_action: Action
509
567
  file_manager:
510
568
  back_to: Back to
511
569
  toolbar: Toolbar
@@ -633,7 +691,7 @@ en:
633
691
  empty: This %{type} is not currently in any collections.
634
692
  header: Relationships
635
693
  relationships_parent_row:
636
- label: 'In %{type}:'
694
+ label: "In %{type}:"
637
695
  share_with:
638
696
  definition_heading: Permission Definitions
639
697
  definitions_html: "<strong>View/Download:</strong> this file (both contents and metadata) is accessible from within %{application_name}.<br /> <strong>Edit:</strong> this file (both contents and metadata) can be edited. You may only grant this permission to %{institution_name} users and/or groups."
@@ -660,7 +718,7 @@ en:
660
718
  twitter: Twitter
661
719
  twitter_share: Share on Twitter
662
720
  unauthorized:
663
- id: 'ID: %{id}'
721
+ id: "ID: %{id}"
664
722
  is_private: The %{type} you have tried to access is private
665
723
  page_is_private: The page you have tried to access is private
666
724
  unauthorized: Unauthorized
@@ -695,11 +753,11 @@ en:
695
753
  button_label: Delete Selected
696
754
  deleting_file_from: Deleting a file from %{application_name} is permanent. Click OK to delete this file from %{application_name}, or Cancel to cancel this operation
697
755
  edit:
698
- apply_changes_to: 'Changes will be applied to: (%{x_number_of} works)'
756
+ apply_changes_to: "Changes will be applied to: (%{x_number_of} works)"
699
757
  batch_edit_descriptions: Batch Edit Descriptions &nbsp;&nbsp;&nbsp;<small>Click on labels below to edit work descriptions.</small>
700
758
  clear_batch: Clear Batch
701
759
  descriptions: Descriptions
702
- descriptions_title: 'Descriptions:'
760
+ descriptions_title: "Descriptions:"
703
761
  permissions: Permissions
704
762
  sharing: Sharing
705
763
  visibility: Visibility
@@ -769,7 +827,7 @@ en:
769
827
  create: Save
770
828
  create_new: Add to new Collection
771
829
  no_collections: You do not have access to any existing collections. You may create a new collection.
772
- select_heading: 'Select the collection to add your files to:'
830
+ select_heading: "Select the collection to add your files to:"
773
831
  title: Add to collection
774
832
  update: Save changes
775
833
  collections:
@@ -791,7 +849,7 @@ en:
791
849
  works_in_collection: Works
792
850
  sort_and_per_page:
793
851
  number_of_results_to_display_per_page: Number of results to display per page
794
- results_per_page: 'Results per page:'
852
+ results_per_page: "Results per page:"
795
853
  sort_by_html: "<span>Sort by:</span>"
796
854
  collection_type:
797
855
  admin_set_title: Admin Set
@@ -829,6 +887,9 @@ en:
829
887
  contact: Contact
830
888
  help: Help
831
889
  home: Home
890
+ copy_permalink:
891
+ button: Copy permalink
892
+ success: Copied!
832
893
  dashboard:
833
894
  additional_notifications: See all notifications
834
895
  admin_sets:
@@ -855,7 +916,7 @@ en:
855
916
  works: Works
856
917
  files: Files
857
918
  edit:
858
- header: 'Edit %{type_title}: %{title}'
919
+ header: "Edit %{type_title}: %{title}"
859
920
  form:
860
921
  permission_update_errors:
861
922
  error: Invalid update option for permission template.
@@ -867,10 +928,11 @@ en:
867
928
  branding: Branding
868
929
  description: Description
869
930
  discovery: Discovery
931
+ redirects: Aliases
870
932
  relationships: Relationships
871
933
  sharing: Sharing
872
934
  form_branding:
873
- alt_text: 'Alt Text:'
935
+ alt_text: "Alt Text:"
874
936
  banner:
875
937
  description: An image to be displayed at the top of the collection page. For best results, upload an image (JPG, GIF or PNG) that is at least 120 pixels tall and 1200 pixels wide.
876
938
  label: Banner
@@ -878,7 +940,7 @@ en:
878
940
  description: Optionally, you can upload a banner image and/or logo images to associate with this collection. If uploaded, these images will be displayed at the top of the collection page to provide unique branding for the collection.
879
941
  label: Branding
880
942
  choose_file: Choose File
881
- link_url: 'Link URL:'
943
+ link_url: "Link URL:"
882
944
  logo:
883
945
  description: One or more images to be displayed at the top of the collection page. For best results, upload an image (JPG, GIF or PNG) that is 40 pixels in height. Larger images will be resized to 40 pixels in height.
884
946
  label: Logo
@@ -976,14 +1038,14 @@ en:
976
1038
  show_document_list_menu:
977
1039
  select: Select
978
1040
  show_document_list_row:
979
- creator: 'Creator:'
980
- depositor: 'Depositor:'
981
- edit_access: 'Edit Access:'
982
- title: 'Collections'
1041
+ creator: "Creator:"
1042
+ depositor: "Depositor:"
1043
+ edit_access: "Edit Access:"
1044
+ title: "Collections"
983
1045
  recent_activity: Recent activity
984
1046
  sort_and_per_page:
985
1047
  show_par_page_html: Show %{select} per page
986
- sort_by: 'Sort By:'
1048
+ sort_by: "Sort By:"
987
1049
  work_action_menu:
988
1050
  delete_work: Delete work
989
1051
  deleting_from_work: Deleting a work from %{application_name} is permanent. Click OK to delete this work from %{application_name}, or Cancel to cancel this operation
@@ -1004,6 +1066,7 @@ en:
1004
1066
  managed:
1005
1067
  collections: Managed Collections
1006
1068
  works: Managed Works
1069
+ metadata_profiles: Metadata Profiles
1007
1070
  my:
1008
1071
  action:
1009
1072
  add_to_collection: Add to collection
@@ -1044,19 +1107,19 @@ en:
1044
1107
  work_confirmation: Deleting a work from %{application_name} is permanent. Click OK to delete this work from %{application_name}, or Cancel to cancel this operation
1045
1108
  collections: Collections
1046
1109
  collection_list:
1047
- description: 'Description:'
1048
- edit_access: 'Edit Access:'
1049
- groups: 'Groups:'
1110
+ description: "Description:"
1111
+ edit_access: "Edit Access:"
1112
+ groups: "Groups:"
1050
1113
  managed_access:
1051
1114
  deposit: Deposit
1052
1115
  manage: Manage
1053
1116
  view: View
1054
- users: 'Users:'
1117
+ users: "Users:"
1055
1118
  facet_label:
1056
- collections: 'Filter collections:'
1057
- highlighted: 'Filter highlights:'
1058
- shared: 'Filter shares:'
1059
- works: 'Filter works:'
1119
+ collections: "Filter collections:"
1120
+ highlighted: "Filter highlights:"
1121
+ shared: "Filter shares:"
1122
+ works: "Filter works:"
1060
1123
  heading:
1061
1124
  access: Access
1062
1125
  action: Actions
@@ -1069,6 +1132,7 @@ en:
1069
1132
  highlighted: Highlighted
1070
1133
  items: Items
1071
1134
  last_modified: Last modified
1135
+ profile_version: Profile Version
1072
1136
  title: Title
1073
1137
  type: Type
1074
1138
  visibility: Visibility
@@ -1126,7 +1190,7 @@ en:
1126
1190
  resource_type_graph:
1127
1191
  resource_type: Resource Type
1128
1192
  title: Resource Types
1129
- count: Count
1193
+ count: Count
1130
1194
  work_type_graph:
1131
1195
  work_type: Work Type
1132
1196
  title: Work Types
@@ -1197,7 +1261,7 @@ en:
1197
1261
  expired: Expired Active Embargoes
1198
1262
  manage_embargoes: Manage Embargoes
1199
1263
  list_expired_active_embargoes:
1200
- change_all: 'Change all files within %{cc} to '
1264
+ change_all: "Change all files within %{cc} to "
1201
1265
  deactivate: Deactivate Embargo
1202
1266
  deactivate_selected: Deactivate Embargoes for Selected
1203
1267
  missing: There are no expired embargoes in effect at this time.
@@ -1256,6 +1320,9 @@ en:
1256
1320
  header: Edit %{file_set}
1257
1321
  permissions: Permissions
1258
1322
  versions: Versions
1323
+ form:
1324
+ language:
1325
+ title: Language
1259
1326
  extra_fields_modal:
1260
1327
  additional: Additional
1261
1328
  label: Additional %{label}(s)
@@ -1264,6 +1331,11 @@ en:
1264
1331
  cancel: Cancel
1265
1332
  save: Save
1266
1333
  title: Title
1334
+ valkyrie_form:
1335
+ attach_to: Attach to %{parent}
1336
+ cancel: Cancel
1337
+ save: Save
1338
+ title: Title
1267
1339
  groups_description:
1268
1340
  description_html: The list of groups in the drop-down marked "Select a group" is a list of User Managed Groups that you are a member of. You may select a specific group and assign an access level for a file within %{application_name}, similarly to adding user access levels.
1269
1341
  permission:
@@ -1302,6 +1374,8 @@ en:
1302
1374
  file_details: File Details
1303
1375
  fixity_check: Fixity Check
1304
1376
  not_yet_characterized: Not Yet Characterized
1377
+ metadata:
1378
+ metadata: Metadata
1305
1379
  versioning:
1306
1380
  choose_file: Choose New Version File
1307
1381
  current: Current Version
@@ -1315,6 +1389,18 @@ en:
1315
1389
  save: Save Revision
1316
1390
  save_your_note: You must click "Save Revision" to revert a previous version of this file
1317
1391
  upload: Upload New Version
1392
+ flexible_schema_validators:
1393
+ redirects_validator:
1394
+ errors:
1395
+ invalid_available_on: "m3 profile `redirects` property must be available on at least one work or collection class declared in this profile"
1396
+ invalid_type: "m3 profile `redirects` property must declare `type: hash` (got `%{actual_type}`)"
1397
+ property_required: "m3 profile must declare a `redirects` property when the redirects feature is enabled"
1398
+ warnings:
1399
+ config_disabled: "m3 profile declares a `redirects` property but Hyrax.config.redirects_enabled? is false; the property will be ignored"
1400
+ flipflop_disabled: "m3 profile declares a `redirects` property but the :redirects feature flag is off; the property will be ignored"
1401
+ sort_properties_validator:
1402
+ warnings:
1403
+ message: "%{property} must be defined on %{classes} to support sorting on that property, unless you have indexed %{property}_ssi on some other field."
1318
1404
  help:
1319
1405
  header: User Support
1320
1406
  override_text: Use app/views/static/help.html.erb to override this file.
@@ -1374,7 +1460,7 @@ en:
1374
1460
  expired: Expired Active Leases
1375
1461
  manage_leases: Manage Leases
1376
1462
  list_expired_active_leases:
1377
- change_all: 'Change all files within %{cc} to '
1463
+ change_all: "Change all files within %{cc} to "
1378
1464
  deactivate: Deactivate Lease
1379
1465
  deactivate_selected: Deactivate Leases for Selected
1380
1466
  missing: There are no expired leases in effect at this time.
@@ -1431,7 +1517,7 @@ en:
1431
1517
  change_tab_message: Are you sure you want to leave this tab? Any unsaved data will be lost.
1432
1518
  notifications:
1433
1519
  batch_create_failure:
1434
- message: 'The batch create for %{user} failed: %{messages}'
1520
+ message: "The batch create for %{user} failed: %{messages}"
1435
1521
  subject: Failing batch create
1436
1522
  batch_create_success:
1437
1523
  message: The batch create for %{user} passed.
@@ -1447,7 +1533,7 @@ en:
1447
1533
  subject: Ownership Change Request
1448
1534
  transfer_link_label: transfer requests
1449
1535
  transfer_on_update:
1450
- comments: 'Comments: %{receiver_comment}'
1536
+ comments: "Comments: %{receiver_comment}"
1451
1537
  message: Your transfer request was %{status}.
1452
1538
  subject: Ownership Change %{status}
1453
1539
  validation:
@@ -1547,6 +1633,8 @@ en:
1547
1633
  link_expired_not_found: Single Use Link Expired or Not Found
1548
1634
  link_not_found: Single use link Not Found
1549
1635
  sort_label: Sort the listing of items
1636
+ sr:
1637
+ thumbnail: Default representative image
1550
1638
  stats:
1551
1639
  work:
1552
1640
  header: Work Analytics
@@ -1560,11 +1648,11 @@ en:
1560
1648
  mendeley:
1561
1649
  contact_form: Contact Form
1562
1650
  export_to_mendeley: Export to Mendeley
1563
- export_to_mendeley_details: 'Exporting to Mendeley is supported via embedded metadata. If Mendeley does not automatically pick up metadata for deposited files, please report the issue via the '
1651
+ export_to_mendeley_details: "Exporting to Mendeley is supported via embedded metadata. If Mendeley does not automatically pick up metadata for deposited files, please report the issue via the "
1564
1652
  zotero:
1565
1653
  contact_form: Contact Form
1566
1654
  export_to_zotero: Export to Zotero
1567
- export_to_zotero_details: 'Exporting to Zotero is supported via embedded metadata. If Zotero does not automatically pick up metadata for deposited files, please report the issue via the '
1655
+ export_to_zotero_details: "Exporting to Zotero is supported via embedded metadata. If Zotero does not automatically pick up metadata for deposited files, please report the issue via the "
1568
1656
  toolbar:
1569
1657
  dashboard:
1570
1658
  menu: Dashboard
@@ -1641,9 +1729,9 @@ en:
1641
1729
  set_all_to_this_resource_type: Set all to this Resource Type
1642
1730
  start: Start
1643
1731
  js_templates_branding:
1644
- alt_text: 'Alt Text:'
1732
+ alt_text: "Alt Text:"
1645
1733
  error: Error
1646
- link_url: 'Link URL:'
1734
+ link_url: "Link URL:"
1647
1735
  previous: previous
1648
1736
  remove: Remove
1649
1737
  remove_new_banner: Remove New Banner
@@ -1692,6 +1780,8 @@ en:
1692
1780
  search_form:
1693
1781
  go: Go
1694
1782
  search_users: Search Users
1783
+ virus_scanner:
1784
+ virus_detected: Virus detected in %{filename}. The file has not been saved.
1695
1785
  visibility:
1696
1786
  authenticated:
1697
1787
  note_html: Restrict access to %{institution}.
@@ -1719,7 +1809,7 @@ en:
1719
1809
  default:
1720
1810
  deposit: Deposit
1721
1811
  load:
1722
- state_error: 'The workflow: %{workflow_name} has not been updated. You are removing a state: %{state_name} with %{entity_count} entity/ies. A state may not be removed while it has active entities!'
1812
+ state_error: "The workflow: %{workflow_name} has not been updated. You are removing a state: %{state_name} with %{entity_count} entity/ies. A state may not be removed while it has active entities!"
1723
1813
  unauthorized: The work is not currently available because it has not yet completed the approval process
1724
1814
  unauthorized_parent: The file is not currently available because its parent work has not yet completed the approval process
1725
1815
  works:
@@ -1734,9 +1824,30 @@ en:
1734
1824
  in_collections: Collections
1735
1825
  in_other_works: This Work in Other Works
1736
1826
  in_this_work: Other Works in this Work
1827
+ redirects:
1828
+ add_label: Add another alias
1829
+ caption: List of URL aliases for this resource
1830
+ display_url:
1831
+ help_html: Optionally mark one alias as the <em>display URL</em>. When set, the record's permanent UUID URL redirects to the chosen alias. Leave as "None" to keep the UUID URL as the destination.
1832
+ none_label: None (use the record's UUID URL)
1833
+ row_label: 'Use "%{path}" as the display URL'
1834
+ errors_heading: Please correct the following alias errors
1835
+ header:
1836
+ actions: Actions
1837
+ display_url: Display URL
1838
+ path: Path
1839
+ heading: URL Aliases
1840
+ help_html: 'Register legacy URL paths that should redirect to this record. Each path will resolve from this site''s root. Reserved Hyrax routes (e.g. <code>/concern</code>, <code>/dashboard</code>) cannot be used.'
1841
+ new_path_label: New alias path
1842
+ path_label: Alias path
1843
+ placeholder:
1844
+ path: Enter a path...
1845
+ remove_label: Remove
1846
+ remove_with_path_label: 'Remove %{path}'
1737
1847
  tab:
1738
1848
  files: Files
1739
1849
  metadata: Descriptions
1850
+ redirects: Aliases
1740
1851
  relationships: Relationships
1741
1852
  share: Sharing
1742
1853
  visibility_until: until
@@ -1755,7 +1866,7 @@ en:
1755
1866
  collection:
1756
1867
  based_near: A place name related to the collection, such as its site of publication, or the city, state, or country the collection contents are about. Calls upon the <a href='http://www.geonames.org'>GeoNames web service</a>.
1757
1868
  contributor: A person or group you want to recognize for playing a role in the creation of the collection, but not the primary role.
1758
- creator: 'The person or group responsible for the collection. Usually this is the author of the content. Personal names should be entered with the last name first: Smith, John'
1869
+ creator: "The person or group responsible for the collection. Usually this is the author of the content. Personal names should be entered with the last name first: Smith, John"
1759
1870
  date_created: The date on which the collection was created.
1760
1871
  description: Free-text notes about the collection. Examples include abstracts of a paper or citation information for a journal article.
1761
1872
  identifier: A unique handle identifying the collection. An example would be a DOI for a journal article, or an ISBN or OCLC number for a book.
@@ -1778,7 +1889,7 @@ en:
1778
1889
  require_membership: A work must belong to at least one collection of this type
1779
1890
  sharable: Allow users to assign collection managers, depositors, and viewers for collections they manage
1780
1891
  share_applies_to_new_works: When new works are created directly in the collection, grant sharing users and groups permissions for the new work according to their collection roles.
1781
- title: ''
1892
+ title: ""
1782
1893
  defaults:
1783
1894
  abstract: A brief summary of a research article, thesis, review, conference proceeding, or any in-depth analysis of a particular subject.
1784
1895
  access_right: Contains information about who can access the resource or an indication of its security status.
@@ -1797,6 +1908,9 @@ en:
1797
1908
  rights_notes: Contains information about rights held in and over the resource.
1798
1909
  subject: Headings or index terms describing what the work is about; these do need to conform to an existing vocabulary.
1799
1910
  title: A name to aid in identifying a work.
1911
+ file_set:
1912
+ language: The language of the file's content. For audio/video transcriptions, this can be the <a href="https://id.loc.gov/vocabulary/iso639-2.html" target="_blank">ISO 639-2</a> code, the <a href="https://id.loc.gov/vocabulary/iso639-3.html" target="_blank">ISO 639-3</a> code, or the English name of the language.
1913
+ transcript_ids: Select file(s) for displaying as captions or subtitles of this file. File(s) must be children of the same parent work and be in <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebVTT_API/Web_Video_Text_Tracks_Format" target="_blank">Web Video Text Tracks (VTT) format</a>.
1800
1914
  labels:
1801
1915
  collection:
1802
1916
  size: Size
@@ -1836,6 +1950,9 @@ en:
1836
1950
  visibility_after_lease: then restrict it to
1837
1951
  visibility_during_embargo: Restricted to
1838
1952
  visibility_during_lease: Is available to
1953
+ file_set:
1954
+ language: Language
1955
+ transcript_ids: Transcript(s)
1839
1956
  proxy_deposit_request:
1840
1957
  sender_comment: Comments
1841
1958
  transfer_to: User
@@ -1850,4 +1967,4 @@ en:
1850
1967
  other: This work has %{count} total views
1851
1968
  download:
1852
1969
  one: and 1 download
1853
- other: and %{count} downloads
1970
+ other: and %{count} downloads