hyrax 5.0.1 → 5.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +7 -176
  3. data/.dassie/.env +8 -3
  4. data/.dassie/Gemfile +13 -2
  5. data/.dassie/app/controllers/hyrax/generic_work_resources_controller.rb +17 -0
  6. data/.dassie/app/controllers/hyrax/generic_works_controller.rb +7 -1
  7. data/.dassie/app/forms/generic_work_resource_form.rb +20 -0
  8. data/.dassie/app/indexers/generic_work_resource_indexer.rb +16 -0
  9. data/.dassie/app/models/admin_set_resource.rb +9 -0
  10. data/.dassie/app/models/collection_resource.rb +2 -0
  11. data/.dassie/app/models/file_set.rb +2 -0
  12. data/.dassie/app/models/generic_work_resource.rb +10 -0
  13. data/.dassie/app/views/hyrax/generic_work_resources/_generic_work_resource.html.erb +2 -0
  14. data/.dassie/config/analytics.yml +6 -1
  15. data/.dassie/config/application.rb +24 -0
  16. data/.dassie/config/initializers/hyrax.rb +13 -3
  17. data/.dassie/config/initializers/wings.rb +109 -0
  18. data/.dassie/config/metadata/generic_work_resource.yaml +22 -0
  19. data/.dassie/config/valkyrie_index.yml +4 -10
  20. data/.dassie/db/migrate/20240506070809_valkyrie_id_to_string.rb +5 -0
  21. data/.dassie/db/schema.rb +2 -2
  22. data/.dassie/spec/indexers/generic_work_resource_indexer_spec.rb +13 -0
  23. data/.dassie/spec/models/generic_work_resource_spec.rb +12 -0
  24. data/.dassie/spec/views/generic_work_resources/_generic_work_resource.html.erb_spec.rb +7 -0
  25. data/.dockerignore +6 -4
  26. data/.github/release.yml +3 -0
  27. data/.github/workflows/lint-build-test.yml +130 -0
  28. data/.github/workflows/test-results.yml +40 -0
  29. data/.koppie/.env +7 -5
  30. data/.koppie/Gemfile +12 -1
  31. data/.koppie/config/analytics.yml +6 -1
  32. data/.koppie/config/environments/test.rb +2 -0
  33. data/.koppie/config/initializers/1_valkyrie.rb +6 -2
  34. data/.koppie/config/solr.yml +1 -1
  35. data/.regen +1 -1
  36. data/.rubocop.yml +5 -0
  37. data/Dockerfile +16 -36
  38. data/Gemfile +2 -0
  39. data/app/assets/javascripts/hydra-editor/field_manager.es6 +187 -0
  40. data/app/assets/javascripts/hyrax/analytics_events.js +48 -24
  41. data/app/assets/javascripts/hyrax/collapse.js +4 -4
  42. data/app/assets/javascripts/hyrax/file_manager/save_manager.es6 +2 -0
  43. data/app/assets/javascripts/hyrax/search.js +2 -3
  44. data/app/assets/javascripts/hyrax/select_work_type.es6 +3 -1
  45. data/app/assets/javascripts/hyrax/uploader.js +20 -18
  46. data/app/assets/javascripts/hyrax.js +1 -0
  47. data/app/assets/stylesheets/_bootstrap-default-overrides.scss +4 -0
  48. data/app/assets/stylesheets/hyrax/_card.scss +4 -0
  49. data/app/assets/stylesheets/hyrax/_catalog.scss +21 -0
  50. data/app/assets/stylesheets/hyrax/_collections.scss +1 -1
  51. data/app/assets/stylesheets/hyrax/_facets.scss +15 -3
  52. data/app/assets/stylesheets/hyrax/_featured.scss +4 -0
  53. data/app/assets/stylesheets/hyrax/_form.scss +4 -0
  54. data/app/assets/stylesheets/hyrax/_forms.scss +2 -1
  55. data/app/assets/stylesheets/hyrax/_nestable.scss +9 -8
  56. data/app/assets/stylesheets/hyrax/_select_work_type.scss +12 -0
  57. data/app/assets/stylesheets/hyrax/_styles.scss +4 -0
  58. data/app/assets/stylesheets/hyrax/_work-show.scss +3 -0
  59. data/app/controllers/concerns/hyrax/singular_subresource_controller.rb +7 -2
  60. data/app/controllers/concerns/hyrax/valkyrie_downloads_controller_behavior.rb +11 -2
  61. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +9 -2
  62. data/app/controllers/hyrax/admin/analytics/collection_reports_controller.rb +2 -2
  63. data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +7 -8
  64. data/app/controllers/hyrax/dashboard/collections_controller.rb +2 -1
  65. data/app/controllers/hyrax/downloads_controller.rb +24 -3
  66. data/app/controllers/hyrax/file_sets_controller.rb +32 -6
  67. data/app/controllers/hyrax/my/works_controller.rb +20 -0
  68. data/app/controllers/hyrax/stats_controller.rb +1 -1
  69. data/app/controllers/hyrax/uploads_controller.rb +28 -2
  70. data/app/forms/hyrax/forms/admin/appearance.rb +1 -1
  71. data/app/forms/hyrax/forms/admin/collection_type_form.rb +1 -7
  72. data/app/forms/hyrax/forms/pcdm_collection_form.rb +9 -0
  73. data/app/forms/hyrax/forms/work_embargo_form.rb +6 -0
  74. data/app/forms/hyrax/forms/work_lease_form.rb +6 -0
  75. data/app/indexers/concerns/hyrax/location_indexer.rb +2 -2
  76. data/app/indexers/hyrax/indexers/file_set_indexer.rb +4 -0
  77. data/app/indexers/hyrax/indexers/resource_indexer.rb +1 -0
  78. data/app/indexers/hyrax/valkyrie_indexer.rb +3 -5
  79. data/app/jobs/batch_create_job.rb +4 -3
  80. data/app/jobs/create_work_job.rb +4 -3
  81. data/app/jobs/migrate_files_to_valkyrie_job.rb +109 -0
  82. data/app/jobs/migrate_resources_job.rb +34 -0
  83. data/app/jobs/valkyrie_create_derivatives_job.rb +2 -1
  84. data/app/models/admin_set.rb +1 -0
  85. data/app/models/concerns/hyrax/ar_resource.rb +104 -0
  86. data/app/models/concerns/hyrax/solr_document/ordered_members.rb +2 -1
  87. data/app/models/concerns/hyrax/solr_document_behavior.rb +13 -2
  88. data/app/models/concerns/hyrax/valkyrie_lazy_migration.rb +82 -0
  89. data/app/models/file_download_stat.rb +1 -1
  90. data/app/models/file_view_stat.rb +1 -1
  91. data/app/models/hyrax/collection_type.rb +12 -4
  92. data/app/models/hyrax/file_metadata.rb +19 -0
  93. data/app/models/hyrax/file_set.rb +25 -0
  94. data/app/models/hyrax/model_registry.rb +2 -3
  95. data/app/models/hyrax/resource.rb +5 -0
  96. data/app/models/hyrax/statistic.rb +12 -37
  97. data/app/presenters/hyrax/file_set_presenter.rb +2 -1
  98. data/app/presenters/hyrax/file_usage.rb +3 -3
  99. data/app/presenters/hyrax/iiif_manifest_presenter.rb +2 -1
  100. data/app/presenters/hyrax/member_presenter_factory.rb +7 -1
  101. data/app/presenters/hyrax/menu_presenter.rb +1 -1
  102. data/app/presenters/hyrax/stats_usage_presenter.rb +2 -1
  103. data/app/presenters/hyrax/work_show_presenter.rb +13 -17
  104. data/app/presenters/hyrax/work_usage.rb +5 -2
  105. data/app/search_builders/hyrax/expired_embargo_search_builder.rb +7 -1
  106. data/app/search_builders/hyrax/expired_lease_search_builder.rb +7 -1
  107. data/app/search_builders/hyrax/filter_by_type.rb +1 -3
  108. data/app/search_builders/hyrax/valkyrie_abstract_type_relation.rb +7 -2
  109. data/app/services/hyrax/access_control_list.rb +1 -1
  110. data/app/services/hyrax/admin_set_create_service.rb +16 -5
  111. data/app/services/hyrax/admin_set_service.rb +2 -1
  112. data/app/services/hyrax/analytics/ga4/base.rb +96 -0
  113. data/app/services/hyrax/analytics/ga4/events.rb +25 -0
  114. data/app/services/hyrax/analytics/ga4/events_daily.rb +36 -0
  115. data/app/services/hyrax/analytics/ga4/visits.rb +33 -0
  116. data/app/services/hyrax/analytics/ga4/visits_daily.rb +24 -0
  117. data/app/services/hyrax/analytics/ga4.rb +204 -0
  118. data/app/services/hyrax/analytics/google.rb +16 -2
  119. data/app/services/hyrax/analytics/matomo.rb +16 -3
  120. data/app/services/hyrax/analytics/results.rb +6 -0
  121. data/app/services/hyrax/custom_queries/find_access_control.rb +1 -1
  122. data/app/services/hyrax/custom_queries/find_by_date_range.rb +6 -23
  123. data/app/services/hyrax/custom_queries/find_collections_by_type.rb +2 -2
  124. data/app/services/hyrax/custom_queries/find_count_by.rb +3 -31
  125. data/app/services/hyrax/custom_queries/find_file_metadata.rb +2 -2
  126. data/app/services/hyrax/custom_queries/find_models_by_access.rb +5 -27
  127. data/app/services/hyrax/embargo_manager.rb +2 -1
  128. data/app/services/hyrax/listeners/file_listener.rb +2 -2
  129. data/app/services/hyrax/lock_manager.rb +6 -6
  130. data/app/services/hyrax/lockable.rb +4 -3
  131. data/app/services/hyrax/simple_schema_loader.rb +1 -1
  132. data/app/services/hyrax/solr_service.rb +22 -8
  133. data/app/services/hyrax/statistics/query_service.rb +1 -1
  134. data/app/services/hyrax/statistics/works/over_time.rb +1 -1
  135. data/app/services/hyrax/thumbnail_path_service.rb +2 -0
  136. data/app/services/hyrax/user_stat_importer.rb +5 -5
  137. data/app/services/hyrax/valkyrie_upload.rb +9 -7
  138. data/app/services/hyrax/versioning_service.rb +10 -2
  139. data/app/services/hyrax/work_query_service.rb +2 -2
  140. data/app/services/migrate_resource_service.rb +55 -0
  141. data/app/views/_controls.html.erb +5 -5
  142. data/app/views/_masthead.html.erb +1 -1
  143. data/app/views/catalog/_search_form.html.erb +9 -16
  144. data/app/views/catalog/_thumbnail_list_collection.html.erb +1 -1
  145. data/app/views/catalog/_thumbnail_list_default.html.erb +2 -2
  146. data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +4 -4
  147. data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +1 -1
  148. data/app/views/hyrax/admin/collection_types/_form.html.erb +4 -4
  149. data/app/views/hyrax/admin/collection_types/index.html.erb +1 -1
  150. data/app/views/hyrax/admin/features/index.html.erb +1 -1
  151. data/app/views/hyrax/base/_file_manager_actions.html.erb +1 -1
  152. data/app/views/hyrax/base/_file_manager_member.html.erb +7 -4
  153. data/app/views/hyrax/base/_file_manager_thumbnail.html.erb +1 -1
  154. data/app/views/hyrax/base/_form_files.html.erb +1 -1
  155. data/app/views/hyrax/base/_form_member_of_collections.html.erb +4 -0
  156. data/app/views/hyrax/base/_show_actions.html.erb +7 -8
  157. data/app/views/hyrax/base/_work_button_row.html.erb +1 -1
  158. data/app/views/hyrax/batch_select/_add_button.html.erb +1 -1
  159. data/app/views/hyrax/content_blocks/_form.html.erb +3 -3
  160. data/app/views/hyrax/dashboard/_sidebar.html.erb +1 -1
  161. data/app/views/hyrax/dashboard/_user_activity.html.erb +2 -2
  162. data/app/views/hyrax/dashboard/collections/_form.html.erb +4 -4
  163. data/app/views/hyrax/dashboard/collections/_form_share.html.erb +6 -4
  164. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +1 -1
  165. data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +1 -1
  166. data/app/views/hyrax/dashboard/show_admin.html.erb +18 -19
  167. data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +1 -1
  168. data/app/views/hyrax/embargoes/_list_expired_active_embargoes.html.erb +7 -7
  169. data/app/views/hyrax/file_sets/_actions.html.erb +9 -1
  170. data/app/views/hyrax/file_sets/_permission_form.html.erb +4 -2
  171. data/app/views/hyrax/file_sets/_show_actions.html.erb +1 -1
  172. data/app/views/hyrax/homepage/_featured.html.erb +1 -1
  173. data/app/views/hyrax/homepage/_recent_document.html.erb +2 -2
  174. data/app/views/hyrax/leases/_list_expired_active_leases.html.erb +6 -6
  175. data/app/views/hyrax/my/collections/_list_collections.html.erb +1 -1
  176. data/app/views/hyrax/my/collections/_tabs.html.erb +1 -1
  177. data/app/views/hyrax/pages/_form.html.erb +8 -8
  178. data/app/views/hyrax/transfers/_received.html.erb +1 -1
  179. data/app/views/hyrax/uploads/create.json.jbuilder +2 -2
  180. data/app/views/hyrax/users/_activity_log.html.erb +15 -9
  181. data/app/views/hyrax/users/_user_row.html.erb +6 -3
  182. data/app/views/hyrax/users/_vitals.html.erb +3 -2
  183. data/app/views/layouts/_head_tag_content.html.erb +2 -0
  184. data/app/views/shared/_appearance_styles.html.erb +5 -1
  185. data/app/views/shared/_ga4.html.erb +11 -0
  186. data/app/views/shared/_select_work_type_modal.html.erb +10 -1
  187. data/bin/db-migrate-seed.sh +3 -3
  188. data/bin/dev-entrypoint.sh +7 -2
  189. data/bin/{db-wait.sh → service-wait.sh} +1 -1
  190. data/bin/worker-entrypoint.sh +8 -0
  191. data/chart/hyrax/templates/deployment-worker.yaml +2 -2
  192. data/config/locales/hyrax.en.yml +4 -2
  193. data/config/metadata/basic_metadata.yaml +20 -0
  194. data/config/metadata/hyrax_internal_metadata.yaml +1 -1
  195. data/docker-compose-dassie.yml +167 -0
  196. data/docker-compose-koppie.yml +21 -36
  197. data/docker-compose-sirenia.yml +50 -44
  198. data/docker-compose.yml +2 -183
  199. data/documentation/developing-your-hyrax-based-app.md +2 -2
  200. data/hyrax.gemspec +5 -4
  201. data/lib/freyja/custom_query_container.rb +5 -0
  202. data/lib/freyja/metadata_adapter.rb +32 -0
  203. data/lib/freyja/persister.rb +42 -0
  204. data/lib/freyja/query_service.rb +20 -0
  205. data/lib/freyja/resource_factory.rb +8 -0
  206. data/lib/freyja.rb +14 -0
  207. data/lib/frigg/custom_query_container.rb +5 -0
  208. data/lib/frigg/metadata_adapter.rb +22 -0
  209. data/lib/frigg/persister.rb +33 -0
  210. data/lib/frigg/query_service.rb +15 -0
  211. data/lib/frigg.rb +13 -0
  212. data/lib/generators/hyrax/install_generator.rb +5 -0
  213. data/lib/generators/hyrax/templates/config/analytics.yml +6 -1
  214. data/lib/generators/hyrax/templates/config/initializers/1_valkyrie.rb +6 -2
  215. data/lib/generators/hyrax/templates/config/valkyrie_index.yml +1 -1
  216. data/lib/goddess/custom_query_container.rb +71 -0
  217. data/lib/goddess/metadata.rb +13 -0
  218. data/lib/goddess/query.rb +176 -0
  219. data/lib/hyrax/configuration.rb +83 -0
  220. data/lib/hyrax/engine.rb +2 -0
  221. data/lib/hyrax/form_fields.rb +1 -3
  222. data/lib/hyrax/name.rb +5 -0
  223. data/lib/hyrax/rubocop/custom_cops.rb +30 -0
  224. data/lib/hyrax/specs/capybara.rb +10 -6
  225. data/lib/hyrax/specs/shared_specs/factories/admin_sets.rb +2 -0
  226. data/lib/hyrax/specs/shared_specs/factories/hyrax_embargo.rb +4 -0
  227. data/lib/hyrax/specs/shared_specs/factories/hyrax_lease.rb +4 -0
  228. data/lib/hyrax/specs/shared_specs/factories/hyrax_work.rb +16 -2
  229. data/lib/hyrax/specs/shared_specs/hydra_works.rb +1 -1
  230. data/lib/hyrax/transactions/admin_set_destroy.rb +2 -1
  231. data/lib/hyrax/transactions/collection_destroy.rb +2 -1
  232. data/lib/hyrax/transactions/container.rb +9 -0
  233. data/lib/hyrax/transactions/steps/add_file_sets.rb +2 -1
  234. data/lib/hyrax/transactions/steps/delete_permission_template.rb +30 -0
  235. data/lib/hyrax/transactions/steps/delete_resource.rb +1 -1
  236. data/lib/hyrax/transactions/steps/save_collection_logo.rb +2 -1
  237. data/lib/hyrax/valkyrie_can_can_adapter.rb +8 -1
  238. data/lib/hyrax/version.rb +1 -1
  239. data/lib/wings/active_fedora_converter.rb +13 -5
  240. data/lib/wings/converter_value_mapper.rb +1 -0
  241. data/lib/wings/services/custom_queries/find_collections_by_type.rb +2 -1
  242. data/lib/wings/services/custom_queries/find_file_metadata.rb +2 -2
  243. data/lib/wings/setup.rb +12 -3
  244. data/lib/wings/transformer_value_mapper.rb +5 -1
  245. data/lib/wings/valkyrie/persister.rb +3 -1
  246. data/template.rb +1 -1
  247. metadata +77 -19
  248. data/.koppie/scripts/db-migrate-seed.sh +0 -9
  249. data/.koppie/scripts/entrypoint.sh +0 -10
@@ -246,6 +246,7 @@ module Wings
246
246
  attr_reader :attributes
247
247
 
248
248
  def initialize(attributes)
249
+ attributes = attributes.merge(file_name: attributes[:original_filename]) if attributes[:original_filename]
249
250
  @attributes = attributes
250
251
  end
251
252
 
@@ -19,7 +19,8 @@ module Wings
19
19
  # @param global_id [GlobalID] global id for a Hyrax::CollectionType
20
20
  #
21
21
  # @return [Enumerable<PcdmCollection>]
22
- def find_collections_by_type(global_id:)
22
+ def find_collections_by_type(global_id:, **)
23
+ # TODO: Consider how to do this without the hard-coded Collection
23
24
  ::Collection.where(Hyrax.config.collection_type_index_field.to_sym => global_id.to_s).map(&:valkyrie_resource)
24
25
  end
25
26
  end
@@ -63,7 +63,7 @@ module Wings
63
63
  def find_file_metadata_by_alternate_identifier(alternate_identifier:, use_valkyrie: true)
64
64
  alternate_identifier = ::Valkyrie::ID.new(alternate_identifier).to_s
65
65
  object = Hydra::PCDM::File.find(alternate_identifier)
66
- raise Hyrax::ObjectNotFoundError if object.new_record?
66
+ raise Hyrax::ObjectNotFoundError if object.new_record? || object.empty?
67
67
 
68
68
  if use_valkyrie == false
69
69
  warn_about_deprecation
@@ -108,7 +108,7 @@ module Wings
108
108
  #
109
109
  def find_many_file_metadata_by_use(resource:, use:, use_valkyrie: true)
110
110
  pcdm_files = find_many_file_metadata_by_ids(ids: resource.file_ids, use_valkyrie: false)
111
- pcdm_files.select! { |pcdm_file| pcdm_file.metadata_node.type.include?(use) }
111
+ pcdm_files.select! { |pcdm_file| !pcdm_file.empty? && pcdm_file.metadata_node.type.include?(use) }
112
112
 
113
113
  if use_valkyrie == false
114
114
  warn_about_deprecation
data/lib/wings/setup.rb CHANGED
@@ -127,9 +127,18 @@ custom_queries.each do |query_handler|
127
127
  Valkyrie.config.metadata_adapter.query_service.custom_queries.register_query_handler(query_handler)
128
128
  end
129
129
 
130
- Wings::ModelRegistry.register(Hyrax::AccessControl, Hydra::AccessControl)
131
- Wings::ModelRegistry.register(Hyrax::AdministrativeSet, AdminSet)
132
- Wings::ModelRegistry.register(Hyrax::PcdmCollection, ::Collection)
130
+ Valkyrie.config.resource_class_resolver = lambda do |resource_klass_name|
131
+ return resource_klass_name.constantize unless defined?(Wings)
132
+ klass_name = resource_klass_name.gsub(/Resource$/, '')
133
+ # Second one should throw a name error because we do not know what you want if
134
+ # it isn't one of these two options
135
+ klass = klass_name.safe_constantize || resource_klass_name.constantize
136
+ Wings::ModelRegistry.reverse_lookup(klass) || klass
137
+ end
138
+
139
+ Wings::ModelRegistry.register(Hyrax::AccessControl, Hydra::AccessControl)
140
+ Wings::ModelRegistry.register(Hyrax.config.admin_set_class_for_wings, AdminSet)
141
+ Wings::ModelRegistry.register(Hyrax.config.collection_class_for_wings, ::Collection)
133
142
  Wings::ModelRegistry.register(Hyrax::FileSet, FileSet)
134
143
  Wings::ModelRegistry.register(Hyrax::Embargo, Hydra::AccessControls::Embargo)
135
144
  Wings::ModelRegistry.register(Hyrax::Lease, Hydra::AccessControls::Lease)
@@ -49,8 +49,12 @@ module Wings
49
49
  end
50
50
 
51
51
  ##
52
- # @return [RDF::Term]
52
+ # Valkyrie objects contain a URI string for location objects so we need
53
+ # to return just the string for mapping from Fedora
54
+ #
55
+ # @return [RDF::Term || String]
53
56
  def result
57
+ return value.id if value.is_a?(Hyrax::ControlledVocabularies::Location)
54
58
  value.to_term
55
59
  end
56
60
  end
@@ -24,7 +24,8 @@ module Wings
24
24
  # @param [Valkyrie::Resource] resource
25
25
  # @param [Boolean] perform_af_validation
26
26
  # @return [Valkyrie::Resource] the persisted/updated resource
27
- def save(resource:, perform_af_validation: false)
27
+ # rubocop:disable Lint/UnusedMethodArgument
28
+ def save(resource:, perform_af_validation: false, external_resource: false)
28
29
  af_object = resource_factory.from_resource(resource: resource)
29
30
 
30
31
  check_lock_tokens(af_object: af_object, resource: resource)
@@ -43,6 +44,7 @@ module Wings
43
44
 
44
45
  raise FailedSaveError.new(err.message, obj: af_object)
45
46
  end
47
+ # rubocop:enable Lint/UnusedMethodArgument
46
48
 
47
49
  # Persists a resource using ActiveFedora
48
50
  # @param [Valkyrie::Resource] resource
data/template.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
- gem 'hyrax', '5.0.1'
2
+ gem 'hyrax', '5.0.4'
3
3
  run 'bundle install'
4
4
  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: 5.0.1
4
+ version: 5.0.4
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: 2024-03-29 00:00:00.000000000 Z
17
+ date: 2025-02-10 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: rails
@@ -92,14 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '4.0'
95
+ version: 4.7.0
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '4.0'
102
+ version: 4.7.0
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: breadcrumbs_on_rails
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -166,16 +166,16 @@ dependencies:
166
166
  name: concurrent-ruby
167
167
  requirement: !ruby/object:Gem::Requirement
168
168
  requirements:
169
- - - "~>"
169
+ - - '='
170
170
  - !ruby/object:Gem::Version
171
- version: '1.0'
171
+ version: 1.3.4
172
172
  type: :runtime
173
173
  prerelease: false
174
174
  version_requirements: !ruby/object:Gem::Requirement
175
175
  requirements:
176
- - - "~>"
176
+ - - '='
177
177
  - !ruby/object:Gem::Version
178
- version: '1.0'
178
+ version: 1.3.4
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: connection_pool
181
181
  requirement: !ruby/object:Gem::Requirement
@@ -322,6 +322,20 @@ dependencies:
322
322
  - - "~>"
323
323
  - !ruby/object:Gem::Version
324
324
  version: '4.2'
325
+ - !ruby/object:Gem::Dependency
326
+ name: google-analytics-data
327
+ requirement: !ruby/object:Gem::Requirement
328
+ requirements:
329
+ - - "~>"
330
+ - !ruby/object:Gem::Version
331
+ version: '0.6'
332
+ type: :runtime
333
+ prerelease: false
334
+ version_requirements: !ruby/object:Gem::Requirement
335
+ requirements:
336
+ - - "~>"
337
+ - !ruby/object:Gem::Version
338
+ version: '0.6'
325
339
  - !ruby/object:Gem::Dependency
326
340
  name: hydra-derivatives
327
341
  requirement: !ruby/object:Gem::Requirement
@@ -528,16 +542,16 @@ dependencies:
528
542
  name: openseadragon
529
543
  requirement: !ruby/object:Gem::Requirement
530
544
  requirements:
531
- - - ">="
545
+ - - "~>"
532
546
  - !ruby/object:Gem::Version
533
- version: '0'
547
+ version: '0.9'
534
548
  type: :runtime
535
549
  prerelease: false
536
550
  version_requirements: !ruby/object:Gem::Requirement
537
551
  requirements:
538
- - - ">="
552
+ - - "~>"
539
553
  - !ruby/object:Gem::Version
540
- version: '0'
554
+ version: '0.9'
541
555
  - !ruby/object:Gem::Dependency
542
556
  name: posix-spawn
543
557
  requirement: !ruby/object:Gem::Requirement
@@ -744,14 +758,14 @@ dependencies:
744
758
  requirements:
745
759
  - - "~>"
746
760
  - !ruby/object:Gem::Version
747
- version: 3.1.1
761
+ version: '3.5'
748
762
  type: :runtime
749
763
  prerelease: false
750
764
  version_requirements: !ruby/object:Gem::Requirement
751
765
  requirements:
752
766
  - - "~>"
753
767
  - !ruby/object:Gem::Version
754
- version: 3.1.1
768
+ version: '3.5'
755
769
  - !ruby/object:Gem::Dependency
756
770
  name: view_component
757
771
  requirement: !ruby/object:Gem::Requirement
@@ -1106,11 +1120,12 @@ email:
1106
1120
  - escowles@ticklefish.org
1107
1121
  executables:
1108
1122
  - db-migrate-seed.sh
1109
- - db-wait.sh
1110
1123
  - dev-entrypoint.sh
1111
1124
  - hyrax-entrypoint.sh
1125
+ - service-wait.sh
1112
1126
  - solrcloud-assign-configset.sh
1113
1127
  - solrcloud-upload-configset.sh
1128
+ - worker-entrypoint.sh
1114
1129
  extensions: []
1115
1130
  extra_rdoc_files: []
1116
1131
  files:
@@ -1141,10 +1156,12 @@ files:
1141
1156
  - ".dassie/app/controllers/application_controller.rb"
1142
1157
  - ".dassie/app/controllers/catalog_controller.rb"
1143
1158
  - ".dassie/app/controllers/concerns/.keep"
1159
+ - ".dassie/app/controllers/hyrax/generic_work_resources_controller.rb"
1144
1160
  - ".dassie/app/controllers/hyrax/generic_works_controller.rb"
1145
1161
  - ".dassie/app/controllers/hyrax/monographs_controller.rb"
1146
1162
  - ".dassie/app/controllers/hyrax/namespaced_works/nested_works_controller.rb"
1147
1163
  - ".dassie/app/forms/collection_resource_form.rb"
1164
+ - ".dassie/app/forms/generic_work_resource_form.rb"
1148
1165
  - ".dassie/app/forms/hyrax/generic_work_form.rb"
1149
1166
  - ".dassie/app/forms/hyrax/namespaced_works/nested_work_form.rb"
1150
1167
  - ".dassie/app/forms/monograph_form.rb"
@@ -1152,18 +1169,21 @@ files:
1152
1169
  - ".dassie/app/helpers/hyrax_helper.rb"
1153
1170
  - ".dassie/app/indexers/collection_resource_indexer.rb"
1154
1171
  - ".dassie/app/indexers/generic_work_indexer.rb"
1172
+ - ".dassie/app/indexers/generic_work_resource_indexer.rb"
1155
1173
  - ".dassie/app/indexers/monograph_indexer.rb"
1156
1174
  - ".dassie/app/indexers/namespaced_works/nested_work_indexer.rb"
1157
1175
  - ".dassie/app/jobs/application_job.rb"
1158
1176
  - ".dassie/app/listeners/hyrax_listener.rb"
1159
1177
  - ".dassie/app/mailers/application_mailer.rb"
1160
1178
  - ".dassie/app/models/ability.rb"
1179
+ - ".dassie/app/models/admin_set_resource.rb"
1161
1180
  - ".dassie/app/models/application_record.rb"
1162
1181
  - ".dassie/app/models/collection.rb"
1163
1182
  - ".dassie/app/models/collection_resource.rb"
1164
1183
  - ".dassie/app/models/concerns/.keep"
1165
1184
  - ".dassie/app/models/file_set.rb"
1166
1185
  - ".dassie/app/models/generic_work.rb"
1186
+ - ".dassie/app/models/generic_work_resource.rb"
1167
1187
  - ".dassie/app/models/monograph.rb"
1168
1188
  - ".dassie/app/models/namespaced_works/nested_work.rb"
1169
1189
  - ".dassie/app/models/qa.rb"
@@ -1175,6 +1195,7 @@ files:
1175
1195
  - ".dassie/app/models/user.rb"
1176
1196
  - ".dassie/app/presenters/hyrax/generic_work_presenter.rb"
1177
1197
  - ".dassie/app/presenters/hyrax/namespaced_works/nested_work_presenter.rb"
1198
+ - ".dassie/app/views/hyrax/generic_work_resources/_generic_work_resource.html.erb"
1178
1199
  - ".dassie/app/views/hyrax/generic_works/_generic_work.html.erb"
1179
1200
  - ".dassie/app/views/hyrax/monographs/_monograph.html.erb"
1180
1201
  - ".dassie/app/views/hyrax/namespaced_works/nested_works/_nested_work.html.erb"
@@ -1222,6 +1243,7 @@ files:
1222
1243
  - ".dassie/config/initializers/riiif.rb"
1223
1244
  - ".dassie/config/initializers/simple_form.rb"
1224
1245
  - ".dassie/config/initializers/simple_form_bootstrap.rb"
1246
+ - ".dassie/config/initializers/wings.rb"
1225
1247
  - ".dassie/config/initializers/wrap_parameters.rb"
1226
1248
  - ".dassie/config/locales/blacklight.en.yml"
1227
1249
  - ".dassie/config/locales/devise.en.yml"
@@ -1247,6 +1269,7 @@ files:
1247
1269
  - ".dassie/config/locales/namespaced_works/nested_work.pt-BR.yml"
1248
1270
  - ".dassie/config/locales/namespaced_works/nested_work.zh.yml"
1249
1271
  - ".dassie/config/metadata/collection_resource.yaml"
1272
+ - ".dassie/config/metadata/generic_work_resource.yaml"
1250
1273
  - ".dassie/config/metadata/monograph.yaml"
1251
1274
  - ".dassie/config/metadata/sample_metadata.yaml"
1252
1275
  - ".dassie/config/puma.rb"
@@ -1341,6 +1364,7 @@ files:
1341
1364
  - ".dassie/db/migrate/20230803165135_change_work_id_to_string.rb"
1342
1365
  - ".dassie/db/migrate/20230808102105_add_indices_to_hyrax_counter_metrics.hyrax.rb"
1343
1366
  - ".dassie/db/migrate/20230821153635_add_fields_to_counter_metric.rb"
1367
+ - ".dassie/db/migrate/20240506070809_valkyrie_id_to_string.rb"
1344
1368
  - ".dassie/db/schema.rb"
1345
1369
  - ".dassie/db/seeds.rb"
1346
1370
  - ".dassie/lib/assets/.keep"
@@ -1368,7 +1392,10 @@ files:
1368
1392
  - ".dassie/solr/sample_solr_documents.yml"
1369
1393
  - ".dassie/spec/forms/collection_resource_form_spec.rb"
1370
1394
  - ".dassie/spec/indexers/collection_resource_indexer_spec.rb"
1395
+ - ".dassie/spec/indexers/generic_work_resource_indexer_spec.rb"
1371
1396
  - ".dassie/spec/models/collection_resource_spec.rb"
1397
+ - ".dassie/spec/models/generic_work_resource_spec.rb"
1398
+ - ".dassie/spec/views/generic_work_resources/_generic_work_resource.html.erb_spec.rb"
1372
1399
  - ".dassie/storage/.keep"
1373
1400
  - ".dassie/tmp/pids/.keep"
1374
1401
  - ".dassie/values.stage.yaml"
@@ -1386,8 +1413,10 @@ files:
1386
1413
  - ".github/release.yml"
1387
1414
  - ".github/stale.yml"
1388
1415
  - ".github/workflows/build.yml"
1416
+ - ".github/workflows/lint-build-test.yml"
1389
1417
  - ".github/workflows/main.yml"
1390
1418
  - ".github/workflows/release.yml"
1419
+ - ".github/workflows/test-results.yml"
1391
1420
  - ".gitignore"
1392
1421
  - ".hound.yml"
1393
1422
  - ".koppie/.env"
@@ -1617,8 +1646,6 @@ files:
1617
1646
  - ".koppie/public/branding/.keep"
1618
1647
  - ".koppie/public/favicon.ico"
1619
1648
  - ".koppie/public/robots.txt"
1620
- - ".koppie/scripts/db-migrate-seed.sh"
1621
- - ".koppie/scripts/entrypoint.sh"
1622
1649
  - ".koppie/solr/conf/_rest_managed.json"
1623
1650
  - ".koppie/solr/conf/admin-extra.html"
1624
1651
  - ".koppie/solr/conf/elevate.xml"
@@ -1711,6 +1738,7 @@ files:
1711
1738
  - app/assets/images/unauthorized.png
1712
1739
  - app/assets/images/work.png
1713
1740
  - app/assets/images/zotero.png
1741
+ - app/assets/javascripts/hydra-editor/field_manager.es6
1714
1742
  - app/assets/javascripts/hyrax.js
1715
1743
  - app/assets/javascripts/hyrax/admin/admin_set/group_participants.es6
1716
1744
  - app/assets/javascripts/hyrax/admin/admin_set/participants.es6
@@ -2067,6 +2095,8 @@ files:
2067
2095
  - app/jobs/ingest_local_file_job.rb
2068
2096
  - app/jobs/inherit_permissions_job.rb
2069
2097
  - app/jobs/lease_expiry_job.rb
2098
+ - app/jobs/migrate_files_to_valkyrie_job.rb
2099
+ - app/jobs/migrate_resources_job.rb
2070
2100
  - app/jobs/resolrize_job.rb
2071
2101
  - app/jobs/stream_notifications_job.rb
2072
2102
  - app/jobs/user_edit_profile_event_job.rb
@@ -2087,6 +2117,7 @@ files:
2087
2117
  - app/models/concerns/hyrax/ability/permission_template_ability.rb
2088
2118
  - app/models/concerns/hyrax/ability/resource_ability.rb
2089
2119
  - app/models/concerns/hyrax/ability/solr_document_ability.rb
2120
+ - app/models/concerns/hyrax/ar_resource.rb
2090
2121
  - app/models/concerns/hyrax/basic_metadata.rb
2091
2122
  - app/models/concerns/hyrax/collection_behavior.rb
2092
2123
  - app/models/concerns/hyrax/core_metadata.rb
@@ -2116,6 +2147,7 @@ files:
2116
2147
  - app/models/concerns/hyrax/suppressible.rb
2117
2148
  - app/models/concerns/hyrax/user.rb
2118
2149
  - app/models/concerns/hyrax/user_usage_stats.rb
2150
+ - app/models/concerns/hyrax/valkyrie_lazy_migration.rb
2119
2151
  - app/models/concerns/hyrax/virus_check.rb
2120
2152
  - app/models/concerns/hyrax/with_events.rb
2121
2153
  - app/models/concerns/hyrax/work_behavior.rb
@@ -2302,6 +2334,12 @@ files:
2302
2334
  - app/services/hyrax/admin_set_member_service.rb
2303
2335
  - app/services/hyrax/admin_set_service.rb
2304
2336
  - app/services/hyrax/analytics.rb
2337
+ - app/services/hyrax/analytics/ga4.rb
2338
+ - app/services/hyrax/analytics/ga4/base.rb
2339
+ - app/services/hyrax/analytics/ga4/events.rb
2340
+ - app/services/hyrax/analytics/ga4/events_daily.rb
2341
+ - app/services/hyrax/analytics/ga4/visits.rb
2342
+ - app/services/hyrax/analytics/ga4/visits_daily.rb
2305
2343
  - app/services/hyrax/analytics/google.rb
2306
2344
  - app/services/hyrax/analytics/google/events.rb
2307
2345
  - app/services/hyrax/analytics/google/events_daily.rb
@@ -2485,6 +2523,7 @@ files:
2485
2523
  - app/services/hyrax/working_directory.rb
2486
2524
  - app/services/hyrax/works/managed_works_service.rb
2487
2525
  - app/services/hyrax/works/migration_service.rb
2526
+ - app/services/migrate_resource_service.rb
2488
2527
  - app/strategies/hyrax/strategies/yaml_strategy.rb
2489
2528
  - app/uploaders/hyrax/avatar_uploader.rb
2490
2529
  - app/uploaders/hyrax/uploaded_file_uploader.rb
@@ -2917,6 +2956,7 @@ files:
2917
2956
  - app/views/shared/_citations.html.erb
2918
2957
  - app/views/shared/_footer.html.erb
2919
2958
  - app/views/shared/_ga.html.erb
2959
+ - app/views/shared/_ga4.html.erb
2920
2960
  - app/views/shared/_locale_picker.html.erb
2921
2961
  - app/views/shared/_matomo.html.erb
2922
2962
  - app/views/shared/_nav_safety_modal.html.erb
@@ -2925,11 +2965,12 @@ files:
2925
2965
  - artifacts/entity-relationship-diagram.dot
2926
2966
  - artifacts/entity-relationship-diagram.pdf
2927
2967
  - bin/db-migrate-seed.sh
2928
- - bin/db-wait.sh
2929
2968
  - bin/dev-entrypoint.sh
2930
2969
  - bin/hyrax-entrypoint.sh
2970
+ - bin/service-wait.sh
2931
2971
  - bin/solrcloud-assign-configset.sh
2932
2972
  - bin/solrcloud-upload-configset.sh
2973
+ - bin/worker-entrypoint.sh
2933
2974
  - chart/hyrax/.gitignore
2934
2975
  - chart/hyrax/.helmignore
2935
2976
  - chart/hyrax/Chart.yaml
@@ -2986,6 +3027,7 @@ files:
2986
3027
  - config/routes.rb
2987
3028
  - config/schema_org.yml
2988
3029
  - db/seeds.rb
3030
+ - docker-compose-dassie.yml
2989
3031
  - docker-compose-koppie.yml
2990
3032
  - docker-compose-sirenia.yml
2991
3033
  - docker-compose.yml
@@ -2995,6 +3037,17 @@ files:
2995
3037
  - documentation/note-about-versions.md
2996
3038
  - hyrax.gemspec
2997
3039
  - karma.conf.js
3040
+ - lib/freyja.rb
3041
+ - lib/freyja/custom_query_container.rb
3042
+ - lib/freyja/metadata_adapter.rb
3043
+ - lib/freyja/persister.rb
3044
+ - lib/freyja/query_service.rb
3045
+ - lib/freyja/resource_factory.rb
3046
+ - lib/frigg.rb
3047
+ - lib/frigg/custom_query_container.rb
3048
+ - lib/frigg/metadata_adapter.rb
3049
+ - lib/frigg/persister.rb
3050
+ - lib/frigg/query_service.rb
2998
3051
  - lib/generators/hyrax/arkivo_api_generator.rb
2999
3052
  - lib/generators/hyrax/assets_generator.rb
3000
3053
  - lib/generators/hyrax/clamav_generator.rb
@@ -3152,6 +3205,9 @@ files:
3152
3205
  - lib/generators/hyrax/work_resource/templates/work.rb.erb
3153
3206
  - lib/generators/hyrax/work_resource/templates/work_spec.rb.erb
3154
3207
  - lib/generators/hyrax/work_resource/work_resource_generator.rb
3208
+ - lib/goddess/custom_query_container.rb
3209
+ - lib/goddess/metadata.rb
3210
+ - lib/goddess/query.rb
3155
3211
  - lib/hyrax.rb
3156
3212
  - lib/hyrax/active_fedora_dummy_model.rb
3157
3213
  - lib/hyrax/administrative_set_name.rb
@@ -3190,6 +3246,7 @@ files:
3190
3246
  - lib/hyrax/resource_sync/resource_list_writer.rb
3191
3247
  - lib/hyrax/resource_sync/source_description_writer.rb
3192
3248
  - lib/hyrax/role_registry.rb
3249
+ - lib/hyrax/rubocop/custom_cops.rb
3193
3250
  - lib/hyrax/schema.rb
3194
3251
  - lib/hyrax/search_state.rb
3195
3252
  - lib/hyrax/specs/capybara.rb
@@ -3265,6 +3322,7 @@ files:
3265
3322
  - lib/hyrax/transactions/steps/delete_access_control.rb
3266
3323
  - lib/hyrax/transactions/steps/delete_all_file_metadata.rb
3267
3324
  - lib/hyrax/transactions/steps/delete_all_file_sets.rb
3325
+ - lib/hyrax/transactions/steps/delete_permission_template.rb
3268
3326
  - lib/hyrax/transactions/steps/delete_resource.rb
3269
3327
  - lib/hyrax/transactions/steps/ensure_admin_set.rb
3270
3328
  - lib/hyrax/transactions/steps/file_metadata_delete.rb
@@ -3382,7 +3440,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
3382
3440
  - !ruby/object:Gem::Version
3383
3441
  version: '0'
3384
3442
  requirements: []
3385
- rubygems_version: 3.5.7
3443
+ rubygems_version: 3.5.22
3386
3444
  signing_key:
3387
3445
  specification_version: 4
3388
3446
  summary: Hyrax is a front-end based on the robust Samvera framework, providing a user
@@ -1,9 +0,0 @@
1
- #!/bin/sh
2
- set -e
3
-
4
- db-wait.sh "$DB_HOST:$DB_PORT"
5
- bundle exec rails db:create
6
- bundle exec rails db:migrate
7
-
8
- db-wait.sh "$SOLR_HOST:$SOLR_PORT"
9
- bundle exec rails db:seed
@@ -1,10 +0,0 @@
1
- #!/bin/sh
2
- set -e
3
-
4
- mkdir -p /app/samvera/hyrax-webapp/tmp/pids
5
- rm -f /app/samvera/hyrax-webapp/tmp/pids/*
6
-
7
- bundle install --quiet
8
-
9
- # Run the command
10
- exec "$@"