diff --git a/composer.json b/composer.json index e1dfd1f1..3647f163 100755 --- a/composer.json +++ b/composer.json @@ -51,6 +51,7 @@ "drupal/islandora": "^2.8.1", "drupal/matomo": "^1.19", "drupal/openseadragon": "^2", + "drupal/pathauto": "^1.12", "drupal/pdf": "^1.1", "drupal/rest_oai_pmh": "^2.0@beta", "drupal/search_api_solr": "^4.2", diff --git a/composer.lock b/composer.lock index 8fed113b..f614688b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ef26c5e6fded68dd1a75b40c14195b24", + "content-hash": "6b5070205426703bb4bba0b641b7bab8", "packages": [ { "name": "adci/full-name-parser", @@ -4363,6 +4363,74 @@ "issues": "https://github.com/Islandora/documentation/issues" } }, + { + "name": "drupal/pathauto", + "version": "1.12.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/pathauto.git", + "reference": "8.x-1.12" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.12.zip", + "reference": "8.x-1.12", + "shasum": "b7b6432e315e38e59a7c6cc117134326c580de4c" + }, + "require": { + "drupal/core": "^9.3 || ^10", + "drupal/ctools": "*", + "drupal/token": "*" + }, + "suggest": { + "drupal/redirect": "When installed Pathauto will provide a new \"Update Action\" in case your URLs change. This is the recommended update action and is considered the best practice for SEO and usability." + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "8.x-1.12", + "datestamp": "1712319355", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + }, + "drush": { + "services": { + "drush.services.yml": "^9 || ^10" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Berdir", + "homepage": "https://www.drupal.org/user/214652" + }, + { + "name": "Dave Reid", + "homepage": "https://www.drupal.org/user/53892" + }, + { + "name": "Freso", + "homepage": "https://www.drupal.org/user/27504" + }, + { + "name": "greggles", + "homepage": "https://www.drupal.org/user/36762" + } + ], + "description": "Provides a mechanism for modules to automatically generate aliases for the content they manage.", + "homepage": "https://www.drupal.org/project/pathauto", + "support": { + "source": "https://cgit.drupalcode.org/pathauto", + "issues": "https://www.drupal.org/project/issues/pathauto", + "documentation": "https://www.drupal.org/docs/8/modules/pathauto" + } + }, { "name": "drupal/pdf", "version": "1.2.0", @@ -12263,5 +12331,5 @@ "php": "^7.4 || ^8" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 2bc0e389..609e6ef2 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -117,6 +117,7 @@ module: views_field_view: 0 views_nested_details: 0 views_ui: 0 + pathauto: 1 content_translation: 10 views: 10 minimal: 1000 diff --git a/config/sync/pathauto.pattern.repository_items.yml b/config/sync/pathauto.pattern.repository_items.yml new file mode 100644 index 00000000..1d5d95ef --- /dev/null +++ b/config/sync/pathauto.pattern.repository_items.yml @@ -0,0 +1,22 @@ +uuid: fcfd7e6c-74c8-4f8d-83c0-79b75d55feee +langcode: en +status: true +dependencies: + module: + - node +id: repository_items +label: 'Repository Items' +type: 'canonical_entities:node' +pattern: 'islandora/[node:title]' +selection_criteria: + edf28a5a-6fa6-4c20-a64d-d63582ccc3d5: + id: 'entity_bundle:node' + negate: false + uuid: edf28a5a-6fa6-4c20-a64d-d63582ccc3d5 + context_mapping: + node: node + bundles: + islandora_object: islandora_object +selection_logic: and +weight: -5 +relationships: { } diff --git a/config/sync/pathauto.settings.yml b/config/sync/pathauto.settings.yml new file mode 100644 index 00000000..d87d7d7a --- /dev/null +++ b/config/sync/pathauto.settings.yml @@ -0,0 +1,52 @@ +_core: + default_config_hash: SwvLp8snyPEExF41CaJJYdPUVomofLqtXvwciHc4cPg +enabled_entity_types: { } +punctuation: + double_quotes: 0 + quotes: 0 + backtick: 0 + comma: 0 + period: 0 + hyphen: 1 + underscore: 0 + colon: 0 + semicolon: 0 + pipe: 0 + left_curly: 0 + left_square: 0 + right_curly: 0 + right_square: 0 + plus: 0 + equal: 0 + asterisk: 0 + ampersand: 0 + percent: 0 + caret: 0 + dollar: 0 + hash: 0 + at: 0 + exclamation: 0 + tilde: 0 + left_parenthesis: 0 + right_parenthesis: 0 + question_mark: 0 + less_than: 0 + greater_than: 0 + slash: 0 + back_slash: 0 +verbose: false +separator: '-' +max_length: 100 +max_component_length: 100 +transliterate: true +reduce_ascii: false +case: true +ignore_words: 'a, an, as, at, before, but, by, for, from, is, in, into, like, of, off, on, onto, per, since, than, the, this, that, to, up, via, with' +update_action: 2 +safe_tokens: + - alias + - path + - join-path + - login-url + - url + - url-brief diff --git a/config/sync/system.action.pathauto_update_alias_node.yml b/config/sync/system.action.pathauto_update_alias_node.yml new file mode 100644 index 00000000..17eae75b --- /dev/null +++ b/config/sync/system.action.pathauto_update_alias_node.yml @@ -0,0 +1,16 @@ +uuid: 6a3405b3-540b-4a77-b5b3-e6079c65c17a +langcode: en +status: true +dependencies: + module: + - pathauto + enforced: + module: + - node +_core: + default_config_hash: lno8QThS348UX-kaUsagJtCnuPHKLXYnTQiF_9HSDWA +id: pathauto_update_alias_node +label: 'Update URL alias' +type: node +plugin: pathauto_update_alias +configuration: { } diff --git a/config/sync/system.action.pathauto_update_alias_user.yml b/config/sync/system.action.pathauto_update_alias_user.yml new file mode 100644 index 00000000..b827f101 --- /dev/null +++ b/config/sync/system.action.pathauto_update_alias_user.yml @@ -0,0 +1,16 @@ +uuid: 07895083-7110-4cce-ad00-962cf1027351 +langcode: en +status: true +dependencies: + module: + - pathauto + enforced: + module: + - user +_core: + default_config_hash: x_ok_ZsfA4Xk4B_hVW3O4-3PcNoK57nXLz_Dlletidg +id: pathauto_update_alias_user +label: 'Update URL alias' +type: user +plugin: pathauto_update_alias +configuration: { }