hyrax 3.3.0 → 3.4.2

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 (255) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +26 -17
  3. data/.dassie/.env +2 -1
  4. data/.dassie/Gemfile +1 -1
  5. data/.dassie/app/forms/collection_resource_form.rb +8 -0
  6. data/.dassie/app/indexers/collection_resource_indexer.rb +8 -0
  7. data/.dassie/app/models/collection_resource.rb +35 -0
  8. data/.dassie/config/initializers/file_services.rb +4 -0
  9. data/.dassie/config/initializers/hyrax.rb +12 -1
  10. data/.dassie/config/metadata/collection_resource.yaml +23 -0
  11. data/.dassie/db/seeds.rb +74 -17
  12. data/.dassie/spec/forms/collection_resource_form_spec.rb +13 -0
  13. data/.dassie/spec/indexers/collection_resource_indexer_spec.rb +14 -0
  14. data/.dassie/spec/models/collection_resource_spec.rb +13 -0
  15. data/.github/release.yml +26 -0
  16. data/.gitignore +3 -0
  17. data/.regen +1 -1
  18. data/.rubocop.yml +1 -1
  19. data/.rubocop_fixme.yml +22 -3
  20. data/CONTAINERS.md +18 -13
  21. data/Dockerfile +4 -3
  22. data/app/actors/hyrax/actors/file_actor.rb +6 -4
  23. data/app/actors/hyrax/actors/transfer_request_actor.rb +3 -7
  24. data/app/assets/javascripts/hyrax/analytics_events.js +8 -2
  25. data/app/assets/javascripts/hyrax/autocomplete/linked_data.es6 +1 -3
  26. data/app/assets/javascripts/hyrax/collections_v2.es6 +13 -0
  27. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +1 -3
  28. data/app/controllers/concerns/hyrax/controller.rb +21 -0
  29. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +83 -59
  30. data/app/controllers/hyrax/admin/admin_sets_controller.rb +105 -19
  31. data/app/controllers/hyrax/admin/permission_template_accesses_controller.rb +12 -19
  32. data/app/controllers/hyrax/batch_edits_controller.rb +12 -3
  33. data/app/controllers/hyrax/batch_uploads_controller.rb +4 -0
  34. data/app/controllers/hyrax/citations_controller.rb +1 -1
  35. data/app/controllers/hyrax/dashboard/collections_controller.rb +176 -83
  36. data/app/controllers/hyrax/single_use_links_viewer_controller.rb +1 -1
  37. data/app/forms/hyrax/forms/administrative_set_form.rb +19 -1
  38. data/app/forms/hyrax/forms/batch_edit_form.rb +1 -1
  39. data/app/forms/hyrax/forms/collection_form.rb +1 -1
  40. data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +21 -6
  41. data/app/forms/hyrax/forms/pcdm_collection_form.rb +30 -2
  42. data/app/forms/hyrax/forms/permission_template_form.rb +17 -9
  43. data/app/forms/hyrax/forms/resource_form.rb +23 -5
  44. data/app/forms/hyrax/forms/widgets/admin_set_visibility.rb +1 -1
  45. data/app/helpers/hyrax/collections_helper.rb +14 -0
  46. data/app/helpers/hyrax/membership_helper.rb +1 -1
  47. data/app/helpers/hyrax/trophy_helper.rb +1 -1
  48. data/app/helpers/hyrax/url_helper.rb +1 -1
  49. data/app/indexers/hyrax/administrative_set_indexer.rb +8 -2
  50. data/app/indexers/hyrax/deep_indexing_service.rb +1 -1
  51. data/app/indexers/hyrax/file_set_indexer.rb +1 -0
  52. data/app/indexers/hyrax/pcdm_collection_indexer.rb +3 -2
  53. data/app/indexers/hyrax/thumbnail_indexer.rb +31 -0
  54. data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +6 -6
  55. data/app/indexers/hyrax/valkyrie_indexer.rb +4 -2
  56. data/app/indexers/hyrax/valkyrie_work_indexer.rb +13 -0
  57. data/app/inputs/controlled_vocabulary_input.rb +2 -0
  58. data/app/jobs/change_depositor_event_job.rb +47 -0
  59. data/app/jobs/characterize_job.rb +43 -3
  60. data/app/jobs/concerns/hyrax/members_permission_job_behavior.rb +1 -1
  61. data/app/jobs/content_depositor_change_event_job.rb +2 -1
  62. data/app/jobs/hyrax/propagate_change_depositor_job.rb +32 -0
  63. data/app/jobs/import_url_job.rb +4 -6
  64. data/app/jobs/inherit_permissions_job.rb +1 -1
  65. data/app/jobs/valkyrie_create_derivatives_job.rb +25 -0
  66. data/app/jobs/valkyrie_ingest_job.rb +41 -35
  67. data/app/models/admin_set.rb +10 -2
  68. data/app/models/collection_branding_info.rb +8 -6
  69. data/app/models/concerns/hyrax/collection_behavior.rb +3 -3
  70. data/app/models/concerns/hyrax/file_set/characterization.rb +7 -1
  71. data/app/models/concerns/hyrax/solr_document/metadata.rb +1 -0
  72. data/app/models/concerns/hyrax/solr_document_behavior.rb +9 -3
  73. data/app/models/concerns/hyrax/user.rb +11 -0
  74. data/app/models/concerns/hyrax/work_behavior.rb +1 -1
  75. data/app/models/featured_work_list.rb +0 -1
  76. data/app/models/hyrax/administrative_set.rb +36 -1
  77. data/app/models/hyrax/collection_type.rb +2 -2
  78. data/app/models/hyrax/file_metadata.rb +37 -3
  79. data/app/models/hyrax/file_set.rb +43 -4
  80. data/app/models/hyrax/group.rb +19 -0
  81. data/app/models/hyrax/pcdm_collection.rb +56 -1
  82. data/app/models/hyrax/permission_template.rb +11 -5
  83. data/app/models/hyrax/work.rb +91 -0
  84. data/app/models/job_io_wrapper.rb +1 -1
  85. data/app/models/proxy_deposit_request.rb +1 -1
  86. data/app/presenters/hyrax/admin_set_presenter.rb +2 -2
  87. data/app/presenters/hyrax/member_presenter_factory.rb +2 -4
  88. data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +2 -2
  89. data/app/presenters/hyrax/work_show_presenter.rb +10 -6
  90. data/app/search_builders/hyrax/dashboard/collections_search_builder.rb +2 -2
  91. data/app/search_builders/hyrax/dashboard/managed_search_filters.rb +44 -4
  92. data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +2 -2
  93. data/app/search_builders/hyrax/my/collections_search_builder.rb +11 -4
  94. data/app/services/hyrax/access_control_list.rb +20 -6
  95. data/app/services/hyrax/adapters/nesting_index_adapter.rb +3 -3
  96. data/app/services/hyrax/admin_set_create_service.rb +21 -37
  97. data/app/services/hyrax/change_content_depositor_service.rb +2 -2
  98. data/app/services/hyrax/change_depositor_service.rb +70 -0
  99. data/app/services/hyrax/characterization/valkyrie_characterization_service.rb +4 -6
  100. data/app/services/hyrax/collections/collection_member_service.rb +3 -5
  101. data/app/services/hyrax/collections/nested_collection_query_service.rb +24 -12
  102. data/app/services/hyrax/custom_queries/navigators/child_file_sets_navigator.rb +45 -0
  103. data/app/services/hyrax/custom_queries/navigators/child_filesets_navigator.rb +7 -2
  104. data/app/services/hyrax/custom_queries/navigators/parent_work_navigator.rb +54 -0
  105. data/app/services/hyrax/default_middleware_stack.rb +3 -0
  106. data/app/services/hyrax/file_set_derivatives_service.rb +21 -2
  107. data/app/services/hyrax/file_set_type_service.rb +2 -5
  108. data/app/services/hyrax/listeners/file_metadata_listener.rb +31 -1
  109. data/app/services/hyrax/listeners/member_cleanup_listener.rb +27 -11
  110. data/app/services/hyrax/listeners/metadata_index_listener.rb +39 -0
  111. data/app/services/hyrax/listeners/proxy_deposit_listener.rb +14 -8
  112. data/app/services/hyrax/location_service.rb +33 -0
  113. data/app/services/hyrax/multiple_membership_checker.rb +46 -1
  114. data/app/services/hyrax/resource_visibility_propagator.rb +1 -1
  115. data/app/services/hyrax/simple_schema_loader.rb +5 -1
  116. data/app/services/hyrax/solr_query_service.rb +12 -7
  117. data/app/services/hyrax/thumbnail_path_service.rb +1 -1
  118. data/app/services/hyrax/valkyrie_persist_derivatives.rb +50 -0
  119. data/app/services/hyrax/valkyrie_upload.rb +94 -0
  120. data/app/services/hyrax/work_uploads_handler.rb +0 -10
  121. data/app/services/hyrax/workflow/workflow_importer.rb +7 -9
  122. data/app/services/hyrax/workflow/workflow_schema.rb +3 -5
  123. data/app/strategies/hyrax/strategies/yaml_strategy.rb +4 -6
  124. data/app/uploaders/hyrax/uploaded_file_uploader.rb +4 -4
  125. data/app/utils/hyrax/data_destroyers/collection_branding_destroyer.rb +29 -0
  126. data/app/utils/hyrax/data_destroyers/collection_types_destroyer.rb +26 -0
  127. data/app/utils/hyrax/data_destroyers/default_admin_set_id_cache_destroyer.rb +26 -0
  128. data/app/utils/hyrax/data_destroyers/featured_works_destroyer.rb +27 -0
  129. data/app/utils/hyrax/data_destroyers/permission_templates_destroyer.rb +30 -0
  130. data/app/utils/hyrax/data_destroyers/repository_metadata_destroyer.rb +42 -0
  131. data/app/utils/hyrax/data_destroyers/stats_destroyer.rb +33 -0
  132. data/app/utils/hyrax/data_maintenance.rb +51 -0
  133. data/app/utils/hyrax/required_data_seeder.rb +21 -0
  134. data/app/utils/hyrax/required_data_seeders/collection_seeder.rb +26 -0
  135. data/app/utils/hyrax/required_data_seeders/collection_type_seeder.rb +36 -0
  136. data/app/utils/hyrax/test_data_seeder.rb +24 -0
  137. data/app/utils/hyrax/test_data_seeders/collection_seeder.rb +91 -0
  138. data/app/utils/hyrax/test_data_seeders/collection_type_seeder.rb +72 -0
  139. data/app/utils/hyrax/test_data_seeders/user_seeder.rb +52 -0
  140. data/app/validators/hyrax/collection_membership_validator.rb +39 -0
  141. data/app/views/catalog/_index_header_list_default.html.erb +8 -1
  142. data/app/views/catalog/_thumbnail_list_default.html.erb +8 -3
  143. data/app/views/collections/edit_fields/_based_near.html.erb +7 -7
  144. data/app/views/hyrax/admin/admin_sets/_form_participant_table.html.erb +2 -2
  145. data/app/views/hyrax/admin/admin_sets/_form_participants.html.erb +2 -2
  146. data/app/views/hyrax/admin/admin_sets/_form_visibility.html.erb +2 -2
  147. data/app/views/hyrax/admin/admin_sets/_form_workflow.erb +1 -1
  148. data/app/views/hyrax/admin/collection_types/index.html.erb +1 -1
  149. data/app/views/hyrax/base/_form.html.erb +1 -1
  150. data/app/views/hyrax/base/_form_child_work_relationships.html.erb +1 -1
  151. data/app/views/hyrax/dashboard/collections/_default_group.html.erb +2 -2
  152. data/app/views/hyrax/dashboard/collections/_form.html.erb +24 -17
  153. data/app/views/hyrax/dashboard/collections/_form_branding.html.erb +1 -0
  154. data/app/views/hyrax/dashboard/collections/_form_discovery.html.erb +6 -3
  155. data/app/views/hyrax/dashboard/collections/_form_share.html.erb +2 -2
  156. data/app/views/hyrax/dashboard/collections/_form_share_table.html.erb +3 -3
  157. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +2 -2
  158. data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +1 -1
  159. data/app/views/hyrax/dashboard/works/_default_group.html.erb +1 -1
  160. data/app/views/hyrax/dashboard/works/_list_works.html.erb +1 -1
  161. data/app/views/hyrax/file_sets/_actions.html.erb +2 -2
  162. data/app/views/hyrax/my/_facet_pagination.html.erb +12 -9
  163. data/app/views/hyrax/my/_work_action_menu.html.erb +8 -9
  164. data/app/views/hyrax/my/collections/_default_group.html.erb +2 -2
  165. data/app/views/hyrax/my/collections/_list_collections.html.erb +2 -2
  166. data/app/views/hyrax/my/collections/index.html.erb +3 -2
  167. data/app/views/hyrax/my/works/_default_group.html.erb +1 -1
  168. data/app/views/hyrax/my/works/_list_works.html.erb +1 -2
  169. data/app/views/hyrax/my/works/_tabs.html.erb +6 -1
  170. data/app/views/hyrax/my/works/index.html.erb +4 -2
  171. data/chart/hyrax/Chart.yaml +11 -7
  172. data/chart/hyrax/README.md +22 -1
  173. data/chart/hyrax/templates/_helpers.tpl +4 -0
  174. data/chart/hyrax/templates/cron-embargo.yaml +5 -0
  175. data/chart/hyrax/templates/cron-lease.yaml +5 -0
  176. data/chart/hyrax/templates/deployment-worker.yaml +11 -0
  177. data/chart/hyrax/templates/ingress.yaml +7 -6
  178. data/chart/hyrax/values.yaml +152 -0
  179. data/config/features.rb +48 -50
  180. data/config/initializers/listeners.rb +0 -1
  181. data/config/initializers/{valkryrie_storage.rb → storage_adapter_initializer.rb} +5 -0
  182. data/config/locales/hyrax.de.yml +18 -17
  183. data/config/locales/hyrax.en.yml +30 -28
  184. data/config/locales/hyrax.es.yml +10 -9
  185. data/config/locales/hyrax.fr.yml +2 -1
  186. data/config/locales/hyrax.it.yml +3 -2
  187. data/config/locales/hyrax.pt-BR.yml +2 -1
  188. data/config/locales/hyrax.zh.yml +2 -1
  189. data/config/metadata/basic_metadata.yaml +2 -0
  190. data/config/metadata/core_metadata.yaml +1 -1
  191. data/docker-compose.yml +47 -42
  192. data/documentation/developing-your-hyrax-based-app.md +1 -1
  193. data/documentation/legacyREADME.md +1 -1
  194. data/hyrax.gemspec +5 -3
  195. data/lib/generators/hyrax/collection_resource/USAGE +20 -0
  196. data/lib/generators/hyrax/collection_resource/collection_resource_generator.rb +133 -0
  197. data/lib/generators/hyrax/collection_resource/templates/collection.rb.erb +34 -0
  198. data/lib/generators/hyrax/collection_resource/templates/collection_form.rb.erb +7 -0
  199. data/lib/generators/hyrax/collection_resource/templates/collection_form_spec.rb.erb +13 -0
  200. data/lib/generators/hyrax/collection_resource/templates/collection_indexer.rb.erb +7 -0
  201. data/lib/generators/hyrax/collection_resource/templates/collection_indexer_spec.rb.erb +13 -0
  202. data/lib/generators/hyrax/collection_resource/templates/collection_metadata.yaml +22 -0
  203. data/lib/generators/hyrax/collection_resource/templates/collection_spec.rb.erb +12 -0
  204. data/lib/generators/hyrax/install_generator.rb +9 -0
  205. data/lib/hyrax/administrative_set_name.rb +18 -0
  206. data/lib/hyrax/collection_name.rb +2 -0
  207. data/lib/hyrax/configuration.rb +22 -0
  208. data/lib/hyrax/controlled_vocabularies/location.rb +9 -2
  209. data/lib/hyrax/controlled_vocabularies/resource_label_caching.rb +42 -0
  210. data/lib/hyrax/controlled_vocabularies.rb +1 -0
  211. data/lib/hyrax/publisher.rb +49 -0
  212. data/lib/hyrax/schema.rb +16 -13
  213. data/lib/hyrax/specs/capybara.rb +1 -1
  214. data/lib/hyrax/specs/shared_specs/hydra_works.rb +11 -5
  215. data/lib/hyrax/specs/shared_specs/indexers.rb +117 -3
  216. data/lib/hyrax/transactions/admin_set_create.rb +2 -1
  217. data/lib/hyrax/transactions/admin_set_destroy.rb +22 -0
  218. data/lib/hyrax/transactions/admin_set_update.rb +21 -0
  219. data/lib/hyrax/transactions/collection_destroy.rb +22 -0
  220. data/lib/hyrax/transactions/collection_update.rb +5 -2
  221. data/lib/hyrax/transactions/container.rb +97 -23
  222. data/lib/hyrax/transactions/create_work.rb +3 -0
  223. data/lib/hyrax/transactions/destroy_work.rb +3 -0
  224. data/lib/hyrax/transactions/steps/apply_collection_permission_template.rb +2 -0
  225. data/lib/hyrax/transactions/steps/apply_permission_template.rb +2 -0
  226. data/lib/hyrax/transactions/steps/apply_visibility.rb +2 -0
  227. data/lib/hyrax/transactions/steps/change_depositor.rb +46 -0
  228. data/lib/hyrax/transactions/steps/check_for_empty_admin_set.rb +36 -0
  229. data/lib/hyrax/transactions/steps/delete_access_control.rb +32 -0
  230. data/lib/hyrax/transactions/steps/delete_resource.rb +19 -3
  231. data/lib/hyrax/transactions/steps/destroy_work.rb +3 -1
  232. data/lib/hyrax/transactions/steps/ensure_permission_template.rb +2 -0
  233. data/lib/hyrax/transactions/steps/save.rb +24 -6
  234. data/lib/hyrax/transactions/steps/save_access_control.rb +2 -2
  235. data/lib/hyrax/transactions/steps/save_collection_banner.rb +59 -0
  236. data/lib/hyrax/transactions/steps/save_collection_logo.rb +109 -0
  237. data/lib/hyrax/transactions/steps/save_work.rb +3 -0
  238. data/lib/hyrax/transactions/steps/set_user_as_creator.rb +41 -0
  239. data/lib/hyrax/transactions/steps/update_work_members.rb +51 -0
  240. data/lib/hyrax/transactions/update_work.rb +4 -3
  241. data/lib/hyrax/transactions/work_create.rb +1 -1
  242. data/lib/hyrax/transactions/work_destroy.rb +2 -1
  243. data/lib/hyrax/transactions/work_update.rb +19 -0
  244. data/lib/hyrax/version.rb +1 -1
  245. data/lib/wings/active_fedora_converter/file_metadata_node.rb +48 -0
  246. data/lib/wings/active_fedora_converter/instance_builder.rb +68 -0
  247. data/lib/wings/active_fedora_converter.rb +3 -3
  248. data/lib/wings/attribute_transformer.rb +5 -1
  249. data/lib/wings/services/custom_queries/find_file_metadata.rb +19 -8
  250. data/lib/wings/setup.rb +3 -1
  251. data/lib/wings/valkyrie/persister.rb +2 -0
  252. data/lib/wings/valkyrie/query_service.rb +6 -7
  253. data/lib/wings/valkyrie/storage.rb +7 -1
  254. data/template.rb +1 -1
  255. metadata +99 -12
data/lib/wings/setup.rb CHANGED
@@ -93,8 +93,10 @@ Valkyrie.config.storage_adapter = :active_fedora
93
93
  custom_queries = [Hyrax::CustomQueries::Navigators::CollectionMembers,
94
94
  Hyrax::CustomQueries::Navigators::ChildCollectionsNavigator,
95
95
  Hyrax::CustomQueries::Navigators::ParentCollectionsNavigator,
96
- Hyrax::CustomQueries::Navigators::ChildFilesetsNavigator,
96
+ Hyrax::CustomQueries::Navigators::ChildFileSetsNavigator,
97
+ Hyrax::CustomQueries::Navigators::ChildFilesetsNavigator, # deprecated; use ChildFileSetsNavigator
97
98
  Hyrax::CustomQueries::Navigators::ChildWorksNavigator,
99
+ Hyrax::CustomQueries::Navigators::ParentWorkNavigator,
98
100
  Hyrax::CustomQueries::Navigators::FindFiles,
99
101
  Wings::CustomQueries::FindAccessControl, # override Hyrax::CustomQueries::FindAccessControl
100
102
  Wings::CustomQueries::FindCollectionsByType,
@@ -1,4 +1,6 @@
1
1
  # frozen_string_literal: true
2
+ require 'active_fedora/cleaner'
3
+
2
4
  module Wings
3
5
  module Valkyrie
4
6
  ##
@@ -86,12 +86,10 @@ module Wings
86
86
  return enum_for(:find_many_by_ids, ids: ids) unless block_given?
87
87
 
88
88
  ids.map(&:to_s).uniq.each do |id|
89
- begin
90
- af_object = ActiveFedora::Base.find(id)
91
- yield resource_factory.to_resource(object: af_object)
92
- rescue ::ActiveFedora::ObjectNotFoundError, Ldp::Gone
93
- next
94
- end
89
+ af_object = ActiveFedora::Base.find(id)
90
+ yield resource_factory.to_resource(object: af_object)
91
+ rescue ::ActiveFedora::ObjectNotFoundError, Ldp::Gone
92
+ next
95
93
  end
96
94
  end
97
95
 
@@ -168,9 +166,10 @@ module Wings
168
166
  id ||= resource.id
169
167
  raise ArgumentError, "Resource has no id; is it persisted?" unless id
170
168
 
169
+ property = Hyrax.config.admin_set_predicate.qname.last if property.to_sym == :admin_set_id
171
170
  active_fedora_model = model ? model_class_for(model) : ActiveFedora::Base
172
-
173
171
  uri = active_fedora_model.id_to_uri(id.to_s)
172
+
174
173
  active_fedora_model.where("+(#{property}_ssim: \"#{uri}\" OR #{property}_ssim: \"#{id}\")").map do |obj|
175
174
  resource_factory.to_resource(object: obj)
176
175
  end
@@ -28,6 +28,12 @@ module Wings
28
28
  super
29
29
  end
30
30
 
31
+ ##
32
+ # @api private
33
+ def self.cast_to_valkyrie_id(id)
34
+ ::Valkyrie::ID.new(id.to_s.sub(/^.+\/\//, PROTOCOL))
35
+ end
36
+
31
37
  ##
32
38
  # @param key [Symbol] the key for plugin behavior to check support for
33
39
  #
@@ -140,7 +146,7 @@ module Wings
140
146
  end
141
147
 
142
148
  def cast_to_valkyrie_id(id)
143
- ::Valkyrie::ID.new(id.to_s.sub(/^.+\/\//, PROTOCOL))
149
+ self.class.cast_to_valkyrie_id(id)
144
150
  end
145
151
  end
146
152
  end
data/template.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  # Hack for https://github.com/rails/rails/issues/35153
3
3
  gsub_file 'Gemfile', /^gem ["']sqlite3["']$/, 'gem "sqlite3", "~> 1.3.0"'
4
- gem 'hyrax', '3.3.0'
4
+ gem 'hyrax', '3.4.2'
5
5
  run 'bundle install'
6
6
  generate 'hyrax:install', '-f'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyrax
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2022-01-24 00:00:00.000000000 Z
17
+ date: 2022-08-24 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: rails
@@ -424,6 +424,20 @@ dependencies:
424
424
  - - "~>"
425
425
  - !ruby/object:Gem::Version
426
426
  version: '6.0'
427
+ - !ruby/object:Gem::Dependency
428
+ name: json-ld
429
+ requirement: !ruby/object:Gem::Requirement
430
+ requirements:
431
+ - - "<"
432
+ - !ruby/object:Gem::Version
433
+ version: '3.2'
434
+ type: :runtime
435
+ prerelease: false
436
+ version_requirements: !ruby/object:Gem::Requirement
437
+ requirements:
438
+ - - "<"
439
+ - !ruby/object:Gem::Version
440
+ version: '3.2'
427
441
  - !ruby/object:Gem::Dependency
428
442
  name: json-schema
429
443
  requirement: !ruby/object:Gem::Requirement
@@ -584,6 +598,20 @@ dependencies:
584
598
  - - ">="
585
599
  - !ruby/object:Gem::Version
586
600
  version: 0.1.2
601
+ - !ruby/object:Gem::Dependency
602
+ name: psych
603
+ requirement: !ruby/object:Gem::Requirement
604
+ requirements:
605
+ - - "~>"
606
+ - !ruby/object:Gem::Version
607
+ version: '3.3'
608
+ type: :runtime
609
+ prerelease: false
610
+ version_requirements: !ruby/object:Gem::Requirement
611
+ requirements:
612
+ - - "~>"
613
+ - !ruby/object:Gem::Version
614
+ version: '3.3'
587
615
  - !ruby/object:Gem::Dependency
588
616
  name: qa
589
617
  requirement: !ruby/object:Gem::Requirement
@@ -768,16 +796,16 @@ dependencies:
768
796
  name: tinymce-rails
769
797
  requirement: !ruby/object:Gem::Requirement
770
798
  requirements:
771
- - - ">="
799
+ - - "~>"
772
800
  - !ruby/object:Gem::Version
773
- version: '0'
801
+ version: '5.10'
774
802
  type: :runtime
775
803
  prerelease: false
776
804
  version_requirements: !ruby/object:Gem::Requirement
777
805
  requirements:
778
- - - ">="
806
+ - - "~>"
779
807
  - !ruby/object:Gem::Version
780
- version: '0'
808
+ version: '5.10'
781
809
  - !ruby/object:Gem::Dependency
782
810
  name: valkyrie
783
811
  requirement: !ruby/object:Gem::Requirement
@@ -1102,20 +1130,20 @@ dependencies:
1102
1130
  requirements:
1103
1131
  - - "~>"
1104
1132
  - !ruby/object:Gem::Version
1105
- version: '3.0'
1133
+ version: '5.0'
1106
1134
  - - ">="
1107
1135
  - !ruby/object:Gem::Version
1108
- version: 3.0.2
1136
+ version: 5.0.2
1109
1137
  type: :development
1110
1138
  prerelease: false
1111
1139
  version_requirements: !ruby/object:Gem::Requirement
1112
1140
  requirements:
1113
1141
  - - "~>"
1114
1142
  - !ruby/object:Gem::Version
1115
- version: '3.0'
1143
+ version: '5.0'
1116
1144
  - - ">="
1117
1145
  - !ruby/object:Gem::Version
1118
- version: 3.0.2
1146
+ version: 5.0.2
1119
1147
  - !ruby/object:Gem::Dependency
1120
1148
  name: shoulda-callback-matchers
1121
1149
  requirement: !ruby/object:Gem::Requirement
@@ -1234,11 +1262,13 @@ files:
1234
1262
  - ".dassie/app/controllers/hyrax/generic_works_controller.rb"
1235
1263
  - ".dassie/app/controllers/hyrax/monographs_controller.rb"
1236
1264
  - ".dassie/app/controllers/hyrax/namespaced_works/nested_works_controller.rb"
1265
+ - ".dassie/app/forms/collection_resource_form.rb"
1237
1266
  - ".dassie/app/forms/hyrax/generic_work_form.rb"
1238
1267
  - ".dassie/app/forms/hyrax/namespaced_works/nested_work_form.rb"
1239
1268
  - ".dassie/app/forms/monograph_form.rb"
1240
1269
  - ".dassie/app/helpers/application_helper.rb"
1241
1270
  - ".dassie/app/helpers/hyrax_helper.rb"
1271
+ - ".dassie/app/indexers/collection_resource_indexer.rb"
1242
1272
  - ".dassie/app/indexers/generic_work_indexer.rb"
1243
1273
  - ".dassie/app/indexers/monograph_indexer.rb"
1244
1274
  - ".dassie/app/indexers/namespaced_works/nested_work_indexer.rb"
@@ -1247,6 +1277,7 @@ files:
1247
1277
  - ".dassie/app/models/ability.rb"
1248
1278
  - ".dassie/app/models/application_record.rb"
1249
1279
  - ".dassie/app/models/collection.rb"
1280
+ - ".dassie/app/models/collection_resource.rb"
1250
1281
  - ".dassie/app/models/concerns/.keep"
1251
1282
  - ".dassie/app/models/file_set.rb"
1252
1283
  - ".dassie/app/models/generic_work.rb"
@@ -1296,6 +1327,7 @@ files:
1296
1327
  - ".dassie/config/initializers/clamav.rb"
1297
1328
  - ".dassie/config/initializers/cookies_serializer.rb"
1298
1329
  - ".dassie/config/initializers/devise.rb"
1330
+ - ".dassie/config/initializers/file_services.rb"
1299
1331
  - ".dassie/config/initializers/filter_parameter_logging.rb"
1300
1332
  - ".dassie/config/initializers/hydra_config.rb"
1301
1333
  - ".dassie/config/initializers/hyrax.rb"
@@ -1330,6 +1362,7 @@ files:
1330
1362
  - ".dassie/config/locales/namespaced_works/nested_work.it.yml"
1331
1363
  - ".dassie/config/locales/namespaced_works/nested_work.pt-BR.yml"
1332
1364
  - ".dassie/config/locales/namespaced_works/nested_work.zh.yml"
1365
+ - ".dassie/config/metadata/collection_resource.yaml"
1333
1366
  - ".dassie/config/metadata/monograph.yaml"
1334
1367
  - ".dassie/config/metadata/sample_metadata.yaml"
1335
1368
  - ".dassie/config/puma.rb"
@@ -1445,6 +1478,9 @@ files:
1445
1478
  - ".dassie/solr/conf/xslt/example_rss.xsl"
1446
1479
  - ".dassie/solr/conf/xslt/luke.xsl"
1447
1480
  - ".dassie/solr/sample_solr_documents.yml"
1481
+ - ".dassie/spec/forms/collection_resource_form_spec.rb"
1482
+ - ".dassie/spec/indexers/collection_resource_indexer_spec.rb"
1483
+ - ".dassie/spec/models/collection_resource_spec.rb"
1448
1484
  - ".dassie/storage/.keep"
1449
1485
  - ".dassie/tmp/pids/.keep"
1450
1486
  - ".dassie/values.stage.yaml"
@@ -1461,6 +1497,7 @@ files:
1461
1497
  - ".github/ISSUE_TEMPLATE.md"
1462
1498
  - ".github/PULL_REQUEST_TEMPLATE.md"
1463
1499
  - ".github/SUPPORT.md"
1500
+ - ".github/release.yml"
1464
1501
  - ".github/stale.yml"
1465
1502
  - ".github/workflows/main.yml"
1466
1503
  - ".github/workflows/release.yml"
@@ -1819,6 +1856,7 @@ files:
1819
1856
  - app/indexers/hyrax/permission_indexer.rb
1820
1857
  - app/indexers/hyrax/repository_reindexer.rb
1821
1858
  - app/indexers/hyrax/resource_indexer.rb
1859
+ - app/indexers/hyrax/thumbnail_indexer.rb
1822
1860
  - app/indexers/hyrax/valkyrie_collection_indexer.rb
1823
1861
  - app/indexers/hyrax/valkyrie_file_set_indexer.rb
1824
1862
  - app/indexers/hyrax/valkyrie_indexer.rb
@@ -1831,6 +1869,7 @@ files:
1831
1869
  - app/jobs/attach_files_to_work_job.rb
1832
1870
  - app/jobs/attach_files_to_work_with_ordered_members_job.rb
1833
1871
  - app/jobs/batch_create_job.rb
1872
+ - app/jobs/change_depositor_event_job.rb
1834
1873
  - app/jobs/characterize_job.rb
1835
1874
  - app/jobs/concerns/hyrax/members_permission_job_behavior.rb
1836
1875
  - app/jobs/concerns/hyrax/permission_job_behavior.rb
@@ -1852,6 +1891,7 @@ files:
1852
1891
  - app/jobs/hyrax/grant_edit_to_members_job.rb
1853
1892
  - app/jobs/hyrax/grant_read_job.rb
1854
1893
  - app/jobs/hyrax/grant_read_to_members_job.rb
1894
+ - app/jobs/hyrax/propagate_change_depositor_job.rb
1855
1895
  - app/jobs/hyrax/revoke_edit_from_members_job.rb
1856
1896
  - app/jobs/hyrax/revoke_edit_job.rb
1857
1897
  - app/jobs/iiif_manifest_cache_prewarm_job.rb
@@ -1864,6 +1904,7 @@ files:
1864
1904
  - app/jobs/resolrize_job.rb
1865
1905
  - app/jobs/stream_notifications_job.rb
1866
1906
  - app/jobs/user_edit_profile_event_job.rb
1907
+ - app/jobs/valkyrie_create_derivatives_job.rb
1867
1908
  - app/jobs/valkyrie_ingest_job.rb
1868
1909
  - app/jobs/visibility_copy_job.rb
1869
1910
  - app/mailers/hyrax/contact_mailer.rb
@@ -2100,6 +2141,7 @@ files:
2100
2141
  - app/services/hyrax/caching_iiif_manifest_builder.rb
2101
2142
  - app/services/hyrax/callbacks.rb
2102
2143
  - app/services/hyrax/change_content_depositor_service.rb
2144
+ - app/services/hyrax/change_depositor_service.rb
2103
2145
  - app/services/hyrax/characterization/file_set_description.rb
2104
2146
  - app/services/hyrax/characterization/model_wrapper.rb
2105
2147
  - app/services/hyrax/characterization/valkyrie_characterization_service.rb
@@ -2127,11 +2169,13 @@ files:
2127
2169
  - app/services/hyrax/custom_queries/find_ids_by_model.rb
2128
2170
  - app/services/hyrax/custom_queries/find_many_by_alternate_ids.rb
2129
2171
  - app/services/hyrax/custom_queries/navigators/child_collections_navigator.rb
2172
+ - app/services/hyrax/custom_queries/navigators/child_file_sets_navigator.rb
2130
2173
  - app/services/hyrax/custom_queries/navigators/child_filesets_navigator.rb
2131
2174
  - app/services/hyrax/custom_queries/navigators/child_works_navigator.rb
2132
2175
  - app/services/hyrax/custom_queries/navigators/collection_members.rb
2133
2176
  - app/services/hyrax/custom_queries/navigators/find_files.rb
2134
2177
  - app/services/hyrax/custom_queries/navigators/parent_collections_navigator.rb
2178
+ - app/services/hyrax/custom_queries/navigators/parent_work_navigator.rb
2135
2179
  - app/services/hyrax/database_migrator.rb
2136
2180
  - app/services/hyrax/default_middleware_stack.rb
2137
2181
  - app/services/hyrax/derivative_path.rb
@@ -2177,6 +2221,7 @@ files:
2177
2221
  - app/services/hyrax/listeners/trophy_cleanup_listener.rb
2178
2222
  - app/services/hyrax/listeners/workflow_listener.rb
2179
2223
  - app/services/hyrax/local_file_service.rb
2224
+ - app/services/hyrax/location_service.rb
2180
2225
  - app/services/hyrax/lock_manager.rb
2181
2226
  - app/services/hyrax/lockable.rb
2182
2227
  - app/services/hyrax/manifest_builder_service.rb
@@ -2218,6 +2263,8 @@ files:
2218
2263
  - app/services/hyrax/time_service.rb
2219
2264
  - app/services/hyrax/tolerant_select_service.rb
2220
2265
  - app/services/hyrax/user_stat_importer.rb
2266
+ - app/services/hyrax/valkyrie_persist_derivatives.rb
2267
+ - app/services/hyrax/valkyrie_upload.rb
2221
2268
  - app/services/hyrax/versioning_service.rb
2222
2269
  - app/services/hyrax/virus_checker_service.rb
2223
2270
  - app/services/hyrax/visibility_intention.rb
@@ -2263,6 +2310,22 @@ files:
2263
2310
  - app/strategies/hyrax/strategies/yaml_strategy.rb
2264
2311
  - app/uploaders/hyrax/avatar_uploader.rb
2265
2312
  - app/uploaders/hyrax/uploaded_file_uploader.rb
2313
+ - app/utils/hyrax/data_destroyers/collection_branding_destroyer.rb
2314
+ - app/utils/hyrax/data_destroyers/collection_types_destroyer.rb
2315
+ - app/utils/hyrax/data_destroyers/default_admin_set_id_cache_destroyer.rb
2316
+ - app/utils/hyrax/data_destroyers/featured_works_destroyer.rb
2317
+ - app/utils/hyrax/data_destroyers/permission_templates_destroyer.rb
2318
+ - app/utils/hyrax/data_destroyers/repository_metadata_destroyer.rb
2319
+ - app/utils/hyrax/data_destroyers/stats_destroyer.rb
2320
+ - app/utils/hyrax/data_maintenance.rb
2321
+ - app/utils/hyrax/required_data_seeder.rb
2322
+ - app/utils/hyrax/required_data_seeders/collection_seeder.rb
2323
+ - app/utils/hyrax/required_data_seeders/collection_type_seeder.rb
2324
+ - app/utils/hyrax/test_data_seeder.rb
2325
+ - app/utils/hyrax/test_data_seeders/collection_seeder.rb
2326
+ - app/utils/hyrax/test_data_seeders/collection_type_seeder.rb
2327
+ - app/utils/hyrax/test_data_seeders/user_seeder.rb
2328
+ - app/validators/hyrax/collection_membership_validator.rb
2266
2329
  - app/validators/hyrax/has_one_title_validator.rb
2267
2330
  - app/values/hyrax/chart_data.rb
2268
2331
  - app/views/_controls.html.erb
@@ -2722,7 +2785,7 @@ files:
2722
2785
  - config/initializers/listeners.rb
2723
2786
  - config/initializers/nesting_indexer_initializer.rb
2724
2787
  - config/initializers/simple_form.rb
2725
- - config/initializers/valkryrie_storage.rb
2788
+ - config/initializers/storage_adapter_initializer.rb
2726
2789
  - config/initializers/valkyrie_id_equality.rb
2727
2790
  - config/locales/hyrax.de.yml
2728
2791
  - config/locales/hyrax.en.yml
@@ -2752,6 +2815,15 @@ files:
2752
2815
  - lib/generators/hyrax/assets_generator.rb
2753
2816
  - lib/generators/hyrax/clamav_generator.rb
2754
2817
  - lib/generators/hyrax/collection_generator.rb
2818
+ - lib/generators/hyrax/collection_resource/USAGE
2819
+ - lib/generators/hyrax/collection_resource/collection_resource_generator.rb
2820
+ - lib/generators/hyrax/collection_resource/templates/collection.rb.erb
2821
+ - lib/generators/hyrax/collection_resource/templates/collection_form.rb.erb
2822
+ - lib/generators/hyrax/collection_resource/templates/collection_form_spec.rb.erb
2823
+ - lib/generators/hyrax/collection_resource/templates/collection_indexer.rb.erb
2824
+ - lib/generators/hyrax/collection_resource/templates/collection_indexer_spec.rb.erb
2825
+ - lib/generators/hyrax/collection_resource/templates/collection_metadata.yaml
2826
+ - lib/generators/hyrax/collection_resource/templates/collection_spec.rb.erb
2755
2827
  - lib/generators/hyrax/config_generator.rb
2756
2828
  - lib/generators/hyrax/health_check_generator.rb
2757
2829
  - lib/generators/hyrax/install_generator.rb
@@ -2887,6 +2959,7 @@ files:
2887
2959
  - lib/generators/hyrax/work_resource/work_resource_generator.rb
2888
2960
  - lib/hyrax.rb
2889
2961
  - lib/hyrax/active_fedora_dummy_model.rb
2962
+ - lib/hyrax/administrative_set_name.rb
2890
2963
  - lib/hyrax/arkivo.rb
2891
2964
  - lib/hyrax/arkivo/actor.rb
2892
2965
  - lib/hyrax/arkivo/config.rb
@@ -2897,6 +2970,7 @@ files:
2897
2970
  - lib/hyrax/configuration.rb
2898
2971
  - lib/hyrax/controlled_vocabularies.rb
2899
2972
  - lib/hyrax/controlled_vocabularies/location.rb
2973
+ - lib/hyrax/controlled_vocabularies/resource_label_caching.rb
2900
2974
  - lib/hyrax/controlled_vocabulary/importer/downloader.rb
2901
2975
  - lib/hyrax/controlled_vocabulary/importer/language.rb
2902
2976
  - lib/hyrax/controller_resource.rb
@@ -2941,8 +3015,11 @@ files:
2941
3015
  - lib/hyrax/specs/spy_listener.rb
2942
3016
  - lib/hyrax/transactions.rb
2943
3017
  - lib/hyrax/transactions/admin_set_create.rb
3018
+ - lib/hyrax/transactions/admin_set_destroy.rb
3019
+ - lib/hyrax/transactions/admin_set_update.rb
2944
3020
  - lib/hyrax/transactions/apply_change_set.rb
2945
3021
  - lib/hyrax/transactions/collection_create.rb
3022
+ - lib/hyrax/transactions/collection_destroy.rb
2946
3023
  - lib/hyrax/transactions/collection_update.rb
2947
3024
  - lib/hyrax/transactions/container.rb
2948
3025
  - lib/hyrax/transactions/create_work.rb
@@ -2955,6 +3032,9 @@ files:
2955
3032
  - lib/hyrax/transactions/steps/apply_collection_type_permissions.rb
2956
3033
  - lib/hyrax/transactions/steps/apply_permission_template.rb
2957
3034
  - lib/hyrax/transactions/steps/apply_visibility.rb
3035
+ - lib/hyrax/transactions/steps/change_depositor.rb
3036
+ - lib/hyrax/transactions/steps/check_for_empty_admin_set.rb
3037
+ - lib/hyrax/transactions/steps/delete_access_control.rb
2958
3038
  - lib/hyrax/transactions/steps/delete_resource.rb
2959
3039
  - lib/hyrax/transactions/steps/destroy_work.rb
2960
3040
  - lib/hyrax/transactions/steps/ensure_admin_set.rb
@@ -2962,17 +3042,22 @@ files:
2962
3042
  - lib/hyrax/transactions/steps/remove_file_set_from_work.rb
2963
3043
  - lib/hyrax/transactions/steps/save.rb
2964
3044
  - lib/hyrax/transactions/steps/save_access_control.rb
3045
+ - lib/hyrax/transactions/steps/save_collection_banner.rb
3046
+ - lib/hyrax/transactions/steps/save_collection_logo.rb
2965
3047
  - lib/hyrax/transactions/steps/save_work.rb
2966
3048
  - lib/hyrax/transactions/steps/set_collection_type_gid.rb
2967
3049
  - lib/hyrax/transactions/steps/set_default_admin_set.rb
2968
3050
  - lib/hyrax/transactions/steps/set_modified_date.rb
2969
3051
  - lib/hyrax/transactions/steps/set_uploaded_date_unless_present.rb
3052
+ - lib/hyrax/transactions/steps/set_user_as_creator.rb
2970
3053
  - lib/hyrax/transactions/steps/set_user_as_depositor.rb
3054
+ - lib/hyrax/transactions/steps/update_work_members.rb
2971
3055
  - lib/hyrax/transactions/steps/validate.rb
2972
3056
  - lib/hyrax/transactions/transaction.rb
2973
3057
  - lib/hyrax/transactions/update_work.rb
2974
3058
  - lib/hyrax/transactions/work_create.rb
2975
3059
  - lib/hyrax/transactions/work_destroy.rb
3060
+ - lib/hyrax/transactions/work_update.rb
2976
3061
  - lib/hyrax/valkyrie_can_can_adapter.rb
2977
3062
  - lib/hyrax/valkyrie_simple_path_generator.rb
2978
3063
  - lib/hyrax/version.rb
@@ -2999,6 +3084,8 @@ files:
2999
3084
  - lib/wings/active_fedora_classifier.rb
3000
3085
  - lib/wings/active_fedora_converter.rb
3001
3086
  - lib/wings/active_fedora_converter/default_work.rb
3087
+ - lib/wings/active_fedora_converter/file_metadata_node.rb
3088
+ - lib/wings/active_fedora_converter/instance_builder.rb
3002
3089
  - lib/wings/active_fedora_converter/nested_resource.rb
3003
3090
  - lib/wings/attribute_transformer.rb
3004
3091
  - lib/wings/converter_value_mapper.rb
@@ -3061,7 +3148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
3061
3148
  - !ruby/object:Gem::Version
3062
3149
  version: '0'
3063
3150
  requirements: []
3064
- rubygems_version: 3.1.6
3151
+ rubygems_version: 3.3.17
3065
3152
  signing_key:
3066
3153
  specification_version: 4
3067
3154
  summary: Hyrax is a front-end based on the robust Samvera framework, providing a user