hyrax 3.3.0 → 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 +2 -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 +12 -1
- data/.dassie/config/metadata/collection_resource.yaml +23 -0
- data/.dassie/db/seeds.rb +74 -17
- 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/.github/release.yml +26 -0
- data/.gitignore +3 -0
- data/.regen +1 -1
- data/.rubocop.yml +1 -1
- data/.rubocop_fixme.yml +22 -3
- data/CONTAINERS.md +18 -13
- data/Dockerfile +4 -3
- data/app/actors/hyrax/actors/file_actor.rb +6 -4
- data/app/actors/hyrax/actors/transfer_request_actor.rb +3 -7
- data/app/assets/javascripts/hyrax/analytics_events.js +8 -2
- data/app/assets/javascripts/hyrax/autocomplete/linked_data.es6 +1 -3
- data/app/assets/javascripts/hyrax/collections_v2.es6 +13 -0
- data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +1 -3
- data/app/controllers/concerns/hyrax/controller.rb +21 -0
- data/app/controllers/concerns/hyrax/works_controller_behavior.rb +83 -59
- data/app/controllers/hyrax/admin/admin_sets_controller.rb +105 -19
- data/app/controllers/hyrax/admin/permission_template_accesses_controller.rb +12 -19
- data/app/controllers/hyrax/batch_edits_controller.rb +12 -3
- data/app/controllers/hyrax/batch_uploads_controller.rb +4 -0
- data/app/controllers/hyrax/citations_controller.rb +1 -1
- data/app/controllers/hyrax/dashboard/collections_controller.rb +176 -83
- data/app/controllers/hyrax/single_use_links_viewer_controller.rb +1 -1
- data/app/forms/hyrax/forms/administrative_set_form.rb +19 -1
- data/app/forms/hyrax/forms/batch_edit_form.rb +1 -1
- data/app/forms/hyrax/forms/collection_form.rb +1 -1
- data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +21 -6
- data/app/forms/hyrax/forms/pcdm_collection_form.rb +30 -2
- data/app/forms/hyrax/forms/permission_template_form.rb +17 -9
- data/app/forms/hyrax/forms/resource_form.rb +23 -5
- data/app/forms/hyrax/forms/widgets/admin_set_visibility.rb +1 -1
- data/app/helpers/hyrax/collections_helper.rb +14 -0
- data/app/helpers/hyrax/membership_helper.rb +1 -1
- data/app/helpers/hyrax/trophy_helper.rb +1 -1
- data/app/helpers/hyrax/url_helper.rb +1 -1
- data/app/indexers/hyrax/administrative_set_indexer.rb +8 -2
- data/app/indexers/hyrax/deep_indexing_service.rb +1 -1
- data/app/indexers/hyrax/file_set_indexer.rb +1 -0
- data/app/indexers/hyrax/pcdm_collection_indexer.rb +3 -2
- data/app/indexers/hyrax/thumbnail_indexer.rb +31 -0
- data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +6 -6
- data/app/indexers/hyrax/valkyrie_indexer.rb +4 -2
- data/app/indexers/hyrax/valkyrie_work_indexer.rb +13 -0
- data/app/inputs/controlled_vocabulary_input.rb +2 -0
- data/app/jobs/change_depositor_event_job.rb +47 -0
- data/app/jobs/characterize_job.rb +43 -3
- data/app/jobs/concerns/hyrax/members_permission_job_behavior.rb +1 -1
- data/app/jobs/content_depositor_change_event_job.rb +2 -1
- data/app/jobs/hyrax/propagate_change_depositor_job.rb +32 -0
- data/app/jobs/import_url_job.rb +4 -6
- data/app/jobs/inherit_permissions_job.rb +1 -1
- data/app/jobs/valkyrie_create_derivatives_job.rb +25 -0
- data/app/jobs/valkyrie_ingest_job.rb +41 -35
- data/app/models/admin_set.rb +10 -2
- data/app/models/collection_branding_info.rb +8 -6
- data/app/models/concerns/hyrax/collection_behavior.rb +3 -3
- data/app/models/concerns/hyrax/file_set/characterization.rb +7 -1
- data/app/models/concerns/hyrax/solr_document/metadata.rb +1 -0
- data/app/models/concerns/hyrax/solr_document_behavior.rb +9 -3
- 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/administrative_set.rb +36 -1
- data/app/models/hyrax/collection_type.rb +2 -2
- data/app/models/hyrax/file_metadata.rb +37 -3
- data/app/models/hyrax/file_set.rb +43 -4
- data/app/models/hyrax/group.rb +19 -0
- data/app/models/hyrax/pcdm_collection.rb +56 -1
- data/app/models/hyrax/permission_template.rb +11 -5
- data/app/models/hyrax/work.rb +91 -0
- data/app/models/job_io_wrapper.rb +1 -1
- data/app/models/proxy_deposit_request.rb +1 -1
- data/app/presenters/hyrax/admin_set_presenter.rb +2 -2
- data/app/presenters/hyrax/member_presenter_factory.rb +2 -4
- data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +2 -2
- data/app/presenters/hyrax/work_show_presenter.rb +10 -6
- data/app/search_builders/hyrax/dashboard/collections_search_builder.rb +2 -2
- data/app/search_builders/hyrax/dashboard/managed_search_filters.rb +44 -4
- data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +2 -2
- data/app/search_builders/hyrax/my/collections_search_builder.rb +11 -4
- data/app/services/hyrax/access_control_list.rb +20 -6
- data/app/services/hyrax/adapters/nesting_index_adapter.rb +3 -3
- data/app/services/hyrax/admin_set_create_service.rb +21 -37
- data/app/services/hyrax/change_content_depositor_service.rb +2 -2
- data/app/services/hyrax/change_depositor_service.rb +70 -0
- data/app/services/hyrax/characterization/valkyrie_characterization_service.rb +4 -6
- data/app/services/hyrax/collections/collection_member_service.rb +3 -5
- data/app/services/hyrax/collections/nested_collection_query_service.rb +24 -12
- data/app/services/hyrax/custom_queries/navigators/child_file_sets_navigator.rb +45 -0
- data/app/services/hyrax/custom_queries/navigators/child_filesets_navigator.rb +7 -2
- data/app/services/hyrax/custom_queries/navigators/parent_work_navigator.rb +54 -0
- data/app/services/hyrax/default_middleware_stack.rb +3 -0
- data/app/services/hyrax/file_set_derivatives_service.rb +21 -2
- data/app/services/hyrax/file_set_type_service.rb +2 -5
- data/app/services/hyrax/listeners/file_metadata_listener.rb +31 -1
- data/app/services/hyrax/listeners/member_cleanup_listener.rb +27 -11
- data/app/services/hyrax/listeners/metadata_index_listener.rb +39 -0
- data/app/services/hyrax/listeners/proxy_deposit_listener.rb +14 -8
- data/app/services/hyrax/location_service.rb +33 -0
- data/app/services/hyrax/multiple_membership_checker.rb +46 -1
- data/app/services/hyrax/resource_visibility_propagator.rb +1 -1
- data/app/services/hyrax/simple_schema_loader.rb +5 -1
- data/app/services/hyrax/solr_query_service.rb +12 -7
- data/app/services/hyrax/thumbnail_path_service.rb +1 -1
- data/app/services/hyrax/valkyrie_persist_derivatives.rb +50 -0
- data/app/services/hyrax/valkyrie_upload.rb +94 -0
- data/app/services/hyrax/work_uploads_handler.rb +0 -10
- 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/utils/hyrax/data_destroyers/collection_branding_destroyer.rb +29 -0
- data/app/utils/hyrax/data_destroyers/collection_types_destroyer.rb +26 -0
- data/app/utils/hyrax/data_destroyers/default_admin_set_id_cache_destroyer.rb +26 -0
- data/app/utils/hyrax/data_destroyers/featured_works_destroyer.rb +27 -0
- data/app/utils/hyrax/data_destroyers/permission_templates_destroyer.rb +30 -0
- data/app/utils/hyrax/data_destroyers/repository_metadata_destroyer.rb +42 -0
- data/app/utils/hyrax/data_destroyers/stats_destroyer.rb +33 -0
- data/app/utils/hyrax/data_maintenance.rb +51 -0
- data/app/utils/hyrax/required_data_seeder.rb +21 -0
- data/app/utils/hyrax/required_data_seeders/collection_seeder.rb +26 -0
- data/app/utils/hyrax/required_data_seeders/collection_type_seeder.rb +36 -0
- data/app/utils/hyrax/test_data_seeder.rb +24 -0
- data/app/utils/hyrax/test_data_seeders/collection_seeder.rb +91 -0
- data/app/utils/hyrax/test_data_seeders/collection_type_seeder.rb +72 -0
- data/app/utils/hyrax/test_data_seeders/user_seeder.rb +52 -0
- data/app/validators/hyrax/collection_membership_validator.rb +39 -0
- 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/admin/admin_sets/_form_participant_table.html.erb +2 -2
- data/app/views/hyrax/admin/admin_sets/_form_participants.html.erb +2 -2
- data/app/views/hyrax/admin/admin_sets/_form_visibility.html.erb +2 -2
- data/app/views/hyrax/admin/admin_sets/_form_workflow.erb +1 -1
- data/app/views/hyrax/admin/collection_types/index.html.erb +1 -1
- data/app/views/hyrax/base/_form.html.erb +1 -1
- data/app/views/hyrax/base/_form_child_work_relationships.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_default_group.html.erb +2 -2
- data/app/views/hyrax/dashboard/collections/_form.html.erb +24 -17
- data/app/views/hyrax/dashboard/collections/_form_branding.html.erb +1 -0
- data/app/views/hyrax/dashboard/collections/_form_discovery.html.erb +6 -3
- data/app/views/hyrax/dashboard/collections/_form_share.html.erb +2 -2
- data/app/views/hyrax/dashboard/collections/_form_share_table.html.erb +3 -3
- data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +2 -2
- data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +1 -1
- data/app/views/hyrax/dashboard/works/_default_group.html.erb +1 -1
- data/app/views/hyrax/dashboard/works/_list_works.html.erb +1 -1
- data/app/views/hyrax/file_sets/_actions.html.erb +2 -2
- data/app/views/hyrax/my/_facet_pagination.html.erb +12 -9
- data/app/views/hyrax/my/_work_action_menu.html.erb +8 -9
- data/app/views/hyrax/my/collections/_default_group.html.erb +2 -2
- data/app/views/hyrax/my/collections/_list_collections.html.erb +2 -2
- data/app/views/hyrax/my/collections/index.html.erb +3 -2
- data/app/views/hyrax/my/works/_default_group.html.erb +1 -1
- data/app/views/hyrax/my/works/_list_works.html.erb +1 -2
- data/app/views/hyrax/my/works/_tabs.html.erb +6 -1
- data/app/views/hyrax/my/works/index.html.erb +4 -2
- data/chart/hyrax/Chart.yaml +11 -7
- data/chart/hyrax/README.md +22 -1
- 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/listeners.rb +0 -1
- data/config/initializers/{valkryrie_storage.rb → storage_adapter_initializer.rb} +5 -0
- data/config/locales/hyrax.de.yml +18 -17
- data/config/locales/hyrax.en.yml +30 -28
- data/config/locales/hyrax.es.yml +10 -9
- data/config/locales/hyrax.fr.yml +2 -1
- data/config/locales/hyrax.it.yml +3 -2
- data/config/locales/hyrax.pt-BR.yml +2 -1
- data/config/locales/hyrax.zh.yml +2 -1
- data/config/metadata/basic_metadata.yaml +2 -0
- data/config/metadata/core_metadata.yaml +1 -1
- data/docker-compose.yml +47 -42
- 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/administrative_set_name.rb +18 -0
- data/lib/hyrax/collection_name.rb +2 -0
- data/lib/hyrax/configuration.rb +22 -0
- data/lib/hyrax/controlled_vocabularies/location.rb +9 -2
- data/lib/hyrax/controlled_vocabularies/resource_label_caching.rb +42 -0
- data/lib/hyrax/controlled_vocabularies.rb +1 -0
- data/lib/hyrax/publisher.rb +49 -0
- data/lib/hyrax/schema.rb +16 -13
- data/lib/hyrax/specs/capybara.rb +1 -1
- data/lib/hyrax/specs/shared_specs/hydra_works.rb +11 -5
- data/lib/hyrax/specs/shared_specs/indexers.rb +117 -3
- data/lib/hyrax/transactions/admin_set_create.rb +2 -1
- data/lib/hyrax/transactions/admin_set_destroy.rb +22 -0
- data/lib/hyrax/transactions/admin_set_update.rb +21 -0
- data/lib/hyrax/transactions/collection_destroy.rb +22 -0
- data/lib/hyrax/transactions/collection_update.rb +5 -2
- data/lib/hyrax/transactions/container.rb +97 -23
- data/lib/hyrax/transactions/create_work.rb +3 -0
- data/lib/hyrax/transactions/destroy_work.rb +3 -0
- data/lib/hyrax/transactions/steps/apply_collection_permission_template.rb +2 -0
- data/lib/hyrax/transactions/steps/apply_permission_template.rb +2 -0
- data/lib/hyrax/transactions/steps/apply_visibility.rb +2 -0
- data/lib/hyrax/transactions/steps/change_depositor.rb +46 -0
- data/lib/hyrax/transactions/steps/check_for_empty_admin_set.rb +36 -0
- data/lib/hyrax/transactions/steps/delete_access_control.rb +32 -0
- data/lib/hyrax/transactions/steps/delete_resource.rb +19 -3
- data/lib/hyrax/transactions/steps/destroy_work.rb +3 -1
- data/lib/hyrax/transactions/steps/ensure_permission_template.rb +2 -0
- data/lib/hyrax/transactions/steps/save.rb +24 -6
- data/lib/hyrax/transactions/steps/save_access_control.rb +2 -2
- 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/transactions/steps/save_work.rb +3 -0
- data/lib/hyrax/transactions/steps/set_user_as_creator.rb +41 -0
- data/lib/hyrax/transactions/steps/update_work_members.rb +51 -0
- data/lib/hyrax/transactions/update_work.rb +4 -3
- data/lib/hyrax/transactions/work_create.rb +1 -1
- data/lib/hyrax/transactions/work_destroy.rb +2 -1
- data/lib/hyrax/transactions/work_update.rb +19 -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/attribute_transformer.rb +5 -1
- data/lib/wings/services/custom_queries/find_file_metadata.rb +19 -8
- data/lib/wings/setup.rb +3 -1
- data/lib/wings/valkyrie/persister.rb +2 -0
- data/lib/wings/valkyrie/query_service.rb +6 -7
- data/lib/wings/valkyrie/storage.rb +7 -1
- data/template.rb +1 -1
- metadata +99 -12
@@ -1,13 +1,16 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
<%=
|
1
|
+
<div class="prev_next_links btn-group pull-left">
|
2
|
+
<% if @pagination.first_page? %>
|
3
|
+
<span class="disabled btn btn-disabled"><%= raw(t('views.pagination.previous')) %></span>
|
4
|
+
<% else %>
|
5
|
+
<%= link_to_previous_page @pagination, raw(t('views.pagination.previous')), route_set: hyrax, params: search_state.to_h, param_name: Blacklight::Solr::FacetPaginator.request_keys[:page], class: 'btn btn-link', data: {ajax_modal: "preserve"} %>
|
6
|
+
<% end %>
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
<% if @pagination.last_page? %>
|
9
|
+
<span class="disabled btn btn-disabled"><%= raw(t('views.pagination.next')) %></span>
|
10
|
+
<% else %>
|
11
|
+
<%= link_to_next_page @pagination, raw(t('views.pagination.next')), route_set: hyrax, params: search_state.to_h, param_name: Blacklight::Solr::FacetPaginator.request_keys[:page], class: 'btn btn-link', data: {ajax_modal: "preserve"} %>
|
12
|
+
<% end %>
|
13
|
+
</div>
|
11
14
|
|
12
15
|
<div class="sort_options btn-group pull-right">
|
13
16
|
<% if @pagination.sort == 'index' -%>
|
@@ -12,34 +12,33 @@
|
|
12
12
|
|
13
13
|
<% if can? :edit, document.id %>
|
14
14
|
<li role="menuitem" tabindex="-1">
|
15
|
-
<%= link_to [main_app, :edit, document]
|
16
|
-
|
17
|
-
|
15
|
+
<%= link_to [main_app, :edit, document],
|
16
|
+
id: 'action-edit-work' do %>
|
17
|
+
<%= t("hyrax.dashboard.my.action.edit_work") %>
|
18
18
|
<% end %>
|
19
19
|
</li>
|
20
20
|
|
21
21
|
<li role="menuitem" tabindex="-1">
|
22
22
|
<%= link_to [main_app, document],
|
23
23
|
method: :delete,
|
24
|
+
id: 'action-delete-work',
|
24
25
|
data: {
|
25
26
|
confirm: t("hyrax.dashboard.my.action.work_confirmation", application_name: application_name) } do %>
|
26
|
-
|
27
|
-
<span> <%= t("hyrax.dashboard.my.action.delete_work") %> </span>
|
27
|
+
<%= t("hyrax.dashboard.my.action.delete_work") %>
|
28
28
|
<% end %>
|
29
29
|
</li>
|
30
30
|
<% end %>
|
31
31
|
|
32
32
|
<li role="menuitem" tabindex="-1">
|
33
33
|
<%= display_trophy_link(current_user, document.id) do |text| %>
|
34
|
-
|
34
|
+
<%= text %>
|
35
35
|
<% end %>
|
36
36
|
</li>
|
37
37
|
|
38
38
|
<% if can? :transfer, document.id %>
|
39
39
|
<li role="menuitem" tabindex="-1">
|
40
|
-
<%= link_to(hyrax.new_work_transfer_path(document.id), class: 'itemicon itemtransfer', title: t("hyrax.dashboard.my.action.transfer")) do %>
|
41
|
-
|
42
|
-
<span> <%= t("hyrax.dashboard.my.action.transfer") %> </span>
|
40
|
+
<%= link_to(hyrax.new_work_transfer_path(document.id), id: 'action-transfer-work', class: 'itemicon itemtransfer', title: t("hyrax.dashboard.my.action.transfer")) do %>
|
41
|
+
<%= t("hyrax.dashboard.my.action.transfer") %>
|
43
42
|
<% end %>
|
44
43
|
</li>
|
45
44
|
<% end %>
|
@@ -5,9 +5,9 @@
|
|
5
5
|
<th class="check-all"><label for="check_all" class="sr-only"><%= t("hyrax.dashboard.my.sr.check_all_label") %></label><%= render_check_all %></th>
|
6
6
|
<th><%= t("hyrax.dashboard.my.heading.title") %></th>
|
7
7
|
<th><%= t("hyrax.dashboard.my.heading.type") %></th>
|
8
|
-
<th><%= t("hyrax.dashboard.my.heading.collection.visibility") %></th>
|
9
|
-
<th><%= t("hyrax.dashboard.my.heading.items") %></th>
|
10
8
|
<th><%= t("hyrax.dashboard.my.heading.last_modified") %></th>
|
9
|
+
<th><%= t("hyrax.dashboard.my.heading.items") %></th>
|
10
|
+
<th><%= t("hyrax.dashboard.my.heading.collection.visibility") %></th>
|
11
11
|
<th><%= t("hyrax.dashboard.my.heading.action") %></th>
|
12
12
|
</tr>
|
13
13
|
</thead>
|
@@ -60,9 +60,9 @@
|
|
60
60
|
<td class="collection_type">
|
61
61
|
<%= collection_presenter.collection_type_badge %>
|
62
62
|
</td>
|
63
|
-
<td><%= collection_presenter.
|
63
|
+
<td class="date"><%= collection_presenter.modified_date %> </td>
|
64
64
|
<td><%= collection_presenter.total_viewable_items %></td>
|
65
|
-
<td
|
65
|
+
<td><%= collection_presenter.permission_badge %></td>
|
66
66
|
<td>
|
67
67
|
<% if collection_presenter.solr_document.admin_set? %>
|
68
68
|
<%= render '/hyrax/my/admin_set_action_menu', admin_set_presenter: collection_presenter %>
|
@@ -25,6 +25,7 @@
|
|
25
25
|
<% if @collection_type_list_presenter.many? %>
|
26
26
|
<% # modal to select type %>
|
27
27
|
<button type="button"
|
28
|
+
id="add-new-collection-button"
|
28
29
|
class="btn btn-primary"
|
29
30
|
data-toggle="modal"
|
30
31
|
data-target="#collectiontypes-to-create"
|
@@ -33,7 +34,7 @@
|
|
33
34
|
</button>
|
34
35
|
<% else @collection_type_list_presenter.any? %>
|
35
36
|
<% # link directly to create collection form with type %>
|
36
|
-
<%= link_to(t('helpers.action.collection.new'), append_collection_type_url(new_dashboard_collection_path, @collection_type_list_presenter.first_collection_type.id), class: 'btn btn-primary') %>
|
37
|
+
<%= link_to(t('helpers.action.collection.new'), append_collection_type_url(new_dashboard_collection_path, @collection_type_list_presenter.first_collection_type.id), id: 'add-new-collection-button', class: 'btn btn-primary') %>
|
37
38
|
<% end %>
|
38
39
|
<% end %>
|
39
40
|
</section>
|
@@ -46,7 +47,7 @@
|
|
46
47
|
<% elsif current_page?(hyrax.dashboard_collections_path(locale: nil)) && !current_ability.admin? %>
|
47
48
|
<span class="count-display"><%= I18n.t('hyrax.my.count.collections.you_manage', total_count: @response.total_count).html_safe %></span>
|
48
49
|
<% else %>
|
49
|
-
<span class="count-display"><%= I18n.t('hyrax.my.count.collections.in_repo', total_count: @response.total_count).html_safe %></span>
|
50
|
+
<span class="count-display"><%= I18n.t('hyrax.my.count.collections.in_repo', total_count: @response.total_count).html_safe %></span>
|
50
51
|
<% end %>
|
51
52
|
</div>
|
52
53
|
<div class="panel-body">
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<tr>
|
6
6
|
<th class="check-all"><label for="check_all" class="sr-only"><%= t("hyrax.dashboard.my.sr.check_all_label") %></label><%= render_check_all %></th>
|
7
7
|
<th><%= t("hyrax.dashboard.my.heading.title") %></th>
|
8
|
-
<th class='text-center'><%= t("hyrax.dashboard.my.heading.
|
8
|
+
<th class='text-center'><%= t("hyrax.dashboard.my.heading.last_modified") %></th>
|
9
9
|
<th class='text-center'><%= t("hyrax.dashboard.my.heading.highlighted") %></th>
|
10
10
|
<th class='text-center'><%= t("hyrax.dashboard.my.heading.work.visibility") %></th>
|
11
11
|
<th class='text-center'><%= t("hyrax.dashboard.my.heading.action") %></th>
|
@@ -28,8 +28,7 @@
|
|
28
28
|
</div>
|
29
29
|
</div>
|
30
30
|
</td>
|
31
|
-
|
32
|
-
<td class="date text-center"><%= document.date_uploaded %></td>
|
31
|
+
<td class="date text-center"><%= document.date_modified %></td>
|
33
32
|
<td class='text-center'>
|
34
33
|
<span class="fa <%= current_user.trophies.where(work_id: document.id).exists? ? 'fa-star highlighted-work' : 'fa-star-o trophy-off' %>" aria-hidden="true"></span></td>
|
35
34
|
<td class='text-center'><%= render_visibility_link document %></td>
|
@@ -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 %>
|
@@ -30,6 +30,7 @@
|
|
30
30
|
t(:'helpers.action.work.new'),
|
31
31
|
'#',
|
32
32
|
data: { behavior: "select-work", target: "#worktypes-to-create", 'create-type' => 'single' },
|
33
|
+
id: 'add-new-work-button',
|
33
34
|
class: 'btn btn-primary'
|
34
35
|
) %>
|
35
36
|
<% else # simple link to the first work type %>
|
@@ -43,6 +44,7 @@
|
|
43
44
|
<%= link_to(
|
44
45
|
t(:'helpers.action.work.new'),
|
45
46
|
new_polymorphic_path([main_app, @create_work_presenter.first_model]),
|
47
|
+
id: 'add-new-work-button',
|
46
48
|
class: 'btn btn-primary'
|
47
49
|
) %>
|
48
50
|
<% end %>
|
@@ -60,9 +62,9 @@
|
|
60
62
|
<% elsif current_page?(hyrax.dashboard_works_path(locale: nil)) && !current_ability.admin? %>
|
61
63
|
<span class="count-display"><%= I18n.t('hyrax.my.count.works.you_manage', total_count: @response.total_count).html_safe %></span>
|
62
64
|
<% else %>
|
63
|
-
<span class="count-display"><%= I18n.t('hyrax.my.count.works.in_repo', total_count: @response.total_count).html_safe %></span>
|
65
|
+
<span class="count-display"><%= I18n.t('hyrax.my.count.works.in_repo', total_count: @response.total_count).html_safe %></span>
|
64
66
|
<% end %>
|
65
|
-
</div>
|
67
|
+
</div>
|
66
68
|
<div class="panel-body">
|
67
69
|
<%= render 'search_header' %>
|
68
70
|
<h2 class="sr-only"><%= t('hyrax.my.count.works.works_listing') %></h2>
|
data/chart/hyrax/Chart.yaml
CHANGED
@@ -2,8 +2,8 @@ apiVersion: v2
|
|
2
2
|
name: hyrax
|
3
3
|
description: An open-source, Samvera-powered digital repository system
|
4
4
|
type: application
|
5
|
-
version: 1.
|
6
|
-
appVersion: 3.
|
5
|
+
version: 1.5.1
|
6
|
+
appVersion: 3.3.0
|
7
7
|
dependencies:
|
8
8
|
- name: fcrepo
|
9
9
|
version: 0.8.0
|
@@ -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
|
data/chart/hyrax/README.md
CHANGED
@@ -116,7 +116,7 @@ Then update the helm charts with the following:
|
|
116
116
|
HELM_EXPERIMENTAL_OCI=1 helm dependency update chart/hyrax
|
117
117
|
```
|
118
118
|
|
119
|
-
|
119
|
+
If your `helm` version is before 3.8, without the `HELM_EXPERIMENTAL_OCI=1` switch you might see the following error:
|
120
120
|
|
121
121
|
```sh
|
122
122
|
repository oci://ghcr.io/samvera is an OCI registry: this feature has been marked as experimental and is not enabled by default. Please set HELM_EXPERIMENTAL_OCI=1 in your environment to use this feature”
|
@@ -142,6 +142,27 @@ Some shell commands of house cleaning and destruction:
|
|
142
142
|
* Remove hanging docker instances: `docker rm $(docker ps -a -q) -f`
|
143
143
|
* Removing dangling docker images: `docker rmi $(docker images -f "dangling=true" -q)`
|
144
144
|
|
145
|
+
## Building and Pushing the Chart Package
|
146
|
+
|
147
|
+
We currently build and push new chart versions manually. This needs to happen
|
148
|
+
any time the chart version in [`Chart.yaml`](./Chart.yaml) is incremented.
|
149
|
+
|
150
|
+
To publish the Hyrax chart, you'll need to be in one of the GitHub groups with
|
151
|
+
push permissions. These groups are:
|
152
|
+
|
153
|
+
- `@samvera/admins`
|
154
|
+
- `@samvera/hyrax` (and all its subgroups)
|
155
|
+
|
156
|
+
To build the package, it's helpful to have a clean checkout of the current
|
157
|
+
`main` branch, then:
|
158
|
+
|
159
|
+
```sh
|
160
|
+
HELM_EXPERIMENTAL_OCI=1 helm dependency update chart/hyrax
|
161
|
+
HELM_EXPERIMENTAL_OCI=1 helm package chart/hyrax
|
162
|
+
HELM_EXPERIMENTAL_OCI=1 helm push hyrax-[VERSION].tgz oci://ghcr.io/samvera/charts
|
163
|
+
```
|
164
|
+
|
165
|
+
|
145
166
|
[containers]: ../../CONTAINERS.md#hyrax-image
|
146
167
|
[dassie]: ../../.dassie/README.md
|
147
168
|
[dassie-image]: https://hub.docker.com/r/samveralabs/dassie
|
@@ -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
|
@@ -9,7 +9,6 @@ Hyrax.publisher.subscribe(Hyrax::Listeners::FileSetLifecycleNotificationListener
|
|
9
9
|
Hyrax.publisher.subscribe(Hyrax::Listeners::MemberCleanupListener.new)
|
10
10
|
Hyrax.publisher.subscribe(Hyrax::Listeners::MetadataIndexListener.new)
|
11
11
|
Hyrax.publisher.subscribe(Hyrax::Listeners::ObjectLifecycleListener.new)
|
12
|
-
Hyrax.publisher.subscribe(Hyrax::Listeners::ProxyDepositListener.new)
|
13
12
|
Hyrax.publisher.subscribe(Hyrax::Listeners::TrophyCleanupListener.new)
|
14
13
|
Hyrax.publisher.subscribe(Hyrax::Listeners::WorkflowListener.new)
|
15
14
|
|