Mehr als 140 hochmotivierte Entwickler haben seit November 2021 in 569 Tagen an der Codebasis von TYPO3 v12 LTS gearbeitet. Neben den Entwicklern haben auch talentierte Experten aus den verschiedensten Wissensbereichen das neue Release geprägt. Das Ergebnis sind über 3250 Git-Commits und 216 neue Features, die dafür sorgen, dass alle Ziele, die für das T3 LTS-Release gesetzt haben, pünktlich erreicht wurden.
TYPO3 ist einmal mehr ein technisch ausgereiftes und prall gefülltes Open Source Enterprise Content Management System der Spitzenklasse. Dieser Artikel gibt nur einen kleinen Einblick in die tollen neuen Features und unzähligen Verbesserungen. Einen detaillierten technischen Einblick mit weiteren Informationen finden Sie unter docs.typo3.org. Werfen Sie auch einen Blick auf das TYPO3 v12 LTS Release Material.
Highlights und Hauptmerkmale
Integrationen
In einem Unternehmensumfeld ist es üblich, mehrere Anwendungen zu betreiben, die sich jeweils auf einen bestimmten Aspekt des Geschäftsprozesses konzentrieren. Diese Systeme müssen Daten sicher und konsistent austauschen. Moderne agile Entwicklungsprozesse beinhalten CI/CD-Pipelines, um beispielsweise Anwendungen zu testen, zu erstellen und automatisch bereitzustellen. Solche Lösungen erfordern sichere Systemschnittstellen, die einem standardisierten Protokoll folgen.
Webhooks sind ein gängiges Konzept, um genau dies zu erreichen, und TYPO3 v12 LTS bietet Lösungen, um eingehende und ausgehende Webhooks einzurichten. Externe Systeme können Anfragen an TYPO3 senden, um vordefinierte Aktionen und Antworten auszulösen. Zusätzlich können eingehende Webhooks mit einem neuen Backend-Modul als "Reactions" konfiguriert werden. Diese Funktion macht es sehr einfach, TYPO3 in Low-Code-Umgebungen zu integrieren und das System beispielsweise in eine Deployment- oder Daten-Pipeline einzubinden.
Rückmeldungen gehen Hand in Hand mit ausgehenden Webhooks. Ein typisches Beispiel aus der Praxis ist die Benachrichtigung externer Systeme über Änderungen in TYPO3. Das externe System und TYPO3 bleiben dabei autark und unabhängig, werden aber durch die Kommunikation miteinander synchronisiert. Ausgehende Webhooks können externe Systeme in Echtzeit über Ereignisse informieren und Folgeaktionen auslösen.
Die praktischen Anwendungsfälle für ein- und ausgehende Webhooks sind endlos. Kombinieren Sie Webhooks mit Workflow-Automatisierungstools wie Zapier oder lösen Sie einen Befehl aus, um die Caches eines Content Delivery Networks (CDN) zu löschen. Sie können nun komplexe Lösungen zur Integration von Remote-Systemen und -Anwendungen erstellen, ohne eine einzige Zeile PHP-Code schreiben zu müssen.
Backend-Verbesserungen
Loggen Sie sich in das Backend von TYPO3 v12 LTS ein und schauen Sie sich um. Sie werden an vielen Stellen eine modernere Optik und eine übersichtlichere Benutzeroberfläche im gesamten Backend feststellen.
Das Seitenmodul wurde vereinfacht und für eine bessere Lesbarkeit optimiert. Auch die Verwaltung von Dateien ist durch die neue Kachelansicht und die Drag-and-Drop-Funktion einfacher geworden. Außerdem werden die Suchergebnisse bereits während der Eingabe angezeigt, so dass Sie die Nadel im Heuhaufen schneller finden.
Redakteure verwenden das TYPO3-Backend, um Inhalte für eine TYPO3-Website zu erstellen und zu bearbeiten. Die neue Version von CKEditor, die wir auf die letzte stabile Version 5 aktualisiert haben, enthält neue Funktionen, die ihre Produktivität erhöhen. Mit der neuen Version können wir uns auch von Iframes verabschieden, wenn es um die Bearbeitung von Rich Text geht.
Integratoren werden die unbegrenzten Anpassungsmöglichkeiten des Backends lieben. Seien es die Aktionsbuttons in der Dateiliste, die vereinfachten Einstellungen zur Verwaltung von Benutzern und deren Berechtigungen oder die überarbeiteten Backend-Module zur Bearbeitung und Verwaltung von TypoScript und Page TSconfig, die nun im Backend unter Site Management zu finden sind.
Darüber hinaus haben wir den Einblick in das Backend-Modul System ➜ Konfiguration erweitert. Sie können nun Informationen über die Symfony Expression Language Provider, die TCA-Konfiguration und die YAML-Konfiguration abrufen.
Superkräfte unter der Haube
Wir haben die Superkräfte von TYPO3 verstärkt, die nicht sichtbar sind, aber unter der Haube arbeiten. Zum Beispiel nutzen die oben erwähnten ausgehenden Webhooks einen Message Bus und eine Message Queue, die wir in den TYPO3 Core integriert haben. Basierend auf dem Symfony Messenger bietet der Message Bus eine schlanke Möglichkeit für Komponenten, auf einheitliche Weise zu kommunizieren. Das Queue-System verfügt sogar über einen asynchronen Modus, um zeitaufwändige Aufgaben, die unabhängig voneinander ausgeführt werden können, effizient abzuwickeln.
Das TYPO3 Core Team hat auch die TypoScript- und Page TSconfig-Funktionen grundlegend überarbeitet. Das Ergebnis ist ein neuer TypoScript-Syntax-Parser, der erstaunlich schnell, robust und logisch ist.
Änderungen für Entwickler
Softwareentwickler werden sich freuen, wenn sie hören, was das neue TYPO3 Major Release mit sich bringt.
Zunächst einmal ist PHP Version 8.1 die neue Mindestanforderung, um TYPO3 zu betreiben. Diese Version bietet unter anderem verbesserte Typsicherheit, Read-Only-Eigenschaften, erstklassige Callable-Syntax, Fasern und Schnittmengen-Typen. TYPO3 v12 LTS unterstützt auch die neueste und aktuellste PHP-Version: Version 8.2. Diese Version enthält schreibgeschützte Klassen, zusätzliche eigenständige Typen, veraltete dynamische Eigenschaften und vieles mehr. Das Wichtigste: Beide PHP-Versionen bieten eine bessere Performance.
Bibliotheken von Drittanbietern und abhängige Pakete wurden, soweit möglich, auf die neuesten Versionen aktualisiert. Ein wichtiges Update betrifft die Datenbankabstraktionsschicht (DBAL). TYPO3 v12 LTS verwendet die Doctrine DBAL Version 3. Diese Version der DBAL wurde intern stark überarbeitet, indem die interne Treiberlogik von Doctrine von der nativen PDO-Funktionalität von PHP getrennt wurde.
Der "Klebstoff" zwischen der Datenbankschicht und der FormEngine, die die Tabellenzeilen im TYPO3-Backend darstellt, ist das Table Configuration Array (TCA). TYPO3 v12 LTS bietet mehrere neue TCA-Typen wie E-Mail, Passwort, Link, Zahl, Datetime, Farbe, Datei, passwordGenerator und mehr.
Tauchen wir tiefer ein und schauen uns die wichtigsten Änderungen des Extbase-Programmier-Frameworks in TYPO3 v12 LTS an. Erfahrene TYPO3-Entwickler kennen wahrscheinlich die "magischen Funktionen". Diese Funktionen zeichnen sich dadurch aus, dass ihre konkrete Implementierung erst zur Laufzeit festgelegt wird. Dabei handelt es sich nicht um schwarze Magie, sondern um einen intelligenten Teil des Extbase-Frameworks. So praktisch magische Methoden auch sein mögen, sie haben auch einige Nachteile. Falsche Warnungen in modernen IDEs oder fehlende statische Codeanalyse sind zwei Beispiele.
Wir haben in TYPO3 v12 LTS einige neue Methoden eingeführt, die diese Herausforderungen adressieren. Sie bieten die gleiche Funktionalität wie die magischen Methoden und koexistieren bis auf weiteres mit den alten Methoden: findBy(), findOneBy() und count(). Darüber hinaus erlauben die neuen Methoden mehrere Vergleiche (sogenannte "Constraints") und ihre Namen folgen der Namenskonvention des objektrelationalen Mappers Doctrine ORM.
Internationalisierung
Die sofort einsatzbereite Mehrsprachigkeit von TYPO3 macht es Integratoren und Entwicklern leicht, komplexe globale Content-Anforderungen zu erfüllen.
Wenn mehrere Sprachen auf der Website aktiviert sind, kann eine Fallback-Kette (Overlays im "Mixed Mode") konfiguriert werden. Wenn die Übersetzung einer Seite oder eines Inhaltselements noch nicht verfügbar ist, greift das System automatisch auf Inhalte in einer anderen Sprache zurück.
Das Einrichten einer neuen Sprache ist nun im Handumdrehen möglich. TYPO3 v12 LTS bietet Konfigurationsvorlagen, mit denen eine neue Website-Sprache mit einem Klick erstellt werden kann. Auch das Backend wurde verbessert. Für Sprachen wie Arabisch kann die Benutzeroberfläche nun Text von rechts nach links anzeigen!
Verstärkung der Sicherheitsmaßnahmen
Benni Mack, TYPO3 Core Lead, betont: "Sicherheit und Stabilität stehen bei TYPO3 an erster Stelle". Diese Einstellung ist für ein Enterprise Content Management System wie TYPO3 entscheidend. Wir haben die Messlatte in TYPO3 v12 LTS noch höher gelegt und mehrere moderne Techniken implementiert, um die Sicherheit des Systems zu erhöhen.
So wurde die Einführung von Content Security Policies (CSP) in TYPO3 Sicherheitslücken geschlossen, die häufig durch unzureichende Kodierung der von den Nutzern eingestellten Inhalte entstehen. Diese zusätzliche Sicherheitsebene soll bestimmte Angriffsarten wie Cross-Site-Scripting (XSS) und Data-Injection erkennen und entschärfen.
Mit dem neuen Backend-Modul Admin Tools ➜ Content Security Policy können Sie die neuesten potenziellen CSP-Verletzungen im Frontend und Backend überprüfen und Vorschläge zur Behebung des Problems machen.
Durch die Angabe einer URL eines entfernten Systems kann TYPO3 auch CSP-Verletzungen an einen externen Dienst melden.
Zusätzlich zum CSP sendet TYPO3 v12 LTS standardmäßig eine Reihe von allgemeinen HTTP-Sicherheitsheadern, wenn Benutzer auf das Backend zugreifen.
Um die Sicherheit der Benutzerdaten zu erhöhen, verfügt TYPO3 nun über konfigurierbare Passwortrichtlinien. Das System berücksichtigt die globale Standardrichtlinie, z.B. wenn der erste Administrator-Benutzer während der Systeminstallation angelegt wird.
Systemvoraussetzungen
PHP Version 8.1 ist die neue Mindestanforderung für den Betrieb von TYPO3. Diese Version wird bis November 2024 Sicherheitsupdates erhalten. TYPO3 v12 LTS unterstützt auch PHP Version 8.2. Diese Version wird ein weiteres Jahr bis Dezember 2025 Sicherheitsupdates erhalten.
Mit der Database Abstraction Layer (DBAL) Doctrine Version 3 unterstützt TYPO3 nun die folgenden Datenbank-Engines und Versionen:
- MySQL Version 8.0 oder höher
- MariaDB Version 10.3 oder höher
- PostgreSQL ab Version 10.0
- SQLite Version 3.8.3 oder höher
TYPO3 v12 LTS läuft auf einer Vielzahl bekannter Webserver, darunter Apache httpd, Nginx, Microsoft IIS und Caddy Server.
Weitere Informationen zu den Systemvoraussetzungen finden Sie in der offiziellen TYPO3-Dokumentation.
Support und Wartung
Als LTS-Release (Long-Term-Support) erhält TYPO3 v12 LTS Bugfixes für 1,5 Jahre ab dem Veröffentlichungsdatum. Danach werden für weitere 1,5 Jahre kostenlose Sicherheitsupdates zur Verfügung gestellt. Daraus ergibt sich ein Gesamt-Supportzeitraum von 3 Jahren.
Zusätzlich zu den drei Jahren kostenlosem Support und Wartung bietet die TYPO3 GmbH einen Extended Long Term Support (ELTS) für bis zu drei weitere Jahre an. Das bedeutet, dass die ELTS-Version von TYPO3 v12 bis April 2029 unterstützt wird. Das bedeutet bis zu sechs Jahre Browserkompatibilität, Sicherheitspatches und Einhaltung von IT-Sicherheitsgesetzen für Ihr Enterprise CMS.
Herunterladen und installieren
Mit einem gründlich getesteten Systemkern und über 150 Erweiterungen von Drittanbietern, die bereits mit TYPO3 v12 LTS kompatibel sind, können Sie Ihre Website aktualisieren oder ein neues Projekt starten. Zu den Drittanbieter-Erweiterungen gehören auch geprüfte Extensions wie News, Mask, LUX, Container, Headless und viele mehr.
Alle Details zum Release und wie Sie TYPO3 herunterladen und installieren können, finden Sie auf get.typo3.org. Detaillierte Installationsanweisungen sind in der Installationsanleitung dokumentiert. Wir empfehlen Ihnen, Ihre TYPO3-Umgebung mit dem Composer einzurichten (Composer ab Version 2.1).