Contao 5.0 - Was steckt dahinter?

Mathias Arzberger

Version 5.0 von Contao wird voraussichtlich ab dem 15.08.2022 bereitstehen. Es ist keine LTS Version und wird aktiv bis zum 14.02.2023 mit Bugfixes versorgt. Was ist neu und welche Anforderungen gibt es an die PHP Version und Co?

Mit jeder neuen Contao Version werden auch die Mindestanforderungen erhöht, um mit dem Ökosystem, in dem Contao läuft, mitwachsen zu können. Beim Wechsel von Contao 4 auf Contao 5 sind diesmal besondere Aufgaben für das Contao Core Team vorhanden: Es heißt ausmisten und entfernen aller für Contao 5 als "Deprecated" markierter Codezeilen. Altlasten werden eliminiert und Änderungen müssen in unsere fabelhafte Contao Dokumentation übernommen werden. Es wird demnach nur wenige Neuerungen für den Anwender geben.

Mit Contao 5 - einer "ausgemisteten" Contao 4.13 Version - ist die Vorbereitung auf Folgeaufgaben und damit neue Funktionen, also voll im Gange.

Contao 5.0 - Überblick über die neuen Anforderungen

Die Mindestanforderungen von Contao 5.0 haben sich geändert und auch einzelne Komponenten setzen bestimmte Versionen voraus.
Für einen schnellen Überblick habe ich einige Punkte zusammengefasst:

  • PHP Version: PHP 8.1
  • MySQL: Version 8.0+ oder gleichwertiger MariaDB Server
  • Symfony Framework: Version 5.4 oder 6.0
  • Twig: Version 3.1
  • Doctrine DBAL: Version 3.3

Die Anforderungen von Contao 5 im Detail

Contao 5.0 und PHP 8.1+

PHP 8.1 wurde ursprünglich im Jahr 2021 veröffentlicht und wird bis zum November 2024 mit Sicherheitsupdates versorgt. Es ist zu erwarten, dass auch PHP 8.2 unterstützt wird (die endgültige Version wird für November 2022 erwartet). PHP 8.1 ermöglicht es, die Abhängigkeiten, wie Symfony 6+ (welches PHP 8.0 benötigt), für Contao 5.0, Contao 5.1, Contao 5.2 und Contao 5.3 und höher zu nutzen. Contao 4.13 läuft bereits mit PHP 8.1-Unterstützung, so dass ein Upgrade von Contao 4.13 auf 5.0 ohne Änderung der zugrunde liegenden PHP-Version möglich ist.

Symfony Framework

Symfony 6.0 und Symfony 5.4 sind zeitgleich am 29.11.2021 erschienen. Hinsichtlich der Neuerungen sind die beiden Versionen zwar identisch, aber Symfony 6 schneidet alte Zöpfe ab und entfernt alle als überholt (deprecated) gekennzeichneten Inhalte. Contao 5 und höher kann also zukünftig von allen Neuerungen von Symfony 6 profitieren. Welche neuen Möglichkeiten zum Einsatz kommen bleibt abzuwarten. Ich bin jedenfalls sehr gespannt...

Ein kleiner Auszug der Neuerungen in Symfony 5.4 und 6.0:

Eine komplette Übersicht findest du in den Release Hinweisen.

Contao 5.0 - Unterstützte Datenbank-Engines

MySQL: Version 8.0+

MySQL 8.0 wurde im April 2018 veröffentlicht. Zum Zeitpunkt der Veröffentlichung von Contao 5.0 ist MySQL 8.0 seit 5 Jahren als stabile Version verfügbar. MySQL 8.0 ist bereits eine Anforderung von Contao 4.13 LTS und steht auch weiterhin in den wichtigsten Linux-Distributionen zur Verfügung.

MariaDB 10.3+

Contao 5.0 wird MariaDB 10.3 oder höher benötigen. MariaDB ist eine Alternative zu MySQL. MariaDB 10.3 ist bereits in den wichtigsten Linux-Distributionen verfügbar. Viele Hoster unterstützen bereits MariaDB 10.5.

 

Twig Version 3.1

Contao möchte seine Templates am liebsten komplett auf die Twig Template Engine umstellen. Das erfordert(e) viel Zeit und sehr viel neuen Code. Vor allem Moritz Vondano ist hier federführend und hat für Contao 5.0 und die Unterstützung von Twig enormes geleistet. Er ist aber noch längst nicht am Ende.

Die Vorteile von Twig sind folgende:

  • Das Prinzip ist sehr leicht zu verstehen
  • Es ist sehr schnell und flexibel und erlaubt das Erweitern von Tags und Filtern
  • Eine bereits verfügbare, große Sammlung an Filtern und Tags sorgt für effizientes Arbeiten
  • In Symfony ist die Twig Engine bereist vorinstalliert

Aber es gibt auch (noch) Nachteile

  • Alle Erweiterungsentwickler müssen noch auf die neuen Twig-Templates umsteigen
  • Twig Templates werden "hartnäckig" gecached und für Änderungen muss der Contao Cache geleert werden.

Was kommt als nächstes?

Es gibt bereits viele Ideen und Konzepte für neue Funktionen und Änderungen, einige möchten ich hier kurz nennen, die ich in Pull Requests und Foren aufgeschnappt habe:

  • Darkmode für das Backend
  • Verbesserung des User Interfaces und der Usability
  • Entfernen von Mootools aus dem Backend und Umstellung auf Vanilla JS
  • Erstellen von Twig Templates im Contao Backend
  • Implementierung des HTML-Elements <dialog>
  • Unterstützung der VIPS-Bildbibliothek
  • Eine neue Struktur für die Contao Core Templates
  • Unterstützung von HTML-E-Mails (z. B. für Newsletter und Registrierung)
  • Twig soll den Status "experimentell" verlassen
  • Google Suchergebnis-Vorschau: Eingabe der Zeichen zählen (SEO)
  • Ändern der Größe zu großer Bilder, anstatt den Upload abzulehnen

uvm.

Ein herzliches Dankeschön an das Contao Core Team und alle Mitwirkenden aus der Contao Community.
Ihr seid Spitze! :)

Häufige Fragen und Antworten

Was bedeutet LTS?

LTS steht für Long Term Support.
Seit der Contao-Version 4.4 LTS wird Contao mit einer regulären Support Laufzeit von 3 Jahren veröffentlicht und in dieser Zeit mit Updates und 4 Jahre mit Sicherheitsupdates unterstützt. Das bedeutet planbare und langfristige Sicherheit für den Websitebetreiber und dadurch seltenere Website-Relaunches.
Die aktuellste LTS Version ist Contao 4.13 LTS, diese wird am 15.02.2024 durch die Contao 5.3 LTS abgelöst.

Was hat das Update mit der DS-GVO zu tun?

Über die Datenschutzgrundverordnung (DS-GVO) ist in Artikel 32 geregelt, dass IT Systeme dem "aktuellen Stand der Technik" entsprechen müssen. Durch Updates und Sicherheitsupdates halten wir Ihr Contao auf dem aktuellsten Stand.

Was kostet ein Contao-Upgrade?

Zur Ermittlung der Kosten des Contao-Updates dient der kostenlose Systemcheck.
Über diesen werden alle relevanten Faktoren mit dir zusammen analysiert und anschließend erstellen wir auf dieser Basis ein Angebot.

Die Kosten für die Updates können variieren. Abhängig sind diese in der Regel von drei Faktoren:

1. Der Anzahl der Versionssprünge:
Als Beispiel: Ein Update von der Version 2.x auf die Version 4.13 beinhaltet 3 Versionssprünge:

- Von Contao/Typolight 2.x auf Contao 4.13 LTS
- Von Contao 3.x LTS auf Contao 4.13 LTS
- Von Contao 4.4 LTS auf Contao 4.13 LTS
- Von Contao 4.9 LTS auf Contao 4.13 LTS
- Von Contao 4.13 LTS auf Contao 5.0

Je näher die Ursprungsversion und die Zielversion beieinander liegen, desto geringer sind die Kosten.

2.  Die eingesetzten Erweiterungen:
Die Anzahl der eingesetzten Contao Extensions beeinflusst den Aufwand. Wichtiger jedoch ist, ob verfügbare Updates der eingesetzten Extensions existieren.
Je nach dem, ob Extension Updates existieren können diese:
- einfach upgedatet werden
- aufwändig angepasst werden
- oder Alternativen etabliert werden

3. Die Servereinstellungen:
Verwendete Cronjobs, Schnittstellen zu weiteren Systemen, PHP Version und die MYSQL Version

Eine Kostenbewertung ohne Systemcheck ist daher nicht möglich.

Frag uns einfach nach deinem kostenlosen Systemcheck!

Werden die Kosten als Pauschalpreis oder nach Aufwand berechnet?

Unsere Contao Upgrade Angebote sind Pauschalpreise.

Dabei gehen wir von dem Wissenstand zum Zeitpunkt der Angebotsabgabe aus.
Sollten im Zuge der Umsetzung Aufwände anfallen, die nicht vorhersehbar oder zum Zeitpunkt der Angebotsabgabe nicht bekannt waren, werden wir diese selbstverständlich mit dir besprechen und ggf. zur Abrechnung bringen.

Unvorhergesehenes könnten beispielsweise unbekannte Cronjobs sein, über die wir nicht in Kenntnis gesetzt wurden oder Serverproblematiken, für die wir nicht verantwortlich sind.

Contao, PHP, MySQL - auf was muss ich achten?

Jede Contao-Version stellt unterschiedliche Anforderungen an PHP und MySQL. Je älter das verwendete Contao ist, desto älter sind auch die möglichen PHP und MySQL Versionen.

Auf aktuelle Versionen von Contao, PHP und MySQL upzudaten bieten deutliche Performancesteigerungen, so dass sich die Ladezeit der Contao-Website verbessert.

Welche Contao-Version mit welcher PHP und MySQL Version zusammenpassen ist nachfolgend aufgeführt:

Contao Version PHP Version MySQL Version
Contao 2 PHP 5.2 - 5.6 MySQL 4.1
Contao 3 PHP 5.3 - 7.4 MySQL 5.0.3+
Contao 4.4 PHP 5.6 - 7.4 MySQL 5.1+ / 5.5+
Contao 4.9 PHP 7.2 - 8.1 MySQL 8.0+ oder gleichwertiger MariaDB Server
Contao 4.11 PHP 7.3 - 8.1 MySQL 8.0+ oder gleichwertiger MariaDB Server
Contao 4.12 PHP 7.3 - 8.1 MySQL 8.0+ oder gleichwertiger MariaDB Server
Contao 4.13 PHP 7.4 - 8.1 MySQL 8.0+ oder gleichwertiger MariaDB Server
Contao 5.0 PHP 8.1, Voraussichtlich PHP 8.2 MySQL 8.0+ oder gleichwertiger MariaDB Server
Contao 5.1 Voraussichtlich PHP 8.1 - 8.2 MySQL 8.0+ oder gleichwertiger MariaDB Server

Weitere Systemvoraussetzungen findest du im Contao Handbuch.

Zurück