Wann ist es Zeit für ein Upgrade von Drupal-Webseiten)

Wann ist es Zeit für ein Upgrade von Drupal-Webseiten)

Eine Frage, die uns immer wieder gestellt wird: "Wann sollte ich meine Drupal Webseite auf eine neue Version upgraden"? Da ist es wohl an der Zeit unseren letzten Beitrag zu diesem Thema zu aktualisieren.

Werfen wir zunächst einen Blick auf den aktuellen Versionsstand

Momentan gibt es drei Drupal-Versionen, die von der Community unterstützt werden: Drupal 7 (erschienen im Januar 2011), Drupal 8 (erschienen im November 2015) und Drupal 9 (erschienen im Juni 2020). Zunächst war geplant, dass der Support für Drupal 7 im November 2021 ausläuft ("End-of-Life") - zeitgleich mit Drupal 8. Während das End-of-Life für Drupal 8 unverändert geblieben ist, wurde der Termin für Drupal 7 aufgrund der Corona-Pandemie auf November 2022 verlängert. Das Drupal 8 jetzt vor Drupal 7 endet, erscheint zunächst seltsam. Der Grund liegt darin, dass Drupal 8 das Framework Symfony 3.4 verwendet, welches seinerseits im November 2021 sein Support-Ende erreichen soll. Dies muss man berücksichtigen, wenn man ein Upgrade seiner Drupal-Webseite plant.

Was bedeutet "End-of-Life"?

Wenn der Support für eine Drupal-Webseite eingestellt wird, bedeutet dies dass

  • es keine neuen Updates des Drupal-Core mehr geben wird,

  • das Drupal Sicherheitsteam keinen Support mehr leisten und keine Sicherheitsupdates mehr veröffentlichen wird,

  • Drittmodule für diese Drupalversion offiziell nicht länger unterstützt, upgedated oder dokumentiert werden.

Man ist also bei einer Drupal-Seite ohne offiziellen Support darauf angewiesen, dass man noch Unterstützung in der Community findet oder man muss - eventuell teuren - Langzeit-Support von spezialisierten Anbietern einkaufen. Eine frühzeitige Upgrade-Planung ist also in jedem Falle empfehlenswert.

Wann auf welche Version upgraden?

Webseiten, die mit Drupal 6 oder noch älteren Versionen laufen, lassen wir bei der Betrachtung außen vor. Sie sollten lieber heute als morgen ein Upgrade erhalten.

Bei einer Drupal 7 Webseite sieht das anders aus. Ein Upgrade auf Drupal 8 macht wenig Sinn, da man in wenigen Monaten auf Drupal 9 upgraden müsste. Während ein Upgrade von Drupal 7 auf Drupal 8 und weiter auf Drupal 9 für das Core-System in der Regel unproblematisch ist, gilt das nicht für Dritt-Module (also alles, was man unter https://www.drupal.org/project/project_module findet). Bevor man hier also an ein Upgrade denkt, müssen zunächst folgende Punkte geprüft werden:

  • Setzt die Webseite Drittmodule ein? Das ist sehr häufig der Fall. Hier muss zunächst ermittelt werden, ob es diese Module bereits für eine neuere Drupal-Version gibt oder ob dies zumindest in Arbeit ist. Da Drupal 8 vor Drupal 7 sein End-of-Life erreicht, brauchen wir auf jeden Fall eine Modulversion für Drupal 9! Wenn es für ein eingesetztes Modul keine neue Version gibt, muss man prüfen, ob es nicht vielleicht ein anderes Modul gibt, dass die gewünschten Funktionen bereitstellt. Das erschwert zwar ein wenig das Upgrade, ist aber in der Regel zu verkraften. Einige frühere Drittmodule sind mittlerweile auch in den Core gewandert, ein Upgrade ist hier also obsolet.
  • Gibt es speziell programmierte, eigene Module? Wenn ja, muss hier Budget eingeplant werden, um diese Module für Drupal 9 umzuschreiben.
  • Gibt es für das eingesetzte Theme ein Upgrade? Wenn nicht muss eine Entscheidung für ein neues Theme gefällt werden. Hier bietet es sich dann auch an, über ein Redesign der Webseite nachzudenken. Dementsprechend sollte man zusätzliche Zeit (und Geld) für das Upgrade einplanen.
  • Bin ich mit der Funktionalität meiner Webseite zufrieden? Wenn es Änderungs- oder Erweiterungswünsche gibt, ist es oft sinnvoll, diese im Rahmen des Upgrades gleich mit einzuplanen.

Auf jeden Fall bleibt genug Zeit, um das Upgrade in Angriff zu nehmen - dank der Support-Verlängerung um ein Jahr.

Ich habe schon Drupal 8 - was mache ich jetzt?

Wer in der Vergangenheit bereits ein Upgrade auf Drupal 8 durchgeführt hat, oder eine neue Webseite gleich damit aufgesetzt hat, hat dagegen weniger Zeit, sich um ein Upgrade zu kümmen. In der Regel ist es nicht so, dass eine Drupal-Webseite sofort unsicher wird, nur weil der Support ausläuft. Aber man sollte sich vor Augen halten, dass das Risiko, dass Sicherheitslücken entdeckt werden, für die es keinen Fix mehr gibt, mit jedem Tag steigt. Man sollte daher zügig die Prüfschritte durchführen, die wir oben für eine Drupal 7 Seite empfohlen haben. Lassen sich alle Dritt-Module upgraden oder ersetzen, steht dem Upgrade auf Drupal 9 auch hier nichts im Wege.

Was ist, wenn ich keine Ressourcen für ein Upgrade meiner Drupal-Webseite habe?

Es drohen mit dem Wegfall des Supportes Sicherheitslücken. Diese sind umso wahrscheinlicher, je offener die Seite für Besucher ist. Handelt es sich um eine Community-Seite mit zahlreichen, nicht näher verifizierten und damit weniger vertrauenswürdigen Usern, oder bietet die Seite die Möglichkeit Kommentare oder User-Content einzustellen, so sind die Risiken erheblich höher, als wenn nur eine handvoll bekannter Benutzer Zugang zum Backend und erweiterten Funktionen hat. Ein weiteres Sicherheitsrisiko entsteht dadurch, dass ältere Drupal-Versionen nicht mehr mit den aktuell unterstützten PHP-Versionen laufen. Die Webseite muss als mit einer älteren PHP-Version laufen, für die es unter Umständen ebenfalls keine Sicherheitsupdates mehr gibt. In solchen Fällten sollte zumindest geprüft werden, inwieweit man z.B. bestimmte Formulare zusätzlich absichern kann oder potenziell sicherheitsrelevante Funktionen, wie Kommentare oder Datei-Uploads, ganz abschaltet.

Durch diese Maßnahmen läßt sich Zeit gewinnen, bis ein Budget für ein Upgrade in ausreichender Höhe zur Verfügung steht.

Womit sollte ich eine neue Webseite aufbauen?

Wenn eine völlig neue Seite geplant ist, sollte Drupal 9 gewählt werden, sofern die Anforderungen mit dieser Version und den derzeit verfügbaren Drittmodulen realisierbar ist. Ist dies nicht der Fall und sind die fehlenden Funktionen kritisch, bleibt eigentlich nur, die fehlenden Funktionen durch eigenen Programmcode nachzurüsten. Das ist zwar teurer als der Einsatz von fertigen Drittmodulen, dafür kann die Seite deutlich länger ohne neues Upgrade genutzt werden.