hyrax 3.3.0 → 3.4.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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/.dassie/config/initializers/hyrax.rb +11 -1
  3. data/.gitignore +3 -0
  4. data/.regen +1 -1
  5. data/.rubocop_fixme.yml +3 -1
  6. data/Dockerfile +2 -1
  7. data/app/actors/hyrax/actors/file_actor.rb +6 -4
  8. data/app/actors/hyrax/actors/transfer_request_actor.rb +3 -7
  9. data/app/assets/javascripts/hyrax/analytics_events.js +8 -2
  10. data/app/assets/javascripts/hyrax/autocomplete/linked_data.es6 +1 -3
  11. data/app/controllers/concerns/hyrax/controller.rb +21 -0
  12. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +83 -59
  13. data/app/controllers/hyrax/admin/admin_sets_controller.rb +105 -19
  14. data/app/controllers/hyrax/admin/permission_template_accesses_controller.rb +12 -19
  15. data/app/controllers/hyrax/batch_edits_controller.rb +12 -3
  16. data/app/controllers/hyrax/batch_uploads_controller.rb +4 -0
  17. data/app/controllers/hyrax/citations_controller.rb +1 -1
  18. data/app/controllers/hyrax/dashboard/collections_controller.rb +19 -10
  19. data/app/forms/hyrax/forms/administrative_set_form.rb +19 -1
  20. data/app/forms/hyrax/forms/batch_edit_form.rb +1 -1
  21. data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +21 -6
  22. data/app/forms/hyrax/forms/pcdm_collection_form.rb +1 -0
  23. data/app/forms/hyrax/forms/permission_template_form.rb +17 -9
  24. data/app/forms/hyrax/forms/resource_form.rb +9 -5
  25. data/app/helpers/hyrax/collections_helper.rb +14 -0
  26. data/app/helpers/hyrax/membership_helper.rb +1 -1
  27. data/app/helpers/hyrax/trophy_helper.rb +1 -1
  28. data/app/helpers/hyrax/url_helper.rb +1 -1
  29. data/app/indexers/hyrax/administrative_set_indexer.rb +8 -2
  30. data/app/indexers/hyrax/deep_indexing_service.rb +1 -1
  31. data/app/indexers/hyrax/file_set_indexer.rb +1 -0
  32. data/app/indexers/hyrax/pcdm_collection_indexer.rb +3 -1
  33. data/app/indexers/hyrax/thumbnail_indexer.rb +31 -0
  34. data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +6 -6
  35. data/app/indexers/hyrax/valkyrie_indexer.rb +4 -2
  36. data/app/indexers/hyrax/valkyrie_work_indexer.rb +13 -0
  37. data/app/inputs/controlled_vocabulary_input.rb +2 -0
  38. data/app/jobs/change_depositor_event_job.rb +47 -0
  39. data/app/jobs/characterize_job.rb +38 -2
  40. data/app/jobs/concerns/hyrax/members_permission_job_behavior.rb +1 -1
  41. data/app/jobs/content_depositor_change_event_job.rb +2 -1
  42. data/app/jobs/hyrax/propagate_change_depositor_job.rb +32 -0
  43. data/app/jobs/inherit_permissions_job.rb +1 -1
  44. data/app/jobs/valkyrie_create_derivatives_job.rb +25 -0
  45. data/app/jobs/valkyrie_ingest_job.rb +84 -16
  46. data/app/models/admin_set.rb +2 -2
  47. data/app/models/collection_branding_info.rb +8 -6
  48. data/app/models/concerns/hyrax/collection_behavior.rb +2 -2
  49. data/app/models/concerns/hyrax/file_set/characterization.rb +7 -1
  50. data/app/models/concerns/hyrax/solr_document/metadata.rb +1 -0
  51. data/app/models/concerns/hyrax/solr_document_behavior.rb +9 -3
  52. data/app/models/hyrax/administrative_set.rb +36 -1
  53. data/app/models/hyrax/collection_type.rb +2 -2
  54. data/app/models/hyrax/file_metadata.rb +5 -1
  55. data/app/models/hyrax/file_set.rb +42 -1
  56. data/app/models/hyrax/pcdm_collection.rb +56 -0
  57. data/app/models/hyrax/permission_template.rb +11 -5
  58. data/app/models/hyrax/work.rb +91 -0
  59. data/app/models/proxy_deposit_request.rb +1 -1
  60. data/app/presenters/hyrax/admin_set_presenter.rb +2 -2
  61. data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +2 -2
  62. data/app/presenters/hyrax/work_show_presenter.rb +7 -3
  63. data/app/search_builders/hyrax/dashboard/collections_search_builder.rb +2 -2
  64. data/app/search_builders/hyrax/dashboard/managed_search_filters.rb +44 -4
  65. data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +2 -2
  66. data/app/search_builders/hyrax/my/collections_search_builder.rb +11 -4
  67. data/app/services/hyrax/access_control_list.rb +13 -0
  68. data/app/services/hyrax/admin_set_create_service.rb +21 -37
  69. data/app/services/hyrax/change_content_depositor_service.rb +2 -2
  70. data/app/services/hyrax/change_depositor_service.rb +70 -0
  71. data/app/services/hyrax/characterization/valkyrie_characterization_service.rb +1 -1
  72. data/app/services/hyrax/collections/nested_collection_query_service.rb +23 -11
  73. data/app/services/hyrax/custom_queries/navigators/child_file_sets_navigator.rb +45 -0
  74. data/app/services/hyrax/custom_queries/navigators/child_filesets_navigator.rb +7 -2
  75. data/app/services/hyrax/custom_queries/navigators/parent_work_navigator.rb +54 -0
  76. data/app/services/hyrax/default_middleware_stack.rb +3 -0
  77. data/app/services/hyrax/file_set_derivatives_service.rb +21 -2
  78. data/app/services/hyrax/file_set_type_service.rb +2 -5
  79. data/app/services/hyrax/listeners/file_metadata_listener.rb +20 -1
  80. data/app/services/hyrax/listeners/member_cleanup_listener.rb +23 -3
  81. data/app/services/hyrax/listeners/metadata_index_listener.rb +39 -0
  82. data/app/services/hyrax/listeners/proxy_deposit_listener.rb +14 -8
  83. data/app/services/hyrax/location_service.rb +33 -0
  84. data/app/services/hyrax/multiple_membership_checker.rb +44 -1
  85. data/app/services/hyrax/resource_visibility_propagator.rb +1 -1
  86. data/app/services/hyrax/simple_schema_loader.rb +5 -1
  87. data/app/services/hyrax/solr_query_service.rb +12 -7
  88. data/app/services/hyrax/thumbnail_path_service.rb +1 -1
  89. data/app/services/hyrax/work_uploads_handler.rb +0 -10
  90. data/app/validators/hyrax/collection_membership_validator.rb +38 -0
  91. data/app/views/catalog/_index_header_list_hyrax_pcdm_collection.html.erb +4 -0
  92. data/app/views/hyrax/admin/admin_sets/_form_participant_table.html.erb +2 -2
  93. data/app/views/hyrax/admin/admin_sets/_form_participants.html.erb +2 -2
  94. data/app/views/hyrax/admin/admin_sets/_form_visibility.html.erb +2 -2
  95. data/app/views/hyrax/admin/admin_sets/_form_workflow.erb +1 -1
  96. data/app/views/hyrax/admin/collection_types/index.html.erb +1 -1
  97. data/app/views/hyrax/base/_form.html.erb +1 -1
  98. data/app/views/hyrax/base/_form_child_work_relationships.html.erb +1 -1
  99. data/app/views/hyrax/dashboard/collections/_default_group.html.erb +2 -2
  100. data/app/views/hyrax/dashboard/collections/_form.html.erb +21 -15
  101. data/app/views/hyrax/dashboard/collections/_form_discovery.html.erb +6 -3
  102. data/app/views/hyrax/dashboard/collections/_form_share.html.erb +2 -2
  103. data/app/views/hyrax/dashboard/collections/_form_share_table.html.erb +3 -3
  104. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +2 -2
  105. data/app/views/hyrax/dashboard/works/_default_group.html.erb +1 -1
  106. data/app/views/hyrax/dashboard/works/_list_works.html.erb +1 -1
  107. data/app/views/hyrax/file_sets/_actions.html.erb +2 -2
  108. data/app/views/hyrax/my/_work_action_menu.html.erb +8 -9
  109. data/app/views/hyrax/my/collections/_default_group.html.erb +2 -2
  110. data/app/views/hyrax/my/collections/_list_collections.html.erb +2 -2
  111. data/app/views/hyrax/my/collections/index.html.erb +3 -2
  112. data/app/views/hyrax/my/works/_default_group.html.erb +1 -1
  113. data/app/views/hyrax/my/works/_list_works.html.erb +1 -2
  114. data/app/views/hyrax/my/works/index.html.erb +4 -2
  115. data/chart/hyrax/Chart.yaml +2 -2
  116. data/chart/hyrax/README.md +22 -1
  117. data/config/initializers/listeners.rb +0 -1
  118. data/config/locales/hyrax.de.yml +6 -5
  119. data/config/locales/hyrax.en.yml +30 -28
  120. data/config/locales/hyrax.es.yml +10 -9
  121. data/config/locales/hyrax.fr.yml +2 -1
  122. data/config/locales/hyrax.it.yml +3 -2
  123. data/config/locales/hyrax.pt-BR.yml +2 -1
  124. data/config/locales/hyrax.zh.yml +2 -1
  125. data/config/metadata/basic_metadata.yaml +2 -0
  126. data/config/metadata/core_metadata.yaml +1 -1
  127. data/docker-compose.yml +46 -42
  128. data/documentation/developing-your-hyrax-based-app.md +1 -1
  129. data/documentation/legacyREADME.md +1 -1
  130. data/lib/hyrax/administrative_set_name.rb +18 -0
  131. data/lib/hyrax/collection_name.rb +2 -0
  132. data/lib/hyrax/configuration.rb +10 -0
  133. data/lib/hyrax/controlled_vocabularies/location.rb +9 -2
  134. data/lib/hyrax/controlled_vocabularies/resource_label_caching.rb +42 -0
  135. data/lib/hyrax/controlled_vocabularies.rb +1 -0
  136. data/lib/hyrax/publisher.rb +45 -0
  137. data/lib/hyrax/specs/capybara.rb +1 -1
  138. data/lib/hyrax/specs/shared_specs/hydra_works.rb +11 -4
  139. data/lib/hyrax/specs/shared_specs/indexers.rb +117 -3
  140. data/lib/hyrax/transactions/admin_set_create.rb +2 -1
  141. data/lib/hyrax/transactions/admin_set_destroy.rb +22 -0
  142. data/lib/hyrax/transactions/admin_set_update.rb +21 -0
  143. data/lib/hyrax/transactions/collection_destroy.rb +22 -0
  144. data/lib/hyrax/transactions/collection_update.rb +3 -2
  145. data/lib/hyrax/transactions/container.rb +87 -23
  146. data/lib/hyrax/transactions/create_work.rb +3 -0
  147. data/lib/hyrax/transactions/destroy_work.rb +3 -0
  148. data/lib/hyrax/transactions/steps/apply_collection_permission_template.rb +2 -0
  149. data/lib/hyrax/transactions/steps/apply_permission_template.rb +2 -0
  150. data/lib/hyrax/transactions/steps/apply_visibility.rb +2 -0
  151. data/lib/hyrax/transactions/steps/change_depositor.rb +46 -0
  152. data/lib/hyrax/transactions/steps/check_for_empty_admin_set.rb +36 -0
  153. data/lib/hyrax/transactions/steps/delete_access_control.rb +32 -0
  154. data/lib/hyrax/transactions/steps/delete_resource.rb +19 -3
  155. data/lib/hyrax/transactions/steps/destroy_work.rb +3 -1
  156. data/lib/hyrax/transactions/steps/ensure_permission_template.rb +2 -0
  157. data/lib/hyrax/transactions/steps/save.rb +24 -6
  158. data/lib/hyrax/transactions/steps/save_access_control.rb +2 -2
  159. data/lib/hyrax/transactions/steps/save_work.rb +3 -0
  160. data/lib/hyrax/transactions/steps/set_user_as_creator.rb +41 -0
  161. data/lib/hyrax/transactions/steps/update_work_members.rb +51 -0
  162. data/lib/hyrax/transactions/update_work.rb +4 -3
  163. data/lib/hyrax/transactions/work_create.rb +1 -1
  164. data/lib/hyrax/transactions/work_destroy.rb +2 -1
  165. data/lib/hyrax/transactions/work_update.rb +19 -0
  166. data/lib/hyrax/version.rb +1 -1
  167. data/lib/wings/attribute_transformer.rb +5 -1
  168. data/lib/wings/setup.rb +3 -1
  169. data/lib/wings/valkyrie/query_service.rb +2 -1
  170. data/lib/wings/valkyrie/storage.rb +7 -1
  171. data/template.rb +1 -1
  172. metadata +24 -3
@@ -52,7 +52,7 @@ de:
52
52
  cancel: Abbrechen
53
53
  close: Schließen
54
54
  collection:
55
- new: Neue Sammlung
55
+ new: Neue Sammlung Hinzufügen
56
56
  delete: Löschen
57
57
  edit: Bearbeiten
58
58
  less: Weniger
@@ -60,7 +60,7 @@ de:
60
60
  refresh: Aktualisierung
61
61
  remove: Entfernen
62
62
  work:
63
- new: Neue Arbeit hinzufügen
63
+ new: Neue Arbeit Hinzufügen
64
64
  submit:
65
65
  admin_set:
66
66
  create: Hinzufügen
@@ -701,6 +701,7 @@ de:
701
701
  instructions: Jede Datei wird in eine separate, neue Arbeit hochgeladen, d.h. somit wird eine Arbeit pro hochgeladener Datei erstellt.
702
702
  upload_type_instructions: Um eine einzelne Arbeit für alle Dateien zu erstellen, gehen Sie zu
703
703
  new:
704
+ breadcrumb: Deponieren von Arbeiten mittels stapelweisem Hochladen
704
705
  header: Stapelweises Hochladen neuer Arbeiten
705
706
  in_collections: Diese Arbeiten in Sammlungen
706
707
  in_other_works: Diese Arbeit in anderen Arbeiten
@@ -1013,15 +1014,15 @@ de:
1013
1014
  edit_collection_deny: Sie verfügen nicht über ausreichende Berechtigungen zum Bearbeiten dieser Sammlung.
1014
1015
  edit_selected: Ausgewählte bearbeiten
1015
1016
  edit_work: Arbeit bearbeiten
1016
- highlight: Heben Sie die Arbeit in ihrem Profil hervor
1017
+ highlight: Heben sie die arbeit in ihrem profil hervor
1017
1018
  members_no_access: Sie verfügen nicht über ausreichende Berechtigungen für eines der ausgewählten Mitglieder
1018
1019
  nesting_not_allowed: Sammlungen dieses Typs unterstützen keine Verschachtelung.
1019
1020
  nesting_permission_denied: Sie verfügen nicht über ausreichende Berechtigungen, um diese Sammlung einer anderen Sammlung hinzuzufügen.
1020
1021
  select: Auswählen
1021
1022
  select_all: Wählen Sie die aktuelle Seite aus
1022
1023
  select_none: Nichts ausgewählt
1023
- transfer: Besitz der Arbeit übertragen
1024
- unhighlight: Hervorhebung der Arbeit entfernen
1024
+ transfer: Besitz der arbeit übertragen
1025
+ unhighlight: Hervorhebung der arbeit entfernen
1025
1026
  view_admin_set: Sammlung anzeigen
1026
1027
  view_collection: Sammlung anzeigen
1027
1028
  work_confirmation: Das Löschen einer Arbeit aus %{application_name} ist dauerhaft. Klicken Sie auf OK, um diese Arbeit aus %{application_name} zu löschen, oder auf Abbrechen, um diesen Vorgang abzubrechen
@@ -49,7 +49,7 @@ en:
49
49
  cancel: Cancel
50
50
  close: Close
51
51
  collection:
52
- new: New Collection
52
+ new: Add New Collection
53
53
  delete: Delete
54
54
  edit: Edit
55
55
  less: Less
@@ -57,7 +57,7 @@ en:
57
57
  refresh: Refresh
58
58
  remove: Remove
59
59
  work:
60
- new: Add new work
60
+ new: Add New Work
61
61
  submit:
62
62
  admin_set:
63
63
  create: Save
@@ -91,6 +91,7 @@ en:
91
91
  note: Users granted a new role will only gain the role on works that are deposited after that role has been granted.
92
92
  permission_destroy_errors:
93
93
  admin_group: The repository administrators group cannot be removed
94
+ participants: The administrative set's participant rights failed to delete.
94
95
  permission_update_errors:
95
96
  error: Invalid update option for permission template.
96
97
  no_date: A date is required for the selected release option.
@@ -193,7 +194,7 @@ en:
193
194
  report_header: Custom Collections Report
194
195
  report_generated_on: This report was generated on
195
196
  enable_analytics: Enable Analytics To View Reports
196
- show:
197
+ show:
197
198
  title: Collection Report
198
199
  summary: Summary
199
200
  monthly: Monthly
@@ -215,12 +216,12 @@ en:
215
216
  this_month: This month
216
217
  this_year: This year
217
218
  all_time: All time
218
- monthly_summary:
219
+ monthly_summary:
219
220
  monthly_subtitle: Month-by-month status for last 12 months through
220
221
  collection_views: Collection home page views
221
222
  work_views: Views of works
222
223
  work_downloads: Downloads of works
223
- custom_range:
224
+ custom_range:
224
225
  date_range_heading: Customize Date Range
225
226
  summary_heading: Summary of user activity
226
227
  collection_home_page_views: Collection home page views
@@ -239,7 +240,7 @@ en:
239
240
  title: Works Report
240
241
  subtitle: Summary of user activity
241
242
  repo_summary: in this repository which collectively have had
242
- works: works
243
+ works: works
243
244
  views: views
244
245
  and: and
245
246
  access_to: You have access to
@@ -248,8 +249,8 @@ en:
248
249
  custom_range: Custom Range
249
250
  downloads: downloads
250
251
  enable_analytics: Enable Analytics To View Reports
251
- report_generated_on: This report was generated on
252
- show:
252
+ report_generated_on: This report was generated on
253
+ show:
253
254
  title: Work Report
254
255
  summary: Summary
255
256
  monthly: Monthly
@@ -264,7 +265,7 @@ en:
264
265
  work_files:
265
266
  title: Files
266
267
  total_downloads: Total Downloads
267
- work_counts:
268
+ work_counts:
268
269
  total_size: total size
269
270
  child_works: child works
270
271
  files: files
@@ -279,22 +280,22 @@ en:
279
280
  this_month: This month
280
281
  this_year: This year
281
282
  all_time: All time
282
- monthly_summary:
283
+ monthly_summary:
283
284
  monthly_subtitle: Month-by-month status for the last 12 months through
284
285
  page_views: Page Views
285
286
  file_downloads: File Downloads
286
- top_works:
287
+ top_works:
287
288
  top_works: Top Works
288
289
  work_title: Work Title
289
290
  work_views: Work Page Views
290
291
  file_downloads: File Downloads
291
292
  export: Export
292
- top_file_set_downloads:
293
+ top_file_set_downloads:
293
294
  top_downloads: Top File Downloads
294
295
  file_name: File Name
295
296
  file: File
296
297
  file_downloads: File Downloads
297
- custom_range:
298
+ custom_range:
298
299
  summary_heading: Summary of user activity
299
300
  unique_visitors: Unique Visitors
300
301
  page_views: Page Views
@@ -692,6 +693,7 @@ en:
692
693
  instructions: Each file will be uploaded to a separate new work resulting in one work per uploaded file.
693
694
  upload_type_instructions: To create a single work for all the files, go to
694
695
  new:
696
+ breadcrumb: Create Batch of Works
695
697
  header: Batch Create New Works
696
698
  in_collections: These Works in Collections
697
699
  in_other_works: This Work in Other Works
@@ -832,7 +834,6 @@ en:
832
834
  select_type_of_collection: Select type of collection
833
835
  collections:
834
836
  collection_title: Collection Title
835
- title: Collections
836
837
  last_updated: Last updated
837
838
  works: Works
838
839
  files: Files
@@ -841,6 +842,7 @@ en:
841
842
  form:
842
843
  permission_update_errors:
843
844
  error: Invalid update option for permission template.
845
+ sharing: The collection's sharing options failed to update.
844
846
  permission_update_notices:
845
847
  participants: The collection's sharing options have been updated.
846
848
  sharing: The collection's sharing options have been updated.
@@ -961,13 +963,13 @@ en:
961
963
  show_par_page_html: Show %{select} per page
962
964
  sort_by: 'Sort By:'
963
965
  work_action_menu:
964
- delete_work: Delete Work
966
+ delete_work: Delete work
965
967
  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
966
- edit_work: Edit Work
968
+ edit_work: Edit work
967
969
  press_to: Press to
968
970
  remove_from_collection: Remove from collection
969
971
  select_an_action: Select an action
970
- transfer_ownership_of_work: Transfer Ownership of Work
972
+ transfer_ownership_of_work: Transfer ownership of work
971
973
  create_work: Create Work
972
974
  current_proxies: Current Proxies
973
975
  delete_notification: Delete Notification
@@ -999,21 +1001,21 @@ en:
999
1001
  delete_collection_deny: You do not have sufficient privileges to delete this collection.
1000
1002
  delete_collections: Delete collections
1001
1003
  delete_collections_deny: You do not have sufficient privileges to delete one or more collections.
1002
- delete_work: Delete Work
1004
+ delete_work: Delete work
1003
1005
  edit_admin_set: Edit collection
1004
1006
  edit_collection: Edit collection
1005
1007
  edit_collection_deny: You do not have sufficient privileges to edit this collection.
1006
1008
  edit_selected: Edit Selected
1007
- edit_work: Edit Work
1008
- highlight: Highlight Work on Profile
1009
+ edit_work: Edit work
1010
+ highlight: Highlight work on profile
1009
1011
  members_no_access: You do not have sufficient privileges to any of the selected members
1010
1012
  nesting_not_allowed: Collections of this type do not support nesting.
1011
1013
  nesting_permission_denied: You do not have sufficient privileges to add this collection to another collection.
1012
1014
  select: Select
1013
1015
  select_all: Select Current Page
1014
1016
  select_none: Select None
1015
- transfer: Transfer Ownership of Work
1016
- unhighlight: Unhighlight Work
1017
+ transfer: Transfer ownership of work
1018
+ unhighlight: Unhighlight work
1017
1019
  view_admin_set: View collection
1018
1020
  view_collection: View collection
1019
1021
  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
@@ -1128,7 +1130,7 @@ en:
1128
1130
  transfer_of_ownership: Transfers of Ownership
1129
1131
  transfer_works_link: Select works to transfer
1130
1132
  transfers_received: Transfers Received
1131
- transfers_sent: Transfers Sent
1133
+ transfers_sent: Transfers Sent
1132
1134
  user_activity:
1133
1135
  date: Date
1134
1136
  new_users: New Users
@@ -1137,7 +1139,7 @@ en:
1137
1139
  new_visitors: New Visitors
1138
1140
  subtitle: New user signups
1139
1141
  title: User Activity
1140
- total_visitors: Total Visitors
1142
+ total_visitors: Total Visitors
1141
1143
  user_summary: User Summary
1142
1144
  user_activity_graph:
1143
1145
  date: Date
@@ -1147,7 +1149,7 @@ en:
1147
1149
  total_visits: Total Visits
1148
1150
  user_notifications: User Notifications
1149
1151
  view_files: View Files
1150
- visibility_graph:
1152
+ visibility_graph:
1151
1153
  visibility: Visibility
1152
1154
  document_language: en
1153
1155
  edit_profile: Edit Profile
@@ -1521,12 +1523,12 @@ en:
1521
1523
  link_expired_not_found: Single Use Link Expired or Not Found
1522
1524
  link_not_found: Single use link Not Found
1523
1525
  sort_label: Sort the listing of items
1524
- stats:
1526
+ stats:
1525
1527
  work:
1526
1528
  header: Work Analytics
1527
1529
  pageviews: Pageviews
1528
1530
  downloads: Downloads
1529
- pageviews:
1531
+ pageviews:
1530
1532
  pageviews: Page Views
1531
1533
  downloads:
1532
1534
  downloads: Downloads
@@ -1820,6 +1822,6 @@ en:
1820
1822
  total_view:
1821
1823
  one: This work has 1 total view
1822
1824
  other: This work has %{count} total views
1823
- download:
1825
+ download:
1824
1826
  one: and 1 download
1825
1827
  other: and %{count} downloads
@@ -52,7 +52,7 @@ es:
52
52
  cancel: Cancelar
53
53
  close: Cerca
54
54
  collection:
55
- new: Nueva Colección
55
+ new: Añadir Nueva Colección
56
56
  delete: Borrar
57
57
  edit: Editar
58
58
  less: Menos
@@ -60,7 +60,7 @@ es:
60
60
  refresh: Refrescar
61
61
  remove: retirar
62
62
  work:
63
- new: Crear un nuevo trabajo
63
+ new: Añadir un Nuevo Trabajo
64
64
  submit:
65
65
  admin_set:
66
66
  create: Guardar
@@ -706,6 +706,7 @@ es:
706
706
  instructions: Cada archivo será cargado en un nuevo trabajo separado, resultando en un trabajo por archivo cargado.
707
707
  upload_type_instructions: Para crear un único trabajo para todos los archivos, vaya a
708
708
  new:
709
+ breadcrumb: Crear un lote de trabajos
709
710
  header: Crear Nuevos Trabajos en Lote
710
711
  in_collections: Estos Trabajos en Colecciones
711
712
  in_other_works: Este Trabajo en otros Trabajos
@@ -1008,25 +1009,25 @@ es:
1008
1009
  collections_confirmation_singular: esta colección
1009
1010
  delete_admin_set: Eliminar colección
1010
1011
  delete_admin_set_deny: Esta colección se define como Admin Set y no está vacía. Para eliminar este conjunto de administración, primero debe eliminar (eliminar o mover a otra colección del conjunto de administración) todos los elementos del conjunto de administración.
1011
- delete_collection: Borrar Colección
1012
+ delete_collection: Borrar colección
1012
1013
  delete_collection_deny: No tiene suficientes privilegios para eliminar este documento.
1013
1014
  delete_collections: Eliminar colecciones
1014
1015
  delete_collections_deny: Debe seleccionar una o más colecciones para eliminar.
1015
- delete_work: Borrar Trabajo
1016
+ delete_work: Borrar trabajo
1016
1017
  edit_admin_set: Editar colección
1017
- edit_collection: Editar Colección
1018
+ edit_collection: Editar colección
1018
1019
  edit_collection_deny: No tienes suficientes privilegios para editar esta colección.
1019
1020
  edit_selected: Editar Seleccionado
1020
- edit_work: Editar Trabajo
1021
- highlight: Resalte Trabajo en Perfil
1021
+ edit_work: Editar trabajo
1022
+ highlight: Resalte trabajo en perfil
1022
1023
  members_no_access: No tiene suficientes privilegios para ninguno de los miembros seleccionados
1023
1024
  nesting_not_allowed: Las colecciones de este tipo no son compatibles con la anidación.
1024
1025
  nesting_permission_denied: No tiene suficientes privilegios para agregar esta colección a otra colección.
1025
1026
  select: Seleccionar
1026
1027
  select_all: Seleccionar la página actual
1027
1028
  select_none: Seleccionar ninguno
1028
- transfer: Cambiar el Propietario del Trabajo
1029
- unhighlight: Retire Resalte del Trabajo
1029
+ transfer: Cambiar el propietario del trabajo
1030
+ unhighlight: Retire resalte del trabajo
1030
1031
  view_admin_set: Ver colección
1031
1032
  view_collection: Ver colección
1032
1033
  work_confirmation: El borrado de un trabajo de %{application_name} es permanente. Presione OK para borrar este trabajo de %{application_name}, o Cancelar para cancelar esta operación
@@ -52,7 +52,7 @@ fr:
52
52
  cancel: Annuler
53
53
  close: Fermer
54
54
  collection:
55
- new: Nouvelle collection
55
+ new: Ajouter une nouvelle collection
56
56
  delete: Effacer
57
57
  edit: modifier
58
58
  less: Moins
@@ -707,6 +707,7 @@ fr:
707
707
  instructions: Chaque fichier sera téléchargé sur un nouveau travail séparé résultant en un travail par fichier téléchargé.
708
708
  upload_type_instructions: Pour créer un travail unique pour tous les fichiers, accédez à
709
709
  new:
710
+ breadcrumb: Créer un lot d'œuvres
710
711
  header: Batch Créer de nouveaux travaux
711
712
  in_collections: Ces œuvres dans les collections
712
713
  in_other_works: Ce travail dans d'autres ouvrages
@@ -52,7 +52,7 @@ it:
52
52
  cancel: Annulla
53
53
  close: Vicino
54
54
  collection:
55
- new: Nuova collezione
55
+ new: Aggiungi nuova collezione
56
56
  delete: Elimina
57
57
  edit: Modifica
58
58
  less: Di meno
@@ -706,6 +706,7 @@ it:
706
706
  instructions: Ogni file verrà caricato in un nuovo lavoro separato che crea un lavoro per file caricato.
707
707
  upload_type_instructions: Per creare un singolo lavoro per tutti i file, vai a
708
708
  new:
709
+ breadcrumb: Crea un gruppo di opere
709
710
  header: Creazione di batch di nuove opere
710
711
  in_collections: Queste opere in collezioni
711
712
  in_other_works: Questo lavoro in altre opere
@@ -1018,7 +1019,7 @@ it:
1018
1019
  edit_collection_deny: Non disponi di privilegi sufficienti per modificare questa raccolta.
1019
1020
  edit_selected: Modifica selezionato
1020
1021
  edit_work: Modifica lavoro
1021
- highlight: Evidenziare il Savoro sul Profilo
1022
+ highlight: Evidenziare il savoro sul profilo
1022
1023
  members_no_access: Non hai privilegi sufficienti per nessuno dei membri selezionati
1023
1024
  nesting_not_allowed: Le raccolte di questo tipo non supportano il nesting.
1024
1025
  nesting_permission_denied: Non disponi di privilegi sufficienti per aggiungere questa raccolta a un'altra raccolta.
@@ -701,6 +701,7 @@ pt-BR:
701
701
  instructions: Cada arquivo fará parte de um nova obra, resultando em uma obra por arquivo.
702
702
  upload_type_instructions: Para criar uma única obra para todos os arquivos, vá para
703
703
  new:
704
+ breadcrumb: Criar lote de obras
704
705
  header: Criar novas obras em lotes
705
706
  in_collections: Estas obras em Coleções
706
707
  in_other_works: Esta obra em outras obras
@@ -1013,7 +1014,7 @@ pt-BR:
1013
1014
  edit_collection_deny: Você não possui privilégios suficientes para editar esta coleção.
1014
1015
  edit_selected: Editar seleção
1015
1016
  edit_work: Editar obra
1016
- highlight: Destacar a obra no Perfil
1017
+ highlight: Destacar a obra no perfil
1017
1018
  members_no_access: Você não tem privilégios suficientes para nenhum dos membros selecionados
1018
1019
  nesting_not_allowed: Coleções deste tipo não permitem sub-coleções.
1019
1020
  nesting_permission_denied: Você não possui privilégios suficientes para acrescentar esta coleção a outra coleção.
@@ -52,7 +52,7 @@ zh:
52
52
  cancel: 取消
53
53
  close: 关
54
54
  collection:
55
- new: 新收藏集
55
+ new: 添加新集合
56
56
  delete: 删除
57
57
  edit: 编辑
58
58
  less: 减
@@ -704,6 +704,7 @@ zh:
704
704
  instructions: 上传的每份文件都会分别按新作品生成。
705
705
  upload_type_instructions: 创建一件包括所有文件的作品,请去
706
706
  new:
707
+ breadcrumb: 创建批量作品
707
708
  header: 批量建立新作品
708
709
  in_collections: 这些作品包括在收藏集中
709
710
  in_other_works: 这件作品包括在其它作品中
@@ -50,6 +50,8 @@ attributes:
50
50
  multiple: true
51
51
  form:
52
52
  primary: false
53
+ index_keys:
54
+ - "description_tesim"
53
55
  identifier:
54
56
  type: string
55
57
  multiple: true
@@ -8,7 +8,7 @@ attributes:
8
8
  form:
9
9
  required: true
10
10
  primary: true
11
- multiple: false
11
+ multiple: true
12
12
  date_modified:
13
13
  type: date_time
14
14
  date_uploaded:
data/docker-compose.yml CHANGED
@@ -28,8 +28,8 @@ services:
28
28
  ports:
29
29
  - 3000:3000
30
30
  volumes:
31
- - .dassie:/app/samvera/hyrax-webapp:cached
32
- - .:/app/samvera/hyrax-engine:cached
31
+ - .dassie:/app/samvera/hyrax-webapp
32
+ - .:/app/samvera/hyrax-engine
33
33
  - hyrax-derivatives:/app/samvera/hyrax-webapp/derivatives
34
34
  - hyrax-uploads:/app/samvera/hyrax-webapp/uploads
35
35
  - rails-public:/app/samvera/hyrax-webapp/public
@@ -37,36 +37,67 @@ services:
37
37
  networks:
38
38
  - hyrax
39
39
 
40
- chrome:
41
- image: selenium/standalone-chrome:3.141
42
- logging:
43
- driver: none
40
+ sidekiq:
41
+ build:
42
+ context: .
43
+ target: hyrax-engine-dev-worker
44
+ image: ghcr.io/samvera/dassie-worker
45
+ command: sh -l -c 'bundle && bundle exec sidekiq'
46
+ user: root
47
+ env_file:
48
+ - .env
49
+ - .dassie/.env
50
+ depends_on:
51
+ - db_migrate
52
+ - fcrepo
53
+ - memcached
54
+ - postgres
55
+ - redis
56
+ - solr
44
57
  volumes:
45
- - /dev/shm:/dev/shm
46
- shm_size: 2G
47
- ports:
48
- - "4444:4444"
49
- - "5959:5900"
58
+ - .dassie:/app/samvera/hyrax-webapp
59
+ - .:/app/samvera/hyrax-engine
60
+ - hyrax-derivatives:/app/samvera/hyrax-webapp/derivatives
61
+ - hyrax-uploads:/app/samvera/hyrax-webapp/uploads
62
+ - sidekiq-public:/app/samvera/hyrax-webapp/public
63
+ - sidekiq-tmp:/app/samvera/hyrax-webapp/tmp
50
64
  networks:
51
65
  - hyrax
52
66
 
53
67
  db_migrate:
68
+ build:
69
+ context: .
70
+ target: hyrax-engine-dev
71
+ args:
72
+ - EXTRA_APK_PACKAGES=git less
54
73
  image: ghcr.io/samvera/dassie
55
74
  user: root
56
75
  env_file:
57
76
  - .env
58
- entrypoint: ["sh", "-c"]
59
- command: db-migrate-seed.sh
77
+ command: sh -l -c 'bundle && db-migrate-seed.sh'
60
78
  depends_on:
61
79
  - postgres
62
80
  volumes:
63
- - .dassie:/app/samvera/hyrax-webapp:cached
64
- - .:/app/samvera/hyrax-engine:cached
81
+ - .dassie:/app/samvera/hyrax-webapp
82
+ - .:/app/samvera/hyrax-engine
65
83
  - rails-public:/app/samvera/hyrax-webapp/public
66
84
  - rails-tmp:/app/samvera/hyrax-webapp/tmp
67
85
  networks:
68
86
  - hyrax
69
87
 
88
+ chrome:
89
+ image: selenium/standalone-chrome:3.141
90
+ logging:
91
+ driver: none
92
+ volumes:
93
+ - /dev/shm:/dev/shm
94
+ shm_size: 2G
95
+ ports:
96
+ - "4444:4444"
97
+ - "5959:5900"
98
+ networks:
99
+ - hyrax
100
+
70
101
  postgres:
71
102
  image: postgres:latest
72
103
  restart: always
@@ -105,33 +136,6 @@ services:
105
136
  networks:
106
137
  - hyrax
107
138
 
108
- sidekiq:
109
- build:
110
- context: .
111
- target: hyrax-engine-dev-worker
112
- image: ghcr.io/samvera/dassie-worker
113
- command: sh -l -c 'bundle && bundle exec sidekiq'
114
- user: root
115
- env_file:
116
- - .env
117
- - .dassie/.env
118
- depends_on:
119
- - db_migrate
120
- - fcrepo
121
- - memcached
122
- - postgres
123
- - redis
124
- - solr
125
- volumes:
126
- - .dassie:/app/samvera/hyrax-webapp:cached
127
- - .:/app/samvera/hyrax-engine:cached
128
- - hyrax-derivatives:/app/samvera/hyrax-webapp/derivatives
129
- - hyrax-uploads:/app/samvera/hyrax-webapp/uploads
130
- - sidekiq-public:/app/samvera/hyrax-webapp/public
131
- - sidekiq-tmp:/app/samvera/hyrax-webapp/tmp
132
- networks:
133
- - hyrax
134
-
135
139
  solr:
136
140
  image: solr:8.11.1
137
141
  ports:
@@ -125,7 +125,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
125
125
  Generate a new Rails application using the template.
126
126
 
127
127
  ```
128
- rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.3.0/template.rb
128
+ rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.4.0/template.rb
129
129
  ```
130
130
 
131
131
  Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
@@ -50,7 +50,7 @@ The Samvera community is here to help. Please see our [support guide](./.github/
50
50
  # Getting started
51
51
 
52
52
  This document contains instructions specific to setting up an app with __Hyrax
53
- v3.3.0__. If you are looking for instructions on installing a different
53
+ v3.4.0__. If you are looking for instructions on installing a different
54
54
  version, be sure to select the appropriate branch or tag from the drop-down
55
55
  menu above.
56
56
 
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Hyrax
4
+ ##
5
+ # A custom name for Valkyrie AdministrativeSet objects. Route keys are mapped to `admin_set`
6
+ # not be the same as the model name.
7
+ class AdministrativeSetName < Name
8
+ def initialize(klass, namespace = nil, name = nil)
9
+ super
10
+ @human = 'AdminSet'
11
+ @i18n_key = :admin_set
12
+ @param_key = 'admin_set'
13
+ @plural = 'admin_sets'
14
+ @route_key = 'admin_sets'
15
+ @singular_route_key = 'admin_set'
16
+ end
17
+ end
18
+ end
@@ -14,6 +14,8 @@ module Hyrax
14
14
  @plural = 'collections'
15
15
  @route_key = 'collections'
16
16
  @singular_route_key = 'collection'
17
+ @collection = 'collections'
18
+ @element = 'collection'
17
19
  end
18
20
  end
19
21
  end
@@ -449,6 +449,7 @@ module Hyrax
449
449
  ##
450
450
  # @return [Boolean] whether to use experimental valkyrie storage features
451
451
  def use_valkyrie?
452
+ return true if disable_wings # always return true if wings is disabled
452
453
  ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYRAX_VALKYRIE', false))
453
454
  end
454
455
  # @!endgroup
@@ -495,6 +496,15 @@ module Hyrax
495
496
  Hyrax::Characterization::ValkyrieCharacterizationService
496
497
  end
497
498
 
499
+ ##
500
+ # @!attribute [w] characterization_proxy
501
+ # Which FileSet file to use for mime type resolution
502
+ # @ see Hyrax::FileSetTypeService
503
+ attr_writer :characterization_proxy
504
+ def characterization_proxy
505
+ @characterization_proxy ||= :original_file
506
+ end
507
+
498
508
  # Attributes for the lock manager which ensures a single process/thread is mutating a ore:Aggregation at once.
499
509
  # @!attribute [w] lock_retry_count
500
510
  # How many times to retry to acquire the lock before raising UnableToAcquireLockError
@@ -4,10 +4,17 @@ module Hyrax
4
4
  class Location < ActiveTriples::Resource
5
5
  configure rdf_label: ::RDF::Vocab::GEONAMES.name
6
6
 
7
+ include ResourceLabelCaching
8
+
7
9
  # Return a tuple of url & label
8
10
  def solrize
9
- return [rdf_subject.to_s] if rdf_label.first.to_s.blank? || rdf_label.first.to_s == rdf_subject.to_s
10
- [rdf_subject.to_s, { label: "#{rdf_label.first}$#{rdf_subject}" }]
11
+ label = full_label || rdf_label.first.to_s
12
+ return [rdf_subject.to_s] if label.blank? || label == rdf_subject.to_s
13
+ [rdf_subject.to_s, { label: "#{label}$#{rdf_subject}" }]
14
+ end
15
+
16
+ def full_label
17
+ Hyrax::LocationService.new.full_label(rdf_subject.to_s)
11
18
  end
12
19
  end
13
20
  end