hyrax 3.4.1 → 4.0.0.beta1
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 +41 -52
- data/.dassie/.env +1 -1
- data/.dassie/Gemfile +4 -4
- data/.dassie/app/assets/javascripts/application.js +8 -4
- data/.dassie/app/assets/stylesheets/application.css +1 -1
- data/.dassie/app/assets/stylesheets/hyrax.scss +1 -2
- data/.dassie/app/controllers/application_controller.rb +1 -3
- data/.dassie/app/controllers/catalog_controller.rb +23 -19
- 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/app/models/user.rb +0 -3
- data/.dassie/config/application.rb +1 -1
- data/.dassie/config/initializers/file_services.rb +4 -0
- data/.dassie/config/initializers/hyrax.rb +2 -1
- data/.dassie/config/initializers/riiif.rb +1 -1
- data/.dassie/config/metadata/collection_resource.yaml +23 -0
- data/.dassie/db/schema.rb +5 -5
- data/.dassie/db/seeds.rb +2 -0
- data/.dassie/package.json +7 -7
- 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/.engine_cart.yml +2 -39
- data/.env +1 -0
- data/.regen +2 -1
- data/.rubocop.yml +1 -1
- data/.rubocop_fixme.yml +19 -2
- data/CONTAINERS.md +18 -13
- data/CONTRIBUTING.md +22 -24
- data/Dockerfile +2 -2
- data/Rakefile +0 -4
- data/app/actors/hyrax/actors/base_actor.rb +1 -1
- data/app/actors/hyrax/actors/create_with_remote_files_actor.rb +5 -11
- data/app/actors/hyrax/actors/file_actor.rb +9 -37
- data/app/actors/hyrax/actors/file_set_actor.rb +13 -62
- data/app/assets/javascripts/hyrax/app.js.erb +1 -1
- data/app/assets/javascripts/hyrax/batch.js +2 -2
- data/app/assets/javascripts/hyrax/batch_edit.js +4 -4
- data/app/assets/javascripts/hyrax/batch_select_all.js +13 -13
- data/app/assets/javascripts/hyrax/browse_everything.js +4 -2
- data/app/assets/javascripts/hyrax/collection_types.es6 +1 -1
- data/app/assets/javascripts/hyrax/collections/editor.es6 +5 -1
- data/app/assets/javascripts/hyrax/collections_v2.es6 +13 -0
- data/app/assets/javascripts/hyrax/dashboard_actions.js +5 -5
- data/app/assets/javascripts/hyrax/editor/controlled_vocabulary.es6 +3 -3
- data/app/assets/javascripts/hyrax/editor.es6 +3 -3
- data/app/assets/javascripts/hyrax/facets.js +6 -4
- data/app/assets/javascripts/hyrax/file_manager/member.es6 +1 -1
- data/app/assets/javascripts/hyrax/file_manager/save_manager.es6 +2 -2
- data/app/assets/javascripts/hyrax/file_manager/sorting.es6 +2 -2
- data/app/assets/javascripts/hyrax/file_manager.es6 +2 -17
- data/app/assets/javascripts/hyrax/notification.es6 +1 -1
- data/app/assets/javascripts/hyrax/permissions/registry.es6 +4 -4
- data/app/assets/javascripts/hyrax/permissions/user_controls.es6 +3 -1
- data/app/assets/javascripts/hyrax/relationships/confirm_remove_dialog.es6 +1 -1
- data/app/assets/javascripts/hyrax/relationships/control.es6 +2 -2
- data/app/assets/javascripts/hyrax/relationships/registry_entry.es6 +1 -1
- data/app/assets/javascripts/hyrax/reports-buttons.js +9 -9
- data/app/assets/javascripts/hyrax/save_work/required_fields.es6 +1 -1
- data/app/assets/javascripts/hyrax/save_work/save_work_control.es6 +6 -6
- data/app/assets/javascripts/hyrax/save_work/uploaded_files.es6 +2 -2
- data/app/assets/javascripts/hyrax/single_use_links_manager.js +1 -1
- data/app/assets/javascripts/hyrax/skip_to_content.js +1 -1
- data/app/assets/javascripts/hyrax/sorting.js +1 -1
- data/app/assets/javascripts/hyrax/trophy.js +1 -1
- data/app/assets/javascripts/hyrax/uploader.js +3 -3
- data/app/assets/javascripts/hyrax.js +1 -19
- data/app/assets/stylesheets/_bootstrap-default-overrides.scss +4 -4
- data/app/assets/stylesheets/hyrax/_accessibility.scss +1 -1
- data/app/assets/stylesheets/hyrax/_badge.scss +7 -0
- data/app/assets/stylesheets/hyrax/_batch-edit.scss +8 -8
- data/app/assets/stylesheets/hyrax/_browse_everything_overrides.scss +1 -1
- data/app/assets/stylesheets/hyrax/_buttons.scss +31 -1
- data/app/assets/stylesheets/hyrax/_card.scss +10 -0
- data/app/assets/stylesheets/hyrax/_catalog.scss +22 -48
- data/app/assets/stylesheets/hyrax/_collection_types.scss +1 -1
- data/app/assets/stylesheets/hyrax/_collections.scss +13 -13
- data/app/assets/stylesheets/hyrax/_facets.scss +46 -0
- data/app/assets/stylesheets/hyrax/_featured.scss +1 -1
- data/app/assets/stylesheets/hyrax/_file-listing.scss +3 -3
- data/app/assets/stylesheets/hyrax/_file_manager.scss +17 -17
- data/app/assets/stylesheets/hyrax/_file_sets.scss +1 -1
- data/app/assets/stylesheets/hyrax/_file_upload.scss +4 -4
- data/app/assets/stylesheets/hyrax/_fixedsticky.scss +1 -1
- data/app/assets/stylesheets/hyrax/_footer.scss +3 -3
- data/app/assets/stylesheets/hyrax/_form-progress.scss +9 -9
- data/app/assets/stylesheets/hyrax/_form.scss +3 -4
- data/app/assets/stylesheets/hyrax/_forms.scss +62 -29
- data/app/assets/stylesheets/hyrax/_header.scss +0 -17
- data/app/assets/stylesheets/hyrax/_home-page.scss +13 -51
- data/app/assets/stylesheets/hyrax/_html.scss +11 -0
- data/app/assets/stylesheets/hyrax/_hyrax.scss +16 -14
- data/app/assets/stylesheets/hyrax/_nestable.scss +1 -1
- data/app/assets/stylesheets/hyrax/_select_work_type.scss +2 -2
- data/app/assets/stylesheets/hyrax/_styles.scss +9 -14
- data/app/assets/stylesheets/hyrax/_users.scss +2 -2
- data/app/assets/stylesheets/hyrax/_variables.scss +20 -1
- data/app/assets/stylesheets/hyrax/_work-show.scss +21 -13
- data/app/assets/stylesheets/hyrax/blacklight_gallery.scss +75 -2
- data/app/assets/stylesheets/hyrax/dashboard.scss +70 -95
- data/app/assets/stylesheets/hyrax/sidebar.scss +39 -19
- data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +10 -3
- data/app/controllers/concerns/hyrax/works_controller_behavior.rb +4 -9
- data/app/controllers/hyrax/batch_edits_controller.rb +1 -1
- data/app/controllers/hyrax/dashboard/collections_controller.rb +159 -75
- data/app/controllers/hyrax/dashboard/nest_collections_controller.rb +0 -32
- data/app/controllers/hyrax/file_sets_controller.rb +3 -0
- data/app/controllers/hyrax/homepage_controller.rb +0 -1
- data/app/controllers/hyrax/my_controller.rb +0 -6
- data/app/controllers/hyrax/single_use_links_controller.rb +1 -2
- data/app/controllers/hyrax/single_use_links_viewer_controller.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/helpers/hyrax/facets_helper.rb +150 -0
- data/app/helpers/hyrax/hyrax_helper_behavior.rb +5 -5
- data/app/indexers/hyrax/basic_metadata_indexer.rb +3 -9
- data/app/indexers/hyrax/pcdm_collection_indexer.rb +0 -1
- data/app/jobs/characterize_job.rb +3 -2
- data/app/jobs/create_derivatives_job.rb +4 -2
- data/app/jobs/import_url_job.rb +4 -6
- data/app/jobs/ingest_local_file_job.rb +5 -13
- data/app/jobs/inherit_permissions_job.rb +1 -5
- data/app/jobs/valkyrie_ingest_job.rb +15 -77
- data/app/models/concerns/hyrax/collection_behavior.rb +2 -2
- data/app/models/concerns/hyrax/file_set_behavior.rb +1 -1
- data/app/models/concerns/hyrax/in_admin_set.rb +0 -7
- data/app/models/concerns/hyrax/user.rb +14 -3
- data/app/models/concerns/hyrax/work_behavior.rb +1 -2
- data/app/models/content_block.rb +0 -6
- data/app/models/featured_work_list.rb +0 -1
- data/app/models/hyrax/file_metadata.rb +33 -3
- 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/hyrax/permission_template.rb +0 -35
- data/app/models/job_io_wrapper.rb +1 -1
- data/app/presenters/hyrax/admin/repository_object_presenter.rb +0 -2
- data/app/presenters/hyrax/collapsable_section_presenter.rb +2 -2
- data/app/presenters/hyrax/collection_presenter.rb +1 -1
- data/app/presenters/hyrax/fixity_status_presenter.rb +2 -2
- data/app/presenters/hyrax/member_presenter_factory.rb +2 -4
- data/app/presenters/hyrax/menu_presenter.rb +1 -1
- data/app/presenters/hyrax/permission_badge.rb +7 -7
- data/app/presenters/hyrax/work_show_presenter.rb +3 -3
- data/app/presenters/hyrax/workflow_presenter.rb +1 -1
- data/app/renderers/hyrax/renderers/external_link_attribute_renderer.rb +1 -1
- data/app/search_builders/hyrax/deposit_search_builder.rb +1 -1
- data/app/search_builders/hyrax/nested_collections_parent_search_builder.rb +10 -1
- data/app/search_builders/hyrax/single_result.rb +1 -1
- data/app/search_builders/hyrax/stats/work_status_search_builder.rb +1 -1
- data/app/services/hyrax/access_control_list.rb +7 -6
- data/app/services/hyrax/adapters/nesting_index_adapter.rb +4 -4
- data/app/services/hyrax/characterization/valkyrie_characterization_service.rb +3 -5
- data/app/services/hyrax/collection_member_service.rb +1 -2
- data/app/services/hyrax/collections/collection_member_service.rb +3 -5
- data/app/services/hyrax/collections/search_service.rb +0 -1
- data/app/services/hyrax/custom_queries.rb +25 -0
- data/app/services/hyrax/file_set_csv_service.rb +1 -1
- data/app/services/hyrax/graph_exporter.rb +3 -8
- data/app/services/hyrax/iiif_authorization_service.rb +1 -1
- 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/search_service.rb +1 -81
- data/app/services/hyrax/statistics/depositors/summary.rb +1 -3
- data/app/services/hyrax/valkyrie_persist_derivatives.rb +50 -0
- data/app/services/hyrax/valkyrie_upload.rb +106 -0
- data/app/services/hyrax/work_query_service.rb +1 -1
- data/app/services/hyrax/workflow/workflow_importer.rb +7 -9
- data/app/services/hyrax/workflow/workflow_schema.rb +3 -5
- data/app/services/hyrax/working_directory.rb +2 -0
- 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/_controls.html.erb +14 -18
- data/app/views/_logo.html.erb +0 -1
- data/app/views/_masthead.html.erb +8 -18
- data/app/views/_user_util_links.html.erb +16 -18
- data/app/views/catalog/_document.html.erb +2 -2
- data/app/views/catalog/_document_list.html.erb +1 -1
- data/app/views/catalog/_facet_limit.html.erb +1 -1
- data/app/views/catalog/_index_gallery_collection_wrapper.html.erb +1 -1
- data/app/views/catalog/_index_header_list_collection.html.erb +2 -2
- data/app/views/catalog/_index_header_list_default.html.erb +9 -2
- data/app/views/catalog/_index_list_default.html.erb +7 -5
- data/app/views/catalog/_search_form.html.erb +13 -15
- data/app/views/catalog/_thumbnail_list_collection.html.erb +2 -2
- data/app/views/catalog/_thumbnail_list_default.html.erb +9 -4
- data/app/views/catalog/facet.html.erb +21 -0
- data/app/views/catalog/index.html.erb +6 -4
- data/app/views/collections/edit_fields/_based_near.html.erb +7 -7
- data/app/views/hyrax/admin/admin_sets/_form.html.erb +16 -16
- data/app/views/hyrax/admin/admin_sets/_form_participant_table.html.erb +35 -33
- data/app/views/hyrax/admin/admin_sets/_form_participants.html.erb +9 -8
- data/app/views/hyrax/admin/admin_sets/_form_visibility.html.erb +24 -24
- data/app/views/hyrax/admin/admin_sets/_form_workflow.erb +5 -5
- data/app/views/hyrax/admin/admin_sets/_show_actions.html.erb +3 -3
- data/app/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb +9 -9
- data/app/views/hyrax/admin/admin_sets/index.html.erb +3 -3
- data/app/views/hyrax/admin/admin_sets/show.html.erb +4 -4
- data/app/views/hyrax/admin/analytics/_date_range_form.html.erb +3 -3
- data/app/views/hyrax/admin/analytics/collection_reports/_custom_range.html.erb +3 -3
- data/app/views/hyrax/admin/analytics/collection_reports/_monthly_summary.html.erb +3 -3
- data/app/views/hyrax/admin/analytics/collection_reports/_summary.html.erb +3 -3
- data/app/views/hyrax/admin/analytics/collection_reports/_top_collections.html.erb +7 -7
- data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +6 -6
- data/app/views/hyrax/admin/analytics/collection_reports/show.html.erb +10 -10
- data/app/views/hyrax/admin/analytics/work_reports/_custom_range.html.erb +3 -3
- data/app/views/hyrax/admin/analytics/work_reports/_monthly_summary.html.erb +3 -3
- data/app/views/hyrax/admin/analytics/work_reports/_summary.html.erb +3 -3
- data/app/views/hyrax/admin/analytics/work_reports/_top_file_set_downloads.html.erb +5 -5
- data/app/views/hyrax/admin/analytics/work_reports/_top_works.html.erb +7 -7
- data/app/views/hyrax/admin/analytics/work_reports/_work_counts.html.erb +4 -4
- data/app/views/hyrax/admin/analytics/work_reports/_work_files.html.erb +5 -5
- data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +7 -7
- data/app/views/hyrax/admin/analytics/work_reports/show.html.erb +10 -10
- data/app/views/hyrax/admin/appearances/show.html.erb +2 -2
- data/app/views/hyrax/admin/collection_types/_form.html.erb +24 -23
- data/app/views/hyrax/admin/collection_types/_form_appearance.html.erb +2 -2
- data/app/views/hyrax/admin/collection_types/_form_participants.html.erb +4 -4
- data/app/views/hyrax/admin/collection_types/_form_settings.html.erb +9 -9
- data/app/views/hyrax/admin/collection_types/index.html.erb +6 -6
- data/app/views/hyrax/admin/features/index.html.erb +3 -3
- data/app/views/hyrax/admin/stats/_new_users.html.erb +1 -1
- data/app/views/hyrax/admin/stats/show.html.erb +4 -6
- data/app/views/hyrax/admin/users/index.html.erb +3 -3
- data/app/views/hyrax/admin/workflow_roles/index.html.erb +8 -8
- data/app/views/hyrax/admin/workflows/index.html.erb +13 -13
- data/app/views/hyrax/base/_citations.html.erb +6 -6
- data/app/views/hyrax/base/_currently_shared.html.erb +3 -3
- data/app/views/hyrax/base/_file_manager_actions.html.erb +5 -3
- data/app/views/hyrax/base/_file_manager_member.html.erb +5 -5
- data/app/views/hyrax/base/_file_manager_member_resource_options.html.erb +6 -6
- data/app/views/hyrax/base/_file_manager_members.html.erb +1 -1
- data/app/views/hyrax/base/_file_manager_thumbnail.html.erb +1 -1
- data/app/views/hyrax/base/_form_child_work_relationships.html.erb +3 -3
- data/app/views/hyrax/base/_form_files.html.erb +9 -9
- data/app/views/hyrax/base/_form_member_of_collections.html.erb +3 -3
- data/app/views/hyrax/base/_form_metadata.html.erb +1 -1
- data/app/views/hyrax/base/_form_permission.html.erb +30 -20
- data/app/views/hyrax/base/_form_permission_under_embargo.html.erb +1 -1
- data/app/views/hyrax/base/_form_permission_under_lease.html.erb +1 -1
- data/app/views/hyrax/base/_form_progress.html.erb +6 -6
- data/app/views/hyrax/base/_form_relationships.html.erb +1 -1
- data/app/views/hyrax/base/_form_rendering.html.erb +1 -1
- data/app/views/hyrax/base/_form_representative.html.erb +1 -1
- data/app/views/hyrax/base/_form_share.html.erb +6 -6
- data/app/views/hyrax/base/_form_thumbnail.html.erb +1 -1
- data/app/views/hyrax/base/_form_visibility_component.html.erb +15 -15
- data/app/views/hyrax/base/_guts4form.html.erb +12 -20
- data/app/views/hyrax/base/_member.html.erb +1 -1
- data/app/views/hyrax/base/_metadata.html.erb +1 -1
- data/app/views/hyrax/base/_show_actions.html.erb +9 -9
- data/app/views/hyrax/base/_work_button_row.html.erb +16 -15
- data/app/views/hyrax/base/_workflow_actions.html.erb +10 -10
- data/app/views/hyrax/base/_workflow_actions_widget.erb +1 -1
- data/app/views/hyrax/base/file_manager.html.erb +4 -5
- data/app/views/hyrax/base/inspect_work.html.erb +1 -1
- data/app/views/hyrax/base/show.html.erb +12 -12
- data/app/views/hyrax/base/unavailable.html.erb +2 -2
- data/app/views/hyrax/batch_edits/_check_all.html.erb +0 -1
- data/app/views/hyrax/batch_edits/_delete_selected.html.erb +1 -1
- data/app/views/hyrax/batch_edits/edit.html.erb +26 -18
- data/app/views/hyrax/collections/_bookmark_control.html.erb +2 -2
- data/app/views/hyrax/collections/_list_collections.html.erb +6 -6
- data/app/views/hyrax/collections/_list_works.html.erb +3 -1
- data/app/views/hyrax/collections/_search_form.html.erb +4 -4
- data/app/views/hyrax/collections/_show_document_list_row.html.erb +5 -2
- data/app/views/hyrax/collections/_sort_and_per_page.html.erb +3 -3
- data/app/views/hyrax/collections/_view_type_group.html.erb +2 -2
- data/app/views/hyrax/contact_form/new.html.erb +12 -13
- data/app/views/hyrax/content_blocks/_form.html.erb +29 -23
- data/app/views/hyrax/content_blocks/templates/agreement.html.erb +3 -3
- data/app/views/hyrax/dashboard/_admin_sets.html.erb +22 -28
- data/app/views/hyrax/dashboard/_index_partials/_current_proxy_rights.html.erb +2 -2
- data/app/views/hyrax/dashboard/_index_partials/_proxy_rights.html.erb +4 -4
- data/app/views/hyrax/dashboard/_index_partials/_transfers.html.erb +2 -2
- data/app/views/hyrax/dashboard/_repository_growth.html.erb +28 -28
- data/app/views/hyrax/dashboard/_resource_type_graph.html.erb +4 -4
- data/app/views/hyrax/dashboard/_sidebar.html.erb +3 -3
- data/app/views/hyrax/dashboard/_tabs.html.erb +6 -2
- data/app/views/hyrax/dashboard/_user_activity.html.erb +22 -19
- data/app/views/hyrax/dashboard/_visibility_graph.html.erb +4 -4
- data/app/views/hyrax/dashboard/_work_type_graph.html.erb +4 -4
- data/app/views/hyrax/dashboard/collections/_batch_edits_actions.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_bookmark_control.html.erb +2 -2
- data/app/views/hyrax/dashboard/collections/_edit_actions.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_form.html.erb +33 -24
- data/app/views/hyrax/dashboard/collections/_form_branding.html.erb +20 -19
- data/app/views/hyrax/dashboard/collections/_form_discovery.html.erb +8 -4
- data/app/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb +7 -7
- data/app/views/hyrax/dashboard/collections/_form_share.html.erb +11 -9
- data/app/views/hyrax/dashboard/collections/_form_share_table.html.erb +34 -31
- data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_list_works.html.erb +3 -1
- data/app/views/hyrax/dashboard/collections/_modal_remove_from_collection.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_modal_remove_sub_collection.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_show_add_items_actions.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_show_descriptions.html.erb +5 -3
- data/app/views/hyrax/dashboard/collections/_show_document_list_menu.html.erb +4 -4
- data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +12 -10
- data/app/views/hyrax/dashboard/collections/_show_parent_collection_row.html.erb +2 -2
- data/app/views/hyrax/dashboard/collections/_sort_and_per_page.html.erb +4 -4
- data/app/views/hyrax/dashboard/collections/_subcollection_list.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_work_action_menu.html.erb +10 -10
- data/app/views/hyrax/dashboard/collections/show.html.erb +4 -4
- data/app/views/hyrax/dashboard/profiles/_edit_primary.html.erb +21 -21
- data/app/views/hyrax/dashboard/profiles/_trophy_edit.html.erb +5 -5
- data/app/views/hyrax/dashboard/profiles/_zotero.html.erb +2 -2
- data/app/views/hyrax/dashboard/profiles/edit.html.erb +2 -2
- data/app/views/hyrax/dashboard/profiles/show.html.erb +3 -3
- data/app/views/hyrax/dashboard/show_admin.html.erb +36 -34
- data/app/views/hyrax/dashboard/show_user.html.erb +16 -16
- data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +11 -11
- data/app/views/hyrax/dashboard/sidebar/_configuration.html.erb +8 -8
- data/app/views/hyrax/dashboard/sidebar/_repository_content.html.erb +3 -1
- data/app/views/hyrax/dashboard/sidebar/_tasks.html.erb +5 -1
- data/app/views/hyrax/dashboard/works/_list_works.html.erb +4 -1
- data/app/views/hyrax/depositors/index.html.erb +2 -2
- data/app/views/hyrax/embargoes/edit.html.erb +11 -11
- data/app/views/hyrax/embargoes/index.html.erb +18 -6
- data/app/views/hyrax/file_sets/_actions.html.erb +5 -6
- data/app/views/hyrax/file_sets/_descriptions.html.erb +1 -1
- data/app/views/hyrax/file_sets/_extra_fields_modal.html.erb +1 -1
- data/app/views/hyrax/file_sets/_form.html.erb +1 -1
- data/app/views/hyrax/file_sets/_permission_form.html.erb +33 -29
- data/app/views/hyrax/file_sets/_show_actions.html.erb +2 -2
- data/app/views/hyrax/file_sets/_show_details.html.erb +27 -17
- data/app/views/hyrax/file_sets/_single_use_link_rows.html.erb +2 -2
- data/app/views/hyrax/file_sets/_single_use_links.html.erb +2 -2
- data/app/views/hyrax/file_sets/_versioning.html.erb +9 -9
- data/app/views/hyrax/file_sets/edit.html.erb +17 -11
- data/app/views/hyrax/file_sets/media_display/_image.html.erb +4 -4
- data/app/views/hyrax/file_sets/show.html.erb +2 -2
- data/app/views/hyrax/homepage/_announcement.html.erb +2 -2
- data/app/views/hyrax/homepage/_explore_collections.html.erb +6 -4
- data/app/views/hyrax/homepage/_featured_fields.html.erb +1 -1
- data/app/views/hyrax/homepage/_featured_works.html.erb +1 -1
- data/app/views/hyrax/homepage/_home_content.html.erb +24 -10
- data/app/views/hyrax/homepage/_marketing.html.erb +1 -1
- data/app/views/hyrax/homepage/_recent_document.html.erb +4 -1
- data/app/views/hyrax/homepage/_sortable_featured.html.erb +3 -3
- data/app/views/hyrax/homepage/index.html.erb +4 -4
- data/app/views/hyrax/leases/edit.html.erb +11 -11
- data/app/views/hyrax/leases/index.html.erb +18 -6
- data/app/views/hyrax/my/_admin_set_action_menu.html.erb +5 -5
- data/app/views/hyrax/my/_collection_action_menu.html.erb +6 -6
- data/app/views/hyrax/my/_constraints.html.erb +2 -2
- data/app/views/hyrax/my/_document_list.html.erb +1 -1
- data/app/views/hyrax/my/_facet_layout.html.erb +1 -2
- data/app/views/hyrax/my/_facet_limit.html.erb +4 -4
- data/app/views/hyrax/my/_facet_pagination.html.erb +1 -25
- data/app/views/hyrax/my/_facet_pivot.html.erb +1 -1
- data/app/views/hyrax/my/_facet_selected.html.erb +1 -1
- data/app/views/hyrax/my/_search_form.html.erb +7 -8
- data/app/views/hyrax/my/_sort_and_per_page.html.erb +10 -12
- data/app/views/hyrax/my/_work_action_menu.html.erb +4 -5
- data/app/views/hyrax/my/collections/_facets.html.erb +2 -2
- data/app/views/hyrax/my/collections/_list_collections.html.erb +1 -1
- data/app/views/hyrax/my/collections/_modal_add_subcollection.html.erb +2 -2
- data/app/views/hyrax/my/collections/_modal_add_to_collection.html.erb +2 -2
- data/app/views/hyrax/my/collections/_modal_collection_types_to_create.html.erb +5 -5
- data/app/views/hyrax/my/collections/_modal_delete_collection.html.erb +1 -1
- data/app/views/hyrax/my/collections/_modal_delete_empty_collection.html.erb +1 -1
- data/app/views/hyrax/my/collections/_modal_delete_selected_collections.html.erb +1 -1
- data/app/views/hyrax/my/collections/_tabs.html.erb +11 -4
- data/app/views/hyrax/my/collections/index.html.erb +3 -3
- data/app/views/hyrax/my/facet.html.erb +17 -16
- data/app/views/hyrax/my/index.html.erb +2 -2
- data/app/views/hyrax/my/works/_batch_actions.html.erb +1 -1
- data/app/views/hyrax/my/works/_facets.html.erb +2 -2
- data/app/views/hyrax/my/works/_list_works.html.erb +6 -7
- data/app/views/hyrax/my/works/_tabs.html.erb +9 -4
- data/app/views/hyrax/my/works/index.html.erb +20 -18
- data/app/views/hyrax/notifications/_notifications.html.erb +1 -1
- data/app/views/hyrax/notifications/index.html.erb +4 -4
- data/app/views/hyrax/operations/index.html.erb +1 -1
- data/app/views/hyrax/operations/show.html.erb +2 -2
- data/app/views/hyrax/pages/_form.html.erb +76 -64
- data/app/views/hyrax/permissions/confirm.html.erb +4 -4
- data/app/views/hyrax/permissions/confirm_access.html.erb +4 -4
- data/app/views/hyrax/stats/file.html.erb +1 -1
- data/app/views/hyrax/stats/work.html.erb +1 -1
- data/app/views/hyrax/transfers/_received.html.erb +4 -4
- data/app/views/hyrax/transfers/index.html.erb +8 -8
- data/app/views/hyrax/uploads/_js_templates.html.erb +14 -14
- data/app/views/hyrax/uploads/_js_templates_branding.html.erb +5 -5
- data/app/views/hyrax/uploads/_js_templates_versioning.html.erb +15 -15
- data/app/views/hyrax/users/_activity.html.erb +3 -3
- data/app/views/hyrax/users/_contributions.html.erb +3 -3
- data/app/views/hyrax/users/_left_sidebar.html.erb +1 -1
- data/app/views/hyrax/users/_profile_tabs.html.erb +16 -8
- data/app/views/hyrax/users/_search_form.html.erb +2 -2
- data/app/views/hyrax/users/_user.html.erb +5 -5
- data/app/views/hyrax/users/_user_info.html.erb +4 -4
- data/app/views/hyrax/users/_vitals.html.erb +3 -3
- data/app/views/hyrax/users/show.html.erb +2 -2
- data/app/views/layouts/hyrax/dashboard.html.erb +4 -4
- data/app/views/layouts/hyrax.html.erb +4 -3
- data/app/views/shared/_appearance_styles.html.erb +8 -8
- data/app/views/shared/_footer.html.erb +1 -1
- data/app/views/shared/_locale_picker.html.erb +5 -8
- data/app/views/shared/_nav_safety_modal.html.erb +2 -2
- data/app/views/shared/_select_work_type_modal.html.erb +2 -2
- 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 +16 -16
- data/config/locales/hyrax.en.yml +4 -4
- data/config/locales/hyrax.es.yml +6 -6
- data/config/locales/hyrax.fr.yml +7 -7
- data/config/locales/hyrax.it.yml +6 -6
- data/config/locales/hyrax.pt-BR.yml +6 -6
- data/config/locales/hyrax.zh.yml +6 -6
- data/docker-compose.yml +3 -1
- data/documentation/developing-your-hyrax-based-app.md +1 -1
- data/documentation/legacyREADME.md +1 -1
- data/hyrax.gemspec +15 -22
- data/karma.conf.js +104 -0
- data/lib/generators/hyrax/assets_generator.rb +2 -5
- 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 -24
- data/lib/generators/hyrax/templates/catalog_controller.rb +20 -13
- data/lib/generators/hyrax/templates/config/initializers/riiif.rb +1 -1
- 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.pt-BR.yml +1 -1
- data/lib/generators/hyrax/templates/config/locales/hyrax.zh.yml +1 -1
- data/lib/generators/hyrax/templates/hyrax.scss +1 -2
- data/lib/generators/hyrax/templates/package.json +7 -8
- data/lib/hyrax/configuration.rb +12 -40
- data/lib/hyrax/engine.rb +1 -2
- data/lib/hyrax/specs/capybara.rb +5 -3
- 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 -54
- 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/valkyrie/indexing/solr/indexing_adapter.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/persister.rb +2 -1
- data/lib/wings/valkyrie/query_service.rb +4 -6
- data/package.json +11 -0
- data/tasks/hyrax_dev.rake +32 -0
- data/template.rb +1 -1
- data/vendor/assets/javascripts/dataTables.bootstrap4.js +184 -0
- data/vendor/assets/javascripts/fileupload/jquery.fileupload-ui.js +1 -1
- data/vendor/assets/javascripts/fileupload/jquery.fileupload.js +2 -2
- data/vendor/assets/javascripts/fileupload/jquery.iframe-transport.js +1 -1
- data/vendor/assets/javascripts/handlebars.js +5214 -0
- data/vendor/assets/javascripts/jquery-ui.js +19057 -0
- data/vendor/assets/javascripts/jquery.dataTables.js +15336 -0
- data/vendor/assets/javascripts/morris/morris.min.js +9 -1
- data/vendor/assets/javascripts/morris/raphael-min.js +4 -6
- data/vendor/assets/javascripts/nestable.js +1 -1
- data/vendor/assets/stylesheets/dataTables.bootstrap4.css +307 -0
- data/vendor/assets/stylesheets/jquery-ui.css +1315 -0
- data/vendor/assets/stylesheets/morris.css +3 -0
- metadata +126 -156
- data/app/actors/hyrax/actors/initialize_workflow_actor.rb +0 -35
- data/app/helpers/hyrax/url_helper.rb +0 -13
- data/app/jobs/content_depositor_change_event_job.rb +0 -48
- data/app/models/concerns/hyrax/with_file_sets.rb +0 -17
- data/app/views/catalog/_index_header_list_hyrax_pcdm_collection.html.erb +0 -4
- data/lib/hyrax/transactions/create_work.rb +0 -65
- data/lib/hyrax/transactions/destroy_work.rb +0 -28
- data/lib/hyrax/transactions/steps/apply_collection_permission_template.rb +0 -34
- data/lib/hyrax/transactions/steps/apply_permission_template.rb +0 -32
- data/lib/hyrax/transactions/steps/apply_visibility.rb +0 -41
- data/lib/hyrax/transactions/steps/destroy_work.rb +0 -27
- data/lib/hyrax/transactions/steps/ensure_permission_template.rb +0 -29
- data/lib/hyrax/transactions/steps/save_work.rb +0 -38
- data/lib/hyrax/transactions/update_work.rb +0 -19
- data/lib/wings/services/file_converter_service.rb +0 -19
- data/lib/wings/services/file_metadata_builder.rb +0 -94
- data/vendor/assets/javascripts/handlebars-v4.0.5.js +0 -4612
- data/vendor/assets/stylesheets/morris.js/0.5.1/morris.css +0 -2
@@ -34,12 +34,12 @@
|
|
34
34
|
<dd><%= mail_to user.email %></dd>
|
35
35
|
|
36
36
|
<% if user.chat_id %>
|
37
|
-
<dt><span class="
|
37
|
+
<dt><span class="fa fa-bullhorn" aria-hidden="true"></span> Chat ID</dt>
|
38
38
|
<dd><%= user.chat_id %></dd>
|
39
39
|
<% end %>
|
40
40
|
|
41
41
|
<% if user.website %>
|
42
|
-
<dt><span class="
|
42
|
+
<dt><span class="fa fa-globe" aria-hidden="true"></span> Website(s)</dt>
|
43
43
|
<dd><%= iconify_auto_link(user.website) %></dd>
|
44
44
|
<% end %>
|
45
45
|
|
@@ -64,7 +64,7 @@
|
|
64
64
|
<% end %>
|
65
65
|
|
66
66
|
<% if user.address %>
|
67
|
-
<dt><span class="
|
67
|
+
<dt><span class="fa fa-map-marker" aria-hidden="true"></span> Address</dt>
|
68
68
|
<dd><%= user.address %></dd>
|
69
69
|
<% end %>
|
70
70
|
|
@@ -74,7 +74,7 @@
|
|
74
74
|
<% end %>
|
75
75
|
|
76
76
|
<% if user.telephone %>
|
77
|
-
<dt><span class="
|
77
|
+
<dt><span class="fa fa-phone" aria-hidden="true"></span> Telephone</dt>
|
78
78
|
<dd><%= link_to_telephone(user) %></dd>
|
79
79
|
<% end %>
|
80
80
|
|
@@ -1,15 +1,15 @@
|
|
1
1
|
<div class="list-group-item">
|
2
|
-
<span class="
|
2
|
+
<span class="fa fa-clock-o" aria-hidden="true"></span> <%= t("hyrax.dashboard.stats.joined_on") %> <%= user.created_at.to_date.strftime("%b %d, %Y") %>
|
3
3
|
</div>
|
4
4
|
|
5
5
|
<div class="list-group-item">
|
6
6
|
<span class="badge"><%= number_of_collections(user) %></span>
|
7
|
-
<span class="
|
7
|
+
<span class="fa fa-folder-open" aria-hidden="true"></span> <%= link_to_field('', '', t("hyrax.dashboard.stats.collections"), {generic_type: "Collection", depositor: user.to_s}) %>
|
8
8
|
</div>
|
9
9
|
|
10
10
|
<div class="list-group-item">
|
11
11
|
<span class="badge"><%= number_of_works(user) %></span>
|
12
|
-
<span class="
|
12
|
+
<span class="fa fa-upload" aria-hidden="true"></span> <%= link_to_field('', '', t("hyrax.dashboard.stats.works"), {generic_type: "Work", depositor: user.to_s}) %>
|
13
13
|
|
14
14
|
<ul class="views-downloads-dashboard list-unstyled">
|
15
15
|
<li><span class="badge badge-optional"><%= user.total_file_views %></span> <%= t("hyrax.dashboard.stats.file_views").pluralize(user.total_file_views) %></li>
|
@@ -9,18 +9,18 @@
|
|
9
9
|
<div class="skip-to-content">
|
10
10
|
<%= link_to "Skip to Content", "#skip-to-content" %>
|
11
11
|
</div>
|
12
|
-
<%= render '/masthead' %>
|
12
|
+
<%= render '/masthead', placement_class: 'fixed-top' %>
|
13
13
|
<%= content_for(:navbar) %>
|
14
14
|
<div id="content-wrapper" role="main">
|
15
15
|
<div class="sidebar maximized">
|
16
16
|
<%= render 'hyrax/dashboard/sidebar' %>
|
17
17
|
</div>
|
18
|
-
<div class="main-content maximized">
|
18
|
+
<div class="main-content maximized<%= " admin-stats" if request.fullpath.include? '/admin/stats' %>">
|
19
19
|
<%= render_breadcrumbs builder: Hyrax::BootstrapBreadcrumbsBuilder %>
|
20
20
|
<%= render '/flash_msg' %>
|
21
21
|
<% if content_for?(:page_header) %>
|
22
22
|
<div class="row">
|
23
|
-
<div class="col-
|
23
|
+
<div class="col-12 main-header">
|
24
24
|
<%= yield(:page_header) %>
|
25
25
|
</div>
|
26
26
|
</div>
|
@@ -33,6 +33,6 @@
|
|
33
33
|
</div>
|
34
34
|
|
35
35
|
</div><!-- /#content-wrapper -->
|
36
|
-
<%= render 'shared/
|
36
|
+
<%= render 'shared/modal' %>
|
37
37
|
</body>
|
38
38
|
</html>
|
@@ -9,15 +9,16 @@
|
|
9
9
|
<div class="skip-to-content">
|
10
10
|
<%= link_to "Skip to Content", "#skip-to-content" %>
|
11
11
|
</div>
|
12
|
-
<%= render '/masthead' %>
|
12
|
+
<%= render '/masthead', placement_class: nil %>
|
13
13
|
<%= content_for(:navbar) %>
|
14
14
|
<%= content_for(:precontainer_content) %>
|
15
15
|
<div id="content-wrapper" class="container" role="main">
|
16
|
+
<%= content_for(:container_header) %>
|
16
17
|
<%= render '/flash_msg' %>
|
17
18
|
<%= render_breadcrumbs builder: Hyrax::BootstrapBreadcrumbsBuilder %>
|
18
19
|
<% if content_for?(:page_header) %>
|
19
20
|
<div class="row">
|
20
|
-
<div class="col-
|
21
|
+
<div class="col-12 main-header">
|
21
22
|
<%= yield(:page_header) %>
|
22
23
|
</div>
|
23
24
|
</div>
|
@@ -28,6 +29,6 @@
|
|
28
29
|
<%= content_for?(:content) ? yield(:content) : yield %>
|
29
30
|
</div><!-- /#content-wrapper -->
|
30
31
|
<%= render 'shared/footer' %>
|
31
|
-
<%= render 'shared/
|
32
|
+
<%= render 'shared/modal' %>
|
32
33
|
</body>
|
33
34
|
</html>
|
@@ -2,17 +2,17 @@
|
|
2
2
|
<style>
|
3
3
|
<% appearance = Hyrax::Forms::Admin::Appearance.new %>
|
4
4
|
a { color: <%= appearance.link_color %>; }
|
5
|
-
.navbar-
|
5
|
+
.navbar-dark.bg-dark .navbar-link { color: <%= appearance.footer_link_color %>; }
|
6
6
|
|
7
|
-
.navbar-
|
7
|
+
.navbar-dark.bg-dark { background-color: <%= appearance.header_background_color %> !important; }
|
8
8
|
|
9
|
-
.navbar-
|
10
|
-
.navbar-
|
11
|
-
.navbar-
|
9
|
+
.navbar-dark.bg-dark .navbar-nav > .open > a,
|
10
|
+
.navbar-dark.bg-dark .navbar-nav > .open > a:hover,
|
11
|
+
.navbar-dark.bg-dark .navbar-nav > .open > a:focus { background-color: <%= appearance.header_background_color %>; }
|
12
12
|
|
13
|
-
.navbar-
|
14
|
-
.navbar-
|
15
|
-
.navbar-
|
13
|
+
.navbar-dark.bg-dark .navbar-nav > li > a,
|
14
|
+
.navbar-dark.bg-dark .navbar-text,
|
15
|
+
.navbar-dark.bg-dark .navbar-brand { color: <%= appearance.header_text_color %>; }
|
16
16
|
|
17
17
|
.btn-primary {
|
18
18
|
background-color: <%= appearance.primary_button_background_color %>;
|
@@ -2,15 +2,12 @@
|
|
2
2
|
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-controls="language-dropdown-menu">
|
3
3
|
<span class="sr-only"><%= t('hyrax.toolbar.language_switch') %></span>
|
4
4
|
<span title="<%= t('hyrax.toolbar.language_switch') %>"><%= available_translations[I18n.locale.to_s] %></span>
|
5
|
-
<b class="caret"></b>
|
6
5
|
</a>
|
7
|
-
<
|
8
|
-
<
|
9
|
-
<
|
6
|
+
<div id="language-dropdown-menu" class="dropdown-menu" role="menu">
|
7
|
+
<div role="presentation" class="dropdown-header"><%= t('hyrax.toolbar.language_switch') %></div>
|
8
|
+
<div role="presentation" class="dropdown-divider"></div>
|
10
9
|
<% available_translations.each do |language, label| %>
|
11
|
-
|
12
|
-
<%= link_to label, "?locale=#{language}", class: 'dropdown-item', role: 'menuitem', tabindex: '-1', data: { locale: language } %>
|
13
|
-
</li>
|
10
|
+
<%= link_to label, "?locale=#{language}", class: 'dropdown-item', role: 'menuitem', lang: language, tabindex: '-1', data: { locale: language } %>
|
14
11
|
<% end %>
|
15
|
-
</
|
12
|
+
</div>
|
16
13
|
</li>
|
@@ -5,8 +5,8 @@
|
|
5
5
|
<%= t(:'hyrax.nav_safety.change_tab_message') %>
|
6
6
|
</div>
|
7
7
|
<div class="modal-footer">
|
8
|
-
<button type="button" class="btn btn-
|
9
|
-
<button type="button" class="btn btn-
|
8
|
+
<button type="button" class="btn btn-secondary" id="nav-safety-acknowledge" data-dismiss="modal">Cancel</button>
|
9
|
+
<button type="button" class="btn btn-secondary" id="nav-safety-dismiss" data-dismiss="modal">OK</button>
|
10
10
|
</div>
|
11
11
|
</div>
|
12
12
|
</div>
|
@@ -3,8 +3,8 @@
|
|
3
3
|
<div class="modal-dialog" role="document">
|
4
4
|
<form class="modal-content new-work-select">
|
5
5
|
<div class="modal-header">
|
6
|
-
<button type="button" class="close" data-dismiss="modal" aria-label="<%= t('hyrax.dashboard.heading_actions.close') %>"><span aria-hidden="true">×</span></button>
|
7
6
|
<h2 class="modal-title" id="select-worktype-label"><%= t('hyrax.dashboard.heading_actions.select_type_of_work') %></h2>
|
7
|
+
<button type="button" class="close" data-dismiss="modal" aria-label="<%= t('hyrax.dashboard.heading_actions.close') %>"><span aria-hidden="true">×</span></button>
|
8
8
|
</div>
|
9
9
|
<div class="modal-body">
|
10
10
|
<% create_work_presenter.each do |row_presenter| %>
|
@@ -25,7 +25,7 @@
|
|
25
25
|
<% end %>
|
26
26
|
</div>
|
27
27
|
<div class="modal-footer">
|
28
|
-
<button type="button" class="btn btn-
|
28
|
+
<button type="button" class="btn btn-secondary" data-dismiss="modal"><%= t('hyrax.dashboard.heading_actions.close') %></button>
|
29
29
|
<input type="submit" class="btn btn-primary" value="<%= t('hyrax.dashboard.heading_actions.create_work') %>" />
|
30
30
|
</div>
|
31
31
|
</form>
|
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
|