diff --git a/.platform/schema b/.platform/schema index 3f10ffe7..19c7bdba 100644 --- a/.platform/schema +++ b/.platform/schema @@ -1 +1 @@ -15 \ No newline at end of file +16 \ No newline at end of file diff --git a/composer.lock b/composer.lock index e7b63719..a9e2175f 100644 --- a/composer.lock +++ b/composer.lock @@ -1837,6 +1837,10 @@ "homepage": "https://www.drupal.org/u/matio89", "role": "Maintainer" }, + { + "name": "fethi.krout", + "homepage": "https://www.drupal.org/user/3206765" + }, { "name": "japerry", "homepage": "https://www.drupal.org/user/45640" @@ -2329,16 +2333,16 @@ }, { "name": "drupal/core", - "version": "10.4.2", + "version": "10.4.3", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "a895b261aec81a2f52ed1f9123118d08e4616805" + "reference": "b9ecec3637e19050a3ab5fe14f6d84e9e00c9abd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/a895b261aec81a2f52ed1f9123118d08e4616805", - "reference": "a895b261aec81a2f52ed1f9123118d08e4616805", + "url": "https://api.github.com/repos/drupal/core/zipball/b9ecec3637e19050a3ab5fe14f6d84e9e00c9abd", + "reference": "b9ecec3637e19050a3ab5fe14f6d84e9e00c9abd", "shasum": "" }, "require": { @@ -2487,13 +2491,13 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/10.4.2" + "source": "https://github.com/drupal/core/tree/10.4.3" }, - "time": "2025-02-05T22:51:59+00:00" + "time": "2025-02-18T22:41:05+00:00" }, { "name": "drupal/core-composer-scaffold", - "version": "10.4.2", + "version": "10.4.3", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", @@ -2537,7 +2541,7 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/10.4.2" + "source": "https://github.com/drupal/core-composer-scaffold/tree/10.4.3" }, "time": "2024-08-22T14:31:30+00:00" }, @@ -3037,20 +3041,20 @@ }, { "name": "drupal/elasticsearch_connector", - "version": "8.0.0-alpha3", + "version": "8.0.0-alpha4", "source": { "type": "git", "url": "https://git.drupalcode.org/project/elasticsearch_connector.git", - "reference": "8.0.0-alpha3" + "reference": "8.0.0-alpha4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/elasticsearch_connector-8.0.0-alpha3.zip", - "reference": "8.0.0-alpha3", - "shasum": "6743642017ed64be903526f8acf925f1351124e8" + "url": "https://ftp.drupal.org/files/projects/elasticsearch_connector-8.0.0-alpha4.zip", + "reference": "8.0.0-alpha4", + "shasum": "f2c0448ad77268fb2716187691e6e0a80f9806db" }, "require": { - "drupal/core": "^9 || ^10 || ^11", + "drupal/core": "^10.2 || ^11", "drupal/search_api": "^1.23", "elasticsearch/elasticsearch": "^8", "makinacorpus/php-lucene": "^1.1", @@ -3072,8 +3076,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.0.0-alpha3", - "datestamp": "1738945053", + "version": "8.0.0-alpha4", + "datestamp": "1740168985", "security-coverage": { "status": "not-covered", "message": "Project has not opted into security advisory coverage!" @@ -3184,17 +3188,17 @@ }, { "name": "drupal/entity", - "version": "1.5.0", + "version": "1.6.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity.git", - "reference": "8.x-1.5" + "reference": "8.x-1.6" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity-8.x-1.5.zip", - "reference": "8.x-1.5", - "shasum": "86c0b75c173144aaedde3e3258dc0d3ce11d1a22" + "url": "https://ftp.drupal.org/files/projects/entity-8.x-1.6.zip", + "reference": "8.x-1.6", + "shasum": "dfb214fd45bd6ad79604d23a39a96b3d4c38f8e1" }, "require": { "drupal/core": "^10.1 || ^11" @@ -3202,8 +3206,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.5", - "datestamp": "1723380062", + "version": "8.x-1.6", + "datestamp": "1740006812", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3253,17 +3257,17 @@ }, { "name": "drupal/entity_browser", - "version": "2.12.0", + "version": "2.13.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_browser.git", - "reference": "8.x-2.12" + "reference": "8.x-2.13" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_browser-8.x-2.12.zip", - "reference": "8.x-2.12", - "shasum": "eeafb55f02317c63b17d71913cb918e6341b7c0d" + "url": "https://ftp.drupal.org/files/projects/entity_browser-8.x-2.13.zip", + "reference": "8.x-2.13", + "shasum": "9c31caed2602a5cb582cb4f1e1feaac44cbbc21b" }, "require": { "drupal/core": "^10.2 || ^11" @@ -3272,12 +3276,11 @@ "drupal/media_entity": "1.*" }, "require-dev": { - "drupal/ckeditor": "^1.0", "drupal/embed": "^1.0", "drupal/entity_embed": "^1.0", "drupal/entity_reference_revisions": "^1.0", "drupal/entityqueue": "^1.0", - "drupal/inline_entity_form": "^1.0@rc", + "drupal/inline_entity_form": "^1 || ^3", "drupal/paragraphs": "^1.0", "drupal/search_api": "^1.0", "drupal/token": "^1.0" @@ -3285,8 +3288,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.12", - "datestamp": "1730631838", + "version": "8.x-2.13", + "datestamp": "1739701403", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3412,17 +3415,17 @@ }, { "name": "drupal/entity_usage", - "version": "2.0.0-beta17", + "version": "2.0.0-beta19", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_usage.git", - "reference": "8.x-2.0-beta17" + "reference": "8.x-2.0-beta19" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_usage-8.x-2.0-beta17.zip", - "reference": "8.x-2.0-beta17", - "shasum": "29691274f6b68b13a8d1ba295677453c85c2ed39" + "url": "https://ftp.drupal.org/files/projects/entity_usage-8.x-2.0-beta19.zip", + "reference": "8.x-2.0-beta19", + "shasum": "61c0540d1a2731f085ade5fc8a4b3d5f57cecb1e" }, "require": { "drupal/core": "^10.2 || ^11" @@ -3437,13 +3440,14 @@ "drupal/entity_reference_revisions": "~1.0", "drupal/inline_entity_form": "^1.0@RC || ^3.0@RC", "drupal/paragraphs": "~1.0", + "drupal/redirect": "^1.11", "drupal/webform": "^6.0.0-alpha4" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.0-beta17", - "datestamp": "1736865887", + "version": "8.x-2.0-beta19", + "datestamp": "1739870536", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -4010,7 +4014,7 @@ "homepage": "https://www.drupal.org/user/2919723" }, { - "name": "lhridley", + "name": "lisa.rae", "homepage": "https://www.drupal.org/user/1223730" }, { @@ -4093,17 +4097,17 @@ }, { "name": "drupal/gin", - "version": "4.0.2", + "version": "4.0.5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/gin.git", - "reference": "4.0.2" + "reference": "4.0.5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/gin-4.0.2.zip", - "reference": "4.0.2", - "shasum": "501f167bd7009cffa29848a918b3982cb0a8245b" + "url": "https://ftp.drupal.org/files/projects/gin-4.0.5.zip", + "reference": "4.0.5", + "shasum": "d1ff5c5fe171badda27bccb967006b05ef283007" }, "require": { "drupal/core": "^10 || ^11", @@ -4112,8 +4116,8 @@ "type": "drupal-theme", "extra": { "drupal": { - "version": "4.0.2", - "datestamp": "1735405135", + "version": "4.0.5", + "datestamp": "1739910568", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4276,16 +4280,16 @@ }, { "name": "drupal/hdbt", - "version": "6.9.16", + "version": "6.9.31", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-hdbt.git", - "reference": "b30f5a708ee6a9fbf5b777683667a35473103fa7" + "reference": "abc8e287efeed83f18178e2da6a8207ab5f78e6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/b30f5a708ee6a9fbf5b777683667a35473103fa7", - "reference": "b30f5a708ee6a9fbf5b777683667a35473103fa7", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/abc8e287efeed83f18178e2da6a8207ab5f78e6d", + "reference": "abc8e287efeed83f18178e2da6a8207ab5f78e6d", "shasum": "" }, "require": { @@ -4304,23 +4308,23 @@ "Drupal" ], "support": { - "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.9.16", + "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.9.31", "issues": "https://github.com/City-of-Helsinki/drupal-hdbt/issues" }, - "time": "2025-02-11T07:11:26+00:00" + "time": "2025-02-21T14:27:13+00:00" }, { "name": "drupal/hdbt_admin", - "version": "3.3.0", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-hdbt-admin.git", - "reference": "5a8a9fdb5e390a30d7224e1c336874c080f11f96" + "reference": "aed5a93140b018532c2784aad69d26c1e5e6cd70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt-admin/zipball/5a8a9fdb5e390a30d7224e1c336874c080f11f96", - "reference": "5a8a9fdb5e390a30d7224e1c336874c080f11f96", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt-admin/zipball/aed5a93140b018532c2784aad69d26c1e5e6cd70", + "reference": "aed5a93140b018532c2784aad69d26c1e5e6cd70", "shasum": "" }, "require": { @@ -4328,6 +4332,7 @@ "drupal/gin": "^4.0" }, "conflict": { + "drupal/admin_toolbar": ">3.5.1", "drupal/helfi_api_base": "<2.7.6", "drupal/helfi_platform_config": "<4.3" }, @@ -4340,10 +4345,10 @@ "Drupal" ], "support": { - "source": "https://github.com/City-of-Helsinki/drupal-hdbt-admin/tree/3.3.0", + "source": "https://github.com/City-of-Helsinki/drupal-hdbt-admin/tree/3.3.2", "issues": "https://github.com/City-of-Helsinki/drupal-hdbt-admin/issues" }, - "time": "2025-01-08T11:54:15+00:00" + "time": "2025-02-21T11:23:27+00:00" }, { "name": "drupal/health_check", @@ -4397,16 +4402,16 @@ }, { "name": "drupal/helfi_api_base", - "version": "2.7.23", + "version": "2.7.24", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base.git", - "reference": "3b923419ffdec7cbf492a8bf01fb426f3cbda1af" + "reference": "6cccb60df48400192b1bf28389b6a8819996a2b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-api-base/zipball/3b923419ffdec7cbf492a8bf01fb426f3cbda1af", - "reference": "3b923419ffdec7cbf492a8bf01fb426f3cbda1af", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-api-base/zipball/6cccb60df48400192b1bf28389b6a8819996a2b3", + "reference": "6cccb60df48400192b1bf28389b6a8819996a2b3", "shasum": "" }, "require": { @@ -4438,10 +4443,10 @@ ], "description": "Helfi - API Base", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/tree/2.7.23", + "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/tree/2.7.24", "issues": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/issues" }, - "time": "2025-02-10T08:43:36+00:00" + "time": "2025-02-21T12:54:28+00:00" }, { "name": "drupal/helfi_azure_fs", @@ -4495,12 +4500,12 @@ "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-tools.git", - "reference": "bc5416375195d1307adf188098d75a19a5de0224" + "reference": "cdb4837a98b7f30f2db719e03f45507abfedbe3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/bc5416375195d1307adf188098d75a19a5de0224", - "reference": "bc5416375195d1307adf188098d75a19a5de0224", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/cdb4837a98b7f30f2db719e03f45507abfedbe3b", + "reference": "cdb4837a98b7f30f2db719e03f45507abfedbe3b", "shasum": "" }, "require": { @@ -4575,20 +4580,20 @@ "source": "https://github.com/City-of-Helsinki/drupal-tools/tree/main", "issues": "https://github.com/City-of-Helsinki/drupal-tools/issues" }, - "time": "2025-01-15T12:24:04+00:00" + "time": "2025-02-14T10:49:04+00:00" }, { "name": "drupal/helfi_platform_config", - "version": "4.12.16", + "version": "4.12.23", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config.git", - "reference": "f903111158324d608b3d60f837472934d3d93f2d" + "reference": "f6ba6c5cc95d7bf65df0df9c7be3fab9873a58d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/f903111158324d608b3d60f837472934d3d93f2d", - "reference": "f903111158324d608b3d60f837472934d3d93f2d", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/f6ba6c5cc95d7bf65df0df9c7be3fab9873a58d5", + "reference": "f6ba6c5cc95d7bf65df0df9c7be3fab9873a58d5", "shasum": "" }, "require": { @@ -4701,9 +4706,6 @@ }, "drupal/view_unpublished": { "[#UHF-9256] Fix missing dynamic permission dependencies.": "https://raw.githubusercontent.com/City-of-Helsinki/drupal-helfi-platform-config/cbb944ae79643ba7ed895db3fac7f3b3d90ac850/patches/view_unpublished_permissions_missing_dependencies.patch" - }, - "drupal/elasticsearch_connector": { - "https://drupal.org/i/3486375": "https://raw.githubusercontent.com/City-of-Helsinki/drupal-helfi-platform-config/be8a1fba1a5ea2422154caf4fb7183dfc3917599/patches/3486375.patch" } } }, @@ -4712,10 +4714,10 @@ ], "description": "HELfi platform config", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/4.12.16", + "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/4.12.23", "issues": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/issues" }, - "time": "2025-02-10T15:16:22+00:00" + "time": "2025-02-24T10:09:31+00:00" }, { "name": "drupal/helfi_tpr", @@ -4761,16 +4763,16 @@ }, { "name": "drupal/helfi_tunnistamo", - "version": "3.0.10", + "version": "3.0.11", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-module-helfi-tunnistamo.git", - "reference": "13b645c119dc15b4707b31cde55baeb4a41dd29b" + "reference": "eafb88ab4393b3251d49a284ffcfe46e6e3c0e34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-tunnistamo/zipball/13b645c119dc15b4707b31cde55baeb4a41dd29b", - "reference": "13b645c119dc15b4707b31cde55baeb4a41dd29b", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-tunnistamo/zipball/eafb88ab4393b3251d49a284ffcfe46e6e3c0e34", + "reference": "eafb88ab4393b3251d49a284ffcfe46e6e3c0e34", "shasum": "" }, "require": { @@ -4787,10 +4789,10 @@ ], "description": "Tunnistamo integration", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-tunnistamo/tree/3.0.10", + "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-tunnistamo/tree/3.0.11", "issues": "https://github.com/City-of-Helsinki/drupal-module-helfi-tunnistamo/issues" }, - "time": "2024-12-20T10:35:33+00:00" + "time": "2025-02-21T11:22:23+00:00" }, { "name": "drupal/image_style_quality", @@ -5364,30 +5366,30 @@ }, { "name": "drupal/menu_block_current_language", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/menu_block_current_language.git", - "reference": "2.0.0" + "reference": "2.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/menu_block_current_language-2.0.0.zip", - "reference": "2.0.0", - "shasum": "d4bfa75c4894f484eebedc4d7c2a29e787075a4e" + "url": "https://ftp.drupal.org/files/projects/menu_block_current_language-2.0.1.zip", + "reference": "2.0.1", + "shasum": "004897c5a2ced4e2534f7f8598972ac5fc05f2ee" }, "require": { - "drupal/core": "^9.3 || ^10", + "drupal/core": "^9.3 || ^10 || ^11", "php": ">=8.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0", - "datestamp": "1685438166", + "version": "2.0.1", + "datestamp": "1740134797", "security-coverage": { - "status": "not-covered", - "message": "Project has not opted into security advisory coverage!" + "status": "covered", + "message": "Covered by Drupal's security advisory policy" } } }, @@ -5665,20 +5667,20 @@ }, { "name": "drupal/openid_connect", - "version": "3.0.0-alpha5", + "version": "3.0.0-alpha6", "source": { "type": "git", "url": "https://git.drupalcode.org/project/openid_connect.git", - "reference": "3.0.0-alpha5" + "reference": "3.0.0-alpha6" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/openid_connect-3.0.0-alpha5.zip", - "reference": "3.0.0-alpha5", - "shasum": "6bca4f7ac0f675370008a0631095722347379b04" + "url": "https://ftp.drupal.org/files/projects/openid_connect-3.0.0-alpha6.zip", + "reference": "3.0.0-alpha6", + "shasum": "ae9b7a24d8ad2534756e5b2689fad6688e6b3cb0" }, "require": { - "drupal/core": "^9.5 || ^10.2 || ^11", + "drupal/core": "^10.2 || ^11", "drupal/externalauth": "^2.0", "ext-json": "*", "php": ">=8.1.0" @@ -5686,8 +5688,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.0.0-alpha5", - "datestamp": "1735590945", + "version": "3.0.0-alpha6", + "datestamp": "1739445531", "security-coverage": { "status": "not-covered", "message": "Alpha releases are not covered by Drupal security advisories." @@ -5915,7 +5917,7 @@ "extra": { "drupal": { "version": "8.x-1.13", - "datestamp": "1722507672", + "datestamp": "1739552840", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -6584,17 +6586,17 @@ }, { "name": "drupal/search_api", - "version": "1.37.0", + "version": "1.38.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/search_api.git", - "reference": "8.x-1.37" + "reference": "8.x-1.38" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.37.zip", - "reference": "8.x-1.37", - "shasum": "76d9b5850d7fce9df8fc6cf8c49450ab541f455d" + "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.38.zip", + "reference": "8.x-1.38", + "shasum": "d1c83ba74e553eca07d3ea4b15e5d9c7f009a496" }, "require": { "drupal/core": "^10.2 || ^11" @@ -6615,8 +6617,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.37", - "datestamp": "1732727356", + "version": "8.x-1.38", + "datestamp": "1740298961", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -6843,27 +6845,27 @@ }, { "name": "drupal/social_media", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/social_media.git", - "reference": "2.0.0" + "reference": "2.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/social_media-2.0.0.zip", - "reference": "2.0.0", - "shasum": "e4bf23d3de898af949c20a2742c980ee7674d55c" + "url": "https://ftp.drupal.org/files/projects/social_media-2.0.1.zip", + "reference": "2.0.1", + "shasum": "c0d6ac7e7c0da066dc0cc0b022ecc44ffbb70604" }, "require": { - "drupal/core": "^9 || ^10", + "drupal/core": "^10.3 || ^11", "drupal/token": "^1.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0", - "datestamp": "1683754691", + "version": "2.0.1", + "datestamp": "1739922487", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -7573,17 +7575,17 @@ }, { "name": "drupal/views_bulk_operations", - "version": "4.3.2", + "version": "4.3.3", "source": { "type": "git", "url": "https://git.drupalcode.org/project/views_bulk_operations.git", - "reference": "4.3.2" + "reference": "4.3.3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/views_bulk_operations-4.3.2.zip", - "reference": "4.3.2", - "shasum": "b3d0ee06abb15520595b83324e93c5500d5dcef3" + "url": "https://ftp.drupal.org/files/projects/views_bulk_operations-4.3.3.zip", + "reference": "4.3.3", + "shasum": "60d83a18ef31fd1e85fb30137fd03a55cad275f3" }, "require": { "drupal/core": "^10.3 || ^11" @@ -7600,8 +7602,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "4.3.2", - "datestamp": "1731070018", + "version": "4.3.3", + "datestamp": "1739278730", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -7629,9 +7631,9 @@ "description": "Adds an ability to perform bulk operations on selected entities from view results. Provides an API to create such operations.", "homepage": "https://www.drupal.org/project/views_bulk_operations", "support": { - "source": "https://git.drupalcode.org/project/views_bulk_operations/-/tree/8.x-3.x", - "issues": "https://www.drupal.org/project/issues/views_bulk_operations?version=8.x", - "docs": "https://www.drupal.org/docs/8/modules/views-bulk-operations-vbo" + "source": "https://git.drupalcode.org/project/views_bulk_operations", + "issues": "https://www.drupal.org/project/issues/views_bulk_operations?version=any_4.", + "docs": "https://www.drupal.org/docs/contributed-modules/views-bulk-operations-vbo" } }, { @@ -14319,24 +14321,23 @@ }, { "name": "twig/twig", - "version": "v3.19.0", + "version": "v3.20.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e" + "reference": "3468920399451a384bef53cf7996965f7cd40183" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/d4f8c2b86374f08efc859323dbcd95c590f7124e", - "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183", + "reference": "3468920399451a384bef53cf7996965f7cd40183", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php81": "^1.29" + "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { "phpstan/phpstan": "^2.0", @@ -14383,7 +14384,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.19.0" + "source": "https://github.com/twigphp/Twig/tree/v3.20.0" }, "funding": [ { @@ -14395,7 +14396,7 @@ "type": "tidelift" } ], - "time": "2025-01-29T07:06:14+00:00" + "time": "2025-02-13T08:34:43+00:00" }, { "name": "twistor/flysystem-stream-wrapper", diff --git a/conf/cmi/field.field.paragraph.event_list.field_event_location.yml b/conf/cmi/field.field.paragraph.event_list.field_event_location.yml index 0bf5cbcc..45ec5e91 100644 --- a/conf/cmi/field.field.paragraph.event_list.field_event_location.yml +++ b/conf/cmi/field.field.paragraph.event_list.field_event_location.yml @@ -6,13 +6,13 @@ dependencies: - field.storage.paragraph.field_event_location - paragraphs.paragraphs_type.event_list _core: - default_config_hash: 7Hs1O1Q80jl_WCj7YdTHGtJJGN_UIzP6FFe1h7EEZ8I + default_config_hash: 13KIFMm3tOwizoAK5jPdkaQMBM5Q0VVQGzRhZXowlPA id: paragraph.event_list.field_event_location field_name: field_event_location entity_type: paragraph bundle: event_list label: 'Event location' -description: 'Show "event location" filter. Do not use at the same time with the "Remote events" filter. The API URL field should include all location IDs, otherwise this list will display all active locations.' +description: 'Show "event location" filter. The API URL field should include all location IDs, otherwise this list will display all active locations.' required: false translatable: false default_value: diff --git a/conf/cmi/field.field.paragraph.event_list.field_remote_events.yml b/conf/cmi/field.field.paragraph.event_list.field_remote_events.yml index 491c986e..262cbd8a 100644 --- a/conf/cmi/field.field.paragraph.event_list.field_remote_events.yml +++ b/conf/cmi/field.field.paragraph.event_list.field_remote_events.yml @@ -6,13 +6,13 @@ dependencies: - field.storage.paragraph.field_remote_events - paragraphs.paragraphs_type.event_list _core: - default_config_hash: MlPqj3UK1sh8Q_ocrr9beEo5ZuLzzeXXDn4QPV5EGbg + default_config_hash: wz7a1ma56v-vMw8QiUY3AxztYVoDF6xKj0aO_yA0d_4 id: paragraph.event_list.field_remote_events field_name: field_remote_events entity_type: paragraph bundle: event_list label: 'Remote events' -description: 'Show "list only remote events" filter. Do not use at the same time with the "Event location" filter.' +description: 'Show "list only remote events" filter.' required: false translatable: false default_value: diff --git a/conf/cmi/language/fi/field.field.paragraph.event_list.field_event_location.yml b/conf/cmi/language/fi/field.field.paragraph.event_list.field_event_location.yml index 1a40410e..e2a0ca6d 100644 --- a/conf/cmi/language/fi/field.field.paragraph.event_list.field_event_location.yml +++ b/conf/cmi/language/fi/field.field.paragraph.event_list.field_event_location.yml @@ -1,5 +1,5 @@ label: Tapahtumapaikka -description: 'Näytä "tapahtumapaikka" -suodatin. Älä käytä yhtä aikaa "Etätapahtumat" -suodattimen kanssa. Tapahtumapaikat pitää valita tapahtumakalenterista ennen kuin kopioit linkin.' +description: 'Näytä "tapahtumapaikka" -suodatin.Tapahtumapaikat pitää valita tapahtumakalenterista ennen kuin kopioit linkin.' settings: on_label: Kyllä off_label: Ei diff --git a/conf/cmi/language/fi/field.field.paragraph.event_list.field_remote_events.yml b/conf/cmi/language/fi/field.field.paragraph.event_list.field_remote_events.yml index e9e1fb81..0f461bbb 100644 --- a/conf/cmi/language/fi/field.field.paragraph.event_list.field_remote_events.yml +++ b/conf/cmi/language/fi/field.field.paragraph.event_list.field_remote_events.yml @@ -1,5 +1,5 @@ label: Etätapahtumat -description: 'Näytä "näytä vain etätapahtumat" -suodatin. Älä käytä yhtä aikaa "Tapahtumapaikka" -suodattimen kanssa.' +description: 'Näytä "näytä vain etätapahtumat" -suodatin.' settings: on_label: Kyllä off_label: Ei diff --git a/conf/cmi/oembed_providers.provider.icareus_suite.yml b/conf/cmi/oembed_providers.provider.icareus_suite.yml index ed0aeafb..f4e63b05 100644 --- a/conf/cmi/oembed_providers.provider.icareus_suite.yml +++ b/conf/cmi/oembed_providers.provider.icareus_suite.yml @@ -3,7 +3,7 @@ langcode: en status: true dependencies: { } _core: - default_config_hash: lAatlgWI8urSMlM-wvNsFE3cwVWq9Y7cA6WIH6q5o5Y + default_config_hash: cx73uI3KIlc_zavusNtbn2_vDJwmNJhxgorInBFhRAw id: icareus_suite label: 'Icareus Suite' provider_url: 'https://www.helsinkikanava.fi' @@ -44,3 +44,11 @@ endpoints: formats: json: true xml: false + - + schemes: + - 'https://players.icareus.com/helsinkikanava/embed/vod/*' + url: 'https://suite.icareus.com/api/oembed' + discovery: false + formats: + json: true + xml: false diff --git a/docker/openshift/Dockerfile b/docker/openshift/Dockerfile index 32d4a3a2..401de35e 100644 --- a/docker/openshift/Dockerfile +++ b/docker/openshift/Dockerfile @@ -5,17 +5,15 @@ COPY / /var/www/html/ WORKDIR /var/www/html RUN composer install --no-progress --profile --prefer-dist --no-interaction --no-dev --optimize-autoloader -# Copy ALL deploy scripts +# Copy custom entrypoints. +# @see https://github.com/City-of-Helsinki/drupal-docker-images/tree/main/openshift/drupal +RUN mkdir -p /crons /entrypoints /deploy COPY docker/openshift/entrypoints/ /entrypoints -RUN chmod +x /entrypoints/* +COPY docker/openshift/crons/ /crons +COPY docker/openshift/deploy /deploy +RUN chmod +x /entrypoints/* /deploy/* /crons/* COPY docker/openshift/init.sh / -# Copy cron scripts -RUN mkdir /crons -COPY docker/openshift/crons/ /crons -COPY docker/openshift/cron-entrypoint.sh /usr/local/bin/cron-entrypoint -RUN chmod +x /crons/* /usr/local/bin/cron-entrypoint - # Copy nginx overrides. COPY docker/openshift/custom.locations /etc/nginx/conf.d/custom.locations diff --git a/docker/openshift/cron-entrypoint.sh b/docker/openshift/cron-entrypoint.sh deleted file mode 100644 index b9f55232..00000000 --- a/docker/openshift/cron-entrypoint.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -source /init.sh - -echo "Starting cron: $(date)" - -# You can add any additional cron "daemons" to docker/openshift/crons/ folder. -# -# Example: -# @code -# #!/bin/bash -# while true -# do -# drush some-command -# sleep 600 -# done -# @endcode - -for cron in /crons/*.sh; do - # Skip legacy base.sh script if it exists. - # Skip Kubernetes hooks that are stored in crons directory. - if [[ "${cron##*/}" == "base.sh" ]] || [[ "${cron##*/}" == *-hook.sh ]]; then - continue - elif [[ -r "$cron" ]]; then - echo "Starting $cron" - exec "$cron" & - fi -done - -while true -do - # Rudimentary process supervisor: - # Waits for the next process to terminate. The parent - # process is killed if any subprocess exists with failure. - # OpenShift should then restart the cron pod. - wait -n - exit_code=$? - if [[ "$exit_code" -ne 0 ]]; then - output_error_message "Cron subprocess failed with exit code $exit_code" - exit 1 - fi -done diff --git a/docker/openshift/deploy/10-preflight.sh b/docker/openshift/deploy/10-preflight.sh new file mode 100644 index 00000000..b58e6213 --- /dev/null +++ b/docker/openshift/deploy/10-preflight.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +source /init.sh + +if [ -f "../docker/openshift/preflight/preflight.php" ]; then + echo "Running preflight checks ..." + if ! php ../docker/openshift/preflight/preflight.php; then + exit 1 + fi +fi + diff --git a/docker/openshift/deploy/20-deploy.sh b/docker/openshift/deploy/20-deploy.sh new file mode 100644 index 00000000..bec9b3ad --- /dev/null +++ b/docker/openshift/deploy/20-deploy.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +# Skip deployment script if ENV var is true +if [ "$SKIP_DEPLOY_SCRIPTS" = "true" ]; then + echo "SKIP_DEPLOY_SCRIPTS is true. Skipping the steps." + return +fi + +source /init.sh + +echo "Starting deploy: $(date)" + +# Populate deploy ID so 20-deploy.sh is skipped. +# @todo Remove this once 20-deploy.sh is removed. +set_deploy_id $OPENSHIFT_BUILD_NAME + +drush state:set system.maintenance_mode 1 --input-format=integer +# Run pre-deploy tasks. +# @see https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/blob/main/documentation/deploy-hooks.md +drush helfi:pre-deploy || true +# Run maintenance tasks (config import, database updates etc) +drush deploy +# Run post-deploy tasks. +# @see https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/blob/main/documentation/deploy-hooks.md +drush helfi:post-deploy || true +# Disable maintenance mode +drush state:set system.maintenance_mode 0 --input-format=integer diff --git a/docker/openshift/entrypoints/15-twig-compile.sh b/docker/openshift/entrypoints/15-twig-compile.sh new file mode 100644 index 00000000..c164dbee --- /dev/null +++ b/docker/openshift/entrypoints/15-twig-compile.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +# Populate twig caches. +if [ ! -d "/tmp/twig" ]; then + drush twig:compile || true +fi diff --git a/docker/openshift/entrypoints/20-deploy.sh b/docker/openshift/entrypoints/20-deploy.sh index 4c02d6f1..a983c701 100644 --- a/docker/openshift/entrypoints/20-deploy.sh +++ b/docker/openshift/entrypoints/20-deploy.sh @@ -1,4 +1,5 @@ #!/bin/bash +# NOTE: This script is being phased out in favor of new deployment job pod. # Skip deployment script if ENV var is true if [ "$SKIP_DEPLOY_SCRIPTS" = "true" ]; then