hyrax 3.3.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
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