diff --git a/.github/workflows/artifact.yml b/.github/workflows/artifact.yml index 535dc82b..2287bfbc 100644 --- a/.github/workflows/artifact.yml +++ b/.github/workflows/artifact.yml @@ -9,7 +9,7 @@ jobs: build: runs-on: ubuntu-latest container: - image: ghcr.io/city-of-helsinki/drupal-php-docker:8.3-alpine + image: ghcr.io/city-of-helsinki/drupal-web:8.3 services: db: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f7eb84b9..9ae35ace 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,13 +5,12 @@ on: name: CI env: SYMFONY_DEPRECATIONS_HELPER: disabled - SIMPLETEST_BASE_URL: http://app:8888 jobs: tests: runs-on: ubuntu-latest container: - image: ghcr.io/city-of-helsinki/drupal-php-docker:8.3-alpine - options: --hostname app + image: ghcr.io/city-of-helsinki/drupal-web:8.3 + options: --hostname app --user 1001 services: db: @@ -26,6 +25,13 @@ jobs: steps: - uses: actions/checkout@v4 + # Actions worker overrides the default entrypoint with "tail -f /dev/null", so + # we have to start services manually. + - name: Start services + env: + WEBROOT: ${{ github.workspace }}/public + run: entrypoint & + - name: Set browsertest output folder run: | echo "BROWSERTEST_OUTPUT_DIRECTORY=$GITHUB_WORKSPACE/public/sites/simpletest" >> $GITHUB_ENV @@ -69,10 +75,7 @@ jobs: - name: Start services run: | - drush runserver $SIMPLETEST_BASE_URL --dns > /dev/null 2>&1 & - - # Wait for drush server to start. - for i in {1..5}; do RESPONSE_CODE=$(curl -s -o /dev/null -w "%{http_code}" "$SIMPLETEST_BASE_URL" || true); if [ "$RESPONSE_CODE" -gt "301" ] || [ "$RESPONSE_CODE" -lt "200" ]; then sleep 2; fi; done + for i in {1..5}; do RESPONSE_CODE=$(curl -k -s -o /dev/null -w "%{http_code}" "$SIMPLETEST_BASE_URL" || true); if [ "$RESPONSE_CODE" -gt "301" ] || [ "$RESPONSE_CODE" -lt "200" ]; then sleep 2; fi; done - name: Run PHPUnit tests run: | diff --git a/.github/workflows/update-config.yml b/.github/workflows/update-config.yml index d36258dd..64af8562 100644 --- a/.github/workflows/update-config.yml +++ b/.github/workflows/update-config.yml @@ -9,7 +9,8 @@ jobs: update-config: runs-on: ubuntu-latest container: - image: ghcr.io/city-of-helsinki/drupal-php-docker:8.3-alpine + image: ghcr.io/city-of-helsinki/drupal-web:8.3 + options: --hostname app --user 1001 services: db: image: mysql:8 diff --git a/compose.yaml b/compose.yaml index 703a8d29..0e64d1db 100644 --- a/compose.yaml +++ b/compose.yaml @@ -8,6 +8,7 @@ services: depends_on: - db environment: + WEBROOT: /app/public STAGE_FILE_PROXY_ORIGIN: "${STAGE_FILE_PROXY_ORIGIN}" STAGE_FILE_PROXY_ORIGIN_DIR: "${STAGE_FILE_PROXY_ORIGIN_DIR}" APP_ENV: "${APP_ENV:-local}" @@ -24,7 +25,6 @@ services: # DOCKERHOST: host.docker.internal # Use drush server to run functional tests, so we don't have to care about # permission or SSL issues. - SIMPLETEST_BASE_URL: "http://app:8888" BROWSERTEST_OUTPUT_BASE_URL: "https://${DRUPAL_HOSTNAME}" BROWSERTEST_OUTPUT_DIRECTORY: "/app/public/sites/default/files/simpletest" DRUPAL_VARNISH_HOST: "${COMPOSE_PROJECT_NAME}-varnish" @@ -160,13 +160,21 @@ services: profiles: - queue chromium: - # @todo Update this to newer version once minkphp supports Selenium 4. - # @see https://github.com/minkphp/MinkSelenium2Driver/pull/372 - image: seleniarm/standalone-chromium:106.0 + image: selenium/standalone-chromium + environment: + SE_NODE_OVERRIDE_MAX_SESSIONS: "true" + SE_NODE_MAX_SESSIONS: "16" + SE_START_XVFB: "false" + SE_START_VNC: "false" + SE_SESSION_RETRY_INTERVAL: "1" + SE_SESSION_REQUEST_TIMEOUT: "10" + depends_on: + - app networks: - internal profiles: - testing + networks: internal: external: false diff --git a/composer.lock b/composer.lock index 2fec6e72..1b3b9140 100644 --- a/composer.lock +++ b/composer.lock @@ -1608,29 +1608,27 @@ }, { "name": "doctrine/deprecations", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "1.4.10 || 1.10.15", - "phpstan/phpstan-phpunit": "^1.0", + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "1.4.10 || 2.0.3", + "phpstan/phpstan-phpunit": "^1.0 || ^2", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psalm/plugin-phpunit": "0.18.4", - "psr/log": "^1 || ^2 || ^3", - "vimeo/psalm": "4.30.0 || 5.12.0" + "psr/log": "^1 || ^2 || ^3" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -1638,7 +1636,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + "Doctrine\\Deprecations\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1649,9 +1647,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.3" + "source": "https://github.com/doctrine/deprecations/tree/1.1.4" }, - "time": "2024-01-30T19:34:25+00:00" + "time": "2024-12-07T21:18:45+00:00" }, { "name": "doctrine/lexer", @@ -1733,16 +1731,16 @@ }, { "name": "dompdf/php-font-lib", - "version": "1.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/dompdf/php-font-lib.git", - "reference": "991d6a954f6bbd7e41022198f00586b230731441" + "reference": "6137b7d4232b7f16c882c75e4ca3991dbcf6fe2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/991d6a954f6bbd7e41022198f00586b230731441", - "reference": "991d6a954f6bbd7e41022198f00586b230731441", + "url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/6137b7d4232b7f16c882c75e4ca3991dbcf6fe2d", + "reference": "6137b7d4232b7f16c882c75e4ca3991dbcf6fe2d", "shasum": "" }, "require": { @@ -1772,9 +1770,9 @@ "homepage": "https://github.com/dompdf/php-font-lib", "support": { "issues": "https://github.com/dompdf/php-font-lib/issues", - "source": "https://github.com/dompdf/php-font-lib/tree/1.0.0" + "source": "https://github.com/dompdf/php-font-lib/tree/1.0.1" }, - "time": "2024-04-29T13:40:38+00:00" + "time": "2024-12-02T14:37:59+00:00" }, { "name": "drupal/address", @@ -4200,16 +4198,16 @@ }, { "name": "drupal/hdbt", - "version": "6.8.16", + "version": "6.8.20", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-hdbt.git", - "reference": "7078104991314db54aa0301b508dba947f2e4a87" + "reference": "d35f85ec2d568c68df67d01029b2c2cf952d63e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/7078104991314db54aa0301b508dba947f2e4a87", - "reference": "7078104991314db54aa0301b508dba947f2e4a87", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/d35f85ec2d568c68df67d01029b2c2cf952d63e9", + "reference": "d35f85ec2d568c68df67d01029b2c2cf952d63e9", "shasum": "" }, "require": { @@ -4228,10 +4226,10 @@ "Drupal" ], "support": { - "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.8.16", + "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.8.20", "issues": "https://github.com/City-of-Helsinki/drupal-hdbt/issues" }, - "time": "2024-12-04T05:47:34+00:00" + "time": "2024-12-12T07:31:27+00:00" }, { "name": "drupal/hdbt_admin", @@ -4427,12 +4425,12 @@ "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-tools.git", - "reference": "2abe26c3735150f630dd1203c3e60a77173d90fd" + "reference": "d5698a468a97c4e39cbce35dbbe575db0fbe6ca6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/2abe26c3735150f630dd1203c3e60a77173d90fd", - "reference": "2abe26c3735150f630dd1203c3e60a77173d90fd", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/d5698a468a97c4e39cbce35dbbe575db0fbe6ca6", + "reference": "d5698a468a97c4e39cbce35dbbe575db0fbe6ca6", "shasum": "" }, "require": { @@ -4507,7 +4505,7 @@ "source": "https://github.com/City-of-Helsinki/drupal-tools/tree/main", "issues": "https://github.com/City-of-Helsinki/drupal-tools/issues" }, - "time": "2024-12-03T06:30:07+00:00" + "time": "2024-12-12T07:30:07+00:00" }, { "name": "drupal/helfi_navigation", @@ -4545,16 +4543,16 @@ }, { "name": "drupal/helfi_platform_config", - "version": "4.9.0", + "version": "4.10.1", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config.git", - "reference": "f4d743c2c190af8ebe3b461b9ed2a5ae47b0c1a1" + "reference": "79ab4aca9d4734e6bd8fd86c696ead5f6a78b618" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/f4d743c2c190af8ebe3b461b9ed2a5ae47b0c1a1", - "reference": "f4d743c2c190af8ebe3b461b9ed2a5ae47b0c1a1", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/79ab4aca9d4734e6bd8fd86c696ead5f6a78b618", + "reference": "79ab4aca9d4734e6bd8fd86c696ead5f6a78b618", "shasum": "" }, "require": { @@ -4680,10 +4678,10 @@ ], "description": "HELfi platform config", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/4.9.0", + "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/4.10.1", "issues": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/issues" }, - "time": "2024-12-05T11:19:41+00:00" + "time": "2024-12-11T07:54:12+00:00" }, { "name": "drupal/helfi_proxy", @@ -7392,7 +7390,7 @@ ], "authors": [ { - "name": "Chi", + "name": "chi", "homepage": "https://www.drupal.org/user/556138" } ], @@ -7786,23 +7784,23 @@ "sut/libraries/{$name}": [ "type:drupal-library" ], + "sut/themes/unish/{$name}": [ + "drupal/empty_theme" + ], + "sut/drush/contrib/{$name}": [ + "type:drupal-drush" + ], "sut/modules/unish/{$name}": [ "drupal/devel" ], - "sut/themes/unish/{$name}": [ - "drupal/empty_theme" + "sut/themes/contrib/{$name}": [ + "type:drupal-theme" ], "sut/modules/contrib/{$name}": [ "type:drupal-module" ], "sut/profiles/contrib/{$name}": [ "type:drupal-profile" - ], - "sut/themes/contrib/{$name}": [ - "type:drupal-theme" - ], - "sut/drush/contrib/{$name}": [ - "type:drupal-drush" ] } }, @@ -9121,11 +9119,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev", - "dev-4.x": "4.x-dev", - "dev-3.x": "3.x-dev", + "dev-1.x": "1.x-dev", "dev-2.x": "2.x-dev", - "dev-1.x": "1.x-dev" + "dev-3.x": "3.x-dev", + "dev-4.x": "4.x-dev", + "dev-master": "4.x-dev" } }, "autoload": { @@ -9846,16 +9844,16 @@ }, { "name": "monolog/monolog", - "version": "3.8.0", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67" + "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/32e515fdc02cdafbe4593e30a9350d486b125b67", - "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/aef6ee73a77a66e404dd6540934a9ef1b3c855b4", + "reference": "aef6ee73a77a66e404dd6540934a9ef1b3c855b4", "shasum": "" }, "require": { @@ -9933,7 +9931,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.8.0" + "source": "https://github.com/Seldaek/monolog/tree/3.8.1" }, "funding": [ { @@ -9945,7 +9943,7 @@ "type": "tidelift" } ], - "time": "2024-11-12T13:57:08+00:00" + "time": "2024-12-05T17:15:07+00:00" }, { "name": "nikic/php-parser", @@ -11401,16 +11399,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.5", + "version": "v0.12.7", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "36a03ff27986682c22985e56aabaf840dd173cb5" + "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/36a03ff27986682c22985e56aabaf840dd173cb5", - "reference": "36a03ff27986682c22985e56aabaf840dd173cb5", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/d73fa3c74918ef4522bb8a3bf9cab39161c4b57c", + "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c", "shasum": "" }, "require": { @@ -11474,9 +11472,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.5" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.7" }, - "time": "2024-11-29T06:14:30+00:00" + "time": "2024-12-10T01:58:33+00:00" }, { "name": "ralouphie/getallheaders", @@ -12865,8 +12863,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -13021,8 +13019,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -13100,8 +13098,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -13182,8 +13180,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -13266,8 +13264,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -13340,8 +13338,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -13420,8 +13418,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -13496,8 +13494,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -13572,8 +13570,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -14631,16 +14629,16 @@ }, { "name": "twig/twig", - "version": "v3.16.0", + "version": "v3.17.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "475ad2dc97d65d8631393e721e7e44fb544f0561" + "reference": "d3a64b742a5e74c57e3964d766e1032982145872" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/475ad2dc97d65d8631393e721e7e44fb544f0561", - "reference": "475ad2dc97d65d8631393e721e7e44fb544f0561", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/d3a64b742a5e74c57e3964d766e1032982145872", + "reference": "d3a64b742a5e74c57e3964d766e1032982145872", "shasum": "" }, "require": { @@ -14695,7 +14693,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.16.0" + "source": "https://github.com/twigphp/Twig/tree/v3.17.0" }, "funding": [ { @@ -14707,7 +14705,7 @@ "type": "tidelift" } ], - "time": "2024-11-29T08:27:05+00:00" + "time": "2024-12-10T15:19:11+00:00" }, { "name": "twistor/flysystem-stream-wrapper", @@ -17121,16 +17119,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.6.0", + "version": "5.6.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c" + "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/f3558a4c23426d12bffeaab463f8a8d8b681193c", - "reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8", + "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8", "shasum": "" }, "require": { @@ -17179,9 +17177,9 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.0" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.1" }, - "time": "2024-11-12T11:25:25+00:00" + "time": "2024-12-07T09:39:29+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -19760,8 +19758,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { diff --git a/conf/cmi/core.entity_form_display.paragraph.accordion.default.yml b/conf/cmi/core.entity_form_display.paragraph.accordion.default.yml index 228c609a..411211c1 100644 --- a/conf/cmi/core.entity_form_display.paragraph.accordion.default.yml +++ b/conf/cmi/core.entity_form_display.paragraph.accordion.default.yml @@ -15,7 +15,7 @@ dependencies: - paragraphs - text _core: - default_config_hash: K8HsAl3NXcMTSRfcQq_JTJfYA74VrVpE94gTYWIUUpI + default_config_hash: RF5jnF9_MPS0ILEZyGlsFs74Q68B1ii5mqyLnSZC67g id: paragraph.accordion.default targetEntityType: paragraph bundle: accordion diff --git a/conf/cmi/core.entity_form_display.paragraph.accordion_item.default.yml b/conf/cmi/core.entity_form_display.paragraph.accordion_item.default.yml index 0f6ca67e..0c0df672 100644 --- a/conf/cmi/core.entity_form_display.paragraph.accordion_item.default.yml +++ b/conf/cmi/core.entity_form_display.paragraph.accordion_item.default.yml @@ -14,7 +14,7 @@ dependencies: config: - paragraphs.paragraphs_type.accordion_item _core: - default_config_hash: f3ncPjM7WKsN-bLZVQXMbSKIUMZYRk51A9j1Yly5XsE + default_config_hash: 51mHm2O7Corvv_lfh2IeFdXy3zf8Uj5dgxtkmWy39yI id: paragraph.accordion_item.default targetEntityType: paragraph bundle: accordion_item diff --git a/conf/cmi/core.entity_view_display.paragraph.accordion.default.yml b/conf/cmi/core.entity_view_display.paragraph.accordion.default.yml index 6124b32e..a20294e6 100644 --- a/conf/cmi/core.entity_view_display.paragraph.accordion.default.yml +++ b/conf/cmi/core.entity_view_display.paragraph.accordion.default.yml @@ -15,7 +15,7 @@ dependencies: - options - text _core: - default_config_hash: yJAD4ny-ijX5i6mYmUprDsh_4JqcMH8yIk6PNNRNUDQ + default_config_hash: e0ru9L96p-nQWFm3QJofXJmuuQ20FakJ6yrGmoRtA58 id: paragraph.accordion.default targetEntityType: paragraph bundle: accordion diff --git a/conf/cmi/core.entity_view_display.paragraph.accordion_item.default.yml b/conf/cmi/core.entity_view_display.paragraph.accordion_item.default.yml index c4041729..83f7d488 100644 --- a/conf/cmi/core.entity_view_display.paragraph.accordion_item.default.yml +++ b/conf/cmi/core.entity_view_display.paragraph.accordion_item.default.yml @@ -11,7 +11,7 @@ dependencies: - entity_reference_revisions - hdbt_admin_tools _core: - default_config_hash: WvxeLovAeRn181zqTY9mqQlEUH2qKUDh3w1g2KROZoA + default_config_hash: nEdDaeghKYX4hYMccTAO5M0h4TLAiNAsYf2ouXYD2Sc id: paragraph.accordion_item.default targetEntityType: paragraph bundle: accordion_item diff --git a/conf/cmi/field.field.paragraph.accordion.field_accordion_description.yml b/conf/cmi/field.field.paragraph.accordion.field_accordion_description.yml index a546fa6c..ab4a4979 100644 --- a/conf/cmi/field.field.paragraph.accordion.field_accordion_description.yml +++ b/conf/cmi/field.field.paragraph.accordion.field_accordion_description.yml @@ -13,7 +13,7 @@ third_party_settings: allowed_formats: - minimal _core: - default_config_hash: kOxXsJuDVcymIAy7jnni6GM5q5SPGSrxwmWJiJ4Sr7c + default_config_hash: j-K-qnxmYJISH2FD5kP90WEvaYPac3scFywf6jjx6AA id: paragraph.accordion.field_accordion_description field_name: field_accordion_description entity_type: paragraph diff --git a/conf/cmi/field.field.paragraph.accordion.field_accordion_design.yml b/conf/cmi/field.field.paragraph.accordion.field_accordion_design.yml index 31ab100d..f1c696cf 100644 --- a/conf/cmi/field.field.paragraph.accordion.field_accordion_design.yml +++ b/conf/cmi/field.field.paragraph.accordion.field_accordion_design.yml @@ -8,7 +8,7 @@ dependencies: module: - options _core: - default_config_hash: C3J06vDzYUJdSIAwQhoBHO4eG5T2H--lbC1h74-KDJ4 + default_config_hash: iRAjLGNSuLvmNMEA6EiasJbbsseWnuhpbvg6xXIkL2s id: paragraph.accordion.field_accordion_design field_name: field_accordion_design entity_type: paragraph diff --git a/conf/cmi/field.field.paragraph.accordion.field_accordion_heading_level.yml b/conf/cmi/field.field.paragraph.accordion.field_accordion_heading_level.yml index e47b6667..89ea2e09 100644 --- a/conf/cmi/field.field.paragraph.accordion.field_accordion_heading_level.yml +++ b/conf/cmi/field.field.paragraph.accordion.field_accordion_heading_level.yml @@ -8,7 +8,7 @@ dependencies: module: - options _core: - default_config_hash: HZVr6AVX7ihLKrsewEHabJxkhrHFUugKszp7Z_B1slk + default_config_hash: huFW_rCFjaNvMUbdEaFO_KzbeRqHg9Kvk6w9bICJX5w id: paragraph.accordion.field_accordion_heading_level field_name: field_accordion_heading_level entity_type: paragraph diff --git a/conf/cmi/field.field.paragraph.accordion.field_accordion_items.yml b/conf/cmi/field.field.paragraph.accordion.field_accordion_items.yml index 720da0a7..1f53b7e7 100644 --- a/conf/cmi/field.field.paragraph.accordion.field_accordion_items.yml +++ b/conf/cmi/field.field.paragraph.accordion.field_accordion_items.yml @@ -12,7 +12,7 @@ dependencies: config: - paragraphs.paragraphs_type.accordion_item _core: - default_config_hash: Nx_3yq3vNPc667kG9nez6rTv_w54aS3h3rnbAmt7kZ4 + default_config_hash: pbsofl6KEKBnXhSD8VeTvETrQnbu2PEmmoxOnJ6tTyc id: paragraph.accordion.field_accordion_items field_name: field_accordion_items entity_type: paragraph diff --git a/conf/cmi/field.field.paragraph.accordion.field_accordion_title.yml b/conf/cmi/field.field.paragraph.accordion.field_accordion_title.yml index eb34458b..aa984609 100644 --- a/conf/cmi/field.field.paragraph.accordion.field_accordion_title.yml +++ b/conf/cmi/field.field.paragraph.accordion.field_accordion_title.yml @@ -6,7 +6,7 @@ dependencies: - field.storage.paragraph.field_accordion_title - paragraphs.paragraphs_type.accordion _core: - default_config_hash: TqiIVq0xav9ieDerAH8CFF0bSAAeZxPsNXWyqpBPm_U + default_config_hash: MCWdcisqdcCp5VyV12W_w5kamgU5dmQUwbyWA37KgW8 id: paragraph.accordion.field_accordion_title field_name: field_accordion_title entity_type: paragraph diff --git a/conf/cmi/field.field.paragraph.accordion.field_accordion_title_level.yml b/conf/cmi/field.field.paragraph.accordion.field_accordion_title_level.yml index 3affdc4b..4c31b359 100644 --- a/conf/cmi/field.field.paragraph.accordion.field_accordion_title_level.yml +++ b/conf/cmi/field.field.paragraph.accordion.field_accordion_title_level.yml @@ -8,7 +8,7 @@ dependencies: module: - options _core: - default_config_hash: O1itPj2x6F-IUHyrssTSWUsnWXk5ljT5U3jjQrxd0cY + default_config_hash: PXJrE7yjrmg3rNd1MV7vyd8uwlc48g2jO39aNlYEi08 id: paragraph.accordion.field_accordion_title_level field_name: field_accordion_title_level entity_type: paragraph diff --git a/conf/cmi/field.field.paragraph.accordion_item.field_accordion_item_content.yml b/conf/cmi/field.field.paragraph.accordion_item.field_accordion_item_content.yml index 9b65d095..89b160a2 100644 --- a/conf/cmi/field.field.paragraph.accordion_item.field_accordion_item_content.yml +++ b/conf/cmi/field.field.paragraph.accordion_item.field_accordion_item_content.yml @@ -12,7 +12,7 @@ dependencies: module: - entity_reference_revisions _core: - default_config_hash: PZYH0XJHai5BanrU841HBb6psP_104W5Abd-D8q4dIU + default_config_hash: S0Go4odbO-zxS9ydKxxo5m6EuhdnpZiM4g5Y3tYk-98 id: paragraph.accordion_item.field_accordion_item_content field_name: field_accordion_item_content entity_type: paragraph @@ -27,20 +27,20 @@ settings: handler: 'default:paragraph' handler_settings: target_bundles: - columns: columns - image: image text: text + image: image phasing: phasing + columns: columns negate: 0 target_bundles_drag_drop: columns: - weight: 0 + weight: 3 enabled: true image: - weight: 0 + weight: 1 enabled: true phasing: - weight: 0 + weight: 2 enabled: true text: weight: 0 diff --git a/conf/cmi/field.field.paragraph.accordion_item.field_accordion_item_heading.yml b/conf/cmi/field.field.paragraph.accordion_item.field_accordion_item_heading.yml index 06982eaf..e8331dde 100644 --- a/conf/cmi/field.field.paragraph.accordion_item.field_accordion_item_heading.yml +++ b/conf/cmi/field.field.paragraph.accordion_item.field_accordion_item_heading.yml @@ -6,7 +6,7 @@ dependencies: - field.storage.paragraph.field_accordion_item_heading - paragraphs.paragraphs_type.accordion_item _core: - default_config_hash: ub76tTWnromBzCxP7Fh285sgZFQVw6Yyr7e2mefo-E0 + default_config_hash: jlpogAZT3equVVawgcoNawBA8yy2TkAjRHrqcNx7yGY id: paragraph.accordion_item.field_accordion_item_heading field_name: field_accordion_item_heading entity_type: paragraph diff --git a/conf/cmi/field.field.paragraph.accordion_item.field_icon.yml b/conf/cmi/field.field.paragraph.accordion_item.field_icon.yml index c86d2bc5..214b053b 100644 --- a/conf/cmi/field.field.paragraph.accordion_item.field_icon.yml +++ b/conf/cmi/field.field.paragraph.accordion_item.field_icon.yml @@ -8,7 +8,7 @@ dependencies: module: - hdbt_admin_tools _core: - default_config_hash: lZgD3FKeuPDGSq4QSkg6k71xMrgJjXqe3eBE1AK8_Ig + default_config_hash: noZbr1ggOqV1n5sTP8lki4BDYHZ9kCTokdkux0Ak7jI id: paragraph.accordion_item.field_icon field_name: field_icon entity_type: paragraph diff --git a/conf/cmi/field.storage.paragraph.field_accordion_description.yml b/conf/cmi/field.storage.paragraph.field_accordion_description.yml index d545891c..3cc33174 100644 --- a/conf/cmi/field.storage.paragraph.field_accordion_description.yml +++ b/conf/cmi/field.storage.paragraph.field_accordion_description.yml @@ -6,7 +6,7 @@ dependencies: - paragraphs - text _core: - default_config_hash: EerHlo0DvRW9wodIpVNsoQvRgGklDN80Z4vaofMG-H0 + default_config_hash: f39f_iSoIe3v72Vw4gZbmZ1rK31zxu8nziCvipMdnfk id: paragraph.field_accordion_description field_name: field_accordion_description entity_type: paragraph diff --git a/conf/cmi/field.storage.paragraph.field_accordion_design.yml b/conf/cmi/field.storage.paragraph.field_accordion_design.yml index 16306c78..eb6204b1 100644 --- a/conf/cmi/field.storage.paragraph.field_accordion_design.yml +++ b/conf/cmi/field.storage.paragraph.field_accordion_design.yml @@ -6,7 +6,7 @@ dependencies: - options - paragraphs _core: - default_config_hash: rbDxhjXfPHMDYJqUlYnmt8r427vL0vzSOd5SQ3H6ZGU + default_config_hash: _atR29T6pbOshvx0mgvdebd7Gr1yN1cC22Ls1a7PJQA id: paragraph.field_accordion_design field_name: field_accordion_design entity_type: paragraph diff --git a/conf/cmi/field.storage.paragraph.field_accordion_heading_level.yml b/conf/cmi/field.storage.paragraph.field_accordion_heading_level.yml index 802210d9..2b3419fa 100644 --- a/conf/cmi/field.storage.paragraph.field_accordion_heading_level.yml +++ b/conf/cmi/field.storage.paragraph.field_accordion_heading_level.yml @@ -6,7 +6,7 @@ dependencies: - options - paragraphs _core: - default_config_hash: eC6tQJYsLqY--GBIgLLHOgt5S6XeFxOJiXRiNn4q_68 + default_config_hash: SgFhmrcytcSLA4KLSd6HWJJquPg7OM-_L2S9jLtZmrk id: paragraph.field_accordion_heading_level field_name: field_accordion_heading_level entity_type: paragraph diff --git a/conf/cmi/field.storage.paragraph.field_accordion_item_content.yml b/conf/cmi/field.storage.paragraph.field_accordion_item_content.yml index 5505707b..8be22343 100644 --- a/conf/cmi/field.storage.paragraph.field_accordion_item_content.yml +++ b/conf/cmi/field.storage.paragraph.field_accordion_item_content.yml @@ -9,7 +9,7 @@ dependencies: config: - paragraphs.paragraphs_type.accordion_item _core: - default_config_hash: ii2H-2RA7_AV2hH0bRBfJDL9dmLSCTaWL5T4oIWPlVM + default_config_hash: O3jtnsTTTr_DF5PCVSyfomvx9U5KhscOD2pcVnv9jRo id: paragraph.field_accordion_item_content field_name: field_accordion_item_content entity_type: paragraph diff --git a/conf/cmi/field.storage.paragraph.field_accordion_item_heading.yml b/conf/cmi/field.storage.paragraph.field_accordion_item_heading.yml index 39d6fbb3..effa5f9d 100644 --- a/conf/cmi/field.storage.paragraph.field_accordion_item_heading.yml +++ b/conf/cmi/field.storage.paragraph.field_accordion_item_heading.yml @@ -5,7 +5,7 @@ dependencies: module: - paragraphs _core: - default_config_hash: SKYDBYvLxOQaZVxf-XlA-uRyROyDOI4pU2xRaK91PEo + default_config_hash: Evf-dxTIxBvpcwMhpYp6YzLGSbUvr9WUem9qgqkHbw0 id: paragraph.field_accordion_item_heading field_name: field_accordion_item_heading entity_type: paragraph diff --git a/conf/cmi/field.storage.paragraph.field_accordion_items.yml b/conf/cmi/field.storage.paragraph.field_accordion_items.yml index bf469c1a..7adca4c4 100644 --- a/conf/cmi/field.storage.paragraph.field_accordion_items.yml +++ b/conf/cmi/field.storage.paragraph.field_accordion_items.yml @@ -9,7 +9,7 @@ dependencies: config: - paragraphs.paragraphs_type.accordion _core: - default_config_hash: V13nhH7ZNcAfI0hw5vvVq5eYh15DYnhp2juBr9k6N_s + default_config_hash: WG4eOVLjQAzLoc5AQ95YpSpbct3kym1s6EgYmvq2vWE id: paragraph.field_accordion_items field_name: field_accordion_items entity_type: paragraph diff --git a/conf/cmi/field.storage.paragraph.field_accordion_title.yml b/conf/cmi/field.storage.paragraph.field_accordion_title.yml index 531eea4f..a61389a1 100644 --- a/conf/cmi/field.storage.paragraph.field_accordion_title.yml +++ b/conf/cmi/field.storage.paragraph.field_accordion_title.yml @@ -5,7 +5,7 @@ dependencies: module: - paragraphs _core: - default_config_hash: '-UWwTPrmfNQVXS6PR3jXCrx99uv20Uv2rwqvytBskeY' + default_config_hash: h_S6nf_hDhlhQwO92UvEhO7Z2npXNNjO9J6j5obHITY id: paragraph.field_accordion_title field_name: field_accordion_title entity_type: paragraph diff --git a/conf/cmi/field.storage.paragraph.field_accordion_title_level.yml b/conf/cmi/field.storage.paragraph.field_accordion_title_level.yml index c94cadb0..8de0b651 100644 --- a/conf/cmi/field.storage.paragraph.field_accordion_title_level.yml +++ b/conf/cmi/field.storage.paragraph.field_accordion_title_level.yml @@ -6,7 +6,7 @@ dependencies: - options - paragraphs _core: - default_config_hash: JwHgKwfMuUFw0Ko1E_2DbzGbGbHHoG_unhlyGs6Ha1U + default_config_hash: ghbbLn8LXQXBdNN5Orxnui-CcjfosUl_0edQETrBWXI id: paragraph.field_accordion_title_level field_name: field_accordion_title_level entity_type: paragraph diff --git a/conf/cmi/helfi_platform_config.redirect_cleaner.yml b/conf/cmi/helfi_platform_config.redirect_cleaner.yml new file mode 100644 index 00000000..bc0ef065 --- /dev/null +++ b/conf/cmi/helfi_platform_config.redirect_cleaner.yml @@ -0,0 +1 @@ +enable: true diff --git a/conf/cmi/language/fi/social_media.settings.yml b/conf/cmi/language/fi/social_media.settings.yml index 94e60de6..795f0149 100644 --- a/conf/cmi/language/fi/social_media.settings.yml +++ b/conf/cmi/language/fi/social_media.settings.yml @@ -1,7 +1,6 @@ social_media: facebook_share: text: 'Jaa Facebook-palvelussa' - api_url: 'https://www.facebook.com/share.php?u=[current-page:url]&title=[current-page:title]' attributes: "target|_blank\r\nclass|facebook-share" linkedin: text: 'Jaa LinkedIn-palvelussa' diff --git a/conf/cmi/language/fi/views.view.helfi_redirect.yml b/conf/cmi/language/fi/views.view.helfi_redirect.yml new file mode 100644 index 00000000..78822a3c --- /dev/null +++ b/conf/cmi/language/fi/views.view.helfi_redirect.yml @@ -0,0 +1,77 @@ +display: + default: + display_options: + filters: + status_code: + group_info: + group_items: + 7: + title: '300 Multiple Choices' + 1: + title: '300 Multiple Choices' + 2: + title: '301 Moved Permanently' + 3: + title: '302 Found' + 4: + title: '303 See Other' + 5: + title: '304 Not Modified' + 6: + title: '305 Use Proxy' + label: Tilakoodi + expose: + label: Tilakoodi + redirect_source__path: + expose: + label: Lähettäjä + redirect_redirect__uri: + expose: + label: Osoitteeseen + language: + expose: + label: 'Alkuperäinen kieli' + is_custom: + expose: + label: 'Käyttäjän luoma' + exposed_form: + options: + submit_button: Suodata + reset_button_label: Palauta + exposed_sorts_label: Lajittele + sort_asc_label: Nousevasti + sort_desc_label: Laskevasti + pager: + options: + expose: + items_per_page_label: 'Merkintöjä sivua kohti' + items_per_page_options_all_label: '- Kaikki -' + offset_label: Offset + tags: + next: 'next ›' + previous: '‹ previous' + first: '« first' + last: 'last »' + fields: + redirect_bulk_form: + action_title: Valinnalla + redirect_source__path: + label: Lähettäjä + separator: ', ' + created: + label: Luotu + is_custom: + label: 'Käyttäjän luoma' + separator: ', ' + empty: + area_text_custom: + content: 'Ei ole vielä uudelleenohjaksia.' + title: Uudelleenohjaukset + display_title: Oletus + page_1: + display_title: Sivu + display_options: + menu: + title: Uudelleenohjaukset +label: Uudelleenohjaukset +description: Uudelleenohjaukset diff --git a/conf/cmi/language/fi/views.view.redirect.yml b/conf/cmi/language/fi/views.view.redirect.yml index 0977e9f6..f6db234f 100644 --- a/conf/cmi/language/fi/views.view.redirect.yml +++ b/conf/cmi/language/fi/views.view.redirect.yml @@ -6,19 +6,19 @@ display: group_info: group_items: 7: - title: '300 Useita valintoja' + title: '300 Multiple Choices' 1: - title: '300 Useita valintoja' + title: '300 Multiple Choices' 2: - title: '301 Pysyvästi siirretty' + title: '301 Moved Permanently' 3: - title: '302 Löydetty' + title: '302 Found' 4: - title: '303 Kts. toinen' + title: '303 See Other' 5: - title: '304 Muuttamaton' + title: '304 Not Modified' 6: - title: '305 Käytä proxyä' + title: '305 Use Proxy' label: Tilakoodi expose: label: Tilakoodi @@ -41,10 +41,10 @@ display: pager: options: tags: - previous: '‹ edellinen' - next: 'seuraava ›' - first: '« ensimmäinen' - last: 'viimeinen »' + previous: '‹ previous' + next: 'next ›' + first: '« first' + last: 'last »' expose: items_per_page_label: 'Merkintöjä sivua kohti' items_per_page_options_all_label: '- Kaikki -' @@ -57,12 +57,12 @@ display: separator: ', ' created: label: Luotu - title: Redirect + title: Uudelleenohjaukset empty: area_text_custom: content: 'Ei ole vielä uudelleenohjaksia.' display_title: Oletus page_1: display_title: Sivu -label: Redirect +label: Uudelleenohjaukset description: Uudelleenohjaukset diff --git a/conf/cmi/language/fi/views.view.scheduler_scheduled_content.yml b/conf/cmi/language/fi/views.view.scheduler_scheduled_content.yml index 2f57f70a..db5a883f 100644 --- a/conf/cmi/language/fi/views.view.scheduler_scheduled_content.yml +++ b/conf/cmi/language/fi/views.view.scheduler_scheduled_content.yml @@ -63,10 +63,10 @@ display: pager: options: tags: - previous: '‹ edellinen' - next: 'seuraava ›' - first: '« ensimmäinen' - last: 'viimeinen »' + previous: '‹ previous' + next: 'next ›' + first: '« first' + last: 'last »' display_title: Oletus overview: display_options: diff --git a/conf/cmi/language/sv/social_media.settings.yml b/conf/cmi/language/sv/social_media.settings.yml index 027c6e2c..b0261901 100644 --- a/conf/cmi/language/sv/social_media.settings.yml +++ b/conf/cmi/language/sv/social_media.settings.yml @@ -1,7 +1,6 @@ social_media: facebook_share: text: 'Dela på Facebook' - api_url: 'https://www.facebook.com/share.php?u=[current-page:url]&title=[current-page:title]' attributes: "target|_blank\r\nclass|facebook-share" linkedin: text: 'Dela på Linkedin' diff --git a/conf/cmi/language/sv/views.view.helfi_redirect.yml b/conf/cmi/language/sv/views.view.helfi_redirect.yml new file mode 100644 index 00000000..63467f03 --- /dev/null +++ b/conf/cmi/language/sv/views.view.helfi_redirect.yml @@ -0,0 +1,62 @@ +label: Omdirigera +description: 'Lista över omdirigeringar' +display: + default: + display_title: Förvald + display_options: + title: Omdirigera + fields: + redirect_bulk_form: + action_title: 'Med urval' + redirect_source__path: + label: Från + separator: ', ' + is_custom: + label: Anpassad + separator: ', ' + created: + label: Skapad + pager: + options: + tags: + next: 'nästa ›' + previous: '‹ föregående' + first: '« första' + last: 'sista »' + expose: + items_per_page_label: 'Inlägg per sida' + items_per_page_options_all_label: '- Alla -' + offset_label: Kompensera + exposed_form: + options: + submit_button: Filtrera + reset_button_label: Återställ + exposed_sorts_label: 'Sortera efter' + sort_asc_label: Stigande + sort_desc_label: Fallande + empty: + area_text_custom: + content: 'Det finns ingen omdirigering ännu.' + filters: + redirect_source__path: + expose: + label: Från + redirect_redirect__uri: + expose: + label: Till + status_code: + expose: + label: Statuskod + group_info: + label: Statuskod + language: + expose: + label: Ursprungsspråk + is_custom: + expose: + label: Anpassad + page_1: + display_title: Sida + display_options: + menu: + title: Omdirigera diff --git a/conf/cmi/paragraphs.paragraphs_type.accordion.yml b/conf/cmi/paragraphs.paragraphs_type.accordion.yml index 345aa284..b637ee30 100644 --- a/conf/cmi/paragraphs.paragraphs_type.accordion.yml +++ b/conf/cmi/paragraphs.paragraphs_type.accordion.yml @@ -8,7 +8,7 @@ third_party_settings: paragraphs_library: allow_library_conversion: true _core: - default_config_hash: d9QHZSNb78KFueRqSVFC7_maG4KBNgjsPmLJIb2TN10 + default_config_hash: vES-HnW4QjvAjQCy5Ax4wt2ggnDoE4gNRQrS6LOHQrY id: accordion label: Accordion icon_uuid: null diff --git a/conf/cmi/paragraphs.paragraphs_type.accordion_item.yml b/conf/cmi/paragraphs.paragraphs_type.accordion_item.yml index 0a6dc886..82f40a4e 100644 --- a/conf/cmi/paragraphs.paragraphs_type.accordion_item.yml +++ b/conf/cmi/paragraphs.paragraphs_type.accordion_item.yml @@ -6,7 +6,7 @@ dependencies: config: - paragraphs.paragraphs_type.accordion _core: - default_config_hash: 3_2UxgHC3d_rUCxJsaSL4ynVsWjXtTwRlrvBotSkiWg + default_config_hash: 6q_i214TRzdynGv7ESHDBPmtLt4sz3K5dJGbXy7Suik id: accordion_item label: 'Accordion item' icon_uuid: null diff --git a/conf/cmi/views.view.helfi_redirect.yml b/conf/cmi/views.view.helfi_redirect.yml new file mode 100644 index 00000000..a3f968da --- /dev/null +++ b/conf/cmi/views.view.helfi_redirect.yml @@ -0,0 +1,784 @@ +uuid: bf25e83d-5e50-4476-a09f-b072a996e778 +langcode: en +status: true +dependencies: + config: + - system.menu.admin + module: + - link + - redirect + - user +_core: + default_config_hash: h9PYX1gxwmkwfgZUv0BJ_Js6-woWmUbyPSK0INlm538 +id: helfi_redirect +label: Redirect +module: views +description: 'List of redirects' +tag: '' +base_table: redirect +base_field: rid +display: + default: + id: default + display_title: Master + display_plugin: default + position: 0 + display_options: + title: Redirect + fields: + redirect_bulk_form: + id: redirect_bulk_form + table: redirect + field: redirect_bulk_form + relationship: none + group_type: group + admin_label: '' + entity_type: redirect + plugin_id: redirect_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: 'With selection' + include_exclude: exclude + selected_actions: { } + redirect_source__path: + id: redirect_source__path + table: redirect + field: redirect_source__path + relationship: none + group_type: group + admin_label: '' + entity_type: redirect + entity_field: redirect_source + plugin_id: field + label: From + 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: path + type: redirect_source + settings: { } + group_column: '' + 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 + redirect_redirect__uri: + id: redirect_redirect__uri + table: redirect + field: redirect_redirect__uri + entity_type: redirect + entity_field: redirect_redirect + plugin_id: field + status_code: + id: status_code + table: redirect + field: status_code + entity_type: redirect + entity_field: status_code + plugin_id: field + is_custom: + id: is_custom + table: redirect + field: is_custom + relationship: none + group_type: group + admin_label: '' + entity_type: redirect + entity_field: is_custom + plugin_id: field + label: Custom + 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: unicode-yes-no + format_custom_false: '' + format_custom_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 + language: + id: language + table: redirect + field: language + entity_type: redirect + entity_field: language + plugin_id: field + created: + id: created + table: redirect + field: created + relationship: none + group_type: group + admin_label: '' + entity_type: redirect + entity_field: created + plugin_id: date + label: Created + 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 + date_format: fallback + custom_date_format: '' + timezone: '' + operations: + id: operations + table: redirect + field: operations + entity_type: redirect + plugin_id: entity_operations + pager: + type: full + options: + offset: 0 + pagination_heading_level: h4 + items_per_page: 50 + total_pages: null + id: 0 + tags: + next: 'next ›' + previous: '‹ previous' + 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 + exposed_form: + type: basic + options: + submit_button: Filter + 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: 'administer redirects' + cache: + type: tag + options: { } + empty: + area_text_custom: + id: area_text_custom + table: views + field: area_text_custom + relationship: none + group_type: group + admin_label: '' + plugin_id: text_custom + empty: true + content: 'There is no redirect yet.' + tokenize: false + sorts: { } + arguments: { } + filters: + redirect_source__path: + id: redirect_source__path + table: redirect + field: redirect_source__path + relationship: none + group_type: group + admin_label: '' + entity_type: redirect + entity_field: redirect_source + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: redirect_source__path_op + label: From + description: '' + use_operator: false + operator: redirect_source__path_op + operator_limit_selection: false + operator_list: { } + identifier: redirect_source__path + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + redirect_redirect__uri: + id: redirect_redirect__uri + table: redirect + field: redirect_redirect__uri + relationship: none + group_type: group + admin_label: '' + entity_type: redirect + entity_field: redirect_redirect + plugin_id: string + operator: contains + value: '' + group: 1 + exposed: true + expose: + operator_id: redirect_redirect__uri_op + label: To + description: '' + use_operator: false + operator: redirect_redirect__uri_op + operator_limit_selection: false + operator_list: { } + identifier: redirect_redirect__uri + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + 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_code: + id: status_code + table: redirect + field: status_code + relationship: none + group_type: group + admin_label: '' + entity_type: redirect + entity_field: status_code + plugin_id: numeric + operator: '=' + value: + min: '' + max: '' + value: '' + group: 1 + exposed: true + expose: + operator_id: status_code_op + label: 'Status code' + description: '' + use_operator: false + operator: status_code_op + operator_limit_selection: false + operator_list: { } + identifier: status_code + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + is_grouped: true + group_info: + label: 'Status code' + description: '' + identifier: status_code + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: + 1: + title: '300 Multiple Choices' + operator: '=' + value: + min: '' + max: '' + value: '300' + 2: + title: '301 Moved Permanently' + operator: '=' + value: + min: '' + max: '' + value: '301' + 3: + title: '302 Found' + operator: '=' + value: + min: '' + max: '' + value: '302' + 4: + title: '303 See Other' + operator: '=' + value: + min: '' + max: '' + value: '303' + 5: + title: '304 Not Modified' + operator: '=' + value: + min: '' + max: '' + value: '304' + 6: + title: '305 Use Proxy' + operator: '=' + value: + min: '' + max: '' + value: '305' + 7: + title: '307 Temporary Redirect' + operator: '=' + value: + min: '' + max: '' + value: '307' + language: + id: language + table: redirect + field: language + relationship: none + group_type: group + admin_label: '' + entity_type: redirect + entity_field: language + plugin_id: language + operator: in + value: { } + group: 1 + exposed: true + expose: + operator_id: language_op + label: 'Original language' + description: '' + use_operator: false + operator: language_op + operator_limit_selection: false + operator_list: { } + identifier: language + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + 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: { } + is_custom: + id: is_custom + table: redirect + field: is_custom + relationship: none + group_type: group + admin_label: '' + entity_type: redirect + entity_field: is_custom + plugin_id: boolean + operator: '=' + value: All + group: 1 + exposed: true + expose: + operator_id: '' + label: Custom + description: '' + use_operator: false + operator: is_custom_op + operator_limit_selection: false + operator_list: { } + identifier: is_custom + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + read_only: '0' + content_producer: '0' + editor: '0' + admin: '0' + menu_api: '0' + super_administrator: '0' + news_producer: '0' + survey_editor: '0' + 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: + id: status + table: redirect + field: status + relationship: none + group_type: group + admin_label: '' + entity_type: redirect + entity_field: status + plugin_id: boolean + operator: '=' + value: '1' + group: 1 + exposed: true + expose: + operator_id: '' + label: Julkaistu + description: '' + use_operator: false + operator: status_op + operator_limit_selection: false + operator_list: { } + identifier: status + required: true + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + read_only: '0' + content_producer: '0' + editor: '0' + admin: '0' + menu_api: '0' + super_administrator: '0' + news_producer: '0' + survey_editor: '0' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + filter_groups: + operator: AND + groups: + 1: AND + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + columns: + redirect_source__path: redirect_source__path + redirect_redirect__uri: redirect_redirect__uri + status_code: status_code + language: language + created: created + operations: operations + default: created + info: + redirect_source__path: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + redirect_redirect__uri: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + status_code: + sortable: true + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + language: + 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: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + override: true + sticky: false + summary: '' + empty_table: false + caption: '' + description: '' + row: + type: fields + query: + type: views_query + options: + query_comment: '' + disable_sql_rewrite: false + distinct: false + replica: false + query_tags: { } + relationships: { } + header: { } + footer: { } + display_extenders: { } + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + cacheable: false + page_1: + id: page_1 + display_title: Page + display_plugin: page + position: 1 + display_options: + display_extenders: { } + path: admin/config/search/redirect + menu: + type: normal + title: Redirect + description: '' + weight: 0 + expanded: false + menu_name: admin + parent: hdbt_admin_tools.overview + context: '0' + cache_metadata: + max-age: 0 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.permissions + tags: { } + cacheable: false diff --git a/conf/cmi/views.view.redirect.yml b/conf/cmi/views.view.redirect.yml index a4effd86..8e2dbfd5 100644 --- a/conf/cmi/views.view.redirect.yml +++ b/conf/cmi/views.view.redirect.yml @@ -1,6 +1,6 @@ uuid: 75a3953a-65a1-4292-bc92-703230d8020b langcode: en -status: true +status: false dependencies: module: - link diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 22d88d29..7c1efa6e 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -15,11 +15,11 @@ - - + + - + diff --git a/tools/make/override.mk b/tools/make/override.mk index 6f4a034b..df8baac5 100644 --- a/tools/make/override.mk +++ b/tools/make/override.mk @@ -1,4 +1,3 @@ # Docker CLI container CLI_SERVICE=app -CLI_USER=druid CLI_SHELL=bash diff --git a/tools/make/project/db-sync.sh b/tools/make/project/db-sync.sh new file mode 100644 index 00000000..9ed73f5d --- /dev/null +++ b/tools/make/project/db-sync.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +set -e + +if [ ! -n "$OC_PROJECT_NAME" ]; then + echo "OC_PROJECT_NAME not set." + exit 1; +fi + +oc login --token=${1} --server=https://api.arodevtest.hel.fi:6443 +oc project ${OC_PROJECT_NAME} + +OC_POD_NAME=$(oc get pods -o name | grep drupal-cron | grep -v deploy) + +if [ ! -n "$OC_POD_NAME" ]; then + echo "Failed to parse pod name." + exit 1 +fi + +oc rsh $OC_POD_NAME drush sql:dump --structure-tables-key=common \ + --extra-dump="--no-tablespaces --hex-blob" \ + --result-file=/tmp/dump.sql + +oc rsync $OC_POD_NAME:/tmp/dump.sql /app diff --git a/tools/make/project/install.mk b/tools/make/project/install.mk index 483d64f7..4328f653 100644 --- a/tools/make/project/install.mk +++ b/tools/make/project/install.mk @@ -10,18 +10,14 @@ OC_LOGIN_TOKEN ?= $(shell bash -c 'read -s -p "You must obtain an API token by v SYNC_TARGETS := drush-sync-db ifneq ($(DUMP_SQL_EXISTS),yes) -SYNC_TARGETS := oc-login oc-sync +SYNC_TARGETS := oc-sync endif -PHONY += oc-login -oc-login: - $(call drush,helfi:oc:login $(OC_LOGIN_TOKEN)) - PHONY += oc-sync oc-sync: - $(call drush,helfi:oc:get-dump) + docker run --env-file .env -it --rm -v .:/app --name helfi-oc ghcr.io/city-of-helsinki/drupal-oc-cli:latest sh -c "chmod +x /app/tools/make/project/db-sync.sh && /app/tools/make/project/db-sync.sh $(OC_LOGIN_TOKEN)" $(call drush,sql-query --file=${DOCKER_PROJECT_ROOT}/$(DUMP_SQL_FILENAME),SQL dump imported) - $(call drush,helfi:oc:sanitize-database) + $(call drush,sql-query \"UPDATE file_managed SET uri = REPLACE(uri, 'azure://', 'public://');\",Sanitized Azure URIs) $(call drush,cr) $(call drush,cim -y) $(call drush,cr)