Contao 5.3: Alle Neuerungen im Überblick

'Mathias Arzberger'
Mathias Arzberger

Was ist neu? Was ist besser? Lohnt sich das Contao Update auf Contao 5.3 bereits jetzt schon?

Contao ist am 15.02.2024 in der neusten Version 5.3 erschienen. Die neue Version bringt einige interessante Funktionen, von denen man gehört haben sollte. Am Ende dieses Beitrags bist Du über die wichtigsten Neuerungen, alle technischen Voraussetzungen und einige Besonderheiten informiert. Alle Neuerungen werden wie gewohnt aus Sicht folgender Anwender*Innen vorgestellt: Einsteiger*Innen, Redakteur*Innen und Entwickler*Innen bzw. Administrator*Innen.

Inhaltsverzeichnis

Contao 5.3 kurz und kompakt

  • Planungssicherheit:
    Contao 5.3 ist die neue LTS Version. Contao 5.3 erhält Updates bis zum 14.02.2027. Sicherheitsupdates werden bis zum 14.02.2028 bereitgestellt.
  • Performance Boost:
    Gegenüber früheren Versionen verspricht die neue Version einen deutlichen Sprung nach vorne in Sachen Performance und Stabilität.
  • Usability Boost:
    Überarbeitung des Designs im Backend und Pflege von Inhalten mit weniger Klicks.
  • Sicherheit:
    Die Content Security Policy kann jetzt über mehrer Möglichkeiten gepflegt und angepasst werden.
  • Technische Verbesserungen:
    Das Erstellen von Links wurde wesentlich vereinfacht und standardisiert.

Neues für Redakteur*Innen

listWizard

Der listWizard wurde verbessert, nach dem Duplizieren wird nun das erste Eingabefeld bzw. Textfeld direkt fokussiert.

Fokussieren des ersten Feldes

Ticket #6819

TinyMCE und Überschriften

In Textfeldern und Überschriften kann nun ein Breitenloses Leerzeichen genutzt werden. #6742

Beispiel:

[zwsp] wird zu ​

Neue Twig-Funktionen

Zum generieren von Inhalts-URLs steht nun eine neue Twig-Funktion zur Verfügung. zum generieren von Inhalts-URLs

Beispiel: {{ content_url::mein-beitrag.html }}

Ticket #6738

Content Security Policy (SCP) Richtlinien im TinyMCE

Die Content Security Policy (SCP) Richtlinien werden nun auch im TinyMCE zum Einsatz kommen.
Damit wird die Sicherheit erhöht, aber es werden auch die Möglichkeiten der Redakteure eingeschränkt.
Mehr zum Thema findest du im Admin Bereich.

Ticket  #6719

Dateiverwaltung

Die Benutzerfreundlichkeit in der Dateiverwaltung wurde weiter verbessert. Das ausgewählte Bild wird nun optisch besser hervorgehoben und es wird automatisch zum ersten ausgewählten Bild gescrollt. Das Suchen nach dem gewählten Bild entfällt also zukünftig.

Ticket #6672

Neues Inhaltselement Beschreibungsliste (Description List)

Das Element erzeugt eine Beschreibungsliste bzw. eine Liste von Begriffen und Details. Du kannst das Begriffsfeld leer lassen, um mehrere Details für einen Begriff anzugeben.

 

Ticket #5424

Kanonische Links für News und Events

Kanonische Links (das canonical Tag) kann nun auch für Einträge in Nachrichten und Veranstaltungen genutzt werden.

Eingabe der kanonischen URL in den Nachrichten - Contao 5.3 Dark Mode
Eingabe der kanonischen URL in den NAchrichten - Contao 5.3 Dark Mode

Verschachtelte Inhaltselemente

Für die Content-Slider und das Akkordeon gibt es eine neue Darstellungsmöglichkeit im Backend. Das Feature verspricht eine bessere Übersichtlichkeit und es kann auch für andere Elemente und von Erweiterungen eingesetzt werden.

Ticket #6521

Verbesserte Ansicht beim Bearbeiten

Jedes Inhaltselement enthält nun ein Kontext-Menü um direkt auf bestimmte Bereiche zu springen. Das Menü verbleibt beim Scrollen am oberen Rand.

Kontext-Menü für Inhaltselemente - Contao 5.3 Dark Mode

Ticket #6353

Neues für Entwickler*Innen und Administrator*Innen

Content Security Policy (SCP) Richtlinien

Neue Einstellungen für die Root-Seite

Es besteht nun die Möglichkeit die Content Security Policies für das Frontend im Backend zu definieren. Über den Website-Root kann die Einstellung für jede Root-Seite vorgenommen werden. #6631

Content Security Policies für das Frontend einstellen

Twig csp_source

Es können nun mehrere Quellen beim Hinzufügen der Content Security Policy (SCP) Richtlinien angegeben werden.

Beispiel:

{% do csp_source(['script-src', 'style-src'], 'https://www.example.com') %}

Ticket  #6814

Im TinyMCE

Die Content Security Policy (SCP) Richtlinien kommen nun auch im TinyMCE zum Einsatz.
Die Administrator*Innen sollten die notwendigen Einstellungen vornehmen. Individuelle Templates müssen für die neuen Funktionen aktualisiert werden. Betroffen sind die Templates text.html.twig, ce_text.html5, com_default.html5, event_teaser.html5, event_list.html5, event_full.html5, mod_article.html5, form_message.html5, form_captcha.html5, mod_two_factor.html5, news_short.html5, news_latest.html5, news_full.html5, mod_faqreader.html5 und, mod_faqpage.html5.

Beispiele:
<p style="display:inline-block">Foobar</p>
<li style="list-style: none">Foobar</li>

Diese Angaben im TinyMCE würden nicht mehr funktionieren, wenn die SCP-Richtlinien "inline styles" nicht erlauben.

Folgende Angaben sind im Editor per Definition erlaubt:

'text-align' => 'left|center|right|justify',
'text-decoration' => 'underline',
'background-color' => 'rgb\(\d{1,3},\s?\d{1,3},\s?\d{1,3}\)|#([0-9a-f]{3}){1,2}',
'color' => 'rgb\(\d{1,3},\s?\d{1,3},\s?\d{1,3}\)|#([0-9a-f]{3}){1,2}',
'font-family' => '((\'[a-z0-9 _-]+\'|[a-z0-9 _-]+)(,\s*|$))+',
'font-size' => '[0-3]?\dpt',
'line-height' => '[0-3](\.\d+)?',
'padding-left' => '\d{1,3}px',
'border-collapse' => 'collapse',
'margin-right' => '0px|auto',
'margin-left' => '0px|auto',
'border-color' => 'rgb\(\d{1,3},\s?\d{1,3},\s?\d{1,3}\)|#([0-9a-f]{3}){1,2}',
'vertical-align' => 'top|middle|bottom',

Ticket #6719

Backupmanager einsetzen!

Der Backupmanager darf nun auch offiziell von allen Erweiterungen für ein Backup eingesetzt werden. Er war vorher als @internal deklariert.

Ticket #6858

Twig

Es stehen neue globale Twig-Variablen zur Verfügung.

{{ contao.has_backend_user }}
{{ contao.is_preview_mode }}
{{ contao.request_token }}
{{ contao.page.* }}

Ticket #6436

Content-URL-Generator

Es wurde ein neuer "Content-URL-Generator" integriert um einfacher URLs erstellen zu können.
Der Generator ersetzt unter anderem die Funktion getFrontendUrl() der Page Klasse bzw. die speziellen Funktionen der News-, Event-, Newsletter-,  und FAQ-Module bzw. Model.
Dem Generator kann nun einfach das entsprechende Objekt und die gewünschten Parameter übergeben werden und man erhält die fertige URL.

Beispiele:

$url = System::getContainer()->get('contao.routing.content_url_generator')->generate($objPage);
$url = $this->urlGenerator->generate($eventModel, [], UrlGeneratorInterface::ABSOLUTE_URL);
$url = $this->urlGenerator->generate($article, ['parameters' => $strParams], UrlGeneratorInterface::ABSOLUTE_PATH);
$this->container->get('contao.routing.content_url_generator')->generate($content, $parameters, $referenceType);

Ticket  #6596

Automatisch Erkennung von Controllern

Für eigene Controller mit Routen muss zukünftig keine routes.yaml mehr angelegt werden.

Ticket #6513

Bessere Berechtigungen für Seiten, Artikel und Inhaltselemente

Die Berechtigungen für Seiten und Artikel wurden weiter verbessert, im Wesentlichen ist nun folgendes möglich:

  • Anpassen der Berechtigungen für tl_article und tl_page
  • Die Auswahl für die Berechtigung wurde einheitlich umgesetzt
  • Der Zugriff kann auf bestimmte Seitentypen eingeschränkt werden
  • Der Zugriff auf Artikel kann verweigert werden (durch übergeordnete Seiten (Vererbung) oder zum Beispiel im Artikelmodul das im Layout eingesetzt wird)
  • Der Zugriff auf Inhaltselemente kann anhand der übergeordneten Berechtigung von Artikeln eingeschränkt werden.
  • Ein Benutzer kann nun Artikel kopieren, wenn er entweder eine Hierarchie- oder eine Bearbeitungsberechtigung hat.
  • Neue Artikel oder Kopien können nur eingefügt werden, wenn ein Benutzer beide Berechtigungen hat.
  • Die neue globale Operation verschwindet automatisch, wenn der Benutzer keine Berechtigung hat, eine Seite/einen Artikel irgendwo im Baum zu erstellen.

Ticket #6675

Weitere neue Funktionen und Verbesserungen

Hier kannst Du dich noch einmal durch alle neuen Funktionen klicken, leider kann ich im Rahmen diese Beitrages nicht alle Funktionen einzeln unter die Lupe nehmen und erläutern.

Einsteiger oder Contao 4.13 LTS Nutzer*Innen und das neue Contao 5.3

Du hast bisher noch keine Contao 5 Version eingesetzt? Dann habe ich gute Nachrichten für dich. Denn auf dich warten noch sehr viele weitere neue Funktionen aus den Versionen von Contao 5.0, Contao 5.1 und Contao 5.2. Überwältigend oder? Jetzt stellt sich für dich aber sicher die Frage "Kann ich Contao 5.3 bereits einsetzen?". Ganz klares ja! Was du aber beachten solltest, habe ich bereits in einem vorherigen Artikel beschrieben: Warum sollte ich bereits Contao 5 einsetzen?

Und jetzt viel Spaß beim Contao 5.3 testen!

Technische Voraussetzungen

  • PHP Version 8.1 oder 8.2
  • Datenbank
    MySQL version 8.0 or higher
    MariaDB version 10.3 or higher
    PostgreSQL version 10.0 or higher
    SQLite version 3.8.3 or higher
  • Pakete
    Symfony Version 6.4
    Doctrine DBAL Version 3.6
    Composer Version 2.4
    Twig Version 3.8

Fazit

Wer eine komplexe Contao-Website mit vielen Redakteuren im Einsatz hat, nur die Contao-Core-Erweiterungen nutzt und neben effizientem Arbeiten auch noch Sicherheitslücken minimieren will, dem Empfehlen wir ganz klar den Umstieg auf Contao 5.3 LTS. Neben vielen kleineren Optimierungen lohnt sich die Umstellung auch und wegen PHP 8.1 oder 8.2. Besseres Ressourcenmanagement und höhere Performance steigern auch nachhaltig die User Experience.

Falls du viele Erweiterungen im Einsatz hast, solltest du vorher prüfen, ob die Erweiterungen bereits für Contao 5.3 freigegeben wurden.

Ein Dank geht an alle Beteiligten, aber vor allem an leofeyer, aschempp, Toflar, fritzmg, ausi, m-vo, zoglo, bezin,SeverinGloeckle, de-es und alle Unterstützer der Contao Association, ohne die es die neue Contao Version nicht geben würde.

WIR ❤ CONTAO

Falls du Fragen hast, wir beraten dich gern zu allen Themen in Bezug auf ein Contao Update für Version 5.3.

Du willst uns kennenlernen?

Mathias Arzberger

Wir nehmen uns gern die Zeit, um Deine Projektidee anzusehen und zu diskutieren. Natürlich unverbindlich und kostenlos.

Einfach anrufen +49 (0)3521 4767592 oder schreib uns an kontakt@pdir.de

Häufige Fragen zum Update auf Contao 5.3

Ja, unsere Contao Themes wurden bereits für Contao 5.3 optimiert und stehen pünktlich für den Einsatz zur Verfügung.

MATE Theme ✓
ODD Theme ✓
NATURE Theme ✓
0.1 Theme ✓
CONVERT Theme ✓

Den Entwicklungstand für alle Themes und Erweiterungen findest du auch in unserer Übersicht.

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 neuste LTS Version ist Contao 5.3 LTS, sie ergänzt Contao 4.13 LTS, welche noch bis zum 14.02.2026 Sicherheitsupdates erhält.
Contao 5.3 LTS wird bis zum 14.02.2027 mit Updates und bis zum 14.02.2028 mit Sicherheitsupdates

Ü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.

Zur Ermittlung der Kosten des Contao-Updates dient der kostenlose Systemcheck.
Über diesen werden alle relevanten Faktoren mit Ihnen zusammen analysiert und anschließend erstellen wir Ihnen 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
- Von Contao 4.13 LTS auf Contao 5.3 LTS
- Von Contao 5.0 auf Contao 5.1
- Von Contao 5.1 auf Contao 5.2
- Von Contao 5.2 auf Contao 5.3 LTS

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.

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 Ihnen 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.

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 - 8.2 MySQL 8.0+ oder gleichwertiger MariaDB Server
Contao 5.1 PHP 8.1 - 8.2 MySQL 8.0+ oder gleichwertiger MariaDB Server
Contao 5.3 LTS PHP 8.1 - 8.2 MySQL 8.0+ oder gleichwertiger MariaDB Server

Weitere Systemvoraussetzungen findest du im Contao Handbuch.

Weiterführende Links

Contao 5.3 Änderungsübersicht [Link, EN]
Contao 5.3 Veraltetet Funktionen [Link ,EN]
Alle Funktionen aus Contao 5.2
Alle Funktionen aus Contao 5.1
Alle Funktionen aus Contao 5.0

Im Contao Handbuch sind bereits einige der neuen Contao 5.3 Funktionen beschrieben.

Zurück