curation_concerns 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +7 -9
- data/.rspec +1 -1
- data/.rubocop.yml +185 -0
- data/.travis.yml +0 -10
- data/CONTRIBUTING.md +117 -0
- data/Gemfile +5 -2
- data/README.md +18 -11
- data/Rakefile +23 -11
- data/VERSION +1 -1
- data/app/assets/images/audio.png +0 -0
- data/app/assets/images/loading.gif +0 -0
- data/app/assets/images/progressbar.gif +0 -0
- data/app/assets/javascripts/curation_concerns/application.js +2 -8
- data/app/assets/javascripts/curation_concerns/curation_concerns.js +1 -15
- data/app/assets/javascripts/curation_concerns/facet_mine.js +4 -10
- data/app/assets/javascripts/curation_concerns/fileupload.js +6 -0
- data/app/assets/javascripts/curation_concerns/uploader.js +183 -0
- data/app/assets/stylesheets/curation_concerns/_curation_concerns.scss +3 -0
- data/app/assets/stylesheets/curation_concerns/_positioning.scss +6 -0
- data/app/assets/stylesheets/curation_concerns/fileupload/jquery.fileupload-ui.scss +86 -0
- data/app/assets/stylesheets/curation_concerns/fileupload/thumbnail-scaling.css +3 -0
- data/app/assets/stylesheets/curation_concerns/fileupload.scss +48 -0
- data/app/assets/stylesheets/curation_concerns/modules/attributes.scss +10 -0
- data/app/assets/stylesheets/curation_concerns/modules/embargoes.scss +1 -1
- data/app/assets/stylesheets/curation_concerns/modules/forms.scss +0 -10
- data/app/assets/stylesheets/curation_concerns/modules/search_results.scss +7 -8
- data/app/controllers/concerns/curation_concerns/api.rb +77 -0
- data/app/controllers/concerns/curation_concerns/application_controller_behavior.rb +30 -12
- data/app/controllers/concerns/curation_concerns/catalog_controller.rb +9 -276
- data/app/controllers/concerns/curation_concerns/collections_controller_behavior.rb +51 -40
- data/app/controllers/concerns/curation_concerns/curation_concern_controller.rb +60 -30
- data/app/controllers/concerns/curation_concerns/download_behavior.rb +51 -37
- data/app/controllers/concerns/curation_concerns/embargoes_controller_behavior.rb +29 -29
- data/app/controllers/concerns/curation_concerns/file_sets_controller_behavior.rb +198 -0
- data/app/controllers/concerns/curation_concerns/leases_controller_behavior.rb +27 -20
- data/app/controllers/concerns/curation_concerns/manages_embargoes.rb +2 -7
- data/app/controllers/concerns/curation_concerns/parent_container.rb +20 -4
- data/app/controllers/concerns/curation_concerns/single_use_links_controller_behavior.rb +48 -0
- data/app/controllers/concerns/curation_concerns/single_use_links_viewer_controller_behavior.rb +75 -0
- data/app/controllers/concerns/curation_concerns/themed_layout_controller.rb +0 -1
- data/app/controllers/concerns/curation_concerns/upload_sets_controller_behavior.rb +38 -0
- data/app/controllers/concerns/curation_concerns/welcome_controller_behavior.rb +8 -0
- data/app/controllers/concerns/curation_concerns/without_namespace.rb +2 -1
- data/app/controllers/curation_concerns/classify_concerns_controller.rb +9 -9
- data/app/controllers/curation_concerns/file_sets_controller.rb +5 -0
- data/app/controllers/curation_concerns/permissions_controller.rb +2 -3
- data/app/controllers/curation_concerns/single_use_links_controller.rb +5 -0
- data/app/controllers/curation_concerns/single_use_links_viewer_controller.rb +21 -0
- data/app/controllers/downloads_controller.rb +0 -1
- data/app/controllers/embargoes_controller.rb +0 -2
- data/app/controllers/leases_controller.rb +0 -2
- data/app/controllers/registrations_controller.rb +1 -2
- data/app/controllers/upload_sets_controller.rb +3 -0
- data/app/controllers/welcome_controller.rb +3 -0
- data/app/forms/curation_concerns/forms/collection_edit_form.rb +18 -2
- data/app/forms/curation_concerns/forms/file_set_edit_form.rb +15 -0
- data/app/forms/curation_concerns/forms/work_form.rb +57 -0
- data/app/helpers/curation_concerns/ability_helper.rb +24 -24
- data/app/helpers/curation_concerns/catalog_helper.rb +9 -8
- data/app/helpers/curation_concerns/collections_helper.rb +9 -12
- data/app/helpers/curation_concerns/embargo_helper.rb +0 -2
- data/app/helpers/curation_concerns/file_set_helper.rb +31 -0
- data/app/helpers/curation_concerns/lease_helper.rb +0 -3
- data/app/helpers/curation_concerns/main_app_helpers.rb +1 -3
- data/app/helpers/curation_concerns/render_constraints_helper.rb +5 -5
- data/app/helpers/curation_concerns/search_paths_helper.rb +5 -7
- data/app/helpers/curation_concerns/title_helper.rb +3 -7
- data/app/helpers/curation_concerns/url_helper.rb +4 -6
- data/app/inputs/multifile_input.rb +8 -0
- data/app/jobs/visibility_copy_job.rb +22 -0
- data/app/presenters/curation_concerns/collection_presenter.rb +14 -32
- data/app/presenters/curation_concerns/embargo_presenter.rb +26 -0
- data/app/presenters/curation_concerns/file_set_presenter.rb +34 -0
- data/app/presenters/curation_concerns/lease_presenter.rb +30 -0
- data/app/presenters/curation_concerns/model_proxy.rb +27 -0
- data/app/presenters/curation_concerns/permission_badge.rb +61 -0
- data/app/presenters/curation_concerns/presenter_factory.rb +45 -0
- data/app/presenters/curation_concerns/presents_attributes.rb +25 -0
- data/app/presenters/curation_concerns/version_list_presenter.rb +18 -0
- data/app/presenters/curation_concerns/version_presenter.rb +27 -0
- data/app/presenters/curation_concerns/work_show_presenter.rb +33 -0
- data/app/renderers/curation_concerns/attribute_renderer.rb +75 -0
- data/app/search_builders/curation_concerns/deactivated_embargo_search_builder.rb +10 -0
- data/app/search_builders/curation_concerns/deactivated_lease_search_builder.rb +10 -0
- data/app/search_builders/curation_concerns/embargo_search_builder.rb +23 -0
- data/app/search_builders/curation_concerns/expired_embargo_search_builder.rb +11 -0
- data/app/search_builders/curation_concerns/expired_lease_search_builder.rb +11 -0
- data/app/search_builders/curation_concerns/lease_search_builder.rb +23 -0
- data/app/search_builders/curation_concerns/search_builder.rb +10 -16
- data/app/services/curation_concerns/curation_concern.rb +0 -5
- data/app/services/curation_concerns/embargo_service.rb +26 -4
- data/app/services/curation_concerns/lease_service.rb +14 -5
- data/app/services/curation_concerns/parent_service.rb +19 -0
- data/app/services/curation_concerns/restriction_service.rb +24 -0
- data/app/services/rights_service.rb +14 -0
- data/app/views/catalog/_action_menu_partials/_collection.html.erb +1 -1
- data/app/views/catalog/_action_menu_partials/_default.html.erb +5 -3
- data/app/views/catalog/_document_list.html.erb +1 -1
- data/app/views/catalog/index.html.erb +1 -35
- data/app/views/collections/_edit_descriptions.html.erb +3 -4
- data/app/views/collections/_form.html.erb +1 -1
- data/app/views/collections/_form_permission.html.erb +1 -1
- data/app/views/collections/_search_form.html.erb +10 -0
- data/app/views/collections/_show_actions.html.erb +3 -3
- data/app/views/collections/_sort_and_per_page.html.erb +2 -2
- data/app/views/collections/show.html.erb +6 -6
- data/app/views/curation_concerns/base/_attribute_rows.html.erb +7 -0
- data/app/views/curation_concerns/base/_attributes.html.erb +6 -13
- data/app/views/curation_concerns/base/_form.html.erb +4 -5
- data/app/views/curation_concerns/base/_form_descriptive_fields.erb +2 -4
- data/app/views/curation_concerns/base/_form_files_and_links.html.erb +3 -5
- data/app/views/curation_concerns/base/_form_permission.html.erb +13 -26
- data/app/views/curation_concerns/base/_form_permission_note.html.erb +15 -0
- data/app/views/curation_concerns/base/_form_permission_under_embargo.html.erb +2 -2
- data/app/views/curation_concerns/base/_form_permission_under_lease.html.erb +2 -2
- data/app/views/curation_concerns/base/_form_representative_image.html.erb +16 -4
- data/app/views/curation_concerns/base/_form_rights.html.erb +17 -0
- data/app/views/curation_concerns/base/_form_supplementary_fields.html.erb +4 -9
- data/app/views/curation_concerns/base/_related_files.html.erb +4 -4
- data/app/views/curation_concerns/base/_representative_media.html.erb +2 -4
- data/app/views/curation_concerns/base/_versioning.html.erb +23 -0
- data/app/views/curation_concerns/base/show.html.erb +13 -10
- data/app/views/curation_concerns/base/show.json.jbuilder +1 -0
- data/app/views/curation_concerns/base/versions.html.erb +6 -0
- data/app/views/curation_concerns/file_sets/_actions.html.erb +16 -0
- data/app/views/curation_concerns/file_sets/_file_set.html.erb +12 -0
- data/app/views/curation_concerns/{generic_files → file_sets}/_form.html.erb +7 -7
- data/app/views/curation_concerns/file_sets/_multiple_upload.html.erb +3 -0
- data/app/views/curation_concerns/{generic_files → file_sets}/edit.html.erb +0 -0
- data/app/views/curation_concerns/file_sets/jq_upload.json.jbuilder +8 -0
- data/app/views/curation_concerns/file_sets/media_display/_audio.html.erb +6 -0
- data/app/views/curation_concerns/file_sets/media_display/_default.html.erb +4 -0
- data/app/views/curation_concerns/file_sets/media_display/_image.html.erb +8 -0
- data/app/views/curation_concerns/file_sets/media_display/_office_document.html.erb +7 -0
- data/app/views/curation_concerns/file_sets/media_display/_pdf.html.erb +7 -0
- data/app/views/curation_concerns/file_sets/media_display/_video.html.erb +6 -0
- data/app/views/curation_concerns/file_sets/show.html.erb +15 -0
- data/app/views/curation_concerns/file_sets/show.json.jbuilder +1 -0
- data/app/views/curation_concerns/file_sets/upload/_alerts.html.erb +19 -0
- data/app/views/curation_concerns/file_sets/upload/_form.html.erb +6 -0
- data/app/views/curation_concerns/file_sets/upload/_form_fields.html.erb +45 -0
- data/app/views/curation_concerns/file_sets/upload/_script_templates.html.erb +61 -0
- data/app/views/curation_concerns/single_use_links/new_download.html.erb +5 -0
- data/app/views/curation_concerns/single_use_links/new_show.html.erb +5 -0
- data/app/views/curation_concerns/single_use_links_viewer/show.html.erb +10 -0
- data/app/views/error/single_use_error.html.erb +19 -0
- data/app/views/layouts/error.html.erb +33 -0
- data/app/views/leases/_list_expired_active_leases.html.erb +6 -1
- data/app/views/records/_rights_modal.html.erb +1 -0
- data/app/views/records/edit_fields/_default.html.erb +5 -0
- data/app/views/records/show_fields/_default.html.erb +6 -0
- data/app/views/shared/_add_content.html.erb +2 -14
- data/app/views/shared/_add_works.html.erb +14 -0
- data/app/views/shared/_my_actions.html.erb +9 -1
- data/app/views/shared/_site_actions.html.erb +1 -1
- data/app/views/shared/_site_search.html.erb +7 -7
- data/app/views/upload_sets/_edit.js.erb +15 -0
- data/app/views/upload_sets/_metadata.html.erb +50 -0
- data/app/views/upload_sets/_more_metadata.html.erb +7 -0
- data/app/views/upload_sets/edit.html.erb +26 -0
- data/app/views/{catalog/_home_text.html.erb → welcome/index.html.erb} +1 -0
- data/config/initializers/simple_form.rb +14 -0
- data/config/jetty.yml +5 -0
- data/config/locales/curation_concerns.en.yml +25 -4
- data/config/routes.rb +5 -0
- data/curation_concerns.gemspec +4 -6
- data/lib/curation_concerns/callbacks/registry.rb +48 -0
- data/lib/curation_concerns/callbacks.rb +26 -0
- data/lib/curation_concerns/controller_resource.rb +4 -4
- data/lib/curation_concerns/engine.rb +4 -2
- data/lib/curation_concerns/rails/routes.rb +23 -19
- data/lib/curation_concerns/single_use_error.rb +3 -0
- data/lib/curation_concerns/spec_support.rb +0 -2
- data/lib/curation_concerns/version.rb +1 -1
- data/lib/curation_concerns.rb +1 -2
- data/lib/generators/curation_concerns/install_generator.rb +34 -30
- data/lib/generators/curation_concerns/templates/catalog_controller.rb +236 -0
- data/lib/generators/curation_concerns/templates/config/authorities/rights.yml +19 -0
- data/lib/generators/curation_concerns/templates/{curation_concerns.css.scss → curation_concerns.scss} +0 -0
- data/lib/generators/curation_concerns/work/templates/actor_spec.rb.erb +1 -1
- data/lib/generators/curation_concerns/work/templates/controller_spec.rb.erb +1 -1
- data/lib/generators/curation_concerns/work/templates/form.rb.erb +8 -0
- data/lib/generators/curation_concerns/work/templates/form_spec.rb.erb +10 -0
- data/lib/generators/curation_concerns/work/templates/model.rb.erb +2 -2
- data/lib/generators/curation_concerns/work/templates/model_spec.rb.erb +1 -1
- data/lib/generators/curation_concerns/work/work_generator.rb +31 -26
- data/spec/abilities/collection_abilities_spec.rb +13 -13
- data/spec/abilities/embargo_and_lease_ability_spec.rb +23 -0
- data/spec/abilities/file_set_abilities_spec.rb +67 -0
- data/spec/abilities/generic_work_abilities_spec.rb +12 -12
- data/spec/actors/curation_concerns/embargo_actor_spec.rb +38 -0
- data/spec/actors/curation_concerns/file_set_actor_spec.rb +180 -0
- data/spec/actors/curation_concerns/lease_actor_spec.rb +39 -0
- data/spec/actors/curation_concerns/manages_embargoes_actor_spec.rb +44 -38
- data/spec/actors/curation_concerns/work_actor_spec.rb +121 -63
- data/spec/controllers/catalog_controller_spec.rb +30 -32
- data/spec/controllers/curation_concerns/classify_concerns_controller_spec.rb +2 -3
- data/spec/controllers/curation_concerns/collections_controller_spec.rb +93 -76
- data/spec/controllers/curation_concerns/file_sets_controller_json_spec.rb +106 -0
- data/spec/controllers/curation_concerns/file_sets_controller_spec.rb +237 -0
- data/spec/controllers/curation_concerns/generic_works_controller_json_spec.rb +85 -0
- data/spec/controllers/curation_concerns/generic_works_controller_spec.rb +84 -72
- data/spec/controllers/curation_concerns/permissions_controller_spec.rb +8 -11
- data/spec/controllers/curation_concerns/single_use_links_controller_spec.rb +79 -0
- data/spec/controllers/curation_concerns/single_use_links_viewer_controller_spec.rb +74 -0
- data/spec/controllers/downloads_controller_spec.rb +49 -24
- data/spec/controllers/embargoes_controller_spec.rb +42 -51
- data/spec/controllers/leases_controller_spec.rb +53 -42
- data/spec/controllers/upload_sets_controller_spec.rb +76 -0
- data/spec/controllers/welcome_controller_spec.rb +12 -0
- data/spec/factories/collections.rb +5 -1
- data/spec/factories/{generic_files.rb → file_sets.rb} +6 -6
- data/spec/factories/generic_works.rb +5 -6
- data/spec/factories/users.rb +2 -4
- data/spec/features/add_file_spec.rb +11 -12
- data/spec/features/catalog_search_spec.rb +43 -0
- data/spec/features/collection_spec.rb +61 -46
- data/spec/features/create_work_spec.rb +26 -19
- data/spec/features/embargo_spec.rb +13 -12
- data/spec/features/lease_spec.rb +15 -16
- data/spec/features/update_file_spec.rb +11 -13
- data/spec/features/work_generator_spec.rb +34 -26
- data/spec/{helpers/curation_concerns/.keep → fixtures/empty_file.txt} +0 -0
- data/spec/fixtures/test.pdf +0 -0
- data/spec/forms/collection_edit_form_spec.rb +53 -9
- data/spec/forms/file_set_edit_form_spec.rb +53 -0
- data/spec/forms/work_form_spec.rb +54 -0
- data/spec/helpers/catalog_helper_spec.rb +9 -10
- data/spec/helpers/configuration_helper_spec.rb +1 -2
- data/spec/helpers/curation_concerns/collections_helper_spec.rb +8 -9
- data/spec/helpers/curation_concerns/file_set_helper_spec.rb +61 -0
- data/spec/helpers/render_constraints_helper_spec.rb +4 -4
- data/spec/helpers/url_helper_spec.rb +8 -7
- data/spec/indexers/collection_indexer_spec.rb +14 -0
- data/spec/indexers/file_set_indexing_service_spec.rb +69 -0
- data/spec/indexers/generic_work_indexing_service_spec.rb +22 -0
- data/spec/inputs/multifile_input_spec.rb +32 -0
- data/spec/jobs/active_fedora_id_based_job_spec.rb +10 -8
- data/spec/jobs/audit_job_spec.rb +28 -20
- data/spec/jobs/characterize_job_spec.rb +10 -15
- data/spec/jobs/create_derivatives_job_spec.rb +11 -9
- data/spec/jobs/import_url_job_spec.rb +14 -21
- data/spec/jobs/ingest_file_job_spec.rb +45 -0
- data/spec/jobs/ingest_local_file_job_spec.rb +13 -15
- data/spec/jobs/upload_set_update_job_spec.rb +30 -0
- data/spec/jobs/visibility_copy_job_spec.rb +61 -0
- data/spec/lib/curation_concerns/callbacks/registry_spec.rb +54 -0
- data/spec/lib/curation_concerns/callbacks_spec.rb +27 -0
- data/spec/lib/curation_concerns/messages_spec.rb +29 -30
- data/spec/lib/curation_concerns/readable_permissions_spec.rb +18 -20
- data/spec/lib/curation_concerns/writable_permissions_spec.rb +2 -4
- data/spec/matchers/metadata_field_matchers.rb +1 -1
- data/spec/matchers/response_matchers.rb +2 -2
- data/spec/matchers.rb +3 -2
- data/spec/models/checksum_audit_log_spec.rb +37 -32
- data/spec/models/curation_concerns/collection_behavior_spec.rb +50 -37
- data/spec/models/curation_concerns/file_set/derivatives_spec.rb +84 -0
- data/spec/models/curation_concerns/work_behavior_spec.rb +53 -0
- data/spec/models/file_set_spec.rb +601 -0
- data/spec/models/generic_work_spec.rb +15 -14
- data/spec/models/single_use_link_spec.rb +69 -0
- data/spec/models/solr_document_spec.rb +67 -0
- data/spec/models/upload_set_spec.rb +39 -0
- data/spec/models/user_spec.rb +7 -8
- data/spec/presenters/curation_concerns/collection_presenter_spec.rb +8 -24
- data/spec/presenters/curation_concerns/file_set_presenter_spec.rb +59 -0
- data/spec/presenters/curation_concerns/permission_badge_spec.rb +29 -0
- data/spec/presenters/curation_concerns/presenter_factory_spec.rb +29 -0
- data/spec/presenters/curation_concerns/version_list_presenter_spec.rb +32 -0
- data/spec/presenters/curation_concerns/version_presenter_spec.rb +51 -0
- data/spec/presenters/curation_concerns/work_show_presenter_spec.rb +35 -0
- data/spec/presenters/embargo_presenter_spec.rb +48 -0
- data/spec/presenters/lease_presenter_spec.rb +48 -0
- data/spec/renderers/curation_concerns/attribute_renderer_spec.rb +14 -0
- data/spec/routing/curation_concerns/routes_spec.rb +38 -12
- data/spec/routing/route_spec.rb +38 -39
- data/spec/search_builders/curation_concerns/embargo_search_builder_spec.rb +17 -0
- data/spec/search_builders/curation_concerns/lease_search_builder_spec.rb +17 -0
- data/spec/search_builders/curation_concerns/search_builder_spec.rb +60 -0
- data/spec/services/derivative_path_spec.rb +16 -0
- data/spec/services/embargo_service_spec.rb +15 -14
- data/spec/services/file_set_audit_service_spec.rb +71 -0
- data/spec/services/lease_service_spec.rb +13 -13
- data/spec/services/lock_manager_spec.rb +12 -0
- data/spec/services/parent_service_spec.rb +13 -0
- data/spec/services/persist_derivatives_spec.rb +24 -0
- data/spec/services/persist_directly_contained_output_file_service_spec.rb +14 -0
- data/spec/services/repository_audit_service_spec.rb +8 -7
- data/spec/services/rights_service_spec.rb +17 -0
- data/spec/services/thumbnail_path_service_spec.rb +43 -0
- data/spec/services/versioning_service_spec.rb +8 -9
- data/spec/spec_helper.rb +21 -13
- data/spec/support/curation_concerns/factory_helpers.rb +1 -0
- data/spec/support/features/fixture_file_upload.rb +3 -1
- data/spec/support/features/session_helpers.rb +3 -4
- data/spec/support/features.rb +1 -4
- data/spec/support/input_support.rb +11 -0
- data/spec/support/matchers/api_responses.rb +22 -0
- data/spec/support/shared/shared_examples_has_dc_metadata.rb +0 -2
- data/spec/support/shared/shared_examples_is_embargoable.rb +1 -3
- data/spec/support/shared/shared_examples_with_access_rights.rb +13 -16
- data/spec/tasks/rake_spec.rb +9 -11
- data/spec/test_app_templates/Gemfile.extra +4 -1
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +3 -35
- data/spec/views/catalog/index.html.erb_spec.rb +7 -10
- data/spec/views/curation_concerns/base/_attributes.html.erb_spec.rb +9 -6
- data/spec/views/curation_concerns/base/_form_permission.html.erb_spec.rb +13 -0
- data/spec/views/curation_concerns/base/show.html.erb_spec.rb +35 -15
- data/spec/views/curation_concerns/base/show.json.jbuilder_spec.rb +21 -0
- data/spec/views/curation_concerns/file_sets/_file_set.html.erb_spec.rb +37 -0
- data/spec/views/curation_concerns/file_sets/show.json.jbuilder_spec.rb +21 -0
- data/spec/views/curation_concerns/permissions/confirm.html.erb_spec.rb +6 -6
- data/spec/views/error/single_use_error.html.erb_spec.rb +8 -0
- data/spec/views/layouts/error.html.erb_spec.rb +8 -0
- data/spec/views/shared/_add_content.html.erb_spec.rb +33 -20
- data/spec/views/shared/_my_actions.html.erb_spec.rb +18 -6
- data/spec/views/single_use_links/new_download.html.erb_spec.rb +29 -0
- data/spec/views/single_use_links_viewer/show.html.erb_spec.rb +32 -0
- data/tasks/jetty.rake +1 -1
- data/vendor/assets/javascrips/fileupload/jquery.fileupload-process.js +175 -0
- data/vendor/assets/javascrips/fileupload/jquery.fileupload-ui.js +710 -0
- data/vendor/assets/javascrips/fileupload/jquery.fileupload-validate.js +122 -0
- data/vendor/assets/javascrips/fileupload/jquery.fileupload.js +1477 -0
- data/vendor/assets/javascrips/fileupload/locale.js +27 -0
- data/vendor/assets/javascrips/fileupload/tmpl.js +87 -0
- metadata +242 -213
- data/app/assets/javascripts/curation_concerns/help_modal.js +0 -36
- data/app/assets/javascripts/curation_concerns/link_groups.js.coffee +0 -123
- data/app/assets/javascripts/curation_concerns/link_users.js.coffee +0 -126
- data/app/assets/javascripts/curation_concerns/proxy_rights.js.coffee +0 -95
- data/app/assets/javascripts/curation_concerns/proxy_submission.js +0 -23
- data/app/assets/javascripts/curation_concerns/select_works.js.coffee +0 -20
- data/app/controllers/catalog_controller.rb +0 -3
- data/app/controllers/concerns/curation_concerns/generic_files_controller_behavior.rb +0 -149
- data/app/controllers/curation_concerns/generic_files_controller.rb +0 -13
- data/app/datastreams/curation_concerns/generic_work_rdf_properties.rb +0 -57
- data/app/datastreams/generic_work_metadata.rb +0 -3
- data/app/forms/curation_concerns/forms/generic_file_edit_form.rb +0 -15
- data/app/forms/curation_concerns/forms/generic_work_edit_form.rb +0 -9
- data/app/helpers/curation_concerns/attribute_helper.rb +0 -67
- data/app/helpers/curation_concerns/generic_file_helper.rb +0 -19
- data/app/helpers/curation_concerns/thumbnail_helper.rb +0 -11
- data/app/presenters/curation_concerns/generic_file_presenter.rb +0 -14
- data/app/presenters/curation_concerns/generic_work_presenter.rb +0 -13
- data/app/views/catalog/_index_default.html.erb +0 -17
- data/app/views/collections/_form_representative_image.html.erb +0 -13
- data/app/views/collections/_identifier_and_action.html.erb +0 -15
- data/app/views/curation_concerns/base/_form_content_license.html.erb +0 -16
- data/app/views/curation_concerns/base/_form_editors.html.erb +0 -15
- data/app/views/curation_concerns/generic_files/_actions.html.erb +0 -16
- data/app/views/curation_concerns/generic_files/_generic_file.html.erb +0 -12
- data/app/views/curation_concerns/generic_files/_media_display.html.erb +0 -19
- data/app/views/curation_concerns/generic_files/jq_upload.json.jbuilder +0 -8
- data/app/views/curation_concerns/generic_files/show.html.erb +0 -15
- data/app/workers/visibility_copy_worker.rb +0 -30
- data/curation_concerns-models/.gitignore +0 -17
- data/curation_concerns-models/Gemfile +0 -4
- data/curation_concerns-models/LICENSE.md +0 -177
- data/curation_concerns-models/README.md +0 -42
- data/curation_concerns-models/Rakefile +0 -1
- data/curation_concerns-models/app/actors/concerns/curation_concerns/manages_embargoes_actor.rb +0 -99
- data/curation_concerns-models/app/actors/curation_concerns/base_actor.rb +0 -90
- data/curation_concerns-models/app/actors/curation_concerns/generic_file_actor.rb +0 -150
- data/curation_concerns-models/app/actors/curation_concerns/work_actor_behavior.rb +0 -88
- data/curation_concerns-models/app/jobs/active_fedora_id_based_job.rb +0 -22
- data/curation_concerns-models/app/jobs/active_fedora_pid_based_job.rb +0 -6
- data/curation_concerns-models/app/jobs/audit_job.rb +0 -58
- data/curation_concerns-models/app/jobs/characterize_job.rb +0 -11
- data/curation_concerns-models/app/jobs/copy_permissions_job.rb +0 -24
- data/curation_concerns-models/app/jobs/create_derivatives_job.rb +0 -15
- data/curation_concerns-models/app/jobs/import_url_job.rb +0 -56
- data/curation_concerns-models/app/jobs/ingest_local_file_job.rb +0 -48
- data/curation_concerns-models/app/jobs/resolrize_job.rb +0 -9
- data/curation_concerns-models/app/models/checksum_audit_log.rb +0 -21
- data/curation_concerns-models/app/models/concerns/curation_concerns/ability.rb +0 -34
- data/curation_concerns-models/app/models/concerns/curation_concerns/basic_metadata.rb +0 -87
- data/curation_concerns-models/app/models/concerns/curation_concerns/collection_behavior.rb +0 -47
- data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/belongs_to_works.rb +0 -53
- data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/characterization.rb +0 -89
- data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/content.rb +0 -8
- data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/export.rb +0 -343
- data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/full_text_indexing.rb +0 -12
- data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/indexing.rb +0 -14
- data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file/versions.rb +0 -16
- data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file.rb +0 -5
- data/curation_concerns-models/app/models/concerns/curation_concerns/generic_file_behavior.rb +0 -44
- data/curation_concerns-models/app/models/concerns/curation_concerns/generic_work_behavior.rb +0 -38
- data/curation_concerns-models/app/models/concerns/curation_concerns/has_representative.rb +0 -14
- data/curation_concerns-models/app/models/concerns/curation_concerns/human_readable_type.rb +0 -23
- data/curation_concerns-models/app/models/concerns/curation_concerns/permissions/readable.rb +0 -19
- data/curation_concerns-models/app/models/concerns/curation_concerns/permissions/writable.rb +0 -75
- data/curation_concerns-models/app/models/concerns/curation_concerns/permissions.rb +0 -7
- data/curation_concerns-models/app/models/concerns/curation_concerns/serializers.rb +0 -15
- data/curation_concerns-models/app/models/concerns/curation_concerns/solr_document_behavior.rb +0 -135
- data/curation_concerns-models/app/models/concerns/curation_concerns/user.rb +0 -65
- data/curation_concerns-models/app/models/concerns/curation_concerns/with_basic_metadata.rb +0 -98
- data/curation_concerns-models/app/models/concerns/curation_concerns/with_generic_files.rb +0 -29
- data/curation_concerns-models/app/models/curation_concerns/classify_concern.rb +0 -47
- data/curation_concerns-models/app/models/curation_concerns/quick_classification_query.rb +0 -31
- data/curation_concerns-models/app/models/datastreams/fits_datastream.rb +0 -148
- data/curation_concerns-models/app/models/version_committer.rb +0 -2
- data/curation_concerns-models/app/services/curation_concerns/characterization_service.rb +0 -71
- data/curation_concerns-models/app/services/curation_concerns/full_text_extraction_service.rb +0 -38
- data/curation_concerns-models/app/services/curation_concerns/generic_file_audit_service.rb +0 -85
- data/curation_concerns-models/app/services/curation_concerns/generic_file_indexing_service.rb +0 -14
- data/curation_concerns-models/app/services/curation_concerns/generic_work_indexing_service.rb +0 -16
- data/curation_concerns-models/app/services/curation_concerns/noid.rb +0 -23
- data/curation_concerns-models/app/services/curation_concerns/repository_audit_service.rb +0 -9
- data/curation_concerns-models/app/services/curation_concerns/versioning_service.rb +0 -27
- data/curation_concerns-models/config/locales/curation_concerns.en.yml +0 -6
- data/curation_concerns-models/curation_concerns-models.gemspec +0 -34
- data/curation_concerns-models/lib/curation_concerns/messages.rb +0 -66
- data/curation_concerns-models/lib/curation_concerns/models/engine.rb +0 -61
- data/curation_concerns-models/lib/curation_concerns/models/resque.rb +0 -36
- data/curation_concerns-models/lib/curation_concerns/models/utils.rb +0 -22
- data/curation_concerns-models/lib/curation_concerns/models/version.rb +0 -5
- data/curation_concerns-models/lib/curation_concerns/models.rb +0 -32
- data/curation_concerns-models/lib/generators/curation_concerns/models/abstract_migration_generator.rb +0 -30
- data/curation_concerns-models/lib/generators/curation_concerns/models/clamav_generator.rb +0 -19
- data/curation_concerns-models/lib/generators/curation_concerns/models/fulltext_generator.rb +0 -28
- data/curation_concerns-models/lib/generators/curation_concerns/models/install_generator.rb +0 -70
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/app/models/collection.rb +0 -4
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/app/models/generic_file.rb +0 -4
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/clamav.rb +0 -1
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/curation_concerns.rb +0 -123
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/mime_types.rb +0 -6
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/redis.yml +0 -9
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/redis_config.rb +0 -32
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/resque-pool.yml +0 -1
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/resque_admin.rb +0 -10
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/config/resque_config.rb +0 -5
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/migrations/create_checksum_audit_logs.rb +0 -19
- data/curation_concerns-models/lib/generators/curation_concerns/models/templates/migrations/create_version_committers.rb +0 -15
- data/curation_concerns-models/lib/tasks/curation_concerns-models_tasks.rake +0 -75
- data/curation_concerns-models/lib/tasks/migrate.rake +0 -13
- data/curation_concerns-models/lib/tasks/resque.rake +0 -13
- data/curation_concerns-models/lib/tasks/solr_reindex.rake +0 -8
- data/lib/curation_concerns/configuration.rb +0 -74
- data/lib/generators/curation_concerns/templates/curation_concerns_config.rb +0 -2
- data/solr_conf/conf/solrconfig.xml +0 -223
- data/spec/abilities/generic_file_abilities_spec.rb +0 -62
- data/spec/actors/curation_concerns/generic_file_actor_spec.rb +0 -116
- data/spec/controllers/curation_concerns/generic_files_controller_spec.rb +0 -251
- data/spec/forms/generic_file_edit_form_spec.rb +0 -33
- data/spec/helpers/thumbnail_helper_spec.rb +0 -21
- data/spec/jobs/copy_permissions_job_spec.rb +0 -49
- data/spec/jobs/curation_concerns_resque_queue_spec.rb +0 -49
- data/spec/models/curation_concerns/generic_file/derivatives_spec.rb +0 -88
- data/spec/models/curation_concerns/generic_work_behavior_spec.rb +0 -35
- data/spec/models/fits_datastream_spec.rb +0 -127
- data/spec/models/generic_file_spec.rb +0 -619
- data/spec/presenters/curation_concerns/generic_file_presenter_spec.rb +0 -16
- data/spec/services/characterization_service_spec.rb +0 -30
- data/spec/services/full_text_extraction_service_spec.rb +0 -5
- data/spec/services/generic_file_audit_service_spec.rb +0 -71
- data/spec/services/generic_file_indexing_service_spec.rb +0 -57
- data/spec/services/generic_work_indexing_service_spec.rb +0 -18
- data/spec/workers/visibility_copy_worker_spec.rb +0 -70
- data/vendor/assets/javascripts/handlebars.js +0 -2278
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.autocomplete.js +0 -602
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.core.js +0 -356
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.effect-highlight.js +0 -50
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.effect.js +0 -1276
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.menu.js +0 -610
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.position.js +0 -498
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.widget.js +0 -528
- data/vendor/assets/javascripts/jquery.tokeninput.js +0 -1061
- data/vendor/assets/stylesheets/jquery-ui-lightness.css +0 -474
- data/vendor/assets/stylesheets/token-input-facebook.css +0 -122
- data/vendor/assets/stylesheets/token-input-mac.css +0 -204
- data/vendor/assets/stylesheets/token-input.css +0 -127
@@ -1,74 +0,0 @@
|
|
1
|
-
module CurationConcerns
|
2
|
-
|
3
|
-
class << self
|
4
|
-
attr_accessor :configuration
|
5
|
-
end
|
6
|
-
|
7
|
-
def self.configure
|
8
|
-
self.configuration ||= Configuration.new
|
9
|
-
yield(configuration)
|
10
|
-
end
|
11
|
-
|
12
|
-
class Configuration
|
13
|
-
# An anonymous function that receives a path to a file
|
14
|
-
# and returns AntiVirusScanner::NO_VIRUS_FOUND_RETURN_VALUE if no
|
15
|
-
# virus is found; Any other returned value means a virus was found
|
16
|
-
attr_writer :default_antivirus_instance
|
17
|
-
def default_antivirus_instance
|
18
|
-
@default_antivirus_instance ||= lambda {|file_path|
|
19
|
-
AntiVirusScanner::NO_VIRUS_FOUND_RETURN_VALUE
|
20
|
-
}
|
21
|
-
end
|
22
|
-
|
23
|
-
# Configure default search options from config/search_config.yml
|
24
|
-
attr_writer :search_config
|
25
|
-
def search_config
|
26
|
-
@search_config ||= "search_config not set"
|
27
|
-
end
|
28
|
-
|
29
|
-
# Configure the application root url.
|
30
|
-
attr_writer :application_root_url
|
31
|
-
def application_root_url
|
32
|
-
@application_root_url || (raise RuntimeError.new("Make sure to set your CurationConcerns.configuration.application_root_url"))
|
33
|
-
end
|
34
|
-
|
35
|
-
# When was this last built/deployed
|
36
|
-
attr_writer :build_identifier
|
37
|
-
def build_identifier
|
38
|
-
# If you restart the server, this could be out of sync; A better
|
39
|
-
# implementation is to read something from the file system. However
|
40
|
-
# that detail is an exercise for the developer.
|
41
|
-
@build_identifier ||= Time.now.strftime("%Y-%m-%d %H:%M:%S")
|
42
|
-
end
|
43
|
-
|
44
|
-
# Override characterization runner
|
45
|
-
attr_accessor :characterization_runner
|
46
|
-
|
47
|
-
def register_curation_concern(*curation_concern_types)
|
48
|
-
Array(curation_concern_types).flatten.compact.each do |cc_type|
|
49
|
-
class_name = normalize_concern_name(cc_type)
|
50
|
-
if ! registered_curation_concern_types.include?(class_name)
|
51
|
-
self.registered_curation_concern_types << class_name
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
# Returns the class names (strings) of the registered curation concerns
|
57
|
-
def registered_curation_concern_types
|
58
|
-
@registered_curation_concern_types ||= []
|
59
|
-
end
|
60
|
-
|
61
|
-
# Returns the classes of the registered curation concerns
|
62
|
-
def curation_concerns
|
63
|
-
registered_curation_concern_types.map(&:constantize)
|
64
|
-
end
|
65
|
-
|
66
|
-
private
|
67
|
-
|
68
|
-
def normalize_concern_name(c)
|
69
|
-
c.to_s.camelize
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
configure {}
|
74
|
-
end
|
@@ -1,223 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" ?>
|
2
|
-
<config>
|
3
|
-
<!-- NOTE: various comments and unused configuration possibilities have been purged
|
4
|
-
from this file. Please refer to http://wiki.apache.org/solr/SolrConfigXml,
|
5
|
-
as well as the default solrconfig file included with Solr -->
|
6
|
-
|
7
|
-
<abortOnConfigurationError>${solr.abortOnConfigurationError:true}</abortOnConfigurationError>
|
8
|
-
|
9
|
-
<luceneMatchVersion>LUCENE_40</luceneMatchVersion>
|
10
|
-
|
11
|
-
<directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
|
12
|
-
|
13
|
-
<!-- solr lib dirs -->
|
14
|
-
<lib dir="../lib/contrib/analysis-extras/lib" />
|
15
|
-
<lib dir="../lib/contrib/analysis-extras/lucene-libs" />
|
16
|
-
<!-- for full-text indexing -->
|
17
|
-
<lib dir="../lib/contrib/extraction/lib" regex=".*\.jar" />
|
18
|
-
|
19
|
-
<dataDir>${solr.data.dir:}</dataDir>
|
20
|
-
|
21
|
-
<!-- The default high-performance update handler -->
|
22
|
-
<updateHandler class="solr.DirectUpdateHandler2">
|
23
|
-
|
24
|
-
<!-- Enables a transaction log, used for real-time get, durability, and
|
25
|
-
and solr cloud replica recovery. The log can grow as big as
|
26
|
-
uncommitted changes to the index, so use of a hard autoCommit
|
27
|
-
is recommended (see below).
|
28
|
-
"dir" - the target directory for transaction logs, defaults to the
|
29
|
-
solr data directory. -->
|
30
|
-
<updateLog>
|
31
|
-
<str name="dir">${solr.ulog.dir:}</str>
|
32
|
-
</updateLog>
|
33
|
-
|
34
|
-
<!-- AutoCommit
|
35
|
-
Perform a hard commit automatically under certain conditions.
|
36
|
-
Instead of enabling autoCommit, consider using "commitWithin"
|
37
|
-
when adding documents.
|
38
|
-
http://wiki.apache.org/solr/UpdateXmlMessages
|
39
|
-
maxDocs - Maximum number of documents to add since the last
|
40
|
-
commit before automatically triggering a new commit.
|
41
|
-
maxTime - Maximum amount of time in ms that is allowed to pass
|
42
|
-
since a document was added before automatically
|
43
|
-
triggering a new commit.
|
44
|
-
openSearcher - if false, the commit causes recent index changes
|
45
|
-
to be flushed to stable storage, but does not cause a new
|
46
|
-
searcher to be opened to make those changes visible.
|
47
|
-
If the updateLog is enabled, then it's highly recommended to
|
48
|
-
have some sort of hard autoCommit to limit the log size.
|
49
|
-
-->
|
50
|
-
<autoCommit>
|
51
|
-
<maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
|
52
|
-
<openSearcher>false</openSearcher>
|
53
|
-
</autoCommit>
|
54
|
-
|
55
|
-
<!-- softAutoCommit is like autoCommit except it causes a
|
56
|
-
'soft' commit which only ensures that changes are visible
|
57
|
-
but does not ensure that data is synced to disk. This is
|
58
|
-
faster and more near-realtime friendly than a hard commit.
|
59
|
-
-->
|
60
|
-
|
61
|
-
<autoSoftCommit>
|
62
|
-
<maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
|
63
|
-
</autoSoftCommit>
|
64
|
-
|
65
|
-
</updateHandler>
|
66
|
-
|
67
|
-
<requestHandler name="search" class="solr.SearchHandler" default="true">
|
68
|
-
<!-- default values for query parameters can be specified, these
|
69
|
-
will be overridden by parameters in the request
|
70
|
-
-->
|
71
|
-
<lst name="defaults">
|
72
|
-
<str name="defType">edismax</str>
|
73
|
-
<str name="echoParams">explicit</str>
|
74
|
-
<str name="q.alt">*:*</str>
|
75
|
-
<str name="mm">2<-1 5<-2 6<90%</str>
|
76
|
-
<int name="qs">1</int>
|
77
|
-
<int name="ps">2</int>
|
78
|
-
<float name="tie">0.01</float>
|
79
|
-
<!-- this qf and pf are used by default, if not otherwise specified by
|
80
|
-
client. The default blacklight_config will use these for the
|
81
|
-
"keywords" search. See the author_qf/author_pf, title_qf, etc
|
82
|
-
below, which the default blacklight_config will specify for
|
83
|
-
those searches. You may also be interested in:
|
84
|
-
http://wiki.apache.org/solr/LocalParams
|
85
|
-
-->
|
86
|
-
<str name="qf">
|
87
|
-
id
|
88
|
-
all_text_timv
|
89
|
-
active_fedora_model_ssi
|
90
|
-
object_type_si
|
91
|
-
</str>
|
92
|
-
<str name="pf">
|
93
|
-
all_text_timv^10
|
94
|
-
</str>
|
95
|
-
|
96
|
-
<str name="author_qf">
|
97
|
-
</str>
|
98
|
-
<str name="author_pf">
|
99
|
-
</str>
|
100
|
-
<str name="title_qf">
|
101
|
-
</str>
|
102
|
-
<str name="title_pf">
|
103
|
-
</str>
|
104
|
-
<str name="subject_qf">
|
105
|
-
</str>
|
106
|
-
<str name="subject_pf">
|
107
|
-
</str>
|
108
|
-
|
109
|
-
<str name="fl">
|
110
|
-
*,
|
111
|
-
score
|
112
|
-
</str>
|
113
|
-
|
114
|
-
<str name="facet">true</str>
|
115
|
-
<str name="facet.mincount">1</str>
|
116
|
-
<str name="facet.limit">10</str>
|
117
|
-
<str name="facet.field">active_fedora_model_ssi</str>
|
118
|
-
<str name="facet.field">object_type_si</str>
|
119
|
-
|
120
|
-
<str name="spellcheck">true</str>
|
121
|
-
<str name="spellcheck.dictionary">default</str>
|
122
|
-
<str name="spellcheck.onlyMorePopular">true</str>
|
123
|
-
<str name="spellcheck.extendedResults">true</str>
|
124
|
-
<str name="spellcheck.collate">false</str>
|
125
|
-
<str name="spellcheck.count">5</str>
|
126
|
-
|
127
|
-
</lst>
|
128
|
-
<arr name="last-components">
|
129
|
-
<str>spellcheck</str>
|
130
|
-
</arr>
|
131
|
-
</requestHandler>
|
132
|
-
|
133
|
-
<requestHandler name="permissions" class="solr.SearchHandler" >
|
134
|
-
<lst name="defaults">
|
135
|
-
<str name="facet">off</str>
|
136
|
-
<str name="echoParams">all</str>
|
137
|
-
<str name="rows">1</str>
|
138
|
-
<str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
|
139
|
-
<str name="fl">
|
140
|
-
id,
|
141
|
-
access_ssim,
|
142
|
-
discover_access_group_ssim,discover_access_person_ssim,
|
143
|
-
read_access_group_ssim,read_access_person_ssim,
|
144
|
-
edit_access_group_ssim,edit_access_person_ssim,
|
145
|
-
depositor_ti,
|
146
|
-
embargo_release_date_dtsi
|
147
|
-
inheritable_access_ssim,
|
148
|
-
inheritable_discover_access_group_ssim,inheritable_discover_access_person_ssim,
|
149
|
-
inheritable_read_access_group_ssim,inheritable_read_access_person_ssim,
|
150
|
-
inheritable_edit_access_group_ssim,inheritable_edit_access_person_ssim,
|
151
|
-
inheritable_embargo_release_date_dtsi
|
152
|
-
</str>
|
153
|
-
</lst>
|
154
|
-
</requestHandler>
|
155
|
-
|
156
|
-
<requestHandler name="/update/extract" startup="lazy" class="org.apache.solr.handler.extraction.ExtractingRequestHandler" >
|
157
|
-
<lst name="defaults">
|
158
|
-
<!-- All the main content goes into "text"... if you need to return the extracted text or do highlighting, use a stored field. -->
|
159
|
-
<str name="fmap.content">text</str>
|
160
|
-
<str name="lowernames">true</str>
|
161
|
-
<str name="uprefix">ignored_</str>
|
162
|
-
<!-- capture link hrefs but ignore div attributes -->
|
163
|
-
<str name="captureAttr">true</str>
|
164
|
-
<str name="fmap.a">links</str>
|
165
|
-
<str name="fmap.div">ignored_</str>
|
166
|
-
</lst>
|
167
|
-
</requestHandler>
|
168
|
-
|
169
|
-
<requestHandler name="standard" class="solr.SearchHandler">
|
170
|
-
<lst name="defaults">
|
171
|
-
<str name="echoParams">explicit</str>
|
172
|
-
<str name="defType">lucene</str>
|
173
|
-
</lst>
|
174
|
-
</requestHandler>
|
175
|
-
|
176
|
-
<!-- for requests to get a single document; use id=666 instead of q=id:666 -->
|
177
|
-
<requestHandler name="document" class="solr.SearchHandler" >
|
178
|
-
<lst name="defaults">
|
179
|
-
<str name="echoParams">all</str>
|
180
|
-
<str name="fl">*</str>
|
181
|
-
<str name="rows">1</str>
|
182
|
-
<str name="q">{!raw f=id v=$id}</str> <!-- use id=666 instead of q=id:666 -->
|
183
|
-
</lst>
|
184
|
-
</requestHandler>
|
185
|
-
|
186
|
-
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
|
187
|
-
<str name="queryAnalyzerFieldType">textSpell</str>
|
188
|
-
<!-- Multiple "Spell Checkers" can be declared and used by this component
|
189
|
-
(e.g. for title_spell field)
|
190
|
-
-->
|
191
|
-
<lst name="spellchecker">
|
192
|
-
<str name="name">default</str>
|
193
|
-
<str name="field">spell</str>
|
194
|
-
<str name="spellcheckIndexDir">./spell</str>
|
195
|
-
<str name="buildOnOptimize">true</str>
|
196
|
-
</lst>
|
197
|
-
</searchComponent>
|
198
|
-
|
199
|
-
<requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
|
200
|
-
|
201
|
-
<requestDispatcher handleSelect="true" >
|
202
|
-
<requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
|
203
|
-
</requestDispatcher>
|
204
|
-
|
205
|
-
<requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" />
|
206
|
-
<requestHandler name="/update" class="solr.UpdateRequestHandler" />
|
207
|
-
<requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
|
208
|
-
|
209
|
-
<requestHandler name="/admin/ping" class="solr.PingRequestHandler">
|
210
|
-
<lst name="invariants">
|
211
|
-
<str name="q">solrpingquery</str>
|
212
|
-
</lst>
|
213
|
-
<lst name="defaults">
|
214
|
-
<str name="echoParams">all</str>
|
215
|
-
</lst>
|
216
|
-
</requestHandler>
|
217
|
-
|
218
|
-
<!-- config for the admin interface -->
|
219
|
-
<admin>
|
220
|
-
<defaultQuery>search</defaultQuery>
|
221
|
-
</admin>
|
222
|
-
|
223
|
-
</config>
|
@@ -1,62 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require "cancan/matchers"
|
3
|
-
|
4
|
-
describe "User" do
|
5
|
-
describe "Abilities" do
|
6
|
-
subject { ability }
|
7
|
-
let(:ability) { Ability.new(current_user) }
|
8
|
-
let(:visibility) { Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE }
|
9
|
-
let(:creating_user) { FactoryGirl.create(:user) }
|
10
|
-
let(:user) { FactoryGirl.create(:user) }
|
11
|
-
let(:current_user) { user }
|
12
|
-
let(:generic_work) { FactoryGirl.create(:generic_work, visibility: visibility, user:creating_user) }
|
13
|
-
let(:generic_file) { FactoryGirl.create(:generic_file, visibility: visibility, user:creating_user) }
|
14
|
-
|
15
|
-
describe 'without embargo' do
|
16
|
-
describe 'creator of object' do
|
17
|
-
let(:creating_user) { user }
|
18
|
-
let(:current_user) { user }
|
19
|
-
it {
|
20
|
-
should be_able_to(:create, GenericFile.new)
|
21
|
-
should be_able_to(:read, generic_file)
|
22
|
-
should be_able_to(:update, generic_file)
|
23
|
-
should_not be_able_to(:delete, generic_file)
|
24
|
-
}
|
25
|
-
end
|
26
|
-
|
27
|
-
describe 'as a repository manager' do
|
28
|
-
let(:manager_user) { FactoryGirl.create(:admin) }
|
29
|
-
let(:creating_user) { user }
|
30
|
-
let(:current_user) { manager_user }
|
31
|
-
it {
|
32
|
-
should be_able_to(:create, ::GenericFile.new)
|
33
|
-
should be_able_to(:read, generic_file)
|
34
|
-
should be_able_to(:update, generic_file)
|
35
|
-
should be_able_to(:destroy, generic_file)
|
36
|
-
}
|
37
|
-
end
|
38
|
-
|
39
|
-
describe 'another authenticated user' do
|
40
|
-
let(:creating_user) { FactoryGirl.create(:user) }
|
41
|
-
let(:current_user) { user }
|
42
|
-
it {
|
43
|
-
should be_able_to(:create, ::GenericFile.new)
|
44
|
-
should_not be_able_to(:read, generic_file)
|
45
|
-
should_not be_able_to(:update, generic_file)
|
46
|
-
should_not be_able_to(:delete, generic_file)
|
47
|
-
}
|
48
|
-
end
|
49
|
-
|
50
|
-
describe 'a nil user' do
|
51
|
-
let(:creating_user) { FactoryGirl.create(:user) }
|
52
|
-
let(:current_user) { nil }
|
53
|
-
it {
|
54
|
-
should_not be_able_to(:create, GenericFile.new)
|
55
|
-
should_not be_able_to(:read, generic_file)
|
56
|
-
should_not be_able_to(:update, generic_file)
|
57
|
-
should_not be_able_to(:delete, generic_file)
|
58
|
-
}
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
@@ -1,116 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe CurationConcerns::GenericFileActor do
|
4
|
-
include ActionDispatch::TestProcess
|
5
|
-
|
6
|
-
let(:user) { FactoryGirl.create(:user) }
|
7
|
-
let(:generic_file) { FactoryGirl.create(:generic_file) }
|
8
|
-
let(:actor) { CurationConcerns::GenericFileActor.new(generic_file, user) }
|
9
|
-
let(:uploaded_file) { fixture_file_upload('/world.png','image/png') }
|
10
|
-
|
11
|
-
describe "creating metadata and content" do
|
12
|
-
let(:batch_id) { nil }
|
13
|
-
let(:work_id) { nil }
|
14
|
-
subject { generic_file.reload }
|
15
|
-
before do
|
16
|
-
allow(actor).to receive(:save_characterize_and_record_committer).and_return("true")
|
17
|
-
actor.create_metadata(batch_id, work_id)
|
18
|
-
actor.create_content(uploaded_file)
|
19
|
-
end
|
20
|
-
context "when a work_id is provided" do
|
21
|
-
let(:work) { FactoryGirl.create(:generic_work) }
|
22
|
-
let(:work_id) { work.id }
|
23
|
-
it "adds the generic file to the parent work" do
|
24
|
-
expect(subject.generic_works).to eq [work]
|
25
|
-
expect(work.reload.generic_files).to include(subject)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
describe "#create_content" do
|
31
|
-
let(:deposit_message) { double('deposit message') }
|
32
|
-
let(:characterize_message) { double('characterize message') }
|
33
|
-
before do
|
34
|
-
allow(CurationConcerns.queue).to receive(:push)
|
35
|
-
end
|
36
|
-
|
37
|
-
it "uses the provided mime_type" do
|
38
|
-
actor.create_content(uploaded_file)
|
39
|
-
expect(generic_file.original_file.mime_type).to eq "image/png"
|
40
|
-
end
|
41
|
-
|
42
|
-
context "when generic_file.title is empty and generic_file.label is not" do
|
43
|
-
let(:file) { "world.png" }
|
44
|
-
let(:long_name) { "an absurdly long title that goes on way to long and messes up the display of the page which should not need to be this big in order to show this impossibly long, long, long, oh so long string" }
|
45
|
-
let(:short_name) { "Nice Short Name" }
|
46
|
-
let(:actor) { CurationConcerns::GenericFileActor.new(generic_file, user) }
|
47
|
-
before do
|
48
|
-
allow(generic_file).to receive(:label).and_return(short_name)
|
49
|
-
allow(CurationConcerns.queue).to receive(:push)
|
50
|
-
actor.create_content(fixture_file_upload(file))
|
51
|
-
end
|
52
|
-
subject { generic_file.title }
|
53
|
-
it { is_expected.to eql [short_name] }
|
54
|
-
end
|
55
|
-
|
56
|
-
context "with two existing versions from different users" do
|
57
|
-
|
58
|
-
let(:file1) { "world.png" }
|
59
|
-
let(:file2) { "small_file.txt" }
|
60
|
-
let(:actor1) { CurationConcerns::GenericFileActor.new(generic_file, user) }
|
61
|
-
let(:actor2) { CurationConcerns::GenericFileActor.new(generic_file, second_user) }
|
62
|
-
|
63
|
-
let(:second_user) { FactoryGirl.find_or_create(:archivist) }
|
64
|
-
let(:versions) { generic_file.original_file.versions }
|
65
|
-
|
66
|
-
before do
|
67
|
-
allow(CurationConcerns.queue).to receive(:push)
|
68
|
-
actor1.create_content(fixture_file_upload(file1))
|
69
|
-
actor2.create_content(fixture_file_upload(file2))
|
70
|
-
end
|
71
|
-
|
72
|
-
it "should have two versions" do
|
73
|
-
expect(versions.all.count).to eq 2
|
74
|
-
end
|
75
|
-
|
76
|
-
it "should have the current version" do
|
77
|
-
expect(CurationConcerns::VersioningService.latest_version_of(generic_file.original_file).label).to eq 'version2'
|
78
|
-
expect(generic_file.original_file.content).to eq fixture_file_upload(file2).read
|
79
|
-
expect(generic_file.original_file.mime_type).to eq "text/plain"
|
80
|
-
expect(generic_file.original_file.original_name).to eq file2
|
81
|
-
end
|
82
|
-
|
83
|
-
it "should use the first version for the object's title and label" do
|
84
|
-
expect(generic_file.label).to eql(file1)
|
85
|
-
expect(generic_file.title.first).to eql(file1)
|
86
|
-
end
|
87
|
-
|
88
|
-
it "should note the user for each version" do
|
89
|
-
expect(VersionCommitter.where(version_id: versions.first.uri).pluck(:committer_login)).to eq [user.user_key]
|
90
|
-
expect(VersionCommitter.where(version_id: versions.last.uri).pluck(:committer_login)).to eq [second_user.user_key]
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
context "when a label is already specified" do
|
96
|
-
let(:label) { "test_file.png" }
|
97
|
-
let(:new_file) { "foo.jpg" }
|
98
|
-
let(:generic_file_with_label) do
|
99
|
-
GenericFile.new.tap do |f|
|
100
|
-
f.apply_depositor_metadata(user.user_key)
|
101
|
-
f.label = label
|
102
|
-
end
|
103
|
-
end
|
104
|
-
let(:actor) { CurationConcerns::GenericFileActor.new(generic_file_with_label, user)}
|
105
|
-
|
106
|
-
before do
|
107
|
-
allow(actor).to receive(:save_characterize_and_record_committer).and_return("true")
|
108
|
-
allow(Hydra::Works::UploadFileToGenericFile).to receive(:call)
|
109
|
-
actor.create_content(Tempfile.new(new_file))
|
110
|
-
end
|
111
|
-
|
112
|
-
it "will retain the object's original label" do
|
113
|
-
expect(generic_file_with_label.label).to eql(label)
|
114
|
-
end
|
115
|
-
end
|
116
|
-
end
|