hyrax 3.4.2 → 3.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- 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/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/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/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/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/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/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/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/config/locales/hyrax.de.yml +2 -1
- data/config/locales/hyrax.en.yml +3 -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 +2 -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 +39 -3
@@ -13,7 +13,7 @@
|
|
13
13
|
<fieldset class="set-access-controls">
|
14
14
|
<section class="help-block">
|
15
15
|
<p>
|
16
|
-
<% if curation_concern
|
16
|
+
<% if embargo_enforced?(curation_concern) %>
|
17
17
|
<%= t('.embargo_true_html', cc: cc_type) %>
|
18
18
|
<% else %>
|
19
19
|
<%= t('.embargo_false_html', cc: cc_type) %>
|
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
<div class="row">
|
31
31
|
<div class="col-md-12 form-actions">
|
32
|
-
<% if curation_concern
|
32
|
+
<% if embargo_enforced?(curation_concern) %>
|
33
33
|
<%= f.submit t('.embargo_update'), class: 'btn btn-primary' %>
|
34
34
|
<%= link_to t('.embargo_deactivate'), embargo_path(curation_concern), method: :delete, class: 'btn btn-danger' %>
|
35
35
|
<% else %>
|
@@ -48,7 +48,7 @@
|
|
48
48
|
<h2 class="panel-title"><%= t('.header.past') %></h2>
|
49
49
|
</div>
|
50
50
|
<div class="panel-body">
|
51
|
-
<% if curation_concern.
|
51
|
+
<% if embargo_history(curation_concern).empty? %>
|
52
52
|
<%= t('.history_empty', cc: cc_type) %>
|
53
53
|
<% else %>
|
54
54
|
<%= render partial: "embargo_history", object: curation_concern.embargo_history %>
|
@@ -1,8 +1,3 @@
|
|
1
|
-
<% depositor = f.object.depositor %>
|
2
|
-
<% public_perm = f.object.permissions.map { |perm| perm.access if perm.agent_name == "public"}.compact.first %>
|
3
|
-
<% public_perm = true if params[:controller] == 'batch' %>
|
4
|
-
<% registered_perm = f.object.permissions.map { |perm| perm.access if perm.agent_name == "registered"}.compact.first %>
|
5
|
-
|
6
1
|
<h2 id="permissions_display"><% if params[:controller] == 'batch' %><%= t('.bulk') %> <% end %><%= t('.header') %> <% if params[:controller] == 'batch' %>
|
7
2
|
<small><%= t('.applied_to') %></small><% end %>
|
8
3
|
</h2>
|
@@ -13,7 +8,7 @@
|
|
13
8
|
<span id="permissions_error_text"></span>
|
14
9
|
</div>
|
15
10
|
|
16
|
-
<%= render 'hyrax/base/
|
11
|
+
<%= render 'hyrax/base/form_visibility_component', f: f %>
|
17
12
|
|
18
13
|
<!-- Share With -->
|
19
14
|
<div class="row">
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
<div class="row">
|
8
8
|
<div class="col-xs-12 col-sm-4">
|
9
|
-
<%= render media_display_partial(
|
9
|
+
<%= render media_display_partial(@presenter.solr_document), file_set: @presenter.solr_document %>
|
10
10
|
</div>
|
11
11
|
<div class="col-xs-12 col-sm-8">
|
12
12
|
<div class="panel panel-default tabs">
|
@@ -27,7 +27,7 @@
|
|
27
27
|
<h2><%= t('.descriptions') %></h2>
|
28
28
|
<%= render "form" %>
|
29
29
|
</div>
|
30
|
-
<%= render "permission", file_set: curation_concern %>
|
30
|
+
<%= render "permission", file_set: curation_concern, form_object: @form %>
|
31
31
|
<%= render "versioning", file_set: curation_concern %>
|
32
32
|
</div>
|
33
33
|
</div>
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<fieldset class="set-access-controls">
|
14
14
|
<section class="help-block">
|
15
15
|
<p>
|
16
|
-
<% if curation_concern
|
16
|
+
<% if lease_enforced?(curation_concern) %>
|
17
17
|
<%= t('.lease_true_html', cc: cc_type) %>
|
18
18
|
<% else %>
|
19
19
|
<%= t('.lease_false_html', cc: cc_type) %>
|
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
<div class="row">
|
31
31
|
<div class="col-md-12 form-actions">
|
32
|
-
<% if curation_concern
|
32
|
+
<% if lease_enforced?(curation_concern) %>
|
33
33
|
<%= f.submit t('.lease_update'), class: 'btn btn-primary' %>
|
34
34
|
<%= link_to t('.lease_deactivate'), lease_path(curation_concern), method: :delete, class: 'btn btn-danger' %>
|
35
35
|
<% else %>
|
@@ -48,7 +48,7 @@
|
|
48
48
|
<h2 class="panel-title"><%= t('.header.past') %></h2>
|
49
49
|
</div>
|
50
50
|
<div class="panel-body">
|
51
|
-
<% if curation_concern.
|
51
|
+
<% if lease_history(curation_concern).empty? %>
|
52
52
|
<%= t('.history_empty', cc: cc_type) %>
|
53
53
|
<% else %>
|
54
54
|
<%= render partial: 'lease_history', object: curation_concern.lease_history %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<span class="sr-only"><%= t(:'.sr_only_description', work_title: @proxy_deposit_request.to_s) %></span>
|
6
6
|
|
7
7
|
<%= simple_form_for @proxy_deposit_request,
|
8
|
-
url: hyrax.work_transfers_path(
|
8
|
+
url: hyrax.work_transfers_path(params[:id]) do |f| %>
|
9
9
|
<%= f.input :transfer_to,
|
10
10
|
placeholder: t(:'.placeholder') %>
|
11
11
|
<%= f.input :sender_comment %>
|
data/config/locales/hyrax.de.yml
CHANGED
@@ -557,7 +557,7 @@ de:
|
|
557
557
|
actions: Aktion
|
558
558
|
title: Sammlungstitel
|
559
559
|
form_permission:
|
560
|
-
visibility: Sichtbarkeit <small> Wer sollte diesen Inhalt anzeigen oder herunterladen können? </
|
560
|
+
visibility: Sichtbarkeit <small> Wer sollte diesen Inhalt anzeigen oder herunterladen können? </small>
|
561
561
|
form_permission_under_embargo:
|
562
562
|
help_html: "<strong>Diese Arbeit ist unter Embargo.</strong> Hier können Sie die Einstellungen des Embargos ändern, oder Sie können den %{edit_link} besuchen, um ihn zu deaktivieren."
|
563
563
|
legend_html: Sichtbarkeit <small>Wer sollte in der Lage sein, diesen Inhalt anzusehen oder herunterzuladen?</small>
|
@@ -596,6 +596,7 @@ de:
|
|
596
596
|
legend_html: Miniaturansicht
|
597
597
|
form_visibility_component:
|
598
598
|
visibility: Sichtbarkeit
|
599
|
+
subtitle_html: <small>Wer sollte diesen Inhalt anzeigen oder herunterladen können?</small>
|
599
600
|
inspect_work:
|
600
601
|
back_to: Zurück zu
|
601
602
|
entity_id: Mandanten-ID
|
data/config/locales/hyrax.en.yml
CHANGED
@@ -588,6 +588,7 @@ en:
|
|
588
588
|
legend_html: Thumbnail
|
589
589
|
form_visibility_component:
|
590
590
|
visibility: Visibility
|
591
|
+
subtitle_html: <small>Who should be able to view or download this content?</small>
|
591
592
|
inspect_work:
|
592
593
|
back_to: Back to
|
593
594
|
entity_id: Entity ID
|
@@ -1687,6 +1688,8 @@ en:
|
|
1687
1688
|
note_html: Keep to myself with option to share.
|
1688
1689
|
text: Private
|
1689
1690
|
restricted_title_attr: Change the visibility of this resource
|
1691
|
+
unknown:
|
1692
|
+
text: Unknown
|
1690
1693
|
work_button_row:
|
1691
1694
|
attach_child: Attach Child
|
1692
1695
|
workflow:
|
data/config/locales/hyrax.es.yml
CHANGED
data/config/locales/hyrax.fr.yml
CHANGED
@@ -563,7 +563,7 @@ fr:
|
|
563
563
|
actions: action
|
564
564
|
title: Titre de la collection
|
565
565
|
form_permission:
|
566
|
-
visibility: Visibilité <small> Qui devrait être en mesure d’afficher ou de télécharger ce contenu? </
|
566
|
+
visibility: Visibilité <small> Qui devrait être en mesure d’afficher ou de télécharger ce contenu? </small>
|
567
567
|
form_permission_under_embargo:
|
568
568
|
help_html: "<strong>Ce travail est sous embargo.</strong> Vous pouvez modifier les paramètres de l'embargo ici, ou vous pouvez visiter le %{edit_link} pour le désactiver."
|
569
569
|
legend_html: Visibilité <small>Qui devrait pouvoir afficher ou télécharger ce contenu?</small>
|
@@ -602,6 +602,7 @@ fr:
|
|
602
602
|
legend_html: La vignette
|
603
603
|
form_visibility_component:
|
604
604
|
visibility: Visibilité
|
605
|
+
subtitle_html: <small>Qui devrait être en mesure d’afficher ou de télécharger ce contenu?</small>
|
605
606
|
inspect_work:
|
606
607
|
back_to: Retour à
|
607
608
|
entity_id: ID d'entité
|
data/config/locales/hyrax.it.yml
CHANGED
@@ -601,6 +601,7 @@ it:
|
|
601
601
|
legend_html: Thumbnail
|
602
602
|
form_visibility_component:
|
603
603
|
visibility: Visibilità
|
604
|
+
subtitle_html: <small>Chi dovrebbe essere in grado di visualizzare o scaricare questo contenuto?</small>
|
604
605
|
inspect_work:
|
605
606
|
back_to: Torna a
|
606
607
|
entity_id: ID entità
|
@@ -596,6 +596,7 @@ pt-BR:
|
|
596
596
|
legend_html: Miniatura
|
597
597
|
form_visibility_component:
|
598
598
|
visibility: Visibilidade
|
599
|
+
subtitle_html: <small>Quem deve conseguir visualizar ou baixar este conteúdo?</small>
|
599
600
|
inspect_work:
|
600
601
|
back_to: De volta a
|
601
602
|
entity_id: ID da entidade
|
data/config/locales/hyrax.zh.yml
CHANGED
@@ -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.5.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.5.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.5.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,6 +77,7 @@ 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
82
|
spec.add_dependency 'redlock', '>= 0.1.2'
|
81
83
|
spec.add_dependency 'reform', '~> 2.3'
|
@@ -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