logo

Extra Block Types (EBT) - Neue Erfahrung im Layout Builder❗

Extra Block Types (EBT) - gestylte, anpassbare Blocktypen: Diashows, Registerkarten, Karten, Akkordeons und viele andere. Eingebaute Einstellungen für Hintergrund, DOM Box, Javascript Plugins. Erleben Sie die Zukunft der Layouterstellung schon heute.

Demo EBT-Module EBT-Module herunterladen

❗Extra Absatztypen (EPT) - Erfahrung mit neuen Absätzen

Extra Paragraph Types (EPT) - analoger, auf Absätzen basierender Satz von Modulen.

Demo EPT-Module EPT-Module herunterladen

Scroll

9.9. Konfigurationsmanagement in Drupal. Aktive, Sync-Konfiguration, Übertragung von Konfigurationen von DEV zu LIVE.

27/05/2025, by Ivan

Menu

Konfiguration in Drupal bildet die Grundlage für alle Einstellungen von Inhaltstypen, Feldern, Konfigurationsformularen und Variablen. Mithilfe der Konfiguration können wir Änderungen von einer Seite auf eine andere übertragen, gleichzeitig verschiedene Funktionen entwickeln, ohne sich gegenseitig zu stören.

Konfigurationen können in YML-Dateien exportiert und im Git-Repository abgelegt werden, so dass Sie Ihre Änderungen an den Site-Einstellungen versionieren und auf Dev oder Live übertragen können. Die Idee der Konfiguration in Drupal ähnelt der Funktionsweise des Features-Moduls:

https://www.drupal.org/project/features

Nur sind Features nicht in alle Module integriert und es war nicht immer möglich, alle Site-Einstellungen via Features zu übertragen. Die Drupal-Konfiguration arbeitet mit allen Einstellungen und erlaubt, alles in Dateien zu speichern.

Beim Installieren von Drupal wird ein Ordner für den Upload von Konfigurationen angelegt. Standardmäßig ist es ein Ordner mit einem langen Namen unter sites/default/files:

Konfigurationsordner

Der Name des Ordners wird zufällig generiert, da sich der Ordner im öffentlichen Bereich von sites/default/files mit 777 Zugriffsrechten befindet. Der lange Name verhindert, dass man ihn mit den Konfigurationen abgleichen kann. Denn Konfigurationen können API-, Solr- oder SMTP-Zugangsdaten enthalten, die geheim bleiben müssen. Den Pfad zum Konfigurationsordner kann man über settings.php angeben:

$config_directories['sync'] = 'sites/default/files/config__RPFDnw0-VygzmxgHiXPoXGNKYmjVi3mDZmP5exZX8tRleV9jXG6ZECaPRaxekelYsMCF42HwA/sync';

Der Sync-Ordner wird für den Konfigurationsaustausch zwischen Seiten genutzt. Drupal speichert Konfiguration standardmäßig in der Datenbank und verwendet die aktive Konfiguration. Man kann aktive Konfiguration auch in Dateien speichern, ebenso wie die Sync-Konfiguration, aber es ist besser, die aktive Konfiguration in der Datenbank zu belassen, damit Drupal schneller arbeitet. Die Tabelle config mit den Konfigurationen kann man z.B. mit PhpMyAdmin oder Adminer einsehen:

Config Tabelle

Dort werden serialisierte Arrays mit Konfigurationen gespeichert.

Üblicherweise liegt der Sync-Ordner außerhalb von sites/default/files, da dieser Ordner nicht im Git liegt. Ändern wir den Pfad des Konfigurationsordners:

$config_directories['sync'] = 'config/sync';

Nun können wir unsere Konfigurationen ins Git aufnehmen. Die Konfiguration kann manuell exportiert werden:

/admin/config/development/configuration/full/export

Konfiguration → Konfigurationssynchronisation → Export

Export

Wenn Sie auf Export klicken, erzeugt Drupal ein Archiv mit allen Konfigurationen. Diese können Sie dann ins Git einpflegen:

Konfiguration

Manuelles Exportieren über die Website funktioniert nicht immer stabil. Bei vielen Konfigurationen kann der Export abbrechen. Daher ist es besser, mit Drush zu exportieren:

drush config-export

oder mit der Drupal Console:

drupal config:export

Analog zum Import kann dieser ebenfalls via Drush

drush config-import

oder Drupal Console

drupal config:import

gemacht werden.

Die Konfigurationen im Root-Verzeichnis der Seite zu lagern, ist keine gute Idee. Besser ist es, sie außerhalb des öffentlichen Bereichs abzuspeichern, indem man die Einstellung in settings.php anpasst:

$config_directories['sync'] = '../config/sync';

Während Sie Drupal lernen, können Sie den Konfigurationsordner auch im Root belassen.

Nachdem Sie die Konfiguration exportiert und ins Git eingecheckt haben, können Sie sie auf einer anderen Seite hochladen. Ändern Sie dort z.B. den Seitennamen:

/admin/config/system/site-information

Und gehen Sie zur Konfigurationssynchronisationsseite:

/admin/config/development/configuration

Synchronisierung

Drupal vergleicht die aktive Konfiguration aus der Datenbank mit der Sync-Konfiguration. Wenn Unterschiede vorhanden sind, werden diese auf der Seite angezeigt. Mit Klick auf „Alle importieren“ werden die Sync-Konfigurationen in die aktive Konfiguration der Datenbank geladen und Ihre Änderungen übernommen.