diff --git a/.ddev/config.yaml b/.ddev/config.yaml index f6ef387..ed95166 100644 --- a/.ddev/config.yaml +++ b/.ddev/config.yaml @@ -26,7 +26,7 @@ corepack_enable: false # docroot: # Relative path to the directory containing index.php. -# php_version: "8.2" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3" +# php_version: "8.2" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2", "8.3", "8.4" # You can explicitly specify the webimage but this # is not recommended, as the images are often closely tied to DDEV's' behavior, @@ -80,12 +80,10 @@ corepack_enable: false # nodejs_version: "20" # change from the default system Node.js version to any other version. -# Numeric version numbers can be complete (i.e. 18.15.0) or -# incomplete (18, 17.2, 16). 'lts' and 'latest' can be used as well along with -# other named releases. -# see https://www.npmjs.com/package/n#specifying-nodejs-versions -# Note that you can continue using 'ddev nvm' or nvm inside the web container -# to change the project's installed node version if you need to. +# See https://ddev.readthedocs.io/en/stable/users/configuration/config/#nodejs_version for more information +# and https://www.npmjs.com/package/n#specifying-nodejs-versions for the full documentation, +# Note that using of 'ddev nvm' is discouraged because "nodejs_version" is much easier to use, +# can specify any version, and is more robust than using 'nvm'. # corepack_enable: false # Change to 'true' to 'corepack enable' and gain access to latest versions of yarn/pnpm diff --git a/composer.json b/composer.json index e8e39a2..a390f4d 100644 --- a/composer.json +++ b/composer.json @@ -16,14 +16,19 @@ ], "require": { "composer/installers": "^2.0", + "cweagans/composer-patches": "^1.7", "drupal/admin_toolbar": "^3.4", "drupal/core-composer-scaffold": "10.3.2", "drupal/core-project-message": "10.3.2", "drupal/core-recommended": "10.3.2", "drupal/entity_browser": "^2.10", + "drupal/entity_workflow": "^2.0@alpha", "drupal/gin": "^3.0@RC", "drupal/inline_entity_form": "^3.0@RC", "drupal/paragraphs": "^1.17", + "drupal/rules": "^4.0", + "drupal/serial": "^2.0@beta", + "drupal/workflows_field": "^2.1", "drush/drush": "^12.5" }, "conflict": { @@ -38,7 +43,8 @@ "drupal/core-project-message": true, "phpstan/extension-installer": true, "dealerdirect/phpcodesniffer-composer-installer": true, - "php-http/discovery": true + "php-http/discovery": true, + "cweagans/composer-patches": true }, "sort-packages": true }, @@ -48,6 +54,10 @@ "web-root": "web/" } }, + "enable-patching": true, + "patchLevel": { + "drupal/core": "-p2" + }, "installer-paths": { "web/core": [ "type:drupal-core" @@ -77,6 +87,11 @@ "type:drupal-custom-theme" ] }, + "patches": { + "drupal/serial": { + "Issue 2929297: Disabled widget addition": "https://www.drupal.org/files/issues/2024-03-07/serial-disabled_widget-2929297-10.patch" + } + }, "drupal-core-project-message": { "include-keys": [ "homepage", diff --git a/composer.lock b/composer.lock index 3c14f60..a0fabd9 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": "0d1e02f42077ecccbff8dd2536cc47cd", + "content-hash": "171956ed4a7ef04770ed3ffc63521d88", "packages": [ { "name": "asm89/stack-cors", @@ -865,18 +865,66 @@ }, "time": "2024-04-06T00:00:28+00:00" }, + { + "name": "cweagans/composer-patches", + "version": "1.7.3", + "source": { + "type": "git", + "url": "https://github.com/cweagans/composer-patches.git", + "reference": "e190d4466fe2b103a55467dfa83fc2fecfcaf2db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cweagans/composer-patches/zipball/e190d4466fe2b103a55467dfa83fc2fecfcaf2db", + "reference": "e190d4466fe2b103a55467dfa83fc2fecfcaf2db", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=5.3.0" + }, + "require-dev": { + "composer/composer": "~1.0 || ~2.0", + "phpunit/phpunit": "~4.6" + }, + "type": "composer-plugin", + "extra": { + "class": "cweagans\\Composer\\Patches" + }, + "autoload": { + "psr-4": { + "cweagans\\Composer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Cameron Eagans", + "email": "me@cweagans.net" + } + ], + "description": "Provides a way to patch Composer packages.", + "support": { + "issues": "https://github.com/cweagans/composer-patches/issues", + "source": "https://github.com/cweagans/composer-patches/tree/1.7.3" + }, + "time": "2022-12-20T22:53:13+00:00" + }, { "name": "dflydev/dot-access-data", - "version": "v3.0.2", + "version": "v3.0.3", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "f41715465d65213d644d3141a6a93081be5d3549" + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", - "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", "shasum": "" }, "require": { @@ -936,9 +984,9 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" }, - "time": "2022-10-27T11:44:00+00:00" + "time": "2024-07-08T12:26:09+00:00" }, { "name": "doctrine/annotations", @@ -1143,20 +1191,20 @@ }, { "name": "drupal/admin_toolbar", - "version": "3.4.2", + "version": "3.5.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/admin_toolbar.git", - "reference": "3.4.2" + "reference": "3.5.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.4.2.zip", - "reference": "3.4.2", - "shasum": "f5a008e5c73f5a11c6c8067c0ea6ebb76aa33854" + "url": "https://ftp.drupal.org/files/projects/admin_toolbar-3.5.0.zip", + "reference": "3.5.0", + "shasum": "099e8d4dc98e1d551b4f9cffdc39599eb8ad04e8" }, "require": { - "drupal/core": "^9.2 || ^10" + "drupal/core": "^9.5 || ^10 || ^11" }, "require-dev": { "drupal/admin_toolbar_tools": "*" @@ -1164,8 +1212,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.4.2", - "datestamp": "1696006195", + "version": "3.5.0", + "datestamp": "1722639094", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1198,6 +1246,10 @@ "homepage": "https://www.drupal.org/u/matio89", "role": "Maintainer" }, + { + "name": "japerry", + "homepage": "https://www.drupal.org/user/45640" + }, { "name": "matio89", "homepage": "https://www.drupal.org/user/2320090" @@ -1564,20 +1616,20 @@ }, { "name": "drupal/entity_browser", - "version": "2.10.0", + "version": "2.11.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_browser.git", - "reference": "8.x-2.10" + "reference": "8.x-2.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_browser-8.x-2.10.zip", - "reference": "8.x-2.10", - "shasum": "d52548ea66dc56108c2e211aeaff6e1cc0522e85" + "url": "https://ftp.drupal.org/files/projects/entity_browser-8.x-2.11.zip", + "reference": "8.x-2.11", + "shasum": "4ead3d3f9f6365fbc25cfbd0edcc5e0a9cc52e02" }, "require": { - "drupal/core": "^9.5 || ^10" + "drupal/core": "^10.2 || ^11" }, "conflict": { "drupal/media_entity": "1.*" @@ -1590,13 +1642,14 @@ "drupal/entityqueue": "^1.0", "drupal/inline_entity_form": "^1.0@rc", "drupal/paragraphs": "^1.0", + "drupal/search_api": "^1.0", "drupal/token": "^1.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.10", - "datestamp": "1702325310", + "version": "8.x-2.11", + "datestamp": "1723378138", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1658,29 +1711,29 @@ }, { "name": "drupal/entity_reference_revisions", - "version": "1.11.0", + "version": "1.12.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_reference_revisions.git", - "reference": "8.x-1.11" + "reference": "8.x-1.12" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_reference_revisions-8.x-1.11.zip", - "reference": "8.x-1.11", - "shasum": "de21cbb0d8a0344dc3496addcad4ed536747cec5" + "url": "https://ftp.drupal.org/files/projects/entity_reference_revisions-8.x-1.12.zip", + "reference": "8.x-1.12", + "shasum": "2a2ff8617c7ce01b56df1caaf0a563da04948e26" }, "require": { - "drupal/core": "^9 || ^10" + "drupal/core": "^9 || ^10 || ^11" }, "require-dev": { - "drupal/diff": "1.x-dev" + "drupal/diff": "^1 || ^2" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.11", - "datestamp": "1705140721", + "version": "8.x-1.12", + "datestamp": "1722804497", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1720,6 +1773,61 @@ "source": "https://git.drupalcode.org/project/entity_reference_revisions" } }, + { + "name": "drupal/entity_workflow", + "version": "2.0.0-alpha10", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/entity_workflow.git", + "reference": "2.0.0-alpha10" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/entity_workflow-2.0.0-alpha10.zip", + "reference": "2.0.0-alpha10", + "shasum": "5bfb16d1ba4ee1f41774c7504adaace1972c30b6" + }, + "require": { + "drupal/core": "^9.2 || ^10" + }, + "require-dev": { + "drupal/wse": "*" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "2.0.0-alpha10", + "datestamp": "1717520404", + "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": "amateescu", + "homepage": "https://www.drupal.org/user/729614" + }, + { + "name": "douggreen", + "homepage": "https://www.drupal.org/user/29191" + }, + { + "name": "merlinofchaos", + "homepage": "https://www.drupal.org/user/26979" + } + ], + "description": "Provides workflows for entities.", + "homepage": "https://www.drupal.org/project/entity_workflow", + "support": { + "source": "https://git.drupalcode.org/project/entity_workflow" + } + }, { "name": "drupal/gin", "version": "3.0.0-rc13", @@ -1843,20 +1951,21 @@ }, { "name": "drupal/inline_entity_form", - "version": "3.0.0-rc19", + "version": "3.0.0-rc20", "source": { "type": "git", "url": "https://git.drupalcode.org/project/inline_entity_form.git", - "reference": "3.0.0-rc19" + "reference": "3.0.0-rc20" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/inline_entity_form-3.0.0-rc19.zip", - "reference": "3.0.0-rc19", - "shasum": "d8976940dd3f85412ba5e274af15fbcdd22ee27a" + "url": "https://ftp.drupal.org/files/projects/inline_entity_form-3.0.0-rc20.zip", + "reference": "3.0.0-rc20", + "shasum": "c9ad4572bce4260d1d233a0c3196e4ff0915e4ee" }, "require": { - "drupal/core": "^8.8 || ^9 || ^10", + "drupal/core": "^8.8 || ^9 || ^10 || ^11", + "drupal/rat": "^1.0.0@stable", "php": ">=7.1" }, "require-dev": { @@ -1865,8 +1974,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.0.0-rc19", - "datestamp": "1704729077", + "version": "3.0.0-rc20", + "datestamp": "1722000368", "security-coverage": { "status": "not-covered", "message": "RC releases are not covered by Drupal security advisories." @@ -1935,20 +2044,20 @@ }, { "name": "drupal/paragraphs", - "version": "1.17.0", + "version": "1.18.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/paragraphs.git", - "reference": "8.x-1.17" + "reference": "8.x-1.18" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/paragraphs-8.x-1.17.zip", - "reference": "8.x-1.17", - "shasum": "81c05f6a1eb59ab957c9ac97b2e79d6c9837bd72" + "url": "https://ftp.drupal.org/files/projects/paragraphs-8.x-1.18.zip", + "reference": "8.x-1.18", + "shasum": "594e2937ea5c95fc88b60420590c4d83f5cd71ee" }, "require": { - "drupal/core": "^9.3 || ^10", + "drupal/core": "^10.2 || ^11", "drupal/entity_reference_revisions": "~1.3" }, "require-dev": { @@ -1956,6 +2065,7 @@ "drupal/diff": "1.x-dev", "drupal/entity_browser": "2.x-dev", "drupal/entity_usage": "2.x-dev", + "drupal/feeds": "^3", "drupal/field_group": "3.x-dev", "drupal/inline_entity_form": "1.x-dev", "drupal/paragraphs-paragraphs_library": "*", @@ -1969,8 +2079,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.17", - "datestamp": "1709804220", + "version": "8.x-1.18", + "datestamp": "1723029144", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2013,18 +2123,296 @@ "source": "https://git.drupalcode.org/project/paragraphs" } }, + { + "name": "drupal/rat", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/rat.git", + "reference": "28202b02262a39ac8dbbfd43696b67c0c8c46b71" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "drupal/core": "^9.4", + "drupal/core-dev": "^9.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Drupal\\rat\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "gpl-2.0-or-later" + ], + "authors": [ + { + "name": "Merlin", + "email": "merlin@geeks4change.net" + } + ], + "time": "2023-07-19T20:22:22+00:00" + }, + { + "name": "drupal/rules", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/rules.git", + "reference": "4.0.0" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/rules-4.0.0.zip", + "reference": "4.0.0", + "shasum": "685c8cbcf7950e07459957f4536df77d9bf53531" + }, + "require": { + "drupal/core": "^10.3 || ^11", + "drupal/typed_data": "^2.1" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "4.0.0", + "datestamp": "1721935272", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + }, + "drush": { + "services": { + "drush.services.yml": ">=9" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "fago", + "homepage": "https://www.drupal.org/user/16747" + }, + { + "name": "klausi", + "homepage": "https://www.drupal.org/user/262198" + }, + { + "name": "TR", + "homepage": "https://www.drupal.org/user/202830" + } + ], + "description": "React on events and conditionally evaluate actions.", + "homepage": "https://www.drupal.org/project/rules", + "support": { + "source": "https://git.drupalcode.org/project/rules", + "issues": "https://www.drupal.org/project/issues/rules" + } + }, + { + "name": "drupal/serial", + "version": "2.0.0-beta3", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/serial.git", + "reference": "2.0.0-beta3" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/serial-2.0.0-beta3.zip", + "reference": "2.0.0-beta3", + "shasum": "5a21f3d68bc7561426cd62ef8bdd3e80c756ca87" + }, + "require": { + "drupal/core": "^9 || ^10" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "2.0.0-beta3", + "datestamp": "1709269000", + "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+" + ], + "authors": [ + { + "name": "benjifisher", + "homepage": "https://www.drupal.org/user/683300" + }, + { + "name": "BR0kEN", + "homepage": "https://www.drupal.org/user/2802285" + }, + { + "name": "colan", + "homepage": "https://www.drupal.org/user/58704" + }, + { + "name": "colorfield", + "homepage": "https://www.drupal.org/user/2295486" + }, + { + "name": "kirsh", + "homepage": "https://www.drupal.org/user/422425" + }, + { + "name": "kuhikar", + "homepage": "https://www.drupal.org/user/3241981" + }, + { + "name": "metallized", + "homepage": "https://www.drupal.org/user/3087337" + } + ], + "description": "Defines atomic auto increment (serial) field type.", + "homepage": "https://www.drupal.org/project/serial", + "keywords": [ + "Drupal" + ], + "support": { + "source": "http://cgit.drupalcode.org/serial", + "issues": "https://www.drupal.org/project/issues/serial" + } + }, + { + "name": "drupal/typed_data", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/typed_data.git", + "reference": "2.1.0" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/typed_data-2.1.0.zip", + "reference": "2.1.0", + "shasum": "24e76b2add189b8d6baaf177f2e636b1c4cc5417" + }, + "require": { + "drupal/core": "^10.3 | ^11" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "2.1.0", + "datestamp": "1720651977", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + }, + "drush": { + "services": { + "drush.services.yml": ">=9" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "fago", + "homepage": "https://www.drupal.org/user/16747" + }, + { + "name": "TR", + "homepage": "https://www.drupal.org/user/202830" + } + ], + "description": "Extends the core Typed Data API with new APIs and features.", + "homepage": "https://www.drupal.org/project/typed_data", + "support": { + "source": "https://git.drupalcode.org/project/typed_data", + "issues": "https://www.drupal.org/project/issues/typed_data" + } + }, + { + "name": "drupal/workflows_field", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/workflows_field.git", + "reference": "2.1.0" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/workflows_field-2.1.0.zip", + "reference": "2.1.0", + "shasum": "b00b1890dd695515ecec10f1eda740821055e6e1" + }, + "require": { + "drupal/core": ">=10.1" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1", + "drupal/core-dev": ">=10.1", + "phpstan/extension-installer": "^1.3", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-deprecation-rules": "*", + "previousnext/coding-standard": "^0.1.2" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "2.1.0", + "datestamp": "1700038657", + "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": "dpi", + "homepage": "https://www.drupal.org/user/81431" + }, + { + "name": "Sam152", + "homepage": "https://www.drupal.org/user/1485048" + } + ], + "description": "Workflows Field", + "homepage": "https://www.drupal.org/project/workflows_field", + "keywords": [ + "Drupal" + ], + "support": { + "source": "https://git.drupalcode.org/project/workflows_field", + "issues": "https://www.drupal.org/project/issues/workflows_field" + } + }, { "name": "drush/drush", - "version": "12.5.2", + "version": "12.5.3", "source": { "type": "git", "url": "https://github.com/drush-ops/drush.git", - "reference": "4aebed85dc818ff762f2e24a85b023d2a52050df" + "reference": "7fe0a492d5126c457c5fb184c4668a132b0aaac6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drush-ops/drush/zipball/4aebed85dc818ff762f2e24a85b023d2a52050df", - "reference": "4aebed85dc818ff762f2e24a85b023d2a52050df", + "url": "https://api.github.com/repos/drush-ops/drush/zipball/7fe0a492d5126c457c5fb184c4668a132b0aaac6", + "reference": "7fe0a492d5126c457c5fb184c4668a132b0aaac6", "shasum": "" }, "require": { @@ -2147,7 +2535,7 @@ "issues": "https://github.com/drush-ops/drush/issues", "security": "https://github.com/drush-ops/drush/security/advisories", "slack": "https://drupal.slack.com/messages/C62H9CWQM", - "source": "https://github.com/drush-ops/drush/tree/12.5.2" + "source": "https://github.com/drush-ops/drush/tree/12.5.3" }, "funding": [ { @@ -2155,7 +2543,7 @@ "type": "github" } ], - "time": "2024-05-02T17:20:48+00:00" + "time": "2024-08-02T11:57:29+00:00" }, { "name": "egulias/email-validator", @@ -3612,16 +4000,16 @@ }, { "name": "psr/log", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "reference": "79dff0b268932c640297f5208d6298f71855c03e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/log/zipball/79dff0b268932c640297f5208d6298f71855c03e", + "reference": "79dff0b268932c640297f5208d6298f71855c03e", "shasum": "" }, "require": { @@ -3656,9 +4044,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.1" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2024-08-21T13:31:24+00:00" }, { "name": "psy/psysh", @@ -6629,8 +7017,10 @@ "aliases": [], "minimum-stability": "dev", "stability-flags": { + "drupal/entity_workflow": 15, "drupal/gin": 5, - "drupal/inline_entity_form": 5 + "drupal/inline_entity_form": 5, + "drupal/serial": 10 }, "prefer-stable": true, "prefer-lowest": false, diff --git a/web/modules/custom/magazine_issues/config/install/core.entity_view_display.node.magazine_issues.teaser.yml b/web/modules/custom/magazine_issues/config/install/core.entity_view_display.node.magazine_issues.teaser.yml new file mode 100644 index 0000000..f5104df --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/core.entity_view_display.node.magazine_issues.teaser.yml @@ -0,0 +1,36 @@ +uuid: cd50fd6f-5f96-4ef0-a074-1618c5597a27 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.teaser + - field.field.node.magazine_issues.field_content + - field.field.node.magazine_issues.field_cover_image + - field.field.node.magazine_issues.field_issue_number + - field.field.node.magazine_issues.field_publication_date + - node.type.magazine_issues + module: + - user +_core: + default_config_hash: llr6wjSJnngE1zf3Gg9B9MKiDBqNFFcMsdDCTADFnnU +id: node.magazine_issues.teaser +targetEntityType: node +bundle: magazine_issues +mode: teaser +content: + content_moderation_control: + settings: { } + third_party_settings: { } + weight: -20 + region: content + links: + settings: { } + third_party_settings: { } + weight: 100 + region: content +hidden: + field_content: true + field_cover_image: true + field_issue_number: true + field_publication_date: true + langcode: true diff --git a/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_content.yml b/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_content.yml new file mode 100644 index 0000000..2199c6b --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_content.yml @@ -0,0 +1,26 @@ +uuid: f22b34aa-67fe-4798-9fcc-afd283992ad6 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_content + - filter.format.full_html + - node.type.magazine_issues + module: + - text +_core: + default_config_hash: oTHTKgSnn9ar2Y642PIXwwtCblWX5u3DX19HZl-x6Xw +id: node.magazine_issues.field_content +field_name: field_content +entity_type: node +bundle: magazine_issues +label: Content +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + allowed_formats: + - full_html +field_type: text_long diff --git a/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_cover_image.yml b/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_cover_image.yml new file mode 100644 index 0000000..304ffdb --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_cover_image.yml @@ -0,0 +1,40 @@ +uuid: ab559683-bc70-43bb-9308-424deeb3f204 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_cover_image + - node.type.magazine_issues + module: + - image +_core: + default_config_hash: 9Jwa6MWC_3tkTxHuKpIVW6h1VdXBlUznnTZHxFV1lN0 +id: node.magazine_issues.field_cover_image +field_name: field_cover_image +entity_type: node +bundle: magazine_issues +label: 'Cover image' +description: '' +required: true +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:file' + handler_settings: { } + file_directory: '[date:custom:Y]-[date:custom:m]' + file_extensions: 'png gif jpg jpeg webp' + max_filesize: '' + max_resolution: '' + min_resolution: '' + alt_field: true + alt_field_required: false + title_field: true + title_field_required: false + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null +field_type: image diff --git a/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_issue_number.yml b/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_issue_number.yml new file mode 100644 index 0000000..386a146 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_issue_number.yml @@ -0,0 +1,25 @@ +uuid: 1506dde3-6df1-4c71-a0c3-f1b126523a2f +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_issue_number + - node.type.magazine_issues + module: + - serial +_core: + default_config_hash: nEAkxAQmOzqKHBOj1ZOyR0XWe-1_cOE79iv7rZgqdCU +id: node.magazine_issues.field_issue_number +field_name: field_issue_number +entity_type: node +bundle: magazine_issues +label: 'Issue number' +description: '' +required: false +translatable: false +default_value: + - + value: 1 +default_value_callback: '' +settings: { } +field_type: serial diff --git a/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_publication_date.yml b/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_publication_date.yml new file mode 100644 index 0000000..9dcaefa --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/field.field.node.magazine_issues.field_publication_date.yml @@ -0,0 +1,26 @@ +uuid: d060d6ca-c63b-4cbe-933c-d44b98467dd4 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_publication_date + - node.type.magazine_issues + module: + - datetime +_core: + default_config_hash: yZKjH9DwPc7TI3U52If1JKwnK0twdjNuoI-esE7J2eU +id: node.magazine_issues.field_publication_date +field_name: field_publication_date +entity_type: node +bundle: magazine_issues +label: 'Publication date' +description: '' +required: true +translatable: false +default_value: + - + default_date_type: now + default_date: now +default_value_callback: '' +settings: { } +field_type: datetime diff --git a/web/modules/custom/magazine_issues/config/install/field.storage.node.field_content.yml b/web/modules/custom/magazine_issues/config/install/field.storage.node.field_content.yml new file mode 100644 index 0000000..cf771e5 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/field.storage.node.field_content.yml @@ -0,0 +1,21 @@ +uuid: 7ed91279-67a9-4d84-98e1-47fa7d17295f +langcode: en +status: true +dependencies: + module: + - node + - text +_core: + default_config_hash: MFZGyku_NvZqR0GauwePjV6Q_Iy7GDUh7VWT_Mce9ug +id: node.field_content +field_name: field_content +entity_type: node +type: text_long +settings: { } +module: text +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/modules/custom/magazine_issues/config/install/field.storage.node.field_cover_image.yml b/web/modules/custom/magazine_issues/config/install/field.storage.node.field_cover_image.yml new file mode 100644 index 0000000..f2b14e3 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/field.storage.node.field_cover_image.yml @@ -0,0 +1,32 @@ +uuid: 939b2526-925f-4c0f-af96-d509cd44a0d6 +langcode: en +status: true +dependencies: + module: + - file + - image + - node +_core: + default_config_hash: 7LV3ICnPFwGSIG6arVLEpOdLd61wnq9B1pdg4AuCL2s +id: node.field_cover_image +field_name: field_cover_image +entity_type: node +type: image +settings: + target_type: file + display_field: false + display_default: false + uri_scheme: public + default_image: + uuid: '' + alt: '' + title: '' + width: null + height: null +module: image +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/modules/custom/magazine_issues/config/install/field.storage.node.field_issue_number.yml b/web/modules/custom/magazine_issues/config/install/field.storage.node.field_issue_number.yml new file mode 100644 index 0000000..479ec30 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/field.storage.node.field_issue_number.yml @@ -0,0 +1,23 @@ +uuid: 1c66d536-9804-4dbc-b495-5f7cb33ba57a +langcode: en +status: true +dependencies: + module: + - node + - serial +_core: + default_config_hash: XtWmuol2G2n4RzzNhDKLgHyyV3SlF2-Uf5W7IfBZp2E +id: node.field_issue_number +field_name: field_issue_number +entity_type: node +type: serial +settings: + start_value: 1 + init_existing_entities: 0 +module: serial +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/modules/custom/magazine_issues/config/install/field.storage.node.field_publication_date.yml b/web/modules/custom/magazine_issues/config/install/field.storage.node.field_publication_date.yml new file mode 100644 index 0000000..d1ab4dc --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/field.storage.node.field_publication_date.yml @@ -0,0 +1,22 @@ +uuid: 47687020-b27a-4e68-bbf0-54e68cef3f7f +langcode: en +status: true +dependencies: + module: + - datetime + - node +_core: + default_config_hash: sGfGE7dKzv71wcmxv_sp8J2x7E4VQP6v7UK81gh1YgU +id: node.field_publication_date +field_name: field_publication_date +entity_type: node +type: datetime +settings: + datetime_type: date +module: datetime +locked: false +cardinality: 1 +translatable: true +indexes: { } +persist_with_no_fields: false +custom_storage: false diff --git a/web/modules/custom/magazine_issues/config/install/language.content_settings.content_moderation_state.content_moderation_state.yml b/web/modules/custom/magazine_issues/config/install/language.content_settings.content_moderation_state.content_moderation_state.yml new file mode 100644 index 0000000..08e2165 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/language.content_settings.content_moderation_state.content_moderation_state.yml @@ -0,0 +1,13 @@ +uuid: 35ce7bd9-e582-4bee-9c02-7f097a6b368d +langcode: en +status: true +dependencies: + module: + - content_moderation +_core: + default_config_hash: QSNFNEhqUZLXq4S-O6vXFmJe9Rd4sTLoghoyLzOrr8A +id: content_moderation_state.content_moderation_state +target_entity_type_id: content_moderation_state +target_bundle: content_moderation_state +default_langcode: site_default +language_alterable: true diff --git a/web/modules/custom/magazine_issues/config/install/language.content_settings.node.magazine_issues.yml b/web/modules/custom/magazine_issues/config/install/language.content_settings.node.magazine_issues.yml new file mode 100644 index 0000000..0452c01 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/language.content_settings.node.magazine_issues.yml @@ -0,0 +1,13 @@ +uuid: 090daedc-e379-4c70-bf4e-17697e2afba5 +langcode: en +status: true +dependencies: + config: + - node.type.magazine_issues +_core: + default_config_hash: rCplXDsX6bosyH2GOPGRCP96WKie7nKri_V1526X6Ec +id: node.magazine_issues +target_entity_type_id: node +target_bundle: magazine_issues +default_langcode: site_default +language_alterable: true diff --git a/web/modules/custom/magazine_issues/config/install/language.content_settings.user.user.yml b/web/modules/custom/magazine_issues/config/install/language.content_settings.user.user.yml new file mode 100644 index 0000000..7fa64f1 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/language.content_settings.user.user.yml @@ -0,0 +1,13 @@ +uuid: b8bb277f-a852-46db-82b5-de558510f6f1 +langcode: en +status: true +dependencies: + module: + - user +_core: + default_config_hash: tU-BrQrvcDbyBJRfFg6cugfghHr-6aE2KdlGa8ixu5U +id: user.user +target_entity_type_id: user +target_bundle: user +default_langcode: site_default +language_alterable: false diff --git a/web/modules/custom/magazine_issues/config/install/node.type.magazine_issues.yml b/web/modules/custom/magazine_issues/config/install/node.type.magazine_issues.yml new file mode 100644 index 0000000..b702a1a --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/node.type.magazine_issues.yml @@ -0,0 +1,20 @@ +uuid: 6584c475-de5e-4a9c-9cf3-b8fbc393d895 +langcode: en +status: true +dependencies: + module: + - menu_ui +third_party_settings: + menu_ui: + available_menus: + - main + parent: 'main:' +_core: + default_config_hash: zbsGi1q6xo0j6tDW-_IWAq_gYM5i_olcMciHfzOz9PU +name: 'Magazine Issues' +type: magazine_issues +description: null +help: null +new_revision: true +preview_mode: 1 +display_submitted: true diff --git a/web/modules/custom/magazine_issues/config/install/rules.reaction.send_notifications_new_item_to_approved.yml b/web/modules/custom/magazine_issues/config/install/rules.reaction.send_notifications_new_item_to_approved.yml new file mode 100644 index 0000000..73818ed --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/rules.reaction.send_notifications_new_item_to_approved.yml @@ -0,0 +1,87 @@ +uuid: f500b915-ae49-4a2f-81a0-1902dd3def6b +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: ubin03skTvPqMuTYpNP6uAAmErOXNZJlhPKUf-MCqI0 +id: send_notifications_new_item_to_approved +label: 'Send Notifications New item Approved' +events: + - + event_name: 'rules_entity_update:node--magazine_issues' +description: 'Notify the editor when an issue is moved to "Approved"' +tags: { } +config_version: '3' +expression: + id: rules_rule + uuid: 8de567c5-0f3f-4df1-9f66-064b4896c1d4 + weight: 0 + conditions: + id: rules_and + uuid: d1eaee99-c8be-444c-8770-1c80b8533f9f + weight: 0 + conditions: + - + id: rules_condition + uuid: 4046473b-cea1-49df-93ea-16ac6bb5bde4 + weight: 0 + condition_id: rules_entity_is_of_bundle + negate: false + context_values: + type: node + bundle: magazine_issue + context_mapping: + entity: node + context_processors: + type: + rules_tokens: { } + bundle: + rules_tokens: { } + provides_mapping: { } + - + id: rules_condition + uuid: a3ae2c86-7c91-4bad-aa1e-d3d9afd134d3 + weight: 0 + condition_id: rules_data_comparison + negate: false + context_values: + operation: '==' + value: approved + context_mapping: + data: node.moderation_state.value + context_processors: + operation: + rules_tokens: { } + value: + rules_tokens: { } + provides_mapping: { } + actions: + id: rules_action_set + uuid: 030c9145-fb9f-491c-af86-99cc26355023 + weight: 0 + actions: + - + id: rules_action + uuid: c8cb84df-033c-43ca-a17e-2752da4effa6 + weight: 0 + action_id: rules_email_to_users_of_role + context_values: + roles: + - chief_editor + subject: 'New Magazine Issue moved to "Approved"' + message: 'Please access the Magazine issues list and check if any item is approved waiting to be published for you.' + reply: '' + language: '' + context_mapping: { } + context_processors: + roles: + rules_tokens: { } + subject: + rules_tokens: { } + message: + rules_tokens: { } + reply: + rules_tokens: { } + language: + rules_tokens: { } + provides_mapping: { } diff --git a/web/modules/custom/magazine_issues/config/install/rules.reaction.send_notifications_new_item_to_revew.yml b/web/modules/custom/magazine_issues/config/install/rules.reaction.send_notifications_new_item_to_revew.yml new file mode 100644 index 0000000..94b0c70 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/rules.reaction.send_notifications_new_item_to_revew.yml @@ -0,0 +1,87 @@ +uuid: f6e3b079-3431-4282-b9c8-fbe1d29697eb +langcode: en +status: true +dependencies: { } +_core: + default_config_hash: uTXBz2wQIlpfo_Q2OvXX6K_hyIQHUQX7V1sl2xD58KY +id: send_notifications_new_item_to_revew +label: 'Send Notifications New item to Revew' +events: + - + event_name: 'rules_entity_update:node--magazine_issues' +description: 'Notify the editor when an issue is moved to "Review"' +tags: { } +config_version: '3' +expression: + id: rules_rule + uuid: 8de567c5-0f3f-4df1-9f66-064b4896c1d4 + weight: 0 + conditions: + id: rules_and + uuid: d1eaee99-c8be-444c-8770-1c80b8533f9f + weight: 0 + conditions: + - + id: rules_condition + uuid: 4046473b-cea1-49df-93ea-16ac6bb5bde4 + weight: 0 + condition_id: rules_entity_is_of_bundle + negate: false + context_values: + type: node + bundle: magazine_issue + context_mapping: + entity: node + context_processors: + type: + rules_tokens: { } + bundle: + rules_tokens: { } + provides_mapping: { } + - + id: rules_condition + uuid: a3ae2c86-7c91-4bad-aa1e-d3d9afd134d3 + weight: 0 + condition_id: rules_data_comparison + negate: false + context_values: + operation: '==' + value: review + context_mapping: + data: node.moderation_state.value + context_processors: + operation: + rules_tokens: { } + value: + rules_tokens: { } + provides_mapping: { } + actions: + id: rules_action_set + uuid: 030c9145-fb9f-491c-af86-99cc26355023 + weight: 0 + actions: + - + id: rules_action + uuid: c8cb84df-033c-43ca-a17e-2752da4effa6 + weight: 0 + action_id: rules_email_to_users_of_role + context_values: + roles: + - editor + subject: 'New Magazine Issue moved to "Review"' + message: 'Please access the Magazine issues list and check if any item is waiting for your Review.' + reply: '' + language: '' + context_mapping: { } + context_processors: + roles: + rules_tokens: { } + subject: + rules_tokens: { } + message: + rules_tokens: { } + reply: + rules_tokens: { } + language: + rules_tokens: { } + provides_mapping: { } diff --git a/web/modules/custom/magazine_issues/config/install/system.action.user_add_role_action.chief_editor.yml b/web/modules/custom/magazine_issues/config/install/system.action.user_add_role_action.chief_editor.yml new file mode 100644 index 0000000..6d64794 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/system.action.user_add_role_action.chief_editor.yml @@ -0,0 +1,16 @@ +uuid: 82de2c8d-a102-4b96-b30f-7357571be226 +langcode: en +status: true +dependencies: + config: + - user.role.chief_editor + module: + - user +_core: + default_config_hash: YyXbyvvy35SSWSMosUbNEvQIy1tXVKSAmQDaEKS0Q_I +id: user_add_role_action.chief_editor +label: 'Add the Chief Editor role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: chief_editor diff --git a/web/modules/custom/magazine_issues/config/install/system.action.user_add_role_action.content_manager.yml b/web/modules/custom/magazine_issues/config/install/system.action.user_add_role_action.content_manager.yml new file mode 100644 index 0000000..fb8612c --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/system.action.user_add_role_action.content_manager.yml @@ -0,0 +1,16 @@ +uuid: b3d63b93-51af-4849-a8a9-7bc3e454597f +langcode: en +status: true +dependencies: + config: + - user.role.content_manager + module: + - user +_core: + default_config_hash: B45oznmyXQW9ujNnRAOMGuZRgeTpQIplfU2IFRCg4Ic +id: user_add_role_action.content_manager +label: 'Add the Content Manager role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: content_manager diff --git a/web/modules/custom/magazine_issues/config/install/system.action.user_add_role_action.editor.yml b/web/modules/custom/magazine_issues/config/install/system.action.user_add_role_action.editor.yml new file mode 100644 index 0000000..391a7fc --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/system.action.user_add_role_action.editor.yml @@ -0,0 +1,16 @@ +uuid: ce969026-393d-4b43-9667-a7db89da2395 +langcode: en +status: true +dependencies: + config: + - user.role.editor + module: + - user +_core: + default_config_hash: IPI8Jm_iON2kjRTrGwrfStTFDcO1-On154rEf327LMk +id: user_add_role_action.editor +label: 'Add the Editor role to the selected user(s)' +type: user +plugin: user_add_role_action +configuration: + rid: editor diff --git a/web/modules/custom/magazine_issues/config/install/system.action.user_remove_role_action.chief_editor.yml b/web/modules/custom/magazine_issues/config/install/system.action.user_remove_role_action.chief_editor.yml new file mode 100644 index 0000000..323b4b8 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/system.action.user_remove_role_action.chief_editor.yml @@ -0,0 +1,16 @@ +uuid: f11367b9-5a0d-45a2-84d0-c939f2c12178 +langcode: en +status: true +dependencies: + config: + - user.role.chief_editor + module: + - user +_core: + default_config_hash: DLrXBvKfEyn9XRa9Y7sCIc1W71YVrQsBqp0khJ52Ok8 +id: user_remove_role_action.chief_editor +label: 'Remove the Chief Editor role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: chief_editor diff --git a/web/modules/custom/magazine_issues/config/install/system.action.user_remove_role_action.content_manager.yml b/web/modules/custom/magazine_issues/config/install/system.action.user_remove_role_action.content_manager.yml new file mode 100644 index 0000000..c776cc2 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/system.action.user_remove_role_action.content_manager.yml @@ -0,0 +1,16 @@ +uuid: ba79828e-efef-42ae-95a0-fa5ba5066e09 +langcode: en +status: true +dependencies: + config: + - user.role.content_manager + module: + - user +_core: + default_config_hash: tXB_r1zUDDa8ulu3ZduOUQJm6N8KfSd2uTcnQO-l66g +id: user_remove_role_action.content_manager +label: 'Remove the Content Manager role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: content_manager diff --git a/web/modules/custom/magazine_issues/config/install/system.action.user_remove_role_action.editor.yml b/web/modules/custom/magazine_issues/config/install/system.action.user_remove_role_action.editor.yml new file mode 100644 index 0000000..11511a1 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/system.action.user_remove_role_action.editor.yml @@ -0,0 +1,16 @@ +uuid: cc4b9f14-e16a-4e58-93e0-4051b0de33c7 +langcode: en +status: true +dependencies: + config: + - user.role.editor + module: + - user +_core: + default_config_hash: q0eyTcOI9Wkqhs4lEi7Q7awl7RUKDiJiOKvIISG8Xoc +id: user_remove_role_action.editor +label: 'Remove the Editor role from the selected user(s)' +type: user +plugin: user_remove_role_action +configuration: + rid: editor diff --git a/web/modules/custom/magazine_issues/config/install/user.role.chief_editor.yml b/web/modules/custom/magazine_issues/config/install/user.role.chief_editor.yml new file mode 100644 index 0000000..1e4d377 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/user.role.chief_editor.yml @@ -0,0 +1,26 @@ +uuid: 2f2f008a-bccd-4648-a0dc-f871dc344569 +langcode: en +status: true +dependencies: + config: + - node.type.magazine_issues + - workflows.workflow.editorial + - workflows.workflow.magazine + module: + - content_moderation + - node +_core: + default_config_hash: ySEwuIgDRzo_SS1NxRZgqWYizAfO6_Hlg-wViTnamtw +id: chief_editor +label: 'Chief Editor' +weight: 6 +is_admin: null +permissions: + - 'delete any magazine_issues content' + - 'delete magazine_issues revisions' + - 'delete own magazine_issues content' + - 'edit own magazine_issues content' + - 'revert magazine_issues revisions' + - 'use editorial transition publish' + - 'use magazine transition to_published' + - 'view magazine_issues revisions' diff --git a/web/modules/custom/magazine_issues/config/install/user.role.content_manager.yml b/web/modules/custom/magazine_issues/config/install/user.role.content_manager.yml new file mode 100644 index 0000000..09934e1 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/user.role.content_manager.yml @@ -0,0 +1,27 @@ +uuid: 7f558009-0c4e-456a-89ae-83664b474388 +langcode: en +status: true +dependencies: + config: + - node.type.magazine_issues + - workflows.workflow.editorial + - workflows.workflow.magazine + module: + - content_moderation + - node +_core: + default_config_hash: F9EZvOfyj-TIAK1hbY-GB9MSBpx-nS_08fCzi_7OZ_Y +id: content_manager +label: 'Content Manager' +weight: 4 +is_admin: null +permissions: + - 'create magazine_issues content' + - 'delete own magazine_issues content' + - 'edit own magazine_issues content' + - 'revert magazine_issues revisions' + - 'use editorial transition archived_draft' + - 'use editorial transition create_new_draft' + - 'use magazine transition to_review' + - 'view latest version' + - 'view magazine_issues revisions' diff --git a/web/modules/custom/magazine_issues/config/install/user.role.editor.yml b/web/modules/custom/magazine_issues/config/install/user.role.editor.yml new file mode 100644 index 0000000..e5e404d --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/user.role.editor.yml @@ -0,0 +1,22 @@ +uuid: 2dbfb56d-66e7-4580-a54f-5e5a04fe9d7b +langcode: en +status: true +dependencies: + config: + - node.type.magazine_issues + - workflows.workflow.magazine + module: + - content_moderation + - node +_core: + default_config_hash: bebR92odkYwCox4MJ5dXyYd3VJumxcgtr1KMu-jwt7U +id: editor +label: Editor +weight: 5 +is_admin: null +permissions: + - 'delete own magazine_issues content' + - 'edit any magazine_issues content' + - 'edit own magazine_issues content' + - 'use magazine transition to_approved' + - 'view magazine_issues revisions' diff --git a/web/modules/custom/magazine_issues/config/install/views.view.magazine_issues.yml b/web/modules/custom/magazine_issues/config/install/views.view.magazine_issues.yml new file mode 100644 index 0000000..f9ea0bf --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/views.view.magazine_issues.yml @@ -0,0 +1,1034 @@ +uuid: 9c4a53b5-affe-42e5-ae35-7eb3aabc36d5 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_publication_date + - node.type.magazine_issues + - workflows.workflow.magazine + module: + - content_moderation + - datetime + - node + - user +_core: + default_config_hash: n6v1itms5bb2gFeGfARaxrtIjHbWD-3ZnzNqtdv6Ij4 +id: magazine_issues +label: 'Magazine Issues' +module: views +description: '' +tag: '' +base_table: node_field_data +base_field: nid +display: + default: + id: default + display_title: Default + display_plugin: default + position: 0 + display_options: + title: 'Magazine Issues' + fields: + node_bulk_form: + id: node_bulk_form + table: node + field: node_bulk_form + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: node_bulk_form + 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 + action_title: Action + include_exclude: include + selected_actions: + - node_delete_action + - node_publish_action + - node_unpublish_action + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: field + label: Title + exclude: false + alter: + alter_text: false + make_link: false + absolute: false + word_boundary: false + ellipsis: false + strip_tags: false + trim: false + 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 + type: + id: type + table: node_field_data + field: type + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: type + plugin_id: field + label: 'Content 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 + langcode: + id: langcode + table: node_field_revision + field: langcode + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: langcode + plugin_id: field_language + label: Language + 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: language + settings: + link_to_entity: 1 + native_language: 1 + 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: 0 + status: + id: status + table: node_field_data + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: status + plugin_id: field + 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: custom + format_custom_false: Unpublished + format_custom_true: Published + 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 + uid_1: + id: uid_1 + table: node_field_revision + field: uid + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: uid + plugin_id: field + label: 'Authored 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: author + settings: { } + 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_publication_date: + id: field_publication_date + table: node__field_publication_date + field: field_publication_date + relationship: none + group_type: group + admin_label: '' + plugin_id: field + label: 'Publication date' + 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: datetime_default + settings: + timezone_override: America/Sao_Paulo + format_type: medium + 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 + created: + id: created + table: node_field_revision + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: field + label: 'Last State Changed on' + 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: short + custom_date_format: '' + timezone: America/Sao_Paulo + tooltip: + date_format: long + custom_date_format: '' + time_diff: + enabled: false + future_format: '@interval hence' + past_format: '@interval ago' + granularity: 2 + refresh: 60 + description: '' + 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 + operations: + id: operations + table: node + field: operations + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: entity_operations + label: Operations + 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 + destination: true + pager: + type: mini + options: + offset: 0 + pagination_heading_level: h4 + items_per_page: 50 + total_pages: null + id: 0 + tags: + next: ›› + previous: ‹‹ + 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 + exposed_form: + type: basic + options: + submit_button: Apply + reset_button: true + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + access: + type: perm + options: + perm: 'access content overview' + cache: + type: tag + options: { } + empty: { } + sorts: + created: + id: created + table: node_field_data + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: created + plugin_id: date + order: DESC + expose: + label: '' + field_identifier: '' + exposed: false + granularity: second + arguments: { } + filters: + status: + id: status + table: node_field_data + field: status + entity_type: node + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + type: + id: type + table: node_field_data + field: type + entity_type: node + entity_field: type + plugin_id: bundle + value: + magazine_issues: magazine_issues + group: 1 + title: + id: title + table: node_field_data + field: title + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: title + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: title_op + label: Title + description: '' + use_operator: false + operator: title_op + operator_limit_selection: false + operator_list: { } + identifier: title + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + content_editor: '0' + administrator: '0' + content_manager: '0' + editor: '0' + chief_editor: '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: { } + langcode: + id: langcode + table: node_field_revision + field: langcode + relationship: none + group_type: group + admin_label: '' + entity_type: node + entity_field: langcode + plugin_id: language + operator: in + value: + '***LANGUAGE_language_interface***': '***LANGUAGE_language_interface***' + en: en + fr: fr + group: 1 + exposed: true + expose: + operator_id: langcode_op + label: 'Translation language' + description: '' + use_operator: false + operator: langcode_op + operator_limit_selection: false + operator_list: { } + identifier: langcode + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + content_editor: '0' + administrator: '0' + content_manager: '0' + editor: '0' + chief_editor: '0' + reduce: true + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + status_extra: + id: status_extra + table: node_field_data + field: status_extra + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: node_status + operator: '=' + value: false + 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 + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + moderation_state: + id: moderation_state + table: node_field_revision + field: moderation_state + relationship: none + group_type: group + admin_label: '' + entity_type: node + plugin_id: moderation_state_filter + operator: in + value: + magazine-draft: magazine-draft + magazine-review: magazine-review + magazine-approved: magazine-approved + magazine-published: magazine-published + group: 1 + exposed: true + expose: + operator_id: moderation_state_op + label: 'Moderation state' + description: '' + use_operator: false + operator: moderation_state_op + operator_limit_selection: false + operator_list: { } + identifier: moderation_state + required: false + remember: false + multiple: true + remember_roles: + authenticated: authenticated + anonymous: '0' + content_editor: '0' + administrator: '0' + content_manager: '0' + editor: '0' + chief_editor: '0' + reduce: true + is_grouped: true + group_info: + label: 'Moderation state' + description: '' + identifier: moderation_state + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: + title: Draft + operator: in + value: + magazine-draft: magazine-draft + 2: + title: Review + operator: in + value: + magazine-review: magazine-review + 3: + title: Approved + operator: in + value: + magazine-approved: magazine-approved + 4: + title: Published + operator: in + value: + magazine-published: magazine-published + filter_groups: + operator: AND + groups: + 1: AND + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + node_bulk_form: node_bulk_form + title: title + type: type + langcode: langcode + status: status + uid_1: uid_1 + field_publication_date: field_publication_date + created: created + operations: operations + default: '-1' + info: + node_bulk_form: + align: '' + separator: '' + empty_column: false + responsive: '' + title: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + type: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + langcode: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + status: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + uid_1: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + field_publication_date: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + created: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + operations: + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: false + summary: '' + empty_table: true + caption: '' + description: '' + row: + type: fields + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: true + replica: false + query_tags: { } + relationships: + uid: + id: uid + table: node_field_revision + field: uid + relationship: none + group_type: group + admin_label: author + entity_type: node + entity_field: uid + plugin_id: standard + required: true + group_by: true + show_admin_links: false + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.storage.node.field_publication_date' + - 'config:workflow_list' + page_1: + id: page_1 + display_title: 'Published magazine issues' + display_plugin: page + position: 1 + display_options: + display_description: 'The approved magazine issues listing.' + rendering_language: '***LANGUAGE_language_interface***' + display_extenders: { } + path: admin/content/magazine-issues + menu: + type: tab + title: 'Magazine Issues' + description: 'Magazine Issues listing' + weight: 0 + expanded: false + menu_name: admin + parent: '' + context: '0' + tab_options: + type: normal + title: Content + description: 'Find and manage content' + weight: 0 + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_interface' + - url + - url.query_args + - user + - 'user.node_grants:view' + - user.permissions + tags: + - 'config:field.storage.node.field_publication_date' + - 'config:workflow_list' diff --git a/web/modules/custom/magazine_issues/config/install/workflows.workflow.editorial.yml b/web/modules/custom/magazine_issues/config/install/workflows.workflow.editorial.yml new file mode 100644 index 0000000..94748ee --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/workflows.workflow.editorial.yml @@ -0,0 +1,72 @@ +uuid: ec2908bb-bfeb-403d-aff5-403c78fb8ff5 +langcode: en +status: true +dependencies: + config: + - media.type.image + - media.type.remote_video + - node.type.landing_page + module: + - content_moderation +_core: + default_config_hash: T7gMMyFbTYLalxpIOnzJebvek2OW0b1RgLVE9I2y228 +id: editorial +label: Editorial +type: content_moderation +type_settings: + states: + archived: + label: Archived + weight: 5 + published: false + default_revision: true + draft: + label: Draft + weight: -5 + published: false + default_revision: false + published: + label: Published + weight: 0 + published: true + default_revision: true + transitions: + archive: + label: Archive + from: + - published + to: archived + weight: 2 + archived_draft: + label: 'Restore to Draft' + from: + - archived + to: draft + weight: 3 + archived_published: + label: Restore + from: + - archived + to: published + weight: 4 + create_new_draft: + label: 'Create New Draft' + from: + - draft + - published + to: draft + weight: 0 + publish: + label: Publish + from: + - draft + - published + to: published + weight: 1 + entity_types: + media: + - image + - remote_video + node: + - landing_page + default_moderation_state: draft diff --git a/web/modules/custom/magazine_issues/config/install/workflows.workflow.magazine.yml b/web/modules/custom/magazine_issues/config/install/workflows.workflow.magazine.yml new file mode 100644 index 0000000..f4ed688 --- /dev/null +++ b/web/modules/custom/magazine_issues/config/install/workflows.workflow.magazine.yml @@ -0,0 +1,120 @@ +uuid: 55e76ec1-9023-4cc5-a3e2-bf4aa16bbcbb +langcode: en +status: true +dependencies: + config: + - node.type.magazine_issues + module: + - content_moderation +_core: + default_config_hash: Csms0ZviF-RagQxysIJ9_6lbjdXw6oEX42atTJUI1Bs +id: magazine +label: Magazine +type: content_moderation +type_settings: + states: + approved: + label: Approved + weight: -1 + published: false + default_revision: false + id: approved + draft: + label: Draft + weight: -3 + published: false + default_revision: true + id: draft + published: + label: Published + weight: 0 + published: true + default_revision: false + id: published + review: + label: Review + weight: -2 + published: false + default_revision: false + id: review + transitions: + create_new_draft: + label: 'Create New Draft' + from: + - draft + - published + to: draft + weight: -2 + to_approved: + label: Approve + from: + - review + to: approved + weight: 0 + id: to_approved + required_permissions: + - 'approve content' + to_published: + label: Publish + from: + - approved + to: published + weight: 1 + id: to_published + required_permissions: + - 'publish content' + to_review: + label: 'Submit for Review' + from: + - draft + to: review + weight: -1 + id: to_review + required_permissions: + - 'transition to review' + entity_types: + node: + - magazine_issues + default_moderation_state: draft + permissions: + 'transition to review': + - content_manager + 'approve content': + - editor + 'publish content': + - chief_editor + access_control: + - + role: content_manager + permissions: + - 'transition to review' + - 'view own content' + - 'edit own content' + - 'edit any content' + languages: + - fr + - + role: editor + permissions: + - 'approve content' + - 'view own content' + - 'edit own content' + - 'edit any content' + languages: + - en + - + role: chief_editor + permissions: + - 'publish content' + - 'view own content' + - 'edit own content' + - 'edit any content' + languages: + - en + field_permissions: + - + role: editor + fields: + - content + restrictions: + - 'edit fields except content' diff --git a/web/modules/custom/magazine_issues/magazine_issues.info.yml b/web/modules/custom/magazine_issues/magazine_issues.info.yml new file mode 100644 index 0000000..f48089d --- /dev/null +++ b/web/modules/custom/magazine_issues/magazine_issues.info.yml @@ -0,0 +1,13 @@ +name: Magazine Issues +type: module +description: 'Custom entity type for managing magazine issues.' +package: Magazine Issues Custom Entity +core_version_requirement: ^9.3 || ^10 +dependencies: + - drupal:field + - drupal:user + - drupal:language + - serial + - datetime + - file + - rules diff --git a/web/sites/default/default.services.yml b/web/sites/default/default.services.yml old mode 100644 new mode 100755 diff --git a/web/sites/services.yml b/web/sites/services.yml index de53ef2..60386af 100644 --- a/web/sites/services.yml +++ b/web/sites/services.yml @@ -1,8 +1,4 @@ parameters: - # Toggles the super user access policy. If your website has at least one user - # with the Administrator role, it is advised to set this to false. This allows - # you to make user 1 a regular user, strengthening the security of your site. - security.enable_super_user: true session.storage.options: # Default ini options for sessions. # @@ -15,19 +11,18 @@ parameters: # @default 100 gc_divisor: 100 # - # Set session lifetime (in seconds), i.e. the grace period for session - # data. Sessions are deleted by the session garbage collector after one - # session lifetime has elapsed since the user's last visit. When a session - # is deleted, authenticated users are logged out, and the contents of the - # user's session is discarded. + # Set session lifetime (in seconds), i.e. the time from the user's last + # visit to the active session may be deleted by the session garbage + # collector. When a session is deleted, authenticated users are logged out, + # and the contents of the user's $_SESSION variable is discarded. # @default 200000 - gc_maxlifetime: 60 + gc_maxlifetime: 200000 # # Set session cookie lifetime (in seconds), i.e. the time from the session # is created to the cookie expires, i.e. when the browser is expected to # discard the cookie. The value 0 means "until the browser is closed". # @default 2000000 - cookie_lifetime: 60 + cookie_lifetime: 2000000 # # Drupal automatically generates a unique session cookie name based on the # full domain name used to access the site. This mechanism is sufficient @@ -41,34 +36,6 @@ parameters: # @default none # cookie_domain: '.example.com' # - # Set the SameSite cookie attribute: 'None', 'Lax', or 'Strict'. If set, - # this value will override the server value. See - # https://www.php.net/manual/en/session.security.ini.php for more - # information. - # @default no value - cookie_samesite: Lax - # - # Set the session ID string length. The length can be between 22 to 256. The - # PHP recommended value is 48. See - # https://www.php.net/manual/session.security.ini.php for more information. - # This value should be kept in sync with - # \Drupal\Core\Session\SessionConfiguration::__construct() - # @default 48 - sid_length: 48 - # - # Set the number of bits in encoded session ID character. The possible - # values are '4' (0-9, a-f), '5' (0-9, a-v), and '6' (0-9, a-z, A-Z, "-", - # ","). The PHP recommended value is 6. See - # https://www.php.net/manual/session.security.ini.php for more information. - # This value should be kept in sync with - # \Drupal\Core\Session\SessionConfiguration::__construct() - # @default 6 - sid_bits_per_character: 6 - # By default, Drupal generates a session cookie name based on the full - # domain name. Set the name_suffix to a short random string to ensure this - # session cookie name is unique on different installations on the same - # domain and path (for example, when migrating from Drupal 7). - name_suffix: '' twig.config: # Twig debugging: # @@ -86,18 +53,18 @@ parameters: # For more information about debugging Twig templates, see # https://www.drupal.org/node/1906392. # - # Enabling Twig debugging is not recommended in production environments. + # Not recommended in production environments # @default false - debug: false + debug: true # Twig auto-reload: # # Automatically recompile Twig templates whenever the source code changes. # If you don't provide a value for auto_reload, it will be determined # based on the value of debug. # - # Enabling auto-reload is not recommended in production environments. + # Not recommended in production environments # @default null - auto_reload: null + auto_reload: true # Twig cache: # # By default, Twig templates will be compiled and stored in the filesystem @@ -106,24 +73,9 @@ parameters: # auto_reload setting above should be enabled rather than disabling the # Twig cache. # - # Disabling the Twig cache is not recommended in production environments. + # Not recommended in production environments # @default true - cache: true - # File extensions: - # - # List of file extensions the Twig system is allowed to load via the - # twig.loader.filesystem service. Files with other extensions will not be - # loaded unless they are added here. For example, to allow a file named - # 'example.partial' to be loaded, add 'partial' to this list. To load files - # with no extension, add an empty string '' to the list. - # - # @default ['css', 'html', 'js', 'svg', 'twig'] - allowed_file_extensions: - - css - - html - - js - - svg - - twig + cache: false renderer.config: # Renderer required cache contexts: # @@ -163,37 +115,29 @@ parameters: # # @default [] tags: [] - # Renderer cache debug: - # - # Allows cache debugging output for each rendered element. - # - # Enabling render cache debugging is not recommended in production - # environments. - # @default false - debug: false # Cacheability debugging: # # Responses with cacheability metadata (CacheableResponseInterface instances) - # get X-Drupal-Cache-Tags, X-Drupal-Cache-Contexts and X-Drupal-Cache-Max-Age - # headers. + # get X-Drupal-Cache-Tags and X-Drupal-Cache-Contexts headers. # # For more information about debugging cacheable responses, see # https://www.drupal.org/developing/api/8/response/cacheable-response-interface # - # Enabling cacheability debugging is not recommended in production - # environments. + # Not recommended in production environments # @default false - http.response.debug_cacheability_headers: false - factory.keyvalue: {} - # Default key/value storage service to use. - # @default keyvalue.database - # default: keyvalue.database - # Collection-specific overrides. - # state: keyvalue.database - factory.keyvalue.expirable: {} - # Default key/value expirable storage service to use. - # @default keyvalue.database.expirable - # default: keyvalue.database.expirable + http.response.debug_cacheability_headers: true + factory.keyvalue: + {} + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database + factory.keyvalue.expirable: + {} + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable # Allowed protocols for URL generation. filter_protocols: - http @@ -237,3 +181,6 @@ parameters: # This is not applicable when a queue is suspended but does not specify # how long to wait before attempting to resume. suspendMaximumWait: 30 +services: + cache.backend.null: + class: Drupal\Core\Cache\NullBackendFactory \ No newline at end of file