Unsere Erfahrungen bei der Vorbereitung auf Drupal 10

05.07.2023

Wenn wir an die Herausforderungen denken, die uns im Jahr 2023 bevorstehen, kommt uns sofort der Release von Drupal 10 im Dezember 2022 in den Sinn. Drupal 10 beinhaltet eine Reihe ansprechender Verbesserungen, was uns motiviert, es frühzeitig für unsere Projekte zu übernehmen. In diesem Blogbeitrag werde ich unsere Erfahrungen mit der Einführung von Drupal 10 darlegen sowie die zukünftige Roadmap beschreiben.

Für eine umfassende Übersicht über die Funktionen von Drupal 10 möchte ich auf die Website https://www.drupal.org verweisen und mich in diesem Blogbeitrag auf den Implementierungsprozess konzentrieren. Die Drupal-Community hat wie üblich groβartige Arbeit geleistet und mit Drupal 10 eine spannende und vielversprechende neue Version erarbeitet. Zudem sind am Veröffentlichungstag die wesentlichen Drupal-Erweiterungsmodule bereits akutalisiert und mit Drupal 10 kompatibel.

Bevor wir mit dem Aktualisierungsprozess beginnen, analysieren wir die Erfahrungen mit dem vorherigen Upgrade, in diesem Fall das Upgrade von Drupal 8 auf Drupal 9. Aus Entwicklersicht verlief dieses bei allen unseren Projekten grunsätzlich reibungslos. Diverse Probleme mussten gelöst werden, aber aufgrund der semantischen Versionierung konnten wir Drupal 8-Sites auf Drupal 9 aktualisieren, ohne die Website neu erstellen und die Daten migrieren zu müssen, was beim Upgrade auf Drupal 7 die größte Schwierigkeit darstellte. Wir sind überzeugt, dass das Update auf Drupal 10 noch angenehmer verlaufen wird.

Kurz nach der Veröffentlichung von Drupal 9 hat sich drunomics das Ziel gesetzt, alle Erweiterungsmodule (extension modules), die derzeit von drunomics gewartet werden, am Tag der Veröffentlichung von Drupal 10 mit Drupal 10-kompatiblen Versionen zu versehen. Der Grund dafür ist, dass ein Upgrade eines bestimmten Projekts nur dann möglich ist, wenn alle im Projekt verwendeten Module auch mit diesem Upgrade kompatibel sind. Bereits bei der Veröffentlichung von Drupal 9 schlossen sich viele Unternehmen dieser Vorgangsweise an. Für die bevorstehende Veröffentlichung von Drupal 10 hat drunomics sie noch einmal ermutigt, bei der Aktualisierung der Erweiterungsmodule mitzuhelfen. Unsere eigenen Projekte haben wir unter unseren Entwicklern verteilt, wobei jeder Person die Verantwortung für eines oder mehrere Module übertragen wurde. 

drunomics startete diese Vorgangsweise kurz nach der Veröffentlichung von Drupal 9.4, der letzten Nebenversion vor der bevorstehenden Veröffentlichung von Drupal 10. Dies war der geeignete Zeitpunkt, damit zu beginnen, da wir somit 6 Monate Zeit hatten, um unser Ziel zu erreichen. Obwohl wir bereits viel Aufwand in die Entwicklung unserer Lupus Decoupled-Distribution gesteckt haben, haben wir nebenher gute Arbeit für die Drupal 10-Veröffentlichtung geleistet. Am Veröffentlichungstag waren die meisten unserer gewarteten Projekte Drupal 10-kompatibel.

Weitere Details zum Vorbereitungsprozess für Erweiterungsmodule

Um die Kompatibilität eines einzelnen Moduls oder des gesamten Projekts zu überprüfen, wird die Verwendung des Upgrade-Statusmoduls empfohlen. Probieren Sie es einfach aus und es wird Ihnen zeigen, was zu tun ist. Sollten umfassende Änderungen erforderlich sein, verwende Sie Drupal Rector, um veralteten Code automatisch zu reparieren. Die danach verbleibenden Problem sind manuell zu beheben und zu testen.

Warum es für uns wichtig ist, unsere Erfahrungen zu teilen

Auch wenn wir in Hinblick auf die Aktualisierung der Erweiterungsmodule bereits viel geschafft haben, bleibt noch einiges zu tun. Trotz des groβen Engagements, erreichten viele Module am Tag der Veröffentlichung nicht die erforderliche Drupal 10-Kompatibilät. Gegenwärtig sind lediglich 4729/9632 (~49 %) der Erweiterungsmodule mit Drupal 10 kompatibel. Für die am häufigsten installierten Module sieht die Statistik jedoch besser aus:

 

  • Top 1000 aller installierten Module – 82 % bereit
  • Top 500 aller installierten Module – 92 % bereit
  • Top 100 aller installierten Module – 96 % bereit

Die Daten hierzu werden von Acquia auf einem Dashbord zum Vollständigkeitsgrad der Kompatibilität mit Drupal 10 verfolgt.

Ich möchte festhalten, dass es in den meisten Fällen sehr einfach ist, Drupal 10-kompatibel zu werden, und dass der Prozess Anfängern eine einfache Möglichkeit bietet, wertvolle contribution credits bei drupal.org zu verdienen.

Was kommt als nächstes?

Wir bei drunomics können es kaum erwarten, alle Kundenprojekte auf Drupal 10 zu aktualisieren und alle Funktionen der neuen Version zu nutzen.

Der drunomics-Entwicklungs-Workflow folgt den CI/CD-Standards für Open-Source-Projekte. Das bedeutet, dass wir in kleineren Schritten entwickeln, frühzeitig integrieren und Änderungen häufig bereitstellen. Wir benutzen dafür automatisierte Tests mit PHPUnit, Behat, Playwright, VRT, phpcs, phpstan usw.

Ein Teil der Arbeit, der bereits vor der Aktualisierung erledigt werden kann, ist das PHP-Update. Für Drupal 10 ist mindestens die PHP-Version 8.1 erforderlich, die auch von Drupal 9 unterstützt wird. Das von uns dafür verwendete Hilfstool war https://github.com/PHPCompatibility/PHPCompatibility.

Vergessen Sie weiters nicht, neben PHP auch andere Systemanforderungen wie MariaDB, Redis usw. zu überprüfen. 

Dies ist zudem eine gute Gelegenheit, Versionen anderer Softwares zu überprüfen, die für ihre Projekte essentiell sind, auch wenn es sich dabei nicht um von Drupal 10 verwendete Software-Komponenten handelt. Überprüfen Sie beispielsweise, ob das Projekt eine aktuelle Version von ElasticSearch, Solr oder anderen verwendet. Es wird dringend empfohlen, die Verwendung veralteter Abhängigkeiten zu vermeiden.

Wir ziehen es vor, solche Dinge nicht bis zum Ende aufzuschieben oder alles in einer großen Änderung zu erledigen. Dies würde zusätzliche Risiken bergen und möglicherweise die Fehlerbehebung erschweren, falls etwas schief geht.

 

Wann sollten Sie ein Upgrade auf Drupal 10 durchführen? Kurz gesagt: Anfang 2023.

Es sieht so aus, als ob 2023 das Jahr der Upgrades auf Drupal 10 sein wird. Drupal 9 wird weiterhin gewartet und erreicht sein End-of-Life-Datum im November 2023..

Natürlich bedeutet die Veröffentlichung von Drupal 10 nicht, dass Sie eine Aktualisierung sofort durchführen müssen. Es wird jedoch auch dringend davon abgeraten, den Termin dafür auf die letzten Monate zu verschieben, sondern alles – wie obig beschrieben - im Voraus vorzubereiten. Der Upgrade-Prozess für Drupal 10 ist sehr vielversprechend und wir gehen davon aus, dass er praktisch reibungslos und sogar einfacher sein wird als das Upgrade auf Drupal 9. Achten Sie trotzdem darauf, nicht einige wichtige Teile zu verpassen, die den Prozess verzögern könnten.

Was passiert, wenn ihr Hosting-Anbieter PHP 8.1 nicht unterstützt? Was passiert, wenn einige PHP SDK-Pakete, die Sie für Integrationen von Drittanbietern verwenden, keine mit PHP 8.1 kompatiblen Versionen haben oder überhaupt veraltet sind? Wer weiß, welche anderen Herausforderungen es gibt, die sich in Ihren Projekten verstecken? Ihnen ist sicher schon auch aufgefallen, dass Dinge manchmal nicht vollends nach Plan laufen.

Planen Sie solche Dinge professionell im Voraus und sorgen Sie dafür, dass Ihre Kunden so zufrieden sind wie unsere.

Wir beschreiben alles obige unter der Annahme, dass Sie derzeit Drupal 9 verwenden.

Vergessen wir schlussendlich nicht eine weitere wichtige Sache. Die statistische Nutzung zeigt, dass etwa die Hälfte der Drupal-Projekte immer noch auf Drupal 7 läuft und dessen End-of-Life-Datum dasselbe ist wie jenes von Drupal 9, und zwar November 2023.

Für Websites, die unter Drupal 7 laufen, lesen Sie bitte Blogpost Nr. 2.

 

More articles

Alte Münze - "There are far better things ahead than any we leave behind"

Was mir das DrupalCamp Berlin über “Volunteering” beigebracht hat

Community14. November 2024
Vom Zögern zur Begeisterung: Als ich mich entschloss, beim DrupalCamp Berlin als Volunteer zu helfen, wusste ich nicht, was mich erwartet. Im Nachhinein war es eine unvergessliche Erfahrung, die mich tief in die Community eintauchen ließ. In meinem Bericht teile ich Einblicke hinter die Kulissen und was es wirklich bedeutet, ein Event wie dieses mitzugestalten.