hyrax 3.4.1 → 4.0.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0217d84335b2d3a3a1ed7729493eec75e67e5a2563034c9b1b4b3e025eb30520
|
|
4
|
+
data.tar.gz: 509e3aaf3d67a086d2361baa09de56a75d063f3df63c7b2b955027d6fd1fcbd7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 95237e304352c8a36f8fc16994e192f8b305c12d4df7dc12c20de05072932a5516d4598a4facd58f42262d1e1a85aae9a50a21e174e32f9dbc613ac2c90c7177
|
|
7
|
+
data.tar.gz: 42f9ff962f2920a60f78e342cc01114ab9dfe653d5f5ec8cf743816edb5da3d71bad71e553239a67e8e017c0faf4317c004564b6f60653f40697275ba4fc1994
|
data/.circleci/config.yml
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
version: 2.1
|
|
2
2
|
orbs:
|
|
3
|
-
samvera: samvera/circleci-orb@
|
|
3
|
+
samvera: samvera/circleci-orb@1
|
|
4
|
+
browser-tools: circleci/browser-tools@1.3
|
|
4
5
|
jobs:
|
|
5
6
|
bundle:
|
|
6
7
|
parameters:
|
|
7
8
|
ruby_version:
|
|
8
9
|
type: string
|
|
9
|
-
default: 2.
|
|
10
|
+
default: 2.7.6
|
|
10
11
|
bundler_version:
|
|
11
12
|
type: string
|
|
12
|
-
default:
|
|
13
|
+
default: 2.3.13
|
|
13
14
|
rails_version:
|
|
14
15
|
type: string
|
|
15
|
-
default:
|
|
16
|
+
default: 6.0.5
|
|
16
17
|
executor:
|
|
17
18
|
name: 'samvera/ruby'
|
|
18
19
|
ruby_version: << parameters.ruby_version >>
|
|
@@ -67,13 +68,13 @@ jobs:
|
|
|
67
68
|
parameters:
|
|
68
69
|
ruby_version:
|
|
69
70
|
type: string
|
|
70
|
-
default: 2.
|
|
71
|
+
default: 2.7.6
|
|
71
72
|
bundler_version:
|
|
72
73
|
type: string
|
|
73
|
-
default:
|
|
74
|
+
default: 2.3.13
|
|
74
75
|
rails_version:
|
|
75
76
|
type: string
|
|
76
|
-
default:
|
|
77
|
+
default: 6.0.5
|
|
77
78
|
executor:
|
|
78
79
|
name: 'samvera/ruby_fcrepo_solr_redis_postgres'
|
|
79
80
|
ruby_version: << parameters.ruby_version >>
|
|
@@ -81,7 +82,7 @@ jobs:
|
|
|
81
82
|
environment:
|
|
82
83
|
RAILS_VERSION: << parameters.rails_version >>
|
|
83
84
|
NOKOGIRI_USE_SYSTEM_LIBRARIES: true
|
|
84
|
-
ENGINE_CART_RAILS_OPTIONS: --database=postgresql --skip-git --skip-bundle --skip-listen --skip-spring --skip-keeps --skip-test --skip-bootsnap
|
|
85
|
+
ENGINE_CART_RAILS_OPTIONS: --database=postgresql --skip-git --skip-bundle --skip-listen --skip-spring --skip-keeps --skip-test --skip-bootsnap --skip-javascript
|
|
85
86
|
DATABASE_URL: postgresql://postgres@127.0.0.1/circle_test # Hard-coded with data from CircleCI orb, related to https://github.com/samvera-labs/samvera-circleci-orb/issues/42
|
|
86
87
|
steps:
|
|
87
88
|
- attach_workspace:
|
|
@@ -101,10 +102,10 @@ jobs:
|
|
|
101
102
|
parameters:
|
|
102
103
|
ruby_version:
|
|
103
104
|
type: string
|
|
104
|
-
default: 2.
|
|
105
|
+
default: 2.7.6
|
|
105
106
|
bundler_version:
|
|
106
107
|
type: string
|
|
107
|
-
default:
|
|
108
|
+
default: 2.3.13
|
|
108
109
|
hyrax_valkyrie:
|
|
109
110
|
type: string
|
|
110
111
|
default: "false"
|
|
@@ -117,9 +118,26 @@ jobs:
|
|
|
117
118
|
HYRAX_VALKYRIE: << parameters.hyrax_valkyrie >>
|
|
118
119
|
VALKYRIE_SOLR_PORT: 8985
|
|
119
120
|
DATABASE_URL: postgresql://postgres@127.0.0.1/circle_test # Hard-coded with data from CircleCI orb, related to https://github.com/samvera-labs/samvera-circleci-orb/issues/42
|
|
121
|
+
KARMA_BROWSER: ChromeHeadlessCustom
|
|
122
|
+
RAILS_ROOT: .internal_test_app
|
|
120
123
|
steps:
|
|
121
124
|
- attach_workspace:
|
|
122
125
|
at: ~/
|
|
126
|
+
- run:
|
|
127
|
+
name: Install system dependencies
|
|
128
|
+
command: |
|
|
129
|
+
sudo apt-get update
|
|
130
|
+
sudo apt-get install imagemagick librsvg2-bin
|
|
131
|
+
- browser-tools/install-chrome
|
|
132
|
+
- browser-tools/install-chromedriver
|
|
133
|
+
- run:
|
|
134
|
+
command: |
|
|
135
|
+
google-chrome --version
|
|
136
|
+
chromedriver --version
|
|
137
|
+
name: Check Chrome install
|
|
138
|
+
- run:
|
|
139
|
+
name: Yarn install
|
|
140
|
+
command: yarn install
|
|
123
141
|
- samvera/install_solr_core:
|
|
124
142
|
solr_config_path: .internal_test_app/solr/conf
|
|
125
143
|
- samvera/install_solr_core:
|
|
@@ -150,60 +168,31 @@ jobs:
|
|
|
150
168
|
--header 'Content-Type: application/json'
|
|
151
169
|
workflows:
|
|
152
170
|
version: 2
|
|
153
|
-
ruby2-
|
|
171
|
+
ruby2-7-6:
|
|
154
172
|
jobs:
|
|
155
173
|
- bundle:
|
|
156
|
-
ruby_version: "2.
|
|
157
|
-
rails_version: "
|
|
174
|
+
ruby_version: "2.7.6"
|
|
175
|
+
rails_version: "6.0.5"
|
|
176
|
+
bundler_version: "2.3.13"
|
|
158
177
|
- build:
|
|
159
|
-
ruby_version: "2.
|
|
160
|
-
rails_version: "
|
|
178
|
+
ruby_version: "2.7.6"
|
|
179
|
+
rails_version: "6.0.5"
|
|
180
|
+
bundler_version: "2.3.13"
|
|
161
181
|
requires:
|
|
162
182
|
- bundle
|
|
163
183
|
- test:
|
|
164
|
-
name: "ruby2-
|
|
165
|
-
ruby_version: "2.
|
|
184
|
+
name: "ruby2-7-6"
|
|
185
|
+
ruby_version: "2.7.6"
|
|
186
|
+
bundler_version: "2.3.13"
|
|
166
187
|
requires:
|
|
167
188
|
- build
|
|
168
|
-
ruby2-6-6:
|
|
169
|
-
jobs:
|
|
170
|
-
- bundle:
|
|
171
|
-
ruby_version: "2.6.6"
|
|
172
|
-
rails_version: "5.2.6"
|
|
173
|
-
- build:
|
|
174
|
-
ruby_version: "2.6.6"
|
|
175
|
-
rails_version: "5.2.6"
|
|
176
|
-
requires:
|
|
177
|
-
- bundle
|
|
178
189
|
- test:
|
|
179
|
-
name: "ruby2-6-
|
|
180
|
-
ruby_version: "2.
|
|
181
|
-
|
|
182
|
-
- build
|
|
183
|
-
- test:
|
|
184
|
-
name: "ruby2-6-6-valkyrie"
|
|
185
|
-
ruby_version: "2.6.6"
|
|
190
|
+
name: "ruby2-7-6-valkyrie"
|
|
191
|
+
ruby_version: "2.7.6"
|
|
192
|
+
bundler_version: "2.3.13"
|
|
186
193
|
hyrax_valkyrie: "true"
|
|
187
194
|
requires:
|
|
188
195
|
- build
|
|
189
|
-
ruby2-7-4:
|
|
190
|
-
jobs:
|
|
191
|
-
- bundle:
|
|
192
|
-
ruby_version: "2.7.4"
|
|
193
|
-
rails_version: "5.2.6"
|
|
194
|
-
bundler_version: "2.1.4"
|
|
195
|
-
- build:
|
|
196
|
-
ruby_version: "2.7.4"
|
|
197
|
-
rails_version: "5.2.6"
|
|
198
|
-
bundler_version: "2.1.4"
|
|
199
|
-
requires:
|
|
200
|
-
- bundle
|
|
201
|
-
- test:
|
|
202
|
-
name: "ruby2-7-4"
|
|
203
|
-
ruby_version: "2.7.4"
|
|
204
|
-
bundler_version: "2.1.4"
|
|
205
|
-
requires:
|
|
206
|
-
- build
|
|
207
196
|
nurax-dev_deploy:
|
|
208
197
|
jobs:
|
|
209
198
|
- deploy:
|
data/.dassie/.env
CHANGED
data/.dassie/Gemfile
CHANGED
|
@@ -8,16 +8,16 @@ else
|
|
|
8
8
|
end
|
|
9
9
|
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
|
10
10
|
|
|
11
|
-
ruby '2.7.
|
|
11
|
+
ruby '2.7.6'
|
|
12
12
|
|
|
13
13
|
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
|
14
|
-
gem 'rails', '~>
|
|
14
|
+
gem 'rails', '~> 6.0'
|
|
15
15
|
# Use postgresql as the database for Active Record
|
|
16
16
|
gem 'pg', '>= 0.18', '< 2.0'
|
|
17
17
|
# Use Puma as the app server
|
|
18
18
|
gem 'puma', '~> 4.3.8'
|
|
19
19
|
# Use SCSS for stylesheets
|
|
20
|
-
gem 'sass-rails', '~>
|
|
20
|
+
gem 'sass-rails', '~> 6.0'
|
|
21
21
|
# Use Uglifier as compressor for JavaScript assets
|
|
22
22
|
gem 'uglifier', '>= 1.3.0'
|
|
23
23
|
|
|
@@ -52,7 +52,7 @@ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
|
|
52
52
|
|
|
53
53
|
gemspec name: 'hyrax', path: ENV.fetch('HYRAX_ENGINE_PATH', '..')
|
|
54
54
|
|
|
55
|
-
gem 'bootstrap
|
|
55
|
+
gem 'bootstrap', '~> 4.0'
|
|
56
56
|
gem 'devise'
|
|
57
57
|
gem 'devise-guests', '~> 0.6'
|
|
58
58
|
gem 'jquery-rails'
|
|
@@ -15,11 +15,15 @@
|
|
|
15
15
|
//= require turbolinks
|
|
16
16
|
//
|
|
17
17
|
// Required by Blacklight
|
|
18
|
-
//= require
|
|
19
|
-
//= require
|
|
20
|
-
//= require
|
|
21
|
-
//= require
|
|
18
|
+
//= require jquery3
|
|
19
|
+
//= require rails-ujs
|
|
20
|
+
//= require popper
|
|
21
|
+
//= require twitter/typeahead
|
|
22
|
+
//= require bootstrap
|
|
23
|
+
//= require jquery.dataTables
|
|
24
|
+
//= require dataTables.bootstrap4
|
|
22
25
|
//= require blacklight/blacklight
|
|
26
|
+
//= require blacklight_gallery
|
|
23
27
|
|
|
24
28
|
//= require_tree .
|
|
25
29
|
//= require hyrax
|
|
@@ -4,14 +4,13 @@
|
|
|
4
4
|
*= require_self
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
@import "bootstrap-sprockets";
|
|
8
7
|
@import "bootstrap-default-overrides";
|
|
9
8
|
@import 'bootstrap';
|
|
10
|
-
@import 'blacklight/blacklight';
|
|
11
9
|
@import "font-awesome";
|
|
12
10
|
@import "blacklight_gallery/gallery";
|
|
13
11
|
@import "blacklight_gallery/masonry";
|
|
14
12
|
@import "blacklight_gallery/slideshow";
|
|
15
13
|
@import "blacklight_gallery/osd_viewer";
|
|
14
|
+
@import "hyrax/blacklight_gallery";
|
|
16
15
|
@import 'hyrax/hyrax';
|
|
17
16
|
@import 'hyrax/login_signup';
|
|
@@ -2,13 +2,11 @@ class ApplicationController < ActionController::Base
|
|
|
2
2
|
helper Openseadragon::OpenseadragonHelper
|
|
3
3
|
# Adds a few additional behaviors into the application controller
|
|
4
4
|
include Blacklight::Controller
|
|
5
|
-
skip_after_action :discard_flash_if_xhr
|
|
6
5
|
include Hydra::Controller::ControllerBehavior
|
|
7
6
|
|
|
8
7
|
# Adds Hyrax behaviors into the application controller
|
|
9
8
|
include Hyrax::Controller
|
|
10
9
|
include Hyrax::ThemedLayoutController
|
|
11
|
-
with_themed_layout '1_column'
|
|
12
|
-
|
|
13
10
|
|
|
11
|
+
with_themed_layout '1_column'
|
|
14
12
|
end
|
|
@@ -5,8 +5,6 @@ class CatalogController < ApplicationController
|
|
|
5
5
|
|
|
6
6
|
# This filter applies the hydra access controls
|
|
7
7
|
before_action :enforce_show_permissions, only: :show
|
|
8
|
-
# Allow all search options when in read-only mode
|
|
9
|
-
skip_before_action :check_read_only
|
|
10
8
|
|
|
11
9
|
def self.uploaded_field
|
|
12
10
|
"system_create_dtsi"
|
|
@@ -17,19 +15,14 @@ class CatalogController < ApplicationController
|
|
|
17
15
|
end
|
|
18
16
|
|
|
19
17
|
configure_blacklight do |config|
|
|
20
|
-
config.view.gallery
|
|
21
|
-
config.view.masonry
|
|
22
|
-
config.view.slideshow
|
|
23
|
-
|
|
18
|
+
config.view.gallery(document_component: Blacklight::Gallery::DocumentComponent)
|
|
19
|
+
config.view.masonry(document_component: Blacklight::Gallery::DocumentComponent)
|
|
20
|
+
config.view.slideshow(document_component: Blacklight::Gallery::SlideshowComponent)
|
|
24
21
|
|
|
25
22
|
config.show.tile_source_field = :content_metadata_image_iiif_info_ssm
|
|
26
23
|
config.show.partials.insert(1, :openseadragon)
|
|
27
24
|
config.search_builder_class = Hyrax::CatalogSearchBuilder
|
|
28
25
|
|
|
29
|
-
# Show gallery view
|
|
30
|
-
config.view.gallery.partials = [:index_header, :index]
|
|
31
|
-
config.view.slideshow.partials = [:index]
|
|
32
|
-
|
|
33
26
|
# Because too many times on Samvera tech people raise a problem regarding a failed query to SOLR.
|
|
34
27
|
# Often, it's because they inadvertently exceeded the character limit of a GET request.
|
|
35
28
|
config.http_method = :post
|
|
@@ -46,6 +39,17 @@ class CatalogController < ApplicationController
|
|
|
46
39
|
config.index.display_type_field = "has_model_ssim"
|
|
47
40
|
config.index.thumbnail_field = 'thumbnail_path_ss'
|
|
48
41
|
|
|
42
|
+
config.add_results_document_tool(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
|
|
43
|
+
config.add_results_collection_tool(:sort_widget)
|
|
44
|
+
config.add_results_collection_tool(:per_page_widget)
|
|
45
|
+
config.add_results_collection_tool(:view_type_group)
|
|
46
|
+
config.add_show_tools_partial(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
|
|
47
|
+
config.add_show_tools_partial(:email, callback: :email_action, validator: :validate_email_params)
|
|
48
|
+
config.add_show_tools_partial(:sms, if: :render_sms_action?, callback: :sms_action, validator: :validate_sms_params)
|
|
49
|
+
config.add_show_tools_partial(:citation)
|
|
50
|
+
config.add_nav_action(:bookmark, partial: 'blacklight/nav/bookmark', if: :render_bookmarks_control?)
|
|
51
|
+
config.add_nav_action(:search_history, partial: 'blacklight/nav/search_history')
|
|
52
|
+
|
|
49
53
|
# solr fields that will be treated as facets by the blacklight application
|
|
50
54
|
# The ordering of the field names is the order of the display
|
|
51
55
|
config.add_facet_field "human_readable_type_sim", label: "Type", limit: 5
|
|
@@ -74,22 +78,22 @@ class CatalogController < ApplicationController
|
|
|
74
78
|
# The ordering of the field names is the order of the display
|
|
75
79
|
config.add_index_field "title_tesim", label: "Title", itemprop: 'name', if: false
|
|
76
80
|
config.add_index_field "description_tesim", itemprop: 'description', helper_method: :iconify_auto_link
|
|
77
|
-
config.add_index_field "keyword_tesim", itemprop: 'keywords',
|
|
78
|
-
config.add_index_field "subject_tesim", itemprop: 'about',
|
|
79
|
-
config.add_index_field "creator_tesim", itemprop: 'creator',
|
|
80
|
-
config.add_index_field "contributor_tesim", itemprop: 'contributor',
|
|
81
|
+
config.add_index_field "keyword_tesim", itemprop: 'keywords', link_to_facet: "keyword_sim"
|
|
82
|
+
config.add_index_field "subject_tesim", itemprop: 'about', link_to_facet: "subject_sim"
|
|
83
|
+
config.add_index_field "creator_tesim", itemprop: 'creator', link_to_facet: "creator_sim"
|
|
84
|
+
config.add_index_field "contributor_tesim", itemprop: 'contributor', link_to_facet: "contributor_sim"
|
|
81
85
|
config.add_index_field "proxy_depositor_ssim", label: "Depositor", helper_method: :link_to_profile
|
|
82
86
|
config.add_index_field "depositor_tesim", label: "Owner", helper_method: :link_to_profile
|
|
83
|
-
config.add_index_field "publisher_tesim", itemprop: 'publisher',
|
|
84
|
-
config.add_index_field "based_near_label_tesim", itemprop: 'contentLocation',
|
|
85
|
-
config.add_index_field "language_tesim", itemprop: 'inLanguage',
|
|
87
|
+
config.add_index_field "publisher_tesim", itemprop: 'publisher', link_to_facet: "publisher_sim"
|
|
88
|
+
config.add_index_field "based_near_label_tesim", itemprop: 'contentLocation', link_to_facet: "based_near_label_sim"
|
|
89
|
+
config.add_index_field "language_tesim", itemprop: 'inLanguage', link_to_facet: "language_sim"
|
|
86
90
|
config.add_index_field "date_uploaded_dtsi", itemprop: 'datePublished', helper_method: :human_readable_date
|
|
87
91
|
config.add_index_field "date_modified_dtsi", itemprop: 'dateModified', helper_method: :human_readable_date
|
|
88
92
|
config.add_index_field "date_created_tesim", itemprop: 'dateCreated'
|
|
89
93
|
config.add_index_field "rights_statement_tesim", helper_method: :rights_statement_links
|
|
90
94
|
config.add_index_field "license_tesim", helper_method: :license_links
|
|
91
|
-
config.add_index_field "resource_type_tesim", label: "Resource Type",
|
|
92
|
-
config.add_index_field "file_format_tesim",
|
|
95
|
+
config.add_index_field "resource_type_tesim", label: "Resource Type", link_to_facet: "resource_type_sim"
|
|
96
|
+
config.add_index_field "file_format_tesim", link_to_facet: "file_format_sim"
|
|
93
97
|
config.add_index_field "identifier_tesim", helper_method: :index_field_link, field_name: 'identifier'
|
|
94
98
|
config.add_index_field Hydra.config.permissions.embargo.release_date, label: "Embargo release date", helper_method: :human_readable_date
|
|
95
99
|
config.add_index_field Hydra.config.permissions.lease.expiration_date, label: "Lease expiration date", helper_method: :human_readable_date
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Generated via
|
|
4
|
+
# `rails generate hyrax:collection_resource CollectionResource`
|
|
5
|
+
class CollectionResourceForm < Hyrax::Forms::PcdmCollectionForm
|
|
6
|
+
include Hyrax::FormFields(:basic_metadata)
|
|
7
|
+
include Hyrax::FormFields(:collection_resource)
|
|
8
|
+
end
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Generated via
|
|
4
|
+
# `rails generate hyrax:collection_resource CollectionResource`
|
|
5
|
+
class CollectionResourceIndexer < Hyrax::PcdmCollectionIndexer
|
|
6
|
+
include Hyrax::Indexer(:basic_metadata)
|
|
7
|
+
include Hyrax::Indexer(:collection_resource)
|
|
8
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Generated via
|
|
4
|
+
# `rails generate hyrax:collection_resource CollectionResource`
|
|
5
|
+
class CollectionResource < Hyrax::PcdmCollection
|
|
6
|
+
# @note Do not directly update `basic_metadata.yaml`. It is also used by works.
|
|
7
|
+
#
|
|
8
|
+
# To change metadata for collections
|
|
9
|
+
# * extend by adding fields to `/config/metadata/collection_resource.yaml`
|
|
10
|
+
# * remove all basic metadata
|
|
11
|
+
# * if you generated `with_basic_metadata` and now don't want any basic metadata,
|
|
12
|
+
# comment out or delete the schema include statement for `:basic_metadata`
|
|
13
|
+
# * update form and indexer classes to also remove the `:basic_metadata` schema include
|
|
14
|
+
# * remove some basic metadata
|
|
15
|
+
# * comment out or delete the schema include statement for `:basic_metadata`
|
|
16
|
+
# * update form and indexer classes to also remove the `:basic_metadata` schema include
|
|
17
|
+
# * copy fields you want to keep from `/config/metadata/basic_metadata.yaml`
|
|
18
|
+
# to `/config/metadata/collection_resource.yaml`
|
|
19
|
+
# * override some basic metadata
|
|
20
|
+
# * fields are not allowed to repeat, so to override any basic metadata, you
|
|
21
|
+
# must first comment out or delete the schema include statement for `:basic_metadata`
|
|
22
|
+
# * update form and indexer classes to also remove the `:basic_metadata` schema include
|
|
23
|
+
# * copy all fields you want to keep unchanged or to override from `/config/metadata/basic_metadata.yaml`
|
|
24
|
+
# to `/config/metadata/collection_resource.yaml`
|
|
25
|
+
# * update them in `config/metadata/collection_resource.yaml to have the desired
|
|
26
|
+
# characteristics
|
|
27
|
+
#
|
|
28
|
+
# Alternative:
|
|
29
|
+
# * comment out or delete schema include statements
|
|
30
|
+
# * add Valkyrie attributes to this class
|
|
31
|
+
# * update form and indexer to process the attributes
|
|
32
|
+
#
|
|
33
|
+
include Hyrax::Schema(:basic_metadata)
|
|
34
|
+
include Hyrax::Schema(:collection_resource)
|
|
35
|
+
end
|
data/.dassie/app/models/user.rb
CHANGED
|
@@ -5,9 +5,6 @@ class User < ApplicationRecord
|
|
|
5
5
|
include Hyrax::User
|
|
6
6
|
include Hyrax::UserUsageStats
|
|
7
7
|
|
|
8
|
-
if Blacklight::Utils.needs_attr_accessible?
|
|
9
|
-
attr_accessible :email, :password, :password_confirmation
|
|
10
|
-
end
|
|
11
8
|
# Connects this user object to Blacklights Bookmarks.
|
|
12
9
|
include Blacklight::User
|
|
13
10
|
# Include default devise modules. Others available are:
|
|
@@ -9,7 +9,7 @@ Bundler.require(*Rails.groups)
|
|
|
9
9
|
module Dassie
|
|
10
10
|
class Application < Rails::Application
|
|
11
11
|
# Initialize configuration defaults for originally generated Rails version.
|
|
12
|
-
config.load_defaults
|
|
12
|
+
config.load_defaults 6.0
|
|
13
13
|
|
|
14
14
|
# Settings in config/environments/* take precedence over those specified here.
|
|
15
15
|
# Application configuration can go into files in config/initializers
|
|
@@ -54,7 +54,8 @@ Hyrax.config do |config|
|
|
|
54
54
|
##
|
|
55
55
|
# NOTE: To Valkyrie works, use Monograph which is_a Hyrax::Work is_a Valkyrie::Resource
|
|
56
56
|
# To use Valkyrie models, uncomment the following lines.
|
|
57
|
-
# config.collection_model = 'Hyrax::PcdmCollection'
|
|
57
|
+
# config.collection_model = 'Hyrax::PcdmCollection' # collection without basic metadata
|
|
58
|
+
# config.collection_model = 'CollectionResource' # collection with basic metadata
|
|
58
59
|
# config.admin_set_model = 'Hyrax::AdministrativeSet'
|
|
59
60
|
end
|
|
60
61
|
|
|
@@ -20,7 +20,7 @@ ActiveSupport::Reloader.to_prepare do
|
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
Riiif::Image.authorization_service = Hyrax::
|
|
23
|
+
Riiif::Image.authorization_service = Hyrax::IiifAuthorizationService
|
|
24
24
|
|
|
25
25
|
Riiif.not_found_image = Rails.root.join('app', 'assets', 'images', 'us_404.svg')
|
|
26
26
|
Riiif.unauthorized_image = Rails.root.join('app', 'assets', 'images', 'us_404.svg')
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Simple yaml config-driven schema which is used to define model attributes,
|
|
2
|
+
# index key names, and form properties.
|
|
3
|
+
#
|
|
4
|
+
# Originally generated with no metadata via
|
|
5
|
+
# `rails generate hyrax:collection_resource CollectionResource`
|
|
6
|
+
#
|
|
7
|
+
# A few custom fields are added for testing purposes.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
attributes:
|
|
11
|
+
target_audience:
|
|
12
|
+
type: string
|
|
13
|
+
form:
|
|
14
|
+
primary: true
|
|
15
|
+
multiple: true
|
|
16
|
+
department:
|
|
17
|
+
type: string
|
|
18
|
+
form:
|
|
19
|
+
primary: true
|
|
20
|
+
course:
|
|
21
|
+
type: string
|
|
22
|
+
form:
|
|
23
|
+
primary: false
|
data/.dassie/db/schema.rb
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
# of editing this file, please use the migrations feature of Active Record to
|
|
3
3
|
# incrementally modify your database, and then regenerate this schema definition.
|
|
4
4
|
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
# from scratch.
|
|
9
|
-
#
|
|
5
|
+
# This file is the source Rails uses to define your schema when running `rails
|
|
6
|
+
# db:schema:load`. When creating a new database, `rails db:schema:load` tends to
|
|
7
|
+
# be faster and is potentially less error prone than running all of your
|
|
8
|
+
# migrations from scratch. Old migrations may fail to apply correctly if those
|
|
9
|
+
# migrations use external dependencies or application code.
|
|
10
10
|
#
|
|
11
11
|
# It's strongly recommended that you check this file into your version control system.
|
|
12
12
|
|
data/.dassie/db/seeds.rb
CHANGED
data/.dassie/package.json
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
"private": true,
|
|
4
4
|
"repository": "git@github.com:samvera/hyrax.git",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
|
|
7
|
-
},
|
|
8
|
-
"scripts": {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
"universalviewer": "^3.1.4"
|
|
7
|
+
},
|
|
8
|
+
"scripts": {
|
|
9
|
+
"preinstall": "rm -rf ./public/uv",
|
|
10
|
+
"postinstall": "yarn run uv-install && yarn run uv-config",
|
|
11
|
+
"uv-install": "cp -r ./node_modules/universalviewer/dist ./public/uv",
|
|
12
|
+
"uv-config": "cp ./config/uv/uv.html ./public/uv/uv.html & cp ./config/uv/uv-config.json ./public/uv/"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {}
|
|
15
15
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Generated via
|
|
4
|
+
# `rails generate hyrax:collection_resource CollectionResource`
|
|
5
|
+
require 'rails_helper'
|
|
6
|
+
require 'valkyrie/specs/shared_specs'
|
|
7
|
+
|
|
8
|
+
RSpec.describe CollectionResourceForm do
|
|
9
|
+
let(:change_set) { described_class.new(resource) }
|
|
10
|
+
let(:resource) { CollectionResource.new }
|
|
11
|
+
|
|
12
|
+
it_behaves_like 'a Valkyrie::ChangeSet'
|
|
13
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Generated via
|
|
4
|
+
# `rails generate hyrax:collection_resource CollectionResource`
|
|
5
|
+
require 'rails_helper'
|
|
6
|
+
require 'hyrax/specs/shared_specs/indexers'
|
|
7
|
+
|
|
8
|
+
RSpec.describe CollectionResourceIndexer do
|
|
9
|
+
let(:indexer_class) { described_class }
|
|
10
|
+
let(:resource) { CollectionResource.new }
|
|
11
|
+
|
|
12
|
+
it_behaves_like 'a Hyrax::Resource indexer'
|
|
13
|
+
it_behaves_like 'a Basic metadata indexer'
|
|
14
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Generated via
|
|
4
|
+
# `rails generate hyrax:collection_resource CollectionResource`
|
|
5
|
+
require 'rails_helper'
|
|
6
|
+
require 'hyrax/specs/shared_specs/hydra_works'
|
|
7
|
+
|
|
8
|
+
RSpec.describe CollectionResource do
|
|
9
|
+
subject(:collection) { described_class.new }
|
|
10
|
+
|
|
11
|
+
it_behaves_like 'a Hyrax::PcdmCollection'
|
|
12
|
+
it_behaves_like 'a model with basic metadata'
|
|
13
|
+
end
|
data/.engine_cart.yml
CHANGED
|
@@ -1,40 +1,3 @@
|
|
|
1
|
-
# Greetings Hyrax developer, you may be surprised to see this file.
|
|
2
|
-
# Hyrax is moving to using Postgresql for testing in CircleCI and
|
|
3
|
-
# hopefully by Hyrax developers during local development. Previously,
|
|
4
|
-
# we used sqlite.
|
|
5
|
-
#
|
|
6
|
-
# And while installing Postgresql is beyond the scope of this
|
|
7
|
-
# community, I (Jeremy) installed Postgresql via homebrew (brew.sh),
|
|
8
|
-
# and have used the following for testing (note `hyrax-testup` is
|
|
9
|
-
# defined later on):
|
|
10
|
-
#
|
|
11
|
-
# ```console
|
|
12
|
-
# hyrax-testup
|
|
13
|
-
# brew services start postgresql
|
|
14
|
-
# export DATABASE_URL="postgresql://localhost:5432/internal_development"
|
|
15
|
-
# bundle exec rspec
|
|
16
|
-
# ```
|
|
17
|
-
#
|
|
18
|
-
# But, before running that, I have a shell alias (see
|
|
19
|
-
# https://github.com/jeremyf/dotzshrc/blob/trunk/configs/aliases.zsh)
|
|
20
|
-
# that I call. The alias ensures that I have:
|
|
21
|
-
#
|
|
22
|
-
# * clean set of solr indices
|
|
23
|
-
# * running solr indices
|
|
24
|
-
# * running fcrepo
|
|
25
|
-
# * running redis server
|
|
26
|
-
#
|
|
27
|
-
# ```console
|
|
28
|
-
# alias hyrax-testup='cd $HOME/git/samvera/hyrax/.internal_test_app ; \
|
|
29
|
-
# rm -rf tmp/solr-valkyrie-test/server/solr/hyrax-valkyrie-test ; \
|
|
30
|
-
# rm -rf tmp/solr-test/server/solr/hydra-test ; \
|
|
31
|
-
# fcrepo_wrapper --config config/fcrepo_wrapper_test.yml & \
|
|
32
|
-
# solr_wrapper --config config/solr_wrapper_test.yml & \
|
|
33
|
-
# solr_wrapper --config config/solr_wrapper_valkyrie_test.yml & \
|
|
34
|
-
# redis-server &'
|
|
35
|
-
# ```
|
|
36
|
-
#
|
|
37
|
-
# Best luck, and I (Jeremy) hope to add this to the Wiki at some point
|
|
38
|
-
# once this current code is accepted into the main-line.
|
|
39
1
|
rails_options:
|
|
40
|
-
- "--database=postgresql"
|
|
2
|
+
- "--database=postgresql"
|
|
3
|
+
- "--skip-javascript"
|
data/.env
CHANGED
|
@@ -16,6 +16,7 @@ HYRAX_DERIVATIVES_PATH=/app/samvera/hyrax-webapp/derivatives/
|
|
|
16
16
|
HYRAX_ENGINE_PATH=/app/samvera/hyrax-engine
|
|
17
17
|
HYRAX_UPLOAD_PATH=/app/samvera/hyrax-webapp/uploads/
|
|
18
18
|
IN_DOCKER=true
|
|
19
|
+
KARMA_BROWSER=ChromiumHeadlessCustom
|
|
19
20
|
RACK_ENV=development
|
|
20
21
|
RAILS_ENV=development
|
|
21
22
|
RAILS_ROOT=.dassie
|
data/.regen
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
# When updating CI regen seed, set to current date.
|
|
2
|
+
2022-07-01T00
|