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)