hyrax 3.4.2 → 3.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.dassie/config/analytics.yml +4 -2
- data/.regen +2 -1
- data/app/actors/hyrax/actors/collections_membership_actor.rb +1 -1
- data/app/actors/hyrax/actors/embargo_actor.rb +11 -4
- data/app/actors/hyrax/actors/lease_actor.rb +11 -4
- data/app/assets/javascripts/hyrax/analytics_events.js +88 -38
- data/app/assets/javascripts/hyrax/app.js.erb +1 -1
- data/app/assets/javascripts/hyrax/permissions/control.es6 +8 -1
- data/app/controllers/concerns/hyrax/embargoes_controller_behavior.rb +11 -2
- data/app/controllers/concerns/hyrax/leases_controller_behavior.rb +11 -2
- data/app/controllers/concerns/hyrax/manages_embargoes.rb +13 -1
- data/app/controllers/hyrax/admin/analytics/collection_reports_controller.rb +2 -2
- data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +1 -1
- data/app/controllers/hyrax/admin/strategies_controller.rb +1 -1
- data/app/controllers/hyrax/admin/workflows_controller.rb +48 -3
- data/app/controllers/hyrax/dashboard/collections_controller.rb +1 -2
- data/app/controllers/hyrax/downloads_controller.rb +16 -1
- data/app/controllers/hyrax/file_sets_controller.rb +10 -1
- data/app/controllers/hyrax/permissions_controller.rb +1 -1
- data/app/controllers/hyrax/transfers_controller.rb +0 -2
- data/app/controllers/hyrax/workflow_actions_controller.rb +3 -2
- data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +2 -0
- data/app/forms/hyrax/forms/embargo.rb +13 -0
- data/app/forms/hyrax/forms/file_set_edit_form.rb +1 -1
- data/app/forms/hyrax/forms/file_set_form.rb +8 -35
- data/app/forms/hyrax/forms/lease.rb +13 -0
- data/app/forms/hyrax/forms/pcdm_object_form.rb +46 -0
- data/app/forms/hyrax/forms/resource_form.rb +36 -32
- data/app/forms/hyrax/forms/work_embargo_form.rb +35 -0
- data/app/forms/hyrax/forms/work_lease_form.rb +35 -0
- data/app/helpers/hyrax/embargo_helper.rb +11 -0
- data/app/helpers/hyrax/lease_helper.rb +11 -0
- data/app/indexers/hyrax/pcdm_collection_indexer.rb +1 -0
- data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +2 -8
- data/app/jobs/content_event_job.rb +1 -1
- data/app/models/concerns/hyrax/collection_behavior.rb +2 -1
- data/app/models/concerns/hyrax/collection_nesting.rb +10 -1
- data/app/models/concerns/hyrax/file_set_behavior.rb +1 -0
- data/app/models/concerns/hyrax/work_behavior.rb +2 -1
- data/app/models/hyrax/embargo.rb +1 -1
- data/app/models/hyrax/file_set.rb +3 -3
- data/app/models/hyrax/lease.rb +1 -1
- data/app/models/proxy_deposit_request.rb +1 -1
- data/app/presenters/hyrax/permission_badge.rb +3 -2
- data/app/presenters/hyrax/version_list_presenter.rb +6 -1
- data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +13 -5
- data/app/services/hyrax/analytics/ga4.rb +204 -0
- data/app/services/hyrax/analytics/google.rb +23 -15
- data/app/services/hyrax/analytics/matomo.rb +4 -3
- data/app/services/hyrax/collections/nested_collection_query_service.rb +1 -1
- data/app/services/hyrax/edit_permissions_service.rb +21 -3
- data/app/services/hyrax/embargo_manager.rb +9 -0
- data/app/services/hyrax/file_set_file_service.rb +55 -0
- data/app/services/hyrax/lease_manager.rb +9 -0
- data/app/services/hyrax/solr_query_service.rb +4 -4
- data/app/services/hyrax/user_stat_importer.rb +2 -0
- data/app/services/hyrax/versioning_service.rb +77 -9
- data/app/services/hyrax/visibility_propagator.rb +5 -5
- data/app/services/hyrax/work_resource_query_service.rb +45 -0
- data/app/services/hyrax/workflow/actionable_objects.rb +28 -3
- data/app/services/hyrax/workflow/permission_query.rb +23 -2
- data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +1 -1
- data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +1 -1
- data/app/views/hyrax/admin/workflows/_tabs.html.erb +9 -0
- data/app/views/hyrax/admin/workflows/index.html.erb +53 -78
- data/app/views/hyrax/base/_form_progress.html.erb +1 -1
- data/app/views/hyrax/base/_form_visibility_component.html.erb +5 -1
- data/app/views/hyrax/base/_show_actions.html.erb +1 -1
- data/app/views/hyrax/base/_work_button_row.html.erb +1 -1
- data/app/views/hyrax/dashboard/_user_activity.html.erb +1 -1
- data/app/views/hyrax/dashboard/show_admin.html.erb +1 -1
- data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +1 -1
- data/app/views/hyrax/embargoes/edit.html.erb +3 -3
- data/app/views/hyrax/file_sets/_permission.html.erb +1 -1
- data/app/views/hyrax/file_sets/_permission_form.html.erb +1 -6
- data/app/views/hyrax/file_sets/_show_actions.html.erb +1 -1
- data/app/views/hyrax/file_sets/edit.html.erb +2 -2
- data/app/views/hyrax/leases/edit.html.erb +3 -3
- data/app/views/hyrax/transfers/new.html.erb +1 -1
- data/app/views/layouts/_head_tag_content.html.erb +5 -2
- data/app/views/shared/_ga4.html.erb +10 -0
- data/config/locales/hyrax.de.yml +2 -1
- data/config/locales/hyrax.en.yml +11 -0
- data/config/locales/hyrax.es.yml +1 -0
- data/config/locales/hyrax.fr.yml +2 -1
- data/config/locales/hyrax.it.yml +1 -0
- data/config/locales/hyrax.pt-BR.yml +1 -0
- data/config/locales/hyrax.zh.yml +1 -0
- data/config/metadata/file_set_metadata.yaml +130 -0
- data/documentation/developing-your-hyrax-based-app.md +2 -2
- data/documentation/legacyREADME.md +3 -3
- data/hyrax.gemspec +3 -1
- data/lib/generators/hyrax/templates/config/analytics.yml +3 -0
- data/lib/generators/hyrax/templates/config/locales/hyrax.de.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.en.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.es.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.fr.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.it.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.zh.yml +1 -1
- data/lib/hyrax/active_fedora_dummy_model.rb +13 -0
- data/lib/hyrax/configuration.rb +9 -2
- data/lib/hyrax/errors.rb +2 -0
- data/lib/hyrax/specs/shared_specs/factories/strategies/valkyrie_resource.rb +6 -0
- data/lib/hyrax/specs/shared_specs/indexers.rb +5 -0
- data/lib/hyrax/version.rb +1 -1
- data/lib/wings/valkyrie/storage.rb +6 -2
- data/template.rb +1 -1
- metadata +48 -5
- data/.github/workflows/main.yml +0 -17
- 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.
|
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.
|
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.
|
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.
|
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.
|
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 ©
|
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 ©
|
53
|
+
copyright_html: "<strong>Copyright © 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 ©
|
53
|
+
copyright_html: "<strong>Copyright © 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 ©
|
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 ©
|
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>版权所有 ©
|
53
|
+
copyright_html: "<strong>版权所有 © 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
|
#
|
data/lib/hyrax/configuration.rb
CHANGED
@@ -875,10 +875,17 @@ module Hyrax
|
|
875
875
|
end
|
876
876
|
end
|
877
877
|
|
878
|
-
|
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
|
-
|
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
@@ -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
@@ -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, :
|
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
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
|
+
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:
|
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.
|
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
|
data/.github/workflows/main.yml
DELETED
@@ -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
|
-
|