diff --git a/.platform/schema b/.platform/schema
index 9a037142..3cacc0b9 100644
--- a/.platform/schema
+++ b/.platform/schema
@@ -1 +1 @@
-10
\ No newline at end of file
+12
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 96880d24..0607dc87 100644
--- a/composer.json
+++ b/composer.json
@@ -25,6 +25,7 @@
     },
     "require-dev": {
         "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
+        "dg/bypass-finals": "^1.5",
         "drupal/coder": "^8.3",
         "drupal/core-dev": "^10.0",
         "jangregor/phpstan-prophecy": "^1.0",
diff --git a/composer.lock b/composer.lock
index 9f989761..dde5eb23 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "04b4fc9be7c44de39dca3f04e4fcdfa1",
+    "content-hash": "f683eee3a4d505ea9156a46362e1deeb",
     "packages": [
         {
             "name": "asm89/stack-cors",
@@ -3342,17 +3342,17 @@
         },
         {
             "name": "drupal/entity_usage",
-            "version": "2.0.0-beta15",
+            "version": "2.0.0-beta16",
             "source": {
                 "type": "git",
                 "url": "https://git.drupalcode.org/project/entity_usage.git",
-                "reference": "8.x-2.0-beta15"
+                "reference": "8.x-2.0-beta16"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://ftp.drupal.org/files/projects/entity_usage-8.x-2.0-beta15.zip",
-                "reference": "8.x-2.0-beta15",
-                "shasum": "80ad5d27e2a499fae60d303d8cc7daededc6d8a6"
+                "url": "https://ftp.drupal.org/files/projects/entity_usage-8.x-2.0-beta16.zip",
+                "reference": "8.x-2.0-beta16",
+                "shasum": "af6533149a0926d2d539f279e7e08073f8f08c55"
             },
             "require": {
                 "drupal/core": "^10.2 || ^11"
@@ -3372,8 +3372,8 @@
             "type": "drupal-module",
             "extra": {
                 "drupal": {
-                    "version": "8.x-2.0-beta15",
-                    "datestamp": "1732783084",
+                    "version": "8.x-2.0-beta16",
+                    "datestamp": "1733149424",
                     "security-coverage": {
                         "status": "not-covered",
                         "message": "Beta releases are not covered by Drupal security advisories."
@@ -4075,16 +4075,16 @@
         },
         {
             "name": "drupal/hdbt",
-            "version": "6.8.12",
+            "version": "6.8.13",
             "source": {
                 "type": "git",
                 "url": "https://github.com/City-of-Helsinki/drupal-hdbt.git",
-                "reference": "eb3b0e24a7846928ce01c2faa8da5d00cc73a6ca"
+                "reference": "297f267856f3566109e80e1e2bd2377117b53110"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/eb3b0e24a7846928ce01c2faa8da5d00cc73a6ca",
-                "reference": "eb3b0e24a7846928ce01c2faa8da5d00cc73a6ca",
+                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/297f267856f3566109e80e1e2bd2377117b53110",
+                "reference": "297f267856f3566109e80e1e2bd2377117b53110",
                 "shasum": ""
             },
             "require": {
@@ -4103,10 +4103,10 @@
                 "Drupal"
             ],
             "support": {
-                "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.8.12",
+                "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/6.8.13",
                 "issues": "https://github.com/City-of-Helsinki/drupal-hdbt/issues"
             },
-            "time": "2024-11-28T09:01:49+00:00"
+            "time": "2024-12-02T19:33:15+00:00"
         },
         {
             "name": "drupal/hdbt_admin",
@@ -4302,12 +4302,12 @@
             "source": {
                 "type": "git",
                 "url": "https://github.com/City-of-Helsinki/drupal-tools.git",
-                "reference": "3de6f884ac7de9a43fe242f371dcf9416cac47b2"
+                "reference": "2abe26c3735150f630dd1203c3e60a77173d90fd"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/3de6f884ac7de9a43fe242f371dcf9416cac47b2",
-                "reference": "3de6f884ac7de9a43fe242f371dcf9416cac47b2",
+                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/2abe26c3735150f630dd1203c3e60a77173d90fd",
+                "reference": "2abe26c3735150f630dd1203c3e60a77173d90fd",
                 "shasum": ""
             },
             "require": {
@@ -4382,7 +4382,7 @@
                 "source": "https://github.com/City-of-Helsinki/drupal-tools/tree/main",
                 "issues": "https://github.com/City-of-Helsinki/drupal-tools/issues"
             },
-            "time": "2024-11-26T06:52:09+00:00"
+            "time": "2024-12-03T06:30:07+00:00"
         },
         {
             "name": "drupal/helfi_navigation",
@@ -4420,16 +4420,16 @@
         },
         {
             "name": "drupal/helfi_platform_config",
-            "version": "4.8.6",
+            "version": "4.8.9",
             "source": {
                 "type": "git",
                 "url": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config.git",
-                "reference": "6d08f98fbb9980d73ddb8efa5f2d14ceb17f7f44"
+                "reference": "d36c184befaae3efd8d95e69d1d2dd5df93e6056"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/6d08f98fbb9980d73ddb8efa5f2d14ceb17f7f44",
-                "reference": "6d08f98fbb9980d73ddb8efa5f2d14ceb17f7f44",
+                "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/d36c184befaae3efd8d95e69d1d2dd5df93e6056",
+                "reference": "d36c184befaae3efd8d95e69d1d2dd5df93e6056",
                 "shasum": ""
             },
             "require": {
@@ -4555,10 +4555,10 @@
             ],
             "description": "HELfi platform config",
             "support": {
-                "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/4.8.6",
+                "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/4.8.9",
                 "issues": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/issues"
             },
-            "time": "2024-11-29T10:12:26+00:00"
+            "time": "2024-12-03T08:46:03+00:00"
         },
         {
             "name": "drupal/helfi_proxy",
@@ -12866,12 +12866,12 @@
             },
             "type": "metapackage",
             "extra": {
+                "thanks": {
+                    "url": "https://github.com/symfony/polyfill",
+                    "name": "symfony/polyfill"
+                },
                 "branch-alias": {
                     "dev-main": "1.20-dev"
-                },
-                "thanks": {
-                    "name": "symfony/polyfill",
-                    "url": "https://github.com/symfony/polyfill"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
@@ -15404,6 +15404,59 @@
             },
             "time": "2022-02-04T12:51:07+00:00"
         },
+        {
+            "name": "dg/bypass-finals",
+            "version": "v1.8.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/dg/bypass-finals.git",
+                "reference": "86b00f0d900c7e15d3341e687e0df89e8c2d4632"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/dg/bypass-finals/zipball/86b00f0d900c7e15d3341e687e0df89e8c2d4632",
+                "reference": "86b00f0d900c7e15d3341e687e0df89e8c2d4632",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "require-dev": {
+                "nette/tester": "^2.3",
+                "phpstan/phpstan": "^0.12"
+            },
+            "type": "library",
+            "autoload": {
+                "classmap": [
+                    "src/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause",
+                "GPL-2.0-only",
+                "GPL-3.0-only"
+            ],
+            "authors": [
+                {
+                    "name": "David Grudl",
+                    "homepage": "https://davidgrudl.com"
+                }
+            ],
+            "description": "Removes final keyword from source code on-the-fly and allows mocking of final methods and classes",
+            "keywords": [
+                "finals",
+                "mocking",
+                "phpunit",
+                "testing",
+                "unit"
+            ],
+            "support": {
+                "issues": "https://github.com/dg/bypass-finals/issues",
+                "source": "https://github.com/dg/bypass-finals/tree/v1.8.0"
+            },
+            "time": "2024-07-02T22:24:43+00:00"
+        },
         {
             "name": "doctrine/instantiator",
             "version": "2.0.0",
@@ -16918,16 +16971,16 @@
         },
         {
             "name": "phpstan/phpstan",
-            "version": "1.10.58",
+            "version": "1.12.12",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpstan/phpstan.git",
-                "reference": "a23518379ec4defd9e47cbf81019526861623ec2"
+                "reference": "b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/a23518379ec4defd9e47cbf81019526861623ec2",
-                "reference": "a23518379ec4defd9e47cbf81019526861623ec2",
+                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0",
+                "reference": "b5ae1b88f471d3fd4ba1aa0046234b5ca3776dd0",
                 "shasum": ""
             },
             "require": {
@@ -16970,13 +17023,9 @@
                 {
                     "url": "https://github.com/phpstan",
                     "type": "github"
-                },
-                {
-                    "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
-                    "type": "tidelift"
                 }
             ],
-            "time": "2024-02-12T20:02:57+00:00"
+            "time": "2024-11-28T22:13:23+00:00"
         },
         {
             "name": "phpstan/phpstan-deprecation-rules",
diff --git a/conf/cmi/language/fi/social_media.settings.yml b/conf/cmi/language/fi/social_media.settings.yml
index 973f8ba0..94e60de6 100644
--- a/conf/cmi/language/fi/social_media.settings.yml
+++ b/conf/cmi/language/fi/social_media.settings.yml
@@ -1,7 +1,7 @@
 social_media:
   facebook_share:
     text: 'Jaa Facebook-palvelussa'
-    api_url: 'http://www.facebook.com/share.php?u=[current-page:url]&title=[current-page:title]'
+    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/sv/social_media.settings.yml b/conf/cmi/language/sv/social_media.settings.yml
index 79ff812c..027c6e2c 100644
--- a/conf/cmi/language/sv/social_media.settings.yml
+++ b/conf/cmi/language/sv/social_media.settings.yml
@@ -1,7 +1,7 @@
 social_media:
   facebook_share:
     text: 'Dela på Facebook'
-    api_url: 'http://www.facebook.com/share.php?u=[current-page:url]&title=[current-page:title]'
+    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/public/sites/default/settings.php b/public/sites/default/settings.php
index b80276cd..b68b80aa 100755
--- a/public/sites/default/settings.php
+++ b/public/sites/default/settings.php
@@ -289,7 +289,7 @@ function drupal_get_env(string|array $variables) : mixed {
     'helfi_api_base_revision',
   ];
   foreach ($queues as $queue) {
-    $settings['queue_service_' . $queue] = 'queue.stomp.default';
+    // $settings['queue_service_' . $queue] = 'queue.stomp.default';
   }
   // You must configure project specific queues manually in 'all.settings.php'
   // file.
@@ -359,6 +359,27 @@ function drupal_get_env(string|array $variables) : mixed {
   'additionalFiles' => [],
 ];
 
+// Elasticsearch server config.
+if (getenv('ELASTICSEARCH_URL')) {
+  $config['search_api.server.default']['backend_config']['connector_config']['url'] = getenv('ELASTICSEARCH_URL');
+
+  if (getenv('ELASTIC_USER') && getenv('ELASTIC_PASSWORD')) {
+    $config['search_api.server.default']['backend_config']['connector'] = 'helfi_connector';
+    $config['search_api.server.default']['backend_config']['connector_config']['username'] = getenv('ELASTIC_USER');
+    $config['search_api.server.default']['backend_config']['connector_config']['password'] = getenv('ELASTIC_PASSWORD');
+  }
+}
+
+
+// Supported values: https://github.com/Seldaek/monolog/blob/main/doc/01-usage.md#log-levels.
+$default_log_level = getenv('APP_ENV') === 'production' ? 'info' : 'debug';
+$settings['helfi_api_base.log_level'] = getenv('LOG_LEVEL') ?: $default_log_level;
+
+// Turn sentry JS error tracking on if SENTRY_DSN_PUBLIC is defined.
+if (getenv('SENTRY_DSN_PUBLIC')) {
+  $config['raven.settings']['javascript_error_handler'] = TRUE;
+}
+
 // Environment specific overrides.
 if (file_exists(__DIR__ . '/all.settings.php')) {
   // phpcs:ignore
@@ -389,15 +410,6 @@ function drupal_get_env(string|array $variables) : mixed {
   }
 }
 
-// Supported values: https://github.com/Seldaek/monolog/blob/main/doc/01-usage.md#log-levels.
-$default_log_level = getenv('APP_ENV') === 'production' ? 'info' : 'debug';
-$settings['helfi_api_base.log_level'] = getenv('LOG_LEVEL') ?: $default_log_level;
-
-// Turn sentry JS error tracking on if SENTRY_DSN_PUBLIC is defined.
-if (getenv('SENTRY_DSN_PUBLIC')) {
-  $config['raven.settings']['javascript_error_handler'] = TRUE;
-}
-
 /**
  * Deployment identifier.
  *