hyrax 5.1.0 → 5.3.0
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/.dassie/.env +5 -1
- data/.dassie/Gemfile +5 -3
- data/.dassie/app/assets/images/bulkrax/removed.png +0 -0
- data/.dassie/app/assets/javascripts/application.js +2 -0
- data/.dassie/app/assets/stylesheets/application.css +1 -0
- data/.dassie/app/controllers/catalog_controller.rb +1 -0
- data/.dassie/app/forms/admin_set_resource_form.rb +6 -0
- data/.dassie/app/forms/collection_resource_form.rb +5 -2
- data/.dassie/app/forms/generic_work_resource_form.rb +5 -2
- data/.dassie/app/forms/monograph_form.rb +5 -3
- data/.dassie/app/indexers/admin_set_resource_indexer.rb +5 -0
- data/.dassie/app/indexers/collection_resource_indexer.rb +3 -3
- data/.dassie/app/indexers/generic_work_resource_indexer.rb +6 -3
- data/.dassie/app/indexers/monograph_indexer.rb +6 -2
- data/.dassie/app/models/ability.rb +8 -0
- data/.dassie/app/models/collection_resource.rb +4 -2
- data/.dassie/app/models/concerns/bulkrax/has_local_processing.rb +8 -0
- data/.dassie/app/models/generic_work_resource.rb +5 -2
- data/.dassie/app/models/monograph.rb +5 -2
- data/.dassie/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
- data/.dassie/bin/importer +142 -0
- data/.dassie/bin/web +4 -0
- data/.dassie/config/application.rb +1 -1
- data/.dassie/config/browse_everything_providers.yml +1 -1
- data/.dassie/config/bulkrax_api.yml +86 -0
- data/.dassie/config/initializers/bulkrax.rb +92 -0
- data/.dassie/config/initializers/clamav.rb +2 -0
- data/.dassie/config/initializers/devise.rb +1 -0
- data/.dassie/config/initializers/hyrax.rb +7 -1
- data/.dassie/config/initializers/riiif.rb +4 -80
- data/.dassie/config/initializers/wings.rb +1 -1
- data/.dassie/config/metadata_profiles/m3_profile.yaml +929 -0
- data/.dassie/config/puma.rb +4 -2
- data/.dassie/config/routes.rb +7 -0
- data/.dassie/config/sidekiq.yml +17 -0
- data/.dassie/config/uv/uv.html +63 -81
- data/.dassie/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb +9 -0
- data/.dassie/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb +5 -0
- data/.dassie/db/migrate/20250826142438_create_bulkrax_importers.bulkrax.rb +19 -0
- data/.dassie/db/migrate/20250826142439_create_bulkrax_importer_runs.bulkrax.rb +17 -0
- data/.dassie/db/migrate/20250826142440_create_bulkrax_entries.bulkrax.rb +17 -0
- data/.dassie/db/migrate/20250826142441_add_status_to_entry.bulkrax.rb +10 -0
- data/.dassie/db/migrate/20250826142442_add_collections_to_importer_runs.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142443_change_collection_ids_on_entries.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142444_create_bulkrax_exporters.bulkrax.rb +20 -0
- data/.dassie/db/migrate/20250826142445_create_bulkrax_exporter_runs.bulkrax.rb +15 -0
- data/.dassie/db/migrate/20250826142446_change_importer_and_exporter_to_polymorphic.bulkrax.rb +19 -0
- data/.dassie/db/migrate/20250826142447_add_total_collection_records_to_importer_runs.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142448_add_children_to_importer_runs.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142449_change_total_records_to_total_work_entries.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142450_change_entry_last_error.bulkrax.rb +20 -0
- data/.dassie/db/migrate/20250826142451_add_validate_only_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142452_add_status_to_importers.bulkrax.rb +10 -0
- data/.dassie/db/migrate/20250826142453_remove_foreign_key_from_bulkrax_entries.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142454_add_status_to_exporters.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142455_add_invalid_record_to_importer_run.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142456_create_bulkrax_statuses.bulkrax.rb +19 -0
- data/.dassie/db/migrate/20250826142457_move_to_statuses.bulkrax.rb +31 -0
- data/.dassie/db/migrate/20250826142458_add_date_filter_and_status_to_bulkrax_exporters.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142459_add_workflow_status_to_bulkrax_exporter.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142460_remove_unused_last_error.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142461_increase_text_sizes.bulkrax.rb +13 -0
- data/.dassie/db/migrate/20250826142462_change_bulkrax_statuses_error_message_column_type_to_text.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142463_rename_children_counters_to_relationships.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142464_add_file_set_counters_to_importer_runs.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142465_add_import_attempts_to_entries.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142466_add_work_counters_to_importer_runs.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142467_create_bulkrax_pending_relationships.bulkrax.rb +14 -0
- data/.dassie/db/migrate/20250826142468_add_order_to_bulkrax_pending_relationships.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142469_add_include_thumbnails_to_bulkrax_exporters.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142470_add_generated_metadata_to_bulkrax_exporters.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142471_rename_bulkrax_importer_run_to_importer_run.bulkrax.rb +18 -0
- data/.dassie/db/migrate/20250826142472_add_indices_to_bulkrax.bulkrax.rb +26 -0
- data/.dassie/db/migrate/20250826142473_denormalize_status_message.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142474_update_identifier_index.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142475_add_index_to_metadata_bulkrax_identifier.bulkrax.rb +19 -0
- data/.dassie/db/migrate/20250826142476_add_file_name_to_uploaded_files.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142477_add_error_tracking_to_pending_relationships.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142478_add_last_imported_at_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142479_add_next_import_at_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142480_entry_error_denormalization.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142481_faster_first_entry.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20260430000001_create_hyrax_redirect_paths.hyrax.rb +13 -0
- data/.dassie/db/migrate/20260521003627_add_additional_redirect_info.hyrax.rb +32 -0
- data/.dassie/db/schema.rb +263 -109
- data/.dassie/package.json +1 -1
- data/.dassie/rspec_split_configuration.json +835 -0
- data/.dassie/solr/conf/solrconfig.xml +21 -5
- data/.github/{ISSUE_TEMPLATE.md → ISSUE_TEMPLATE/issue_template.md} +5 -0
- data/.github/workflows/lint-build-test.yml +6 -2
- data/.github/workflows/release-charts.yml +48 -0
- data/.gitignore +6 -0
- data/.koppie/.env +5 -1
- data/.koppie/Gemfile +3 -1
- data/.koppie/app/assets/images/bulkrax/removed.png +0 -0
- data/.koppie/app/assets/javascripts/application.js +2 -0
- data/.koppie/app/assets/stylesheets/application.css +1 -0
- data/.koppie/app/controllers/catalog_controller.rb +1 -1
- data/.koppie/app/forms/collection_resource_form.rb +5 -2
- data/.koppie/app/forms/file_set_form.rb +5 -0
- data/.koppie/app/forms/generic_work_form.rb +5 -3
- data/.koppie/app/forms/monograph_form.rb +5 -3
- data/.koppie/app/indexers/collection_resource_indexer.rb +5 -2
- data/.koppie/app/indexers/file_set_indexer.rb +7 -0
- data/.koppie/app/indexers/generic_work_indexer.rb +6 -3
- data/.koppie/app/indexers/monograph_indexer.rb +6 -2
- data/.koppie/app/models/ability.rb +8 -0
- data/.koppie/app/models/collection_resource.rb +4 -2
- data/.koppie/app/models/concerns/bulkrax/has_local_processing.rb +8 -0
- data/.koppie/app/models/generic_work.rb +5 -2
- data/.koppie/app/models/monograph.rb +5 -2
- data/.koppie/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
- data/.koppie/bin/importer +142 -0
- data/.koppie/bin/web +4 -0
- data/.koppie/config/browse_everything_providers.yml +2 -0
- data/.koppie/config/bulkrax_api.yml +86 -0
- data/.koppie/config/initializers/bulkrax.rb +92 -0
- data/.koppie/config/initializers/clamav.rb +2 -0
- data/.koppie/config/initializers/devise.rb +1 -1
- data/.koppie/config/initializers/hyrax.rb +11 -3
- data/.koppie/config/initializers/riiif.rb +4 -82
- data/.koppie/config/metadata_profiles/m3_profile.yaml +930 -0
- data/.koppie/config/routes.rb +7 -0
- data/.koppie/config/sidekiq.yml +2 -0
- data/.koppie/config/uv/uv.html +63 -81
- data/.koppie/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb +9 -0
- data/.koppie/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb +5 -0
- data/.koppie/db/migrate/20250826142438_create_bulkrax_importers.bulkrax.rb +19 -0
- data/.koppie/db/migrate/20250826142439_create_bulkrax_importer_runs.bulkrax.rb +17 -0
- data/.koppie/db/migrate/20250826142440_create_bulkrax_entries.bulkrax.rb +17 -0
- data/.koppie/db/migrate/20250826142441_add_status_to_entry.bulkrax.rb +10 -0
- data/.koppie/db/migrate/20250826142442_add_collections_to_importer_runs.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142443_change_collection_ids_on_entries.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142444_create_bulkrax_exporters.bulkrax.rb +20 -0
- data/.koppie/db/migrate/20250826142445_create_bulkrax_exporter_runs.bulkrax.rb +15 -0
- data/.koppie/db/migrate/20250826142446_change_importer_and_exporter_to_polymorphic.bulkrax.rb +19 -0
- data/.koppie/db/migrate/20250826142447_add_total_collection_records_to_importer_runs.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142448_add_children_to_importer_runs.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142449_change_total_records_to_total_work_entries.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142450_change_entry_last_error.bulkrax.rb +20 -0
- data/.koppie/db/migrate/20250826142451_add_validate_only_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142452_add_status_to_importers.bulkrax.rb +10 -0
- data/.koppie/db/migrate/20250826142453_remove_foreign_key_from_bulkrax_entries.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142454_add_status_to_exporters.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142455_add_invalid_record_to_importer_run.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142456_create_bulkrax_statuses.bulkrax.rb +19 -0
- data/.koppie/db/migrate/20250826142457_move_to_statuses.bulkrax.rb +31 -0
- data/.koppie/db/migrate/20250826142458_add_date_filter_and_status_to_bulkrax_exporters.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142459_add_workflow_status_to_bulkrax_exporter.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142460_remove_unused_last_error.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142461_increase_text_sizes.bulkrax.rb +13 -0
- data/.koppie/db/migrate/20250826142462_change_bulkrax_statuses_error_message_column_type_to_text.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142463_rename_children_counters_to_relationships.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142464_add_file_set_counters_to_importer_runs.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142465_add_import_attempts_to_entries.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142466_add_work_counters_to_importer_runs.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142467_create_bulkrax_pending_relationships.bulkrax.rb +14 -0
- data/.koppie/db/migrate/20250826142468_add_order_to_bulkrax_pending_relationships.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142469_add_include_thumbnails_to_bulkrax_exporters.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142470_add_generated_metadata_to_bulkrax_exporters.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142471_rename_bulkrax_importer_run_to_importer_run.bulkrax.rb +18 -0
- data/.koppie/db/migrate/20250826142472_add_indices_to_bulkrax.bulkrax.rb +26 -0
- data/.koppie/db/migrate/20250826142473_denormalize_status_message.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142474_update_identifier_index.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142475_add_index_to_metadata_bulkrax_identifier.bulkrax.rb +19 -0
- data/.koppie/db/migrate/20250826142476_add_file_name_to_uploaded_files.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142477_add_error_tracking_to_pending_relationships.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142478_add_last_imported_at_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142479_add_next_import_at_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142480_entry_error_denormalization.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142481_faster_first_entry.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20260430000001_create_hyrax_redirect_paths.hyrax.rb +13 -0
- data/.koppie/db/migrate/20260521003627_add_additional_redirect_info.hyrax.rb +32 -0
- data/.koppie/db/schema.rb +154 -1
- data/.koppie/package.json +1 -1
- data/.koppie/rspec_split_configuration.json +835 -0
- data/.koppie/solr/conf/solrconfig.xml +0 -5
- data/.koppie/yarn.lock +5587 -752
- data/.rubocop.yml +1 -0
- data/CONTAINERS.md +12 -10
- data/Dockerfile +9 -22
- data/Gemfile +1 -1
- data/Gemfile.allinson +2 -0
- data/README.md +1 -2
- data/app/actors/hyrax/actors/file_actor.rb +2 -0
- data/app/actors/hyrax/actors/file_set_actor.rb +1 -1
- data/app/assets/javascripts/hyrax/app.js.erb +143 -10
- data/app/assets/javascripts/hyrax/collection_select.js +68 -0
- data/app/assets/javascripts/hyrax/copy_permalink_button.js +28 -0
- data/app/assets/javascripts/hyrax/redirects.js +45 -0
- data/app/assets/javascripts/hyrax/relationships/control.es6 +21 -1
- data/app/assets/javascripts/hyrax/select_work_type.es6 +7 -2
- data/app/assets/javascripts/hyrax.js +3 -1
- data/app/assets/stylesheets/hyrax/_file-show.scss +1 -0
- data/app/assets/stylesheets/hyrax/_viewer.scss +8 -0
- data/app/assets/stylesheets/hyrax/dashboard.scss +22 -1
- data/app/assets/stylesheets/hyrax/sidebar.scss +98 -3
- data/app/authorities/qa/authorities/collections.rb +9 -9
- data/app/controllers/concerns/hyrax/analytics_error_handling.rb +97 -0
- data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +3 -1
- data/app/controllers/concerns/hyrax/ensure_migrated_behavior.rb +50 -0
- data/app/controllers/concerns/hyrax/flexible_catalog_behavior.rb +206 -0
- data/app/controllers/concerns/hyrax/flexible_schema_behavior.rb +17 -0
- data/app/controllers/concerns/hyrax/redirect_to_display_url.rb +54 -0
- data/app/controllers/concerns/hyrax/valkyrie_downloads_controller_behavior.rb +1 -0
- data/app/controllers/concerns/hyrax/works_controller_behavior.rb +54 -11
- data/app/controllers/hyrax/admin/admin_sets_controller.rb +21 -13
- data/app/controllers/hyrax/admin/analytics/collection_reports_controller.rb +2 -0
- data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +5 -4
- data/app/controllers/hyrax/admin/metadata_profiles_controller.rb +66 -0
- data/app/controllers/hyrax/batch_uploads_controller.rb +2 -0
- data/app/controllers/hyrax/dashboard/collections_controller.rb +27 -6
- data/app/controllers/hyrax/dashboard/nest_collections_controller.rb +2 -1
- data/app/controllers/hyrax/dashboard_controller.rb +2 -1
- data/app/controllers/hyrax/file_sets_controller.rb +20 -2
- data/app/controllers/hyrax/homepage_controller.rb +7 -0
- data/app/controllers/hyrax/my/works_controller.rb +2 -21
- data/app/controllers/hyrax/permissions_controller.rb +4 -2
- data/app/controllers/hyrax/redirects_controller.rb +56 -0
- data/app/controllers/hyrax/single_use_links_viewer_controller.rb +2 -1
- data/app/controllers/hyrax/transcripts_controller.rb +31 -0
- data/app/controllers/hyrax/uploads_controller.rb +18 -9
- data/app/forms/concerns/hyrax/based_near_field_behavior.rb +77 -0
- data/app/forms/concerns/hyrax/flexible_form_behavior.rb +37 -0
- data/app/forms/concerns/hyrax/redirects_field_behavior.rb +95 -0
- data/app/forms/concerns/hyrax/transcripts_behavior.rb +40 -0
- data/app/forms/hyrax/forms/admin_set_form.rb +1 -1
- data/app/forms/hyrax/forms/administrative_set_form.rb +3 -0
- data/app/forms/hyrax/forms/batch_edit_form.rb +1 -3
- data/app/forms/hyrax/forms/batch_upload_form.rb +14 -0
- data/app/forms/hyrax/forms/file_set_edit_form.rb +1 -1
- data/app/forms/hyrax/forms/file_set_form.rb +6 -7
- data/app/forms/hyrax/forms/pcdm_collection_form.rb +17 -5
- data/app/forms/hyrax/forms/pcdm_object_form.rb +11 -3
- data/app/forms/hyrax/forms/resource_batch_edit_form.rb +8 -22
- data/app/forms/hyrax/forms/resource_form.rb +110 -10
- data/app/forms/hyrax/forms.rb +1 -0
- data/app/helpers/hyrax/attributes_helper.rb +109 -0
- data/app/helpers/hyrax/blacklight_override.rb +26 -0
- data/app/helpers/hyrax/collections_helper.rb +2 -0
- data/app/helpers/hyrax/file_set_form_helper.rb +24 -0
- data/app/helpers/hyrax/hyrax_helper_behavior.rb +53 -4
- data/app/helpers/hyrax/iiif_helper.rb +11 -1
- data/app/helpers/hyrax/permalink_helper.rb +37 -0
- data/app/helpers/hyrax/redirects_tab_helper.rb +29 -0
- data/app/helpers/hyrax/trophy_helper.rb +1 -1
- data/app/helpers/hyrax/work_form_helper.rb +9 -5
- data/app/helpers/hyrax/works_helper.rb +14 -0
- data/app/indexers/concerns/hyrax/workflow_indexer.rb +30 -0
- data/app/indexers/hyrax/file_set_indexer.rb +1 -0
- data/app/indexers/hyrax/indexers/administrative_set_indexer.rb +2 -1
- data/app/indexers/hyrax/indexers/file_set_indexer.rb +6 -2
- data/app/indexers/hyrax/indexers/pcdm_collection_indexer.rb +11 -1
- data/app/indexers/hyrax/indexers/pcdm_object_indexer.rb +25 -4
- data/app/indexers/hyrax/indexers/redirects_indexer.rb +29 -0
- data/app/indexers/hyrax/indexers/resource_indexer.rb +4 -0
- data/app/indexers/hyrax/indexers.rb +2 -0
- data/app/inputs/controlled_vocabulary_input.rb +7 -1
- data/app/jobs/concerns/hyrax/queued_job_behavior.rb +22 -0
- data/app/jobs/content_deposit_error_event_job.rb +14 -0
- data/app/jobs/create_work_job.rb +2 -0
- data/app/jobs/hyrax/propagate_change_depositor_job.rb +1 -1
- data/app/jobs/hyrax/queued_delete_job.rb +11 -0
- data/app/jobs/hyrax/queued_indexing_job.rb +11 -0
- data/app/jobs/migrate_files_to_valkyrie_job.rb +39 -21
- data/app/jobs/migrate_sipity_entity_job.rb +21 -0
- data/app/models/batch_upload_item.rb +4 -0
- data/app/models/concerns/hyrax/ability/flexible_metadata_ability.rb +10 -0
- data/app/models/concerns/hyrax/ability.rb +7 -3
- data/app/models/concerns/hyrax/collection_behavior.rb +4 -0
- data/app/models/concerns/hyrax/file_set/transcripts.rb +16 -0
- data/app/models/concerns/hyrax/file_set_behavior.rb +9 -0
- data/app/models/concerns/hyrax/flexibility.rb +107 -0
- data/app/models/concerns/hyrax/redirects_normalization.rb +38 -0
- data/app/models/concerns/hyrax/solr_document/characterization.rb +1 -1
- data/app/models/concerns/hyrax/solr_document/metadata.rb +9 -0
- data/app/models/concerns/hyrax/solr_document/ordered_members.rb +4 -0
- data/app/models/concerns/hyrax/solr_document_behavior.rb +28 -3
- data/app/models/concerns/hyrax/suppressible.rb +1 -1
- data/app/models/concerns/hyrax/valkyrie_lazy_migration.rb +1 -1
- data/app/models/concerns/hyrax/with_embargoes_and_leases.rb +30 -0
- data/app/models/concerns/hyrax/work_behavior.rb +8 -0
- data/app/models/hyrax/administrative_set.rb +1 -1
- data/app/models/hyrax/change_set.rb +3 -1
- data/app/models/hyrax/embargo.rb +3 -1
- data/app/models/hyrax/file_metadata.rb +22 -7
- data/app/models/hyrax/file_set.rb +4 -2
- data/app/models/hyrax/flexible_schema.rb +219 -0
- data/app/models/hyrax/lease.rb +3 -1
- data/app/models/hyrax/pcdm_collection.rb +4 -1
- data/app/models/hyrax/redirect.rb +64 -0
- data/app/models/hyrax/redirect_path.rb +14 -0
- data/app/models/hyrax/resource.rb +22 -25
- data/app/models/hyrax/riiif/file.rb +43 -0
- data/app/models/hyrax/riiif/file_resolver.rb +65 -0
- data/app/models/hyrax/uploaded_file.rb +9 -0
- data/app/models/hyrax/virus_scanner.rb +16 -3
- data/app/models/hyrax/work.rb +4 -1
- data/app/models/job_io_wrapper.rb +12 -3
- data/app/models/user_mailbox.rb +3 -1
- data/app/presenters/hyrax/admin_set_presenter.rb +11 -0
- data/app/presenters/hyrax/annotates_content.rb +35 -0
- data/app/presenters/hyrax/collection_presenter.rb +5 -1
- data/app/presenters/hyrax/displays_content.rb +133 -0
- data/app/presenters/hyrax/displays_image.rb +11 -4
- data/app/presenters/hyrax/displays_transcripts.rb +59 -0
- data/app/presenters/hyrax/file_set_presenter.rb +8 -18
- data/app/presenters/hyrax/google_scholar_presenter.rb +39 -0
- data/app/presenters/hyrax/iiif_manifest_presenter.rb +22 -4
- data/app/presenters/hyrax/missing_method_behavior.rb +15 -0
- data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +2 -4
- data/app/presenters/hyrax/work_show_presenter.rb +56 -14
- data/app/renderers/hyrax/renderers/attribute_renderer.rb +6 -2
- data/app/renderers/hyrax/renderers/license_attribute_renderer.rb +10 -10
- data/app/renderers/hyrax/renderers/redirects_label_attribute_renderer.rb +25 -0
- data/app/renderers/hyrax/renderers/rights_statement_attribute_renderer.rb +10 -11
- data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +1 -5
- data/app/search_builders/hyrax/filter_by_type.rb +1 -1
- data/app/services/hyrax/action/create_valkyrie_work.rb +3 -2
- data/app/services/hyrax/analytics/ga4/base.rb +1 -1
- data/app/services/hyrax/analytics/ga4.rb +5 -1
- data/app/services/hyrax/authority_rendering_helper.rb +28 -0
- data/app/services/hyrax/authority_service.rb +107 -0
- data/app/services/hyrax/callbacks.rb +2 -2
- data/app/services/hyrax/change_depositor_service.rb +1 -1
- data/app/services/hyrax/characterization/valkyrie_characterization_service.rb +21 -13
- data/app/services/hyrax/collections/nested_collection_query_service.rb +9 -3
- data/app/services/hyrax/collections_service.rb +17 -0
- data/app/services/hyrax/custom_queries/find_by_property_value.rb +89 -0
- data/app/services/hyrax/custom_queries/find_ids_by_model.rb +31 -6
- data/app/services/hyrax/edit_permissions_service.rb +11 -10
- data/app/services/hyrax/file_set_type_service.rb +12 -4
- data/app/services/hyrax/flexible_schema_validator_service.rb +153 -0
- data/app/services/hyrax/flexible_schema_validators/class_validator.rb +123 -0
- data/app/services/hyrax/flexible_schema_validators/core_metadata_validator.rb +211 -0
- data/app/services/hyrax/flexible_schema_validators/existing_records_validator.rb +83 -0
- data/app/services/hyrax/flexible_schema_validators/redirects_validator.rb +116 -0
- data/app/services/hyrax/flexible_schema_validators/schema_validator.rb +34 -0
- data/app/services/hyrax/flexible_schema_validators/sort_properties_validator.rb +54 -0
- data/app/services/hyrax/license_service.rb +1 -1
- data/app/services/hyrax/listeners/metadata_index_listener.rb +11 -0
- data/app/services/hyrax/m3_profile_editor.rb +32 -0
- data/app/services/hyrax/m3_schema_loader.rb +119 -0
- data/app/services/hyrax/manifest_builder_service.rb +18 -24
- data/app/services/hyrax/permalink_path.rb +25 -0
- data/app/services/hyrax/qa_select_service.rb +9 -5
- data/app/services/hyrax/redirect_path_normalizer.rb +58 -0
- data/app/services/hyrax/redirects_lookup.rb +59 -0
- data/app/services/hyrax/resource_permissions_visibility_propagator.rb +54 -0
- data/app/services/hyrax/resource_types_service.rb +3 -20
- data/app/services/hyrax/rights_statement_service.rb +1 -1
- data/app/services/hyrax/schema_loader.rb +205 -0
- data/app/services/hyrax/search_service.rb +1 -1
- data/app/services/hyrax/simple_schema_loader.rb +28 -127
- data/app/services/hyrax/solr_service.rb +39 -2
- data/app/services/hyrax/tolerant_select_service.rb +5 -3
- data/app/services/hyrax/valkyrie_upload.rb +2 -2
- data/app/services/hyrax/visibility_propagator.rb +4 -1
- data/app/services/hyrax/work_uploads_handler.rb +17 -9
- data/app/services/hyrax/workflow/workflow_factory.rb +5 -4
- data/app/services/migrate_resource_service.rb +8 -2
- data/app/uploaders/hyrax/uploaded_file_uploader.rb +2 -2
- data/app/utils/hyrax/data_destroyers/collection_branding_destroyer.rb +1 -1
- data/app/utils/hyrax/required_data_seeder.rb +1 -0
- data/app/utils/hyrax/required_data_seeders/collection_type_seeder.rb +1 -1
- data/app/utils/hyrax/required_data_seeders/flexible_profile_seeder.rb +28 -0
- data/app/validators/hyrax/controlled_vocabulary_validator.rb +64 -0
- data/app/validators/hyrax/redirect_validator.rb +128 -0
- data/app/views/_user_util_links.html.erb +2 -1
- data/app/views/catalog/_thumbnail_list_default.html.erb +2 -2
- data/app/views/collections/edit_fields/_schema_version.html.erb +1 -0
- data/app/views/hyrax/admin/admin_sets/_form_metadata.html.erb +24 -2
- data/app/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb +1 -1
- data/app/views/hyrax/admin/admin_sets/show.html.erb +1 -1
- data/app/views/hyrax/admin/analytics/_analytics_error.html.erb +42 -0
- data/app/views/hyrax/admin/analytics/collection_reports/_top_collections.html.erb +3 -7
- data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +11 -9
- data/app/views/hyrax/admin/analytics/work_reports/_top_file_set_downloads.html.erb +3 -6
- data/app/views/hyrax/admin/analytics/work_reports/_top_works.html.erb +2 -3
- data/app/views/hyrax/admin/analytics/work_reports/_work_files.html.erb +1 -6
- data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +60 -57
- data/app/views/hyrax/admin/features/index.html.erb +1 -1
- data/app/views/hyrax/admin/metadata_profiles/_import_modal.html.erb +20 -0
- data/app/views/hyrax/admin/metadata_profiles/index.html.erb +54 -0
- data/app/views/hyrax/base/_attribute_rows.html.erb +4 -21
- data/app/views/hyrax/base/_citations.html.erb +1 -0
- data/app/views/hyrax/base/_currently_shared.html.erb +2 -1
- data/app/views/hyrax/base/_file_manager_thumbnail.html.erb +1 -1
- data/app/views/hyrax/base/_form_member_of_collections.html.erb +6 -6
- data/app/views/hyrax/base/_form_redirects.html.erb +125 -0
- data/app/views/hyrax/base/_form_share.html.erb +7 -2
- data/app/views/hyrax/base/_member.html.erb +1 -1
- data/app/views/hyrax/base/_social_media.html.erb +3 -1
- data/app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb +1 -1
- data/app/views/hyrax/base/show.html.erb +3 -0
- data/app/views/hyrax/collections/_default_group.html.erb +3 -0
- data/app/views/hyrax/collections/_list_collections.html.erb +3 -0
- data/app/views/hyrax/collections/_list_works.html.erb +1 -1
- data/app/views/hyrax/collections/_show_document_list_row.html.erb +1 -1
- data/app/views/hyrax/collections/show.html.erb +4 -0
- data/app/views/hyrax/dashboard/_sidebar.html.erb +4 -2
- data/app/views/hyrax/dashboard/collections/_button_for_update_collection.html.erb +2 -1
- data/app/views/hyrax/dashboard/collections/_default_group.html.erb +3 -0
- data/app/views/hyrax/dashboard/collections/_form.html.erb +17 -0
- data/app/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb +7 -10
- data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +3 -0
- data/app/views/hyrax/dashboard/collections/_list_works.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_show_document_list_menu.html.erb +13 -12
- data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +1 -1
- data/app/views/hyrax/dashboard/profiles/_edit_primary.html.erb +1 -8
- data/app/views/hyrax/dashboard/profiles/_trophy_edit.html.erb +1 -1
- data/app/views/hyrax/dashboard/profiles/show.html.erb +5 -5
- data/app/views/hyrax/dashboard/sidebar/_metadata.html.erb +11 -0
- data/app/views/hyrax/dashboard/sidebar/_repository_content.html.erb +1 -0
- data/app/views/hyrax/dashboard/works/_default_group.html.erb +3 -0
- data/app/views/hyrax/dashboard/works/_list_works.html.erb +4 -2
- data/app/views/hyrax/file_sets/_form.html.erb +16 -3
- data/app/views/hyrax/file_sets/_metadata.html.erb +35 -0
- data/app/views/hyrax/file_sets/_valkyrie_form.html.erb +37 -0
- data/app/views/hyrax/file_sets/edit.html.erb +14 -8
- data/app/views/hyrax/file_sets/media_display/_audio.html.erb +4 -0
- data/app/views/hyrax/file_sets/media_display/_image.html.erb +2 -2
- data/app/views/hyrax/file_sets/media_display/_video.html.erb +4 -0
- data/app/views/hyrax/homepage/_explore_collections.html.erb +1 -1
- data/app/views/hyrax/homepage/_featured_fields.html.erb +1 -1
- data/app/views/hyrax/homepage/_recent_document.html.erb +1 -1
- data/app/views/hyrax/homepage/robots.text.erb +17 -0
- data/app/views/hyrax/my/_admin_set_action_menu.html.erb +31 -27
- data/app/views/hyrax/my/_collection_action_menu.html.erb +40 -35
- data/app/views/hyrax/my/_work_action_menu.html.erb +23 -22
- data/app/views/hyrax/my/collections/_default_group.html.erb +3 -0
- data/app/views/hyrax/my/collections/_list_collections.html.erb +3 -0
- 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/works/_default_group.html.erb +3 -0
- data/app/views/hyrax/my/works/_list_works.html.erb +5 -2
- data/app/views/hyrax/shared/_copy_permalink.html.erb +10 -0
- data/app/views/hyrax/users/_user_info.html.erb +1 -6
- data/app/views/layouts/_head_tag_content.html.erb +2 -0
- data/app/views/layouts/hyrax/dashboard.html.erb +2 -1
- data/app/views/records/edit_fields/_contexts.html.erb +1 -0
- data/app/views/records/edit_fields/_license.html.erb +17 -5
- data/app/views/records/edit_fields/_resource_type.html.erb +16 -2
- data/app/views/records/edit_fields/_rights_statement.html.erb +17 -5
- data/app/views/records/edit_fields/_schema_version.html.erb +1 -0
- data/app/views/records/edit_fields/_transcript_ids.html.erb +18 -0
- data/app/views/records/show_fields/_rights.html.erb +1 -1
- data/app/views/shared/_citations.html.erb +46 -31
- data/app/views/shared/_schema_version.html.erb +38 -0
- data/bin/dev-entrypoint.sh +14 -4
- data/chart/hyrax/Chart.yaml +4 -4
- data/chart/hyrax/templates/ingress.yaml +3 -0
- data/chart/hyrax/values.yaml +10 -8
- data/config/features.rb +77 -40
- data/config/initializers/blacklight_dynamic_sitemap.rb +43 -0
- data/config/initializers/deprecation_patch.rb +27 -0
- data/config/initializers/hydra_works.rb +3 -0
- data/config/initializers/i18n_extensions.rb +197 -0
- data/config/initializers/indexing_adapter_initializer.rb +4 -0
- data/config/initializers/new_framework_defaults_7_2.rb +6 -4
- data/config/initializers/reform_rails_6_1_monkey_patch.rb +29 -0
- data/config/initializers/storage_adapter_initializer.rb +15 -9
- data/config/locales/hyrax.de.yml +172 -54
- data/config/locales/hyrax.en.yml +183 -66
- data/config/locales/hyrax.es.yml +174 -49
- data/config/locales/hyrax.fr.yml +169 -45
- data/config/locales/hyrax.it.yml +172 -48
- data/config/locales/hyrax.pt-BR.yml +172 -54
- data/config/locales/hyrax.zh.yml +145 -21
- data/config/metadata/basic_metadata.yaml +66 -0
- data/config/metadata/batch_edit_metadata.yaml +119 -0
- data/config/metadata/core_metadata.yaml +1 -0
- data/config/metadata/file_set_metadata.yaml +19 -0
- data/config/metadata/redirects.yaml +15 -0
- data/config/metadata_profiles/m3_json_schema.json +487 -0
- data/config/metadata_profiles/m3_profile.yaml +954 -0
- data/config/routes.rb +9 -0
- data/docker-compose-allinson.yml +176 -0
- data/docker-compose-dassie.yml +18 -10
- data/docker-compose-koppie.yml +18 -10
- data/docker-compose-sirenia.yml +20 -10
- data/documentation/copy_permalink.md +29 -0
- data/documentation/developing-your-hyrax-based-app.md +2 -2
- data/documentation/file-ingest-characterization.md +763 -0
- data/documentation/flexible_metadata.md +113 -0
- data/documentation/forms/field_behaviors.md +297 -0
- data/documentation/redirects.md +428 -0
- data/hyrax.gemspec +9 -4
- data/lib/freyja/metadata_adapter.rb +1 -1
- data/lib/freyja/persister.rb +36 -5
- data/lib/generators/hyrax/collection_resource/collection_resource_generator.rb +2 -2
- data/lib/generators/hyrax/collection_resource/templates/collection.rb.erb +5 -1
- data/lib/generators/hyrax/collection_resource/templates/collection_form.rb.erb +5 -1
- data/lib/generators/hyrax/collection_resource/templates/collection_indexer.rb.erb +6 -1
- data/lib/generators/hyrax/iiif_viewer/USAGE +22 -0
- data/lib/generators/hyrax/iiif_viewer/iiif_viewer_generator.rb +49 -0
- data/lib/generators/hyrax/iiif_viewer/templates/_clover.html.erb +7 -0
- data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.css +3328 -0
- data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.html +16 -0
- data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.js +237 -0
- data/lib/generators/hyrax/install_generator.rb +25 -1
- data/lib/generators/hyrax/riiif_generator.rb +1 -1
- data/lib/generators/hyrax/templates/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
- data/lib/generators/hyrax/templates/config/clamav.rb +2 -0
- data/lib/generators/hyrax/templates/config/initializers/riiif.rb +4 -80
- data/lib/generators/hyrax/templates/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb.erb +9 -0
- data/lib/generators/hyrax/templates/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb.erb +5 -0
- data/lib/generators/hyrax/templates/db/migrate/20260430000001_create_hyrax_redirect_paths.rb.erb +22 -0
- data/lib/generators/hyrax/templates/db/migrate/20260521003627_add_additional_redirect_info.rb.erb +39 -0
- data/lib/generators/hyrax/templates/package.json +1 -1
- data/lib/generators/hyrax/templates/uv.html +60 -82
- data/lib/generators/hyrax/work/templates/indexer.rb.erb +1 -1
- data/lib/generators/hyrax/work/templates/model.rb.erb +5 -1
- data/lib/generators/hyrax/work_resource/templates/form.rb.erb +5 -2
- data/lib/generators/hyrax/work_resource/templates/indexer.rb.erb +6 -2
- data/lib/generators/hyrax/work_resource/templates/work.rb.erb +5 -2
- data/lib/generators/hyrax/work_resource/work_resource_generator.rb +1 -0
- data/lib/hyrax/active_fedora_dummy_model.rb +6 -0
- data/lib/hyrax/configuration.rb +219 -10
- data/lib/hyrax/controlled_vocabulary/importer/language.rb +5 -1
- data/lib/hyrax/deprecation.rb +31 -0
- data/lib/hyrax/engine.rb +2 -0
- data/lib/hyrax/form_fields.rb +17 -5
- data/lib/hyrax/indexer.rb +31 -2
- data/lib/hyrax/resource_sync/resource_list_writer.rb +3 -0
- data/lib/hyrax/schema.rb +15 -4
- data/lib/hyrax/specs/shared_specs/factories/administrative_sets.rb +12 -0
- data/lib/hyrax/specs/shared_specs/factories/hyrax_embargo.rb +1 -1
- data/lib/hyrax/specs/shared_specs/factories/hyrax_file_set.rb +13 -0
- data/lib/hyrax/specs/shared_specs/factories/hyrax_lease.rb +5 -1
- data/lib/hyrax/specs/shared_specs/factories/hyrax_work.rb +14 -0
- data/lib/hyrax/specs/shared_specs/simple_work.rb +41 -0
- data/lib/hyrax/specs/shared_specs.rb +1 -0
- data/lib/hyrax/transactions/collection_create.rb +2 -1
- data/lib/hyrax/transactions/collection_destroy.rb +1 -0
- data/lib/hyrax/transactions/collection_update.rb +2 -1
- data/lib/hyrax/transactions/container.rb +28 -0
- data/lib/hyrax/transactions/steps/add_file_sets.rb +2 -1
- data/lib/hyrax/transactions/steps/apply_permission_template_on_update.rb +65 -0
- data/lib/hyrax/transactions/steps/apply_workflow_on_admin_set_change.rb +97 -0
- data/lib/hyrax/transactions/steps/ensure_admin_set.rb +1 -1
- data/lib/hyrax/transactions/steps/remove_redirect_paths.rb +35 -0
- data/lib/hyrax/transactions/steps/save.rb +10 -0
- data/lib/hyrax/transactions/steps/set_default_admin_set.rb +1 -1
- data/lib/hyrax/transactions/steps/sync_redirect_paths.rb +141 -0
- data/lib/hyrax/transactions/work_create.rb +2 -1
- data/lib/hyrax/transactions/work_destroy.rb +1 -0
- data/lib/hyrax/transactions/work_update.rb +4 -1
- data/lib/hyrax/version.rb +1 -1
- data/lib/hyrax.rb +62 -0
- data/lib/tasks/m3_profile_cleanup.rake +35 -0
- data/lib/valkyrie/indexing/redis_queue/indexing_adapter.rb +144 -0
- data/lib/wings/valkyrie/query_service.rb +3 -4
- data/template.rb +4 -1
- metadata +327 -25
- data/.dassie/public/robots.txt +0 -1
- data/.github/workflows/main.yml +0 -17
- data/.koppie/public/robots.txt +0 -1
- data/app/forms/concerns/hyrax/basic_metadata_form_fields_behavior.rb +0 -39
- data/app/views/catalog/_thumbnail_list_collection.html.erb +0 -4
data/.dassie/db/schema.rb
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
#
|
|
11
11
|
# It's strongly recommended that you check this file into your version control system.
|
|
12
12
|
|
|
13
|
-
ActiveRecord::Schema
|
|
13
|
+
ActiveRecord::Schema.define(version: 2026_05_21_003627) do
|
|
14
|
+
|
|
14
15
|
# These are extensions that must be enabled in order to support this database
|
|
15
16
|
enable_extension "plpgsql"
|
|
16
17
|
enable_extension "uuid-ossp"
|
|
@@ -21,20 +22,149 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
21
22
|
t.string "document_id"
|
|
22
23
|
t.string "document_type"
|
|
23
24
|
t.binary "title"
|
|
24
|
-
t.datetime "created_at",
|
|
25
|
-
t.datetime "updated_at",
|
|
25
|
+
t.datetime "created_at", null: false
|
|
26
|
+
t.datetime "updated_at", null: false
|
|
26
27
|
t.index ["document_id"], name: "index_bookmarks_on_document_id"
|
|
27
28
|
t.index ["user_id"], name: "index_bookmarks_on_user_id"
|
|
28
29
|
end
|
|
29
30
|
|
|
31
|
+
create_table "bulkrax_entries", force: :cascade do |t|
|
|
32
|
+
t.string "identifier"
|
|
33
|
+
t.string "collection_ids"
|
|
34
|
+
t.string "type"
|
|
35
|
+
t.bigint "importerexporter_id"
|
|
36
|
+
t.text "raw_metadata"
|
|
37
|
+
t.text "parsed_metadata"
|
|
38
|
+
t.datetime "created_at", null: false
|
|
39
|
+
t.datetime "updated_at", null: false
|
|
40
|
+
t.datetime "last_error_at"
|
|
41
|
+
t.datetime "last_succeeded_at"
|
|
42
|
+
t.string "importerexporter_type", default: "Bulkrax::Importer"
|
|
43
|
+
t.integer "import_attempts", default: 0
|
|
44
|
+
t.string "status_message", default: "Pending"
|
|
45
|
+
t.string "error_class"
|
|
46
|
+
t.index ["identifier", "importerexporter_id", "importerexporter_type"], name: "bulkrax_identifier_idx"
|
|
47
|
+
t.index ["importerexporter_id", "importerexporter_type", "id"], name: "index_bulkrax_entries_on_importerexporter_id_type_and_id"
|
|
48
|
+
t.index ["importerexporter_id", "importerexporter_type"], name: "bulkrax_entries_importerexporter_idx"
|
|
49
|
+
t.index ["type"], name: "index_bulkrax_entries_on_type"
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
create_table "bulkrax_exporter_runs", force: :cascade do |t|
|
|
53
|
+
t.bigint "exporter_id"
|
|
54
|
+
t.integer "total_work_entries", default: 0
|
|
55
|
+
t.integer "enqueued_records", default: 0
|
|
56
|
+
t.integer "processed_records", default: 0
|
|
57
|
+
t.integer "deleted_records", default: 0
|
|
58
|
+
t.integer "failed_records", default: 0
|
|
59
|
+
t.index ["exporter_id"], name: "index_bulkrax_exporter_runs_on_exporter_id"
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
create_table "bulkrax_exporters", force: :cascade do |t|
|
|
63
|
+
t.string "name"
|
|
64
|
+
t.bigint "user_id"
|
|
65
|
+
t.string "parser_klass"
|
|
66
|
+
t.integer "limit"
|
|
67
|
+
t.text "parser_fields"
|
|
68
|
+
t.text "field_mapping"
|
|
69
|
+
t.string "export_source"
|
|
70
|
+
t.string "export_from"
|
|
71
|
+
t.string "export_type"
|
|
72
|
+
t.datetime "created_at", null: false
|
|
73
|
+
t.datetime "updated_at", null: false
|
|
74
|
+
t.datetime "last_error_at"
|
|
75
|
+
t.datetime "last_succeeded_at"
|
|
76
|
+
t.date "start_date"
|
|
77
|
+
t.date "finish_date"
|
|
78
|
+
t.string "work_visibility"
|
|
79
|
+
t.string "workflow_status"
|
|
80
|
+
t.boolean "include_thumbnails", default: false
|
|
81
|
+
t.boolean "generated_metadata", default: false
|
|
82
|
+
t.string "status_message", default: "Pending"
|
|
83
|
+
t.string "error_class"
|
|
84
|
+
t.index ["user_id"], name: "index_bulkrax_exporters_on_user_id"
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
create_table "bulkrax_importer_runs", force: :cascade do |t|
|
|
88
|
+
t.bigint "importer_id"
|
|
89
|
+
t.integer "total_work_entries", default: 0
|
|
90
|
+
t.integer "enqueued_records", default: 0
|
|
91
|
+
t.integer "processed_records", default: 0
|
|
92
|
+
t.integer "deleted_records", default: 0
|
|
93
|
+
t.integer "failed_records", default: 0
|
|
94
|
+
t.datetime "created_at", null: false
|
|
95
|
+
t.datetime "updated_at", null: false
|
|
96
|
+
t.integer "processed_collections", default: 0
|
|
97
|
+
t.integer "failed_collections", default: 0
|
|
98
|
+
t.integer "total_collection_entries", default: 0
|
|
99
|
+
t.integer "processed_relationships", default: 0
|
|
100
|
+
t.integer "failed_relationships", default: 0
|
|
101
|
+
t.text "invalid_records"
|
|
102
|
+
t.integer "processed_file_sets", default: 0
|
|
103
|
+
t.integer "failed_file_sets", default: 0
|
|
104
|
+
t.integer "total_file_set_entries", default: 0
|
|
105
|
+
t.integer "processed_works", default: 0
|
|
106
|
+
t.integer "failed_works", default: 0
|
|
107
|
+
t.index ["importer_id"], name: "index_bulkrax_importer_runs_on_importer_id"
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
create_table "bulkrax_importers", force: :cascade do |t|
|
|
111
|
+
t.string "name"
|
|
112
|
+
t.string "admin_set_id"
|
|
113
|
+
t.bigint "user_id"
|
|
114
|
+
t.string "frequency"
|
|
115
|
+
t.string "parser_klass"
|
|
116
|
+
t.integer "limit"
|
|
117
|
+
t.text "parser_fields"
|
|
118
|
+
t.text "field_mapping"
|
|
119
|
+
t.datetime "created_at", null: false
|
|
120
|
+
t.datetime "updated_at", null: false
|
|
121
|
+
t.boolean "validate_only"
|
|
122
|
+
t.datetime "last_error_at"
|
|
123
|
+
t.datetime "last_succeeded_at"
|
|
124
|
+
t.string "status_message", default: "Pending"
|
|
125
|
+
t.datetime "last_imported_at"
|
|
126
|
+
t.datetime "next_import_at"
|
|
127
|
+
t.string "error_class"
|
|
128
|
+
t.index ["user_id"], name: "index_bulkrax_importers_on_user_id"
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
create_table "bulkrax_pending_relationships", force: :cascade do |t|
|
|
132
|
+
t.bigint "importer_run_id", null: false
|
|
133
|
+
t.string "parent_id", null: false
|
|
134
|
+
t.string "child_id", null: false
|
|
135
|
+
t.datetime "created_at", null: false
|
|
136
|
+
t.datetime "updated_at", null: false
|
|
137
|
+
t.integer "order", default: 0
|
|
138
|
+
t.string "status_message", default: "Pending"
|
|
139
|
+
t.index ["child_id"], name: "index_bulkrax_pending_relationships_on_child_id"
|
|
140
|
+
t.index ["importer_run_id"], name: "index_bulkrax_pending_relationships_on_importer_run_id"
|
|
141
|
+
t.index ["parent_id"], name: "index_bulkrax_pending_relationships_on_parent_id"
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
create_table "bulkrax_statuses", force: :cascade do |t|
|
|
145
|
+
t.string "status_message"
|
|
146
|
+
t.string "error_class"
|
|
147
|
+
t.text "error_message"
|
|
148
|
+
t.text "error_backtrace"
|
|
149
|
+
t.integer "statusable_id"
|
|
150
|
+
t.string "statusable_type"
|
|
151
|
+
t.integer "runnable_id"
|
|
152
|
+
t.string "runnable_type"
|
|
153
|
+
t.datetime "created_at", null: false
|
|
154
|
+
t.datetime "updated_at", null: false
|
|
155
|
+
t.index ["error_class"], name: "index_bulkrax_statuses_on_error_class"
|
|
156
|
+
t.index ["runnable_id", "runnable_type"], name: "bulkrax_statuses_runnable_idx"
|
|
157
|
+
t.index ["statusable_id", "statusable_type"], name: "bulkrax_statuses_statusable_idx"
|
|
158
|
+
end
|
|
159
|
+
|
|
30
160
|
create_table "checksum_audit_logs", force: :cascade do |t|
|
|
31
161
|
t.string "file_set_id"
|
|
32
162
|
t.string "file_id"
|
|
33
163
|
t.string "checked_uri"
|
|
34
164
|
t.string "expected_result"
|
|
35
165
|
t.string "actual_result"
|
|
36
|
-
t.datetime "created_at",
|
|
37
|
-
t.datetime "updated_at",
|
|
166
|
+
t.datetime "created_at", null: false
|
|
167
|
+
t.datetime "updated_at", null: false
|
|
38
168
|
t.boolean "passed"
|
|
39
169
|
t.index ["checked_uri"], name: "index_checksum_audit_logs_on_checked_uri"
|
|
40
170
|
t.index ["file_set_id", "file_id"], name: "by_file_set_id_and_file_id"
|
|
@@ -48,8 +178,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
48
178
|
t.string "target_url"
|
|
49
179
|
t.integer "height"
|
|
50
180
|
t.integer "width"
|
|
51
|
-
t.datetime "created_at",
|
|
52
|
-
t.datetime "updated_at",
|
|
181
|
+
t.datetime "created_at", null: false
|
|
182
|
+
t.datetime "updated_at", null: false
|
|
53
183
|
end
|
|
54
184
|
|
|
55
185
|
create_table "collection_type_participants", force: :cascade do |t|
|
|
@@ -57,16 +187,16 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
57
187
|
t.string "agent_type"
|
|
58
188
|
t.string "agent_id"
|
|
59
189
|
t.string "access"
|
|
60
|
-
t.datetime "created_at",
|
|
61
|
-
t.datetime "updated_at",
|
|
190
|
+
t.datetime "created_at", null: false
|
|
191
|
+
t.datetime "updated_at", null: false
|
|
62
192
|
t.index ["hyrax_collection_type_id"], name: "hyrax_collection_type_id"
|
|
63
193
|
end
|
|
64
194
|
|
|
65
195
|
create_table "content_blocks", force: :cascade do |t|
|
|
66
196
|
t.string "name"
|
|
67
197
|
t.text "value"
|
|
68
|
-
t.datetime "created_at",
|
|
69
|
-
t.datetime "updated_at",
|
|
198
|
+
t.datetime "created_at", null: false
|
|
199
|
+
t.datetime "updated_at", null: false
|
|
70
200
|
t.string "external_key"
|
|
71
201
|
end
|
|
72
202
|
|
|
@@ -83,8 +213,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
83
213
|
t.integer "rgt", null: false
|
|
84
214
|
t.integer "depth", default: 0, null: false
|
|
85
215
|
t.integer "children_count", default: 0, null: false
|
|
86
|
-
t.datetime "created_at",
|
|
87
|
-
t.datetime "updated_at",
|
|
216
|
+
t.datetime "created_at", null: false
|
|
217
|
+
t.datetime "updated_at", null: false
|
|
88
218
|
t.index ["lft"], name: "index_curation_concerns_operations_on_lft"
|
|
89
219
|
t.index ["parent_id"], name: "index_curation_concerns_operations_on_parent_id"
|
|
90
220
|
t.index ["rgt"], name: "index_curation_concerns_operations_on_rgt"
|
|
@@ -94,29 +224,29 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
94
224
|
create_table "featured_works", force: :cascade do |t|
|
|
95
225
|
t.integer "order", default: 5
|
|
96
226
|
t.string "work_id"
|
|
97
|
-
t.datetime "created_at",
|
|
98
|
-
t.datetime "updated_at",
|
|
227
|
+
t.datetime "created_at", null: false
|
|
228
|
+
t.datetime "updated_at", null: false
|
|
99
229
|
t.index ["order"], name: "index_featured_works_on_order"
|
|
100
230
|
t.index ["work_id"], name: "index_featured_works_on_work_id"
|
|
101
231
|
end
|
|
102
232
|
|
|
103
233
|
create_table "file_download_stats", force: :cascade do |t|
|
|
104
|
-
t.datetime "date"
|
|
234
|
+
t.datetime "date"
|
|
105
235
|
t.integer "downloads"
|
|
106
236
|
t.string "file_id"
|
|
107
|
-
t.datetime "created_at",
|
|
108
|
-
t.datetime "updated_at",
|
|
237
|
+
t.datetime "created_at", null: false
|
|
238
|
+
t.datetime "updated_at", null: false
|
|
109
239
|
t.integer "user_id"
|
|
110
240
|
t.index ["file_id"], name: "index_file_download_stats_on_file_id"
|
|
111
241
|
t.index ["user_id"], name: "index_file_download_stats_on_user_id"
|
|
112
242
|
end
|
|
113
243
|
|
|
114
244
|
create_table "file_view_stats", force: :cascade do |t|
|
|
115
|
-
t.datetime "date"
|
|
245
|
+
t.datetime "date"
|
|
116
246
|
t.integer "views"
|
|
117
247
|
t.string "file_id"
|
|
118
|
-
t.datetime "created_at",
|
|
119
|
-
t.datetime "updated_at",
|
|
248
|
+
t.datetime "created_at", null: false
|
|
249
|
+
t.datetime "updated_at", null: false
|
|
120
250
|
t.integer "user_id"
|
|
121
251
|
t.index ["file_id"], name: "index_file_view_stats_on_file_id"
|
|
122
252
|
t.index ["user_id"], name: "index_file_view_stats_on_user_id"
|
|
@@ -146,8 +276,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
146
276
|
t.date "date"
|
|
147
277
|
t.integer "total_item_investigations"
|
|
148
278
|
t.integer "total_item_requests"
|
|
149
|
-
t.datetime "created_at",
|
|
150
|
-
t.datetime "updated_at",
|
|
279
|
+
t.datetime "created_at", null: false
|
|
280
|
+
t.datetime "updated_at", null: false
|
|
151
281
|
t.string "title"
|
|
152
282
|
t.integer "year_of_publication"
|
|
153
283
|
t.string "publisher"
|
|
@@ -160,15 +290,34 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
160
290
|
|
|
161
291
|
create_table "hyrax_default_administrative_set", force: :cascade do |t|
|
|
162
292
|
t.string "default_admin_set_id", null: false
|
|
163
|
-
t.datetime "created_at",
|
|
164
|
-
t.datetime "updated_at",
|
|
293
|
+
t.datetime "created_at", null: false
|
|
294
|
+
t.datetime "updated_at", null: false
|
|
165
295
|
end
|
|
166
296
|
|
|
167
297
|
create_table "hyrax_features", force: :cascade do |t|
|
|
168
298
|
t.string "key", null: false
|
|
169
299
|
t.boolean "enabled", default: false, null: false
|
|
170
|
-
t.datetime "created_at",
|
|
171
|
-
t.datetime "updated_at",
|
|
300
|
+
t.datetime "created_at", null: false
|
|
301
|
+
t.datetime "updated_at", null: false
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
create_table "hyrax_flexible_schemas", force: :cascade do |t|
|
|
305
|
+
t.text "profile"
|
|
306
|
+
t.datetime "created_at", precision: 6, null: false
|
|
307
|
+
t.datetime "updated_at", precision: 6, null: false
|
|
308
|
+
t.text "contexts"
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
create_table "hyrax_redirect_paths", force: :cascade do |t|
|
|
312
|
+
t.string "from_path", null: false
|
|
313
|
+
t.string "to_path", null: false
|
|
314
|
+
t.string "permalink_path", null: false
|
|
315
|
+
t.string "resource_id", null: false
|
|
316
|
+
t.boolean "is_display_url", default: false, null: false
|
|
317
|
+
t.datetime "created_at", null: false
|
|
318
|
+
t.datetime "updated_at", null: false
|
|
319
|
+
t.index ["from_path"], name: "index_hyrax_redirect_paths_on_from_path", unique: true
|
|
320
|
+
t.index ["resource_id"], name: "index_hyrax_redirect_paths_on_resource_id"
|
|
172
321
|
end
|
|
173
322
|
|
|
174
323
|
create_table "job_io_wrappers", force: :cascade do |t|
|
|
@@ -179,8 +328,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
179
328
|
t.string "original_name"
|
|
180
329
|
t.string "path"
|
|
181
330
|
t.string "relation"
|
|
182
|
-
t.datetime "created_at",
|
|
183
|
-
t.datetime "updated_at",
|
|
331
|
+
t.datetime "created_at", null: false
|
|
332
|
+
t.datetime "updated_at", null: false
|
|
184
333
|
t.index ["uploaded_file_id"], name: "index_job_io_wrappers_on_uploaded_file_id"
|
|
185
334
|
t.index ["user_id"], name: "index_job_io_wrappers_on_user_id"
|
|
186
335
|
end
|
|
@@ -195,8 +344,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
195
344
|
|
|
196
345
|
create_table "mailboxer_conversations", id: :serial, force: :cascade do |t|
|
|
197
346
|
t.string "subject", default: ""
|
|
198
|
-
t.datetime "created_at",
|
|
199
|
-
t.datetime "updated_at",
|
|
347
|
+
t.datetime "created_at", null: false
|
|
348
|
+
t.datetime "updated_at", null: false
|
|
200
349
|
end
|
|
201
350
|
|
|
202
351
|
create_table "mailboxer_notifications", id: :serial, force: :cascade do |t|
|
|
@@ -211,10 +360,10 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
211
360
|
t.string "notified_object_type"
|
|
212
361
|
t.integer "notified_object_id"
|
|
213
362
|
t.string "attachment"
|
|
214
|
-
t.datetime "updated_at",
|
|
215
|
-
t.datetime "created_at",
|
|
363
|
+
t.datetime "updated_at", null: false
|
|
364
|
+
t.datetime "created_at", null: false
|
|
216
365
|
t.boolean "global", default: false
|
|
217
|
-
t.datetime "expires"
|
|
366
|
+
t.datetime "expires"
|
|
218
367
|
t.index ["conversation_id"], name: "index_mailboxer_notifications_on_conversation_id"
|
|
219
368
|
t.index ["notified_object_id", "notified_object_type"], name: "index_mailboxer_notifications_on_notified_object_id_and_type"
|
|
220
369
|
t.index ["notified_object_type", "notified_object_id"], name: "mailboxer_notifications_notified_object"
|
|
@@ -230,8 +379,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
230
379
|
t.boolean "trashed", default: false
|
|
231
380
|
t.boolean "deleted", default: false
|
|
232
381
|
t.string "mailbox_type", limit: 25
|
|
233
|
-
t.datetime "created_at",
|
|
234
|
-
t.datetime "updated_at",
|
|
382
|
+
t.datetime "created_at", null: false
|
|
383
|
+
t.datetime "updated_at", null: false
|
|
235
384
|
t.boolean "is_delivered", default: false
|
|
236
385
|
t.string "delivery_method"
|
|
237
386
|
t.string "message_id"
|
|
@@ -245,17 +394,18 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
245
394
|
t.text "counters"
|
|
246
395
|
t.bigint "seq", default: 0
|
|
247
396
|
t.binary "rand"
|
|
248
|
-
t.datetime "created_at",
|
|
249
|
-
t.datetime "updated_at",
|
|
397
|
+
t.datetime "created_at", null: false
|
|
398
|
+
t.datetime "updated_at", null: false
|
|
250
399
|
t.index ["namespace"], name: "index_minter_states_on_namespace", unique: true
|
|
251
400
|
end
|
|
252
401
|
|
|
253
402
|
create_table "orm_resources", id: :text, default: -> { "(uuid_generate_v4())::text" }, force: :cascade do |t|
|
|
254
403
|
t.jsonb "metadata", default: {}, null: false
|
|
255
|
-
t.datetime "created_at",
|
|
256
|
-
t.datetime "updated_at",
|
|
404
|
+
t.datetime "created_at", null: false
|
|
405
|
+
t.datetime "updated_at", null: false
|
|
257
406
|
t.string "internal_resource"
|
|
258
407
|
t.integer "lock_version"
|
|
408
|
+
t.index "(((metadata -> 'bulkrax_identifier'::text) ->> 0))", name: "index_on_bulkrax_identifier", where: "((metadata -> 'bulkrax_identifier'::text) IS NOT NULL)"
|
|
259
409
|
t.index ["internal_resource"], name: "index_orm_resources_on_internal_resource"
|
|
260
410
|
t.index ["metadata"], name: "index_orm_resources_on_metadata", using: :gin
|
|
261
411
|
t.index ["metadata"], name: "index_orm_resources_on_metadata_jsonb_path_ops", opclass: :jsonb_path_ops, using: :gin
|
|
@@ -267,8 +417,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
267
417
|
t.string "agent_type"
|
|
268
418
|
t.string "agent_id"
|
|
269
419
|
t.string "access"
|
|
270
|
-
t.datetime "created_at",
|
|
271
|
-
t.datetime "updated_at",
|
|
420
|
+
t.datetime "created_at", null: false
|
|
421
|
+
t.datetime "updated_at", null: false
|
|
272
422
|
t.index ["permission_template_id", "agent_id", "agent_type", "access"], name: "uk_permission_template_accesses", unique: true
|
|
273
423
|
t.index ["permission_template_id"], name: "index_permission_template_accesses_on_permission_template_id"
|
|
274
424
|
end
|
|
@@ -276,8 +426,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
276
426
|
create_table "permission_templates", force: :cascade do |t|
|
|
277
427
|
t.string "source_id"
|
|
278
428
|
t.string "visibility"
|
|
279
|
-
t.datetime "created_at",
|
|
280
|
-
t.datetime "updated_at",
|
|
429
|
+
t.datetime "created_at", null: false
|
|
430
|
+
t.datetime "updated_at", null: false
|
|
281
431
|
t.date "release_date"
|
|
282
432
|
t.string "release_period"
|
|
283
433
|
t.index ["source_id"], name: "index_permission_templates_on_source_id", unique: true
|
|
@@ -287,12 +437,12 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
287
437
|
t.string "work_id", null: false
|
|
288
438
|
t.bigint "sending_user_id", null: false
|
|
289
439
|
t.bigint "receiving_user_id", null: false
|
|
290
|
-
t.datetime "fulfillment_date"
|
|
440
|
+
t.datetime "fulfillment_date"
|
|
291
441
|
t.string "status", default: "pending", null: false
|
|
292
442
|
t.text "sender_comment"
|
|
293
443
|
t.text "receiver_comment"
|
|
294
|
-
t.datetime "created_at",
|
|
295
|
-
t.datetime "updated_at",
|
|
444
|
+
t.datetime "created_at", null: false
|
|
445
|
+
t.datetime "updated_at", null: false
|
|
296
446
|
t.index ["receiving_user_id"], name: "index_proxy_deposit_requests_on_receiving_user_id"
|
|
297
447
|
t.index ["sending_user_id"], name: "index_proxy_deposit_requests_on_sending_user_id"
|
|
298
448
|
end
|
|
@@ -300,16 +450,16 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
300
450
|
create_table "proxy_deposit_rights", force: :cascade do |t|
|
|
301
451
|
t.bigint "grantor_id"
|
|
302
452
|
t.bigint "grantee_id"
|
|
303
|
-
t.datetime "created_at",
|
|
304
|
-
t.datetime "updated_at",
|
|
453
|
+
t.datetime "created_at", null: false
|
|
454
|
+
t.datetime "updated_at", null: false
|
|
305
455
|
t.index ["grantee_id"], name: "index_proxy_deposit_rights_on_grantee_id"
|
|
306
456
|
t.index ["grantor_id"], name: "index_proxy_deposit_rights_on_grantor_id"
|
|
307
457
|
end
|
|
308
458
|
|
|
309
459
|
create_table "qa_local_authorities", force: :cascade do |t|
|
|
310
460
|
t.string "name"
|
|
311
|
-
t.datetime "created_at",
|
|
312
|
-
t.datetime "updated_at",
|
|
461
|
+
t.datetime "created_at", null: false
|
|
462
|
+
t.datetime "updated_at", null: false
|
|
313
463
|
t.index ["name"], name: "index_qa_local_authorities_on_name", unique: true
|
|
314
464
|
end
|
|
315
465
|
|
|
@@ -317,8 +467,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
317
467
|
t.bigint "local_authority_id"
|
|
318
468
|
t.string "label"
|
|
319
469
|
t.string "uri"
|
|
320
|
-
t.datetime "created_at",
|
|
321
|
-
t.datetime "updated_at",
|
|
470
|
+
t.datetime "created_at", null: false
|
|
471
|
+
t.datetime "updated_at", null: false
|
|
322
472
|
t.index ["local_authority_id"], name: "index_qa_local_authority_entries_on_local_authority_id"
|
|
323
473
|
t.index ["uri"], name: "index_qa_local_authority_entries_on_uri", unique: true
|
|
324
474
|
end
|
|
@@ -340,8 +490,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
340
490
|
t.binary "query_params"
|
|
341
491
|
t.integer "user_id"
|
|
342
492
|
t.string "user_type"
|
|
343
|
-
t.datetime "created_at",
|
|
344
|
-
t.datetime "updated_at",
|
|
493
|
+
t.datetime "created_at", null: false
|
|
494
|
+
t.datetime "updated_at", null: false
|
|
345
495
|
t.index ["user_id"], name: "index_searches_on_user_id"
|
|
346
496
|
end
|
|
347
497
|
|
|
@@ -349,16 +499,16 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
349
499
|
t.string "download_key"
|
|
350
500
|
t.string "path"
|
|
351
501
|
t.string "item_id"
|
|
352
|
-
t.datetime "expires"
|
|
353
|
-
t.datetime "created_at",
|
|
354
|
-
t.datetime "updated_at",
|
|
502
|
+
t.datetime "expires"
|
|
503
|
+
t.datetime "created_at", null: false
|
|
504
|
+
t.datetime "updated_at", null: false
|
|
355
505
|
end
|
|
356
506
|
|
|
357
507
|
create_table "sipity_agents", force: :cascade do |t|
|
|
358
508
|
t.string "proxy_for_id", null: false
|
|
359
509
|
t.string "proxy_for_type", null: false
|
|
360
|
-
t.datetime "created_at",
|
|
361
|
-
t.datetime "updated_at",
|
|
510
|
+
t.datetime "created_at", null: false
|
|
511
|
+
t.datetime "updated_at", null: false
|
|
362
512
|
t.index ["proxy_for_id", "proxy_for_type"], name: "sipity_agents_proxy_for", unique: true
|
|
363
513
|
end
|
|
364
514
|
|
|
@@ -366,8 +516,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
366
516
|
t.integer "entity_id", null: false
|
|
367
517
|
t.integer "agent_id", null: false
|
|
368
518
|
t.text "comment"
|
|
369
|
-
t.datetime "created_at",
|
|
370
|
-
t.datetime "updated_at",
|
|
519
|
+
t.datetime "created_at", null: false
|
|
520
|
+
t.datetime "updated_at", null: false
|
|
371
521
|
t.index ["agent_id"], name: "index_sipity_comments_on_agent_id"
|
|
372
522
|
t.index ["created_at"], name: "index_sipity_comments_on_created_at"
|
|
373
523
|
t.index ["entity_id"], name: "index_sipity_comments_on_entity_id"
|
|
@@ -377,8 +527,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
377
527
|
t.string "proxy_for_global_id", null: false
|
|
378
528
|
t.integer "workflow_id", null: false
|
|
379
529
|
t.integer "workflow_state_id"
|
|
380
|
-
t.datetime "created_at",
|
|
381
|
-
t.datetime "updated_at",
|
|
530
|
+
t.datetime "created_at", null: false
|
|
531
|
+
t.datetime "updated_at", null: false
|
|
382
532
|
t.index ["proxy_for_global_id"], name: "sipity_entities_proxy_for_global_id", unique: true
|
|
383
533
|
t.index ["workflow_id"], name: "index_sipity_entities_on_workflow_id"
|
|
384
534
|
t.index ["workflow_state_id"], name: "index_sipity_entities_on_workflow_state_id"
|
|
@@ -388,8 +538,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
388
538
|
t.integer "workflow_role_id", null: false
|
|
389
539
|
t.integer "entity_id", null: false
|
|
390
540
|
t.integer "agent_id", null: false
|
|
391
|
-
t.datetime "created_at",
|
|
392
|
-
t.datetime "updated_at",
|
|
541
|
+
t.datetime "created_at", null: false
|
|
542
|
+
t.datetime "updated_at", null: false
|
|
393
543
|
t.index ["agent_id"], name: "sipity_entity_specific_responsibilities_agent"
|
|
394
544
|
t.index ["entity_id"], name: "sipity_entity_specific_responsibilities_entity"
|
|
395
545
|
t.index ["workflow_role_id", "entity_id", "agent_id"], name: "sipity_entity_specific_responsibilities_aggregate", unique: true
|
|
@@ -401,8 +551,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
401
551
|
t.string "scope_for_notification_type", null: false
|
|
402
552
|
t.string "reason_for_notification", null: false
|
|
403
553
|
t.integer "notification_id", null: false
|
|
404
|
-
t.datetime "created_at",
|
|
405
|
-
t.datetime "updated_at",
|
|
554
|
+
t.datetime "created_at", null: false
|
|
555
|
+
t.datetime "updated_at", null: false
|
|
406
556
|
t.index ["notification_id"], name: "sipity_notifiable_contexts_notification_id"
|
|
407
557
|
t.index ["scope_for_notification_id", "scope_for_notification_type", "reason_for_notification", "notification_id"], name: "sipity_notifiable_contexts_concern_surrogate", unique: true
|
|
408
558
|
t.index ["scope_for_notification_id", "scope_for_notification_type", "reason_for_notification"], name: "sipity_notifiable_contexts_concern_context"
|
|
@@ -413,8 +563,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
413
563
|
t.integer "notification_id", null: false
|
|
414
564
|
t.integer "role_id", null: false
|
|
415
565
|
t.string "recipient_strategy", null: false
|
|
416
|
-
t.datetime "created_at",
|
|
417
|
-
t.datetime "updated_at",
|
|
566
|
+
t.datetime "created_at", null: false
|
|
567
|
+
t.datetime "updated_at", null: false
|
|
418
568
|
t.index ["notification_id", "role_id", "recipient_strategy"], name: "sipity_notifications_recipients_surrogate"
|
|
419
569
|
t.index ["notification_id"], name: "sipity_notification_recipients_notification"
|
|
420
570
|
t.index ["recipient_strategy"], name: "sipity_notification_recipients_recipient_strategy"
|
|
@@ -424,8 +574,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
424
574
|
create_table "sipity_notifications", force: :cascade do |t|
|
|
425
575
|
t.string "name", null: false
|
|
426
576
|
t.string "notification_type", null: false
|
|
427
|
-
t.datetime "created_at",
|
|
428
|
-
t.datetime "updated_at",
|
|
577
|
+
t.datetime "created_at", null: false
|
|
578
|
+
t.datetime "updated_at", null: false
|
|
429
579
|
t.index ["name"], name: "index_sipity_notifications_on_name", unique: true
|
|
430
580
|
t.index ["notification_type"], name: "index_sipity_notifications_on_notification_type"
|
|
431
581
|
end
|
|
@@ -433,8 +583,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
433
583
|
create_table "sipity_roles", force: :cascade do |t|
|
|
434
584
|
t.string "name", null: false
|
|
435
585
|
t.text "description"
|
|
436
|
-
t.datetime "created_at",
|
|
437
|
-
t.datetime "updated_at",
|
|
586
|
+
t.datetime "created_at", null: false
|
|
587
|
+
t.datetime "updated_at", null: false
|
|
438
588
|
t.index ["name"], name: "index_sipity_roles_on_name", unique: true
|
|
439
589
|
end
|
|
440
590
|
|
|
@@ -442,8 +592,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
442
592
|
t.integer "workflow_id", null: false
|
|
443
593
|
t.integer "resulting_workflow_state_id"
|
|
444
594
|
t.string "name", null: false
|
|
445
|
-
t.datetime "created_at",
|
|
446
|
-
t.datetime "updated_at",
|
|
595
|
+
t.datetime "created_at", null: false
|
|
596
|
+
t.datetime "updated_at", null: false
|
|
447
597
|
t.index ["resulting_workflow_state_id"], name: "sipity_workflow_actions_resulting_workflow_state"
|
|
448
598
|
t.index ["workflow_id", "name"], name: "sipity_workflow_actions_aggregate", unique: true
|
|
449
599
|
t.index ["workflow_id"], name: "sipity_workflow_actions_workflow"
|
|
@@ -453,48 +603,48 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
453
603
|
t.string "service_name", null: false
|
|
454
604
|
t.integer "weight", null: false
|
|
455
605
|
t.integer "workflow_action_id", null: false
|
|
456
|
-
t.datetime "created_at",
|
|
457
|
-
t.datetime "updated_at",
|
|
606
|
+
t.datetime "created_at", null: false
|
|
607
|
+
t.datetime "updated_at", null: false
|
|
458
608
|
t.index ["workflow_action_id"], name: "index_sipity_workflow_methods_on_workflow_action_id"
|
|
459
609
|
end
|
|
460
610
|
|
|
461
611
|
create_table "sipity_workflow_responsibilities", force: :cascade do |t|
|
|
462
612
|
t.integer "agent_id", null: false
|
|
463
613
|
t.integer "workflow_role_id", null: false
|
|
464
|
-
t.datetime "created_at",
|
|
465
|
-
t.datetime "updated_at",
|
|
614
|
+
t.datetime "created_at", null: false
|
|
615
|
+
t.datetime "updated_at", null: false
|
|
466
616
|
t.index ["agent_id", "workflow_role_id"], name: "sipity_workflow_responsibilities_aggregate", unique: true
|
|
467
617
|
end
|
|
468
618
|
|
|
469
619
|
create_table "sipity_workflow_roles", force: :cascade do |t|
|
|
470
620
|
t.integer "workflow_id", null: false
|
|
471
621
|
t.integer "role_id", null: false
|
|
472
|
-
t.datetime "created_at",
|
|
473
|
-
t.datetime "updated_at",
|
|
622
|
+
t.datetime "created_at", null: false
|
|
623
|
+
t.datetime "updated_at", null: false
|
|
474
624
|
t.index ["workflow_id", "role_id"], name: "sipity_workflow_roles_aggregate", unique: true
|
|
475
625
|
end
|
|
476
626
|
|
|
477
627
|
create_table "sipity_workflow_state_action_permissions", force: :cascade do |t|
|
|
478
628
|
t.integer "workflow_role_id", null: false
|
|
479
629
|
t.integer "workflow_state_action_id", null: false
|
|
480
|
-
t.datetime "created_at",
|
|
481
|
-
t.datetime "updated_at",
|
|
630
|
+
t.datetime "created_at", null: false
|
|
631
|
+
t.datetime "updated_at", null: false
|
|
482
632
|
t.index ["workflow_role_id", "workflow_state_action_id"], name: "sipity_workflow_state_action_permissions_aggregate", unique: true
|
|
483
633
|
end
|
|
484
634
|
|
|
485
635
|
create_table "sipity_workflow_state_actions", force: :cascade do |t|
|
|
486
636
|
t.integer "originating_workflow_state_id", null: false
|
|
487
637
|
t.integer "workflow_action_id", null: false
|
|
488
|
-
t.datetime "created_at",
|
|
489
|
-
t.datetime "updated_at",
|
|
638
|
+
t.datetime "created_at", null: false
|
|
639
|
+
t.datetime "updated_at", null: false
|
|
490
640
|
t.index ["originating_workflow_state_id", "workflow_action_id"], name: "sipity_workflow_state_actions_aggregate", unique: true
|
|
491
641
|
end
|
|
492
642
|
|
|
493
643
|
create_table "sipity_workflow_states", force: :cascade do |t|
|
|
494
644
|
t.integer "workflow_id", null: false
|
|
495
645
|
t.string "name", null: false
|
|
496
|
-
t.datetime "created_at",
|
|
497
|
-
t.datetime "updated_at",
|
|
646
|
+
t.datetime "created_at", null: false
|
|
647
|
+
t.datetime "updated_at", null: false
|
|
498
648
|
t.index ["name"], name: "index_sipity_workflow_states_on_name"
|
|
499
649
|
t.index ["workflow_id", "name"], name: "sipity_type_state_aggregate", unique: true
|
|
500
650
|
end
|
|
@@ -503,8 +653,8 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
503
653
|
t.string "name", null: false
|
|
504
654
|
t.string "label"
|
|
505
655
|
t.text "description"
|
|
506
|
-
t.datetime "created_at",
|
|
507
|
-
t.datetime "updated_at",
|
|
656
|
+
t.datetime "created_at", null: false
|
|
657
|
+
t.datetime "updated_at", null: false
|
|
508
658
|
t.integer "permission_template_id"
|
|
509
659
|
t.boolean "active"
|
|
510
660
|
t.boolean "allows_access_grant"
|
|
@@ -513,34 +663,35 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
513
663
|
|
|
514
664
|
create_table "tinymce_assets", force: :cascade do |t|
|
|
515
665
|
t.string "file"
|
|
516
|
-
t.datetime "created_at",
|
|
517
|
-
t.datetime "updated_at",
|
|
666
|
+
t.datetime "created_at", null: false
|
|
667
|
+
t.datetime "updated_at", null: false
|
|
518
668
|
end
|
|
519
669
|
|
|
520
670
|
create_table "trophies", force: :cascade do |t|
|
|
521
671
|
t.integer "user_id"
|
|
522
672
|
t.string "work_id"
|
|
523
|
-
t.datetime "created_at",
|
|
524
|
-
t.datetime "updated_at",
|
|
673
|
+
t.datetime "created_at", null: false
|
|
674
|
+
t.datetime "updated_at", null: false
|
|
525
675
|
end
|
|
526
676
|
|
|
527
677
|
create_table "uploaded_files", force: :cascade do |t|
|
|
528
678
|
t.string "file"
|
|
529
679
|
t.bigint "user_id"
|
|
530
680
|
t.string "file_set_uri"
|
|
531
|
-
t.datetime "created_at",
|
|
532
|
-
t.datetime "updated_at",
|
|
681
|
+
t.datetime "created_at", null: false
|
|
682
|
+
t.datetime "updated_at", null: false
|
|
683
|
+
t.string "filename"
|
|
533
684
|
t.index ["file_set_uri"], name: "index_uploaded_files_on_file_set_uri"
|
|
534
685
|
t.index ["user_id"], name: "index_uploaded_files_on_user_id"
|
|
535
686
|
end
|
|
536
687
|
|
|
537
688
|
create_table "user_stats", force: :cascade do |t|
|
|
538
689
|
t.integer "user_id"
|
|
539
|
-
t.datetime "date"
|
|
690
|
+
t.datetime "date"
|
|
540
691
|
t.integer "file_views"
|
|
541
692
|
t.integer "file_downloads"
|
|
542
|
-
t.datetime "created_at",
|
|
543
|
-
t.datetime "updated_at",
|
|
693
|
+
t.datetime "created_at", null: false
|
|
694
|
+
t.datetime "updated_at", null: false
|
|
544
695
|
t.integer "work_views"
|
|
545
696
|
t.index ["user_id"], name: "index_user_stats_on_user_id"
|
|
546
697
|
end
|
|
@@ -549,10 +700,10 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
549
700
|
t.string "email", default: "", null: false
|
|
550
701
|
t.string "encrypted_password", default: "", null: false
|
|
551
702
|
t.string "reset_password_token"
|
|
552
|
-
t.datetime "reset_password_sent_at"
|
|
553
|
-
t.datetime "remember_created_at"
|
|
554
|
-
t.datetime "created_at",
|
|
555
|
-
t.datetime "updated_at",
|
|
703
|
+
t.datetime "reset_password_sent_at"
|
|
704
|
+
t.datetime "remember_created_at"
|
|
705
|
+
t.datetime "created_at", null: false
|
|
706
|
+
t.datetime "updated_at", null: false
|
|
556
707
|
t.boolean "guest", default: false
|
|
557
708
|
t.string "facebook_handle"
|
|
558
709
|
t.string "twitter_handle"
|
|
@@ -570,7 +721,7 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
570
721
|
t.string "avatar_file_name"
|
|
571
722
|
t.string "avatar_content_type"
|
|
572
723
|
t.integer "avatar_file_size"
|
|
573
|
-
t.datetime "avatar_updated_at"
|
|
724
|
+
t.datetime "avatar_updated_at"
|
|
574
725
|
t.string "linkedin_handle"
|
|
575
726
|
t.string "orcid"
|
|
576
727
|
t.string "arkivo_token"
|
|
@@ -587,21 +738,24 @@ ActiveRecord::Schema[7.2].define(version: 2025_03_28_100249) do
|
|
|
587
738
|
t.string "datastream_id"
|
|
588
739
|
t.string "version_id"
|
|
589
740
|
t.string "committer_login"
|
|
590
|
-
t.datetime "created_at",
|
|
591
|
-
t.datetime "updated_at",
|
|
741
|
+
t.datetime "created_at", null: false
|
|
742
|
+
t.datetime "updated_at", null: false
|
|
592
743
|
end
|
|
593
744
|
|
|
594
745
|
create_table "work_view_stats", force: :cascade do |t|
|
|
595
|
-
t.datetime "date"
|
|
746
|
+
t.datetime "date"
|
|
596
747
|
t.integer "work_views"
|
|
597
748
|
t.string "work_id"
|
|
598
|
-
t.datetime "created_at",
|
|
599
|
-
t.datetime "updated_at",
|
|
749
|
+
t.datetime "created_at", null: false
|
|
750
|
+
t.datetime "updated_at", null: false
|
|
600
751
|
t.integer "user_id"
|
|
601
752
|
t.index ["user_id"], name: "index_work_view_stats_on_user_id"
|
|
602
753
|
t.index ["work_id"], name: "index_work_view_stats_on_work_id"
|
|
603
754
|
end
|
|
604
755
|
|
|
756
|
+
add_foreign_key "bulkrax_exporter_runs", "bulkrax_exporters", column: "exporter_id"
|
|
757
|
+
add_foreign_key "bulkrax_importer_runs", "bulkrax_importers", column: "importer_id"
|
|
758
|
+
add_foreign_key "bulkrax_pending_relationships", "bulkrax_importer_runs", column: "importer_run_id"
|
|
605
759
|
add_foreign_key "collection_type_participants", "hyrax_collection_types"
|
|
606
760
|
add_foreign_key "curation_concerns_operations", "users"
|
|
607
761
|
add_foreign_key "mailboxer_conversation_opt_outs", "mailboxer_conversations", column: "conversation_id", name: "mb_opt_outs_on_conversations_id"
|