Konfigurationsmanagement ist eine zunehmend wichtige Grundlage in der Technologiewelt, die alle Probleme moderner Content Management Systeme (CMS) lösen soll. Ob Drupal oder ein anderes CMS, Konfigurationsmanagement hat die Dinge einfacher denn je gemacht und sich positiv auf das Geschäft und die damit verbundenen Aktivitäten ausgewirkt. Es lässt sich nicht leugnen, dass Konfigurationsmanagement für jedes Unternehmen wichtig ist, da der Begriff Konfiguration das ist, was Ihr System zum Laufen bringt.
Mit der Zunahme der Anzahl von Drupal 9 Installationen steigt gleichzeitig die Anzahl von brennenden Fragen zu Drupal 9, die aufgetaucht sind. Eine der Schlüsselfragen betrifft die Strategien für das Konfigurationsmanagement in Drupal 9. Das Konfigurationsmanagement in Drupal 9 ist jedoch nicht so einfach wie ein Upgrade auf Drupal 9.
Wenn Sie also hier sind, um zu erfahren, was zur Implementierung von Strategien für das Konfigurationsmanagement in Drupal 9 erforderlich ist, dann haben Sie Glück! In diesem Blog geben wir einen detaillierten Einblick in die Managementstrategien von Drupal 9, gefolgt von den Faktoren, die diese vorantreiben. Aber bevor wir beginnen, machen wir einen Schritt zurück und verstehen, worum es beim Konfigurationsmanagement in Drupal eigentlich geht.
Konfigurationsmanagement: Ein Überblick
Zunächst einmal ist Konfigurationsmanagement eine Form des IT-Service-Managements, die dafür verantwortlich ist, die Konsistenz der Leistungs-, Funktions- und physikalischen Eigenschaften eines Produkts in Bezug auf die Anforderungen, das Design und die Betriebsinformationen während seines gesamten Lebenszyklus zu gewährleisten und aufrechtzuerhalten. Das Hauptziel des Konfigurationsmanagements ist es, sicherzustellen, dass Sie alle Konfigurationsänderungen in Produktionsumgebungen überprüfen, testen und vorhersehbar bereitstellen können.
Die Konfiguration ist die Sammlung von Administratoreinstellungen, die bestimmen, wie die Website funktioniert, im Gegensatz zum Inhalt der Website, der typischerweise über YAML-Dateien erfasst und bereitgestellt wird. In Drupal werden die Site-Konfigurationsdaten auf konsistente Weise gespeichert, was typischerweise alles umfasst, von der Liste der aktivierten Module bis hin zu Inhaltstypen, Taxonomie-Vokabularen, Feldern und Ansichten. Das Konfigurationsmanagement hat in der Drupal-Welt einen langen Weg zurückgelegt. Mit anderen Worten: Das erstere hat notwendige Änderungen erfahren und sich stark von dem verändert, was es in Drupal 7 und Drupal 8 war.
In Drupal 7 wurden sowohl die Konfiguration als auch der Inhalt in der Datenbank sicher aufbewahrt. Infolgedessen wurde Contributed Modules wie Features die Aufgabe zugewiesen, die Konfiguration in andere Umgebungen zu verschieben. Das Konfigurationsmanagement von Drupal 7 lief gut, aber die Konfiguration war nicht so mühelos, wie sie hätte sein können, was schließlich zu der Änderung des Konfigurationsmanagements in der späteren Version, d. h. Drupal 8, führte.
Drupal 8, die neueste Konfigurationsverbesserung nach Drupal 7, war in der Lage, ein besseres und schnelleres Konfigurationsmanagement zu liefern. In Drupal 8 Core kann die Konfiguration für die meisten Site-Einstellungen sowie für die Definition von Strukturteilen einfach mit einem Klick auf eine Schaltfläche oder einem einzigen Drush-Befehl exportiert werden. Darüber hinaus konnten Sie Konfigurationsänderungen in der Quellcodeverwaltung festschreiben und zusammenführen, die Konfiguration bereitstellen und sie dann in die Zielumgebung importieren. Eine Roadmap für das Konfigurationsmanagement half auch bei den Verbesserungen, die in den Drupal 8-Releases vorgenommen wurden. So wurde beispielsweise die Unterstützung für die Erstellung neuer Sites aus bestehender Konfiguration in Drupal 8.6 aufgenommen.
Strategien für das Konfigurationsmanagement in Drupal 9
Das Konfigurationsmanagement in Drupal 9 ist ein etwas holpriger Prozess, der mit einigen Problemen einhergeht, mit denen man zu kämpfen hat. Mit anderen Worten, es gibt einige bedeutende Herausforderungen auf dem Weg zum Konfigurationsmanagement in Drupal 9, die eine zusätzliche Strategie oder Planung erfordern, um besser zu verstehen, wie Sie das Konfigurationsmanagementsystem nutzen werden. Einige gängige Konfigurationsstrategien umfassen die folgenden:
1. Vollständige Config Sync anwenden:
Überblick:
- Die gesamte Konfiguration wird in ein Konfigurations-Sync-Verzeichnis übertragen
- Config Split und Config Ignore verbessern das Core-Config-System
- Drush verwaltet Config-Importe/-Exporte
- Ideale automatisierte Config-Importe während der Bereitstellung
- Config-Importe sollten nach Datenbankaktualisierungen erfolgen
Diese Strategie eignet sich sowohl für Site- als auch für Profil-Config-Splits und kann Wunder wirken, wenn Sie einen gemeinsamen Satz von Konfigurationen (90 % oder mehr) haben, der über alle Splits hinweg geteilt wird, und den Split und/oder Config Ignore weiter einsetzen, um bestimmte Fälle zu behandeln, wo immer dies erforderlich ist. Diese Strategie kann jedoch fehlschlagen, wenn Sie eine große Plattform haben und jedes Profil/jede Site eine große Menge an einzigartiger/maßgeschneiderter Konfiguration hat.
2. Partielle Config Sync anwenden:
Überblick:
- Die Konfiguration wird in den Config-Verzeichnissen von Modulen/Profilen/Themes gespeichert und nur installiert, wenn der jeweilige übergeordnete Container installiert ist
- Datenbankaktualisierungen und Drush nehmen die notwendigen Aktualisierungen an der Konfiguration vor
- Contributed Modules wie Config Split/Config Ignore sind im Allgemeinen nicht erforderlich
Ungeachtet ihrer Flexibilität führt diese Strategie oft zu Multisite-Plattformen, die aufgrund der unbeabsichtigten Folgen von Änderungen und Entwicklungen fast unmöglich zu aktualisieren sind. Darüber hinaus verfügt der partielle Ansatz im Gegensatz zum monolithischen Ansatz nicht über Paradigmen, die Ihnen helfen können, Probleme in Schach zu halten. Infolgedessen bringt Sie diese Strategie in eine Zwangslage, aus der man nur schwer wieder herauskommt.
Faktoren, die bei der Formulierung einer Strategie zu berücksichtigen sind
Einer der größten Fehler, den ein Entwickler machen kann, ist, mit der Planung zu beginnen, ohne die besten Faktoren zu berücksichtigen. Klingt bizarr? Nun, das passiert wirklich. Es wurde beobachtet, dass die meisten Drupal-basierten Sites das Endprodukt mehr schätzen als das, was sie auf dem Teller haben, weshalb das Entwicklungsteam zum Scheitern verurteilt ist.
Tatsächlich kann die Erstellung der Product Breakdown Structure, d. h. die Vorwegnahme der notwendigen Faktoren, Ihnen helfen, das Endprodukt auf die effizienteste Weise zu liefern. Es gibt drei Schlüsselfaktoren, die von höchster Bedeutung sind und berücksichtigt werden müssen.
Unterscheidung zwischen einer einzelnen Site, einer Multisite und vielen Sites
Strategien für das Konfigurationsmanagement in Drupal 9 werden stark von den architektonischen Überlegungen und Entscheidungen beeinflusst, die nicht übersehen werden dürfen.
- Einzelne Sites: Dazu gehört eine einzelne Site, auf der eine einzige Codebasis, Datenbank und ein Dateisystem ausgeführt werden.
- Multisites: Dazu gehören Sites mit einer einzigen Codebasis, aber separaten Datenbanken und Dateisystemen.
- Viele Sites: Dazu gehören Sites mit separaten Codebasen, Datenbanken und Dateisystemen, die dennoch irgendwie von einer Template-/verteilten Codebasis abgeleitet sind.
Hinweis: Während eine einzelne Site die in ihren Codebasen gespeicherte Konfiguration vollständig nutzen kann, sind Multisites und viele Sites viel weniger einfach und haben zumindest eine gewisse unterschiedliche Konfiguration.
Variation in den Funktionen finden
Als nächstes folgt die Feature-Variation, die sich auf die Gemeinsamkeit der Funktionen konzentriert, die Sie auf Ihrer Plattform anbieten.
Zum Beispiel: Sie erstellen eine Multisite-Codebasis, in der Ihre Kunden ein Hero-Karussell haben möchten, aber Konflikte in Bezug auf das Hero-Banner haben. Einer der Kunden wünscht sich ein horizontal scrollendes Karussell mit einem Hintergrundbild und einem Call-to-Action. Im Gegensatz dazu wünscht sich ein anderer Kunde ein vertikal scrollendes Karussell mit einem Hintergrundvideo. In einem solchen Szenario ist ein gemeinsames Merkmal ein Karussell, das bei der Erstellung einer Konfigurationsmanagementstrategie berücksichtigt werden muss. Es gibt zwei Möglichkeiten, dies zu tun:
- Erstellen Sie zwei Hero-Karussells, die die gleichen Dinge mit wenig oder keiner Variation bieten.
- Erstellen Sie ein Hero-Karussell, das ein paar zusätzliche Felder bietet, um die Scrollrichtung, den Hintergrundtyp usw. zu ändern.
Die identifizierten Funktionen gruppieren
Sobald Sie die Funktionen erfolgreich identifiziert haben, ist es an der Zeit, etwas Zeit in die Gruppierung dieser Funktionen zu investieren. Im Allgemeinen fällt die Funktionsgruppierung in vier Hauptkategorien.
- Alle Drupal-Sites teilen sich die gleiche Konfiguration
- Sites werden in Profile/Distributionen kategorisiert. Darüber hinaus teilen sich Sites innerhalb dieser Gruppen die gleiche Konfiguration
- Ungeachtet der Tatsache, dass jede Site eine individuelle Konfiguration benötigt, teilen sie sich dennoch den Großteil ihrer Konfiguration
- Jede Site besitzt eine maßgeschneiderte Konfiguration und ist von Natur aus völlig einzigartig.
Werkzeuge des Handwerks
Wenn es um Drupal 9 geht, reicht die Formulierung einer Konfigurationsmanagementstrategie nicht aus. Das heißt, Sie müssen sich möglicherweise mit einigen wichtigen Modulen/Ansätzen wappnen, die Ihnen helfen können, den komplexen Drupal-Prozess zu meistern. In einem separaten Blog haben wir die Must-Have-Module für den Start Ihres Drupal 9-Projekts aufgelistet. Hier werden wir einige Drupal 9-Module beleuchten, die Ihnen helfen werden, Ihre Konfigurationsmanagementstrategien zu stärken. Werfen wir einen Blick darauf.
Konfigurations-Split-Modul
Das Config-Split-Modul ermöglicht es Ihnen, Sätze von Konfigurationen zu definieren, die beim Export in separate Verzeichnisse exportiert und beim Import zusammengeführt werden müssen. Darüber hinaus können Sie in settings.php definieren, welche dieser oben genannten Sätze aktiv bleiben und für den Export und Import berücksichtigt werden sollen.
Konfigurations-Ignore-Modul
Das Config-Ignore-Modul ist im Grunde ein Tool, das Ihnen hilft, die gewünschte Konfiguration an Ort und Stelle zu halten. Wenn Sie möchten, dass die system.site-Konfiguration (einschließlich des Site-Namens, des Slogans, der E-Mail usw.) auf Ihrer Live-Site unberührt bleibt, egal wie die Konfiguration im Config-Ordner aussieht, dann ist dieses Modul das, wonach Sie suchen. Außerdem ist dieses Modul der beste Weg, um sich vor den zermürbenden Devel-Einstellungen zu bewahren, die sich jedes Mal ändern, wenn Sie die Konfiguration importieren.
"Installierte" Konfiguration
Diese Konfiguration ist an ein Modul/Theme/Profil gebunden und wird installiert, wenn dieses installiert wird. Das Feature-Modul verwendet den gleichen Ansatz wie die installierte Konfiguration.
Fazit
Abschließend hoffen wir, dass dieser Artikel alles zusammengefasst hat, wonach Sie gesucht haben. Obwohl das Konfigurationsmanagement in Drupal 9 immer noch ein komplexer Prozess ist, ist es in der Tat ein großer Schritt nach vorn in einer Welt, die sich ständig technologisch verändert. Darüber hinaus erfordert das Konfigurationsmanagement in Drupal 9 ein Team von Fachleuten, die kompetent genug sind, um zu verstehen, wie das Konfigurationsmanagement funktioniert, was es leisten kann, wo seine Mängel liegen und wie man Konflikte zusammenführt und löst.
Möchten Sie mehr über das Konfigurationsmanagement in Drupal 9 erfahren? Kontaktieren Sie uns unter [email protected] und unsere Branchenexperten helfen Ihnen, die Probleme, die im Strategiestadium auftreten, zu erkennen und zu lösen.
Abonnieren
Related Blogs
Zurück von der DrupalCon Atlanta 2025: Ein Meilenstein für OpenSense Labs

„Fit. Schnell. Für die Ewigkeit gebaut.“ Das war nicht nur ein Slogan, sondern die Denkweise, mit der wir zur DrupalCon…
Erklärbare KI-Tools: SHAPs Stärke in der KI

Wissen Sie, was erklärbare KI-Tools sind? Erklärbare KI-Tools sind Programme, die zeigen, wie eine KI ihre Entscheidungen…
KI-Chatbots: Präzision und Persönlichkeit in Perfektion

In der Welt der künstlichen Intelligenz ist die Entwicklung eines KI-Chatbots, der nicht nur akkurate Informationen liefert…