From 7b4a382c9fb113a932dabda559dbe05ecd5fdae9 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Tue, 9 Mar 2021 11:54:02 -0500 Subject: [PATCH 01/22] first pass at adding collection level admin and global admin permissions --- codebase/composer.json | 4 + codebase/composer.lock | 232 +++ ...ntity_form_display.media.audio.default.yml | 2 +- ...ty_form_display.media.document.default.yml | 2 +- ...m_display.media.extracted_text.default.yml | 15 +- ...entity_form_display.media.file.default.yml | 2 +- ...ntity_form_display.media.image.default.yml | 2 +- ...orm_display.media.remote_video.default.yml | 17 +- ...ntity_form_display.media.video.default.yml | 2 +- ...display.node.collection_object.default.yml | 7 + ..._display.node.islandora_object.default.yml | 12 +- ...ay.taxonomy_term.access_rights.default.yml | 10 +- ...axonomy_term.copyright_and_use.default.yml | 2 +- ...y.taxonomy_term.corporate_body.default.yml | 2 +- ...w_display.media.extracted_text.default.yml | 9 + ...iew_display.media.remote_video.default.yml | 9 + ...display.node.collection_object.default.yml | 9 + ..._display.node.collection_object.teaser.yml | 2 + codebase/config/sync/core.extension.yml | 4 + ...edia.extracted_text.field_access_terms.yml | 29 + ....media.remote_video.field_access_terms.yml | 29 + ...collection_object.field_access_control.yml | 29 + ...ield.storage.node.field_access_control.yml | 24 + .../field.storage.node.field_access_terms.yml | 2 +- .../config/sync/role_hierarchy.settings.yml | 8 + .../sync/shortcut.set.islandora-shortcuts.yml | 6 + .../sync/simplesamlphp_auth.settings.yml | 2 + ...add_role_action.collection_level_admin.yml | 14 + ...tion.user_add_role_action.global_admin.yml | 14 + ...stem.action.user_add_role_action.staff.yml | 14 - ...ove_role_action.collection_level_admin.yml | 14 + ...n.user_remove_role_action.global_admin.yml | 14 + ...m.action.user_remove_role_action.staff.yml | 14 - .../config/sync/system.menu.workbench.yml | 10 + .../config/sync/user.role.administrator.yml | 2 +- codebase/config/sync/user.role.anonymous.yml | 4 +- .../config/sync/user.role.authenticated.yml | 6 +- .../sync/user.role.collection_level_admin.yml | 92 ++ .../config/sync/user.role.fedoraadmin.yml | 2 +- .../config/sync/user.role.global_admin.yml | 124 ++ codebase/config/sync/user.role.staff.yml | 9 - .../views.view.openseadragon_media_evas.yml | 17 +- .../views.view.repository_item_member_of.yml | 169 +++ ....view.repsitory_item_access_perm_types.yml | 282 ++++ .../views.view.workbench_current_user.yml | 444 ++++++ .../sync/views.view.workbench_edited.yml | 1007 +++++++++++++ .../views.view.workbench_recent_content.yml | 1331 +++++++++++++++++ .../sync/views.view.workbench_taxonomies.yml | 303 ++++ codebase/config/sync/workbench.settings.yml | 7 + ...kbench_access.access_scheme.collection.yml | 59 + .../config/sync/workbench_access.settings.yml | 3 + codebase/web/sites/simpletest/.htaccess | 14 + 52 files changed, 4366 insertions(+), 76 deletions(-) create mode 100644 codebase/config/sync/field.field.media.extracted_text.field_access_terms.yml create mode 100644 codebase/config/sync/field.field.media.remote_video.field_access_terms.yml create mode 100644 codebase/config/sync/field.field.node.collection_object.field_access_control.yml create mode 100644 codebase/config/sync/field.storage.node.field_access_control.yml create mode 100644 codebase/config/sync/role_hierarchy.settings.yml create mode 100644 codebase/config/sync/shortcut.set.islandora-shortcuts.yml create mode 100644 codebase/config/sync/system.action.user_add_role_action.collection_level_admin.yml create mode 100644 codebase/config/sync/system.action.user_add_role_action.global_admin.yml delete mode 100644 codebase/config/sync/system.action.user_add_role_action.staff.yml create mode 100644 codebase/config/sync/system.action.user_remove_role_action.collection_level_admin.yml create mode 100644 codebase/config/sync/system.action.user_remove_role_action.global_admin.yml delete mode 100644 codebase/config/sync/system.action.user_remove_role_action.staff.yml create mode 100644 codebase/config/sync/system.menu.workbench.yml create mode 100644 codebase/config/sync/user.role.collection_level_admin.yml create mode 100644 codebase/config/sync/user.role.global_admin.yml delete mode 100644 codebase/config/sync/user.role.staff.yml create mode 100644 codebase/config/sync/views.view.repository_item_member_of.yml create mode 100644 codebase/config/sync/views.view.repsitory_item_access_perm_types.yml create mode 100644 codebase/config/sync/views.view.workbench_current_user.yml create mode 100644 codebase/config/sync/views.view.workbench_edited.yml create mode 100644 codebase/config/sync/views.view.workbench_recent_content.yml create mode 100644 codebase/config/sync/views.view.workbench_taxonomies.yml create mode 100644 codebase/config/sync/workbench.settings.yml create mode 100644 codebase/config/sync/workbench_access.access_scheme.collection.yml create mode 100644 codebase/config/sync/workbench_access.settings.yml create mode 100644 codebase/web/sites/simpletest/.htaccess diff --git a/codebase/composer.json b/codebase/composer.json index d7775e8e1..aabce2683 100644 --- a/codebase/composer.json +++ b/codebase/composer.json @@ -73,9 +73,13 @@ "drupal/remote_stream_wrapper": "^1.5", "drupal/rest_oai_pmh": "^1.0", "drupal/restui": "^1.16", + "drupal/role_delegation": "^1.1", + "drupal/role_hierarchy": "^2.2", "drupal/search_api_solr": "^4.1", "drupal/simplesamlphp_auth": "^3.2", "drupal/transliterate_filenames": "^1.3", + "drupal/workbench": "^1.3", + "drupal/workbench_access": "^1.0@beta", "drush/drush": "^9.7.1", "islandora-rdm/islandora_fits": "dev-master", "islandora/carapace": "dev-8.x-3.x", diff --git a/codebase/composer.lock b/codebase/composer.lock index a08bc13c4..c614831b3 100644 --- a/codebase/composer.lock +++ b/codebase/composer.lock @@ -5198,6 +5198,104 @@ "source": "https://git.drupalcode.org/project/restui" } }, + { + "name": "drupal/role_delegation", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/role_delegation.git", + "reference": "8.x-1.1" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/role_delegation-8.x-1.1.zip", + "reference": "8.x-1.1", + "shasum": "a63b548056cc729beacfd385625fafb983e0f73e" + }, + "require": { + "drupal/core": "^8 || ^9" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.1", + "datestamp": "1580498751", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Jeroen Tubex", + "homepage": "https://www.drupal.org/u/jeroent", + "role": "Maintainer" + }, + { + "name": "benjy", + "homepage": "https://www.drupal.org/user/1852732" + } + ], + "description": "Allows site administrators to grant some roles the authority to assign selected roles to users.", + "homepage": "http://drupal.org/project/role_delegation", + "support": { + "source": "https://git.drupalcode.org/project/role_delegation", + "issues": "http://drupal.org/project/role_delegation" + } + }, + { + "name": "drupal/role_hierarchy", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/role_hierarchy.git", + "reference": "8.x-2.2" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/role_hierarchy-8.x-2.2.zip", + "reference": "8.x-2.2", + "shasum": "b5dc500ffbcdab00f3fc2200816f041730efd4f2" + }, + "require": { + "drupal/core": "^8 || ^9" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-2.2", + "datestamp": "1613641956", + "security-coverage": { + "status": "not-covered", + "message": "Project has not opted into security advisory coverage!" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "cristiroma", + "homepage": "https://www.drupal.org/user/2267390" + }, + { + "name": "stefan.butura", + "homepage": "https://www.drupal.org/user/3535177" + } + ], + "description": "Provides security updates for platforms that are using a clear role hierarchy.", + "homepage": "https://www.drupal.org/project/role_hierarchy", + "support": { + "source": "https://git.drupalcode.org/project/role_hierarchy" + } + }, { "name": "drupal/search_api", "version": "1.18.0", @@ -5559,6 +5657,139 @@ "issues": "https://www.drupal.org/project/issues/transliterate_filenames" } }, + { + "name": "drupal/workbench", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/workbench.git", + "reference": "8.x-1.3" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/workbench-8.x-1.3.zip", + "reference": "8.x-1.3", + "shasum": "643d5f27503d7fceda8673812ca9a3bc25ed53e5" + }, + "require": { + "drupal/core": "^8.8 || ^9" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.3", + "datestamp": "1590419810", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Dave Reid", + "homepage": "https://www.drupal.org/user/53892" + }, + { + "name": "agentrickard", + "homepage": "https://www.drupal.org/user/20975" + }, + { + "name": "bbinkovitz", + "homepage": "https://www.drupal.org/user/161263" + }, + { + "name": "becw", + "homepage": "https://www.drupal.org/user/81067" + }, + { + "name": "caroltron", + "homepage": "https://www.drupal.org/user/171342" + }, + { + "name": "robeano", + "homepage": "https://www.drupal.org/user/67660" + }, + { + "name": "stevector", + "homepage": "https://www.drupal.org/user/179805" + } + ], + "description": "Provides convenient dashboards and shortcuts for editors.", + "homepage": "https://www.drupal.org/project/workbench", + "support": { + "source": "https://git.drupalcode.org/project/workbench" + } + }, + { + "name": "drupal/workbench_access", + "version": "1.0.0-beta4", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/workbench_access.git", + "reference": "8.x-1.0-beta4" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/workbench_access-8.x-1.0-beta4.zip", + "reference": "8.x-1.0-beta4", + "shasum": "8d81c3daef91d89ecb3c0e3823ee0144b37889a8" + }, + "require": { + "drupal/core": "^8.7.7 || ^9" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.0-beta4", + "datestamp": "1591119383", + "security-coverage": { + "status": "not-covered", + "message": "Beta releases are not covered by Drupal security advisories." + } + }, + "drush": { + "services": { + "drush.services.yml": "^9 || ^10" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0+" + ], + "authors": [ + { + "name": "Dave Reid", + "homepage": "https://www.drupal.org/user/53892" + }, + { + "name": "agentrickard", + "homepage": "https://www.drupal.org/user/20975" + }, + { + "name": "becw", + "homepage": "https://www.drupal.org/user/81067" + }, + { + "name": "robeano", + "homepage": "https://www.drupal.org/user/67660" + }, + { + "name": "stevector", + "homepage": "https://www.drupal.org/user/179805" + } + ], + "description": "Hierarchical access control for content.", + "homepage": "https://www.drupal.org/project/workbench_access", + "support": { + "source": "https://git.drupalcode.org/project/workbench_access" + } + }, { "name": "drush/drush", "version": "9.7.2", @@ -16757,6 +16988,7 @@ "drupal/libraries": 20, "drupal/migrate_source_ui": 5, "drupal/pdf": 20, + "drupal/workbench_access": 10, "islandora-rdm/islandora_fits": 20, "islandora/carapace": 20, "jhu-idc/idc-ui-theme": 20, diff --git a/codebase/config/sync/core.entity_form_display.media.audio.default.yml b/codebase/config/sync/core.entity_form_display.media.audio.default.yml index 78f4bfa19..ce76b5528 100644 --- a/codebase/config/sync/core.entity_form_display.media.audio.default.yml +++ b/codebase/config/sync/core.entity_form_display.media.audio.default.yml @@ -31,7 +31,7 @@ content: weight: 3 settings: { } third_party_settings: { } - type: options_buttons + type: options_select region: content field_media_audio_file: weight: 1 diff --git a/codebase/config/sync/core.entity_form_display.media.document.default.yml b/codebase/config/sync/core.entity_form_display.media.document.default.yml index a5fff0a9e..cbf373901 100644 --- a/codebase/config/sync/core.entity_form_display.media.document.default.yml +++ b/codebase/config/sync/core.entity_form_display.media.document.default.yml @@ -31,7 +31,7 @@ content: weight: 3 settings: { } third_party_settings: { } - type: options_buttons + type: options_select region: content field_media_document: settings: diff --git a/codebase/config/sync/core.entity_form_display.media.extracted_text.default.yml b/codebase/config/sync/core.entity_form_display.media.extracted_text.default.yml index ecd182be0..03a71d49e 100644 --- a/codebase/config/sync/core.entity_form_display.media.extracted_text.default.yml +++ b/codebase/config/sync/core.entity_form_display.media.extracted_text.default.yml @@ -3,6 +3,7 @@ langcode: en status: true dependencies: config: + - field.field.media.extracted_text.field_access_terms - field.field.media.extracted_text.field_edited_text - field.field.media.extracted_text.field_media_file - field.field.media.extracted_text.field_media_of @@ -26,9 +27,15 @@ content: region: content settings: { } third_party_settings: { } + field_access_terms: + weight: 4 + settings: { } + third_party_settings: { } + type: options_select + region: content field_edited_text: type: text_textarea - weight: 7 + weight: 8 region: content settings: rows: 5 @@ -36,7 +43,7 @@ content: third_party_settings: { } field_media_file: type: file_generic - weight: 6 + weight: 7 region: content settings: progress_indicator: throbber @@ -58,7 +65,7 @@ content: third_party_settings: { } path: type: path - weight: 4 + weight: 5 region: content settings: { } third_party_settings: { } @@ -66,7 +73,7 @@ content: type: boolean_checkbox settings: display_label: true - weight: 5 + weight: 6 region: content third_party_settings: { } uid: diff --git a/codebase/config/sync/core.entity_form_display.media.file.default.yml b/codebase/config/sync/core.entity_form_display.media.file.default.yml index 027d54e4e..c184d5ad4 100644 --- a/codebase/config/sync/core.entity_form_display.media.file.default.yml +++ b/codebase/config/sync/core.entity_form_display.media.file.default.yml @@ -31,7 +31,7 @@ content: weight: 3 settings: { } third_party_settings: { } - type: options_buttons + type: options_select region: content field_media_file: settings: diff --git a/codebase/config/sync/core.entity_form_display.media.image.default.yml b/codebase/config/sync/core.entity_form_display.media.image.default.yml index 33e096212..8719ab4e2 100644 --- a/codebase/config/sync/core.entity_form_display.media.image.default.yml +++ b/codebase/config/sync/core.entity_form_display.media.image.default.yml @@ -34,7 +34,7 @@ content: weight: 3 settings: { } third_party_settings: { } - type: options_buttons + type: options_select region: content field_media_image: settings: diff --git a/codebase/config/sync/core.entity_form_display.media.remote_video.default.yml b/codebase/config/sync/core.entity_form_display.media.remote_video.default.yml index 71b9d4296..59824576a 100644 --- a/codebase/config/sync/core.entity_form_display.media.remote_video.default.yml +++ b/codebase/config/sync/core.entity_form_display.media.remote_video.default.yml @@ -3,6 +3,7 @@ langcode: en status: true dependencies: config: + - field.field.media.remote_video.field_access_terms - field.field.media.remote_video.field_media_oembed_video - media.type.remote_video module: @@ -17,10 +18,16 @@ mode: default content: created: type: datetime_timestamp - weight: 10 + weight: 3 region: content settings: { } third_party_settings: { } + field_access_terms: + weight: 4 + settings: { } + third_party_settings: { } + type: options_select + region: content field_media_oembed_video: type: oembed_textfield weight: 0 @@ -31,14 +38,14 @@ content: region: content langcode: type: language_select - weight: 2 + weight: 1 region: content settings: include_locked: true third_party_settings: { } path: type: path - weight: 30 + weight: 5 region: content settings: { } third_party_settings: { } @@ -46,12 +53,12 @@ content: type: boolean_checkbox settings: display_label: true - weight: 100 + weight: 6 region: content third_party_settings: { } uid: type: entity_reference_autocomplete - weight: 5 + weight: 2 settings: match_operator: CONTAINS match_limit: 10 diff --git a/codebase/config/sync/core.entity_form_display.media.video.default.yml b/codebase/config/sync/core.entity_form_display.media.video.default.yml index 351957f91..0de361675 100644 --- a/codebase/config/sync/core.entity_form_display.media.video.default.yml +++ b/codebase/config/sync/core.entity_form_display.media.video.default.yml @@ -31,7 +31,7 @@ content: weight: 3 settings: { } third_party_settings: { } - type: options_buttons + type: options_select region: content field_media_of: type: entity_reference_autocomplete diff --git a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml index 429162a53..08c0a841d 100644 --- a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml @@ -3,6 +3,7 @@ langcode: en status: true dependencies: config: + - field.field.node.collection_object.field_access_control - field.field.node.collection_object.field_alternative_title - field.field.node.collection_object.field_citable_url - field.field.node.collection_object.field_collection_contact_email @@ -28,6 +29,12 @@ content: region: content settings: { } third_party_settings: { } + field_access_control: + weight: 26 + settings: { } + third_party_settings: { } + type: options_select + region: content field_alternative_title: weight: 3 settings: diff --git a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml index 046b614e3..3c2ba06c5 100644 --- a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml @@ -63,6 +63,7 @@ third_party_settings: - field_member_of - langcode - field_display_hints + - field_access_terms - field_weight parent_name: '' weight: 6 @@ -232,6 +233,12 @@ content: third_party_settings: { } type: options_buttons region: content + field_access_terms: + type: options_select + weight: 12 + region: content + settings: { } + third_party_settings: { } field_alternative_title: weight: 15 settings: @@ -358,7 +365,7 @@ content: region: content field_display_hints: type: options_buttons - weight: 13 + weight: 11 region: content settings: { } third_party_settings: { } @@ -555,7 +562,7 @@ content: type: options_select region: content field_weight: - weight: 15 + weight: 13 settings: placeholder: '' third_party_settings: { } @@ -603,7 +610,6 @@ content: match_limit: 10 third_party_settings: { } hidden: - field_access_terms: true path: true promote: true sticky: true diff --git a/codebase/config/sync/core.entity_form_display.taxonomy_term.access_rights.default.yml b/codebase/config/sync/core.entity_form_display.taxonomy_term.access_rights.default.yml index 16813a2c3..abf092978 100644 --- a/codebase/config/sync/core.entity_form_display.taxonomy_term.access_rights.default.yml +++ b/codebase/config/sync/core.entity_form_display.taxonomy_term.access_rights.default.yml @@ -15,14 +15,14 @@ mode: default content: description: type: text_textarea - weight: 0 + weight: 1 region: content settings: placeholder: '' rows: 5 third_party_settings: { } field_authority_link: - weight: 102 + weight: 2 settings: placeholder_url: '' placeholder_title: '' @@ -31,17 +31,17 @@ content: region: content name: type: string_textfield - weight: -5 + weight: 0 region: content settings: - size: 60 + size: 255 placeholder: '' third_party_settings: { } status: type: boolean_checkbox settings: display_label: true - weight: 103 + weight: 4 region: content third_party_settings: { } hidden: diff --git a/codebase/config/sync/core.entity_form_display.taxonomy_term.copyright_and_use.default.yml b/codebase/config/sync/core.entity_form_display.taxonomy_term.copyright_and_use.default.yml index e39226445..adc4a298d 100644 --- a/codebase/config/sync/core.entity_form_display.taxonomy_term.copyright_and_use.default.yml +++ b/codebase/config/sync/core.entity_form_display.taxonomy_term.copyright_and_use.default.yml @@ -34,7 +34,7 @@ content: weight: -5 region: content settings: - size: 60 + size: 255 placeholder: '' third_party_settings: { } status: diff --git a/codebase/config/sync/core.entity_form_display.taxonomy_term.corporate_body.default.yml b/codebase/config/sync/core.entity_form_display.taxonomy_term.corporate_body.default.yml index 13c132b94..44f535f7c 100644 --- a/codebase/config/sync/core.entity_form_display.taxonomy_term.corporate_body.default.yml +++ b/codebase/config/sync/core.entity_form_display.taxonomy_term.corporate_body.default.yml @@ -139,7 +139,7 @@ content: weight: 0 region: content settings: - size: 60 + size: 1024 placeholder: '' third_party_settings: { } status: diff --git a/codebase/config/sync/core.entity_view_display.media.extracted_text.default.yml b/codebase/config/sync/core.entity_view_display.media.extracted_text.default.yml index 346a5734a..8c4c62901 100644 --- a/codebase/config/sync/core.entity_view_display.media.extracted_text.default.yml +++ b/codebase/config/sync/core.entity_view_display.media.extracted_text.default.yml @@ -3,6 +3,7 @@ langcode: en status: true dependencies: config: + - field.field.media.extracted_text.field_access_terms - field.field.media.extracted_text.field_edited_text - field.field.media.extracted_text.field_media_file - field.field.media.extracted_text.field_media_of @@ -30,6 +31,14 @@ content: custom_date_format: '' timezone: '' third_party_settings: { } + field_access_terms: + weight: 5 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content field_edited_text: type: text_default weight: 3 diff --git a/codebase/config/sync/core.entity_view_display.media.remote_video.default.yml b/codebase/config/sync/core.entity_view_display.media.remote_video.default.yml index 790b5e965..72aa35a61 100644 --- a/codebase/config/sync/core.entity_view_display.media.remote_video.default.yml +++ b/codebase/config/sync/core.entity_view_display.media.remote_video.default.yml @@ -3,6 +3,7 @@ langcode: en status: true dependencies: config: + - field.field.media.remote_video.field_access_terms - field.field.media.remote_video.field_media_oembed_video - media.type.remote_video module: @@ -14,6 +15,14 @@ targetEntityType: media bundle: remote_video mode: default content: + field_access_terms: + weight: 1 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content field_media_oembed_video: type: oembed weight: 0 diff --git a/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml index 85087f189..ab1de9053 100644 --- a/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml @@ -3,6 +3,7 @@ langcode: en status: true dependencies: config: + - field.field.node.collection_object.field_access_control - field.field.node.collection_object.field_alternative_title - field.field.node.collection_object.field_citable_url - field.field.node.collection_object.field_collection_contact_email @@ -33,6 +34,14 @@ content: region: content settings: { } third_party_settings: { } + field_access_control: + weight: 16 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content field_alternative_title: type: reference_value_formatter weight: 6 diff --git a/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml b/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml index caa56ef86..479dd4b6b 100644 --- a/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml +++ b/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - core.entity_view_mode.node.teaser + - field.field.node.collection_object.field_access_control - field.field.node.collection_object.field_alternative_title - field.field.node.collection_object.field_citable_url - field.field.node.collection_object.field_collection_contact_email @@ -49,6 +50,7 @@ hidden: display_media_entity_view_1: true display_media_entity_view_2: true display_media_service_file: true + field_access_control: true field_alternative_title: true field_collection_contact_email: true field_collection_contact_name: true diff --git a/codebase/config/sync/core.extension.yml b/codebase/config/sync/core.extension.yml index ed7bb8da7..e9355c934 100644 --- a/codebase/config/sync/core.extension.yml +++ b/codebase/config/sync/core.extension.yml @@ -101,6 +101,8 @@ module: rest: 0 rest_oai_pmh: 0 restui: 0 + role_delegation: 0 + role_hierarchy: 0 search_api: 0 search_api_solr: 0 search_api_solr_defaults: 0 @@ -119,6 +121,8 @@ module: update: 0 user: 0 views_ui: 0 + workbench: 0 + workbench_access: 0 content_translation: 10 externalauth: 10 views: 10 diff --git a/codebase/config/sync/field.field.media.extracted_text.field_access_terms.yml b/codebase/config/sync/field.field.media.extracted_text.field_access_terms.yml new file mode 100644 index 000000000..b1f01875a --- /dev/null +++ b/codebase/config/sync/field.field.media.extracted_text.field_access_terms.yml @@ -0,0 +1,29 @@ +uuid: fa2e8118-8d80-4a79-ba4a-6acf41055780 +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_access_terms + - media.type.extracted_text + - taxonomy.vocabulary.islandora_access +id: media.extracted_text.field_access_terms +field_name: field_access_terms +entity_type: media +bundle: extracted_text +label: 'Access terms' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + islandora_access: islandora_access + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/codebase/config/sync/field.field.media.remote_video.field_access_terms.yml b/codebase/config/sync/field.field.media.remote_video.field_access_terms.yml new file mode 100644 index 000000000..c3492e6d1 --- /dev/null +++ b/codebase/config/sync/field.field.media.remote_video.field_access_terms.yml @@ -0,0 +1,29 @@ +uuid: b73980c8-30b8-4995-bc23-02a04547b84c +langcode: en +status: true +dependencies: + config: + - field.storage.media.field_access_terms + - media.type.remote_video + - taxonomy.vocabulary.islandora_access +id: media.remote_video.field_access_terms +field_name: field_access_terms +entity_type: media +bundle: remote_video +label: 'Access terms' +description: '' +required: false +translatable: true +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + islandora_access: islandora_access + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/codebase/config/sync/field.field.node.collection_object.field_access_control.yml b/codebase/config/sync/field.field.node.collection_object.field_access_control.yml new file mode 100644 index 000000000..73c37cdbe --- /dev/null +++ b/codebase/config/sync/field.field.node.collection_object.field_access_control.yml @@ -0,0 +1,29 @@ +uuid: 1f872323-83c3-47c7-a7a9-798cd1ec1729 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_access_control + - node.type.collection_object + - taxonomy.vocabulary.islandora_access +id: node.collection_object.field_access_control +field_name: field_access_control +entity_type: node +bundle: collection_object +label: 'Access Control' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + islandora_access: islandora_access + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/codebase/config/sync/field.storage.node.field_access_control.yml b/codebase/config/sync/field.storage.node.field_access_control.yml new file mode 100644 index 000000000..abdab8ba7 --- /dev/null +++ b/codebase/config/sync/field.storage.node.field_access_control.yml @@ -0,0 +1,24 @@ +uuid: 09ebab33-9519-475e-9b30-d031a3de708c +langcode: en +status: true +dependencies: + module: + - field_permissions + - node + - taxonomy +third_party_settings: + field_permissions: + permission_type: custom +id: node.field_access_control +field_name: field_access_control +entity_type: node +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/codebase/config/sync/field.storage.node.field_access_terms.yml b/codebase/config/sync/field.storage.node.field_access_terms.yml index 097b2d3e0..97a173de9 100644 --- a/codebase/config/sync/field.storage.node.field_access_terms.yml +++ b/codebase/config/sync/field.storage.node.field_access_terms.yml @@ -8,7 +8,7 @@ dependencies: - taxonomy third_party_settings: field_permissions: - permission_type: private + permission_type: custom _core: default_config_hash: yf5ONBhEFtk6wecSjGIXs8lk_eatTCLSPPVBBG6pk4o id: node.field_access_terms diff --git a/codebase/config/sync/role_hierarchy.settings.yml b/codebase/config/sync/role_hierarchy.settings.yml new file mode 100644 index 000000000..96c79a838 --- /dev/null +++ b/codebase/config/sync/role_hierarchy.settings.yml @@ -0,0 +1,8 @@ +strict: 0 +non_hierarchical_roles: + administrator: administrator + global_admin: 0 + collection_level_admin: 0 + fedoraadmin: 0 + authenticated: 0 + anonymous: 0 diff --git a/codebase/config/sync/shortcut.set.islandora-shortcuts.yml b/codebase/config/sync/shortcut.set.islandora-shortcuts.yml new file mode 100644 index 000000000..def47c586 --- /dev/null +++ b/codebase/config/sync/shortcut.set.islandora-shortcuts.yml @@ -0,0 +1,6 @@ +uuid: d1a3d7e1-cf30-4e02-8375-ab7bb9d862cb +langcode: en +status: true +dependencies: { } +id: islandora-shortcuts +label: Islandora diff --git a/codebase/config/sync/simplesamlphp_auth.settings.yml b/codebase/config/sync/simplesamlphp_auth.settings.yml index f08171569..172cc3db9 100644 --- a/codebase/config/sync/simplesamlphp_auth.settings.yml +++ b/codebase/config/sync/simplesamlphp_auth.settings.yml @@ -16,6 +16,8 @@ allow: default_login: true default_login_roles: administrator: administrator + collection_level_admin: collection_level_admin + global_admin: global_admin default_login_users: '1' logout_goto_url: '' user_register_original: visitors_admin_approval diff --git a/codebase/config/sync/system.action.user_add_role_action.collection_level_admin.yml b/codebase/config/sync/system.action.user_add_role_action.collection_level_admin.yml new file mode 100644 index 000000000..915bd215a --- /dev/null +++ b/codebase/config/sync/system.action.user_add_role_action.collection_level_admin.yml @@ -0,0 +1,14 @@ +uuid: 034f7b73-cc86-451b-b1b0-d18280043319 +langcode: en +status: true +dependencies: + config: + - user.role.collection_level_admin + module: + - user +id: user_add_role_action.collection_level_admin +label: 'Add the Collection Level Admin role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: collection_level_admin diff --git a/codebase/config/sync/system.action.user_add_role_action.global_admin.yml b/codebase/config/sync/system.action.user_add_role_action.global_admin.yml new file mode 100644 index 000000000..7e1949d3d --- /dev/null +++ b/codebase/config/sync/system.action.user_add_role_action.global_admin.yml @@ -0,0 +1,14 @@ +uuid: 9525d141-a3a2-4e79-8691-e941247c5946 +langcode: en +status: true +dependencies: + config: + - user.role.global_admin + module: + - user +id: user_add_role_action.global_admin +label: 'Add the Global Admin role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: global_admin diff --git a/codebase/config/sync/system.action.user_add_role_action.staff.yml b/codebase/config/sync/system.action.user_add_role_action.staff.yml deleted file mode 100644 index 477c70c3c..000000000 --- a/codebase/config/sync/system.action.user_add_role_action.staff.yml +++ /dev/null @@ -1,14 +0,0 @@ -uuid: e63e8081-e550-4e21-9c43-f28db9ff1975 -langcode: en -status: true -dependencies: - config: - - user.role.staff - module: - - user -id: user_add_role_action.staff -label: 'Add the Staff role to the selected user(s)' -type: user -plugin: user_add_role_action -configuration: - rid: staff diff --git a/codebase/config/sync/system.action.user_remove_role_action.collection_level_admin.yml b/codebase/config/sync/system.action.user_remove_role_action.collection_level_admin.yml new file mode 100644 index 000000000..ad610bf93 --- /dev/null +++ b/codebase/config/sync/system.action.user_remove_role_action.collection_level_admin.yml @@ -0,0 +1,14 @@ +uuid: 592d0999-dc2d-4d96-8387-8dcf3ff9ab87 +langcode: en +status: true +dependencies: + config: + - user.role.collection_level_admin + module: + - user +id: user_remove_role_action.collection_level_admin +label: 'Remove the Collection Level Admin role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: collection_level_admin diff --git a/codebase/config/sync/system.action.user_remove_role_action.global_admin.yml b/codebase/config/sync/system.action.user_remove_role_action.global_admin.yml new file mode 100644 index 000000000..043c1034b --- /dev/null +++ b/codebase/config/sync/system.action.user_remove_role_action.global_admin.yml @@ -0,0 +1,14 @@ +uuid: b839bd0a-3d5c-4bbe-b987-58ccd9f474f8 +langcode: en +status: true +dependencies: + config: + - user.role.global_admin + module: + - user +id: user_remove_role_action.global_admin +label: 'Remove the Global Admin role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: global_admin diff --git a/codebase/config/sync/system.action.user_remove_role_action.staff.yml b/codebase/config/sync/system.action.user_remove_role_action.staff.yml deleted file mode 100644 index d2ecc9ad9..000000000 --- a/codebase/config/sync/system.action.user_remove_role_action.staff.yml +++ /dev/null @@ -1,14 +0,0 @@ -uuid: f41e3554-bf90-433c-92c1-958a57eec8fb -langcode: en -status: true -dependencies: - config: - - user.role.staff - module: - - user -id: user_remove_role_action.staff -label: 'Remove the Staff role from the selected user(s)' -type: user -plugin: user_remove_role_action -configuration: - rid: staff diff --git a/codebase/config/sync/system.menu.workbench.yml b/codebase/config/sync/system.menu.workbench.yml new file mode 100644 index 000000000..989ffd076 --- /dev/null +++ b/codebase/config/sync/system.menu.workbench.yml @@ -0,0 +1,10 @@ +uuid: 8d36e189-cfa4-4090-a67c-a6b2b2a7b448 +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: Uk5hyWhkNv7DHmWKBBnOc-W05llRdbXe19rUxCsSt8Y +id: workbench +label: Workbench +description: 'The editorial workbench.' +locked: true diff --git a/codebase/config/sync/user.role.administrator.yml b/codebase/config/sync/user.role.administrator.yml index 521450855..e0d403820 100644 --- a/codebase/config/sync/user.role.administrator.yml +++ b/codebase/config/sync/user.role.administrator.yml @@ -6,6 +6,6 @@ _core: default_config_hash: Om6FEO7vZZMkPIbVvfxtdkWerQ2PvQM4sWUd6Q3ZnfI id: administrator label: Administrator -weight: 2 +weight: -10 is_admin: true permissions: { } diff --git a/codebase/config/sync/user.role.anonymous.yml b/codebase/config/sync/user.role.anonymous.yml index c7eae6c1a..43d3f2e85 100644 --- a/codebase/config/sync/user.role.anonymous.yml +++ b/codebase/config/sync/user.role.anonymous.yml @@ -6,12 +6,12 @@ _core: default_config_hash: pq_mEIu_B4widZN7Ap81iCJSjShFFdcL0jEiCi8VrDk id: anonymous label: 'Anonymous user' -weight: 0 +weight: -5 is_admin: false permissions: - - 'access comments' - 'access content' - 'access site-wide contact form' + - 'restful get oai_pmh' - 'search content' - 'use text format restricted_html' - 'view field_citable_url' diff --git a/codebase/config/sync/user.role.authenticated.yml b/codebase/config/sync/user.role.authenticated.yml index d5a74c453..321e182ca 100644 --- a/codebase/config/sync/user.role.authenticated.yml +++ b/codebase/config/sync/user.role.authenticated.yml @@ -6,17 +6,15 @@ _core: default_config_hash: btW6TFHajhy7Eo6YUvdFiPh4TcPggo8GBXYctjV6zag id: authenticated label: 'Authenticated user' -weight: 1 +weight: -6 is_admin: false permissions: - - 'access comments' - 'access content' - 'access shortcuts' - 'access site-wide contact form' - 'opt-in or out of matomo tracking' - - 'post comments' + - 'restful get oai_pmh' - 'search content' - - 'skip comment approval' - 'use text format basic_html' - 'view field_citable_url' - 'view media' diff --git a/codebase/config/sync/user.role.collection_level_admin.yml b/codebase/config/sync/user.role.collection_level_admin.yml new file mode 100644 index 000000000..c8b90ffe4 --- /dev/null +++ b/codebase/config/sync/user.role.collection_level_admin.yml @@ -0,0 +1,92 @@ +uuid: dd96fbc1-cb9a-42fc-ae6e-82c3eceae88d +langcode: en +status: true +dependencies: { } +id: collection_level_admin +label: 'Collection Level Admin' +weight: -8 +is_admin: null +permissions: + - 'access media overview' + - 'access migrate source ui' + - 'access site reports' + - 'access taxonomy overview' + - 'access toolbar' + - 'access workbench' + - 'administer migrations' + - 'batch update workbench access' + - 'create audio media' + - 'create document media' + - 'create extracted_text media' + - 'create field_access_terms' + - 'create file media' + - 'create fits_technical_metadata media' + - 'create image media' + - 'create islandora_object content' + - 'create media' + - 'create remote_video media' + - 'create terms in access_rights' + - 'create terms in copyright_and_use' + - 'create terms in corporate_body' + - 'create terms in family' + - 'create terms in genre' + - 'create terms in geo_location' + - 'create terms in language' + - 'create terms in person' + - 'create terms in resource_types' + - 'create terms in subject' + - 'create video media' + - 'edit any audio media' + - 'edit any collection_object content' + - 'edit any document media' + - 'edit any extracted_text media' + - 'edit any file media' + - 'edit any fits_technical_metadata media' + - 'edit any image media' + - 'edit any islandora_object content' + - 'edit any remote_video media' + - 'edit any video media' + - 'edit own audio media' + - 'edit own collection_object content' + - 'edit own document media' + - 'edit own extracted_text media' + - 'edit own field_access_control' + - 'edit own field_access_terms' + - 'edit own file media' + - 'edit own fits_technical_metadata media' + - 'edit own image media' + - 'edit own islandora_object content' + - 'edit own remote_video media' + - 'edit own video media' + - 'edit terms in access_rights' + - 'edit terms in copyright_and_use' + - 'edit terms in corporate_body' + - 'edit terms in family' + - 'edit terms in genre' + - 'edit terms in geo_location' + - 'edit terms in language' + - 'edit terms in person' + - 'edit terms in resource_types' + - 'edit terms in subject' + - 'manage media' + - 'manage members' + - 'restful get oai_pmh' + - 'revert collection_object revisions' + - 'revert islandora_object revisions' + - 'update any media' + - 'update media' + - 'use text format full_html' + - 'use text format restricted_html' + - 'use workbench access' + - 'view all media revisions' + - 'view checksums' + - 'view collection_object revisions' + - 'view field_access_control' + - 'view field_access_terms' + - 'view islandora_object revisions' + - 'view own field_access_control' + - 'view own field_access_terms' + - 'view own unpublished content' + - 'view own unpublished media' + - 'view the administration theme' + - 'view workbench access information' diff --git a/codebase/config/sync/user.role.fedoraadmin.yml b/codebase/config/sync/user.role.fedoraadmin.yml index 64b85f912..300bcfbfc 100644 --- a/codebase/config/sync/user.role.fedoraadmin.yml +++ b/codebase/config/sync/user.role.fedoraadmin.yml @@ -6,6 +6,6 @@ _core: default_config_hash: e6W733rBSNmewsIQsvWQ-8mIE5H-CIeArLBwIbN5vVQ id: fedoraadmin label: fedoraAdmin -weight: 3 +weight: -7 is_admin: null permissions: { } diff --git a/codebase/config/sync/user.role.global_admin.yml b/codebase/config/sync/user.role.global_admin.yml new file mode 100644 index 000000000..b04a4e683 --- /dev/null +++ b/codebase/config/sync/user.role.global_admin.yml @@ -0,0 +1,124 @@ +uuid: 5e61c5ea-bc1c-4d5f-afae-8c80a33eeadd +langcode: en +status: true +dependencies: { } +id: global_admin +label: 'Global Admin' +weight: -9 +is_admin: null +permissions: + - 'access browse_content entity browser pages' + - 'access browse_content_iframe entity browser pages' + - 'access content overview' + - 'access media overview' + - 'access migrate source ui' + - 'access site reports' + - 'access taxonomy overview' + - 'access toolbar' + - 'access user profiles' + - 'access workbench' + - 'administer migrations' + - 'administer nodes' + - 'administer users' + - 'assign collection_level_admin role' + - 'assign selected workbench access' + - 'assign workbench access' + - 'batch update workbench access' + - 'bypass workbench access' + - 'create audio media' + - 'create collection_object content' + - 'create document media' + - 'create extracted_text media' + - 'create field_access_control' + - 'create field_access_group' + - 'create field_access_terms' + - 'create file media' + - 'create fits_technical_metadata media' + - 'create image media' + - 'create islandora_object content' + - 'create media' + - 'create remote_video media' + - 'create terms in access_rights' + - 'create terms in copyright_and_use' + - 'create terms in corporate_body' + - 'create terms in family' + - 'create terms in genre' + - 'create terms in geo_location' + - 'create terms in islandora_access' + - 'create terms in language' + - 'create terms in person' + - 'create terms in resource_types' + - 'create terms in subject' + - 'create video media' + - 'delete terms in access_rights' + - 'delete terms in copyright_and_use' + - 'delete terms in corporate_body' + - 'delete terms in family' + - 'delete terms in genre' + - 'delete terms in geo_location' + - 'delete terms in islandora_access' + - 'delete terms in language' + - 'delete terms in person' + - 'delete terms in resource_types' + - 'delete terms in subject' + - 'edit any audio media' + - 'edit any collection_object content' + - 'edit any document media' + - 'edit any extracted_text media' + - 'edit any file media' + - 'edit any fits_technical_metadata media' + - 'edit any image media' + - 'edit any islandora_object content' + - 'edit any remote_video media' + - 'edit any video media' + - 'edit field_access_control' + - 'edit field_access_group' + - 'edit field_access_terms' + - 'edit own audio media' + - 'edit own collection_object content' + - 'edit own document media' + - 'edit own extracted_text media' + - 'edit own field_access_control' + - 'edit own field_access_group' + - 'edit own field_access_terms' + - 'edit own file media' + - 'edit own fits_technical_metadata media' + - 'edit own image media' + - 'edit own islandora_object content' + - 'edit own remote_video media' + - 'edit own video media' + - 'edit terms in access_rights' + - 'edit terms in copyright_and_use' + - 'edit terms in corporate_body' + - 'edit terms in family' + - 'edit terms in genre' + - 'edit terms in geo_location' + - 'edit terms in islandora_access' + - 'edit terms in language' + - 'edit terms in person' + - 'edit terms in resource_types' + - 'edit terms in subject' + - 'manage media' + - 'manage members' + - 'restful get oai_pmh' + - 'revert collection_object revisions' + - 'revert islandora_object revisions' + - 'update any media' + - 'update media' + - 'use text format full_html' + - 'use text format restricted_html' + - 'use workbench access' + - 'view all media revisions' + - 'view checksums' + - 'view collection_object revisions' + - 'view field_access_control' + - 'view field_access_group' + - 'view field_access_terms' + - 'view islandora_object revisions' + - 'view own field_access_control' + - 'view own field_access_group' + - 'view own field_access_terms' + - 'view own unpublished content' + - 'view own unpublished media' + - 'view the administration theme' + - 'view workbench access information' diff --git a/codebase/config/sync/user.role.staff.yml b/codebase/config/sync/user.role.staff.yml deleted file mode 100644 index 761d65b12..000000000 --- a/codebase/config/sync/user.role.staff.yml +++ /dev/null @@ -1,9 +0,0 @@ -uuid: 7d946c88-d762-4efb-83be-27a57ec81223 -langcode: en -status: true -dependencies: { } -id: staff -label: Staff -weight: 4 -is_admin: null -permissions: { } diff --git a/codebase/config/sync/views.view.openseadragon_media_evas.yml b/codebase/config/sync/views.view.openseadragon_media_evas.yml index af08af7cc..bd6ecb372 100644 --- a/codebase/config/sync/views.view.openseadragon_media_evas.yml +++ b/codebase/config/sync/views.view.openseadragon_media_evas.yml @@ -224,20 +224,25 @@ display: group: 1 exposed: false expose: - operator_id: '' - label: '' + operator_id: field_external_uri_uri_op + label: 'External URI (field_external_uri:uri)' description: '' use_operator: false - operator: '' - identifier: '' + operator: field_external_uri_uri_op + operator_limit_selection: false + operator_list: { } + identifier: field_external_uri_uri required: false remember: false multiple: false remember_roles: authenticated: authenticated + anonymous: '0' + administrator: '0' + fedoraadmin: '0' + collection_level_admin: '0' + global_admin: '0' placeholder: '' - operator_limit_selection: false - operator_list: { } is_grouped: false group_info: label: '' diff --git a/codebase/config/sync/views.view.repository_item_member_of.yml b/codebase/config/sync/views.view.repository_item_member_of.yml new file mode 100644 index 000000000..039df2f21 --- /dev/null +++ b/codebase/config/sync/views.view.repository_item_member_of.yml @@ -0,0 +1,169 @@ +uuid: b158dfcb-d334-4b99-8dce-3abee480a7b5 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.islandora_access + module: + - taxonomy + - user +id: repository_item_member_of +label: 'Repository Item member_of' +module: views +description: '' +tag: '' +base_table: taxonomy_term_field_data +base_field: nid +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: mini + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + uses_fields: false + row: + type: fields + options: + inline: { } + separator: '' + hide_empty: false + default_field_elements: true + fields: + name: + id: name + table: taxonomy_term_field_data + field: name + entity_type: taxonomy_term + entity_field: name + label: '' + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + type: string + settings: + link_to_entity: true + plugin_id: term_name + relationship: none + group_type: group + admin_label: '' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + convert_spaces: false + filters: + status: + value: '1' + table: taxonomy_term_field_data + field: status + plugin_id: boolean + entity_type: taxonomy_term + entity_field: status + id: status + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + group: 1 + vid: + id: vid + table: taxonomy_term_field_data + field: vid + value: + islandora_access: islandora_access + entity_type: taxonomy_term + entity_field: vid + plugin_id: bundle + expose: + operator_limit_selection: false + operator_list: { } + sorts: { } + header: { } + footer: { } + empty: { } + relationships: { } + arguments: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - user.permissions + tags: { } diff --git a/codebase/config/sync/views.view.repsitory_item_access_perm_types.yml b/codebase/config/sync/views.view.repsitory_item_access_perm_types.yml new file mode 100644 index 000000000..fbde41f0f --- /dev/null +++ b/codebase/config/sync/views.view.repsitory_item_access_perm_types.yml @@ -0,0 +1,282 @@ +uuid: 74b8b5d4-2bd2-4ea2-84ed-e061d8ce0521 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.resource_types + module: + - taxonomy + - user +id: repsitory_item_access_perm_types +label: 'Repsitory Item Access Perm Types' +module: views +description: 'These are the models in Islandora Models that are applicable to Repository Items. View is used on the Repsitory Item Edit page.' +tag: '' +base_table: taxonomy_term_field_data +base_field: tid +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: mini + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + uses_fields: false + row: + type: fields + options: + inline: { } + separator: '' + hide_empty: false + default_field_elements: true + fields: + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + convert_spaces: false + entity_type: taxonomy_term + entity_field: name + plugin_id: term_name + filters: + status: + value: '1' + table: taxonomy_term_field_data + field: status + plugin_id: boolean + entity_type: taxonomy_term + entity_field: status + id: status + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + group: 1 + vid: + id: vid + table: taxonomy_term_field_data + field: vid + relationship: none + group_type: group + admin_label: '' + operator: in + value: + resource_types: resource_types + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: taxonomy_term + entity_field: vid + plugin_id: bundle + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + operator: '!=' + value: Collection + group: 1 + exposed: false + expose: + operator_id: name_op + label: Name + description: '' + use_operator: false + operator: name_op + operator_limit_selection: false + operator_list: { } + identifier: name + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + fedoraadmin: '0' + staff: '0' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: taxonomy_term + entity_field: name + plugin_id: string + sorts: { } + header: { } + footer: { } + empty: { } + relationships: { } + arguments: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - user.permissions + tags: { } + entity_reference_1: + display_plugin: entity_reference + id: entity_reference_1 + display_title: 'Entity Reference' + position: 1 + display_options: + display_extenders: { } + style: + type: entity_reference + options: + search_fields: + name: name + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - user.permissions + tags: { } diff --git a/codebase/config/sync/views.view.workbench_current_user.yml b/codebase/config/sync/views.view.workbench_current_user.yml new file mode 100644 index 000000000..2e850235f --- /dev/null +++ b/codebase/config/sync/views.view.workbench_current_user.yml @@ -0,0 +1,444 @@ +uuid: fe6c65c7-1489-45a3-81fd-af775c480caf +langcode: en +status: true +dependencies: + module: + - user +_core: + default_config_hash: x0E2jGoxP9eHkfDCa_squULlpvddE5h3gln_1oKeViY +id: workbench_current_user +label: 'Workbench: Current user' +module: views +description: 'Information about the current user.' +tag: Workbench +base_table: users_field_data +base_field: uid +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access user profiles' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: none + options: + items_per_page: 0 + offset: 0 + style: + type: default + row: + type: fields + fields: + uid: + id: uid + table: users_field_data + field: uid + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: user + entity_field: uid + plugin_id: field + name: + id: name + table: users_field_data + field: name + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: user + entity_field: name + plugin_id: field + edit_user: + id: edit_user + table: users + field: edit_user + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: 'Edit my profile' + entity_type: user + plugin_id: entity_link_edit + access: + id: access + table: users_field_data + field: access + relationship: none + group_type: group + admin_label: '' + label: 'Last visit' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: long + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: user + entity_field: access + plugin_id: field + roles: + id: roles + table: user__roles + field: roles_target_id + relationship: none + group_type: group + admin_label: '' + label: 'Assigned roles' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + type: entity_reference_label + separator: ', ' + entity_type: user + entity_field: roles + plugin_id: user_roles + filters: + uid_current: + id: uid_current + table: users + field: uid_current + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: user + plugin_id: user_current + sorts: { } + title: '' + header: + area: + id: area + table: views + field: area + relationship: none + group_type: group + admin_label: '' + empty: false + tokenize: true + content: + value: '

{{ name }}''s profile

' + format: basic_html + plugin_id: text + footer: { } + empty: { } + relationships: { } + arguments: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - user + - user.permissions + tags: { } + block_1: + display_plugin: block + id: block_1 + display_title: 'Overview block' + position: 1 + display_options: + display_extenders: { } + display_description: 'Displays information about the current user.' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - user + - user.permissions + tags: { } diff --git a/codebase/config/sync/views.view.workbench_edited.yml b/codebase/config/sync/views.view.workbench_edited.yml new file mode 100644 index 000000000..b49f1acf7 --- /dev/null +++ b/codebase/config/sync/views.view.workbench_edited.yml @@ -0,0 +1,1007 @@ +uuid: ba52939d-8b08-4168-82c3-be2522169bbc +langcode: en +status: true +dependencies: + module: + - node + - user +_core: + default_config_hash: WMpzvSWjygJfcGxqX_wcDKoUpyl9ihHN0zbCJVzVhXw +id: workbench_edited +label: 'Workbench: Edits by user' +module: views +description: 'Lists content edited by the user.' +tag: Workbench +base_table: node_field_revision +base_field: vid +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access workbench' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 25 + offset: 0 + id: 0 + total_pages: null + tags: + previous: '‹ Previous' + next: 'Next ›' + first: '« First' + last: 'Last »' + expose: + items_per_page: true + items_per_page_label: 'Items per page' + items_per_page_options: '10,25,50,100,200' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + nid: nid + title: title + type: type + status: status + changed: changed + info: + nid: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + title: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + type: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: priority-low + status: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: priority-low + changed: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: '' + default: changed + empty_table: false + row: + type: fields + fields: + nid: + id: nid + table: node_field_data + field: nid + relationship: vid + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: nid + plugin_id: field + title: + id: title + table: node_field_revision + field: title + relationship: vid + group_type: group + admin_label: '' + label: Title + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: title + plugin_id: field + type: + id: type + table: node_field_data + field: type + relationship: vid + group_type: group + admin_label: '' + label: Type + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: type + plugin_id: field + status: + id: status + table: node_field_data + field: status + relationship: vid + group_type: group + admin_label: '' + label: Published + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: boolean + settings: + format: yes-no + format_custom_true: '' + format_custom_false: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: status + plugin_id: field + changed: + id: changed + table: node_field_revision + field: changed + relationship: vid + group_type: group + admin_label: '' + label: 'Last updated' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp_ago + settings: + date_format: medium + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: changed + plugin_id: field + uid: + id: uid + table: node_field_revision + field: uid + relationship: none + group_type: group + admin_label: '' + label: Author + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: uid + plugin_id: field + revision_uid: + id: revision_uid + table: node_revision + field: revision_uid + relationship: vid + group_type: group + admin_label: '' + label: 'Revised by' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: revision_uid + plugin_id: field + filters: + title: + id: title + table: node_field_revision + field: title + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + identifier: title + required: false + remember: true + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + editor: '0' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + entity_field: title + plugin_id: string + type: + id: type + table: node_field_data + field: type + relationship: vid + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: type_op + label: Type + description: '' + use_operator: false + operator: type_op + identifier: type + required: false + remember: true + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + editor: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + entity_field: type + plugin_id: bundle + status: + id: status + table: node_field_data + field: status + relationship: vid + group_type: group + admin_label: '' + operator: '=' + value: '1' + group: 1 + exposed: true + expose: + operator_id: '' + label: Published + description: '' + use_operator: false + operator: status_op + identifier: published + required: false + remember: true + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + editor: '0' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + entity_field: status + plugin_id: boolean + type_1: + id: type_1 + table: node_field_data + field: type + relationship: vid + group_type: group + admin_label: '' + operator: 'not empty' + value: { } + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + entity_field: type + plugin_id: bundle + sorts: + changed: + id: changed + table: node_field_revision + field: changed + relationship: vid + group_type: group + admin_label: '' + order: DESC + exposed: false + expose: + label: '' + granularity: second + entity_type: node + entity_field: changed + plugin_id: date + title: 'My Edits' + header: { } + footer: { } + empty: + area: + id: area + table: views + field: area + relationship: none + group_type: group + admin_label: '' + empty: true + tokenize: false + content: + value: 'You haven''t created or edited any content.' + format: basic_html + plugin_id: text + relationships: + uid: + id: uid + table: node_field_revision + field: uid + relationship: none + group_type: group + admin_label: User + required: false + entity_type: node + entity_field: uid + plugin_id: standard + vid: + id: vid + table: node_field_revision + field: vid + relationship: none + group_type: group + admin_label: 'Get the actual content from a content revision.' + required: false + entity_type: node + entity_field: vid + plugin_id: standard + arguments: + uid_revision: + id: uid_revision + table: node_field_data + field: uid_revision + relationship: vid + group_type: group + admin_label: '' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: current_user + default_argument_options: { } + default_argument_skip_url: false + summary_options: + base_path: '' + count: true + items_per_page: 25 + override: false + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + break_phrase: false + not: false + entity_type: node + plugin_id: node_uid_revision + display_extenders: { } + filter_groups: + operator: AND + groups: + 1: AND + use_ajax: false + link_url: /admin + link_display: '0' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: { } + block_1: + display_plugin: block + id: block_1 + display_title: 'Overview block' + position: 2 + display_options: + display_extenders: { } + pager: + type: full + options: + items_per_page: 5 + offset: 0 + id: 0 + total_pages: null + tags: + previous: ‹‹ + next: ›› + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + defaults: + pager: false + header: false + filters: false + filter_groups: false + footer: false + use_more: false + use_more_always: false + use_more_text: false + link_display: true + link_url: true + use_ajax: false + header: + area: + id: area + table: views + field: area + relationship: none + group_type: group + admin_label: '' + empty: false + tokenize: false + content: + value: '

Your most recent edits

' + format: basic_html + plugin_id: text + filters: + type_1: + id: type_1 + table: node_field_data + field: type + relationship: vid + group_type: group + admin_label: '' + operator: 'not empty' + value: { } + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + entity_field: type + plugin_id: bundle + filter_groups: + operator: AND + groups: + 1: AND + footer: { } + use_more: false + use_more_always: false + use_more_text: 'view all' + link_display: /admin/workbench/content/edited + display_description: 'The five most recent edits by this user' + use_ajax: true + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: { } + embed_1: + display_plugin: embed + id: embed_1 + display_title: 'Page Embed' + position: 3 + display_options: + display_extenders: { } + display_description: 'The embedded view for use on a landing page' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/codebase/config/sync/views.view.workbench_recent_content.yml b/codebase/config/sync/views.view.workbench_recent_content.yml new file mode 100644 index 000000000..05373e154 --- /dev/null +++ b/codebase/config/sync/views.view.workbench_recent_content.yml @@ -0,0 +1,1331 @@ +uuid: 997401d2-1e82-41fe-91dc-8c9d3d22558e +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_access_control + - field.storage.node.field_access_terms + module: + - node + - user +_core: + default_config_hash: sE8LcWl4XA93if6pA-KTbMmgz3gKkd40g4wxUVmBD8I +id: workbench_recent_content +label: 'Workbench: Recent content' +module: views +description: 'Content overview page for Workbench.' +tag: Workbench +base_table: node_field_data +base_field: nid +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access workbench' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: full + options: + items_per_page: 25 + offset: 0 + id: 0 + total_pages: null + tags: + previous: '‹ Previous' + next: 'Next ›' + first: '« First' + last: 'Last »' + expose: + items_per_page: true + items_per_page_label: 'Items per page' + items_per_page_options: '10,25,50,100,200' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + title: title + type: type + status: status + name: name + changed: changed + edit_node: edit_node + info: + title: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + type: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: priority-low + status: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: priority-low + name: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: priority-low + changed: + sortable: true + default_sort_order: desc + align: '' + separator: '' + empty_column: false + responsive: priority-low + edit_node: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: priority-medium + default: changed + empty_table: false + row: + type: fields + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + label: Title + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + label: Type + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: type + plugin_id: field + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + label: Published + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: boolean + settings: + format: yes-no + format_custom_true: '' + format_custom_false: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: status + plugin_id: field + name: + id: name + table: users_field_data + field: name + relationship: uid + group_type: group + admin_label: '' + label: Author + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: user + entity_field: name + plugin_id: field + changed: + id: changed + table: node_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + label: 'Last updated' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp_ago + settings: + date_format: medium + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: changed + plugin_id: field + edit_node: + id: edit_node + table: node + field: edit_node + relationship: none + group_type: group + admin_label: '' + label: Actions + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: edit + entity_type: node + plugin_id: entity_link_edit + filters: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + identifier: title + required: false + remember: true + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + editor: '0' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + entity_field: title + plugin_id: string + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: type_op + label: Type + description: '' + use_operator: false + operator: type_op + identifier: type + required: false + remember: true + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + editor: '0' + reduce: false + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + entity_field: type + plugin_id: bundle + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '1' + group: 1 + exposed: true + expose: + operator_id: '' + label: Published + description: '' + use_operator: false + operator: status_op + identifier: published + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + editor: '0' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: boolean + entity_type: node + entity_field: status + status_extra: + id: status_extra + table: node_field_data + field: status_extra + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: false + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: node + plugin_id: node_status + sorts: + changed: + id: changed + table: node_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + order: DESC + exposed: false + expose: + label: '' + granularity: second + entity_type: node + entity_field: changed + plugin_id: date + title: 'Workbench: Recent content' + header: + area: + id: area + table: views + field: area + plugin_id: text + footer: { } + empty: + area: + id: area + table: views + field: area + relationship: none + group_type: group + admin_label: '' + empty: true + tokenize: false + content: + value: 'There is no content available for you to edit.' + format: basic_html + plugin_id: text + relationships: + uid: + id: uid + table: node_field_data + field: uid + relationship: none + group_type: group + admin_label: author + required: false + entity_type: node + entity_field: uid + plugin_id: standard + arguments: { } + display_extenders: { } + filter_groups: + operator: AND + groups: + 1: AND + link_url: /admin/workbench/content/all + link_display: '0' + use_more: false + use_more_always: false + use_more_text: 'view all' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: { } + block_1: + display_plugin: block + id: block_1 + display_title: 'Overview block' + position: 2 + display_options: + display_extenders: { } + defaults: + style: true + row: true + pager: false + fields: false + filters: false + filter_groups: false + use_more: true + use_more_always: true + use_more_text: true + header: false + use_ajax: false + pager: + type: full + options: + items_per_page: 10 + offset: 0 + id: 2 + total_pages: null + tags: + previous: ‹‹ + next: ›› + first: '« First' + last: 'Last »' + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + quantity: 9 + display_description: 'The ten most recent posts to the site' + filters: + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: '1' + group: 1 + exposed: false + expose: + operator_id: '' + label: Published + description: '' + use_operator: false + operator: status_op + identifier: published + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + editor: '0' + operator_limit_selection: false + operator_list: { } + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + plugin_id: boolean + entity_type: node + entity_field: status + filter_groups: + operator: AND + groups: + 1: AND + fields: + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + label: Title + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + label: Type + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: type + plugin_id: field + name: + id: name + table: users_field_data + field: name + relationship: uid + group_type: group + admin_label: '' + label: Author + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: user_name + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: user + entity_field: name + plugin_id: field + changed: + id: changed + table: node_field_data + field: changed + relationship: none + group_type: group + admin_label: '' + label: 'Last updated' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp_ago + settings: + date_format: medium + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: node + entity_field: changed + plugin_id: field + edit_node: + id: edit_node + table: node + field: edit_node + relationship: none + group_type: group + admin_label: '' + label: Actions + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + text: edit + entity_type: node + plugin_id: entity_link_edit + field_access_control: + id: field_access_control + table: node__field_access_control + field: field_access_control + relationship: none + group_type: group + admin_label: '' + label: 'Access Control' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + field_access_terms: + id: field_access_terms + table: node__field_access_terms + field: field_access_terms + relationship: none + group_type: group + admin_label: '' + label: 'Access Group' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field + link_display: /admin/workbench/content/all + header: + area: + id: area + table: views + field: area + relationship: none + group_type: group + admin_label: '' + empty: false + tokenize: false + content: + value: '

Recent content

' + format: basic_html + plugin_id: text + use_ajax: true + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.storage.node.field_access_control' + - 'config:field.storage.node.field_access_terms' + embed_1: + display_plugin: embed + id: embed_1 + display_title: 'Page Embed' + position: 3 + display_options: + display_extenders: { } + display_description: 'The embedded view for use on a landing page' + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/codebase/config/sync/views.view.workbench_taxonomies.yml b/codebase/config/sync/views.view.workbench_taxonomies.yml new file mode 100644 index 000000000..8e8dbcdf1 --- /dev/null +++ b/codebase/config/sync/views.view.workbench_taxonomies.yml @@ -0,0 +1,303 @@ +uuid: a142f192-a5b8-4e5a-9640-414ed3b783af +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.access_rights + - taxonomy.vocabulary.copyright_and_use + - taxonomy.vocabulary.corporate_body + - taxonomy.vocabulary.family + - taxonomy.vocabulary.genre + - taxonomy.vocabulary.geo_location + - taxonomy.vocabulary.language + - taxonomy.vocabulary.person + - taxonomy.vocabulary.resource_types + - taxonomy.vocabulary.subject + module: + - taxonomy + - user +id: workbench_taxonomies +label: 'Workbench: Taxonomies' +module: views +description: '' +tag: '' +base_table: taxonomy_term_field_data +base_field: tid +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: some + options: + items_per_page: 100 + offset: 0 + style: + type: default + options: + grouping: + - + field: vid + rendered: true + rendered_strip: false + row_class: '' + default_row_class: true + row: + type: 'entity:taxonomy_term' + options: + relationship: none + view_mode: default + fields: + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + convert_spaces: false + entity_type: taxonomy_term + entity_field: name + plugin_id: term_name + vid: + id: vid + table: taxonomy_term_field_data + field: vid + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + entity_type: taxonomy_term + entity_field: vid + plugin_id: field + filters: + status: + value: '1' + table: taxonomy_term_field_data + field: status + plugin_id: boolean + entity_type: taxonomy_term + entity_field: status + id: status + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + group: 1 + vid: + id: vid + table: taxonomy_term_field_data + field: vid + relationship: none + group_type: group + admin_label: '' + operator: in + value: + access_rights: access_rights + copyright_and_use: copyright_and_use + corporate_body: corporate_body + family: family + genre: genre + geo_location: geo_location + language: language + person: person + resource_types: resource_types + subject: subject + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: taxonomy_term + entity_field: vid + plugin_id: bundle + sorts: { } + title: 'Workbench: Taxonomies' + header: { } + footer: { } + empty: { } + relationships: { } + arguments: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - user.permissions + tags: { } + block_1: + display_plugin: block + id: block_1 + display_title: Block + position: 1 + display_options: + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - user.permissions + tags: { } diff --git a/codebase/config/sync/workbench.settings.yml b/codebase/config/sync/workbench.settings.yml new file mode 100644 index 000000000..49b7f0e48 --- /dev/null +++ b/codebase/config/sync/workbench.settings.yml @@ -0,0 +1,7 @@ +overview_left: 'workbench_edited:block_1' +overview_right: 'workbench_current_user:block_1' +overview_main: 'workbench_recent_content:embed_1' +edits_main: 'workbench_edited:embed_1' +all_main: 'workbench_recent_content:embed_1' +_core: + default_config_hash: aGR45_bxRagev3Ecuwgjvr3x2Ccgsmsk-Evv-SIkwQM diff --git a/codebase/config/sync/workbench_access.access_scheme.collection.yml b/codebase/config/sync/workbench_access.access_scheme.collection.yml new file mode 100644 index 000000000..7c4ab0cc4 --- /dev/null +++ b/codebase/config/sync/workbench_access.access_scheme.collection.yml @@ -0,0 +1,59 @@ +uuid: e4c9d6e9-b784-4128-bd85-c3c932dbfa31 +langcode: en +status: true +dependencies: + config: + - field.field.media.audio.field_access_terms + - field.field.media.document.field_access_terms + - field.field.media.extracted_text.field_access_terms + - field.field.media.file.field_access_terms + - field.field.media.image.field_access_terms + - field.field.media.remote_video.field_access_terms + - field.field.media.video.field_access_terms + - field.field.node.collection_object.field_access_control + - field.field.node.islandora_object.field_access_terms + - taxonomy.vocabulary.islandora_access +id: collection +label: Collection +plural_label: Collections +scheme: taxonomy +scheme_settings: + vocabularies: + - islandora_access + fields: + - + entity_type: media + bundle: video + field: field_access_terms + - + entity_type: media + bundle: image + field: field_access_terms + - + entity_type: media + bundle: file + field: field_access_terms + - + entity_type: media + bundle: document + field: field_access_terms + - + entity_type: media + bundle: audio + field: field_access_terms + - + entity_type: media + bundle: extracted_text + field: field_access_terms + - + entity_type: media + bundle: remote_video + field: field_access_terms + - + entity_type: node + bundle: islandora_object + field: field_access_terms + - + entity_type: node + bundle: collection_object + field: field_access_control diff --git a/codebase/config/sync/workbench_access.settings.yml b/codebase/config/sync/workbench_access.settings.yml new file mode 100644 index 000000000..7560b27a4 --- /dev/null +++ b/codebase/config/sync/workbench_access.settings.yml @@ -0,0 +1,3 @@ +deny_on_empty: true +_core: + default_config_hash: Y6xetsHwk8FUA3WQMga3J7Imf3wRlur5ALeppr16dJM diff --git a/codebase/web/sites/simpletest/.htaccess b/codebase/web/sites/simpletest/.htaccess new file mode 100644 index 000000000..183a1ffeb --- /dev/null +++ b/codebase/web/sites/simpletest/.htaccess @@ -0,0 +1,14 @@ +# Turn off all options we don't need. +Options -Indexes -ExecCGI -Includes -MultiViews + +# Set the catch-all handler to prevent scripts from being executed. +SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006 + + # Override the handler again if we're run later in the evaluation list. + SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003 + + +# If we know how to do it safely, disable the PHP engine entirely. + + php_flag engine off + \ No newline at end of file From 1fb573e782bfb2cbb1fef80b55061a65e87cf741 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Tue, 9 Mar 2021 12:06:29 -0500 Subject: [PATCH 02/22] Adding env --- ' | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 ' diff --git a/' b/' new file mode 100644 index 000000000..d77ab9fee --- /dev/null +++ b/' @@ -0,0 +1,81 @@ +# Environment variables defined in this file apply to both the Makefile and to +# docker-compose.yml +# +# Due to restrictions in the `env-file` format we cannot specify multi-line +# values for environment variables. For this reason the environment +# variables are set on service definitions in the docker-compose.*.yml files, +# rather than defined in `env-file` files. + +# Determines which docker-compose file(s) will be used for the `drupal` service. +# See documentation for more details. +ENVIRONMENT=local + +REQUIRED_SERIVCES=activemq alpaca cantaloupe idc-crayfish crayfits drupal mariadb solr idc-snapshot testcafe +############################################################################### +# Environment variables specific to composer. +############################################################################### +COMPOSE_HTTP_TIMEOUT=480 + +# Also used for naming services in traefik as well as defining network alias and urls. +# For example the `drupal` service will be found at `islandora.${COMPOSE_PROJECT_NAME}.${DRUPAL_SITE_HOST}`. +# See https://docs.docker.com/compose/reference/envvars/ +COMPOSE_PROJECT_NAME=idc + +# If you are running locally, leave this. traefik.me resolves to localhost. +# If you are deploying to a remote server and you own a domain for it, place it here. +# If you have an IP but no domain, change this to X-X-X-X.traefik.me, where X-X-X-X +# is your IP address but with hyphens instead of dots. +DRUPAL_SITE_HOST=traefik.me + +# Allows building custom image with buildkit. +COMPOSE_DOCKER_CLI_BUILD=1 +DOCKER_BUILDKIT=1 + +# Dockerfile to use when building the custom project. +PROJECT_DRUPAL_DOCKERFILE=Dockerfile + +# Includes `traefik` as a service, if false assume we are sharing a traefik +# from another project. +INCLUDE_TRAEFIK_SERVICE=true + +# Includes `watchtower` as a service. +INCLUDE_WATCHTOWER_SERVICE=false + +# Includes `etcd` as a service. +INCLUDE_ETCD_SERVICE=false + +# Include SAML-related services. +INCLUDE_SAML_SERVICE=true + +# Choose which database backend to use: mariadb/postgresql +# Services that only support MySQL (Matomo) do not have the option to change. +# Also at this time not all Drupal modules work with PostgresSQL, it is provided +# as option here so it can be tested and fixed at some later date. +DRUPAL_DATABASE_SERVICE=mariadb +FCREPO_DATABASE_SERVICE=mariadb +GEMINI_DATABASE_SERVICE=mariadb + +# Root database password +MYSQL_ROOT_PASSWORD=password + +# Repository to use for pulling isle-buildkit images, change to `local` +# To use images you have built locally with isle-buildkit, or use your +# custom docker registry if you have set up one. +# +REPOSITORY=ghcr.io/jhu-sheridan-libraries/idc-isle-dc + +# The version of the isle-buildkit images, non isle-buildkit images have +# their versions specified explicitly in their respective docker-compose files. +TAG=upstream-20200824-f8d1e8e-23-g9fe79fc + +# Docker image and tag for snapshot image +SNAPSHOT_TAG=upstream-20201007-739693ae-227-gc04a62b0.1616075568 + +# IdP, SP entity URIs and base URLs +SP_BASEURL=https://islandora-idc.traefik.me +SP_ENTITYID=https://islandora-idc.traefik.me/sp/shibboleth +IDP_BASEURL=https://islandora-idp.traefik.me:4443 +IDP_ENTITYID=https://islandora-idp.traefik.me/idp/shibboleth + +# DB params +DRUPAL_DEFAULT_DB_PASSWORD=password From 71690738804c728f73684640ec9f83346539ca19 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Wed, 17 Mar 2021 16:04:56 -0400 Subject: [PATCH 03/22] Latest changes, still a WIP --- codebase/composer.json | 2 + codebase/composer.lock | 147 +++++++++++ .../config/sync/block.block.contributors.yml | 42 ---- ...k.exposedformsolr_search_contentpage_1.yml | 25 -- ...i_exposedformsolr_search_contentpage_1.yml | 25 -- .../config/sync/block.block.idcui_subject.yml | 31 --- codebase/config/sync/block.block.subject.yml | 31 --- codebase/config/sync/block.block.years.yml | 40 --- ...display.node.collection_object.default.yml | 10 +- ..._display.node.islandora_object.default.yml | 48 ++-- ...display.node.collection_object.default.yml | 2 +- ...w_display.node.islandora_object.binary.yml | 4 +- ..._display.node.islandora_object.default.yml | 11 +- ...y.node.islandora_object.open_seadragon.yml | 11 +- ...ew_display.node.islandora_object.pdfjs.yml | 4 +- ...w_display.node.islandora_object.teaser.yml | 4 +- codebase/config/sync/core.extension.yml | 1 + .../config/sync/facets.facet.contributors.yml | 72 ------ codebase/config/sync/facets.facet.subject.yml | 70 ------ codebase/config/sync/facets.facet.years.yml | 57 ----- ...node.collection_object.field_member_of.yml | 12 +- ...islandora_object.field_access_control.yml} | 17 +- ....node.islandora_object.field_member_of.yml | 14 +- ...ield.storage.node.field_access_control.yml | 2 +- .../field.storage.node.field_access_terms.yml | 26 -- .../search_api.index.default_solr_index.yml | 13 +- .../config/sync/system.menu.collections.yml | 8 + .../taxonomy.vocabulary.islandora_access.yml | 4 +- .../sync/user.role.collection_level_admin.yml | 1 - .../views.view.content_type_member_of.yml | 191 ++++++++++++++ .../views.view.repository_item_member_of.yml | 60 +++-- .../sync/views.view.solr_search_content.yml | 238 +++++++++--------- .../views.view.workbench_recent_content.yml | 65 ----- ...kbench_access.access_scheme.collection.yml | 12 +- .../config/sync/workbench_access.settings.yml | 2 +- 35 files changed, 583 insertions(+), 719 deletions(-) delete mode 100644 codebase/config/sync/block.block.contributors.yml delete mode 100644 codebase/config/sync/block.block.exposedformsolr_search_contentpage_1.yml delete mode 100644 codebase/config/sync/block.block.idcui_exposedformsolr_search_contentpage_1.yml delete mode 100644 codebase/config/sync/block.block.idcui_subject.yml delete mode 100644 codebase/config/sync/block.block.subject.yml delete mode 100644 codebase/config/sync/block.block.years.yml delete mode 100644 codebase/config/sync/facets.facet.contributors.yml delete mode 100644 codebase/config/sync/facets.facet.subject.yml delete mode 100644 codebase/config/sync/facets.facet.years.yml rename codebase/config/sync/{field.field.node.islandora_object.field_access_terms.yml => field.field.node.islandora_object.field_access_control.yml} (57%) delete mode 100644 codebase/config/sync/field.storage.node.field_access_terms.yml create mode 100644 codebase/config/sync/system.menu.collections.yml create mode 100644 codebase/config/sync/views.view.content_type_member_of.yml diff --git a/codebase/composer.json b/codebase/composer.json index aabce2683..33a04887f 100644 --- a/codebase/composer.json +++ b/codebase/composer.json @@ -53,7 +53,9 @@ "composer/installers": "^1.2", "cweagans/composer-patches": "^1.6.5", "drupal/admin_toolbar": "^2.0", + "drupal/auto_entitylabel": "^3.0@beta", "drupal/captcha": "^1.1", + "drupal/conditional_fields": "^1.0@alpha", "drupal/console": "~1.0", "drupal/contact_ajax": "^1.5", "drupal/contact_block": "^1.5", diff --git a/codebase/composer.lock b/codebase/composer.lock index c614831b3..2d688a754 100644 --- a/codebase/composer.lock +++ b/codebase/composer.lock @@ -2274,6 +2274,75 @@ "issues": "https://www.drupal.org/project/issues/admin_toolbar" } }, + { + "name": "drupal/auto_entitylabel", + "version": "3.0.0-beta4", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/auto_entitylabel.git", + "reference": "8.x-3.0-beta4" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/auto_entitylabel-8.x-3.0-beta4.zip", + "reference": "8.x-3.0-beta4", + "shasum": "916befd4ce95b5d73de48ac1b105cc33e9f7821f" + }, + "require": { + "drupal/core": "^8 || ^9" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-3.0-beta4", + "datestamp": "1609349103", + "security-coverage": { + "status": "not-covered", + "message": "Beta releases are not covered by Drupal security advisories." + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Pravin Ajaaz", + "homepage": "https://www.drupal.org/user/2910049" + }, + { + "name": "RenatoG", + "homepage": "https://www.drupal.org/user/3326031" + }, + { + "name": "VladimirAus", + "homepage": "https://www.drupal.org/user/673120" + }, + { + "name": "bforchhammer", + "homepage": "https://www.drupal.org/user/216396" + }, + { + "name": "colan", + "homepage": "https://www.drupal.org/user/58704" + }, + { + "name": "diqidoq", + "homepage": "https://www.drupal.org/user/1001934" + }, + { + "name": "purushotam.rai", + "homepage": "https://www.drupal.org/user/3193859" + } + ], + "description": "Allows hiding of entity label fields and automatic label creation.", + "homepage": "https://www.drupal.org/project/auto_entitylabel", + "support": { + "source": "https://git.drupalcode.org/project/auto_entitylabel", + "issues": "https://www.drupal.org/project/issues/auto_entitylabel" + } + }, { "name": "drupal/captcha", "version": "1.1.0", @@ -2346,6 +2415,82 @@ "issues": "https://www.drupal.org/project/issues/captcha" } }, + { + "name": "drupal/conditional_fields", + "version": "1.0.0-alpha10", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/conditional_fields.git", + "reference": "8.x-1.0-alpha10" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/conditional_fields-8.x-1.0-alpha10.zip", + "reference": "8.x-1.0-alpha10", + "shasum": "ac11881a07eaf3ce796dea1cb0e537434d1fbd3d" + }, + "require": { + "drupal/core": "^8 || ^9" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.0-alpha10", + "datestamp": "1610130227", + "security-coverage": { + "status": "not-covered", + "message": "Project has not opted into security advisory coverage!" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Adyax", + "homepage": "https://www.adyax.com/" + }, + { + "name": "OlgaRabodzei", + "homepage": "https://www.drupal.org/user/3389198" + }, + { + "name": "colan", + "homepage": "https://www.drupal.org/user/58704" + }, + { + "name": "ergonlogic", + "homepage": "https://www.drupal.org/user/368613" + }, + { + "name": "geek-merlin", + "homepage": "https://www.drupal.org/user/229048" + }, + { + "name": "itsekhmistro", + "homepage": "https://www.drupal.org/user/928152" + }, + { + "name": "mparker17", + "homepage": "https://www.drupal.org/user/536298" + }, + { + "name": "peterpoe", + "homepage": "https://www.drupal.org/user/55674" + }, + { + "name": "thalles", + "homepage": "https://www.drupal.org/user/3589086" + } + ], + "description": "Conditional fields", + "homepage": "https://www.drupal.org/project/conditional_fields", + "support": { + "source": "https://git.drupalcode.org/project/conditional_fields" + } + }, { "name": "drupal/config_update", "version": "1.7.0", @@ -16984,6 +17129,8 @@ "aliases": [], "minimum-stability": "dev", "stability-flags": { + "drupal/auto_entitylabel": 10, + "drupal/conditional_fields": 15, "drupal/content_browser": 15, "drupal/libraries": 20, "drupal/migrate_source_ui": 5, diff --git a/codebase/config/sync/block.block.contributors.yml b/codebase/config/sync/block.block.contributors.yml deleted file mode 100644 index f71668aba..000000000 --- a/codebase/config/sync/block.block.contributors.yml +++ /dev/null @@ -1,42 +0,0 @@ -uuid: d92feaba-2c95-4c66-b7c9-7b29ec550258 -langcode: en -status: true -dependencies: - config: - - facets.facet.contributors - module: - - context - - facets - - islandora - theme: - - carapace -_core: - default_config_hash: dvifUKfHq5BtFKPJWQrVbQbqMwwCzHTqtcNxY0b5XwA -id: contributors -theme: carapace -region: sidebar_second -weight: -7 -provider: null -plugin: 'facet_block:contributors' -settings: - id: 'facet_block:contributors' - label: Contributors - provider: facets - label_display: visible - block_id: contributors -visibility: - request_path_exclusion: - id: request_path_exclusion - pages: '' - negate: null - context_mapping: { } - view_inclusion: - id: view_inclusion - negate: null - view_inclusion: { } - context_mapping: { } - media_source_mimetype: - id: media_source_mimetype - mimetype: '' - negate: false - context_mapping: { } diff --git a/codebase/config/sync/block.block.exposedformsolr_search_contentpage_1.yml b/codebase/config/sync/block.block.exposedformsolr_search_contentpage_1.yml deleted file mode 100644 index 15da8d948..000000000 --- a/codebase/config/sync/block.block.exposedformsolr_search_contentpage_1.yml +++ /dev/null @@ -1,25 +0,0 @@ -uuid: 64b40114-4835-4f02-b14b-7704bbff3929 -langcode: en -status: true -dependencies: - config: - - views.view.solr_search_content - module: - - views - theme: - - carapace -_core: - default_config_hash: qAfb4caT_8NQ1iWN2j6l0TBEGLytvNolwkPexVyhDxs -id: exposedformsolr_search_contentpage_1 -theme: carapace -region: sidebar_second -weight: -8 -provider: null -plugin: 'views_exposed_filter_block:solr_search_content-page_1' -settings: - id: 'views_exposed_filter_block:solr_search_content-page_1' - label: '' - provider: views - label_display: visible - views_label: '' -visibility: { } diff --git a/codebase/config/sync/block.block.idcui_exposedformsolr_search_contentpage_1.yml b/codebase/config/sync/block.block.idcui_exposedformsolr_search_contentpage_1.yml deleted file mode 100644 index fc34a9526..000000000 --- a/codebase/config/sync/block.block.idcui_exposedformsolr_search_contentpage_1.yml +++ /dev/null @@ -1,25 +0,0 @@ -uuid: caf57bab-6094-40ed-b151-5eb6a09ac705 -langcode: en -status: true -dependencies: - config: - - views.view.solr_search_content - module: - - views - theme: - - idcui -_core: - default_config_hash: qAfb4caT_8NQ1iWN2j6l0TBEGLytvNolwkPexVyhDxs -id: idcui_exposedformsolr_search_contentpage_1 -theme: idcui -region: top_menu -weight: -5 -provider: null -plugin: 'views_exposed_filter_block:solr_search_content-page_1' -settings: - id: 'views_exposed_filter_block:solr_search_content-page_1' - label: '' - provider: views - label_display: visible - views_label: '' -visibility: { } diff --git a/codebase/config/sync/block.block.idcui_subject.yml b/codebase/config/sync/block.block.idcui_subject.yml deleted file mode 100644 index dc8aafa6b..000000000 --- a/codebase/config/sync/block.block.idcui_subject.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: 1081880b-7aad-4418-90fa-d6499d7afc48 -langcode: en -status: true -dependencies: - config: - - facets.facet.subject - module: - - facets - - system - theme: - - idcui -_core: - default_config_hash: Qy_nSE_PRV3YUVnl6KeCHqh_Ja3TtmqZD6bjj0ANEoM -id: idcui_subject -theme: idcui -region: top_menu -weight: 0 -provider: null -plugin: 'facet_block:subject' -settings: - id: 'facet_block:subject' - label: Subject - provider: facets - label_display: visible - block_id: subject -visibility: - request_path: - id: request_path - pages: /solr-search/content - negate: false - context_mapping: { } diff --git a/codebase/config/sync/block.block.subject.yml b/codebase/config/sync/block.block.subject.yml deleted file mode 100644 index 25f4c62b2..000000000 --- a/codebase/config/sync/block.block.subject.yml +++ /dev/null @@ -1,31 +0,0 @@ -uuid: 841432f2-31bf-4e89-a0ce-6185596c015c -langcode: en -status: true -dependencies: - config: - - facets.facet.subject - module: - - facets - - system - theme: - - carapace -_core: - default_config_hash: Qy_nSE_PRV3YUVnl6KeCHqh_Ja3TtmqZD6bjj0ANEoM -id: subject -theme: carapace -region: sidebar_second -weight: -6 -provider: null -plugin: 'facet_block:subject' -settings: - id: 'facet_block:subject' - label: Subject - provider: facets - label_display: visible - block_id: subject -visibility: - request_path: - id: request_path - pages: /solr-search/content - negate: false - context_mapping: { } diff --git a/codebase/config/sync/block.block.years.yml b/codebase/config/sync/block.block.years.yml deleted file mode 100644 index 1c50a1a5a..000000000 --- a/codebase/config/sync/block.block.years.yml +++ /dev/null @@ -1,40 +0,0 @@ -uuid: bfe5207d-5568-4184-82fe-63343bb2c66c -langcode: en -status: true -dependencies: - config: - - facets.facet.years - module: - - context - - facets - - islandora - theme: - - carapace -id: years -theme: carapace -region: sidebar_second -weight: -5 -provider: null -plugin: 'facet_block:years' -settings: - id: 'facet_block:years' - label: Years - provider: facets - label_display: visible - block_id: years -visibility: - request_path_exclusion: - id: request_path_exclusion - pages: '' - negate: null - context_mapping: { } - view_inclusion: - id: view_inclusion - negate: null - view_inclusion: { } - context_mapping: { } - media_source_mimetype: - id: media_source_mimetype - mimetype: '' - negate: false - context_mapping: { } diff --git a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml index 08c0a841d..7737b16ba 100644 --- a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml @@ -30,7 +30,7 @@ content: settings: { } third_party_settings: { } field_access_control: - weight: 26 + weight: 14 settings: { } third_party_settings: { } type: options_select @@ -102,13 +102,9 @@ content: region: content field_member_of: weight: 10 - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' + settings: { } third_party_settings: { } - type: entity_reference_autocomplete + type: options_select region: content field_title_language: weight: 1 diff --git a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml index 3c2ba06c5..40259c75b 100644 --- a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml @@ -4,8 +4,8 @@ status: true dependencies: config: - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -63,7 +63,6 @@ third_party_settings: - field_member_of - langcode - field_display_hints - - field_access_terms - field_weight parent_name: '' weight: 6 @@ -227,18 +226,22 @@ content: third_party_settings: { } type: reference_value_select region: content + field_access_control: + weight: 69 + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + type: entity_reference_autocomplete + region: content field_access_rights: weight: 59 settings: { } third_party_settings: { } type: options_buttons region: content - field_access_terms: - type: options_select - weight: 12 - region: content - settings: { } - third_party_settings: { } field_alternative_title: weight: 15 settings: @@ -477,15 +480,30 @@ content: type: link_default region: content field_member_of: - type: entity_reference_autocomplete + type: options_select weight: 9 region: content - settings: - match_operator: CONTAINS - size: 60 - placeholder: '' - match_limit: 10 - third_party_settings: { } + settings: { } + third_party_settings: + conditional_fields: + 4f370f9a-983c-415f-9f05-684f9a7369fb: + dependee: field_access_terms + settings: + state: '!empty' + condition: '!empty' + grouping: AND + values_set: 1 + value: '' + values: { } + value_form: { } + effect: fill + effect_options: + fill: + value: '' + reset: 1 + selector: '%val' + entity_type: node + bundle: islandora_object field_model: type: options_select weight: 8 diff --git a/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml index ab1de9053..f18a61395 100644 --- a/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml @@ -64,7 +64,7 @@ content: type: link region: content field_collection_contact_email: - weight: 9 + weight: 17 label: above settings: { } third_party_settings: { } diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml index 5bd0f2b07..182fd2376 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.binary - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -138,8 +138,8 @@ hidden: display_media_service_file: true display_media_thumbnail: true field_abstract: true + field_access_control: true field_access_rights: true - field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml index 8f24625c5..9e9731a0e 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml @@ -4,8 +4,8 @@ status: true dependencies: config: - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -76,6 +76,14 @@ content: third_party_settings: { } type: reference_value_formatter region: content + field_access_control: + weight: 42 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content field_access_rights: weight: 15 label: above @@ -442,7 +450,6 @@ hidden: display_media_entity_view_1: true display_media_entity_view_2: true display_media_thumbnail: true - field_access_terms: true field_display_hints: true field_gemini_uri: true field_model: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml index 2021dc1df..be385cf1f 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.open_seadragon - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -55,7 +55,6 @@ dependencies: - controlled_access_terms - link - reference_value_pair - - taxonomy - user _core: default_config_hash: BOKmqgfhsFt_yEb5fjCzV99sysk7G9p43DoVfTsh3OQ @@ -86,13 +85,6 @@ content: settings: link: true third_party_settings: { } - field_access_terms: - type: entity_reference_rss_category - weight: 27 - region: content - label: above - settings: { } - third_party_settings: { } field_alternative_title: type: reference_value_formatter weight: 26 @@ -442,6 +434,7 @@ hidden: display_media_entity_view_2: true display_media_service_file: true display_media_thumbnail: true + field_access_control: true field_display_hints: true field_dspace_identifier: true field_dspace_item_id: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml index ff8a98b93..09f9070e3 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.pdfjs - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -134,8 +134,8 @@ hidden: display_media_service_file: true display_media_thumbnail: true field_abstract: true + field_access_control: true field_access_rights: true - field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml index 112828bce..5368d78cd 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.teaser - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -75,8 +75,8 @@ hidden: display_media_entity_view_2: true display_media_service_file: true field_abstract: true + field_access_control: true field_access_rights: true - field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.extension.yml b/codebase/config/sync/core.extension.yml index e9355c934..4ea8c87a6 100644 --- a/codebase/config/sync/core.extension.yml +++ b/codebase/config/sync/core.extension.yml @@ -11,6 +11,7 @@ module: ckeditor: 0 color: 0 comment: 0 + conditional_fields: 0 config: 0 config_update: 0 contact: 0 diff --git a/codebase/config/sync/facets.facet.contributors.yml b/codebase/config/sync/facets.facet.contributors.yml deleted file mode 100644 index 58bffa402..000000000 --- a/codebase/config/sync/facets.facet.contributors.yml +++ /dev/null @@ -1,72 +0,0 @@ -uuid: 2f3314ec-7bba-461d-8992-9ec4e01cc1ac -langcode: en -status: true -dependencies: - config: - - search_api.index.default_solr_index - - views.view.solr_search_content - module: - - search_api -_core: - default_config_hash: dMN5WpPPKoWAenqVLJW8dUMrHoVXLE_eVewFvMBVg6o -id: contributors -name: Contributors -url_alias: contributors -weight: 0 -min_count: 1 -show_only_one_result: false -field_identifier: aggregated_field -facet_source_id: 'search_api:views_page__solr_search_content__page_1' -widget: - type: links - config: - show_numbers: false - soft_limit: 0 - soft_limit_settings: - show_less_label: 'Show less' - show_more_label: 'Show more' - show_reset_link: false - reset_text: 'Show all' - hide_reset_when_no_selection: false -query_operator: or -use_hierarchy: false -expand_hierarchy: false -enable_parent_when_child_gets_disabled: true -hard_limit: 0 -exclude: false -only_visible_when_facet_source_is_visible: true -processor_configs: - active_widget_order: - processor_id: active_widget_order - weights: - sort: 20 - settings: - sort: DESC - count_widget_order: - processor_id: count_widget_order - weights: - sort: 30 - settings: - sort: DESC - display_value_widget_order: - processor_id: display_value_widget_order - weights: - sort: 40 - settings: - sort: ASC - translate_entity_aggregated_fields: - processor_id: translate_entity_aggregated_fields - weights: - build: 5 - settings: { } - url_processor_handler: - processor_id: url_processor_handler - weights: - pre_query: 50 - build: 15 - settings: { } -empty_behavior: - behavior: text - text_format: plain_text - text: '-empty-' -show_title: false diff --git a/codebase/config/sync/facets.facet.subject.yml b/codebase/config/sync/facets.facet.subject.yml deleted file mode 100644 index 4f283b1b2..000000000 --- a/codebase/config/sync/facets.facet.subject.yml +++ /dev/null @@ -1,70 +0,0 @@ -uuid: d67fc4d6-be0b-408f-a0f8-cb1a7817e273 -langcode: en -status: true -dependencies: - config: - - search_api.index.default_solr_index - - views.view.solr_search_content - module: - - search_api -_core: - default_config_hash: TJP2yG8ZBf2x4H9SYx7VkrLBTYmBm2kE9uxA1cbrCas -id: subject -name: Subject -url_alias: subject -weight: -2 -min_count: 1 -show_only_one_result: false -field_identifier: field_subject -facet_source_id: 'search_api:views_page__solr_search_content__page_1' -widget: - type: links - config: - show_numbers: true - soft_limit: 10 - soft_limit_settings: - show_less_label: 'Show less' - show_more_label: 'Show more' - show_reset_link: true - reset_text: 'Show all' - hide_reset_when_no_selection: true -query_operator: or -use_hierarchy: false -expand_hierarchy: false -enable_parent_when_child_gets_disabled: true -hard_limit: 0 -exclude: false -only_visible_when_facet_source_is_visible: true -processor_configs: - active_widget_order: - processor_id: active_widget_order - weights: - sort: 20 - settings: - sort: DESC - count_widget_order: - processor_id: count_widget_order - weights: - sort: 30 - settings: - sort: DESC - display_value_widget_order: - processor_id: display_value_widget_order - weights: - sort: 40 - settings: - sort: ASC - hide_non_narrowing_result_processor: - processor_id: hide_non_narrowing_result_processor - weights: - build: 40 - settings: { } - url_processor_handler: - processor_id: url_processor_handler - weights: - pre_query: 50 - build: 15 - settings: { } -empty_behavior: - behavior: none -show_title: false diff --git a/codebase/config/sync/facets.facet.years.yml b/codebase/config/sync/facets.facet.years.yml deleted file mode 100644 index 0daf448d8..000000000 --- a/codebase/config/sync/facets.facet.years.yml +++ /dev/null @@ -1,57 +0,0 @@ -uuid: 16c03018-b899-4733-a40b-e2c79f897976 -langcode: en -status: true -dependencies: - config: - - search_api.index.default_solr_index - - views.view.solr_search_content - module: - - search_api -id: years -name: Years -url_alias: years -weight: 0 -min_count: 1 -show_only_one_result: true -field_identifier: field_years -facet_source_id: 'search_api:views_page__solr_search_content__page_1' -widget: - type: dropdown - config: - show_numbers: true - default_option_label: Choose -query_operator: or -use_hierarchy: false -expand_hierarchy: false -enable_parent_when_child_gets_disabled: true -hard_limit: 0 -exclude: false -only_visible_when_facet_source_is_visible: true -processor_configs: - active_widget_order: - processor_id: active_widget_order - weights: - sort: 20 - settings: - sort: DESC - count_widget_order: - processor_id: count_widget_order - weights: - sort: 30 - settings: - sort: DESC - display_value_widget_order: - processor_id: display_value_widget_order - weights: - sort: 40 - settings: - sort: ASC - url_processor_handler: - processor_id: url_processor_handler - weights: - pre_query: 50 - build: 15 - settings: { } -empty_behavior: - behavior: none -show_title: false diff --git a/codebase/config/sync/field.field.node.collection_object.field_member_of.yml b/codebase/config/sync/field.field.node.collection_object.field_member_of.yml index c8f7f5c17..ab3269808 100644 --- a/codebase/config/sync/field.field.node.collection_object.field_member_of.yml +++ b/codebase/config/sync/field.field.node.collection_object.field_member_of.yml @@ -16,12 +16,10 @@ translatable: true default_value: { } default_value_callback: '' settings: - handler: 'default:node' + handler: views handler_settings: - target_bundles: - collection_object: collection_object - sort: - field: _none - auto_create: false - auto_create_bundle: '' + view: + view_name: content_type_member_of + display_name: entity_reference_1 + arguments: { } field_type: entity_reference diff --git a/codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml b/codebase/config/sync/field.field.node.islandora_object.field_access_control.yml similarity index 57% rename from codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml rename to codebase/config/sync/field.field.node.islandora_object.field_access_control.yml index a50993908..f991c3d86 100644 --- a/codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml +++ b/codebase/config/sync/field.field.node.islandora_object.field_access_control.yml @@ -1,24 +1,19 @@ -uuid: ed674684-92f4-478e-a7bf-6105dd0b39f1 +uuid: 0de81f9f-22ac-4c6a-9f92-90554e2d57b5 langcode: en status: true dependencies: config: - - field.storage.node.field_access_terms + - field.storage.node.field_access_control - node.type.islandora_object - taxonomy.vocabulary.islandora_access - enforced: - module: - - islandora_defaults -_core: - default_config_hash: bxdvVF5ex2stzftf8k4q-FcAOHcefS7mz8lKm1MitYU -id: node.islandora_object.field_access_terms -field_name: field_access_terms +id: node.islandora_object.field_access_control +field_name: field_access_control entity_type: node bundle: islandora_object label: 'Access Control' -description: 'Terms that define who has access to view/edit this resource.' +description: '' required: false -translatable: false +translatable: true default_value: { } default_value_callback: '' settings: diff --git a/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml b/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml index 864aaba99..d4fdb9573 100644 --- a/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml +++ b/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml @@ -4,7 +4,6 @@ status: true dependencies: config: - field.storage.node.field_member_of - - node.type.collection_object - node.type.islandora_object enforced: module: @@ -22,13 +21,10 @@ translatable: false default_value: { } default_value_callback: '' settings: - handler: 'default:node' + handler: views handler_settings: - target_bundles: - collection_object: collection_object - islandora_object: islandora_object - sort: - field: _none - auto_create: false - auto_create_bundle: collection_object + view: + view_name: content_type_member_of + display_name: entity_reference_1 + arguments: { } field_type: entity_reference diff --git a/codebase/config/sync/field.storage.node.field_access_control.yml b/codebase/config/sync/field.storage.node.field_access_control.yml index abdab8ba7..54bc2296b 100644 --- a/codebase/config/sync/field.storage.node.field_access_control.yml +++ b/codebase/config/sync/field.storage.node.field_access_control.yml @@ -17,7 +17,7 @@ settings: target_type: taxonomy_term module: core locked: false -cardinality: 1 +cardinality: -1 translatable: true indexes: { } persist_with_no_fields: false diff --git a/codebase/config/sync/field.storage.node.field_access_terms.yml b/codebase/config/sync/field.storage.node.field_access_terms.yml deleted file mode 100644 index 97a173de9..000000000 --- a/codebase/config/sync/field.storage.node.field_access_terms.yml +++ /dev/null @@ -1,26 +0,0 @@ -uuid: 20f6e0ac-0bf1-442f-89c4-6bac50c26bc5 -langcode: en -status: true -dependencies: - module: - - field_permissions - - node - - taxonomy -third_party_settings: - field_permissions: - permission_type: custom -_core: - default_config_hash: yf5ONBhEFtk6wecSjGIXs8lk_eatTCLSPPVBBG6pk4o -id: node.field_access_terms -field_name: field_access_terms -entity_type: node -type: entity_reference -settings: - target_type: taxonomy_term -module: core -locked: false -cardinality: -1 -translatable: true -indexes: { } -persist_with_no_fields: false -custom_storage: false diff --git a/codebase/config/sync/search_api.index.default_solr_index.yml b/codebase/config/sync/search_api.index.default_solr_index.yml index d6c88bc1a..9685b9c21 100644 --- a/codebase/config/sync/search_api.index.default_solr_index.yml +++ b/codebase/config/sync/search_api.index.default_solr_index.yml @@ -11,11 +11,10 @@ dependencies: - content_translation - search_api config: + - field.storage.node.body - field.storage.node.field_abstract - - field.storage.node.field_access_terms - field.storage.node.field_access_rights - field.storage.node.field_alternative_title - - field.storage.node.body - field.storage.node.field_citable_url - field.storage.node.field_collection_contact_name - field.storage.node.field_collection_number @@ -35,6 +34,7 @@ dependencies: - field.storage.node.field_featured_item - field.storage.node.field_finding_aid - field.storage.node.field_genre + - field.storage.taxonomy_term.field_geo_alt_name - field.storage.node.field_geoportal_link - field.storage.node.field_image - field.storage.node.field_is_part_of @@ -54,7 +54,6 @@ dependencies: - field.storage.node.field_table_of_contents - field.storage.node.field_tags - field.storage.node.field_years - - field.storage.taxonomy_term.field_geo_alt_name - search_api.server.default_solr_server - core.entity_view_mode.node.search_index third_party_settings: @@ -185,14 +184,6 @@ field_settings: dependencies: config: - field.storage.node.field_access_rights - field_access_terms: - label: 'Access Control' - datasource_id: 'entity:node' - property_path: field_access_terms - type: integer - dependencies: - config: - - field.storage.node.field_access_terms field_alternative_title: label: 'Alternative Title' datasource_id: 'entity:node' diff --git a/codebase/config/sync/system.menu.collections.yml b/codebase/config/sync/system.menu.collections.yml new file mode 100644 index 000000000..451f663a2 --- /dev/null +++ b/codebase/config/sync/system.menu.collections.yml @@ -0,0 +1,8 @@ +uuid: 4557f1a2-3738-4b2a-b2ba-05c68408d95c +langcode: en +status: true +dependencies: { } +id: collections +label: Collections +description: '' +locked: false diff --git a/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml b/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml index f08ec5bbe..0eb453e1a 100644 --- a/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml +++ b/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml @@ -4,7 +4,7 @@ status: true dependencies: { } _core: default_config_hash: sQg5b6M8H_5jJt0gGa3xqAIh7ny7yU8TdHFwnwmzDdc -name: 'Islandora Access' +name: 'Islandora Access Communites' vid: islandora_access -description: 'Terms used to limit, restrict or coordinate access' +description: 'Terms used to limit, restrict or coordinate access among collections' weight: 1 diff --git a/codebase/config/sync/user.role.collection_level_admin.yml b/codebase/config/sync/user.role.collection_level_admin.yml index c8b90ffe4..1e811ffce 100644 --- a/codebase/config/sync/user.role.collection_level_admin.yml +++ b/codebase/config/sync/user.role.collection_level_admin.yml @@ -81,7 +81,6 @@ permissions: - 'view all media revisions' - 'view checksums' - 'view collection_object revisions' - - 'view field_access_control' - 'view field_access_terms' - 'view islandora_object revisions' - 'view own field_access_control' diff --git a/codebase/config/sync/views.view.content_type_member_of.yml b/codebase/config/sync/views.view.content_type_member_of.yml new file mode 100644 index 000000000..40298ab69 --- /dev/null +++ b/codebase/config/sync/views.view.content_type_member_of.yml @@ -0,0 +1,191 @@ +uuid: 597dff21-e9e8-459a-a058-60422b46723b +langcode: en +status: true +dependencies: + module: + - node + - user +id: content_type_member_of +label: 'Content Type member_of' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'edit any collection_object content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: mini + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + uses_fields: false + row: + type: fields + options: + inline: { } + separator: '' + hide_empty: false + default_field_elements: true + fields: + title: + id: title + table: node_field_data + field: title + entity_type: node + entity_field: title + label: '' + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + filters: + status: + value: '1' + table: node_field_data + field: status + plugin_id: boolean + entity_type: node + entity_field: status + id: status + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + group: 1 + sorts: + created: + id: created + table: node_field_data + field: created + order: DESC + entity_type: node + entity_field: created + plugin_id: date + relationship: none + group_type: group + admin_label: '' + exposed: false + expose: + label: '' + granularity: second + header: { } + footer: { } + empty: { } + relationships: { } + arguments: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + entity_reference_1: + display_plugin: entity_reference + id: entity_reference_1 + display_title: 'Entity Reference' + position: 1 + display_options: + display_extenders: { } + style: + type: entity_reference + options: + search_fields: + title: title + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/codebase/config/sync/views.view.repository_item_member_of.yml b/codebase/config/sync/views.view.repository_item_member_of.yml index 039df2f21..83ea17ce8 100644 --- a/codebase/config/sync/views.view.repository_item_member_of.yml +++ b/codebase/config/sync/views.view.repository_item_member_of.yml @@ -1,18 +1,18 @@ -uuid: b158dfcb-d334-4b99-8dce-3abee480a7b5 +uuid: aacd4289-a518-47bd-b864-566f74310187 langcode: en status: true dependencies: config: - - taxonomy.vocabulary.islandora_access + - node.type.collection_object module: - - taxonomy + - node - user id: repository_item_member_of label: 'Repository Item member_of' module: views description: '' tag: '' -base_table: taxonomy_term_field_data +base_table: node_field_data base_field: nid display: default: @@ -79,12 +79,12 @@ display: hide_empty: false default_field_elements: true fields: - name: - id: name - table: taxonomy_term_field_data - field: name - entity_type: taxonomy_term - entity_field: name + title: + id: title + table: node_field_data + field: title + entity_type: node + entity_field: title label: '' alter: alter_text: false @@ -97,10 +97,9 @@ display: html: false hide_empty: false empty_zero: false - type: string settings: link_to_entity: true - plugin_id: term_name + plugin_id: field relationship: none group_type: group admin_label: '' @@ -116,6 +115,7 @@ display: empty: '' hide_alter_empty: true click_sort_column: value + type: string group_column: value group_columns: { } group_rows: true @@ -126,14 +126,13 @@ display: multi_type: separator separator: ', ' field_api_classes: false - convert_spaces: false filters: status: value: '1' - table: taxonomy_term_field_data + table: node_field_data field: status plugin_id: boolean - entity_type: taxonomy_term + entity_type: node entity_field: status id: status expose: @@ -141,19 +140,33 @@ display: operator_limit_selection: false operator_list: { } group: 1 - vid: - id: vid - table: taxonomy_term_field_data - field: vid + type: + id: type + table: node_field_data + field: type value: - islandora_access: islandora_access - entity_type: taxonomy_term - entity_field: vid + collection_object: collection_object + entity_type: node + entity_field: type plugin_id: bundle expose: operator_limit_selection: false operator_list: { } - sorts: { } + sorts: + title: + id: title + table: node_field_data + field: title + order: ASC + entity_type: node + entity_field: title + plugin_id: standard + relationship: none + group_type: group + admin_label: '' + exposed: false + expose: + label: '' header: { } footer: { } empty: { } @@ -165,5 +178,6 @@ display: - 'languages:language_content' - 'languages:language_interface' - url.query_args + - 'user.node_grants:view' - user.permissions tags: { } diff --git a/codebase/config/sync/views.view.solr_search_content.yml b/codebase/config/sync/views.view.solr_search_content.yml index 1982bb3bf..cf4ab426a 100644 --- a/codebase/config/sync/views.view.solr_search_content.yml +++ b/codebase/config/sync/views.view.solr_search_content.yml @@ -4,8 +4,8 @@ status: true dependencies: config: - field.storage.node.field_abstract + - field.storage.node.field_access_control - field.storage.node.field_access_rights - - field.storage.node.field_access_terms - field.storage.node.field_alternative_title - field.storage.node.field_citable_url - field.storage.node.field_collection_contact_email @@ -900,12 +900,6 @@ display: table: search_api_index_default_solr_index field: field_abstract plugin_id: search_api_field - field_access_terms: - id: field_access_terms - table: search_api_datasource_default_solr_index_entity_node - field: field_access_terms - entity_type: node - plugin_id: search_api_field field_access_rights: id: field_access_rights table: search_api_datasource_default_solr_index_entity_node @@ -1183,7 +1177,6 @@ display: tags: - 'config:field.storage.node.field_abstract' - 'config:field.storage.node.field_access_rights' - - 'config:field.storage.node.field_access_terms' - 'config:field.storage.node.field_alternative_title' - 'config:field.storage.node.field_citable_url' - 'config:field.storage.node.field_collection_contact_name' @@ -1247,7 +1240,6 @@ display: tags: - 'config:field.storage.node.field_abstract' - 'config:field.storage.node.field_access_rights' - - 'config:field.storage.node.field_access_terms' - 'config:field.storage.node.field_alternative_title' - 'config:field.storage.node.field_citable_url' - 'config:field.storage.node.field_collection_contact_name' @@ -1642,119 +1634,6 @@ display: multi_separator: ', ' entity_type: node plugin_id: search_api_field - field_access_terms: - id: field_access_terms - table: search_api_datasource_default_solr_index_entity_node - field: field_access_terms - relationship: none - group_type: group - admin_label: '' - label: '' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: false - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - field_rendering: true - fallback_handler: search_api_entity - fallback_options: - link_to_item: false - use_highlighting: false - multi_type: separator - multi_separator: ', ' - display_methods: - access_rights: - display_method: label - view_mode: default - copyright_and_use: - display_method: label - view_mode: default - corporate_body: - display_method: label - view_mode: default - family: - display_method: label - view_mode: default - genre: - display_method: label - view_mode: default - geo_location: - display_method: label - view_mode: default - islandora_access: - display_method: label - islandora_display: - display_method: label - view_mode: default - islandora_media_use: - display_method: label - view_mode: default - islandora_models: - display_method: label - view_mode: default - language: - display_method: label - view_mode: default - person: - display_method: label - view_mode: default - resource_types: - display_method: label - view_mode: default - subject: - display_method: label - view_mode: default - entity_type: node - plugin_id: search_api_field field_access_rights: id: field_access_rights table: search_api_datasource_default_solr_index_entity_node @@ -5624,6 +5503,119 @@ display: multi_separator: ', ' entity_type: node plugin_id: search_api_field + field_access_control: + id: field_access_control + table: search_api_datasource_default_solr_index_entity_node + field: field_access_control + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_rendering: true + fallback_handler: search_api_entity + fallback_options: + link_to_item: false + use_highlighting: false + multi_type: separator + multi_separator: ', ' + display_methods: + access_rights: + display_method: label + view_mode: default + copyright_and_use: + display_method: label + view_mode: default + corporate_body: + display_method: label + view_mode: default + family: + display_method: label + view_mode: default + genre: + display_method: label + view_mode: default + geo_location: + display_method: label + view_mode: default + islandora_access: + display_method: label + islandora_display: + display_method: label + view_mode: default + islandora_media_use: + display_method: label + view_mode: default + islandora_models: + display_method: label + view_mode: default + language: + display_method: label + view_mode: default + person: + display_method: label + view_mode: default + resource_types: + display_method: label + view_mode: default + subject: + display_method: label + view_mode: default + entity_type: node + plugin_id: search_api_field field_collection_contact_email: id: field_collection_contact_email table: search_api_datasource_default_solr_index_entity_node @@ -5709,8 +5701,8 @@ display: - 'user.node_grants:view' tags: - 'config:field.storage.node.field_abstract' + - 'config:field.storage.node.field_access_control' - 'config:field.storage.node.field_access_rights' - - 'config:field.storage.node.field_access_terms' - 'config:field.storage.node.field_alternative_title' - 'config:field.storage.node.field_citable_url' - 'config:field.storage.node.field_collection_contact_email' diff --git a/codebase/config/sync/views.view.workbench_recent_content.yml b/codebase/config/sync/views.view.workbench_recent_content.yml index 05373e154..af1a0f7b1 100644 --- a/codebase/config/sync/views.view.workbench_recent_content.yml +++ b/codebase/config/sync/views.view.workbench_recent_content.yml @@ -4,7 +4,6 @@ status: true dependencies: config: - field.storage.node.field_access_control - - field.storage.node.field_access_terms module: - node - user @@ -1220,69 +1219,6 @@ display: separator: ', ' field_api_classes: false plugin_id: field - field_access_terms: - id: field_access_terms - table: node__field_access_terms - field: field_access_terms - relationship: none - group_type: group - admin_label: '' - label: 'Access Group' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - plugin_id: field link_display: /admin/workbench/content/all header: area: @@ -1309,7 +1245,6 @@ display: - user.permissions tags: - 'config:field.storage.node.field_access_control' - - 'config:field.storage.node.field_access_terms' embed_1: display_plugin: embed id: embed_1 diff --git a/codebase/config/sync/workbench_access.access_scheme.collection.yml b/codebase/config/sync/workbench_access.access_scheme.collection.yml index 7c4ab0cc4..775d0ee6b 100644 --- a/codebase/config/sync/workbench_access.access_scheme.collection.yml +++ b/codebase/config/sync/workbench_access.access_scheme.collection.yml @@ -11,11 +11,11 @@ dependencies: - field.field.media.remote_video.field_access_terms - field.field.media.video.field_access_terms - field.field.node.collection_object.field_access_control - - field.field.node.islandora_object.field_access_terms + - field.field.node.islandora_object.field_access_control - taxonomy.vocabulary.islandora_access id: collection -label: Collection -plural_label: Collections +label: Communities +plural_label: Communities scheme: taxonomy scheme_settings: vocabularies: @@ -51,9 +51,9 @@ scheme_settings: field: field_access_terms - entity_type: node - bundle: islandora_object - field: field_access_terms + bundle: collection_object + field: field_access_control - entity_type: node - bundle: collection_object + bundle: islandora_object field: field_access_control diff --git a/codebase/config/sync/workbench_access.settings.yml b/codebase/config/sync/workbench_access.settings.yml index 7560b27a4..998d461f2 100644 --- a/codebase/config/sync/workbench_access.settings.yml +++ b/codebase/config/sync/workbench_access.settings.yml @@ -1,3 +1,3 @@ -deny_on_empty: true +deny_on_empty: false _core: default_config_hash: Y6xetsHwk8FUA3WQMga3J7Imf3wRlur5ALeppr16dJM From e76ecc98b0ca7c751d8427559b273b85df21d994 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Mon, 22 Mar 2021 13:46:49 -0400 Subject: [PATCH 04/22] Almost there. Tweaks a bunch of small things. --- codebase/composer.json | 1 - codebase/composer.lock | 77 ---------- ...display.node.collection_object.default.yml | 27 +++- ...display.node.collection_object.default.yml | 14 ++ ..._display.node.collection_object.teaser.yml | 7 + codebase/config/sync/core.extension.yml | 2 +- ...eld.node.collection_object.field_model.yml | 33 +++++ .../sync/field.storage.node.field_model.yml | 2 +- .../sync/user.role.collection_level_admin.yml | 1 + .../config/sync/user.role.global_admin.yml | 1 + codebase/config/sync/views.view.media_of.yml | 8 +- .../views.view.workbench_recent_content.yml | 134 +++++++++++++++++- .../sync/views.view.workbench_taxonomies.yml | 103 +++----------- .../config/sync/workbench_access.settings.yml | 2 +- 14 files changed, 233 insertions(+), 179 deletions(-) create mode 100644 codebase/config/sync/field.field.node.collection_object.field_model.yml diff --git a/codebase/composer.json b/codebase/composer.json index 33a04887f..3f4face53 100644 --- a/codebase/composer.json +++ b/codebase/composer.json @@ -55,7 +55,6 @@ "drupal/admin_toolbar": "^2.0", "drupal/auto_entitylabel": "^3.0@beta", "drupal/captcha": "^1.1", - "drupal/conditional_fields": "^1.0@alpha", "drupal/console": "~1.0", "drupal/contact_ajax": "^1.5", "drupal/contact_block": "^1.5", diff --git a/codebase/composer.lock b/codebase/composer.lock index 2d688a754..ce0a63e7f 100644 --- a/codebase/composer.lock +++ b/codebase/composer.lock @@ -2415,82 +2415,6 @@ "issues": "https://www.drupal.org/project/issues/captcha" } }, - { - "name": "drupal/conditional_fields", - "version": "1.0.0-alpha10", - "source": { - "type": "git", - "url": "https://git.drupalcode.org/project/conditional_fields.git", - "reference": "8.x-1.0-alpha10" - }, - "dist": { - "type": "zip", - "url": "https://ftp.drupal.org/files/projects/conditional_fields-8.x-1.0-alpha10.zip", - "reference": "8.x-1.0-alpha10", - "shasum": "ac11881a07eaf3ce796dea1cb0e537434d1fbd3d" - }, - "require": { - "drupal/core": "^8 || ^9" - }, - "type": "drupal-module", - "extra": { - "drupal": { - "version": "8.x-1.0-alpha10", - "datestamp": "1610130227", - "security-coverage": { - "status": "not-covered", - "message": "Project has not opted into security advisory coverage!" - } - } - }, - "notification-url": "https://packages.drupal.org/8/downloads", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "Adyax", - "homepage": "https://www.adyax.com/" - }, - { - "name": "OlgaRabodzei", - "homepage": "https://www.drupal.org/user/3389198" - }, - { - "name": "colan", - "homepage": "https://www.drupal.org/user/58704" - }, - { - "name": "ergonlogic", - "homepage": "https://www.drupal.org/user/368613" - }, - { - "name": "geek-merlin", - "homepage": "https://www.drupal.org/user/229048" - }, - { - "name": "itsekhmistro", - "homepage": "https://www.drupal.org/user/928152" - }, - { - "name": "mparker17", - "homepage": "https://www.drupal.org/user/536298" - }, - { - "name": "peterpoe", - "homepage": "https://www.drupal.org/user/55674" - }, - { - "name": "thalles", - "homepage": "https://www.drupal.org/user/3589086" - } - ], - "description": "Conditional fields", - "homepage": "https://www.drupal.org/project/conditional_fields", - "support": { - "source": "https://git.drupalcode.org/project/conditional_fields" - } - }, { "name": "drupal/config_update", "version": "1.7.0", @@ -17130,7 +17054,6 @@ "minimum-stability": "dev", "stability-flags": { "drupal/auto_entitylabel": 10, - "drupal/conditional_fields": 15, "drupal/content_browser": 15, "drupal/libraries": 20, "drupal/migrate_source_ui": 5, diff --git a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml index 7737b16ba..e94e5fb2b 100644 --- a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml @@ -13,6 +13,7 @@ dependencies: - field.field.node.collection_object.field_featured_item - field.field.node.collection_object.field_finding_aid - field.field.node.collection_object.field_member_of + - field.field.node.collection_object.field_model - field.field.node.collection_object.field_title_language - node.type.collection_object module: @@ -25,12 +26,12 @@ mode: default content: created: type: datetime_timestamp - weight: 12 + weight: 13 region: content settings: { } third_party_settings: { } field_access_control: - weight: 14 + weight: 11 settings: { } third_party_settings: { } type: options_select @@ -102,9 +103,23 @@ content: region: content field_member_of: weight: 10 - settings: { } + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' third_party_settings: { } - type: options_select + type: entity_reference_autocomplete + region: content + field_model: + weight: 15 + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + type: entity_reference_autocomplete region: content field_title_language: weight: 1 @@ -116,7 +131,7 @@ content: type: boolean_checkbox settings: display_label: true - weight: 13 + weight: 14 region: content third_party_settings: { } title: @@ -129,7 +144,7 @@ content: third_party_settings: { } uid: type: entity_reference_autocomplete - weight: 11 + weight: 12 settings: match_operator: CONTAINS size: 60 diff --git a/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml index f18a61395..27bd7282f 100644 --- a/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml @@ -13,6 +13,7 @@ dependencies: - field.field.node.collection_object.field_featured_item - field.field.node.collection_object.field_finding_aid - field.field.node.collection_object.field_member_of + - field.field.node.collection_object.field_model - field.field.node.collection_object.field_title_language - node.type.collection_object module: @@ -125,6 +126,14 @@ content: third_party_settings: { } type: entity_reference_label region: content + field_model: + weight: 101 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content field_title_language: weight: 5 label: above @@ -133,6 +142,11 @@ content: third_party_settings: { } type: entity_reference_label region: content + islandora_fits_checksum: + weight: 100 + settings: { } + third_party_settings: { } + region: content links: weight: 4 region: content diff --git a/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml b/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml index 479dd4b6b..84e96d83d 100644 --- a/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml +++ b/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml @@ -14,6 +14,7 @@ dependencies: - field.field.node.collection_object.field_featured_item - field.field.node.collection_object.field_finding_aid - field.field.node.collection_object.field_member_of + - field.field.node.collection_object.field_model - field.field.node.collection_object.field_title_language - node.type.collection_object module: @@ -41,6 +42,11 @@ content: rel: '' target: '' third_party_settings: { } + islandora_fits_checksum: + weight: 100 + settings: { } + third_party_settings: { } + region: content links: weight: 3 region: content @@ -59,6 +65,7 @@ hidden: field_featured_item: true field_finding_aid: true field_member_of: true + field_model: true field_title_language: true langcode: true openseadragon_media_evas_entity_view_1: true diff --git a/codebase/config/sync/core.extension.yml b/codebase/config/sync/core.extension.yml index 4ea8c87a6..377e04db7 100644 --- a/codebase/config/sync/core.extension.yml +++ b/codebase/config/sync/core.extension.yml @@ -1,6 +1,7 @@ module: action: 0 admin_toolbar: 0 + admin_toolbar_links_access_filter: 0 automated_cron: 0 basic_auth: 0 big_pipe: 0 @@ -11,7 +12,6 @@ module: ckeditor: 0 color: 0 comment: 0 - conditional_fields: 0 config: 0 config_update: 0 contact: 0 diff --git a/codebase/config/sync/field.field.node.collection_object.field_model.yml b/codebase/config/sync/field.field.node.collection_object.field_model.yml new file mode 100644 index 000000000..04896d54b --- /dev/null +++ b/codebase/config/sync/field.field.node.collection_object.field_model.yml @@ -0,0 +1,33 @@ +uuid: 958f6e3b-7796-4c0f-9b1e-c73963877f30 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_model + - node.type.collection_object + - taxonomy.vocabulary.islandora_models + content: + - 'taxonomy_term:islandora_models:e9ee0e3a-791b-4888-8ace-3c1529380dd1' +id: node.collection_object.field_model +field_name: field_model +entity_type: node +bundle: collection_object +label: Model +description: '' +required: false +translatable: true +default_value: + - + target_uuid: e9ee0e3a-791b-4888-8ace-3c1529380dd1 +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + islandora_models: islandora_models + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/codebase/config/sync/field.storage.node.field_model.yml b/codebase/config/sync/field.storage.node.field_model.yml index 4ef94d737..9492e1174 100644 --- a/codebase/config/sync/field.storage.node.field_model.yml +++ b/codebase/config/sync/field.storage.node.field_model.yml @@ -8,7 +8,7 @@ dependencies: - taxonomy third_party_settings: field_permissions: - permission_type: public + permission_type: custom _core: default_config_hash: A_k0ZwrnLc07NfPad0ADTT6O09l691c3_s6Jztrphg0 id: node.field_model diff --git a/codebase/config/sync/user.role.collection_level_admin.yml b/codebase/config/sync/user.role.collection_level_admin.yml index 1e811ffce..403ae6809 100644 --- a/codebase/config/sync/user.role.collection_level_admin.yml +++ b/codebase/config/sync/user.role.collection_level_admin.yml @@ -7,6 +7,7 @@ label: 'Collection Level Admin' weight: -8 is_admin: null permissions: + - 'access administration pages' - 'access media overview' - 'access migrate source ui' - 'access site reports' diff --git a/codebase/config/sync/user.role.global_admin.yml b/codebase/config/sync/user.role.global_admin.yml index b04a4e683..622969ade 100644 --- a/codebase/config/sync/user.role.global_admin.yml +++ b/codebase/config/sync/user.role.global_admin.yml @@ -7,6 +7,7 @@ label: 'Global Admin' weight: -9 is_admin: null permissions: + - 'access administration pages' - 'access browse_content entity browser pages' - 'access browse_content_iframe entity browser pages' - 'access content overview' diff --git a/codebase/config/sync/views.view.media_of.yml b/codebase/config/sync/views.view.media_of.yml index af1c68013..94a80b1e5 100644 --- a/codebase/config/sync/views.view.media_of.yml +++ b/codebase/config/sync/views.view.media_of.yml @@ -480,7 +480,6 @@ display: - user.permissions tags: - 'config:field.storage.media.field_mime_type' - - extensions page_1: display_plugin: page id: page_1 @@ -928,6 +927,11 @@ display: plugin_id: entity_operations defaults: fields: false + tab_options: + type: none + title: '' + description: '' + weight: 0 cache_metadata: max-age: 0 contexts: @@ -939,7 +943,6 @@ display: tags: - 'config:field.storage.media.field_media_use' - 'config:field.storage.media.field_mime_type' - - extensions rest_export_1: display_plugin: rest_export id: rest_export_1 @@ -1234,4 +1237,3 @@ display: - user.permissions tags: - 'config:field.storage.media.field_mime_type' - - extensions diff --git a/codebase/config/sync/views.view.workbench_recent_content.yml b/codebase/config/sync/views.view.workbench_recent_content.yml index af1a0f7b1..266868e3d 100644 --- a/codebase/config/sync/views.view.workbench_recent_content.yml +++ b/codebase/config/sync/views.view.workbench_recent_content.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - field.storage.node.field_access_control + - field.storage.node.field_member_of module: - node - user @@ -263,6 +264,69 @@ display: entity_type: node entity_field: type plugin_id: field + field_member_of: + id: field_member_of + table: node__field_member_of + field: field_member_of + relationship: none + group_type: group + admin_label: '' + label: Parent + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field status: id: status table: node_field_data @@ -754,7 +818,8 @@ display: - user - 'user.node_grants:view' - user.permissions - tags: { } + tags: + - 'config:field.storage.node.field_member_of' block_1: display_plugin: block id: block_1 @@ -973,6 +1038,69 @@ display: entity_type: node entity_field: type plugin_id: field + field_member_of: + id: field_member_of + table: node__field_member_of + field: field_member_of + relationship: none + group_type: group + admin_label: '' + label: Parent + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + plugin_id: field name: id: name table: users_field_data @@ -1245,6 +1373,7 @@ display: - user.permissions tags: - 'config:field.storage.node.field_access_control' + - 'config:field.storage.node.field_member_of' embed_1: display_plugin: embed id: embed_1 @@ -1263,4 +1392,5 @@ display: - user - 'user.node_grants:view' - user.permissions - tags: { } + tags: + - 'config:field.storage.node.field_member_of' diff --git a/codebase/config/sync/views.view.workbench_taxonomies.yml b/codebase/config/sync/views.view.workbench_taxonomies.yml index 8e8dbcdf1..904a3aa80 100644 --- a/codebase/config/sync/views.view.workbench_taxonomies.yml +++ b/codebase/config/sync/views.view.workbench_taxonomies.yml @@ -71,77 +71,14 @@ display: row_class: '' default_row_class: true row: - type: 'entity:taxonomy_term' + type: fields options: - relationship: none - view_mode: default - fields: - name: - id: name - table: taxonomy_term_field_data - field: name - relationship: none - group_type: group - admin_label: '' - label: '' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: false - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' + default_field_elements: true + inline: + vid: vid + separator: '' hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: string - settings: - link_to_entity: false - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - convert_spaces: false - entity_type: taxonomy_term - entity_field: name - plugin_id: term_name + fields: vid: id: vid table: taxonomy_term_field_data @@ -150,7 +87,7 @@ display: group_type: group admin_label: '' label: '' - exclude: true + exclude: false alter: alter_text: false text: '' @@ -208,19 +145,6 @@ display: entity_field: vid plugin_id: field filters: - status: - value: '1' - table: taxonomy_term_field_data - field: status - plugin_id: boolean - entity_type: taxonomy_term - entity_field: status - id: status - expose: - operator: '' - operator_limit_selection: false - operator_list: { } - group: 1 vid: id: vid table: taxonomy_term_field_data @@ -243,19 +167,24 @@ display: group: 1 exposed: false expose: - operator_id: '' - label: '' + operator_id: vid_op + label: Vocabulary description: '' use_operator: false - operator: '' + operator: vid_op operator_limit_selection: false operator_list: { } - identifier: '' + identifier: vid required: false remember: false multiple: false remember_roles: authenticated: authenticated + administrator: '0' + global_admin: '0' + collection_level_admin: '0' + fedoraadmin: '0' + anonymous: '0' reduce: false is_grouped: false group_info: diff --git a/codebase/config/sync/workbench_access.settings.yml b/codebase/config/sync/workbench_access.settings.yml index 998d461f2..7560b27a4 100644 --- a/codebase/config/sync/workbench_access.settings.yml +++ b/codebase/config/sync/workbench_access.settings.yml @@ -1,3 +1,3 @@ -deny_on_empty: false +deny_on_empty: true _core: default_config_hash: Y6xetsHwk8FUA3WQMga3J7Imf3wRlur5ALeppr16dJM From 66a5f65fc5c9815048238e4502a7d610e3da1a9c Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Thu, 25 Mar 2021 07:50:19 -0400 Subject: [PATCH 05/22] More tweaks --- codebase/composer.lock | 78 ++++++- ...display.node.collection_object.default.yml | 8 +- ..._display.node.islandora_object.default.yml | 14 +- ...taxonomy_term.islandora_access.default.yml | 34 ++++ ...taxonomy_term.islandora_access.default.yml | 23 +++ ...node.collection_object.field_member_of.yml | 13 +- ....node.islandora_object.field_member_of.yml | 15 +- .../config/sync/role_hierarchy.settings.yml | 2 +- .../sync/simplesamlphp_auth.settings.yml | 2 +- .../views.view.content_type_member_of.yml | 191 ------------------ 10 files changed, 156 insertions(+), 224 deletions(-) create mode 100644 codebase/config/sync/core.entity_form_display.taxonomy_term.islandora_access.default.yml create mode 100644 codebase/config/sync/core.entity_view_display.taxonomy_term.islandora_access.default.yml delete mode 100644 codebase/config/sync/views.view.content_type_member_of.yml diff --git a/codebase/composer.lock b/codebase/composer.lock index ce0a63e7f..56867a157 100644 --- a/codebase/composer.lock +++ b/codebase/composer.lock @@ -1770,6 +1770,20 @@ "sqlserver", "sqlsrv" ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", + "type": "tidelift" + } + ], "time": "2020-11-14T20:26:58+00:00" }, { @@ -4696,7 +4710,7 @@ }, "notification-url": "https://packages.drupal.org/8/downloads", "license": [ - "GPL-2.0+" + "GPL-2.0-or-later" ], "authors": [ { @@ -7083,12 +7097,12 @@ "source": { "type": "git", "url": "https://github.com/jhu-idc/islandora_defaults.git", - "reference": "e6a1083a7d7ea821dad45043fe1863127538d5af" + "reference": "4fbbc2d2f2d09aa9aebec1ecbd3bb5a5c1a7103d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jhu-idc/islandora_defaults/zipball/e6a1083a7d7ea821dad45043fe1863127538d5af", - "reference": "e6a1083a7d7ea821dad45043fe1863127538d5af", + "url": "https://api.github.com/repos/jhu-idc/islandora_defaults/zipball/4fbbc2d2f2d09aa9aebec1ecbd3bb5a5c1a7103d", + "reference": "4fbbc2d2f2d09aa9aebec1ecbd3bb5a5c1a7103d", "shasum": "" }, "require": { @@ -7114,7 +7128,7 @@ "issues": "https://github.com/jhu-idc/islandora_defaults/issues", "source": "https://github.com/jhu-idc/islandora_defaults/tree/8.x-1.x" }, - "time": "2021-03-17T14:28:23+00:00" + "time": "2021-03-24T20:22:40+00:00" }, { "name": "jhu-idc/migrate_file", @@ -7738,6 +7752,12 @@ "sftp", "storage" ], + "funding": [ + { + "url": "https://offset.earth/frankdejonge", + "type": "other" + } + ], "time": "2020-08-23T07:39:11+00:00" }, { @@ -8129,6 +8149,16 @@ "logging", "psr-3" ], + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], "time": "2020-12-14T12:56:38+00:00" }, { @@ -11185,6 +11215,16 @@ "rabbitmq", "stomp" ], + "funding": [ + { + "url": "https://github.com/jmglsn", + "type": "github" + }, + { + "url": "https://github.com/staabm", + "type": "github" + } + ], "time": "2020-06-15T18:01:49+00:00" }, { @@ -11752,6 +11792,20 @@ ], "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-09-07T11:33:47+00:00" }, { @@ -13273,6 +13327,20 @@ ], "description": "Symfony Security Component", "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-10-28T05:23:51+00:00" }, { diff --git a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml index e94e5fb2b..17e6e4f00 100644 --- a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml @@ -103,13 +103,9 @@ content: region: content field_member_of: weight: 10 - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' + settings: { } third_party_settings: { } - type: entity_reference_autocomplete + type: options_select region: content field_model: weight: 15 diff --git a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml index 40259c75b..5e5a0f92d 100644 --- a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml @@ -61,7 +61,7 @@ third_party_settings: children: - field_model - field_member_of - - langcode + - field_access_control - field_display_hints - field_weight parent_name: '' @@ -227,7 +227,7 @@ content: type: reference_value_select region: content field_access_control: - weight: 69 + weight: 10 settings: match_operator: CONTAINS match_limit: 10 @@ -580,7 +580,7 @@ content: type: options_select region: content field_weight: - weight: 13 + weight: 12 settings: placeholder: '' third_party_settings: { } @@ -595,13 +595,6 @@ content: third_party_settings: { } type: edtf_default region: content - langcode: - type: language_select - weight: 10 - region: content - settings: - include_locked: true - third_party_settings: { } status: type: boolean_checkbox settings: @@ -628,6 +621,7 @@ content: match_limit: 10 third_party_settings: { } hidden: + langcode: true path: true promote: true sticky: true diff --git a/codebase/config/sync/core.entity_form_display.taxonomy_term.islandora_access.default.yml b/codebase/config/sync/core.entity_form_display.taxonomy_term.islandora_access.default.yml new file mode 100644 index 000000000..0d8789857 --- /dev/null +++ b/codebase/config/sync/core.entity_form_display.taxonomy_term.islandora_access.default.yml @@ -0,0 +1,34 @@ +uuid: 60e06ae4-0b0d-46bd-9b0a-b214bc8bae21 +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.islandora_access + module: + - text +id: taxonomy_term.islandora_access.default +targetEntityType: taxonomy_term +bundle: islandora_access +mode: default +content: + description: + type: text_textarea + weight: 1 + region: content + settings: + placeholder: '' + rows: 5 + third_party_settings: { } + name: + type: string_textfield + weight: 0 + region: content + settings: + size: 60 + placeholder: '' + third_party_settings: { } +hidden: + langcode: true + path: true + status: true + translation: true diff --git a/codebase/config/sync/core.entity_view_display.taxonomy_term.islandora_access.default.yml b/codebase/config/sync/core.entity_view_display.taxonomy_term.islandora_access.default.yml new file mode 100644 index 000000000..1122054c7 --- /dev/null +++ b/codebase/config/sync/core.entity_view_display.taxonomy_term.islandora_access.default.yml @@ -0,0 +1,23 @@ +uuid: d1633c2a-6d57-41d6-b1b6-c8025fe5fd0e +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.islandora_access + module: + - text +id: taxonomy_term.islandora_access.default +targetEntityType: taxonomy_term +bundle: islandora_access +mode: default +content: + description: + label: hidden + type: text_default + weight: 0 + region: content + settings: { } + third_party_settings: { } +hidden: + langcode: true + search_api_excerpt: true diff --git a/codebase/config/sync/field.field.node.collection_object.field_member_of.yml b/codebase/config/sync/field.field.node.collection_object.field_member_of.yml index ab3269808..509618c0b 100644 --- a/codebase/config/sync/field.field.node.collection_object.field_member_of.yml +++ b/codebase/config/sync/field.field.node.collection_object.field_member_of.yml @@ -16,10 +16,13 @@ translatable: true default_value: { } default_value_callback: '' settings: - handler: views + handler: 'default:node' handler_settings: - view: - view_name: content_type_member_of - display_name: entity_reference_1 - arguments: { } + target_bundles: + collection_object: collection_object + sort: + field: title + direction: ASC + auto_create: false + auto_create_bundle: collection_object field_type: entity_reference diff --git a/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml b/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml index d4fdb9573..33391ec54 100644 --- a/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml +++ b/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - field.storage.node.field_member_of + - node.type.collection_object - node.type.islandora_object enforced: module: @@ -21,10 +22,14 @@ translatable: false default_value: { } default_value_callback: '' settings: - handler: views + handler: 'default:node' handler_settings: - view: - view_name: content_type_member_of - display_name: entity_reference_1 - arguments: { } + target_bundles: + collection_object: collection_object + islandora_object: islandora_object + sort: + field: title + direction: ASC + auto_create: false + auto_create_bundle: collection_object field_type: entity_reference diff --git a/codebase/config/sync/role_hierarchy.settings.yml b/codebase/config/sync/role_hierarchy.settings.yml index 96c79a838..7a7636608 100644 --- a/codebase/config/sync/role_hierarchy.settings.yml +++ b/codebase/config/sync/role_hierarchy.settings.yml @@ -1,6 +1,6 @@ strict: 0 non_hierarchical_roles: - administrator: administrator + administrator: 0 global_admin: 0 collection_level_admin: 0 fedoraadmin: 0 diff --git a/codebase/config/sync/simplesamlphp_auth.settings.yml b/codebase/config/sync/simplesamlphp_auth.settings.yml index 172cc3db9..3f88813b2 100644 --- a/codebase/config/sync/simplesamlphp_auth.settings.yml +++ b/codebase/config/sync/simplesamlphp_auth.settings.yml @@ -8,7 +8,7 @@ login_link_show: true login_link_display_name: 'Federated login' header_no_cache: false role: - population: 'staff:eduPersonAffiliation,~=,STAFF' + population: 'global_admin:eduPersonPrincipalName,=,staff1@johnshopkins.edu|collection_level_admin:eduPersonPrincipalName,=,staff2@johnshopkins.edu' eval_every_time: true register_users: true allow: diff --git a/codebase/config/sync/views.view.content_type_member_of.yml b/codebase/config/sync/views.view.content_type_member_of.yml deleted file mode 100644 index 40298ab69..000000000 --- a/codebase/config/sync/views.view.content_type_member_of.yml +++ /dev/null @@ -1,191 +0,0 @@ -uuid: 597dff21-e9e8-459a-a058-60422b46723b -langcode: en -status: true -dependencies: - module: - - node - - user -id: content_type_member_of -label: 'Content Type member_of' -module: views -description: '' -tag: '' -base_table: node_field_data -base_field: nid -display: - default: - display_plugin: default - id: default - display_title: Master - position: 0 - display_options: - access: - type: perm - options: - perm: 'edit any collection_object content' - cache: - type: tag - options: { } - query: - type: views_query - options: - disable_sql_rewrite: false - distinct: false - replica: false - query_comment: '' - query_tags: { } - exposed_form: - type: basic - options: - submit_button: Apply - reset_button: false - reset_button_label: Reset - exposed_sorts_label: 'Sort by' - expose_sort_order: true - sort_asc_label: Asc - sort_desc_label: Desc - pager: - type: mini - options: - items_per_page: 10 - offset: 0 - id: 0 - total_pages: null - expose: - items_per_page: false - items_per_page_label: 'Items per page' - items_per_page_options: '5, 10, 25, 50' - items_per_page_options_all: false - items_per_page_options_all_label: '- All -' - offset: false - offset_label: Offset - tags: - previous: ‹‹ - next: ›› - style: - type: default - options: - grouping: { } - row_class: '' - default_row_class: true - uses_fields: false - row: - type: fields - options: - inline: { } - separator: '' - hide_empty: false - default_field_elements: true - fields: - title: - id: title - table: node_field_data - field: title - entity_type: node - entity_field: title - label: '' - alter: - alter_text: false - make_link: false - absolute: false - trim: false - word_boundary: false - ellipsis: false - strip_tags: false - html: false - hide_empty: false - empty_zero: false - settings: - link_to_entity: true - plugin_id: field - relationship: none - group_type: group - admin_label: '' - exclude: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_alter_empty: true - click_sort_column: value - type: string - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - filters: - status: - value: '1' - table: node_field_data - field: status - plugin_id: boolean - entity_type: node - entity_field: status - id: status - expose: - operator: '' - operator_limit_selection: false - operator_list: { } - group: 1 - sorts: - created: - id: created - table: node_field_data - field: created - order: DESC - entity_type: node - entity_field: created - plugin_id: date - relationship: none - group_type: group - admin_label: '' - exposed: false - expose: - label: '' - granularity: second - header: { } - footer: { } - empty: { } - relationships: { } - arguments: { } - display_extenders: { } - cache_metadata: - max-age: -1 - contexts: - - 'languages:language_content' - - 'languages:language_interface' - - url.query_args - - 'user.node_grants:view' - - user.permissions - tags: { } - entity_reference_1: - display_plugin: entity_reference - id: entity_reference_1 - display_title: 'Entity Reference' - position: 1 - display_options: - display_extenders: { } - style: - type: entity_reference - options: - search_fields: - title: title - cache_metadata: - max-age: -1 - contexts: - - 'languages:language_content' - - 'languages:language_interface' - - 'user.node_grants:view' - - user.permissions - tags: { } From 96bce7ee64e19b55a1e0129094ea91384ba7dece Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Thu, 25 Mar 2021 07:51:16 -0400 Subject: [PATCH 06/22] Removed bad file. --- ' | 81 --------------------------------------------------------------- 1 file changed, 81 deletions(-) delete mode 100644 ' diff --git a/' b/' deleted file mode 100644 index d77ab9fee..000000000 --- a/' +++ /dev/null @@ -1,81 +0,0 @@ -# Environment variables defined in this file apply to both the Makefile and to -# docker-compose.yml -# -# Due to restrictions in the `env-file` format we cannot specify multi-line -# values for environment variables. For this reason the environment -# variables are set on service definitions in the docker-compose.*.yml files, -# rather than defined in `env-file` files. - -# Determines which docker-compose file(s) will be used for the `drupal` service. -# See documentation for more details. -ENVIRONMENT=local - -REQUIRED_SERIVCES=activemq alpaca cantaloupe idc-crayfish crayfits drupal mariadb solr idc-snapshot testcafe -############################################################################### -# Environment variables specific to composer. -############################################################################### -COMPOSE_HTTP_TIMEOUT=480 - -# Also used for naming services in traefik as well as defining network alias and urls. -# For example the `drupal` service will be found at `islandora.${COMPOSE_PROJECT_NAME}.${DRUPAL_SITE_HOST}`. -# See https://docs.docker.com/compose/reference/envvars/ -COMPOSE_PROJECT_NAME=idc - -# If you are running locally, leave this. traefik.me resolves to localhost. -# If you are deploying to a remote server and you own a domain for it, place it here. -# If you have an IP but no domain, change this to X-X-X-X.traefik.me, where X-X-X-X -# is your IP address but with hyphens instead of dots. -DRUPAL_SITE_HOST=traefik.me - -# Allows building custom image with buildkit. -COMPOSE_DOCKER_CLI_BUILD=1 -DOCKER_BUILDKIT=1 - -# Dockerfile to use when building the custom project. -PROJECT_DRUPAL_DOCKERFILE=Dockerfile - -# Includes `traefik` as a service, if false assume we are sharing a traefik -# from another project. -INCLUDE_TRAEFIK_SERVICE=true - -# Includes `watchtower` as a service. -INCLUDE_WATCHTOWER_SERVICE=false - -# Includes `etcd` as a service. -INCLUDE_ETCD_SERVICE=false - -# Include SAML-related services. -INCLUDE_SAML_SERVICE=true - -# Choose which database backend to use: mariadb/postgresql -# Services that only support MySQL (Matomo) do not have the option to change. -# Also at this time not all Drupal modules work with PostgresSQL, it is provided -# as option here so it can be tested and fixed at some later date. -DRUPAL_DATABASE_SERVICE=mariadb -FCREPO_DATABASE_SERVICE=mariadb -GEMINI_DATABASE_SERVICE=mariadb - -# Root database password -MYSQL_ROOT_PASSWORD=password - -# Repository to use for pulling isle-buildkit images, change to `local` -# To use images you have built locally with isle-buildkit, or use your -# custom docker registry if you have set up one. -# -REPOSITORY=ghcr.io/jhu-sheridan-libraries/idc-isle-dc - -# The version of the isle-buildkit images, non isle-buildkit images have -# their versions specified explicitly in their respective docker-compose files. -TAG=upstream-20200824-f8d1e8e-23-g9fe79fc - -# Docker image and tag for snapshot image -SNAPSHOT_TAG=upstream-20201007-739693ae-227-gc04a62b0.1616075568 - -# IdP, SP entity URIs and base URLs -SP_BASEURL=https://islandora-idc.traefik.me -SP_ENTITYID=https://islandora-idc.traefik.me/sp/shibboleth -IDP_BASEURL=https://islandora-idp.traefik.me:4443 -IDP_ENTITYID=https://islandora-idp.traefik.me/idp/shibboleth - -# DB params -DRUPAL_DEFAULT_DB_PASSWORD=password From 982457ced02ddd1edc11277a45f7f4248f40d5ec Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Mon, 5 Apr 2021 08:22:51 -0400 Subject: [PATCH 07/22] Adds tests. They are a WIP though. --- codebase/composer.json | 2 + codebase/composer.lock | 44 +++++ ...display.node.collection_object.default.yml | 14 +- ..._display.node.islandora_object.default.yml | 28 +-- ...display.node.collection_object.default.yml | 6 +- ..._display.node.collection_object.teaser.yml | 4 +- ...w_display.node.islandora_object.binary.yml | 4 +- ..._display.node.islandora_object.default.yml | 10 +- ...y.node.islandora_object.open_seadragon.yml | 4 +- ...ew_display.node.islandora_object.pdfjs.yml | 4 +- ...w_display.node.islandora_object.teaser.yml | 4 +- ...view_display.node.page.content_browser.yml | 50 +++++ ....entity_view_display.node.page.default.yml | 50 +++++ ...e.entity_view_display.node.page.teaser.yml | 50 +++++ codebase/config/sync/core.extension.yml | 1 + .../core.menu.static_menu_link_overrides.yml | 6 + ....collection_object.field_access_terms.yml} | 18 +- ...node.collection_object.field_member_of.yml | 10 +- ...e.islandora_object.field_access_terms.yml} | 16 +- ....node.islandora_object.field_member_of.yml | 10 +- ...xonomy_term.geo_location.field_broader.yml | 9 +- ...field.storage.node.field_access_terms.yml} | 6 +- ...us.migration.idc_ingest_new_collection.yml | 15 ++ ...te_plus.migration.idc_ingest_new_items.yml | 15 ++ ..._ingest_taxonomy_islandora_accessterms.yml | 38 ++++ .../taxonomy.vocabulary.islandora_access.yml | 2 +- .../sync/user.role.collection_level_admin.yml | 5 + .../config/sync/user.role.global_admin.yml | 2 + .../sync/views.view.solr_search_content.yml | 115 ------------ .../views.view.workbench_current_user.yml | 2 +- .../sync/views.view.workbench_edited.yml | 2 +- .../views.view.workbench_recent_content.yml | 67 +------ codebase/config/sync/workbench.settings.yml | 2 +- ...kbench_access.access_scheme.collection.yml | 12 +- .../testcafe/migrate_tests.spec.js | 15 ++ .../testcafe/migrations/accessterms.csv | 8 + .../testcafe/migrations/collection-01.csv | 6 +- .../testcafe/migrations/collection-02.csv | 6 +- .../islandora_object-accessterms.csv | 4 + .../islandora_object-collections.csv | 6 +- .../testcafe/migrations/islandora_object.csv | 2 +- .../verification/expected/collection-01.json | 5 +- .../verification/expected/collection-02.json | 5 +- .../verification/expected/item-01.json | 4 + .../expected/taxonomy-accessterms-01.json | 10 + .../expected/taxonomy-accessterms-02.json | 13 ++ .../verification/expected_json_types_test.go | 17 +- .../verification/jsonapi_types_test.go | 32 +++- .../verification/verify_migrations_test.go | 173 ++++++++++++++---- 49 files changed, 628 insertions(+), 305 deletions(-) rename codebase/config/sync/{field.field.node.collection_object.field_access_control.yml => field.field.node.collection_object.field_access_terms.yml} (64%) rename codebase/config/sync/{field.field.node.islandora_object.field_access_control.yml => field.field.node.islandora_object.field_access_terms.yml} (66%) rename codebase/config/sync/{field.storage.node.field_access_control.yml => field.storage.node.field_access_terms.yml} (78%) create mode 100644 codebase/config/sync/migrate_plus.migration.idc_ingest_taxonomy_islandora_accessterms.yml create mode 100644 tests/10-migration-backend-tests/testcafe/migrations/accessterms.csv create mode 100644 tests/10-migration-backend-tests/testcafe/migrations/islandora_object-accessterms.csv create mode 100644 tests/10-migration-backend-tests/verification/expected/taxonomy-accessterms-01.json create mode 100644 tests/10-migration-backend-tests/verification/expected/taxonomy-accessterms-02.json diff --git a/codebase/composer.json b/codebase/composer.json index 3f4face53..87876b179 100644 --- a/codebase/composer.json +++ b/codebase/composer.json @@ -64,6 +64,8 @@ "drupal/core": "^8.9.13", "drupal/core-composer-scaffold": "^8.9.13", "drupal/devel": "^2.0", + "drupal/embed": "^1.4", + "drupal/entity_reference_unpublished": "^1.2", "drupal/epp": "^1.0", "drupal/facets": "^1.3", "drupal/libraries": "3.x-dev@dev", diff --git a/codebase/composer.lock b/codebase/composer.lock index 56867a157..48d4347fb 100644 --- a/codebase/composer.lock +++ b/codebase/composer.lock @@ -3690,6 +3690,50 @@ "irc": "irc://irc.freenode.org/drupal-media" } }, + { + "name": "drupal/entity_reference_unpublished", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/entity_reference_unpublished.git", + "reference": "8.x-1.2" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/entity_reference_unpublished-8.x-1.2.zip", + "reference": "8.x-1.2", + "shasum": "a0685c19126506cda83cb2becb7cfa6c51b2bd1c" + }, + "require": { + "drupal/core": "^8 || ^9" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.2", + "datestamp": "1589564667", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "lahoosascoots", + "homepage": "https://www.drupal.org/user/1933614" + } + ], + "description": "Allows unpublished content to be referenced in an entity reference.", + "homepage": "https://www.drupal.org/project/entity_reference_unpublished", + "support": { + "source": "https://git.drupalcode.org/project/entity_reference_unpublished" + } + }, { "name": "drupal/epp", "version": "1.0.0", diff --git a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml index 17e6e4f00..fc2940b91 100644 --- a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml @@ -3,7 +3,7 @@ langcode: en status: true dependencies: config: - - field.field.node.collection_object.field_access_control + - field.field.node.collection_object.field_access_terms - field.field.node.collection_object.field_alternative_title - field.field.node.collection_object.field_citable_url - field.field.node.collection_object.field_collection_contact_email @@ -30,8 +30,8 @@ content: region: content settings: { } third_party_settings: { } - field_access_control: - weight: 11 + field_access_terms: + weight: 26 settings: { } third_party_settings: { } type: options_select @@ -103,9 +103,13 @@ content: region: content field_member_of: weight: 10 - settings: { } + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' third_party_settings: { } - type: options_select + type: entity_reference_autocomplete region: content field_model: weight: 15 diff --git a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml index 5e5a0f92d..cbe7b967a 100644 --- a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml @@ -4,8 +4,8 @@ status: true dependencies: config: - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -61,7 +61,7 @@ third_party_settings: children: - field_model - field_member_of - - field_access_control + - field_access_terms - field_display_hints - field_weight parent_name: '' @@ -226,22 +226,18 @@ content: third_party_settings: { } type: reference_value_select region: content - field_access_control: - weight: 10 - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - type: entity_reference_autocomplete - region: content field_access_rights: weight: 59 settings: { } third_party_settings: { } type: options_buttons region: content + field_access_terms: + weight: 10 + settings: { } + third_party_settings: { } + type: options_select + region: content field_alternative_title: weight: 15 settings: @@ -480,10 +476,14 @@ content: type: link_default region: content field_member_of: - type: options_select + type: entity_reference_autocomplete weight: 9 region: content - settings: { } + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' third_party_settings: conditional_fields: 4f370f9a-983c-415f-9f05-684f9a7369fb: diff --git a/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml index 27bd7282f..0625b7e81 100644 --- a/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_view_display.node.collection_object.default.yml @@ -3,7 +3,7 @@ langcode: en status: true dependencies: config: - - field.field.node.collection_object.field_access_control + - field.field.node.collection_object.field_access_terms - field.field.node.collection_object.field_alternative_title - field.field.node.collection_object.field_citable_url - field.field.node.collection_object.field_collection_contact_email @@ -35,8 +35,8 @@ content: region: content settings: { } third_party_settings: { } - field_access_control: - weight: 16 + field_access_terms: + weight: 102 label: above settings: link: true diff --git a/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml b/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml index 84e96d83d..faeed4b1a 100644 --- a/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml +++ b/codebase/config/sync/core.entity_view_display.node.collection_object.teaser.yml @@ -4,7 +4,7 @@ status: true dependencies: config: - core.entity_view_mode.node.teaser - - field.field.node.collection_object.field_access_control + - field.field.node.collection_object.field_access_terms - field.field.node.collection_object.field_alternative_title - field.field.node.collection_object.field_citable_url - field.field.node.collection_object.field_collection_contact_email @@ -56,7 +56,7 @@ hidden: display_media_entity_view_1: true display_media_entity_view_2: true display_media_service_file: true - field_access_control: true + field_access_terms: true field_alternative_title: true field_collection_contact_email: true field_collection_contact_name: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml index 182fd2376..5bd0f2b07 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.binary - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -138,8 +138,8 @@ hidden: display_media_service_file: true display_media_thumbnail: true field_abstract: true - field_access_control: true field_access_rights: true + field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml index 9e9731a0e..726e6a826 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml @@ -4,8 +4,8 @@ status: true dependencies: config: - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -76,16 +76,16 @@ content: third_party_settings: { } type: reference_value_formatter region: content - field_access_control: - weight: 42 + field_access_rights: + weight: 15 label: above settings: link: true third_party_settings: { } type: entity_reference_label region: content - field_access_rights: - weight: 15 + field_access_terms: + weight: 42 label: above settings: link: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml index be385cf1f..8aec3a537 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.open_seadragon - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -434,7 +434,7 @@ hidden: display_media_entity_view_2: true display_media_service_file: true display_media_thumbnail: true - field_access_control: true + field_access_terms: true field_display_hints: true field_dspace_identifier: true field_dspace_item_id: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml index 09f9070e3..ff8a98b93 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.pdfjs - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -134,8 +134,8 @@ hidden: display_media_service_file: true display_media_thumbnail: true field_abstract: true - field_access_control: true field_access_rights: true + field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml index 5368d78cd..112828bce 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.teaser - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -75,8 +75,8 @@ hidden: display_media_entity_view_2: true display_media_service_file: true field_abstract: true - field_access_control: true field_access_rights: true + field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.entity_view_display.node.page.content_browser.yml b/codebase/config/sync/core.entity_view_display.node.page.content_browser.yml index d6f2d6747..1d0d66376 100644 --- a/codebase/config/sync/core.entity_view_display.node.page.content_browser.yml +++ b/codebase/config/sync/core.entity_view_display.node.page.content_browser.yml @@ -24,9 +24,59 @@ content: settings: trim_length: 600 third_party_settings: { } + display_media_entity_view_1: + weight: 10 + settings: { } + third_party_settings: { } + region: content + display_media_entity_view_2: + weight: 10 + settings: { } + third_party_settings: { } + region: content + display_media_service_file: + weight: 10 + settings: { } + third_party_settings: { } + region: content + display_media_thumbnail: + weight: 10 + settings: { } + third_party_settings: { } + region: content links: weight: 101 region: content + openseadragon_media_evas_entity_view_1: + weight: 10 + settings: { } + third_party_settings: { } + region: content + openseadragon_media_evas_entity_view_2: + weight: 10 + settings: { } + third_party_settings: { } + region: content + openseadragon_media_evas_service_file: + weight: 10 + settings: { } + third_party_settings: { } + region: content + pdfjs_media_evas_entity_view_1: + weight: 10 + settings: { } + third_party_settings: { } + region: content + pdfjs_media_evas_entity_view_2: + weight: 10 + settings: { } + third_party_settings: { } + region: content + pdfjs_media_evas_service_file: + weight: 10 + settings: { } + third_party_settings: { } + region: content hidden: langcode: true search_api_excerpt: true diff --git a/codebase/config/sync/core.entity_view_display.node.page.default.yml b/codebase/config/sync/core.entity_view_display.node.page.default.yml index eea1a5d46..3f9415bcd 100644 --- a/codebase/config/sync/core.entity_view_display.node.page.default.yml +++ b/codebase/config/sync/core.entity_view_display.node.page.default.yml @@ -22,9 +22,59 @@ content: region: content settings: { } third_party_settings: { } + display_media_entity_view_1: + weight: 10 + settings: { } + third_party_settings: { } + region: content + display_media_entity_view_2: + weight: 10 + settings: { } + third_party_settings: { } + region: content + display_media_service_file: + weight: 10 + settings: { } + third_party_settings: { } + region: content + display_media_thumbnail: + weight: 10 + settings: { } + third_party_settings: { } + region: content links: weight: 101 region: content + openseadragon_media_evas_entity_view_1: + weight: 10 + settings: { } + third_party_settings: { } + region: content + openseadragon_media_evas_entity_view_2: + weight: 10 + settings: { } + third_party_settings: { } + region: content + openseadragon_media_evas_service_file: + weight: 10 + settings: { } + third_party_settings: { } + region: content + pdfjs_media_evas_entity_view_1: + weight: 10 + settings: { } + third_party_settings: { } + region: content + pdfjs_media_evas_entity_view_2: + weight: 10 + settings: { } + third_party_settings: { } + region: content + pdfjs_media_evas_service_file: + weight: 10 + settings: { } + third_party_settings: { } + region: content hidden: langcode: true search_api_excerpt: true diff --git a/codebase/config/sync/core.entity_view_display.node.page.teaser.yml b/codebase/config/sync/core.entity_view_display.node.page.teaser.yml index 7f8a6fb63..7a11248d7 100644 --- a/codebase/config/sync/core.entity_view_display.node.page.teaser.yml +++ b/codebase/config/sync/core.entity_view_display.node.page.teaser.yml @@ -24,9 +24,59 @@ content: settings: trim_length: 600 third_party_settings: { } + display_media_entity_view_1: + weight: 10 + settings: { } + third_party_settings: { } + region: content + display_media_entity_view_2: + weight: 10 + settings: { } + third_party_settings: { } + region: content + display_media_service_file: + weight: 10 + settings: { } + third_party_settings: { } + region: content + display_media_thumbnail: + weight: 10 + settings: { } + third_party_settings: { } + region: content links: weight: 101 region: content + openseadragon_media_evas_entity_view_1: + weight: 10 + settings: { } + third_party_settings: { } + region: content + openseadragon_media_evas_entity_view_2: + weight: 10 + settings: { } + third_party_settings: { } + region: content + openseadragon_media_evas_service_file: + weight: 10 + settings: { } + third_party_settings: { } + region: content + pdfjs_media_evas_entity_view_1: + weight: 10 + settings: { } + third_party_settings: { } + region: content + pdfjs_media_evas_entity_view_2: + weight: 10 + settings: { } + third_party_settings: { } + region: content + pdfjs_media_evas_service_file: + weight: 10 + settings: { } + third_party_settings: { } + region: content hidden: langcode: true search_api_excerpt: true diff --git a/codebase/config/sync/core.extension.yml b/codebase/config/sync/core.extension.yml index 377e04db7..7e96b9628 100644 --- a/codebase/config/sync/core.extension.yml +++ b/codebase/config/sync/core.extension.yml @@ -33,6 +33,7 @@ module: embed: 0 entity_browser: 0 entity_embed: 0 + entity_reference_unpublished: 0 epp: 0 eva: 0 facets: 0 diff --git a/codebase/config/sync/core.menu.static_menu_link_overrides.yml b/codebase/config/sync/core.menu.static_menu_link_overrides.yml index 55dc4b6e8..70ff36a3f 100644 --- a/codebase/config/sync/core.menu.static_menu_link_overrides.yml +++ b/codebase/config/sync/core.menu.static_menu_link_overrides.yml @@ -5,5 +5,11 @@ definitions: parent: '' weight: 0 expanded: false + workbench__create_content: + menu_name: workbench + parent: '' + weight: 1 + expanded: false + enabled: true _core: default_config_hash: o4bYR9ZupWb3AsOIizTUG4g-nu1mdJqA59UB7QT-ifQ diff --git a/codebase/config/sync/field.field.node.collection_object.field_access_control.yml b/codebase/config/sync/field.field.node.collection_object.field_access_terms.yml similarity index 64% rename from codebase/config/sync/field.field.node.collection_object.field_access_control.yml rename to codebase/config/sync/field.field.node.collection_object.field_access_terms.yml index 73c37cdbe..d9f710d23 100644 --- a/codebase/config/sync/field.field.node.collection_object.field_access_control.yml +++ b/codebase/config/sync/field.field.node.collection_object.field_access_terms.yml @@ -1,18 +1,24 @@ -uuid: 1f872323-83c3-47c7-a7a9-798cd1ec1729 +uuid: 7cf1a8b0-cec5-42e1-b85c-366f1301ff5d langcode: en status: true dependencies: config: - - field.storage.node.field_access_control + - field.storage.node.field_access_terms - node.type.collection_object - taxonomy.vocabulary.islandora_access -id: node.collection_object.field_access_control -field_name: field_access_control + module: + - epp +third_party_settings: + epp: + value: '' + on_update: 1 +id: node.collection_object.field_access_terms +field_name: field_access_terms entity_type: node bundle: collection_object -label: 'Access Control' +label: 'Access Terms' description: '' -required: true +required: false translatable: false default_value: { } default_value_callback: '' diff --git a/codebase/config/sync/field.field.node.collection_object.field_member_of.yml b/codebase/config/sync/field.field.node.collection_object.field_member_of.yml index 509618c0b..7536593c6 100644 --- a/codebase/config/sync/field.field.node.collection_object.field_member_of.yml +++ b/codebase/config/sync/field.field.node.collection_object.field_member_of.yml @@ -5,6 +5,12 @@ dependencies: config: - field.storage.node.field_member_of - node.type.collection_object + module: + - epp +third_party_settings: + epp: + value: '' + on_update: 1 id: node.collection_object.field_member_of field_name: field_member_of entity_type: node @@ -16,13 +22,13 @@ translatable: true default_value: { } default_value_callback: '' settings: - handler: 'default:node' + handler: unpublished handler_settings: target_bundles: collection_object: collection_object sort: field: title direction: ASC - auto_create: false + auto_create: 0 auto_create_bundle: collection_object field_type: entity_reference diff --git a/codebase/config/sync/field.field.node.islandora_object.field_access_control.yml b/codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml similarity index 66% rename from codebase/config/sync/field.field.node.islandora_object.field_access_control.yml rename to codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml index f991c3d86..872e15775 100644 --- a/codebase/config/sync/field.field.node.islandora_object.field_access_control.yml +++ b/codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml @@ -1,16 +1,22 @@ -uuid: 0de81f9f-22ac-4c6a-9f92-90554e2d57b5 +uuid: f8542ca6-17e6-4b23-abc0-4c92060a650b langcode: en status: true dependencies: config: - - field.storage.node.field_access_control + - field.storage.node.field_access_terms - node.type.islandora_object - taxonomy.vocabulary.islandora_access -id: node.islandora_object.field_access_control -field_name: field_access_control + module: + - epp +third_party_settings: + epp: + value: '' + on_update: 0 +id: node.islandora_object.field_access_terms +field_name: field_access_terms entity_type: node bundle: islandora_object -label: 'Access Control' +label: 'Access Terms' description: '' required: false translatable: true diff --git a/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml b/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml index 33391ec54..2b647bee5 100644 --- a/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml +++ b/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml @@ -9,6 +9,12 @@ dependencies: enforced: module: - islandora_defaults + module: + - epp +third_party_settings: + epp: + value: '' + on_update: 1 _core: default_config_hash: v20YaVtVj46zHNe2jXTgkFAVVLS2UcyzL9Pw1ng9038 id: node.islandora_object.field_member_of @@ -22,7 +28,7 @@ translatable: false default_value: { } default_value_callback: '' settings: - handler: 'default:node' + handler: unpublished handler_settings: target_bundles: collection_object: collection_object @@ -30,6 +36,6 @@ settings: sort: field: title direction: ASC - auto_create: false + auto_create: 0 auto_create_bundle: collection_object field_type: entity_reference diff --git a/codebase/config/sync/field.field.taxonomy_term.geo_location.field_broader.yml b/codebase/config/sync/field.field.taxonomy_term.geo_location.field_broader.yml index d3515d53d..5375150e5 100644 --- a/codebase/config/sync/field.field.taxonomy_term.geo_location.field_broader.yml +++ b/codebase/config/sync/field.field.taxonomy_term.geo_location.field_broader.yml @@ -6,7 +6,12 @@ dependencies: - field.storage.taxonomy_term.field_broader - taxonomy.vocabulary.geo_location module: + - epp - link +third_party_settings: + epp: + value: '' + on_update: 1 id: taxonomy_term.geo_location.field_broader field_name: field_broader entity_type: taxonomy_term @@ -18,6 +23,6 @@ translatable: false default_value: { } default_value_callback: '' settings: - link_type: 17 - title: 1 + link_type: 16 + title: 0 field_type: link diff --git a/codebase/config/sync/field.storage.node.field_access_control.yml b/codebase/config/sync/field.storage.node.field_access_terms.yml similarity index 78% rename from codebase/config/sync/field.storage.node.field_access_control.yml rename to codebase/config/sync/field.storage.node.field_access_terms.yml index 54bc2296b..81c8cf424 100644 --- a/codebase/config/sync/field.storage.node.field_access_control.yml +++ b/codebase/config/sync/field.storage.node.field_access_terms.yml @@ -1,4 +1,4 @@ -uuid: 09ebab33-9519-475e-9b30-d031a3de708c +uuid: 5adeb564-8f1d-486f-a890-9323e4c169da langcode: en status: true dependencies: @@ -9,8 +9,8 @@ dependencies: third_party_settings: field_permissions: permission_type: custom -id: node.field_access_control -field_name: field_access_control +id: node.field_access_terms +field_name: field_access_terms entity_type: node type: entity_reference settings: diff --git a/codebase/config/sync/migrate_plus.migration.idc_ingest_new_collection.yml b/codebase/config/sync/migrate_plus.migration.idc_ingest_new_collection.yml index fb7c2e3f1..4a826d122 100644 --- a/codebase/config/sync/migrate_plus.migration.idc_ingest_new_collection.yml +++ b/codebase/config/sync/migrate_plus.migration.idc_ingest_new_collection.yml @@ -78,6 +78,21 @@ process: plugin: migration_lookup migration: idc_ingest_new_collection source: member_of + field_access_terms: + - + plugin: skip_on_empty + method: process + source: access_terms + - + plugin: explode + delimiter: '|' + strict: false + - + plugin: entity_lookup + bundle_key: vid + bundle: islandora_access + entity_type: taxonomy_term + value_key: name field_title_language: plugin: entity_lookup source: title_language diff --git a/codebase/config/sync/migrate_plus.migration.idc_ingest_new_items.yml b/codebase/config/sync/migrate_plus.migration.idc_ingest_new_items.yml index 04728bb0a..5c6d4d820 100644 --- a/codebase/config/sync/migrate_plus.migration.idc_ingest_new_items.yml +++ b/codebase/config/sync/migrate_plus.migration.idc_ingest_new_items.yml @@ -72,6 +72,21 @@ process: bundle: access_rights entity_type: taxonomy_term value_key: name + field_access_terms: + - + plugin: skip_on_empty + method: process + source: access_terms + - + plugin: explode + delimiter: '|' + strict: false + - + plugin: entity_lookup + bundle_key: vid + bundle: islandora_access + entity_type: taxonomy_term + value_key: name field_alternative_title: - plugin: explode diff --git a/codebase/config/sync/migrate_plus.migration.idc_ingest_taxonomy_islandora_accessterms.yml b/codebase/config/sync/migrate_plus.migration.idc_ingest_taxonomy_islandora_accessterms.yml new file mode 100644 index 000000000..ea8634b52 --- /dev/null +++ b/codebase/config/sync/migrate_plus.migration.idc_ingest_taxonomy_islandora_accessterms.yml @@ -0,0 +1,38 @@ +uuid: abe27bf2-82e0-4a30-aa2f-39463059e718 +langcode: en +status: true +dependencies: { } +id: idc_ingest_taxonomy_islandora_accessterms +class: null +field_plugin_method: null +cck_plugin_method: null +migration_tags: null +migration_group: idc_ingest +label: 'Taxonomy: Islandora Access Terms' +source: + plugin: csv + ids: + - local_id + path: 'Will be populated by the Migrate Source UI' + constants: + STATUS: true + ADMIN: 1 + DESC_FORMAT: basic_html +process: + name: name + description/value: description + description/format: + plugin: default_value + default_value: basic_html + status: constants/STATUS + parent: + plugin: entity_lookup + source: parent + entity_type: taxonomy_term + value_key: name + bundle_key: vid + bundle: islandora_access +destination: + plugin: 'entity:taxonomy_term' + default_bundle: islandora_access +migration_dependencies: null diff --git a/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml b/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml index 0eb453e1a..75d2de3fd 100644 --- a/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml +++ b/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml @@ -4,7 +4,7 @@ status: true dependencies: { } _core: default_config_hash: sQg5b6M8H_5jJt0gGa3xqAIh7ny7yU8TdHFwnwmzDdc -name: 'Islandora Access Communites' +name: 'Islandora Access' vid: islandora_access description: 'Terms used to limit, restrict or coordinate access among collections' weight: 1 diff --git a/codebase/config/sync/user.role.collection_level_admin.yml b/codebase/config/sync/user.role.collection_level_admin.yml index 403ae6809..eb9a7a46b 100644 --- a/codebase/config/sync/user.role.collection_level_admin.yml +++ b/codebase/config/sync/user.role.collection_level_admin.yml @@ -19,6 +19,7 @@ permissions: - 'create audio media' - 'create document media' - 'create extracted_text media' + - 'create field_access_control' - 'create field_access_terms' - 'create file media' - 'create fits_technical_metadata media' @@ -47,6 +48,8 @@ permissions: - 'edit any islandora_object content' - 'edit any remote_video media' - 'edit any video media' + - 'edit field_access_control' + - 'edit field_access_terms' - 'edit own audio media' - 'edit own collection_object content' - 'edit own document media' @@ -71,6 +74,7 @@ permissions: - 'edit terms in subject' - 'manage media' - 'manage members' + - 'replace files' - 'restful get oai_pmh' - 'revert collection_object revisions' - 'revert islandora_object revisions' @@ -82,6 +86,7 @@ permissions: - 'view all media revisions' - 'view checksums' - 'view collection_object revisions' + - 'view field_access_control' - 'view field_access_terms' - 'view islandora_object revisions' - 'view own field_access_control' diff --git a/codebase/config/sync/user.role.global_admin.yml b/codebase/config/sync/user.role.global_admin.yml index 622969ade..c2fb798ef 100644 --- a/codebase/config/sync/user.role.global_admin.yml +++ b/codebase/config/sync/user.role.global_admin.yml @@ -11,6 +11,7 @@ permissions: - 'access browse_content entity browser pages' - 'access browse_content_iframe entity browser pages' - 'access content overview' + - 'access files overview' - 'access media overview' - 'access migrate source ui' - 'access site reports' @@ -101,6 +102,7 @@ permissions: - 'edit terms in subject' - 'manage media' - 'manage members' + - 'replace files' - 'restful get oai_pmh' - 'revert collection_object revisions' - 'revert islandora_object revisions' diff --git a/codebase/config/sync/views.view.solr_search_content.yml b/codebase/config/sync/views.view.solr_search_content.yml index cf4ab426a..e0217d37a 100644 --- a/codebase/config/sync/views.view.solr_search_content.yml +++ b/codebase/config/sync/views.view.solr_search_content.yml @@ -4,7 +4,6 @@ status: true dependencies: config: - field.storage.node.field_abstract - - field.storage.node.field_access_control - field.storage.node.field_access_rights - field.storage.node.field_alternative_title - field.storage.node.field_citable_url @@ -5503,119 +5502,6 @@ display: multi_separator: ', ' entity_type: node plugin_id: search_api_field - field_access_control: - id: field_access_control - table: search_api_datasource_default_solr_index_entity_node - field: field_access_control - relationship: none - group_type: group - admin_label: '' - label: '' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: false - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - field_rendering: true - fallback_handler: search_api_entity - fallback_options: - link_to_item: false - use_highlighting: false - multi_type: separator - multi_separator: ', ' - display_methods: - access_rights: - display_method: label - view_mode: default - copyright_and_use: - display_method: label - view_mode: default - corporate_body: - display_method: label - view_mode: default - family: - display_method: label - view_mode: default - genre: - display_method: label - view_mode: default - geo_location: - display_method: label - view_mode: default - islandora_access: - display_method: label - islandora_display: - display_method: label - view_mode: default - islandora_media_use: - display_method: label - view_mode: default - islandora_models: - display_method: label - view_mode: default - language: - display_method: label - view_mode: default - person: - display_method: label - view_mode: default - resource_types: - display_method: label - view_mode: default - subject: - display_method: label - view_mode: default - entity_type: node - plugin_id: search_api_field field_collection_contact_email: id: field_collection_contact_email table: search_api_datasource_default_solr_index_entity_node @@ -5701,7 +5587,6 @@ display: - 'user.node_grants:view' tags: - 'config:field.storage.node.field_abstract' - - 'config:field.storage.node.field_access_control' - 'config:field.storage.node.field_access_rights' - 'config:field.storage.node.field_alternative_title' - 'config:field.storage.node.field_citable_url' diff --git a/codebase/config/sync/views.view.workbench_current_user.yml b/codebase/config/sync/views.view.workbench_current_user.yml index 2e850235f..4519bceb5 100644 --- a/codebase/config/sync/views.view.workbench_current_user.yml +++ b/codebase/config/sync/views.view.workbench_current_user.yml @@ -25,7 +25,7 @@ display: options: perm: 'access user profiles' cache: - type: tag + type: none options: { } query: type: views_query diff --git a/codebase/config/sync/views.view.workbench_edited.yml b/codebase/config/sync/views.view.workbench_edited.yml index b49f1acf7..a1ab941bc 100644 --- a/codebase/config/sync/views.view.workbench_edited.yml +++ b/codebase/config/sync/views.view.workbench_edited.yml @@ -26,7 +26,7 @@ display: options: perm: 'access workbench' cache: - type: tag + type: none options: { } query: type: views_query diff --git a/codebase/config/sync/views.view.workbench_recent_content.yml b/codebase/config/sync/views.view.workbench_recent_content.yml index 266868e3d..2ec653592 100644 --- a/codebase/config/sync/views.view.workbench_recent_content.yml +++ b/codebase/config/sync/views.view.workbench_recent_content.yml @@ -3,7 +3,6 @@ langcode: en status: true dependencies: config: - - field.storage.node.field_access_control - field.storage.node.field_member_of module: - node @@ -29,7 +28,7 @@ display: options: perm: 'access workbench' cache: - type: tag + type: none options: { } query: type: views_query @@ -1284,69 +1283,6 @@ display: text: edit entity_type: node plugin_id: entity_link_edit - field_access_control: - id: field_access_control - table: node__field_access_control - field: field_access_control - relationship: none - group_type: group - admin_label: '' - label: 'Access Control' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - plugin_id: field link_display: /admin/workbench/content/all header: area: @@ -1372,7 +1308,6 @@ display: - 'user.node_grants:view' - user.permissions tags: - - 'config:field.storage.node.field_access_control' - 'config:field.storage.node.field_member_of' embed_1: display_plugin: embed diff --git a/codebase/config/sync/workbench.settings.yml b/codebase/config/sync/workbench.settings.yml index 49b7f0e48..559d5dfef 100644 --- a/codebase/config/sync/workbench.settings.yml +++ b/codebase/config/sync/workbench.settings.yml @@ -1,6 +1,6 @@ overview_left: 'workbench_edited:block_1' overview_right: 'workbench_current_user:block_1' -overview_main: 'workbench_recent_content:embed_1' +overview_main: 'workbench_recent_content:block_1' edits_main: 'workbench_edited:embed_1' all_main: 'workbench_recent_content:embed_1' _core: diff --git a/codebase/config/sync/workbench_access.access_scheme.collection.yml b/codebase/config/sync/workbench_access.access_scheme.collection.yml index 775d0ee6b..9fdb7b97d 100644 --- a/codebase/config/sync/workbench_access.access_scheme.collection.yml +++ b/codebase/config/sync/workbench_access.access_scheme.collection.yml @@ -10,8 +10,8 @@ dependencies: - field.field.media.image.field_access_terms - field.field.media.remote_video.field_access_terms - field.field.media.video.field_access_terms - - field.field.node.collection_object.field_access_control - - field.field.node.islandora_object.field_access_control + - field.field.node.collection_object.field_access_terms + - field.field.node.islandora_object.field_access_terms - taxonomy.vocabulary.islandora_access id: collection label: Communities @@ -43,17 +43,17 @@ scheme_settings: field: field_access_terms - entity_type: media - bundle: extracted_text + bundle: remote_video field: field_access_terms - entity_type: media - bundle: remote_video + bundle: extracted_text field: field_access_terms - entity_type: node bundle: collection_object - field: field_access_control + field: field_access_terms - entity_type: node bundle: islandora_object - field: field_access_control + field: field_access_terms diff --git a/tests/10-migration-backend-tests/testcafe/migrate_tests.spec.js b/tests/10-migration-backend-tests/testcafe/migrate_tests.spec.js index 5811a9870..94bc1dbfc 100644 --- a/tests/10-migration-backend-tests/testcafe/migrate_tests.spec.js +++ b/tests/10-migration-backend-tests/testcafe/migrate_tests.spec.js @@ -15,6 +15,7 @@ const migrate_copyrightanduse_taxonomy = 'idc_ingest_taxonomy_copyrightanduse'; const migrate_family_taxonomy = 'idc_ingest_taxonomy_family'; const migrate_genre_taxonomy = 'idc_ingest_taxonomy_genre'; const migrate_geolocation_taxonomy = 'idc_ingest_taxonomy_geolocation'; +const migrate_islandora_accessterms_taxonomy = 'idc_ingest_taxonomy_islandora_accessterms'; const migrate_language_taxonomy = 'idc_ingest_taxonomy_language'; const migrate_new_items = 'idc_ingest_new_items'; const migrate_new_collection = 'idc_ingest_new_collection'; @@ -97,6 +98,20 @@ test('Perform Access Rights Taxonomy Migration', async t => { }); +test('Perform Islandora Access Terms Taxonomy Migration', async t => { + + await t + .click(selectMigration) + .click(migrationOptions.withAttribute('value', migrate_islandora_accessterms_taxonomy)); + + await t + .setFilesToUpload('#edit-source-file', [ + './migrations/accessterms.csv' + ]) + .click('#edit-import'); + +}); + test('Perform Copyright and Use Taxonomy Migration', async t => { await t diff --git a/tests/10-migration-backend-tests/testcafe/migrations/accessterms.csv b/tests/10-migration-backend-tests/testcafe/migrations/accessterms.csv new file mode 100644 index 000000000..4df8a6a03 --- /dev/null +++ b/tests/10-migration-backend-tests/testcafe/migrations/accessterms.csv @@ -0,0 +1,8 @@ +local_id,name,parent,description +accesscontrol_01,Archives and Special Collections,,"

Collections from the archives

", +accesscontrol_02,Collection A,Archives and Special Collections,"

For items in Collection A

", +accesscontrol_03,Collection B,Collection A,, +accesscontrol_04,Collection C,Collection A,, +accesscontrol_05,Collection D,Archives and Special Collections,, +accesscontrol_06,Collection E,Collection D,, +accesscontrol_07,Parent Collection,,, diff --git a/tests/10-migration-backend-tests/testcafe/migrations/collection-01.csv b/tests/10-migration-backend-tests/testcafe/migrations/collection-01.csv index b517c3ca7..cbf62980a 100644 --- a/tests/10-migration-backend-tests/testcafe/migrations/collection-01.csv +++ b/tests/10-migration-backend-tests/testcafe/migrations/collection-01.csv @@ -1,3 +1,3 @@ -local_id,title,title_language,alternative_title,member_of,contact_email,contact_name,collection_number,description,finding_aid -collection-01,Parent Collection,,,,,,,, -collection-02,Test Collection One,eng,Titre alternatif pour Test Collection One;fre|Alternate Title for Test Collection One;eng,,emetsger@gmail.com,Elliot Metsger,1|2,This is a description for Test Collection One;eng|Esta es una descripción de la colección de pruebas uno;spa,http://wikipedia.org +local_id,title,title_language,alternative_title,member_of,access_terms,contact_email,contact_name,collection_number,description,finding_aid +collection-01,Parent Collection,,,,Parent Collection,,,,,, +collection-02,Test Collection One,eng,Titre alternatif pour Test Collection One;fre|Alternate Title for Test Collection One;eng,,Parent Collection,emetsger@gmail.com,Elliot Metsger,1|2,This is a description for Test Collection One;eng|Esta es una descripción de la colección de pruebas uno;spa,http://wikipedia.org diff --git a/tests/10-migration-backend-tests/testcafe/migrations/collection-02.csv b/tests/10-migration-backend-tests/testcafe/migrations/collection-02.csv index 0a443ac6b..b1807166d 100644 --- a/tests/10-migration-backend-tests/testcafe/migrations/collection-02.csv +++ b/tests/10-migration-backend-tests/testcafe/migrations/collection-02.csv @@ -1,3 +1,3 @@ -local_id,title,title_language,alternative_title,member_of,contact_email,contact_name,collection_number,description,finding_aid -collection-01,Parent Collection,,,,,,,, -collection-02,Test Collection One,eng,Titre alternatif pour Test Collection One;fre|Alternate Title for Test Collection One;eng,collection-01,emetsger@gmail.com,Elliot Metsger,1|2,This is a description for Test Collection One;eng|Esta es una descripción de la colección de pruebas uno;spa,http://wikipedia.org +local_id,title,title_language,alternative_title,member_of,access_terms,contact_email,contact_name,collection_number,description,finding_aid +collection-01,Parent Collection,,,,Parent Collection,,,,,, +collection-02,Test Collection One,eng,Titre alternatif pour Test Collection One;fre|Alternate Title for Test Collection One;eng,collection-01,Parent Collection,emetsger@gmail.com,Elliot Metsger,1|2,This is a description for Test Collection One;eng|Esta es una descripción de la colección de pruebas uno;spa,http://wikipedia.org diff --git a/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-accessterms.csv b/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-accessterms.csv new file mode 100644 index 000000000..91549c7ea --- /dev/null +++ b/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-accessterms.csv @@ -0,0 +1,4 @@ +local_id,name,parent,description +io-accesscontrol_01,Images Collection,,, +io-accesscontrol_02,Ansel Adams,Images Collection,, + diff --git a/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-collections.csv b/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-collections.csv index cc1212ade..5c70c4078 100644 --- a/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-collections.csv +++ b/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-collections.csv @@ -1,3 +1,3 @@ -local_id,title,title_language,alternative_title,member_of,contact_email,contact_name,collection_number,description,finding_aid -io-collection-01,Images Collection,eng,,,,,,Collections of images;eng, -io-collection-02,Ansel Adams,eng,,,,,,Collection of Ansel Adams images;eng, +local_id,title,title_language,alternative_title,member_of,access_terms,contact_email,contact_name,collection_number,description,finding_aid +io-collection-01,Images Collection,eng,,,Images Collection,,,,Collections of images;eng, +io-collection-02,Ansel Adams,eng,,,Ansel Adams,,,,Collection of Ansel Adams images;eng, diff --git a/tests/10-migration-backend-tests/testcafe/migrations/islandora_object.csv b/tests/10-migration-backend-tests/testcafe/migrations/islandora_object.csv index 29e944aaa..d3d533f03 100644 --- a/tests/10-migration-backend-tests/testcafe/migrations/islandora_object.csv +++ b/tests/10-migration-backend-tests/testcafe/migrations/islandora_object.csv @@ -1,2 +1,2 @@ local_id,title,abstract,access_rights,access_terms,alt_title,collection_number,contributor,copyright,copyright_holder,creator,date_available,date_copyrighted,date_created,date_published,description,digital_identifier,digital_publisher,display_hints,dspace_identifier,dspace_itemid,extent,finding_aid,genre,geoportal_link,issn,is_part_of,item_barcode,jhir_uri,language,library_catalog_link,member_of,model,oclc_number,publisher,publisher_country,resource_type,spatial_coverage,subject,table_of_contents,title_language,years -io_01,Sample Repository Item,Sample Repository Item Abstract in English;eng|日本語のサンプルリポジトリアイテムの要約;jpn,Public digital access|Public Domain,,Sample Repository Item Alternate Title;eng|Пример альтернативного названия элемента репозитория на русском языке;rus,1|2,"relators:art;Adams, Islandora Object Ansel Easton, 1902-1984|relators:pht;Adams, Islandora Object Ansel Easton, 1902-1984",Copyright Undetermined,"Weston, Islandora Object Edward, 1886-1958|Adams, Islandora Object Ansel Easton, 1902-1984","relators:art;Adams, Islandora Object Ansel Easton, 1902-1984|relators:pht;Weston, Islandora Object Edward, 1886-1958",2020-01-01,2010-01-01|1941-11,1941-11-01|1941-11,1943|1944,Sample Repository Item Description in English;eng|सैंपल रिपोजिटरी आइटम का विवरण हिंदी मे;hin,a digital identifier one|a digital identifier two,Ansel Adams Publishing Rights Trust|Johns Hopkins Sheridan Libraries,Open Seadragon,http://jscholarship.library.jhu.edu,DSpace Item ID,1 item|one image file,http://www.google.com,Analog|Nature,http://catalyst.library.jhu.edu,12345678,https://en.wikipedia.org/wiki/San_Rafael_Reef,123456,http://jhir.jhu.edu,English|German,http://catalog.library.jhu.edu,io-collection-01|io-collection-02,Image,oclc_one|oclc_two,Ansel Adams Publishing Rights Trust|Johns Hopkins Sheridan Libraries,Mountain Light Gallery|Nevada,Dataset|Image,"Hernandez, NM|San Rafael Reef, UT",Analog Islandora Object Photography|General Islandora Object Photography,Table of Contents in English;eng|Inhaltsverzeichnis in deutscher Sprache;ger,English,1941|1943 \ No newline at end of file +io_01,Sample Repository Item,Sample Repository Item Abstract in English;eng|日本語のサンプルリポジトリアイテムの要約;jpn,Public digital access|Public Domain,Images Collection|Ansel Adams,Sample Repository Item Alternate Title;eng|Пример альтернативного названия элемента репозитория на русском языке;rus,1|2,"relators:art;Adams, Islandora Object Ansel Easton, 1902-1984|relators:pht;Adams, Islandora Object Ansel Easton, 1902-1984",Copyright Undetermined,"Weston, Islandora Object Edward, 1886-1958|Adams, Islandora Object Ansel Easton, 1902-1984","relators:art;Adams, Islandora Object Ansel Easton, 1902-1984|relators:pht;Weston, Islandora Object Edward, 1886-1958",2020-01-01,2010-01-01|1941-11,1941-11-01|1941-11,1943|1944,Sample Repository Item Description in English;eng|सैंपल रिपोजिटरी आइटम का विवरण हिंदी मे;hin,a digital identifier one|a digital identifier two,Ansel Adams Publishing Rights Trust|Johns Hopkins Sheridan Libraries,Open Seadragon,http://jscholarship.library.jhu.edu,DSpace Item ID,1 item|one image file,http://www.google.com,Analog|Nature,http://catalyst.library.jhu.edu,12345678,https://en.wikipedia.org/wiki/San_Rafael_Reef,123456,http://jhir.jhu.edu,English|German,http://catalog.library.jhu.edu,io-collection-01|io-collection-02,Image,oclc_one|oclc_two,Ansel Adams Publishing Rights Trust|Johns Hopkins Sheridan Libraries,Mountain Light Gallery|Nevada,Dataset|Image,"Hernandez, NM|San Rafael Reef, UT",Analog Islandora Object Photography|General Islandora Object Photography,Table of Contents in English;eng|Inhaltsverzeichnis in deutscher Sprache;ger,English,1941|1943 diff --git a/tests/10-migration-backend-tests/verification/expected/collection-01.json b/tests/10-migration-backend-tests/verification/expected/collection-01.json index ef6c7c7fa..bad964a32 100644 --- a/tests/10-migration-backend-tests/verification/expected/collection-01.json +++ b/tests/10-migration-backend-tests/verification/expected/collection-01.json @@ -31,7 +31,10 @@ "member_of": [ "Parent Collection" ], - "finding_aid": + "access_terms": [ + "Parent Collection" + ], + "finding_aid": { "uri": "http://wikipedia.org", "title": "Wikipedia" diff --git a/tests/10-migration-backend-tests/verification/expected/collection-02.json b/tests/10-migration-backend-tests/verification/expected/collection-02.json index 0f1a1d5ae..67b55fdfc 100644 --- a/tests/10-migration-backend-tests/verification/expected/collection-02.json +++ b/tests/10-migration-backend-tests/verification/expected/collection-02.json @@ -1,5 +1,8 @@ { "type": "node", "bundle": "collection_object", - "title": "Parent Collection" + "title": "Parent Collection", + "access_terms": [ + "Parent Collection" + ] } diff --git a/tests/10-migration-backend-tests/verification/expected/item-01.json b/tests/10-migration-backend-tests/verification/expected/item-01.json index ebb70292e..ab8b37787 100644 --- a/tests/10-migration-backend-tests/verification/expected/item-01.json +++ b/tests/10-migration-backend-tests/verification/expected/item-01.json @@ -112,6 +112,10 @@ "Images Collection", "Ansel Adams" ], + "access_terms": [ + "Images Collection", + "Ansel Adams" + ], "model": { "name": "Image", "external_uri": "http://purl.org/coar/resource_type/c_c513" diff --git a/tests/10-migration-backend-tests/verification/expected/taxonomy-accessterms-01.json b/tests/10-migration-backend-tests/verification/expected/taxonomy-accessterms-01.json new file mode 100644 index 000000000..7525762aa --- /dev/null +++ b/tests/10-migration-backend-tests/verification/expected/taxonomy-accessterms-01.json @@ -0,0 +1,10 @@ +{ + "type": "taxonomy_term", + "bundle": "islandora_access", + "name": "Archives and Special Collections", + "description": { + "value": "

Collections from the archives

", + "format": "basic_html", + "processed": "

Collections from the archives

" + } +} diff --git a/tests/10-migration-backend-tests/verification/expected/taxonomy-accessterms-02.json b/tests/10-migration-backend-tests/verification/expected/taxonomy-accessterms-02.json new file mode 100644 index 000000000..ef68ca203 --- /dev/null +++ b/tests/10-migration-backend-tests/verification/expected/taxonomy-accessterms-02.json @@ -0,0 +1,13 @@ +{ + "type": "taxonomy_term", + "bundle": "islandora_access", + "name": "Collection A", + "parent": [ + "Archives and Special Collections" + ], + "description": { + "value": "

For items in Collection A

", + "format": "basic_html", + "processed": "

For items in Collection A

" + } +} diff --git a/tests/10-migration-backend-tests/verification/expected_json_types_test.go b/tests/10-migration-backend-tests/verification/expected_json_types_test.go index 96c80a2ec..8678f3d46 100644 --- a/tests/10-migration-backend-tests/verification/expected_json_types_test.go +++ b/tests/10-migration-backend-tests/verification/expected_json_types_test.go @@ -76,7 +76,8 @@ type ExpectedRepoObj struct { Extent []string FindingAid string `json:"finding_aid"` Genre []string - GeoportalLink string `json:"geoportal_link"` + GeoportalLink string `json:"geoportal_link"` + AccessTerms []string `json:"access_terms"` Issn string IsPartOf string `json:"is_part_of"` ItemBarcode string `json:"item_barcode"` @@ -122,6 +123,19 @@ type ExpectedAccessRights struct { } } +// Represents the expected results of a migrated Islandora Access Terms taxonomy term +type ExpectedIslandoraAccessTerms struct { + Type string + Bundle string + Name string + Parent []string `json:"parent"` + Description struct { + Value string + Format string + Processed string + } +} + // Represents the expected results of a migrated Copyright and Use taxonomy term type ExpectedCopyrightAndUse struct { Type string @@ -269,6 +283,7 @@ type ExpectedCollection struct { ContactName string `json:"contact_name"` CollectionNumber []string `json:"collection_number"` MemberOf []string `json:"member_of"` + AccessTerms []string `json:"access_terms"` FindingAid struct { Uri string Title string diff --git a/tests/10-migration-backend-tests/verification/jsonapi_types_test.go b/tests/10-migration-backend-tests/verification/jsonapi_types_test.go index 399f24fe6..683129b19 100644 --- a/tests/10-migration-backend-tests/verification/jsonapi_types_test.go +++ b/tests/10-migration-backend-tests/verification/jsonapi_types_test.go @@ -4,11 +4,12 @@ import ( "encoding/json" "errors" "fmt" - "github.com/stretchr/testify/assert" "log" "net/url" "strings" "testing" + + "github.com/stretchr/testify/assert" ) // Encapsulates the relevant components of a URL which executes a JSON API request against Drupal @@ -176,6 +177,27 @@ type JsonApiAccessRights struct { } `json:"data"` } +// Represents the results of a JSONAPI query for a single Islandora Access Taxonomy Term +type JsonApiIslandoraAccessTerms struct { + JsonApiData []struct { + Type DrupalType + Id string + JsonApiAttributes struct { + Name string + Description struct { + Value string + Format string + Processed string + } + } `json:"attributes"` + JsonApiRelationships struct { + AccessTerms struct { + Data []JsonApiData + } `json:"parent"` + } `json:"relationships"` + } `json:"data"` +} + // Represents the results of a JSONAPI query for a single Copyright and Use Taxonomy Term type JsonApiCopyrightAndUse struct { JsonApiData []struct { @@ -268,10 +290,11 @@ type JsonApiCollection struct { Description struct { Data []JsonApiLanguageValue } `json:"field_description"` + AccessTerms struct { + Data []JsonApiData + } `json:"field_access_terms"` MemberOf struct { - Data []struct { - JsonApiData - } + Data []JsonApiData } `json:"field_member_of"` } `json:"relationships"` } `json:"data"` @@ -328,7 +351,6 @@ type JsonApiIslandoraObj struct { AccessRights struct { Data []JsonApiData } `json:"field_access_rights"` - // TODO AccessTerms struct { Data []JsonApiData } `json:"field_access_terms"` diff --git a/tests/10-migration-backend-tests/verification/verify_migrations_test.go b/tests/10-migration-backend-tests/verification/verify_migrations_test.go index 3c37d399d..7c2a5a5e2 100644 --- a/tests/10-migration-backend-tests/verification/verify_migrations_test.go +++ b/tests/10-migration-backend-tests/verification/verify_migrations_test.go @@ -5,8 +5,6 @@ import ( "encoding/json" "errors" "fmt" - . "github.com/logrusorgru/aurora/v3" - "github.com/stretchr/testify/assert" "io" "io/ioutil" "log" @@ -15,6 +13,9 @@ import ( "path/filepath" "strings" "testing" + + . "github.com/logrusorgru/aurora/v3" + "github.com/stretchr/testify/assert" ) const ( @@ -167,6 +168,104 @@ func Test_VerifyTaxonomyTermAccessRights(t *testing.T) { } } +// Verifies that the Islandora Access Terms migrated by testcafe accessterms.csv +// match the expected fields and values present in taxonomy-person-01.json +// This is testing a term with no parent +func Test_VerifyTaxonomyTermIslandoraAccessTerms_Term1(t *testing.T) { + verifyTaxonomyTermIslandoraAccessTerms(t, "taxonomy-accessterms-01.json") +} + +// Verifies that the Islandora Access Terms migrated by testcafe accessterms.csv +// match the expected fields and values present in taxonomy-person-02.json +// This is testing a term with a parent +func Test_VerifyTaxonomyTermIslandoraAccessTerms_Term2(t *testing.T) { + verifyTaxonomyTermIslandoraAccessTerms(t, "taxonomy-accessterms-02.json") +} + +func verifyTaxonomyTermIslandoraAccessTerms(t *testing.T, fileName string) { + expectedJson := ExpectedIslandoraAccessTerms{} + + unmarshalJson(t, fileName, &expectedJson) + + // sanity check the expected json + assert.Equal(t, "taxonomy_term", expectedJson.Type) + assert.Equal(t, "islandora_access", expectedJson.Bundle) + + u := &JsonApiUrl{ + t: t, + baseUrl: DrupalBaseurl, + drupalEntity: expectedJson.Type, + drupalBundle: expectedJson.Bundle, + filter: "name", + value: expectedJson.Name, + } + + // retrieve json of the migrated entity from the jsonapi and unmarshal the single response + accessTermsRes := &JsonApiIslandoraAccessTerms{} + u.get(accessTermsRes) + + actual := accessTermsRes.JsonApiData[0] + assert.Equal(t, expectedJson.Type, actual.Type.entity()) + assert.Equal(t, expectedJson.Bundle, actual.Type.bundle()) + assert.Equal(t, expectedJson.Name, actual.JsonApiAttributes.Name) + assert.Equal(t, expectedJson.Description.Format, actual.JsonApiAttributes.Description.Format) + assert.Equal(t, expectedJson.Description.Value, actual.JsonApiAttributes.Description.Value) + assert.Equal(t, expectedJson.Description.Processed, actual.JsonApiAttributes.Description.Processed) + + // one test doesn't have a parent. + if len(expectedJson.Parent) != 0 { + u.value = expectedJson.Parent[0] + + // retrieve json of the resolved entity from the jsonapi + accessTermsRes = &JsonApiIslandoraAccessTerms{} + u.get(accessTermsRes) + relParent := accessTermsRes.JsonApiData[0] + + // sanity + assert.Equal(t, relParent.Type.bundle(), "islandora_access") + assert.Equal(t, relParent.Type.entity(), "taxonomy_term") + + // test + assert.Equal(t, expectedJson.Parent[0], relParent.JsonApiAttributes.Name) + } +} + +func Test_VerifyTaxonomyTermResourceType(t *testing.T) { + expectedJson := ExpectedResourceType{} + unmarshalJson(t, "taxonomy-resourcetypes.json", &expectedJson) + + // sanity check the expected json + assert.Equal(t, "taxonomy_term", expectedJson.Type) + assert.Equal(t, "resource_types", expectedJson.Bundle) + + u := &JsonApiUrl{ + t: t, + baseUrl: DrupalBaseurl, + drupalEntity: expectedJson.Type, + drupalBundle: expectedJson.Bundle, + filter: "name", + value: expectedJson.Name, + } + + // retrieve json of the migrated entity from the jsonapi and unmarshal the single response + res := &JsonApiResourceType{} + u.get(res) + + actual := res.JsonApiData[0] + assert.Equal(t, expectedJson.Type, actual.Type.entity()) + assert.Equal(t, expectedJson.Bundle, actual.Type.bundle()) + assert.Equal(t, expectedJson.Name, actual.JsonApiAttributes.Name) + assert.Equal(t, expectedJson.Description.Format, actual.JsonApiAttributes.Description.Format) + assert.Equal(t, expectedJson.Description.Value, actual.JsonApiAttributes.Description.Value) + assert.Equal(t, expectedJson.Description.Processed, actual.JsonApiAttributes.Description.Processed) + assert.Equal(t, len(expectedJson.Authority), len(actual.JsonApiAttributes.Authority)) + assert.Equal(t, 2, len(actual.JsonApiAttributes.Authority)) + for i, v := range actual.JsonApiAttributes.Authority { + assert.Equal(t, expectedJson.Authority[i].Source, v.Source) + assert.Equal(t, expectedJson.Authority[i].Uri, v.Uri) + } +} + func Test_VerifyTaxonomyCopyrightAndUse(t *testing.T) { expectedJson := ExpectedCopyrightAndUse{} unmarshalJson(t, "taxonomy-copyrightanduse.json", &expectedJson) @@ -349,42 +448,6 @@ func Test_VerifyTaxonomyTermGeolocation(t *testing.T) { } } -func Test_VerifyTaxonomyTermResourceType(t *testing.T) { - expectedJson := ExpectedAccessRights{} - unmarshalJson(t, "taxonomy-resourcetypes.json", &expectedJson) - - // sanity check the expected json - assert.Equal(t, "taxonomy_term", expectedJson.Type) - assert.Equal(t, "resource_types", expectedJson.Bundle) - - u := &JsonApiUrl{ - t: t, - baseUrl: DrupalBaseurl, - drupalEntity: expectedJson.Type, - drupalBundle: expectedJson.Bundle, - filter: "name", - value: expectedJson.Name, - } - - // retrieve json of the migrated entity from the jsonapi and unmarshal the single response - res := &JsonApiResourceType{} - u.getSingle(res) - - actual := res.JsonApiData[0] - assert.Equal(t, expectedJson.Type, actual.Type.entity()) - assert.Equal(t, expectedJson.Bundle, actual.Type.bundle()) - assert.Equal(t, expectedJson.Name, actual.JsonApiAttributes.Name) - assert.Equal(t, expectedJson.Description.Format, actual.JsonApiAttributes.Description.Format) - assert.Equal(t, expectedJson.Description.Value, actual.JsonApiAttributes.Description.Value) - assert.Equal(t, expectedJson.Description.Processed, actual.JsonApiAttributes.Description.Processed) - assert.Equal(t, len(expectedJson.Authority), len(actual.JsonApiAttributes.Authority)) - assert.Equal(t, 2, len(actual.JsonApiAttributes.Authority)) - for i, v := range actual.JsonApiAttributes.Authority { - assert.Equal(t, expectedJson.Authority[i].Source, v.Source) - assert.Equal(t, expectedJson.Authority[i].Uri, v.Uri) - } -} - func Test_VerifyTaxonomySubject(t *testing.T) { expectedJson := ExpectedSubject{} unmarshalJson(t, "taxonomy-subject.json", &expectedJson) @@ -559,12 +622,14 @@ func Test_VerifyCollection(t *testing.T) { relData := res.JsonApiData[0].JsonApiRelationships + strB, _ := json.Marshal(relData) + log.Println(string(strB)) + // Resolve and verify title language assert.NotNil(t, relData.TitleLanguage.Data) assert.Equal(t, "taxonomy_term", relData.TitleLanguage.Data.Type.entity()) assert.Equal(t, "language", relData.TitleLanguage.Data.Type.bundle()) assert.Equal(t, expectedJson.TitleLangCode, relData.TitleLanguage.Data.langCode(t)) - // Resolve and verify alternate title values and languages assert.NotNil(t, relData.AltTitle.Data) assert.Equal(t, 2, len(relData.AltTitle.Data)) @@ -607,7 +672,28 @@ func Test_VerifyCollection(t *testing.T) { u.getSingle(&memberCol) assert.Equal(t, expectedJson.MemberOf[i], memberCol.JsonApiData[0].JsonApiAttributes.Title) + } + // Resolve and verify access_terms values + assert.NotNil(t, relData.AccessTerms) + assert.Equal(t, 1, len(relData.AccessTerms.Data)) + assert.Equal(t, len(expectedJson.AccessTerms), len(relData.AccessTerms.Data)) + for i, accessTermsData := range relData.AccessTerms.Data { + assert.Equal(t, "taxonomy_term", accessTermsData.Type.entity()) + assert.Equal(t, "islandora_access", accessTermsData.Type.bundle()) + + u = &JsonApiUrl{ + t: t, + baseUrl: DrupalBaseurl, + drupalEntity: accessTermsData.Type.entity(), + drupalBundle: accessTermsData.Type.bundle(), + filter: "id", + value: accessTermsData.Id, + } + accessTerm := JsonApiIslandoraAccessTerms{} + u.get(&accessTerm) + + assert.Equal(t, expectedJson.AccessTerms[i], accessTerm.JsonApiData[0].JsonApiAttributes.Name) } } @@ -720,6 +806,15 @@ func Test_VerifyRepositoryItem(t *testing.T) { assert.Equal(t, expectedJson.AccessRights[i], expectedAccessRights.JsonApiData[0].JsonApiAttributes.Name) } + // Access Terms + assert.Equal(t, 2, len(expectedJson.AccessTerms)) + assert.Equal(t, len(expectedJson.AccessTerms), len(relData.AccessTerms.Data)) + for i := range relData.AccessTerms.Data { + expectedAccessTerms := &JsonApiIslandoraAccessTerms{} + relData.AccessTerms.Data[i].resolve(t, expectedAccessTerms) + assert.Equal(t, expectedJson.AccessTerms[i], expectedAccessTerms.JsonApiData[0].JsonApiAttributes.Name) + } + // Alt title assert.Equal(t, 2, len(expectedJson.AltTitle)) assert.Equal(t, len(expectedJson.AltTitle), len(relData.AltTitle.Data)) From 7fc8696a4d0135a911743dec1750e297d5b15ddb Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Mon, 5 Apr 2021 16:03:38 -0400 Subject: [PATCH 08/22] Fixed the migration tests. Minor tweaks to other things. --- ...eld.node.collection_object.field_model.yml | 20 +- ...ield.node.islandora_object.field_model.yml | 6 + .../search_api.index.default_solr_index.yml | 13 +- codebase/config/sync/user.role.anonymous.yml | 4 + .../config/sync/user.role.authenticated.yml | 4 + .../sync/user.role.collection_level_admin.yml | 3 + .../config/sync/user.role.global_admin.yml | 3 + .../views.view.collection_object_models.yml | 252 ++++++++++++++++++ .../testcafe/migrate_tests.spec.js | 11 + .../verification/verify_migrations_test.go | 31 +-- 10 files changed, 319 insertions(+), 28 deletions(-) create mode 100644 codebase/config/sync/views.view.collection_object_models.yml diff --git a/codebase/config/sync/field.field.node.collection_object.field_model.yml b/codebase/config/sync/field.field.node.collection_object.field_model.yml index 04896d54b..f6cd6f5d4 100644 --- a/codebase/config/sync/field.field.node.collection_object.field_model.yml +++ b/codebase/config/sync/field.field.node.collection_object.field_model.yml @@ -5,9 +5,14 @@ dependencies: config: - field.storage.node.field_model - node.type.collection_object - - taxonomy.vocabulary.islandora_models content: - 'taxonomy_term:islandora_models:e9ee0e3a-791b-4888-8ace-3c1529380dd1' + module: + - epp +third_party_settings: + epp: + value: '' + on_update: 1 id: node.collection_object.field_model field_name: field_model entity_type: node @@ -21,13 +26,10 @@ default_value: target_uuid: e9ee0e3a-791b-4888-8ace-3c1529380dd1 default_value_callback: '' settings: - handler: 'default:taxonomy_term' + handler: views handler_settings: - target_bundles: - islandora_models: islandora_models - sort: - field: name - direction: asc - auto_create: false - auto_create_bundle: '' + view: + view_name: collection_object_models + display_name: entity_reference_1 + arguments: { } field_type: entity_reference diff --git a/codebase/config/sync/field.field.node.islandora_object.field_model.yml b/codebase/config/sync/field.field.node.islandora_object.field_model.yml index 02700d3eb..46ac449f7 100644 --- a/codebase/config/sync/field.field.node.islandora_object.field_model.yml +++ b/codebase/config/sync/field.field.node.islandora_object.field_model.yml @@ -8,6 +8,12 @@ dependencies: enforced: module: - islandora_defaults + module: + - epp +third_party_settings: + epp: + value: '' + on_update: 1 _core: default_config_hash: T8b37Vjp-fwzxYT0ebD4CZEIvVM1NmZkK2bStnHYskw id: node.islandora_object.field_model diff --git a/codebase/config/sync/search_api.index.default_solr_index.yml b/codebase/config/sync/search_api.index.default_solr_index.yml index 9685b9c21..65a38fa1b 100644 --- a/codebase/config/sync/search_api.index.default_solr_index.yml +++ b/codebase/config/sync/search_api.index.default_solr_index.yml @@ -11,10 +11,11 @@ dependencies: - content_translation - search_api config: - - field.storage.node.body - field.storage.node.field_abstract - field.storage.node.field_access_rights + - field.storage.node.field_access_terms - field.storage.node.field_alternative_title + - field.storage.node.body - field.storage.node.field_citable_url - field.storage.node.field_collection_contact_name - field.storage.node.field_collection_number @@ -34,7 +35,6 @@ dependencies: - field.storage.node.field_featured_item - field.storage.node.field_finding_aid - field.storage.node.field_genre - - field.storage.taxonomy_term.field_geo_alt_name - field.storage.node.field_geoportal_link - field.storage.node.field_image - field.storage.node.field_is_part_of @@ -54,6 +54,7 @@ dependencies: - field.storage.node.field_table_of_contents - field.storage.node.field_tags - field.storage.node.field_years + - field.storage.taxonomy_term.field_geo_alt_name - search_api.server.default_solr_server - core.entity_view_mode.node.search_index third_party_settings: @@ -184,6 +185,14 @@ field_settings: dependencies: config: - field.storage.node.field_access_rights + field_access_terms: + label: 'Access Terms' + datasource_id: 'entity:node' + property_path: field_access_terms + type: integer + dependencies: + config: + - field.storage.node.field_access_terms field_alternative_title: label: 'Alternative Title' datasource_id: 'entity:node' diff --git a/codebase/config/sync/user.role.anonymous.yml b/codebase/config/sync/user.role.anonymous.yml index 43d3f2e85..94a17e7cf 100644 --- a/codebase/config/sync/user.role.anonymous.yml +++ b/codebase/config/sync/user.role.anonymous.yml @@ -14,6 +14,10 @@ permissions: - 'restful get oai_pmh' - 'search content' - 'use text format restricted_html' + - 'view field_access_terms' - 'view field_citable_url' + - 'view field_model' - 'view media' + - 'view own field_access_terms' - 'view own field_citable_url' + - 'view own field_model' diff --git a/codebase/config/sync/user.role.authenticated.yml b/codebase/config/sync/user.role.authenticated.yml index 321e182ca..d3b0671a9 100644 --- a/codebase/config/sync/user.role.authenticated.yml +++ b/codebase/config/sync/user.role.authenticated.yml @@ -16,6 +16,10 @@ permissions: - 'restful get oai_pmh' - 'search content' - 'use text format basic_html' + - 'view field_access_terms' - 'view field_citable_url' + - 'view field_model' - 'view media' + - 'view own field_access_terms' - 'view own field_citable_url' + - 'view own field_model' diff --git a/codebase/config/sync/user.role.collection_level_admin.yml b/codebase/config/sync/user.role.collection_level_admin.yml index eb9a7a46b..e836c413f 100644 --- a/codebase/config/sync/user.role.collection_level_admin.yml +++ b/codebase/config/sync/user.role.collection_level_admin.yml @@ -21,6 +21,7 @@ permissions: - 'create extracted_text media' - 'create field_access_control' - 'create field_access_terms' + - 'create field_model' - 'create file media' - 'create fits_technical_metadata media' - 'create image media' @@ -50,12 +51,14 @@ permissions: - 'edit any video media' - 'edit field_access_control' - 'edit field_access_terms' + - 'edit field_model' - 'edit own audio media' - 'edit own collection_object content' - 'edit own document media' - 'edit own extracted_text media' - 'edit own field_access_control' - 'edit own field_access_terms' + - 'edit own field_model' - 'edit own file media' - 'edit own fits_technical_metadata media' - 'edit own image media' diff --git a/codebase/config/sync/user.role.global_admin.yml b/codebase/config/sync/user.role.global_admin.yml index c2fb798ef..8c483b7fc 100644 --- a/codebase/config/sync/user.role.global_admin.yml +++ b/codebase/config/sync/user.role.global_admin.yml @@ -34,6 +34,7 @@ permissions: - 'create field_access_control' - 'create field_access_group' - 'create field_access_terms' + - 'create field_model' - 'create file media' - 'create fits_technical_metadata media' - 'create image media' @@ -76,6 +77,7 @@ permissions: - 'edit field_access_control' - 'edit field_access_group' - 'edit field_access_terms' + - 'edit field_model' - 'edit own audio media' - 'edit own collection_object content' - 'edit own document media' @@ -83,6 +85,7 @@ permissions: - 'edit own field_access_control' - 'edit own field_access_group' - 'edit own field_access_terms' + - 'edit own field_model' - 'edit own file media' - 'edit own fits_technical_metadata media' - 'edit own image media' diff --git a/codebase/config/sync/views.view.collection_object_models.yml b/codebase/config/sync/views.view.collection_object_models.yml new file mode 100644 index 000000000..df8221e96 --- /dev/null +++ b/codebase/config/sync/views.view.collection_object_models.yml @@ -0,0 +1,252 @@ +uuid: 87aa2d8b-c59a-49cd-905f-8da4ebf8757a +langcode: en +status: true +dependencies: + config: + - taxonomy.vocabulary.islandora_models + module: + - taxonomy + - user +id: collection_object_models +label: 'Collection Object Models' +module: views +description: 'These are the models in Islandora Models that are applicable to Repository Items. View is used on the Repository Item Edit page' +tag: '' +base_table: taxonomy_term_field_data +base_field: tid +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'access content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: mini + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + uses_fields: false + row: + type: fields + options: + inline: { } + separator: '' + hide_empty: false + default_field_elements: true + fields: + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: false + ellipsis: false + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + convert_spaces: false + entity_type: taxonomy_term + entity_field: name + plugin_id: term_name + filters: + status: + value: '1' + table: taxonomy_term_field_data + field: status + plugin_id: boolean + entity_type: taxonomy_term + entity_field: status + id: status + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + group: 1 + vid: + id: vid + table: taxonomy_term_field_data + field: vid + value: + islandora_models: islandora_models + entity_type: taxonomy_term + entity_field: vid + plugin_id: bundle + expose: + operator_limit_selection: false + operator_list: { } + name: + id: name + table: taxonomy_term_field_data + field: name + relationship: none + group_type: group + admin_label: '' + operator: '=' + value: Collection + group: 1 + exposed: false + expose: + operator_id: name_op + label: Name + description: '' + use_operator: false + operator: name_op + operator_limit_selection: false + operator_list: { } + identifier: name + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + fedoraadmin: '0' + staff: '0' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + entity_type: taxonomy_term + entity_field: name + plugin_id: string + sorts: { } + header: { } + footer: { } + empty: { } + relationships: { } + arguments: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - user.permissions + tags: { } + entity_reference_1: + display_plugin: entity_reference + id: entity_reference_1 + display_title: 'Entity Reference' + position: 1 + display_options: + display_extenders: { } + style: + type: entity_reference + options: + search_fields: + name: name + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - user.permissions + tags: { } diff --git a/tests/10-migration-backend-tests/testcafe/migrate_tests.spec.js b/tests/10-migration-backend-tests/testcafe/migrate_tests.spec.js index 94bc1dbfc..8584ccd0a 100644 --- a/tests/10-migration-backend-tests/testcafe/migrate_tests.spec.js +++ b/tests/10-migration-backend-tests/testcafe/migrate_tests.spec.js @@ -249,6 +249,17 @@ test('Perform Genre Taxonomy Migration', async t => { test('Perform Repository Object Migration', async t => { // Migrate dependencies first + // access terms + await t + .click(selectMigration) + .click(migrationOptions.withAttribute('value', migrate_islandora_accessterms_taxonomy)); + + await t + .setFilesToUpload('#edit-source-file', [ + './migrations/islandora_object-accessterms.csv' + ]) + .click('#edit-import'); + // persons await t .click(selectMigration) diff --git a/tests/10-migration-backend-tests/verification/verify_migrations_test.go b/tests/10-migration-backend-tests/verification/verify_migrations_test.go index 7c2a5a5e2..f818b7630 100644 --- a/tests/10-migration-backend-tests/verification/verify_migrations_test.go +++ b/tests/10-migration-backend-tests/verification/verify_migrations_test.go @@ -230,13 +230,13 @@ func verifyTaxonomyTermIslandoraAccessTerms(t *testing.T, fileName string) { } } -func Test_VerifyTaxonomyTermResourceType(t *testing.T) { - expectedJson := ExpectedResourceType{} - unmarshalJson(t, "taxonomy-resourcetypes.json", &expectedJson) +func Test_VerifyTaxonomyCopyrightAndUse(t *testing.T) { + expectedJson := ExpectedCopyrightAndUse{} + unmarshalJson(t, "taxonomy-copyrightanduse.json", &expectedJson) // sanity check the expected json assert.Equal(t, "taxonomy_term", expectedJson.Type) - assert.Equal(t, "resource_types", expectedJson.Bundle) + assert.Equal(t, "copyright_and_use", expectedJson.Bundle) u := &JsonApiUrl{ t: t, @@ -248,10 +248,10 @@ func Test_VerifyTaxonomyTermResourceType(t *testing.T) { } // retrieve json of the migrated entity from the jsonapi and unmarshal the single response - res := &JsonApiResourceType{} - u.get(res) + copyrightRes := &JsonApiCopyrightAndUse{} + u.get(copyrightRes) - actual := res.JsonApiData[0] + actual := copyrightRes.JsonApiData[0] assert.Equal(t, expectedJson.Type, actual.Type.entity()) assert.Equal(t, expectedJson.Bundle, actual.Type.bundle()) assert.Equal(t, expectedJson.Name, actual.JsonApiAttributes.Name) @@ -266,13 +266,13 @@ func Test_VerifyTaxonomyTermResourceType(t *testing.T) { } } -func Test_VerifyTaxonomyCopyrightAndUse(t *testing.T) { - expectedJson := ExpectedCopyrightAndUse{} - unmarshalJson(t, "taxonomy-copyrightanduse.json", &expectedJson) +func Test_VerifyTaxonomyTermResourceType(t *testing.T) { + expectedJson := ExpectedResourceType{} + unmarshalJson(t, "taxonomy-resourcetypes.json", &expectedJson) // sanity check the expected json assert.Equal(t, "taxonomy_term", expectedJson.Type) - assert.Equal(t, "copyright_and_use", expectedJson.Bundle) + assert.Equal(t, "resource_types", expectedJson.Bundle) u := &JsonApiUrl{ t: t, @@ -284,10 +284,10 @@ func Test_VerifyTaxonomyCopyrightAndUse(t *testing.T) { } // retrieve json of the migrated entity from the jsonapi and unmarshal the single response - copyrightRes := &JsonApiCopyrightAndUse{} - u.getSingle(copyrightRes) + res := &JsonApiResourceType{} + u.get(res) - actual := copyrightRes.JsonApiData[0] + actual := res.JsonApiData[0] assert.Equal(t, expectedJson.Type, actual.Type.entity()) assert.Equal(t, expectedJson.Bundle, actual.Type.bundle()) assert.Equal(t, expectedJson.Name, actual.JsonApiAttributes.Name) @@ -622,9 +622,6 @@ func Test_VerifyCollection(t *testing.T) { relData := res.JsonApiData[0].JsonApiRelationships - strB, _ := json.Marshal(relData) - log.Println(string(strB)) - // Resolve and verify title language assert.NotNil(t, relData.TitleLanguage.Data) assert.Equal(t, "taxonomy_term", relData.TitleLanguage.Data.Type.entity()) From 5cfaeea7936b775699dbd6e51033dc4a66f3755c Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Tue, 6 Apr 2021 14:49:14 -0400 Subject: [PATCH 09/22] Creates snapshot and updates composer to latests islandora_defaults and controlled_access_term module commits. --- codebase/composer.lock | 16 ++++++++-------- .../sync/rdf.mapping.node.islandora_object.yml | 4 ++++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/codebase/composer.lock b/codebase/composer.lock index 48d4347fb..e6414d588 100644 --- a/codebase/composer.lock +++ b/codebase/composer.lock @@ -7042,12 +7042,12 @@ "source": { "type": "git", "url": "https://github.com/jhu-idc/controlled_access_terms.git", - "reference": "bf962a8bbbe32ae6a1c27e9753ab9d4981042db9" + "reference": "7a03834409e91807cf1c94900a1749c1b582ae03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jhu-idc/controlled_access_terms/zipball/bf962a8bbbe32ae6a1c27e9753ab9d4981042db9", - "reference": "bf962a8bbbe32ae6a1c27e9753ab9d4981042db9", + "url": "https://api.github.com/repos/jhu-idc/controlled_access_terms/zipball/7a03834409e91807cf1c94900a1749c1b582ae03", + "reference": "7a03834409e91807cf1c94900a1749c1b582ae03", "shasum": "" }, "require": { @@ -7089,7 +7089,7 @@ "issues": "https://github.com/jhu-idc/controlled_access_terms/issues", "source": "https://github.com/jhu-idc/controlled_access_terms/tree/8.x-1.x" }, - "time": "2021-02-22T22:01:08+00:00" + "time": "2021-04-06T18:27:53+00:00" }, { "name": "jhu-idc/idc-ui-theme", @@ -7141,12 +7141,12 @@ "source": { "type": "git", "url": "https://github.com/jhu-idc/islandora_defaults.git", - "reference": "4fbbc2d2f2d09aa9aebec1ecbd3bb5a5c1a7103d" + "reference": "ffbbe98f1202ad734ba9b0287221fe722e01c50f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jhu-idc/islandora_defaults/zipball/4fbbc2d2f2d09aa9aebec1ecbd3bb5a5c1a7103d", - "reference": "4fbbc2d2f2d09aa9aebec1ecbd3bb5a5c1a7103d", + "url": "https://api.github.com/repos/jhu-idc/islandora_defaults/zipball/ffbbe98f1202ad734ba9b0287221fe722e01c50f", + "reference": "ffbbe98f1202ad734ba9b0287221fe722e01c50f", "shasum": "" }, "require": { @@ -7172,7 +7172,7 @@ "issues": "https://github.com/jhu-idc/islandora_defaults/issues", "source": "https://github.com/jhu-idc/islandora_defaults/tree/8.x-1.x" }, - "time": "2021-03-24T20:22:40+00:00" + "time": "2021-04-06T18:04:35+00:00" }, { "name": "jhu-idc/migrate_file", diff --git a/codebase/config/sync/rdf.mapping.node.islandora_object.yml b/codebase/config/sync/rdf.mapping.node.islandora_object.yml index b4ec19811..1c5c23228 100644 --- a/codebase/config/sync/rdf.mapping.node.islandora_object.yml +++ b/codebase/config/sync/rdf.mapping.node.islandora_object.yml @@ -46,9 +46,13 @@ fieldMappings: field_date_available: properties: - 'dcterms:available' + datatype_callback: + callable: 'Drupal\controlled_access_terms\EDTFConverter::dateIso8601Value' field_date_coprighted: properties: - 'dcterms:dateCopyrighted' + datatype_callback: + callable: 'Drupal\controlled_access_terms\EDTFConverter::dateIso8601Value' field_date_created: properties: - 'dcterms:created' From 6f12bede8d0d5ddd7b425645c72c7d0b95f6a37c Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Tue, 9 Mar 2021 11:54:02 -0500 Subject: [PATCH 10/22] first pass at adding collection level admin and global admin permissions --- ..._display.node.islandora_object.default.yml | 1 + ...collection_object.field_access_control.yml | 29 +++++++++++++++++++ ...ield.storage.node.field_access_control.yml | 24 +++++++++++++++ .../sync/user.role.collection_level_admin.yml | 1 - 4 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 codebase/config/sync/field.field.node.collection_object.field_access_control.yml create mode 100644 codebase/config/sync/field.storage.node.field_access_control.yml diff --git a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml index cbe7b967a..3dc082676 100644 --- a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml @@ -63,6 +63,7 @@ third_party_settings: - field_member_of - field_access_terms - field_display_hints + - field_access_terms - field_weight parent_name: '' weight: 6 diff --git a/codebase/config/sync/field.field.node.collection_object.field_access_control.yml b/codebase/config/sync/field.field.node.collection_object.field_access_control.yml new file mode 100644 index 000000000..73c37cdbe --- /dev/null +++ b/codebase/config/sync/field.field.node.collection_object.field_access_control.yml @@ -0,0 +1,29 @@ +uuid: 1f872323-83c3-47c7-a7a9-798cd1ec1729 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_access_control + - node.type.collection_object + - taxonomy.vocabulary.islandora_access +id: node.collection_object.field_access_control +field_name: field_access_control +entity_type: node +bundle: collection_object +label: 'Access Control' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:taxonomy_term' + handler_settings: + target_bundles: + islandora_access: islandora_access + sort: + field: name + direction: asc + auto_create: false + auto_create_bundle: '' +field_type: entity_reference diff --git a/codebase/config/sync/field.storage.node.field_access_control.yml b/codebase/config/sync/field.storage.node.field_access_control.yml new file mode 100644 index 000000000..abdab8ba7 --- /dev/null +++ b/codebase/config/sync/field.storage.node.field_access_control.yml @@ -0,0 +1,24 @@ +uuid: 09ebab33-9519-475e-9b30-d031a3de708c +langcode: en +status: true +dependencies: + module: + - field_permissions + - node + - taxonomy +third_party_settings: + field_permissions: + permission_type: custom +id: node.field_access_control +field_name: field_access_control +entity_type: node +type: entity_reference +settings: + target_type: taxonomy_term +module: core +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/codebase/config/sync/user.role.collection_level_admin.yml b/codebase/config/sync/user.role.collection_level_admin.yml index e836c413f..bc14bb951 100644 --- a/codebase/config/sync/user.role.collection_level_admin.yml +++ b/codebase/config/sync/user.role.collection_level_admin.yml @@ -7,7 +7,6 @@ label: 'Collection Level Admin' weight: -8 is_admin: null permissions: - - 'access administration pages' - 'access media overview' - 'access migrate source ui' - 'access site reports' From 4665c3f787231f51cdab56b81b5d2f288eb670a8 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Tue, 9 Mar 2021 12:06:29 -0500 Subject: [PATCH 11/22] Adding env --- ' | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 ' diff --git a/' b/' new file mode 100644 index 000000000..d77ab9fee --- /dev/null +++ b/' @@ -0,0 +1,81 @@ +# Environment variables defined in this file apply to both the Makefile and to +# docker-compose.yml +# +# Due to restrictions in the `env-file` format we cannot specify multi-line +# values for environment variables. For this reason the environment +# variables are set on service definitions in the docker-compose.*.yml files, +# rather than defined in `env-file` files. + +# Determines which docker-compose file(s) will be used for the `drupal` service. +# See documentation for more details. +ENVIRONMENT=local + +REQUIRED_SERIVCES=activemq alpaca cantaloupe idc-crayfish crayfits drupal mariadb solr idc-snapshot testcafe +############################################################################### +# Environment variables specific to composer. +############################################################################### +COMPOSE_HTTP_TIMEOUT=480 + +# Also used for naming services in traefik as well as defining network alias and urls. +# For example the `drupal` service will be found at `islandora.${COMPOSE_PROJECT_NAME}.${DRUPAL_SITE_HOST}`. +# See https://docs.docker.com/compose/reference/envvars/ +COMPOSE_PROJECT_NAME=idc + +# If you are running locally, leave this. traefik.me resolves to localhost. +# If you are deploying to a remote server and you own a domain for it, place it here. +# If you have an IP but no domain, change this to X-X-X-X.traefik.me, where X-X-X-X +# is your IP address but with hyphens instead of dots. +DRUPAL_SITE_HOST=traefik.me + +# Allows building custom image with buildkit. +COMPOSE_DOCKER_CLI_BUILD=1 +DOCKER_BUILDKIT=1 + +# Dockerfile to use when building the custom project. +PROJECT_DRUPAL_DOCKERFILE=Dockerfile + +# Includes `traefik` as a service, if false assume we are sharing a traefik +# from another project. +INCLUDE_TRAEFIK_SERVICE=true + +# Includes `watchtower` as a service. +INCLUDE_WATCHTOWER_SERVICE=false + +# Includes `etcd` as a service. +INCLUDE_ETCD_SERVICE=false + +# Include SAML-related services. +INCLUDE_SAML_SERVICE=true + +# Choose which database backend to use: mariadb/postgresql +# Services that only support MySQL (Matomo) do not have the option to change. +# Also at this time not all Drupal modules work with PostgresSQL, it is provided +# as option here so it can be tested and fixed at some later date. +DRUPAL_DATABASE_SERVICE=mariadb +FCREPO_DATABASE_SERVICE=mariadb +GEMINI_DATABASE_SERVICE=mariadb + +# Root database password +MYSQL_ROOT_PASSWORD=password + +# Repository to use for pulling isle-buildkit images, change to `local` +# To use images you have built locally with isle-buildkit, or use your +# custom docker registry if you have set up one. +# +REPOSITORY=ghcr.io/jhu-sheridan-libraries/idc-isle-dc + +# The version of the isle-buildkit images, non isle-buildkit images have +# their versions specified explicitly in their respective docker-compose files. +TAG=upstream-20200824-f8d1e8e-23-g9fe79fc + +# Docker image and tag for snapshot image +SNAPSHOT_TAG=upstream-20201007-739693ae-227-gc04a62b0.1616075568 + +# IdP, SP entity URIs and base URLs +SP_BASEURL=https://islandora-idc.traefik.me +SP_ENTITYID=https://islandora-idc.traefik.me/sp/shibboleth +IDP_BASEURL=https://islandora-idp.traefik.me:4443 +IDP_ENTITYID=https://islandora-idp.traefik.me/idp/shibboleth + +# DB params +DRUPAL_DEFAULT_DB_PASSWORD=password From 83a36a1e459d1190883e72ce1e195c61b8efa00a Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Wed, 17 Mar 2021 16:04:56 -0400 Subject: [PATCH 12/22] Latest changes, still a WIP --- codebase/composer.json | 1 + codebase/composer.lock | 76 +++++++ ...display.node.collection_object.default.yml | 8 +- ..._display.node.islandora_object.default.yml | 15 +- ...w_display.node.islandora_object.binary.yml | 4 +- ..._display.node.islandora_object.default.yml | 10 +- ...y.node.islandora_object.open_seadragon.yml | 2 +- ...ew_display.node.islandora_object.pdfjs.yml | 4 +- ...w_display.node.islandora_object.teaser.yml | 4 +- codebase/config/sync/core.extension.yml | 1 + ...islandora_object.field_access_control.yml} | 2 +- ....node.islandora_object.field_member_of.yml | 1 - ...ield.storage.node.field_access_control.yml | 2 +- .../search_api.index.default_solr_index.yml | 6 +- .../taxonomy.vocabulary.islandora_access.yml | 2 +- .../sync/user.role.collection_level_admin.yml | 1 - .../views.view.content_type_member_of.yml | 191 ++++++++++++++++++ .../sync/views.view.solr_search_content.yml | 115 +++++++++++ .../config/sync/workbench_access.settings.yml | 2 +- 19 files changed, 422 insertions(+), 25 deletions(-) rename codebase/config/sync/{field.field.node.islandora_object.field_access_terms.yml => field.field.node.islandora_object.field_access_control.yml} (94%) create mode 100644 codebase/config/sync/views.view.content_type_member_of.yml diff --git a/codebase/composer.json b/codebase/composer.json index 87876b179..62dead093 100644 --- a/codebase/composer.json +++ b/codebase/composer.json @@ -55,6 +55,7 @@ "drupal/admin_toolbar": "^2.0", "drupal/auto_entitylabel": "^3.0@beta", "drupal/captcha": "^1.1", + "drupal/conditional_fields": "^1.0@alpha", "drupal/console": "~1.0", "drupal/contact_ajax": "^1.5", "drupal/contact_block": "^1.5", diff --git a/codebase/composer.lock b/codebase/composer.lock index e6414d588..59c142e72 100644 --- a/codebase/composer.lock +++ b/codebase/composer.lock @@ -2429,6 +2429,82 @@ "issues": "https://www.drupal.org/project/issues/captcha" } }, + { + "name": "drupal/conditional_fields", + "version": "1.0.0-alpha10", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/conditional_fields.git", + "reference": "8.x-1.0-alpha10" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/conditional_fields-8.x-1.0-alpha10.zip", + "reference": "8.x-1.0-alpha10", + "shasum": "ac11881a07eaf3ce796dea1cb0e537434d1fbd3d" + }, + "require": { + "drupal/core": "^8 || ^9" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.0-alpha10", + "datestamp": "1610130227", + "security-coverage": { + "status": "not-covered", + "message": "Project has not opted into security advisory coverage!" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Adyax", + "homepage": "https://www.adyax.com/" + }, + { + "name": "OlgaRabodzei", + "homepage": "https://www.drupal.org/user/3389198" + }, + { + "name": "colan", + "homepage": "https://www.drupal.org/user/58704" + }, + { + "name": "ergonlogic", + "homepage": "https://www.drupal.org/user/368613" + }, + { + "name": "geek-merlin", + "homepage": "https://www.drupal.org/user/229048" + }, + { + "name": "itsekhmistro", + "homepage": "https://www.drupal.org/user/928152" + }, + { + "name": "mparker17", + "homepage": "https://www.drupal.org/user/536298" + }, + { + "name": "peterpoe", + "homepage": "https://www.drupal.org/user/55674" + }, + { + "name": "thalles", + "homepage": "https://www.drupal.org/user/3589086" + } + ], + "description": "Conditional fields", + "homepage": "https://www.drupal.org/project/conditional_fields", + "support": { + "source": "https://git.drupalcode.org/project/conditional_fields" + } + }, { "name": "drupal/config_update", "version": "1.7.0", diff --git a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml index fc2940b91..793cf2fd7 100644 --- a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml @@ -103,13 +103,9 @@ content: region: content field_member_of: weight: 10 - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' + settings: { } third_party_settings: { } - type: entity_reference_autocomplete + type: options_select region: content field_model: weight: 15 diff --git a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml index 3dc082676..1c4e6a095 100644 --- a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml @@ -4,8 +4,8 @@ status: true dependencies: config: - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -63,7 +63,6 @@ third_party_settings: - field_member_of - field_access_terms - field_display_hints - - field_access_terms - field_weight parent_name: '' weight: 6 @@ -227,6 +226,16 @@ content: third_party_settings: { } type: reference_value_select region: content + field_access_control: + weight: 69 + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + type: entity_reference_autocomplete + region: content field_access_rights: weight: 59 settings: { } @@ -477,7 +486,7 @@ content: type: link_default region: content field_member_of: - type: entity_reference_autocomplete + type: options_select weight: 9 region: content settings: diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml index 5bd0f2b07..182fd2376 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.binary - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -138,8 +138,8 @@ hidden: display_media_service_file: true display_media_thumbnail: true field_abstract: true + field_access_control: true field_access_rights: true - field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml index 726e6a826..b27e1168e 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml @@ -4,8 +4,8 @@ status: true dependencies: config: - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -76,6 +76,14 @@ content: third_party_settings: { } type: reference_value_formatter region: content + field_access_control: + weight: 42 + label: above + settings: + link: true + third_party_settings: { } + type: entity_reference_label + region: content field_access_rights: weight: 15 label: above diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml index 8aec3a537..eaf0ab90f 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.open_seadragon - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml index ff8a98b93..09f9070e3 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.pdfjs - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -134,8 +134,8 @@ hidden: display_media_service_file: true display_media_thumbnail: true field_abstract: true + field_access_control: true field_access_rights: true - field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml index 112828bce..5368d78cd 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.teaser - field.field.node.islandora_object.field_abstract + - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights - - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -75,8 +75,8 @@ hidden: display_media_entity_view_2: true display_media_service_file: true field_abstract: true + field_access_control: true field_access_rights: true - field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.extension.yml b/codebase/config/sync/core.extension.yml index 7e96b9628..1ce11fe93 100644 --- a/codebase/config/sync/core.extension.yml +++ b/codebase/config/sync/core.extension.yml @@ -12,6 +12,7 @@ module: ckeditor: 0 color: 0 comment: 0 + conditional_fields: 0 config: 0 config_update: 0 contact: 0 diff --git a/codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml b/codebase/config/sync/field.field.node.islandora_object.field_access_control.yml similarity index 94% rename from codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml rename to codebase/config/sync/field.field.node.islandora_object.field_access_control.yml index 872e15775..347aebd9d 100644 --- a/codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml +++ b/codebase/config/sync/field.field.node.islandora_object.field_access_control.yml @@ -3,7 +3,7 @@ langcode: en status: true dependencies: config: - - field.storage.node.field_access_terms + - field.storage.node.field_access_control - node.type.islandora_object - taxonomy.vocabulary.islandora_access module: diff --git a/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml b/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml index 2b647bee5..581125080 100644 --- a/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml +++ b/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml @@ -4,7 +4,6 @@ status: true dependencies: config: - field.storage.node.field_member_of - - node.type.collection_object - node.type.islandora_object enforced: module: diff --git a/codebase/config/sync/field.storage.node.field_access_control.yml b/codebase/config/sync/field.storage.node.field_access_control.yml index abdab8ba7..54bc2296b 100644 --- a/codebase/config/sync/field.storage.node.field_access_control.yml +++ b/codebase/config/sync/field.storage.node.field_access_control.yml @@ -17,7 +17,7 @@ settings: target_type: taxonomy_term module: core locked: false -cardinality: 1 +cardinality: -1 translatable: true indexes: { } persist_with_no_fields: false diff --git a/codebase/config/sync/search_api.index.default_solr_index.yml b/codebase/config/sync/search_api.index.default_solr_index.yml index 65a38fa1b..a873274f6 100644 --- a/codebase/config/sync/search_api.index.default_solr_index.yml +++ b/codebase/config/sync/search_api.index.default_solr_index.yml @@ -9,13 +9,15 @@ dependencies: - taxonomy - token - content_translation + - taxonomy + - token - search_api config: + - field.storage.node.body - field.storage.node.field_abstract - field.storage.node.field_access_rights - field.storage.node.field_access_terms - field.storage.node.field_alternative_title - - field.storage.node.body - field.storage.node.field_citable_url - field.storage.node.field_collection_contact_name - field.storage.node.field_collection_number @@ -35,6 +37,7 @@ dependencies: - field.storage.node.field_featured_item - field.storage.node.field_finding_aid - field.storage.node.field_genre + - field.storage.taxonomy_term.field_geo_alt_name - field.storage.node.field_geoportal_link - field.storage.node.field_image - field.storage.node.field_is_part_of @@ -54,7 +57,6 @@ dependencies: - field.storage.node.field_table_of_contents - field.storage.node.field_tags - field.storage.node.field_years - - field.storage.taxonomy_term.field_geo_alt_name - search_api.server.default_solr_server - core.entity_view_mode.node.search_index third_party_settings: diff --git a/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml b/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml index 75d2de3fd..0eb453e1a 100644 --- a/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml +++ b/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml @@ -4,7 +4,7 @@ status: true dependencies: { } _core: default_config_hash: sQg5b6M8H_5jJt0gGa3xqAIh7ny7yU8TdHFwnwmzDdc -name: 'Islandora Access' +name: 'Islandora Access Communites' vid: islandora_access description: 'Terms used to limit, restrict or coordinate access among collections' weight: 1 diff --git a/codebase/config/sync/user.role.collection_level_admin.yml b/codebase/config/sync/user.role.collection_level_admin.yml index bc14bb951..03d091b3e 100644 --- a/codebase/config/sync/user.role.collection_level_admin.yml +++ b/codebase/config/sync/user.role.collection_level_admin.yml @@ -88,7 +88,6 @@ permissions: - 'view all media revisions' - 'view checksums' - 'view collection_object revisions' - - 'view field_access_control' - 'view field_access_terms' - 'view islandora_object revisions' - 'view own field_access_control' diff --git a/codebase/config/sync/views.view.content_type_member_of.yml b/codebase/config/sync/views.view.content_type_member_of.yml new file mode 100644 index 000000000..40298ab69 --- /dev/null +++ b/codebase/config/sync/views.view.content_type_member_of.yml @@ -0,0 +1,191 @@ +uuid: 597dff21-e9e8-459a-a058-60422b46723b +langcode: en +status: true +dependencies: + module: + - node + - user +id: content_type_member_of +label: 'Content Type member_of' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: perm + options: + perm: 'edit any collection_object content' + cache: + type: tag + options: { } + query: + type: views_query + options: + disable_sql_rewrite: false + distinct: false + replica: false + query_comment: '' + query_tags: { } + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + pager: + type: mini + options: + items_per_page: 10 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: default + options: + grouping: { } + row_class: '' + default_row_class: true + uses_fields: false + row: + type: fields + options: + inline: { } + separator: '' + hide_empty: false + default_field_elements: true + fields: + title: + id: title + table: node_field_data + field: title + entity_type: node + entity_field: title + label: '' + alter: + alter_text: false + make_link: false + absolute: false + trim: false + word_boundary: false + ellipsis: false + strip_tags: false + html: false + hide_empty: false + empty_zero: false + settings: + link_to_entity: true + plugin_id: field + relationship: none + group_type: group + admin_label: '' + exclude: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_alter_empty: true + click_sort_column: value + type: string + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + filters: + status: + value: '1' + table: node_field_data + field: status + plugin_id: boolean + entity_type: node + entity_field: status + id: status + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + group: 1 + sorts: + created: + id: created + table: node_field_data + field: created + order: DESC + entity_type: node + entity_field: created + plugin_id: date + relationship: none + group_type: group + admin_label: '' + exposed: false + expose: + label: '' + granularity: second + header: { } + footer: { } + empty: { } + relationships: { } + arguments: { } + display_extenders: { } + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url.query_args + - 'user.node_grants:view' + - user.permissions + tags: { } + entity_reference_1: + display_plugin: entity_reference + id: entity_reference_1 + display_title: 'Entity Reference' + position: 1 + display_options: + display_extenders: { } + style: + type: entity_reference + options: + search_fields: + title: title + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - 'user.node_grants:view' + - user.permissions + tags: { } diff --git a/codebase/config/sync/views.view.solr_search_content.yml b/codebase/config/sync/views.view.solr_search_content.yml index e0217d37a..cf4ab426a 100644 --- a/codebase/config/sync/views.view.solr_search_content.yml +++ b/codebase/config/sync/views.view.solr_search_content.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - field.storage.node.field_abstract + - field.storage.node.field_access_control - field.storage.node.field_access_rights - field.storage.node.field_alternative_title - field.storage.node.field_citable_url @@ -5502,6 +5503,119 @@ display: multi_separator: ', ' entity_type: node plugin_id: search_api_field + field_access_control: + id: field_access_control + table: search_api_datasource_default_solr_index_entity_node + field: field_access_control + relationship: none + group_type: group + admin_label: '' + label: '' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: true + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_rendering: true + fallback_handler: search_api_entity + fallback_options: + link_to_item: false + use_highlighting: false + multi_type: separator + multi_separator: ', ' + display_methods: + access_rights: + display_method: label + view_mode: default + copyright_and_use: + display_method: label + view_mode: default + corporate_body: + display_method: label + view_mode: default + family: + display_method: label + view_mode: default + genre: + display_method: label + view_mode: default + geo_location: + display_method: label + view_mode: default + islandora_access: + display_method: label + islandora_display: + display_method: label + view_mode: default + islandora_media_use: + display_method: label + view_mode: default + islandora_models: + display_method: label + view_mode: default + language: + display_method: label + view_mode: default + person: + display_method: label + view_mode: default + resource_types: + display_method: label + view_mode: default + subject: + display_method: label + view_mode: default + entity_type: node + plugin_id: search_api_field field_collection_contact_email: id: field_collection_contact_email table: search_api_datasource_default_solr_index_entity_node @@ -5587,6 +5701,7 @@ display: - 'user.node_grants:view' tags: - 'config:field.storage.node.field_abstract' + - 'config:field.storage.node.field_access_control' - 'config:field.storage.node.field_access_rights' - 'config:field.storage.node.field_alternative_title' - 'config:field.storage.node.field_citable_url' diff --git a/codebase/config/sync/workbench_access.settings.yml b/codebase/config/sync/workbench_access.settings.yml index 7560b27a4..998d461f2 100644 --- a/codebase/config/sync/workbench_access.settings.yml +++ b/codebase/config/sync/workbench_access.settings.yml @@ -1,3 +1,3 @@ -deny_on_empty: true +deny_on_empty: false _core: default_config_hash: Y6xetsHwk8FUA3WQMga3J7Imf3wRlur5ALeppr16dJM From aafe435a792848b9b33cbf75dcafc0f868fab5be Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Mon, 22 Mar 2021 13:46:49 -0400 Subject: [PATCH 13/22] Almost there. Tweaks a bunch of small things. --- codebase/composer.json | 1 - codebase/composer.lock | 76 ------------------- ...display.node.collection_object.default.yml | 18 ++++- codebase/config/sync/core.extension.yml | 1 - .../sync/user.role.collection_level_admin.yml | 1 + .../config/sync/workbench_access.settings.yml | 2 +- 6 files changed, 18 insertions(+), 81 deletions(-) diff --git a/codebase/composer.json b/codebase/composer.json index 62dead093..87876b179 100644 --- a/codebase/composer.json +++ b/codebase/composer.json @@ -55,7 +55,6 @@ "drupal/admin_toolbar": "^2.0", "drupal/auto_entitylabel": "^3.0@beta", "drupal/captcha": "^1.1", - "drupal/conditional_fields": "^1.0@alpha", "drupal/console": "~1.0", "drupal/contact_ajax": "^1.5", "drupal/contact_block": "^1.5", diff --git a/codebase/composer.lock b/codebase/composer.lock index 59c142e72..e6414d588 100644 --- a/codebase/composer.lock +++ b/codebase/composer.lock @@ -2429,82 +2429,6 @@ "issues": "https://www.drupal.org/project/issues/captcha" } }, - { - "name": "drupal/conditional_fields", - "version": "1.0.0-alpha10", - "source": { - "type": "git", - "url": "https://git.drupalcode.org/project/conditional_fields.git", - "reference": "8.x-1.0-alpha10" - }, - "dist": { - "type": "zip", - "url": "https://ftp.drupal.org/files/projects/conditional_fields-8.x-1.0-alpha10.zip", - "reference": "8.x-1.0-alpha10", - "shasum": "ac11881a07eaf3ce796dea1cb0e537434d1fbd3d" - }, - "require": { - "drupal/core": "^8 || ^9" - }, - "type": "drupal-module", - "extra": { - "drupal": { - "version": "8.x-1.0-alpha10", - "datestamp": "1610130227", - "security-coverage": { - "status": "not-covered", - "message": "Project has not opted into security advisory coverage!" - } - } - }, - "notification-url": "https://packages.drupal.org/8/downloads", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "Adyax", - "homepage": "https://www.adyax.com/" - }, - { - "name": "OlgaRabodzei", - "homepage": "https://www.drupal.org/user/3389198" - }, - { - "name": "colan", - "homepage": "https://www.drupal.org/user/58704" - }, - { - "name": "ergonlogic", - "homepage": "https://www.drupal.org/user/368613" - }, - { - "name": "geek-merlin", - "homepage": "https://www.drupal.org/user/229048" - }, - { - "name": "itsekhmistro", - "homepage": "https://www.drupal.org/user/928152" - }, - { - "name": "mparker17", - "homepage": "https://www.drupal.org/user/536298" - }, - { - "name": "peterpoe", - "homepage": "https://www.drupal.org/user/55674" - }, - { - "name": "thalles", - "homepage": "https://www.drupal.org/user/3589086" - } - ], - "description": "Conditional fields", - "homepage": "https://www.drupal.org/project/conditional_fields", - "support": { - "source": "https://git.drupalcode.org/project/conditional_fields" - } - }, { "name": "drupal/config_update", "version": "1.7.0", diff --git a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml index 793cf2fd7..ff02a3067 100644 --- a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml @@ -103,9 +103,23 @@ content: region: content field_member_of: weight: 10 - settings: { } + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' third_party_settings: { } - type: options_select + type: entity_reference_autocomplete + region: content + field_model: + weight: 15 + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } + type: entity_reference_autocomplete region: content field_model: weight: 15 diff --git a/codebase/config/sync/core.extension.yml b/codebase/config/sync/core.extension.yml index 1ce11fe93..7e96b9628 100644 --- a/codebase/config/sync/core.extension.yml +++ b/codebase/config/sync/core.extension.yml @@ -12,7 +12,6 @@ module: ckeditor: 0 color: 0 comment: 0 - conditional_fields: 0 config: 0 config_update: 0 contact: 0 diff --git a/codebase/config/sync/user.role.collection_level_admin.yml b/codebase/config/sync/user.role.collection_level_admin.yml index 03d091b3e..17c64fd2e 100644 --- a/codebase/config/sync/user.role.collection_level_admin.yml +++ b/codebase/config/sync/user.role.collection_level_admin.yml @@ -7,6 +7,7 @@ label: 'Collection Level Admin' weight: -8 is_admin: null permissions: + - 'access administration pages' - 'access media overview' - 'access migrate source ui' - 'access site reports' diff --git a/codebase/config/sync/workbench_access.settings.yml b/codebase/config/sync/workbench_access.settings.yml index 998d461f2..7560b27a4 100644 --- a/codebase/config/sync/workbench_access.settings.yml +++ b/codebase/config/sync/workbench_access.settings.yml @@ -1,3 +1,3 @@ -deny_on_empty: false +deny_on_empty: true _core: default_config_hash: Y6xetsHwk8FUA3WQMga3J7Imf3wRlur5ALeppr16dJM From a0603bb784a1093c9c2f3e56c66c8264ae631326 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Thu, 25 Mar 2021 07:50:19 -0400 Subject: [PATCH 14/22] More tweaks --- ...display.node.collection_object.default.yml | 8 +- ..._display.node.islandora_object.default.yml | 2 +- ....node.islandora_object.field_member_of.yml | 1 + .../views.view.content_type_member_of.yml | 191 ------------------ 4 files changed, 4 insertions(+), 198 deletions(-) delete mode 100644 codebase/config/sync/views.view.content_type_member_of.yml diff --git a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml index ff02a3067..25b067d4f 100644 --- a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml @@ -103,13 +103,9 @@ content: region: content field_member_of: weight: 10 - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' + settings: { } third_party_settings: { } - type: entity_reference_autocomplete + type: options_select region: content field_model: weight: 15 diff --git a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml index 1c4e6a095..ea22e852a 100644 --- a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml @@ -227,7 +227,7 @@ content: type: reference_value_select region: content field_access_control: - weight: 69 + weight: 10 settings: match_operator: CONTAINS match_limit: 10 diff --git a/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml b/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml index 581125080..2b647bee5 100644 --- a/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml +++ b/codebase/config/sync/field.field.node.islandora_object.field_member_of.yml @@ -4,6 +4,7 @@ status: true dependencies: config: - field.storage.node.field_member_of + - node.type.collection_object - node.type.islandora_object enforced: module: diff --git a/codebase/config/sync/views.view.content_type_member_of.yml b/codebase/config/sync/views.view.content_type_member_of.yml deleted file mode 100644 index 40298ab69..000000000 --- a/codebase/config/sync/views.view.content_type_member_of.yml +++ /dev/null @@ -1,191 +0,0 @@ -uuid: 597dff21-e9e8-459a-a058-60422b46723b -langcode: en -status: true -dependencies: - module: - - node - - user -id: content_type_member_of -label: 'Content Type member_of' -module: views -description: '' -tag: '' -base_table: node_field_data -base_field: nid -display: - default: - display_plugin: default - id: default - display_title: Master - position: 0 - display_options: - access: - type: perm - options: - perm: 'edit any collection_object content' - cache: - type: tag - options: { } - query: - type: views_query - options: - disable_sql_rewrite: false - distinct: false - replica: false - query_comment: '' - query_tags: { } - exposed_form: - type: basic - options: - submit_button: Apply - reset_button: false - reset_button_label: Reset - exposed_sorts_label: 'Sort by' - expose_sort_order: true - sort_asc_label: Asc - sort_desc_label: Desc - pager: - type: mini - options: - items_per_page: 10 - offset: 0 - id: 0 - total_pages: null - expose: - items_per_page: false - items_per_page_label: 'Items per page' - items_per_page_options: '5, 10, 25, 50' - items_per_page_options_all: false - items_per_page_options_all_label: '- All -' - offset: false - offset_label: Offset - tags: - previous: ‹‹ - next: ›› - style: - type: default - options: - grouping: { } - row_class: '' - default_row_class: true - uses_fields: false - row: - type: fields - options: - inline: { } - separator: '' - hide_empty: false - default_field_elements: true - fields: - title: - id: title - table: node_field_data - field: title - entity_type: node - entity_field: title - label: '' - alter: - alter_text: false - make_link: false - absolute: false - trim: false - word_boundary: false - ellipsis: false - strip_tags: false - html: false - hide_empty: false - empty_zero: false - settings: - link_to_entity: true - plugin_id: field - relationship: none - group_type: group - admin_label: '' - exclude: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_alter_empty: true - click_sort_column: value - type: string - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - filters: - status: - value: '1' - table: node_field_data - field: status - plugin_id: boolean - entity_type: node - entity_field: status - id: status - expose: - operator: '' - operator_limit_selection: false - operator_list: { } - group: 1 - sorts: - created: - id: created - table: node_field_data - field: created - order: DESC - entity_type: node - entity_field: created - plugin_id: date - relationship: none - group_type: group - admin_label: '' - exposed: false - expose: - label: '' - granularity: second - header: { } - footer: { } - empty: { } - relationships: { } - arguments: { } - display_extenders: { } - cache_metadata: - max-age: -1 - contexts: - - 'languages:language_content' - - 'languages:language_interface' - - url.query_args - - 'user.node_grants:view' - - user.permissions - tags: { } - entity_reference_1: - display_plugin: entity_reference - id: entity_reference_1 - display_title: 'Entity Reference' - position: 1 - display_options: - display_extenders: { } - style: - type: entity_reference - options: - search_fields: - title: title - cache_metadata: - max-age: -1 - contexts: - - 'languages:language_content' - - 'languages:language_interface' - - 'user.node_grants:view' - - user.permissions - tags: { } From 891917265448bf33fcd663aff1c914a365c98a3d Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Thu, 25 Mar 2021 07:51:16 -0400 Subject: [PATCH 15/22] Removed bad file. --- ' | 81 --------------------------------------------------------------- 1 file changed, 81 deletions(-) delete mode 100644 ' diff --git a/' b/' deleted file mode 100644 index d77ab9fee..000000000 --- a/' +++ /dev/null @@ -1,81 +0,0 @@ -# Environment variables defined in this file apply to both the Makefile and to -# docker-compose.yml -# -# Due to restrictions in the `env-file` format we cannot specify multi-line -# values for environment variables. For this reason the environment -# variables are set on service definitions in the docker-compose.*.yml files, -# rather than defined in `env-file` files. - -# Determines which docker-compose file(s) will be used for the `drupal` service. -# See documentation for more details. -ENVIRONMENT=local - -REQUIRED_SERIVCES=activemq alpaca cantaloupe idc-crayfish crayfits drupal mariadb solr idc-snapshot testcafe -############################################################################### -# Environment variables specific to composer. -############################################################################### -COMPOSE_HTTP_TIMEOUT=480 - -# Also used for naming services in traefik as well as defining network alias and urls. -# For example the `drupal` service will be found at `islandora.${COMPOSE_PROJECT_NAME}.${DRUPAL_SITE_HOST}`. -# See https://docs.docker.com/compose/reference/envvars/ -COMPOSE_PROJECT_NAME=idc - -# If you are running locally, leave this. traefik.me resolves to localhost. -# If you are deploying to a remote server and you own a domain for it, place it here. -# If you have an IP but no domain, change this to X-X-X-X.traefik.me, where X-X-X-X -# is your IP address but with hyphens instead of dots. -DRUPAL_SITE_HOST=traefik.me - -# Allows building custom image with buildkit. -COMPOSE_DOCKER_CLI_BUILD=1 -DOCKER_BUILDKIT=1 - -# Dockerfile to use when building the custom project. -PROJECT_DRUPAL_DOCKERFILE=Dockerfile - -# Includes `traefik` as a service, if false assume we are sharing a traefik -# from another project. -INCLUDE_TRAEFIK_SERVICE=true - -# Includes `watchtower` as a service. -INCLUDE_WATCHTOWER_SERVICE=false - -# Includes `etcd` as a service. -INCLUDE_ETCD_SERVICE=false - -# Include SAML-related services. -INCLUDE_SAML_SERVICE=true - -# Choose which database backend to use: mariadb/postgresql -# Services that only support MySQL (Matomo) do not have the option to change. -# Also at this time not all Drupal modules work with PostgresSQL, it is provided -# as option here so it can be tested and fixed at some later date. -DRUPAL_DATABASE_SERVICE=mariadb -FCREPO_DATABASE_SERVICE=mariadb -GEMINI_DATABASE_SERVICE=mariadb - -# Root database password -MYSQL_ROOT_PASSWORD=password - -# Repository to use for pulling isle-buildkit images, change to `local` -# To use images you have built locally with isle-buildkit, or use your -# custom docker registry if you have set up one. -# -REPOSITORY=ghcr.io/jhu-sheridan-libraries/idc-isle-dc - -# The version of the isle-buildkit images, non isle-buildkit images have -# their versions specified explicitly in their respective docker-compose files. -TAG=upstream-20200824-f8d1e8e-23-g9fe79fc - -# Docker image and tag for snapshot image -SNAPSHOT_TAG=upstream-20201007-739693ae-227-gc04a62b0.1616075568 - -# IdP, SP entity URIs and base URLs -SP_BASEURL=https://islandora-idc.traefik.me -SP_ENTITYID=https://islandora-idc.traefik.me/sp/shibboleth -IDP_BASEURL=https://islandora-idp.traefik.me:4443 -IDP_ENTITYID=https://islandora-idp.traefik.me/idp/shibboleth - -# DB params -DRUPAL_DEFAULT_DB_PASSWORD=password From 2a90cd67d3e9abea03cc5448dc2986849cbc4106 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Mon, 5 Apr 2021 08:22:51 -0400 Subject: [PATCH 16/22] Adds tests. They are a WIP though. --- ...display.node.collection_object.default.yml | 8 +- ..._display.node.islandora_object.default.yml | 14 +-- ...w_display.node.islandora_object.binary.yml | 4 +- ..._display.node.islandora_object.default.yml | 10 +- ...y.node.islandora_object.open_seadragon.yml | 2 +- ...ew_display.node.islandora_object.pdfjs.yml | 4 +- ...w_display.node.islandora_object.teaser.yml | 4 +- ...collection_object.field_access_control.yml | 29 ----- ...e.islandora_object.field_access_terms.yml} | 2 +- ...ield.storage.node.field_access_control.yml | 24 ---- .../taxonomy.vocabulary.islandora_access.yml | 2 +- .../sync/user.role.collection_level_admin.yml | 1 + .../sync/views.view.solr_search_content.yml | 115 ------------------ .../verification/verify_migrations_test.go | 3 + 14 files changed, 26 insertions(+), 196 deletions(-) delete mode 100644 codebase/config/sync/field.field.node.collection_object.field_access_control.yml rename codebase/config/sync/{field.field.node.islandora_object.field_access_control.yml => field.field.node.islandora_object.field_access_terms.yml} (94%) delete mode 100644 codebase/config/sync/field.storage.node.field_access_control.yml diff --git a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml index 25b067d4f..ff02a3067 100644 --- a/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.collection_object.default.yml @@ -103,9 +103,13 @@ content: region: content field_member_of: weight: 10 - settings: { } + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' third_party_settings: { } - type: options_select + type: entity_reference_autocomplete region: content field_model: weight: 15 diff --git a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml index ea22e852a..cbe7b967a 100644 --- a/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_form_display.node.islandora_object.default.yml @@ -4,8 +4,8 @@ status: true dependencies: config: - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -226,16 +226,6 @@ content: third_party_settings: { } type: reference_value_select region: content - field_access_control: - weight: 10 - settings: - match_operator: CONTAINS - match_limit: 10 - size: 60 - placeholder: '' - third_party_settings: { } - type: entity_reference_autocomplete - region: content field_access_rights: weight: 59 settings: { } @@ -486,7 +476,7 @@ content: type: link_default region: content field_member_of: - type: options_select + type: entity_reference_autocomplete weight: 9 region: content settings: diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml index 182fd2376..5bd0f2b07 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.binary.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.binary - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -138,8 +138,8 @@ hidden: display_media_service_file: true display_media_thumbnail: true field_abstract: true - field_access_control: true field_access_rights: true + field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml index b27e1168e..861e30006 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.default.yml @@ -4,8 +4,8 @@ status: true dependencies: config: - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -76,16 +76,16 @@ content: third_party_settings: { } type: reference_value_formatter region: content - field_access_control: - weight: 42 + field_access_rights: + weight: 15 label: above settings: link: true third_party_settings: { } type: entity_reference_label region: content - field_access_rights: - weight: 15 + field_access_terms: + weight: 42 label: above settings: link: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml index eaf0ab90f..8aec3a537 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.open_seadragon.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.open_seadragon - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml index 09f9070e3..ff8a98b93 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.pdfjs.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.pdfjs - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -134,8 +134,8 @@ hidden: display_media_service_file: true display_media_thumbnail: true field_abstract: true - field_access_control: true field_access_rights: true + field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml b/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml index 5368d78cd..112828bce 100644 --- a/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml +++ b/codebase/config/sync/core.entity_view_display.node.islandora_object.teaser.yml @@ -5,8 +5,8 @@ dependencies: config: - core.entity_view_mode.node.teaser - field.field.node.islandora_object.field_abstract - - field.field.node.islandora_object.field_access_control - field.field.node.islandora_object.field_access_rights + - field.field.node.islandora_object.field_access_terms - field.field.node.islandora_object.field_alternative_title - field.field.node.islandora_object.field_citable_url - field.field.node.islandora_object.field_collection_number @@ -75,8 +75,8 @@ hidden: display_media_entity_view_2: true display_media_service_file: true field_abstract: true - field_access_control: true field_access_rights: true + field_access_terms: true field_alternative_title: true field_citable_url: true field_collection_number: true diff --git a/codebase/config/sync/field.field.node.collection_object.field_access_control.yml b/codebase/config/sync/field.field.node.collection_object.field_access_control.yml deleted file mode 100644 index 73c37cdbe..000000000 --- a/codebase/config/sync/field.field.node.collection_object.field_access_control.yml +++ /dev/null @@ -1,29 +0,0 @@ -uuid: 1f872323-83c3-47c7-a7a9-798cd1ec1729 -langcode: en -status: true -dependencies: - config: - - field.storage.node.field_access_control - - node.type.collection_object - - taxonomy.vocabulary.islandora_access -id: node.collection_object.field_access_control -field_name: field_access_control -entity_type: node -bundle: collection_object -label: 'Access Control' -description: '' -required: true -translatable: false -default_value: { } -default_value_callback: '' -settings: - handler: 'default:taxonomy_term' - handler_settings: - target_bundles: - islandora_access: islandora_access - sort: - field: name - direction: asc - auto_create: false - auto_create_bundle: '' -field_type: entity_reference diff --git a/codebase/config/sync/field.field.node.islandora_object.field_access_control.yml b/codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml similarity index 94% rename from codebase/config/sync/field.field.node.islandora_object.field_access_control.yml rename to codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml index 347aebd9d..872e15775 100644 --- a/codebase/config/sync/field.field.node.islandora_object.field_access_control.yml +++ b/codebase/config/sync/field.field.node.islandora_object.field_access_terms.yml @@ -3,7 +3,7 @@ langcode: en status: true dependencies: config: - - field.storage.node.field_access_control + - field.storage.node.field_access_terms - node.type.islandora_object - taxonomy.vocabulary.islandora_access module: diff --git a/codebase/config/sync/field.storage.node.field_access_control.yml b/codebase/config/sync/field.storage.node.field_access_control.yml deleted file mode 100644 index 54bc2296b..000000000 --- a/codebase/config/sync/field.storage.node.field_access_control.yml +++ /dev/null @@ -1,24 +0,0 @@ -uuid: 09ebab33-9519-475e-9b30-d031a3de708c -langcode: en -status: true -dependencies: - module: - - field_permissions - - node - - taxonomy -third_party_settings: - field_permissions: - permission_type: custom -id: node.field_access_control -field_name: field_access_control -entity_type: node -type: entity_reference -settings: - target_type: taxonomy_term -module: core -locked: false -cardinality: -1 -translatable: true -indexes: { } -persist_with_no_fields: false -custom_storage: false diff --git a/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml b/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml index 0eb453e1a..75d2de3fd 100644 --- a/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml +++ b/codebase/config/sync/taxonomy.vocabulary.islandora_access.yml @@ -4,7 +4,7 @@ status: true dependencies: { } _core: default_config_hash: sQg5b6M8H_5jJt0gGa3xqAIh7ny7yU8TdHFwnwmzDdc -name: 'Islandora Access Communites' +name: 'Islandora Access' vid: islandora_access description: 'Terms used to limit, restrict or coordinate access among collections' weight: 1 diff --git a/codebase/config/sync/user.role.collection_level_admin.yml b/codebase/config/sync/user.role.collection_level_admin.yml index 17c64fd2e..e836c413f 100644 --- a/codebase/config/sync/user.role.collection_level_admin.yml +++ b/codebase/config/sync/user.role.collection_level_admin.yml @@ -89,6 +89,7 @@ permissions: - 'view all media revisions' - 'view checksums' - 'view collection_object revisions' + - 'view field_access_control' - 'view field_access_terms' - 'view islandora_object revisions' - 'view own field_access_control' diff --git a/codebase/config/sync/views.view.solr_search_content.yml b/codebase/config/sync/views.view.solr_search_content.yml index cf4ab426a..e0217d37a 100644 --- a/codebase/config/sync/views.view.solr_search_content.yml +++ b/codebase/config/sync/views.view.solr_search_content.yml @@ -4,7 +4,6 @@ status: true dependencies: config: - field.storage.node.field_abstract - - field.storage.node.field_access_control - field.storage.node.field_access_rights - field.storage.node.field_alternative_title - field.storage.node.field_citable_url @@ -5503,119 +5502,6 @@ display: multi_separator: ', ' entity_type: node plugin_id: search_api_field - field_access_control: - id: field_access_control - table: search_api_datasource_default_solr_index_entity_node - field: field_access_control - relationship: none - group_type: group - admin_label: '' - label: '' - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: false - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: target_id - type: entity_reference_label - settings: - link: true - group_column: target_id - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - field_rendering: true - fallback_handler: search_api_entity - fallback_options: - link_to_item: false - use_highlighting: false - multi_type: separator - multi_separator: ', ' - display_methods: - access_rights: - display_method: label - view_mode: default - copyright_and_use: - display_method: label - view_mode: default - corporate_body: - display_method: label - view_mode: default - family: - display_method: label - view_mode: default - genre: - display_method: label - view_mode: default - geo_location: - display_method: label - view_mode: default - islandora_access: - display_method: label - islandora_display: - display_method: label - view_mode: default - islandora_media_use: - display_method: label - view_mode: default - islandora_models: - display_method: label - view_mode: default - language: - display_method: label - view_mode: default - person: - display_method: label - view_mode: default - resource_types: - display_method: label - view_mode: default - subject: - display_method: label - view_mode: default - entity_type: node - plugin_id: search_api_field field_collection_contact_email: id: field_collection_contact_email table: search_api_datasource_default_solr_index_entity_node @@ -5701,7 +5587,6 @@ display: - 'user.node_grants:view' tags: - 'config:field.storage.node.field_abstract' - - 'config:field.storage.node.field_access_control' - 'config:field.storage.node.field_access_rights' - 'config:field.storage.node.field_alternative_title' - 'config:field.storage.node.field_citable_url' diff --git a/tests/10-migration-backend-tests/verification/verify_migrations_test.go b/tests/10-migration-backend-tests/verification/verify_migrations_test.go index f818b7630..fd8038716 100644 --- a/tests/10-migration-backend-tests/verification/verify_migrations_test.go +++ b/tests/10-migration-backend-tests/verification/verify_migrations_test.go @@ -622,6 +622,9 @@ func Test_VerifyCollection(t *testing.T) { relData := res.JsonApiData[0].JsonApiRelationships + strB, _ := json.Marshal(relData) + log.Println(string(strB)) + // Resolve and verify title language assert.NotNil(t, relData.TitleLanguage.Data) assert.Equal(t, "taxonomy_term", relData.TitleLanguage.Data.Type.entity()) From 4878161f8116b44920db9b5cd3435f97f22258f6 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Mon, 5 Apr 2021 16:03:38 -0400 Subject: [PATCH 17/22] Fixed the migration tests. Minor tweaks to other things. --- .../config/sync/search_api.index.default_solr_index.yml | 6 ++---- .../verification/verify_migrations_test.go | 3 --- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/codebase/config/sync/search_api.index.default_solr_index.yml b/codebase/config/sync/search_api.index.default_solr_index.yml index a873274f6..65a38fa1b 100644 --- a/codebase/config/sync/search_api.index.default_solr_index.yml +++ b/codebase/config/sync/search_api.index.default_solr_index.yml @@ -9,15 +9,13 @@ dependencies: - taxonomy - token - content_translation - - taxonomy - - token - search_api config: - - field.storage.node.body - field.storage.node.field_abstract - field.storage.node.field_access_rights - field.storage.node.field_access_terms - field.storage.node.field_alternative_title + - field.storage.node.body - field.storage.node.field_citable_url - field.storage.node.field_collection_contact_name - field.storage.node.field_collection_number @@ -37,7 +35,6 @@ dependencies: - field.storage.node.field_featured_item - field.storage.node.field_finding_aid - field.storage.node.field_genre - - field.storage.taxonomy_term.field_geo_alt_name - field.storage.node.field_geoportal_link - field.storage.node.field_image - field.storage.node.field_is_part_of @@ -57,6 +54,7 @@ dependencies: - field.storage.node.field_table_of_contents - field.storage.node.field_tags - field.storage.node.field_years + - field.storage.taxonomy_term.field_geo_alt_name - search_api.server.default_solr_server - core.entity_view_mode.node.search_index third_party_settings: diff --git a/tests/10-migration-backend-tests/verification/verify_migrations_test.go b/tests/10-migration-backend-tests/verification/verify_migrations_test.go index fd8038716..f818b7630 100644 --- a/tests/10-migration-backend-tests/verification/verify_migrations_test.go +++ b/tests/10-migration-backend-tests/verification/verify_migrations_test.go @@ -622,9 +622,6 @@ func Test_VerifyCollection(t *testing.T) { relData := res.JsonApiData[0].JsonApiRelationships - strB, _ := json.Marshal(relData) - log.Println(string(strB)) - // Resolve and verify title language assert.NotNil(t, relData.TitleLanguage.Data) assert.Equal(t, "taxonomy_term", relData.TitleLanguage.Data.Type.entity()) From 66b66655eef72ade9b6f49fafef00c526d35e856 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Tue, 6 Apr 2021 19:10:21 -0400 Subject: [PATCH 18/22] Updates snapshots upgrades search_api to 1.19 to fix a bug we were seeing fixes the corporate bodies csv test file to include a required field. --- codebase/composer.lock | 14 +++++++------- .../islandora_object-corporatebodies.csv | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/codebase/composer.lock b/codebase/composer.lock index e6414d588..3d75c81d3 100644 --- a/codebase/composer.lock +++ b/codebase/composer.lock @@ -5425,17 +5425,17 @@ }, { "name": "drupal/search_api", - "version": "1.18.0", + "version": "1.19.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/search_api.git", - "reference": "8.x-1.18" + "reference": "8.x-1.19" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.18.zip", - "reference": "8.x-1.18", - "shasum": "6cf1d6820ba55891e204bac40b6031ed15db482a" + "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.19.zip", + "reference": "8.x-1.19", + "shasum": "5654e9d02117e28c585d89a25ea3cc40d20c5019" }, "require": { "drupal/core": "^8.8 || ^9" @@ -5456,8 +5456,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.18", - "datestamp": "1605204423", + "version": "8.x-1.19", + "datestamp": "1612192040", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" diff --git a/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-corporatebodies.csv b/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-corporatebodies.csv index 0ed0d4ca8..aaef52ec1 100644 --- a/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-corporatebodies.csv +++ b/tests/10-migration-backend-tests/testcafe/migrations/islandora_object-corporatebodies.csv @@ -1,3 +1,3 @@ local_id,name,primary_name,subordinate_name,date_of_meeting_or_treaty,location_of_meeting,num_of_section_or_meet,alt_date_of_meeting,alt_location_of_meeting,alt_number_of_section_or_meeting,alt_primary_name,alt_subordinate_name,relationships,date,authority,description -io-corp_01,Ansel Adams Publishing Rights Trust,,,,,,,,,,,,1974,,

The Ansel Adams Publishing Rights Trust manages copyright for works by Ansel Adams.

-io-corp_02,Mountain Light Gallery,,,,,,,,,,,,1983,,"Mountain Light is a multi-faceted business, established in 1983 by Galen and Barbara Rowell. Mountain Light Gallery is open to the public, although Mountain Light’s core business is an image licensing department, housing hundreds of thousands of Galen’s and Barbara’s color images." +io-corp_01,Ansel Adams Publishing Rights Trust,Ansel Adams Publishing Rights Trust,,,,,,,,,,,1974,,

The Ansel Adams Publishing Rights Trust manages copyright for works by Ansel Adams.

+io-corp_02,Mountain Light Gallery,Mountain Light Gallery,,,,,,,,,,,1983,,"Mountain Light is a multi-faceted business, established in 1983 by Galen and Barbara Rowell. Mountain Light Gallery is open to the public, although Mountain Light’s core business is an image licensing department, housing hundreds of thousands of Galen’s and Barbara’s color images." From 4c8dc61ca8b1e10001c5b083bc505b87f6ae75fd Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Wed, 7 Apr 2021 16:09:29 -0400 Subject: [PATCH 19/22] Updates the snapshot image info in env. --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index 3ccf6cef4..4875c3581 100644 --- a/.env +++ b/.env @@ -69,7 +69,7 @@ REPOSITORY=ghcr.io/jhu-sheridan-libraries/idc-isle-dc TAG=upstream-20200824-f8d1e8e-23-g9fe79fc # Docker image and tag for snapshot image -SNAPSHOT_TAG=upstream-20201007-739693ae-233-g5a043ef.1618257390 +SNAPSHOT_TAG=upstream-20201007-739693ae-247-gef3b6df.1617825608 # IdP, SP entity URIs and base URLs SP_BASEURL=https://islandora-idc.traefik.me From 3f7e2b684e28683703cf80ef6ac305d9cdd364d4 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Fri, 16 Apr 2021 11:48:20 -0400 Subject: [PATCH 20/22] Changes call to `get` to `getSingle` in a few spots. --- .../verification/verify_migrations_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/10-migration-backend-tests/verification/verify_migrations_test.go b/tests/10-migration-backend-tests/verification/verify_migrations_test.go index f818b7630..ac495ba47 100644 --- a/tests/10-migration-backend-tests/verification/verify_migrations_test.go +++ b/tests/10-migration-backend-tests/verification/verify_migrations_test.go @@ -249,7 +249,7 @@ func Test_VerifyTaxonomyCopyrightAndUse(t *testing.T) { // retrieve json of the migrated entity from the jsonapi and unmarshal the single response copyrightRes := &JsonApiCopyrightAndUse{} - u.get(copyrightRes) + u.getSingle(copyrightRes) actual := copyrightRes.JsonApiData[0] assert.Equal(t, expectedJson.Type, actual.Type.entity()) @@ -285,7 +285,7 @@ func Test_VerifyTaxonomyTermResourceType(t *testing.T) { // retrieve json of the migrated entity from the jsonapi and unmarshal the single response res := &JsonApiResourceType{} - u.get(res) + u.getSingle(res) actual := res.JsonApiData[0] assert.Equal(t, expectedJson.Type, actual.Type.entity()) From 01451850b4a0ddd99163f88e7d8b7cf19df159b5 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Mon, 19 Apr 2021 10:59:51 -0400 Subject: [PATCH 21/22] Reverts formatting changes that were unnecessary. --- .../verification/verify_migrations_test.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/10-migration-backend-tests/verification/verify_migrations_test.go b/tests/10-migration-backend-tests/verification/verify_migrations_test.go index ac495ba47..c89b34cc8 100644 --- a/tests/10-migration-backend-tests/verification/verify_migrations_test.go +++ b/tests/10-migration-backend-tests/verification/verify_migrations_test.go @@ -5,6 +5,8 @@ import ( "encoding/json" "errors" "fmt" + . "github.com/logrusorgru/aurora/v3" + "github.com/stretchr/testify/assert" "io" "io/ioutil" "log" @@ -13,9 +15,6 @@ import ( "path/filepath" "strings" "testing" - - . "github.com/logrusorgru/aurora/v3" - "github.com/stretchr/testify/assert" ) const ( From 35380af0d832027ff926b0121447e4ba7c1c1536 Mon Sep 17 00:00:00 2001 From: Bethany Seeger Date: Mon, 19 Apr 2021 14:05:48 -0400 Subject: [PATCH 22/22] Updates snapshot for dev changes. --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index 4875c3581..dc38d2284 100644 --- a/.env +++ b/.env @@ -69,7 +69,7 @@ REPOSITORY=ghcr.io/jhu-sheridan-libraries/idc-isle-dc TAG=upstream-20200824-f8d1e8e-23-g9fe79fc # Docker image and tag for snapshot image -SNAPSHOT_TAG=upstream-20201007-739693ae-247-gef3b6df.1617825608 +SNAPSHOT_TAG=upstream-20201007-739693ae-251-g0145185.1618855066 # IdP, SP entity URIs and base URLs SP_BASEURL=https://islandora-idc.traefik.me