hyrax 3.4.2 → 3.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/.dassie/config/analytics.yml +4 -2
  3. data/.regen +2 -1
  4. data/app/actors/hyrax/actors/collections_membership_actor.rb +1 -1
  5. data/app/actors/hyrax/actors/embargo_actor.rb +11 -4
  6. data/app/actors/hyrax/actors/lease_actor.rb +11 -4
  7. data/app/assets/javascripts/hyrax/analytics_events.js +88 -38
  8. data/app/assets/javascripts/hyrax/app.js.erb +1 -1
  9. data/app/assets/javascripts/hyrax/permissions/control.es6 +8 -1
  10. data/app/controllers/concerns/hyrax/embargoes_controller_behavior.rb +11 -2
  11. data/app/controllers/concerns/hyrax/leases_controller_behavior.rb +11 -2
  12. data/app/controllers/concerns/hyrax/manages_embargoes.rb +13 -1
  13. data/app/controllers/hyrax/admin/analytics/collection_reports_controller.rb +2 -2
  14. data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +1 -1
  15. data/app/controllers/hyrax/admin/strategies_controller.rb +1 -1
  16. data/app/controllers/hyrax/admin/workflows_controller.rb +48 -3
  17. data/app/controllers/hyrax/dashboard/collections_controller.rb +1 -2
  18. data/app/controllers/hyrax/downloads_controller.rb +16 -1
  19. data/app/controllers/hyrax/file_sets_controller.rb +10 -1
  20. data/app/controllers/hyrax/permissions_controller.rb +1 -1
  21. data/app/controllers/hyrax/transfers_controller.rb +0 -2
  22. data/app/controllers/hyrax/workflow_actions_controller.rb +3 -2
  23. data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +2 -0
  24. data/app/forms/hyrax/forms/embargo.rb +13 -0
  25. data/app/forms/hyrax/forms/file_set_edit_form.rb +1 -1
  26. data/app/forms/hyrax/forms/file_set_form.rb +8 -35
  27. data/app/forms/hyrax/forms/lease.rb +13 -0
  28. data/app/forms/hyrax/forms/pcdm_object_form.rb +46 -0
  29. data/app/forms/hyrax/forms/resource_form.rb +36 -32
  30. data/app/forms/hyrax/forms/work_embargo_form.rb +35 -0
  31. data/app/forms/hyrax/forms/work_lease_form.rb +35 -0
  32. data/app/helpers/hyrax/embargo_helper.rb +11 -0
  33. data/app/helpers/hyrax/lease_helper.rb +11 -0
  34. data/app/indexers/hyrax/pcdm_collection_indexer.rb +1 -0
  35. data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +2 -8
  36. data/app/jobs/content_event_job.rb +1 -1
  37. data/app/models/concerns/hyrax/collection_behavior.rb +2 -1
  38. data/app/models/concerns/hyrax/collection_nesting.rb +10 -1
  39. data/app/models/concerns/hyrax/file_set_behavior.rb +1 -0
  40. data/app/models/concerns/hyrax/work_behavior.rb +2 -1
  41. data/app/models/hyrax/embargo.rb +1 -1
  42. data/app/models/hyrax/file_set.rb +3 -3
  43. data/app/models/hyrax/lease.rb +1 -1
  44. data/app/models/proxy_deposit_request.rb +1 -1
  45. data/app/presenters/hyrax/permission_badge.rb +3 -2
  46. data/app/presenters/hyrax/version_list_presenter.rb +6 -1
  47. data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +13 -5
  48. data/app/services/hyrax/analytics/ga4.rb +204 -0
  49. data/app/services/hyrax/analytics/google.rb +23 -15
  50. data/app/services/hyrax/analytics/matomo.rb +4 -3
  51. data/app/services/hyrax/collections/nested_collection_query_service.rb +1 -1
  52. data/app/services/hyrax/edit_permissions_service.rb +21 -3
  53. data/app/services/hyrax/embargo_manager.rb +9 -0
  54. data/app/services/hyrax/file_set_file_service.rb +55 -0
  55. data/app/services/hyrax/lease_manager.rb +9 -0
  56. data/app/services/hyrax/solr_query_service.rb +4 -4
  57. data/app/services/hyrax/user_stat_importer.rb +2 -0
  58. data/app/services/hyrax/versioning_service.rb +77 -9
  59. data/app/services/hyrax/visibility_propagator.rb +5 -5
  60. data/app/services/hyrax/work_resource_query_service.rb +45 -0
  61. data/app/services/hyrax/workflow/actionable_objects.rb +28 -3
  62. data/app/services/hyrax/workflow/permission_query.rb +23 -2
  63. data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +1 -1
  64. data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +1 -1
  65. data/app/views/hyrax/admin/workflows/_tabs.html.erb +9 -0
  66. data/app/views/hyrax/admin/workflows/index.html.erb +53 -78
  67. data/app/views/hyrax/base/_form_progress.html.erb +1 -1
  68. data/app/views/hyrax/base/_form_visibility_component.html.erb +5 -1
  69. data/app/views/hyrax/base/_show_actions.html.erb +1 -1
  70. data/app/views/hyrax/base/_work_button_row.html.erb +1 -1
  71. data/app/views/hyrax/dashboard/_user_activity.html.erb +1 -1
  72. data/app/views/hyrax/dashboard/show_admin.html.erb +1 -1
  73. data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +1 -1
  74. data/app/views/hyrax/embargoes/edit.html.erb +3 -3
  75. data/app/views/hyrax/file_sets/_permission.html.erb +1 -1
  76. data/app/views/hyrax/file_sets/_permission_form.html.erb +1 -6
  77. data/app/views/hyrax/file_sets/_show_actions.html.erb +1 -1
  78. data/app/views/hyrax/file_sets/edit.html.erb +2 -2
  79. data/app/views/hyrax/leases/edit.html.erb +3 -3
  80. data/app/views/hyrax/transfers/new.html.erb +1 -1
  81. data/app/views/layouts/_head_tag_content.html.erb +5 -2
  82. data/app/views/shared/_ga4.html.erb +10 -0
  83. data/config/locales/hyrax.de.yml +2 -1
  84. data/config/locales/hyrax.en.yml +11 -0
  85. data/config/locales/hyrax.es.yml +1 -0
  86. data/config/locales/hyrax.fr.yml +2 -1
  87. data/config/locales/hyrax.it.yml +1 -0
  88. data/config/locales/hyrax.pt-BR.yml +1 -0
  89. data/config/locales/hyrax.zh.yml +1 -0
  90. data/config/metadata/file_set_metadata.yaml +130 -0
  91. data/documentation/developing-your-hyrax-based-app.md +2 -2
  92. data/documentation/legacyREADME.md +3 -3
  93. data/hyrax.gemspec +3 -1
  94. data/lib/generators/hyrax/templates/config/analytics.yml +3 -0
  95. data/lib/generators/hyrax/templates/config/locales/hyrax.de.yml +1 -1
  96. data/lib/generators/hyrax/templates/config/locales/hyrax.en.yml +1 -1
  97. data/lib/generators/hyrax/templates/config/locales/hyrax.es.yml +1 -1
  98. data/lib/generators/hyrax/templates/config/locales/hyrax.fr.yml +1 -1
  99. data/lib/generators/hyrax/templates/config/locales/hyrax.it.yml +1 -1
  100. data/lib/generators/hyrax/templates/config/locales/hyrax.zh.yml +1 -1
  101. data/lib/hyrax/active_fedora_dummy_model.rb +13 -0
  102. data/lib/hyrax/configuration.rb +9 -2
  103. data/lib/hyrax/errors.rb +2 -0
  104. data/lib/hyrax/specs/shared_specs/factories/strategies/valkyrie_resource.rb +6 -0
  105. data/lib/hyrax/specs/shared_specs/indexers.rb +5 -0
  106. data/lib/hyrax/version.rb +1 -1
  107. data/lib/wings/valkyrie/storage.rb +6 -2
  108. data/template.rb +1 -1
  109. metadata +48 -5
  110. data/.github/workflows/main.yml +0 -17
  111. data/.github/workflows/release.yml +0 -17
@@ -0,0 +1,130 @@
1
+ # This is the metadata used for `Hyrax::FileSet`s.` It is similar to
2
+ # `basic_metadata.yaml`, but not exactly the same.
3
+ #
4
+ # Terms which are already present in `core_metadata.yaml` are not repeated here.
5
+ attributes:
6
+ # Required attributes:
7
+ creator:
8
+ type: string
9
+ multiple: true
10
+ form:
11
+ required: true
12
+ primary: true
13
+ index_keys:
14
+ - "creator_tesim"
15
+ license:
16
+ type: string
17
+ multiple: true
18
+ form:
19
+ required: true
20
+ primary: true
21
+
22
+ # Other attributes:
23
+ abstract:
24
+ type: string
25
+ multiple: true
26
+ # form:
27
+ # primary: false
28
+ # missing: access_right
29
+ # missing: alternative_title
30
+ based_near:
31
+ type: string
32
+ multiple: true
33
+ form:
34
+ primary: false
35
+ index_keys:
36
+ - "based_near_sim"
37
+ - "based_near_tesim"
38
+ # missing: bibliograpic_citation
39
+ contributor:
40
+ type: string
41
+ multiple: true
42
+ form:
43
+ primary: false
44
+ # required: creator
45
+ date_created:
46
+ type: date_time
47
+ multiple: true
48
+ form:
49
+ primary: false
50
+ index_keys:
51
+ - "date_created_tesim"
52
+ description:
53
+ type: string
54
+ multiple: true
55
+ form:
56
+ primary: false
57
+ index_keys:
58
+ - "description_tesim"
59
+ identifier:
60
+ type: string
61
+ multiple: true
62
+ form:
63
+ primary: false
64
+ # missing: import_url
65
+ keyword:
66
+ type: string
67
+ multiple: true
68
+ form:
69
+ primary: false
70
+ index_keys:
71
+ - "keyword_sim"
72
+ - "keyword_tesim"
73
+ # missing: publisher
74
+ label:
75
+ type: string
76
+ # form:
77
+ # primary: false
78
+ language:
79
+ type: string
80
+ multiple: true
81
+ form:
82
+ primary: false
83
+ # required: license
84
+ publisher:
85
+ type: string
86
+ multiple: true
87
+ form:
88
+ primary: false
89
+ related_url:
90
+ type: string
91
+ multiple: true
92
+ form:
93
+ primary: false
94
+ index_keys:
95
+ - "related_url_tesim"
96
+ relative_path:
97
+ type: string
98
+ resource_type:
99
+ type: string
100
+ multiple: true
101
+ # form:
102
+ # primary: false
103
+ index_keys:
104
+ - "resource_type_sim"
105
+ - "resource_type_tesim"
106
+ rights_notes:
107
+ type: string
108
+ multiple: true
109
+ # form:
110
+ # primary: false
111
+ rights_statement:
112
+ type: string
113
+ multiple: true
114
+ # form:
115
+ # primary: true
116
+ index_keys:
117
+ - "rights_statement_tesim"
118
+ source:
119
+ type: string
120
+ multiple: true
121
+ # form:
122
+ # primary: false
123
+ subject:
124
+ type: string
125
+ multiple: true
126
+ form:
127
+ primary: false
128
+ index_keys:
129
+ - "subject_sim"
130
+ - "subject_tesim"
@@ -109,7 +109,7 @@ Hyrax requires Rails 5. We recommend the latest Rails 5.2 release.
109
109
 
110
110
  ```
111
111
  # If you don't already have Rails at your disposal...
112
- gem install rails -v 5.2.6
112
+ gem install rails -v 5.2.8.1
113
113
  ```
114
114
 
115
115
  ### JavaScript runtime
@@ -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.4.2/template.rb
128
+ rails _5.2.8.1_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.6.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.4.2__. If you are looking for instructions on installing a different
53
+ v3.6.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
 
@@ -143,7 +143,7 @@ Hyrax requires Rails 5. We recommend the latest Rails 5.2 release.
143
143
 
144
144
  ```
145
145
  # If you don't already have Rails at your disposal...
146
- gem install rails -v 5.2.6
146
+ gem install rails -v 5.2.8.1
147
147
  ```
148
148
 
149
149
  ### JavaScript runtime
@@ -159,7 +159,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
159
159
  Generate a new Rails application using the template.
160
160
 
161
161
  ```
162
- rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.0.2/template.rb
162
+ rails _5.2.8.1_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.6.0/template.rb
163
163
  ```
164
164
 
165
165
  Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
data/hyrax.gemspec CHANGED
@@ -44,6 +44,7 @@ SUMMARY
44
44
  spec.add_dependency 'dry-events', '~> 0.2.0'
45
45
  spec.add_dependency 'dry-equalizer', '~> 0.2'
46
46
  spec.add_dependency 'dry-struct', '~> 1.0'
47
+ spec.add_dependency 'dry-monads', '< 1.5'
47
48
  spec.add_dependency 'dry-transaction', '~> 0.11'
48
49
  spec.add_dependency 'dry-validation', '~> 1.3'
49
50
  spec.add_dependency 'flipflop', '~> 2.3'
@@ -76,8 +77,9 @@ SUMMARY
76
77
  spec.add_dependency 'rails_autolink', '~> 1.1'
77
78
  spec.add_dependency 'rdf-rdfxml' # controlled vocabulary importer
78
79
  spec.add_dependency 'rdf-vocab', '~> 3.0'
80
+ spec.add_dependency 'redis', '~> 4.0'
79
81
  spec.add_dependency 'redis-namespace', '~> 1.5'
80
- spec.add_dependency 'redlock', '>= 0.1.2'
82
+ spec.add_dependency 'redlock', '>= 0.1.2', '< 2.0'
81
83
  spec.add_dependency 'reform', '~> 2.3'
82
84
  spec.add_dependency 'reform-rails', '~> 0.2.0'
83
85
  spec.add_dependency 'retriable', '>= 2.9', '< 4.0'
@@ -2,10 +2,13 @@
2
2
  # You can manually fill in these values or use the ENV variables.
3
3
  #
4
4
  analytics:
5
+ ga4:
6
+ analytics_id: <%= ENV['GOOGLE_ANALYTICS_ID'] %>
5
7
  google:
6
8
  analytics_id: <%= ENV['GOOGLE_ANALYTICS_ID'] %>
7
9
  app_name: <%= ENV['GOOGLE_OAUTH_APP_NAME'] %>
8
10
  app_version: <%= ENV['GOOGLE_OAUTH_APP_VERSION'] %>
11
+ privkey_value: <%= ENV['GOOGLE_OAUTH_PRIVATE_KEY_VALUE'] %>
9
12
  privkey_path: <%= ENV['GOOGLE_OAUTH_PRIVATE_KEY_PATH'] %>
10
13
  privkey_secret: <%= ENV['GOOGLE_OAUTH_PRIVATE_KEY_SECRET'] %>
11
14
  client_email: <%= ENV['GOOGLE_OAUTH_CLIENT_EMAIL'] %>
@@ -50,7 +50,7 @@ de:
50
50
  directory:
51
51
  suffix: "@ Example.org"
52
52
  footer:
53
- copyright_html: "<strong>Copyright © 2018 Samvera lizenziert</strong> unter der Apache Lizenz, Version 2.0"
53
+ copyright_html: "<strong>Copyright © 2022 Samvera lizenziert</strong> unter der Apache Lizenz, Version 2.0"
54
54
  service_html: Ein Dienst von <a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a> .
55
55
  institution_name: Institution
56
56
  institution_name_full: Name des Instituts
@@ -50,7 +50,7 @@ en:
50
50
  directory:
51
51
  suffix: "@example.org"
52
52
  footer:
53
- copyright_html: "<strong>Copyright &copy; 2018 Samvera</strong> Licensed under the Apache License, Version 2.0"
53
+ copyright_html: "<strong>Copyright &copy; 2022 Samvera</strong> Licensed under the Apache License, Version 2.0"
54
54
  service_html: A service of <a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a>.
55
55
  institution_name: Institution
56
56
  institution_name_full: The Institution Name
@@ -50,7 +50,7 @@ es:
50
50
  directory:
51
51
  suffix: "@example.org"
52
52
  footer:
53
- copyright_html: "<strong>Copyright &copy; 2018 Samvera</strong> bajo licencia de Apache, Version 2.0"
53
+ copyright_html: "<strong>Copyright &copy; 2022 Samvera</strong> bajo licencia de Apache, Version 2.0"
54
54
  service_html: Un servicio de <a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a>.
55
55
  institution_name: institución
56
56
  institution_name_full: El nombre de la institución
@@ -50,7 +50,7 @@ fr:
50
50
  directory:
51
51
  suffix: "@ Example.org"
52
52
  footer:
53
- copyright_html: "<strong>Copyright © 2018 Samvera</strong> Licence sous Licence Apache, Version 2.0"
53
+ copyright_html: "<strong>Copyright © 2022 Samvera</strong> Licence sous Licence Apache, Version 2.0"
54
54
  service_html: Un service de <a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a> .
55
55
  institution_name: Institution
56
56
  institution_name_full: Nom de l'établissement
@@ -50,7 +50,7 @@ it:
50
50
  directory:
51
51
  suffix: "@ example.org"
52
52
  footer:
53
- copyright_html: "<strong>Copyright © 2018 Samvera</strong> Licenza sotto la licenza Apache, versione 2.0"
53
+ copyright_html: "<strong>Copyright © 2022 Samvera</strong> Licenza sotto la licenza Apache, versione 2.0"
54
54
  service_html: Un servizio di <a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a> .
55
55
  institution_name: Istituzione
56
56
  institution_name_full: Nome dell'Istituzione
@@ -50,7 +50,7 @@ zh:
50
50
  directory:
51
51
  suffix: "@example.org"
52
52
  footer:
53
- copyright_html: "<strong>版权所有 &copy; 2018 Samvera</strong> 根据Apache许可证2.0版许可"
53
+ copyright_html: "<strong>版权所有 &copy; 2022 Samvera</strong> 根据Apache许可证2.0版许可"
54
54
  service_html: 的服务<a href="http://samvera.org/" class="navbar-link" target="_blank">Samvera</a>.
55
55
  institution_name: 机构
56
56
  institution_name_full: 机构名称
@@ -35,12 +35,25 @@ module Hyrax
35
35
  @id
36
36
  end
37
37
 
38
+ ##
39
+ # @api public
40
+ def to_key
41
+ [@id]
42
+ end
43
+
38
44
  ##
39
45
  # @api public
40
46
  def model_name
41
47
  @model.model_name
42
48
  end
43
49
 
50
+ ##
51
+ # @api public
52
+ # @return [String]
53
+ def human_readable_type
54
+ @model.human_readable_type
55
+ end
56
+
44
57
  ##
45
58
  # @api public
46
59
  #
@@ -875,10 +875,17 @@ module Hyrax
875
875
  end
876
876
  end
877
877
 
878
- attr_accessor :nested_relationship_reindexer
878
+ def use_solr_graph_for_collection_nesting
879
+ ActiveModel::Type::Boolean.new.cast(ENV.fetch('HYRAX_USE_SOLR_GRAPH_NESTING', false))
880
+ end
879
881
 
882
+ attr_accessor :nested_relationship_reindexer
880
883
  def default_nested_relationship_reindexer
881
- ->(id:, extent:) { Samvera::NestingIndexer.reindex_relationships(id: id, extent: extent) }
884
+ if use_solr_graph_for_collection_nesting
885
+ ->(id:, extent:) {}
886
+ else
887
+ ->(id:, extent:) { Samvera::NestingIndexer.reindex_relationships(id: id, extent: extent) }
888
+ end
882
889
  end
883
890
 
884
891
  attr_writer :solr_select_path
data/lib/hyrax/errors.rb CHANGED
@@ -15,4 +15,6 @@ module Hyrax
15
15
  class SingleMembershipError < HyraxError; end
16
16
 
17
17
  class ObjectNotFoundError < ActiveFedora::ObjectNotFoundError; end
18
+
19
+ class ModelMismatchError < HyraxError; end
18
20
  end
@@ -3,6 +3,12 @@
3
3
  # @example
4
4
  # let(:resource) { FactoryBot.valkyrie_create(:hyrax_work) }
5
5
  class ValkyrieCreateStrategy
6
+ def initialize
7
+ @strategy = FactoryBot.strategy_by_name(:create).new
8
+ end
9
+
10
+ delegate :association, to: :@strategy
11
+
6
12
  def result(evaluation)
7
13
  evaluation.notify(:after_build, evaluation.object)
8
14
  evaluation.notify(:before_create, evaluation.object)
@@ -266,6 +266,11 @@ RSpec.shared_examples 'a Collection indexer' do
266
266
  .to include(generic_type_sim: a_collection_containing_exactly('Collection'))
267
267
  end
268
268
 
269
+ it 'indexes member_of_collection_ids' do
270
+ expect(indexer.to_solr)
271
+ .to include(member_of_collection_ids_ssim: resource.member_of_collection_ids)
272
+ end
273
+
269
274
  it 'indexes depositor' do
270
275
  expect(indexer.to_solr)
271
276
  .to include(depositor_ssim: [resource.depositor],
data/lib/hyrax/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Hyrax
3
- VERSION = '3.4.2'
3
+ VERSION = '3.6.0'
4
4
  end
@@ -73,7 +73,7 @@ module Wings
73
73
  version_graph.query([uri, RDF::Vocab::Fcrepo4.created, :created])
74
74
  .first_object
75
75
  .object
76
- Version.new(cast_to_valkyrie_id(uri.to_s), timestamp, self)
76
+ Version.new(id: cast_to_valkyrie_id(uri.to_s), created: timestamp, adapter: self)
77
77
  end.sort
78
78
  end
79
79
 
@@ -86,7 +86,7 @@ module Wings
86
86
  # this implementation uses an orderable {#version_token}. in practice
87
87
  # the token is the fcrepo created date for the version, as extracted from
88
88
  # the versions graph.
89
- Version = Struct.new(:id, :version_token, :adapter) do
89
+ Version = Struct.new("Version", :id, :created, :adapter, keyword_init: true) do
90
90
  include Comparable
91
91
 
92
92
  ##
@@ -95,6 +95,10 @@ module Wings
95
95
  adapter.find_by(id: id)
96
96
  end
97
97
 
98
+ def version_token
99
+ created
100
+ end
101
+
98
102
  def <=>(other)
99
103
  raise ArgumentError unless other.respond_to?(:version_token)
100
104
  version_token <=> other.version_token
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.4.2'
4
+ gem 'hyrax', '3.6.0'
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.4.2
4
+ version: 3.6.0
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-08-24 00:00:00.000000000 Z
17
+ date: 2023-06-27 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: rails
@@ -224,6 +224,20 @@ dependencies:
224
224
  - - "~>"
225
225
  - !ruby/object:Gem::Version
226
226
  version: '1.0'
227
+ - !ruby/object:Gem::Dependency
228
+ name: dry-monads
229
+ requirement: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - "<"
232
+ - !ruby/object:Gem::Version
233
+ version: '1.5'
234
+ type: :runtime
235
+ prerelease: false
236
+ version_requirements: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - "<"
239
+ - !ruby/object:Gem::Version
240
+ version: '1.5'
227
241
  - !ruby/object:Gem::Dependency
228
242
  name: dry-transaction
229
243
  requirement: !ruby/object:Gem::Requirement
@@ -674,6 +688,20 @@ dependencies:
674
688
  - - "~>"
675
689
  - !ruby/object:Gem::Version
676
690
  version: '3.0'
691
+ - !ruby/object:Gem::Dependency
692
+ name: redis
693
+ requirement: !ruby/object:Gem::Requirement
694
+ requirements:
695
+ - - "~>"
696
+ - !ruby/object:Gem::Version
697
+ version: '4.0'
698
+ type: :runtime
699
+ prerelease: false
700
+ version_requirements: !ruby/object:Gem::Requirement
701
+ requirements:
702
+ - - "~>"
703
+ - !ruby/object:Gem::Version
704
+ version: '4.0'
677
705
  - !ruby/object:Gem::Dependency
678
706
  name: redis-namespace
679
707
  requirement: !ruby/object:Gem::Requirement
@@ -695,6 +723,9 @@ dependencies:
695
723
  - - ">="
696
724
  - !ruby/object:Gem::Version
697
725
  version: 0.1.2
726
+ - - "<"
727
+ - !ruby/object:Gem::Version
728
+ version: '2.0'
698
729
  type: :runtime
699
730
  prerelease: false
700
731
  version_requirements: !ruby/object:Gem::Requirement
@@ -702,6 +733,9 @@ dependencies:
702
733
  - - ">="
703
734
  - !ruby/object:Gem::Version
704
735
  version: 0.1.2
736
+ - - "<"
737
+ - !ruby/object:Gem::Version
738
+ version: '2.0'
705
739
  - !ruby/object:Gem::Dependency
706
740
  name: reform
707
741
  requirement: !ruby/object:Gem::Requirement
@@ -1499,8 +1533,6 @@ files:
1499
1533
  - ".github/SUPPORT.md"
1500
1534
  - ".github/release.yml"
1501
1535
  - ".github/stale.yml"
1502
- - ".github/workflows/main.yml"
1503
- - ".github/workflows/release.yml"
1504
1536
  - ".gitignore"
1505
1537
  - ".hound.yml"
1506
1538
  - ".regen"
@@ -1797,17 +1829,22 @@ files:
1797
1829
  - app/forms/hyrax/forms/batch_upload_form.rb
1798
1830
  - app/forms/hyrax/forms/collection_form.rb
1799
1831
  - app/forms/hyrax/forms/dashboard/nest_collection_form.rb
1832
+ - app/forms/hyrax/forms/embargo.rb
1800
1833
  - app/forms/hyrax/forms/failed_submission_form_wrapper.rb
1801
1834
  - app/forms/hyrax/forms/file_manager_form.rb
1802
1835
  - app/forms/hyrax/forms/file_set_edit_form.rb
1803
1836
  - app/forms/hyrax/forms/file_set_form.rb
1837
+ - app/forms/hyrax/forms/lease.rb
1804
1838
  - app/forms/hyrax/forms/pcdm_collection_form.rb
1839
+ - app/forms/hyrax/forms/pcdm_object_form.rb
1805
1840
  - app/forms/hyrax/forms/permission.rb
1806
1841
  - app/forms/hyrax/forms/permission_template_form.rb
1807
1842
  - app/forms/hyrax/forms/resource_form.rb
1808
1843
  - app/forms/hyrax/forms/widgets/admin_set_embargo_period.rb
1809
1844
  - app/forms/hyrax/forms/widgets/admin_set_visibility.rb
1845
+ - app/forms/hyrax/forms/work_embargo_form.rb
1810
1846
  - app/forms/hyrax/forms/work_form.rb
1847
+ - app/forms/hyrax/forms/work_lease_form.rb
1811
1848
  - app/forms/hyrax/forms/workflow_action_form.rb
1812
1849
  - app/forms/hyrax/forms/workflow_responsibility_form.rb
1813
1850
  - app/helpers/hyrax/ability_helper.rb
@@ -2129,6 +2166,7 @@ files:
2129
2166
  - app/services/hyrax/admin_set_member_service.rb
2130
2167
  - app/services/hyrax/admin_set_service.rb
2131
2168
  - app/services/hyrax/analytics.rb
2169
+ - app/services/hyrax/analytics/ga4.rb
2132
2170
  - app/services/hyrax/analytics/google.rb
2133
2171
  - app/services/hyrax/analytics/google/events.rb
2134
2172
  - app/services/hyrax/analytics/google/events_daily.rb
@@ -2186,6 +2224,7 @@ files:
2186
2224
  - app/services/hyrax/ensure_well_formed_admin_set_service.rb
2187
2225
  - app/services/hyrax/file_set_csv_service.rb
2188
2226
  - app/services/hyrax/file_set_derivatives_service.rb
2227
+ - app/services/hyrax/file_set_file_service.rb
2189
2228
  - app/services/hyrax/file_set_fixity_check_service.rb
2190
2229
  - app/services/hyrax/file_set_type_service.rb
2191
2230
  - app/services/hyrax/file_set_visibility_propagator.rb
@@ -2275,6 +2314,7 @@ files:
2275
2314
  - app/services/hyrax/visibility_writer.rb
2276
2315
  - app/services/hyrax/work_form_service.rb
2277
2316
  - app/services/hyrax/work_query_service.rb
2317
+ - app/services/hyrax/work_resource_query_service.rb
2278
2318
  - app/services/hyrax/work_thumbnail_path_service.rb
2279
2319
  - app/services/hyrax/work_uploads_handler.rb
2280
2320
  - app/services/hyrax/workflow/abstract_notification.rb
@@ -2400,6 +2440,7 @@ files:
2400
2440
  - app/views/hyrax/admin/stats/show.html.erb
2401
2441
  - app/views/hyrax/admin/users/index.html.erb
2402
2442
  - app/views/hyrax/admin/workflow_roles/index.html.erb
2443
+ - app/views/hyrax/admin/workflows/_tabs.html.erb
2403
2444
  - app/views/hyrax/admin/workflows/index.html.erb
2404
2445
  - app/views/hyrax/base/_actions.html.erb
2405
2446
  - app/views/hyrax/base/_attribute_rows.html.erb
@@ -2744,6 +2785,7 @@ files:
2744
2785
  - app/views/shared/_citations.html.erb
2745
2786
  - app/views/shared/_footer.html.erb
2746
2787
  - app/views/shared/_ga.html.erb
2788
+ - app/views/shared/_ga4.html.erb
2747
2789
  - app/views/shared/_locale_picker.html.erb
2748
2790
  - app/views/shared/_matomo.html.erb
2749
2791
  - app/views/shared/_nav_safety_modal.html.erb
@@ -2803,6 +2845,7 @@ files:
2803
2845
  - config/locales/simple_form.zh.yml
2804
2846
  - config/metadata/basic_metadata.yaml
2805
2847
  - config/metadata/core_metadata.yaml
2848
+ - config/metadata/file_set_metadata.yaml
2806
2849
  - config/routes.rb
2807
2850
  - config/schema_org.yml
2808
2851
  - db/seeds.rb
@@ -3148,7 +3191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
3148
3191
  - !ruby/object:Gem::Version
3149
3192
  version: '0'
3150
3193
  requirements: []
3151
- rubygems_version: 3.3.17
3194
+ rubygems_version: 3.4.12
3152
3195
  signing_key:
3153
3196
  specification_version: 4
3154
3197
  summary: Hyrax is a front-end based on the robust Samvera framework, providing a user
@@ -1,17 +0,0 @@
1
- name: Trigger Nurax build
2
- on:
3
- workflow_dispatch:
4
- push:
5
-
6
- jobs:
7
- trigger:
8
- runs-on: ubuntu-latest
9
- steps:
10
- - uses: peter-evans/repository-dispatch@v1
11
- with:
12
- token: ${{ secrets.NURAX_ACCESS_TOKEN }}
13
- event-type: push
14
- repository: curationexperts/nurax
15
- client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
16
-
17
-
@@ -1,17 +0,0 @@
1
- name: Trigger Nurax build
2
- on:
3
- workflow_dispatch:
4
- release:
5
-
6
- jobs:
7
- trigger:
8
- runs-on: ubuntu-latest
9
- steps:
10
- - uses: peter-evans/repository-dispatch@v1
11
- with:
12
- token: ${{ secrets.NURAX_ACCESS_TOKEN }}
13
- event-type: release
14
- repository: curationexperts/nurax
15
- client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
16
-
17
-