Drupal 9: So gelingt das erfolgreiche Upgrade

Es ist soweit: Die neue Version des CMS Drupal ging am 3. Juni an den Start.
Pablo López Escobés
Pablo López Escobés
Daniel Pavón Pérez
Daniel Pavón Pérez
Drupal Logo

Es ist soweit: Die neue Version des CMS Drupal ging am 3. Juni an den Start.

Die neue Drupal-Version kommt nicht mit viel überraschend Neuem daher, sondern bietet insbesondere in der Ausführung bestehender Funktionalitäten einige neue Features, um die Sicherheit und Zukunftsfähigkeit des Open Source-CRMs zu gewährleisten. So aktualisiert Drupal 9 (D9) unter anderem die sogenannten Dependencies auf Symfony 4.4, Twig 2, PHPUnit oder jQuery. Zudem hebt das System die Anforderung an die eingesetzte PHP-Version an, um die Leistung noch weiter zu steigern: Es muss dann mindestens PHP 7.2 oder sogar 7.3 implementiert sein. Nur so kann künftig die Sicherheit und Zukunftsfähigkeit von Drupal sichergestellt werden.

Ab Version 9.1 plant die Drupal-Community, D9 mit weiteren zusätzlichen Features auszustatten – etwa ein neues Admin- und Frontend-Theme oder Verbesserungen in der Darstellung sowie des Content-Workflows. Die größte sichtbare Änderung ist die Entfernung des veralteten Codes der Vorgängerversion.

Upgrade-Prozess rechtzeitig planen

Das Upgrade auf die neue Version ist für alle Drupal-Nutzer unerlässlich, denn das Enddatum sowohl von Drupal 7 als auch von Drupal 8 steht bereits fest: November 2021. Spätestens dann sollte der Upgrade-Prozess abgeschlossen sein, denn zu diesem Termin läuft auch der Support für die Version 3 des Symfony-Frameworks aus, auf dem Drupal 8 aufbaut – Sicherheitslücken werden somit nicht mehr durch das Drupa Security team behoben.

Je nachdem, welche Drupal-Version aktuell für das Content Management im Einsatz ist, gilt es bei der Migration, auf nachfolgende Hinweise und Tipps zu achten:

1. Direktes Upgrade von Drupal 8 auf Drupal 9
Die Migration von D8 auf D9 ist im Gegensatz zu Vorgänger-Upgrades relativ problemlos zu bewerkstelligen, da der Anbieter code-seitig einige Vereinfachungen vorgesehen hat:
Der große Unterschied zu früheren Migrationsprozessen liegt darin, dass sich Programmierer ab sofort in der laufenden Drupal 8-Installation anzeigen lassen können, wie kompatibel diese zu D9 ist. Das gibt ihnen Zeit, einen Plan für notwendige Anpassungen vor dem Versions-Wechsel zu machen. Weitere Hilfestellung gibt das Upgrade-Status-Modul, welches die zu aktualisierenden Contrib-Module anzeigt. Für einen erfolgreichen Wechsel auf D9 sind diese unbedingt anzupassen. Hierzu gilt es, den Custom-Code manuell oder mit Hilfe eines Tools wie Drupal-Check zu prüfen – nur dann wird der Wechsel reibungslos gelingen.

2. Upgrade von Drupal 7 auf Drupal 9 vorbereiten
Eine direkte Migration von Drupal 7 auf Drupal 9 ist wesentlich komplexer. Um unnötige Überraschungen zu vermeiden und viel Zeit zu sparen, empfiehlt es sich daher, zeitnah langfristige Projekte von D7 auf D8 zu migrieren. Dieser Zwischenschritt ermöglicht es, Tools zu nutzen, die dann den Übergang zu Drupal 9 erleichtern und unnötigen Stress reduzieren. Ein weiteres Argument für dieses Vorgehen: D7 basiert noch nicht auf Symfony. Zudem wurden viele Ansätze und Schnittstellen ab Drupal 8 geändert.

Drupal-Upgrade in der Praxis
Der tatsächliche Aufwand, der mit dem Wechsel verbunden ist, hängt von der Größe und Anzahl der zu migrierenden Webseiten ab. Es ist daher sinnvoll, sich bereits frühzeitig Gedanken über die neue Site-Architektur sowie die gewünschten Funktionen zu machen und zu überlegen, welche Drupal-Module in die neue Struktur übernommen werden sollen. Dafür hilft ein Blick auf den Modul-Upgrade-Status. Dieser gibt einen guten Überblick über die bereits vorhandenen Module und welche gegebenenfalls noch fehlen könnten.

Der aus Entwickler-Sicht wahrscheinlich interessanteste Teil im Upgrade-Prozess ist der Blick auf den Custom-Code, der zeigt, auf welche Art und Weise sich die Drupal-Modul-Programmierung in der Vergangenheit entwickelt hat.

Auf die Inhalte kommt es an
Mithilfe des Moduls „Migrate“, das ab sofort im Core von Drupal 9 enthalten ist, können im Anschluss die Inhalte in das neue System überführt werden. Dabei gibt es folgendes zu beachten:

1. Vorrausschauendes Zeitmanagement
Viele Wege führen nicht nur nach Rom – sondern auch zur Migration von Inhalten bei Drupal 9. Daher ist es wichtig, rechtzeitig eine Roadmap zu definieren, die oben genannten Tools wie das Upgrade-Status-Modul oder Drupal-Check zu nutzen und sich einen Überblick über den Code-Stand zu verschaffen.

2. Vorangehende Prozesssimulation Um einen reibungslosen Übergang sicherzustellen, sollte der gesamte Prozess vorab simuliert und kritische Punkte entlang der ganzen Prozesskette frühzeitig getestet werden.

3. Stetige Prozessautomatisierung Der Migrationsprozess beinhaltet viele Bestandteile, die sich für eine Automatisierung eignen. Je höher die Anzahl der automatisierten Bestandteile ist, desto weniger Fehler können im Prozess passieren.

Drupal 9 – Zeit für den Wechsel
Das Release von Drupal 9 und das Ende des Supports für die Versionen D7 und D8 im November 2021 sollten für alle Anstoß sein, rechtzeitig die notwendigen Arbeitsschritte für ein Update anzugehen und somit einen stressfreien Übergang sicherzustellen. Dann steht einer optimalen Nutzung des CMS und der Umsetzung vieler neuer Ideen der Drupal-Community nichts mehr im Weg.

Unser Experte

Pablo López Escobés

Pablo López Escobés

Haben Sie Fragen oder Input? Kontaktieren Sie unsere Expert:innen!

E-Mail senden!

Drupal-Entwickler mit mehr als 10 Jahren Erfahrung, der sich hauptsächlich auf Back-End-Entwicklung und Architekturdefinition konzentriert. Seit 2017 ist Pablo Teil des Cocomore-Teams und hilft Kunden sowie Teammitgliedern, ihre Ziele zu erreichen. Als Open-Source-Enthusiast teilt er gerne Wissen mit dem Rest der Drupal-Community. Außerdem ist er ein Sport- und Familienliebhaber, wenn er nicht vor dem Computer sitzt.

Unser Experte

Daniel Pavón Pérez

Daniel Pavón Pérez

Haben Sie Fragen oder Input? Kontaktieren Sie unsere Expert:innen!

E-Mail senden!

Daniel Pavón Pérez begann im Juli 2015 als Backend-Entwickler bei Cocomore zu arbeiten. Seitdem hat er das Team bei der Bereitstellung von Drupal- und Symfony-Lösungen in einer Vielzahl von Projekten unterstützt. Er passte sich den verschiedenen Technologien und wechselnden Bedürfnissen unserer Kunden an und gewährleistete dadurch Stabilität sowie Wiederverwendbarkeit der Codes. Im Dezember 2012 begann er sich hauptsächlich für die Webentwicklung mit Drupal CMS zu interessieren, wobei er sich auch mit anderen Zweigen der Softwareentwicklung beschäftigt, wann immer sich die Gelegenheit dazu bietet.