hyrax 3.4.1 → 3.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +26 -17
- data/.dassie/.env +1 -1
- data/.dassie/Gemfile +1 -1
- data/.dassie/app/forms/collection_resource_form.rb +8 -0
- data/.dassie/app/indexers/collection_resource_indexer.rb +8 -0
- data/.dassie/app/models/collection_resource.rb +35 -0
- data/.dassie/config/initializers/file_services.rb +4 -0
- data/.dassie/config/initializers/hyrax.rb +2 -1
- data/.dassie/config/metadata/collection_resource.yaml +23 -0
- data/.dassie/db/seeds.rb +2 -0
- data/.dassie/spec/forms/collection_resource_form_spec.rb +13 -0
- data/.dassie/spec/indexers/collection_resource_indexer_spec.rb +14 -0
- data/.dassie/spec/models/collection_resource_spec.rb +13 -0
- data/.regen +1 -1
- data/.rubocop.yml +1 -1
- data/.rubocop_fixme.yml +19 -2
- data/CONTAINERS.md +18 -13
- data/Dockerfile +2 -2
- data/app/assets/javascripts/hyrax/collections_v2.es6 +13 -0
- data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +1 -3
- data/app/controllers/hyrax/dashboard/collections_controller.rb +159 -75
- data/app/controllers/hyrax/single_use_links_viewer_controller.rb +1 -1
- data/app/forms/hyrax/forms/collection_form.rb +1 -1
- data/app/forms/hyrax/forms/pcdm_collection_form.rb +29 -2
- data/app/forms/hyrax/forms/resource_form.rb +15 -1
- data/app/forms/hyrax/forms/widgets/admin_set_visibility.rb +1 -1
- data/app/indexers/hyrax/pcdm_collection_indexer.rb +0 -1
- data/app/jobs/characterize_job.rb +5 -1
- data/app/jobs/import_url_job.rb +4 -6
- data/app/jobs/valkyrie_ingest_job.rb +15 -77
- data/app/models/admin_set.rb +8 -0
- data/app/models/concerns/hyrax/collection_behavior.rb +1 -1
- data/app/models/concerns/hyrax/user.rb +11 -0
- data/app/models/concerns/hyrax/work_behavior.rb +1 -1
- data/app/models/featured_work_list.rb +0 -1
- data/app/models/hyrax/file_metadata.rb +32 -2
- data/app/models/hyrax/file_set.rb +1 -3
- data/app/models/hyrax/group.rb +19 -0
- data/app/models/hyrax/pcdm_collection.rb +0 -1
- data/app/models/job_io_wrapper.rb +1 -1
- data/app/presenters/hyrax/member_presenter_factory.rb +2 -4
- data/app/presenters/hyrax/work_show_presenter.rb +3 -3
- data/app/services/hyrax/access_control_list.rb +7 -6
- data/app/services/hyrax/adapters/nesting_index_adapter.rb +3 -3
- data/app/services/hyrax/characterization/valkyrie_characterization_service.rb +3 -5
- data/app/services/hyrax/collections/collection_member_service.rb +3 -5
- data/app/services/hyrax/listeners/file_metadata_listener.rb +11 -0
- data/app/services/hyrax/listeners/member_cleanup_listener.rb +14 -18
- data/app/services/hyrax/multiple_membership_checker.rb +2 -0
- data/app/services/hyrax/valkyrie_persist_derivatives.rb +50 -0
- data/app/services/hyrax/valkyrie_upload.rb +94 -0
- data/app/services/hyrax/workflow/workflow_importer.rb +7 -9
- data/app/services/hyrax/workflow/workflow_schema.rb +3 -5
- data/app/strategies/hyrax/strategies/yaml_strategy.rb +4 -6
- data/app/uploaders/hyrax/uploaded_file_uploader.rb +4 -4
- data/app/validators/hyrax/collection_membership_validator.rb +16 -15
- data/app/views/catalog/_index_header_list_default.html.erb +8 -1
- data/app/views/catalog/_thumbnail_list_default.html.erb +8 -3
- data/app/views/collections/edit_fields/_based_near.html.erb +7 -7
- data/app/views/hyrax/dashboard/collections/_form.html.erb +3 -2
- data/app/views/hyrax/dashboard/collections/_form_branding.html.erb +1 -0
- data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +1 -1
- data/app/views/hyrax/my/works/_tabs.html.erb +6 -1
- data/chart/hyrax/Chart.yaml +10 -6
- data/chart/hyrax/templates/_helpers.tpl +4 -0
- data/chart/hyrax/templates/cron-embargo.yaml +5 -0
- data/chart/hyrax/templates/cron-lease.yaml +5 -0
- data/chart/hyrax/templates/deployment-worker.yaml +11 -0
- data/chart/hyrax/templates/ingress.yaml +7 -6
- data/chart/hyrax/values.yaml +152 -0
- data/config/features.rb +48 -50
- data/config/initializers/{valkryrie_storage.rb → storage_adapter_initializer.rb} +5 -0
- data/config/locales/hyrax.de.yml +12 -12
- data/docker-compose.yml +1 -0
- data/documentation/developing-your-hyrax-based-app.md +1 -1
- data/documentation/legacyREADME.md +1 -1
- data/hyrax.gemspec +5 -3
- data/lib/generators/hyrax/collection_resource/USAGE +20 -0
- data/lib/generators/hyrax/collection_resource/collection_resource_generator.rb +133 -0
- data/lib/generators/hyrax/collection_resource/templates/collection.rb.erb +34 -0
- data/lib/generators/hyrax/collection_resource/templates/collection_form.rb.erb +7 -0
- data/lib/generators/hyrax/collection_resource/templates/collection_form_spec.rb.erb +13 -0
- data/lib/generators/hyrax/collection_resource/templates/collection_indexer.rb.erb +7 -0
- data/lib/generators/hyrax/collection_resource/templates/collection_indexer_spec.rb.erb +13 -0
- data/lib/generators/hyrax/collection_resource/templates/collection_metadata.yaml +22 -0
- data/lib/generators/hyrax/collection_resource/templates/collection_spec.rb.erb +12 -0
- data/lib/generators/hyrax/install_generator.rb +9 -0
- data/lib/hyrax/configuration.rb +12 -0
- data/lib/hyrax/publisher.rb +4 -0
- data/lib/hyrax/specs/shared_specs/hydra_works.rb +0 -1
- data/lib/hyrax/transactions/collection_update.rb +2 -0
- data/lib/hyrax/transactions/container.rb +10 -0
- data/lib/hyrax/transactions/steps/save_collection_banner.rb +59 -0
- data/lib/hyrax/transactions/steps/save_collection_logo.rb +109 -0
- data/lib/hyrax/version.rb +1 -1
- data/lib/wings/active_fedora_converter/file_metadata_node.rb +48 -0
- data/lib/wings/active_fedora_converter/instance_builder.rb +68 -0
- data/lib/wings/active_fedora_converter.rb +3 -3
- data/lib/wings/services/custom_queries/find_file_metadata.rb +19 -8
- data/lib/wings/valkyrie/query_service.rb +4 -6
- data/template.rb +1 -1
- metadata +63 -13
- data/app/views/catalog/_index_header_list_hyrax_pcdm_collection.html.erb +0 -4
@@ -23,7 +23,7 @@
|
|
23
23
|
<% end %>
|
24
24
|
</ul>
|
25
25
|
|
26
|
-
<%= simple_form_for @form, url: [hyrax, :dashboard, @form], html: { class: 'editor nav-safety' } do |f| %>
|
26
|
+
<%= simple_form_for @form, url: [hyrax, :dashboard, @form], html: { class: 'editor nav-safety', data: { behavior: 'collection-form', 'param-key' => @form.model_name.param_key } } do |f| %>
|
27
27
|
<div class="tab-content">
|
28
28
|
<div id="description" class="tab-pane active">
|
29
29
|
<div class="panel panel-default labels">
|
@@ -35,7 +35,7 @@
|
|
35
35
|
<% end %>
|
36
36
|
|
37
37
|
<% # TODO: Remove check for PcdmCollection when Issue #5286 is resolved. %>
|
38
|
-
<% if f.object.persisted? && Hyrax.config.collection_class
|
38
|
+
<% if f.object.persisted? && !(Hyrax.config.collection_class < Valkyrie::Resource) %>
|
39
39
|
<%# we're loading these values dynamically to speed page load %>
|
40
40
|
<%= f.input :thumbnail_id,
|
41
41
|
input_html: { data: { text: thumbnail_label_for(object: f.object) } } %>
|
@@ -116,3 +116,4 @@
|
|
116
116
|
<% end # simple_form_for %>
|
117
117
|
|
118
118
|
</div> <!-- end collection-controls -->
|
119
|
+
|
@@ -32,7 +32,7 @@
|
|
32
32
|
<% end %>
|
33
33
|
<% end %>
|
34
34
|
|
35
|
-
<% if current_ability.can_create_any_work? %>
|
35
|
+
<% if current_ability.can_create_any_work? && Hyrax.config.analytics? %>
|
36
36
|
<li>
|
37
37
|
<%= menu.collapsable_section t('hyrax.admin.sidebar.analytics'),
|
38
38
|
icon_class: "fa fa-pie-chart",
|
@@ -1,6 +1,11 @@
|
|
1
1
|
<ul class="nav nav-tabs" id="my_nav" role="list">
|
2
2
|
<li<%= ' class="active"'.html_safe if current_page?(hyrax.dashboard_works_path(locale: nil)) %>>
|
3
|
-
|
3
|
+
<% if params[:add_works_to_collection].present? && params[:add_works_to_collection_label].present? %>
|
4
|
+
<%= link_to t("hyrax.dashboard.#{current_ability.admin? ? 'all' : 'managed'}.works"), hyrax.dashboard_works_path(add_works_to_collection: params[:add_works_to_collection], add_works_to_collection_label: params[:add_works_to_collection_label]) %>
|
5
|
+
<% else %>
|
6
|
+
<%= link_to t("hyrax.dashboard.#{current_ability.admin? ? 'all' : 'managed'}.works"), hyrax.dashboard_works_path %>
|
7
|
+
<% end %>
|
8
|
+
|
4
9
|
</li>
|
5
10
|
<li<%= ' class="active"'.html_safe if current_page?(hyrax.my_works_path(locale: nil)) %>>
|
6
11
|
<%= link_to t('hyrax.dashboard.my.your_works'), hyrax.my_works_path %>
|
data/chart/hyrax/Chart.yaml
CHANGED
@@ -2,7 +2,7 @@ apiVersion: v2
|
|
2
2
|
name: hyrax
|
3
3
|
description: An open-source, Samvera-powered digital repository system
|
4
4
|
type: application
|
5
|
-
version: 1.1
|
5
|
+
version: 1.5.1
|
6
6
|
appVersion: 3.3.0
|
7
7
|
dependencies:
|
8
8
|
- name: fcrepo
|
@@ -11,21 +11,25 @@ dependencies:
|
|
11
11
|
condition: fcrepo.enabled
|
12
12
|
- name: memcached
|
13
13
|
version: 4.2.21
|
14
|
-
repository: https://
|
14
|
+
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
|
15
15
|
condition: memcached.enabled
|
16
16
|
- name: minio
|
17
17
|
version: 6.7.2
|
18
|
-
repository: https://
|
18
|
+
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
|
19
19
|
condition: minio.enabled
|
20
20
|
- name: postgresql
|
21
21
|
version: 10.3.13
|
22
|
-
repository: https://
|
22
|
+
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
|
23
23
|
condition: postgresql.enabled
|
24
24
|
- name: redis
|
25
25
|
version: 10.7.16
|
26
|
-
repository: https://
|
26
|
+
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
|
27
27
|
condition: redis.enabled
|
28
28
|
- name: solr
|
29
29
|
version: 1.0.1
|
30
|
-
repository: https://
|
30
|
+
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
|
31
31
|
condition: solr.enabled
|
32
|
+
- name: nginx
|
33
|
+
version: 9.8.0
|
34
|
+
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
|
35
|
+
condition: nginx.enabled
|
@@ -179,6 +179,10 @@ We truncate at 63 chars because some Kubernetes name fields are limited to this
|
|
179
179
|
{{- printf "redis://:%s@%s:%s" .Values.redis.password (include "hyrax.redis.host" .) "6379/0" -}}
|
180
180
|
{{- end -}}
|
181
181
|
|
182
|
+
{{- define "hyrax.nginx.host" -}}
|
183
|
+
{{- printf "%s-%s" .Release.Name "nginx" | trunc 63 | trimSuffix "-" -}}
|
184
|
+
{{- end -}}
|
185
|
+
|
182
186
|
{{- define "hyrax.sharedPvcAccessModes" -}}
|
183
187
|
{{- if .Values.worker.enabled }}
|
184
188
|
accessModes:
|
@@ -64,6 +64,17 @@ spec:
|
|
64
64
|
{{- end }}
|
65
65
|
env:
|
66
66
|
{{- toYaml .Values.worker.extraEnvVars | nindent 12 }}
|
67
|
+
{{- if .Values.worker.readinessProbe.enabled }}
|
68
|
+
readinessProbe:
|
69
|
+
exec:
|
70
|
+
command:
|
71
|
+
{{- toYaml .Values.worker.readinessProbe.command | nindent 16 }}
|
72
|
+
failureThreshold: {{ .Values.worker.readinessProbe.failureThreshold }}
|
73
|
+
initialDelaySeconds: {{ .Values.worker.readinessProbe.initialDelaySeconds }}
|
74
|
+
periodSeconds: {{ .Values.worker.readinessProbe.periodSeconds }}
|
75
|
+
successThreshold: {{ .Values.worker.readinessProbe.successThreshold }}
|
76
|
+
timeoutSeconds: {{ .Values.worker.readinessProbe.timeoutSeconds }}
|
77
|
+
{{- end }}
|
67
78
|
volumeMounts:
|
68
79
|
- name: derivatives
|
69
80
|
mountPath: /app/samvera/derivatives
|
@@ -1,6 +1,7 @@
|
|
1
1
|
{{- if .Values.ingress.enabled -}}
|
2
|
-
{{- $
|
3
|
-
{{- $svcPort := .Values.service.port -}}
|
2
|
+
{{- $svcFullName := ternary (include "hyrax.nginx.host" .) (include "hyrax.fullname" .) .Values.nginx.enabled -}}
|
3
|
+
{{- $svcPort := ternary .Values.nginx.service.port .Values.service.port .Values.nginx.enabled -}}
|
4
|
+
|
4
5
|
{{- $beta := semverCompare "<1.19-0" (default .Capabilities.KubeVersion.Version .Values.kubeVersion) -}}
|
5
6
|
{{- if $beta }}
|
6
7
|
apiVersion: networking.k8s.io/v1beta1
|
@@ -9,7 +10,7 @@ apiVersion: networking.k8s.io/v1
|
|
9
10
|
{{- end }}
|
10
11
|
kind: Ingress
|
11
12
|
metadata:
|
12
|
-
name: {{
|
13
|
+
name: {{ include "hyrax.fullname" . }}
|
13
14
|
labels:
|
14
15
|
{{- include "hyrax.labels" . | nindent 4 }}
|
15
16
|
{{- with .Values.ingress.annotations }}
|
@@ -37,14 +38,14 @@ spec:
|
|
37
38
|
pathType: {{ .pathType | default "ImplementationSpecific" }}
|
38
39
|
backend:
|
39
40
|
{{- if $beta }}
|
40
|
-
serviceName: {{ $
|
41
|
+
serviceName: {{ $svcFullName }}
|
41
42
|
servicePort: {{ $svcPort }}
|
42
43
|
{{- else }}
|
43
44
|
service:
|
44
|
-
name: {{ $
|
45
|
+
name: {{ $svcFullName }}
|
45
46
|
port:
|
46
47
|
number: {{ $svcPort }}
|
47
48
|
{{- end }}
|
48
49
|
{{- end }}
|
49
50
|
{{- end }}
|
50
|
-
|
51
|
+
{{- end }}
|
data/chart/hyrax/values.yaml
CHANGED
@@ -201,6 +201,18 @@ worker:
|
|
201
201
|
affinity: {}
|
202
202
|
resources: {}
|
203
203
|
|
204
|
+
# see: https://github.com/mperham/sidekiq/wiki/Kubernetes#health-checks
|
205
|
+
readinessProbe:
|
206
|
+
enabled: false
|
207
|
+
# command:
|
208
|
+
# - cat
|
209
|
+
# - /app/samvera/hyrax-webapp/tmp/sidekiq_process_has_started_and_will_begin_processing_jobs
|
210
|
+
# initialDelaySeconds: 10
|
211
|
+
# periodSeconds: 2
|
212
|
+
# timeoutSeconds: 1
|
213
|
+
# failureThreshold: 10
|
214
|
+
# successThreshold: 2
|
215
|
+
|
204
216
|
fcrepo:
|
205
217
|
enabled: true
|
206
218
|
externalDatabaseUsername: "hyrax"
|
@@ -238,6 +250,144 @@ postgresql:
|
|
238
250
|
# persistence:
|
239
251
|
# size: 10Gi
|
240
252
|
|
253
|
+
|
254
|
+
## Nginx proxy is used to keep puma from having to serve static assets
|
255
|
+
## and to act as an auth proxy for Cantelope
|
256
|
+
nginx:
|
257
|
+
enabled: false
|
258
|
+
# The set up below does malicious bot / ip blocking and mounts
|
259
|
+
# vaolumes to allow nginx to server assets and other public directory items
|
260
|
+
# image:
|
261
|
+
# registry: registry.gitlab.com
|
262
|
+
# repository: notch8/scripts/bitnami-nginx
|
263
|
+
# tag: 1.21.5-debian-10-r4
|
264
|
+
# extraVolumes:
|
265
|
+
# - name: "uploads"
|
266
|
+
# persistentVolumeClaim:
|
267
|
+
# claimName: {{ .Values.global.hyraxHostName }}-uploads
|
268
|
+
# extraVolumeMounts:
|
269
|
+
# - name: uploads
|
270
|
+
# mountPath: /app/samvera/hyrax-webapp/public/system
|
271
|
+
# subPath: public-system
|
272
|
+
# - name: uploads
|
273
|
+
# mountPath: /app/samvera/hyrax-webapp/public/uploads
|
274
|
+
# subPath: public-uploads
|
275
|
+
# - name: uploads
|
276
|
+
# mountPath: /app/samvera/hyrax-webapp/public/uv
|
277
|
+
# subPath: public-uv
|
278
|
+
# - name: uploads
|
279
|
+
# mountPath: /app/samvera/hyrax-webapp/public/assets
|
280
|
+
# subPath: public-assets
|
281
|
+
# serverBlock: |-
|
282
|
+
# upstream rails_app {
|
283
|
+
# server {{ .Values.global.hyraxHostName }};
|
284
|
+
# }
|
285
|
+
|
286
|
+
# map $status $loggable {
|
287
|
+
# ~^444 0;
|
288
|
+
# default 1;
|
289
|
+
# }
|
290
|
+
|
291
|
+
# log_format loki 'host=$host ip=$http_x_forwarded_for remote_user=$remote_user [$time_local] '
|
292
|
+
# 'request="$request" status=$status bytes=$body_bytes_sent '
|
293
|
+
# 'referer="$http_referer" agent="$http_user_agent" request_time=$request_time upstream_response_time=$upstream_response_time upstream_response_length=$upstream_response_length';
|
294
|
+
|
295
|
+
# error_log /opt/bitnami/nginx/logs/error.log warn;
|
296
|
+
# #tcp_nopush on;
|
297
|
+
|
298
|
+
# # Cloudflare ips see for refresh
|
299
|
+
# # https://support.cloudflare.com/hc/en-us/articles/200170786-Restoring-original-visitor-IPs-logging-visitor-IP-addresses
|
300
|
+
# # update list https://www.cloudflare.com/ips/
|
301
|
+
# set_real_ip_from 103.21.244.0/22;
|
302
|
+
# set_real_ip_from 103.22.200.0/22;
|
303
|
+
# set_real_ip_from 103.31.4.0/22;
|
304
|
+
# set_real_ip_from 104.16.0.0/13;
|
305
|
+
# set_real_ip_from 104.24.0.0/14;
|
306
|
+
# set_real_ip_from 108.162.192.0/18;
|
307
|
+
# set_real_ip_from 131.0.72.0/22;
|
308
|
+
# set_real_ip_from 141.101.64.0/18;
|
309
|
+
# set_real_ip_from 162.158.0.0/15;
|
310
|
+
# set_real_ip_from 172.64.0.0/13;
|
311
|
+
# set_real_ip_from 173.245.48.0/20;
|
312
|
+
# set_real_ip_from 188.114.96.0/20;
|
313
|
+
# set_real_ip_from 190.93.240.0/20;
|
314
|
+
# set_real_ip_from 197.234.240.0/22;
|
315
|
+
# set_real_ip_from 198.41.128.0/17;
|
316
|
+
# set_real_ip_from 2400:cb00::/32;
|
317
|
+
# set_real_ip_from 2606:4700::/32;
|
318
|
+
# set_real_ip_from 2803:f800::/32;
|
319
|
+
# set_real_ip_from 2405:b500::/32;
|
320
|
+
# set_real_ip_from 2405:8100::/32;
|
321
|
+
# set_real_ip_from 2a06:98c0::/29;
|
322
|
+
# set_real_ip_from 2c0f:f248::/32;
|
323
|
+
|
324
|
+
# real_ip_header X-Forwarded-For;
|
325
|
+
# real_ip_recursive on;
|
326
|
+
# include /opt/bitnami/nginx/conf/conf.d/*.conf;
|
327
|
+
# server {
|
328
|
+
# listen 8080;
|
329
|
+
# server_name _;
|
330
|
+
# root /app/samvera/hyrax-webapp/public;
|
331
|
+
# index index.html;
|
332
|
+
|
333
|
+
# client_body_in_file_only clean;
|
334
|
+
# client_body_buffer_size 32K;
|
335
|
+
# client_max_body_size 0;
|
336
|
+
# access_log /opt/bitnami/nginx/logs/access.log loki;
|
337
|
+
# # if=$loggable;
|
338
|
+
|
339
|
+
# sendfile on;
|
340
|
+
# send_timeout 300s;
|
341
|
+
|
342
|
+
# include /opt/bitnami/nginx/conf/bots.d/ddos.conf;
|
343
|
+
# include /opt/bitnami/nginx/conf/bots.d/blockbots.conf;
|
344
|
+
|
345
|
+
# location ~ (\.php|\.aspx|\.asp) {
|
346
|
+
# return 404;
|
347
|
+
# }
|
348
|
+
|
349
|
+
# # deny requests for files that should never be accessed
|
350
|
+
# location ~ /\. {
|
351
|
+
# deny all;
|
352
|
+
# }
|
353
|
+
|
354
|
+
# location ~* ^.+\.(rb|log)$ {
|
355
|
+
# deny all;
|
356
|
+
# }
|
357
|
+
|
358
|
+
# # serve static (compiled) assets directly if they exist (for rails production)
|
359
|
+
# location ~ ^/(assets|packs|fonts|images|javascripts|stylesheets|swfs|system)/ {
|
360
|
+
# try_files $uri @rails;
|
361
|
+
|
362
|
+
# # access_log off;
|
363
|
+
# gzip_static on; # to serve pre-gzipped version
|
364
|
+
|
365
|
+
# expires max;
|
366
|
+
# add_header Cache-Control public;
|
367
|
+
|
368
|
+
# # Some browsers still send conditional-GET requests if there's a
|
369
|
+
# # Last-Modified header or an ETag header even if they haven't
|
370
|
+
# # reached the expiry date sent in the Expires header.
|
371
|
+
# add_header Last-Modified "";
|
372
|
+
# add_header ETag "";
|
373
|
+
# break;
|
374
|
+
# }
|
375
|
+
|
376
|
+
# # send non-static file requests to the app server
|
377
|
+
# location / {
|
378
|
+
# try_files $uri @rails;
|
379
|
+
# }
|
380
|
+
|
381
|
+
# location @rails {
|
382
|
+
# proxy_set_header X-Real-IP $remote_addr;
|
383
|
+
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
384
|
+
# proxy_set_header Host $http_host;
|
385
|
+
# proxy_redirect off;
|
386
|
+
# proxy_pass http://rails_app;
|
387
|
+
# }
|
388
|
+
# }
|
389
|
+
|
390
|
+
|
241
391
|
redis:
|
242
392
|
enabled: true
|
243
393
|
password: mysecret
|
@@ -273,6 +423,8 @@ global:
|
|
273
423
|
postgresql:
|
274
424
|
postgresqlUsername: hyrax
|
275
425
|
postgresqlPassword: hyrax_pass
|
426
|
+
# This is th name of the running rails server pod
|
427
|
+
hyraxHostName: hyrax
|
276
428
|
|
277
429
|
nodeSelector: {}
|
278
430
|
|
data/config/features.rb
CHANGED
@@ -1,53 +1,51 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
Flipflop.configure do
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
Rails.logger.warn "Ignoring #{err}: #{err.message}"
|
52
|
-
end
|
3
|
+
# Strategies will be used in the order listed here.
|
4
|
+
strategy :cookie
|
5
|
+
strategy :active_record, class: Hyrax::Feature
|
6
|
+
strategy Hyrax::Strategies::YamlStrategy, config: Hyrax.config.feature_config_path
|
7
|
+
strategy :default
|
8
|
+
|
9
|
+
feature :proxy_deposit,
|
10
|
+
default: true,
|
11
|
+
description: "Depositors may designate proxies to deposit works on their behalf"
|
12
|
+
|
13
|
+
feature :transfer_works,
|
14
|
+
default: true,
|
15
|
+
description: "Depositors may transfer their works to another user"
|
16
|
+
|
17
|
+
# Note, if this is deactivated, a default admin set will be created and all
|
18
|
+
# works will be assigned to it when they are created.
|
19
|
+
feature :assign_admin_set,
|
20
|
+
default: true,
|
21
|
+
description: "Ability to assign uploaded items to an admin set"
|
22
|
+
|
23
|
+
feature :show_deposit_agreement,
|
24
|
+
default: true,
|
25
|
+
description: "Show a deposit agreement to users creating works"
|
26
|
+
|
27
|
+
feature :active_deposit_agreement_acceptance,
|
28
|
+
default: Hyrax.config.active_deposit_agreement_acceptance?,
|
29
|
+
description: "Require an active acceptance of the deposit agreement by checking a checkbox"
|
30
|
+
|
31
|
+
feature :batch_upload,
|
32
|
+
default: false,
|
33
|
+
description: "Enable uploading batches of works"
|
34
|
+
|
35
|
+
feature :hide_private_items,
|
36
|
+
default: false,
|
37
|
+
description: "Do not show the private items."
|
38
|
+
|
39
|
+
feature :hide_users_list,
|
40
|
+
default: true,
|
41
|
+
description: "Do not show users list unless user has authenticated."
|
42
|
+
|
43
|
+
feature :cache_work_iiif_manifest,
|
44
|
+
default: false,
|
45
|
+
description: "Use Rails.cache to cache the JSON document for IIIF manifests"
|
46
|
+
feature :read_only,
|
47
|
+
default: false,
|
48
|
+
description: "Put the system into read-only mode. Deposits, edits, approvals and anything that makes a change to the data will be disabled."
|
49
|
+
rescue Flipflop::StrategyError, Flipflop::FeatureError => err
|
50
|
+
Rails.logger.warn "Ignoring #{err}: #{err.message}"
|
53
51
|
end
|
data/config/locales/hyrax.de.yml
CHANGED
@@ -220,7 +220,7 @@ de:
|
|
220
220
|
summary: Zusammenfassung
|
221
221
|
title: Sammlungsbericht
|
222
222
|
view_collection_btn: Kollektion ansehen
|
223
|
-
visibility:
|
223
|
+
visibility: Sichtbarkeit
|
224
224
|
summary:
|
225
225
|
all_time: Alle Zeit
|
226
226
|
collection_home_page_views: Aufrufe der Sammlungs-Startseite
|
@@ -239,7 +239,7 @@ de:
|
|
239
239
|
export: Export
|
240
240
|
file_downloads_in_collection: Dateiset-Downloads in dieser Sammlung
|
241
241
|
top_collections: Top-Kollektionen
|
242
|
-
works_in_collection_views:
|
242
|
+
works_in_collection_views: Arbeiten in dieser Sammlungsansichten
|
243
243
|
date_range_form:
|
244
244
|
date_range_heading: Datumsbereich anpassen
|
245
245
|
end_date: Endtermin
|
@@ -270,7 +270,7 @@ de:
|
|
270
270
|
summary: Zusammenfassung
|
271
271
|
title: Werksbericht
|
272
272
|
views: Ansichten
|
273
|
-
works:
|
273
|
+
works: Arbeiten
|
274
274
|
monthly_summary:
|
275
275
|
file_downloads: Datei-Downloads
|
276
276
|
monthly_subtitle: Monat für Monat Status für die letzten 12 Monate bis
|
@@ -285,7 +285,7 @@ de:
|
|
285
285
|
summary: Zusammenfassung
|
286
286
|
title: Arbeitsbericht
|
287
287
|
view_work_btn: Arbeit ansehen
|
288
|
-
visibility:
|
288
|
+
visibility: Sichtbarkeit
|
289
289
|
work_type: Arbeitstyp
|
290
290
|
summary:
|
291
291
|
all_time: Alle Zeit
|
@@ -310,7 +310,7 @@ de:
|
|
310
310
|
work_title: Arbeitstitel
|
311
311
|
work_views: Arbeitsseitenaufrufe
|
312
312
|
work_counts:
|
313
|
-
child_works:
|
313
|
+
child_works: untergeordnete Arbeiten
|
314
314
|
files: Dateien
|
315
315
|
total_size: Gesamtgröße
|
316
316
|
work_files:
|
@@ -408,7 +408,7 @@ de:
|
|
408
408
|
collections_report: Sammlungsbericht
|
409
409
|
configuration: Konfiguration
|
410
410
|
content_blocks: Inhaltsblöcke
|
411
|
-
dashboard:
|
411
|
+
dashboard: Dashboard
|
412
412
|
delete_all: Alles löschen
|
413
413
|
notifications: Benachrichtigungen
|
414
414
|
pages: Seiten
|
@@ -976,7 +976,7 @@ de:
|
|
976
976
|
remove_from_collection: Aus der Sammlung entfernen
|
977
977
|
select_an_action: Wählen Sie eine Aktion aus
|
978
978
|
transfer_ownership_of_work: Übertragen Sie das Eigentum an der Arbeit
|
979
|
-
works:
|
979
|
+
works: Arbeiten
|
980
980
|
create_work: Arbeiten erstellen
|
981
981
|
current_proxies: Aktuelle Vertreter
|
982
982
|
delete_notification: Benachrichtigung löschen
|
@@ -1106,7 +1106,7 @@ de:
|
|
1106
1106
|
objects: Objekte
|
1107
1107
|
subtitle: Die letzten 90 Tage
|
1108
1108
|
title: Repository-Wachstum
|
1109
|
-
works:
|
1109
|
+
works: Arbeiten
|
1110
1110
|
repository_objects:
|
1111
1111
|
status: Aktueller Status
|
1112
1112
|
subtitle: Aktueller Status
|
@@ -1157,7 +1157,7 @@ de:
|
|
1157
1157
|
user_notifications: Benutzerbenachrichtigungen
|
1158
1158
|
view_files: Dateien ansehen
|
1159
1159
|
visibility_graph:
|
1160
|
-
visibility:
|
1160
|
+
visibility: Sichtbarkeit
|
1161
1161
|
work_type_graph:
|
1162
1162
|
count: Zählen
|
1163
1163
|
title: Arbeitstypen
|
@@ -1408,10 +1408,10 @@ de:
|
|
1408
1408
|
you_manage: "<strong> %{total_count} Sammlungen </ strong>, die Sie im Repository verwalten können"
|
1409
1409
|
you_own: "<strong> %{total_count} Sammlungen </ strong>, die Sie im Repository besitzen"
|
1410
1410
|
works:
|
1411
|
-
in_repo: "<strong> %{total_count}
|
1411
|
+
in_repo: "<strong> %{total_count} Arbeiten </ strong> im Repository"
|
1412
1412
|
works_listing: Auflistung der Arbeiten
|
1413
|
-
you_manage: "<strong> %{total_count}
|
1414
|
-
you_own: "<strong> %{total_count}
|
1413
|
+
you_manage: "<strong> %{total_count} Arbeiten </ strong>, das Sie im Repository verwalten können"
|
1414
|
+
you_own: "<strong> %{total_count} Arbeiten </ strong>, das Sie im Repository besitzen"
|
1415
1415
|
sort_and_per_page:
|
1416
1416
|
number_of_results_to_display_per_page: Anzahl der anzuzeigenden Ergebnisse pro Seite
|
1417
1417
|
nav_safety:
|
data/docker-compose.yml
CHANGED
@@ -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.
|
128
|
+
rails _5.2.6_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v3.4.2/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.
|
53
|
+
v3.4.2__. 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
|
|
data/hyrax.gemspec
CHANGED
@@ -26,7 +26,7 @@ SUMMARY
|
|
26
26
|
|
27
27
|
spec.required_ruby_version = '>= 2.5'
|
28
28
|
|
29
|
-
#
|
29
|
+
# NOTE: rails does not follow sem-ver conventions, it's
|
30
30
|
# minor version releases can include breaking changes; see
|
31
31
|
# http://guides.rubyonrails.org/maintenance_policy.html
|
32
32
|
spec.add_dependency 'rails', '~> 5.0'
|
@@ -58,6 +58,7 @@ SUMMARY
|
|
58
58
|
spec.add_dependency 'iiif_manifest', '>= 0.3', '< 2.0'
|
59
59
|
spec.add_dependency 'jquery-datatables-rails', '~> 3.4'
|
60
60
|
spec.add_dependency 'jquery-ui-rails', '~> 6.0'
|
61
|
+
spec.add_dependency 'json-ld', '< 3.2'
|
61
62
|
spec.add_dependency 'json-schema' # for Arkivo
|
62
63
|
# Pin more tightly because 0.x gems are potentially unstable
|
63
64
|
spec.add_dependency 'kaminari_route_prefix', '~> 0.1.1'
|
@@ -70,6 +71,7 @@ SUMMARY
|
|
70
71
|
spec.add_dependency 'oauth2', '~> 1.2'
|
71
72
|
spec.add_dependency 'posix-spawn'
|
72
73
|
spec.add_dependency 'power_converter', '~> 0.1', '>= 0.1.2'
|
74
|
+
spec.add_dependency 'psych', '~> 3.3'
|
73
75
|
spec.add_dependency 'qa', '~> 5.5', '>= 5.5.1' # questioning_authority
|
74
76
|
spec.add_dependency 'rails_autolink', '~> 1.1'
|
75
77
|
spec.add_dependency 'rdf-rdfxml' # controlled vocabulary importer
|
@@ -82,7 +84,7 @@ SUMMARY
|
|
82
84
|
spec.add_dependency 'samvera-nesting_indexer', '~> 2.0'
|
83
85
|
spec.add_dependency 'select2-rails', '~> 3.5'
|
84
86
|
spec.add_dependency 'signet'
|
85
|
-
spec.add_dependency 'tinymce-rails'
|
87
|
+
spec.add_dependency 'tinymce-rails', '~> 5.10'
|
86
88
|
spec.add_dependency 'valkyrie', '~> 2', '>= 2.1.1'
|
87
89
|
|
88
90
|
spec.add_development_dependency "capybara", '~> 3.29'
|
@@ -106,7 +108,7 @@ SUMMARY
|
|
106
108
|
spec.add_development_dependency 'i18n_yaml_sorter'
|
107
109
|
spec.add_development_dependency 'rails-controller-testing', '~> 1'
|
108
110
|
# the hyrax style guide is based on `bixby`. see `.rubocop.yml`
|
109
|
-
spec.add_development_dependency 'bixby', '~>
|
111
|
+
spec.add_development_dependency 'bixby', '~> 5.0', '>= 5.0.2' # bixby 5 briefly dropped Ruby 2.5
|
110
112
|
spec.add_development_dependency 'shoulda-callback-matchers', '~> 1.1.1'
|
111
113
|
spec.add_development_dependency 'shoulda-matchers', '~> 3.1'
|
112
114
|
spec.add_development_dependency 'webdrivers', '~> 4.4'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Description:
|
2
|
+
This generator creates the necessary files for a Hyrax::PcdmCollection.
|
3
|
+
|
4
|
+
Example:
|
5
|
+
Usage: rails generate hyrax:collection_resource MyCollection [with_basic_metadata]
|
6
|
+
|
7
|
+
Argument:
|
8
|
+
with_basic_metadata (optional) - if present, the collection resource will include basic metadata
|
9
|
+
|
10
|
+
This will create:
|
11
|
+
app/models/my_collection.rb
|
12
|
+
app/forms/my_collection_form.rb
|
13
|
+
app/indexers/my_collection_indexer.rb
|
14
|
+
config/metadata/my_collection.yaml
|
15
|
+
spec/models/my_collection_spec.rb
|
16
|
+
spec/forms/my_collection_form_spec.rb
|
17
|
+
spec/indexers/my_collection_indexer_spec.rb
|
18
|
+
|
19
|
+
This will also:
|
20
|
+
set Hyrax.config.collection_model = "MyCollection"
|