Zum Inhalt springen

TYPO3 11 LTS

TYPO3 11 LTS erschien am 05.10.2021. Auf dieser Seite finden Sie Informationen zu den Neuerungen der einzelnen Sprint Releases.

TYPO3 Version 11 Roadmap

Version Schwerpunkt der Entwicklung Erscheinungsdatum
11.0 Neue Systemanforderungen und Breaking Changes 22.12.2020
11.1 Multi-Faktor Authentifizierung 23.02.2021
11.2 Link sharing im TYPO3 Backend 04.05.2021
11.3 tbd 13.07.2021
11.4 Feature freeze 07.09.2021
11.5 LTS Release 05.10.2021

Version 11.0 (Sprint Release, erschienen am 22.12.2020)

Da bei jedem "Punkt-Null"-Release Aufräumarbeiten im Vordergrund stehen, sind in der TYPO3 Version 11.0 eine große Anzahl von bahnbrechenden Änderungen (Breaking Changes) eingeführt wurde. Hier haben wir ein paar Highlights herausgesucht, auf die Sie sich in der neuesten Version freuen können.

Beginnen wir mit einer kurzen Zusammenfassung der Gesamtpläne für die TYPO3 v11-Serie. Zur Erinnerung: Was folgt, ist die Agenda für die Monate bis Oktober 2021. Die Version 11.0 legt den Grundstein zum Erreichen dieser Ziele, neue Funktionen sollen in den kommenden Sprint-Releases hinzugefügt werden.

Die Ziele in TYPO3 11

Die 11. Hauptversion des Open-Source Content Management Systems TYPO3 zeigt die Reife und den anhaltenden Erfolg des Systems. (Eigentlich ist es technisch gesehen die 8. Version, da mit Version 3 begonnen und Version 5 übersprungen wurde, aber das ist eine andere Geschichte).

Mit einem starken Fokus auf Barrierefreiheit für das TYPO3-Backend soll die Erfahrung für Redakteure und Administratoren in TYPO3 v11 noch weiter verbessert werden. Aus technischer Sicht wurde die vereinfachte Authentifizierung als wichtiges Ziel gesetzt; unter der Haube wurden in Version 11.0 bereits einige Änderungen und Verbesserungen vorgenommen.

Benni Mack (TYPO3 Core Project Lead) hat vor ein paar Wochen in seinem Artikel "A First Glimpse of TYPO3 v11" die allgemeinen Ziele, die technischen Mindestanforderungen und den geplanten Release-Zeitplan vorgestellt. Basierend auf seiner Übersicht sind die wichtigsten Features, die wir wahrscheinlich in den nächsten Monaten sehen werden, folgende:

  • Link sharing und "deep linking" für das TYPO3 Backend
  • Multi-factor Authentifizierung (MFA)
  • Verbesserte TYPO3 Backend Erfahrung
  • Verbessertes Extbase framework
  • Verbesserter Authentifizierungsprozess

Im Rahmen der Entwicklung von TYPO3 v11 werden mehrere Bibliotheken, von denen TYPO3 abhängt, aktualisiert werden (oder wurden bereits aktualisiert):

  • Doctrine DBAL Version 3.0
  • Symfony Version 5.2+
  • Bootstrap Version 5 (für das TYPO3 Backend)
  • Composer Version 2 (für Composerbasierte Installationen)

Die wichtigsten Änderungen in TYPO3 11.0

Allgemeines

Durch die Einhaltung einer strikten Deprecation Policy soll sichergestellt werden, dass TYPO3 ein stabiles, robustes und zuverlässiges Enterprise Content Management-System ist und bleibt. Außer in seltenen Fällen fließen keine bahnbrechenden Änderungen (wie neue APIs oder entfernte Komponenten) in Minor- oder Bugfix-Releases ein. Wie bereits erwähnt, erlaubt ein "Punkt-Null"-Release, neue Bibliotheken und moderne Konzepte einzuführen. Die Verschlankung von APIs und die Übernahme von noch bekannteren und etablierteren Softwarestandards sind ebenfalls Gelegenheiten, die im ersten Sprint-Release genutzt werden sollen.

Bootstrap 5 im TYPO3 Backend

Im Rahmen einer visuellen Auffrischung wurde das TYPO3-Backend von Bootstrap 3 auf 5 umgestellt. 2011 erstmals veröffentlicht, ist Bootstrap heute das weltweit beliebteste Frontend-Open-Source-Toolkit. Die Entscheidung, Version 5 zu verwenden, bringt TYPO3 aus UI-Sicht an die Spitze moderner Content Management Systeme.

Backend-Anwender müssen sich mit Bootstrap 5 nicht in eine neue Benutzeroberfläche einarbeiten. Sie könnten jedoch ein paar kleinere Änderungen in der Benutzerfreundlichkeit von TYPO3 v11.0 bemerken. Die neue Bootstrap-Version bringt auch einige Verbesserungen der Barrierefreiheit im TYPO3-Backend.

Bereinigen von alten Weiterleitungen (Redirects)

Weiterleitungen haben typischerweise das Ziel, Ihre Website-Besucher von einem alten zu einem neuen Ziel - zum Beispiel einer Seite - weiterzuleiten. In vielen Fällen werden diese Weiterleitungen nur für eine bestimmte Zeit benötigt. Site-Administratoren können nun TYPO3 so konfigurieren, dass Weiterleitungen anhand bestimmter Kriterien automatisch entfernt werden, z.B. anhand ihres Alters, ihrer Domain oder der Anzahl der Hits. Backend-Benutzer (z.B. Redakteure mit entsprechenden Zugriffsrechten) können Weiterleitungen als "geschützt" markieren, um deren Löschung zu verhindern.

Session handling

Als Teil der bereits erwähnten Verbesserung des Authentifizierungsprozesses wurden einige Komponenten des TYPO3 Kerns überarbeitet, die für die Benutzerauthentifizierung im Frontend und Backend zuständig sind. In früheren Versionen von TYPO3 war die Handhabung von Benutzersitzungen Teil der Benutzerauthentifizierungskomponenten des TYPO3 Kerns. Diese wurden in TYPO3 v11.0 überarbeitet und das in Benutzerobjekt, den Authentifizierungsprozess und das Session-Handling getrennt.

Es wurde eine eigene API für das Session-Handling geschaffen, die Core- und Extension-Entwicklern ein zentrales Handling von Sessions bietet. Das neue UserSession-Objekt enthält alle sitzungsbezogenen Daten. Entwickler sollten den UserSessionManager verwenden, um neue Sitzungen zu erstellen.

Benutzerauthentifizierung

Wenn Sie ein Extensionentwickler sind, dessen Code eine Authentifizierungskomponente verwendet, sollten Sie die zugehörigen PHP-Klassen im Auge behalten - zum Beispiel die Klasse "AbstractUserAuthentication", die in Vorbereitung auf die Multi-Faktor-Authentifizierung (MFA) ein Software-Redesign erhielt.

Workspaces (Arbeitsumgebungen)

Die "Workspaces"-Funktion ist eines der Alleinstellungsmerkmale von TYPO3. In Arbeitsumgebungen können Redakteure gemeinsam an versionierten Inhalten einer TYPO3-Website arbeiten und Seiten vor der Veröffentlichung überprüfen. Auf der grundlegendsten Ebene können Sie die Berechtigungen so konfigurieren, dass Backend-Benutzer nur Inhalte in einem isolierten Arbeitsbereich bearbeiten können. Jede Änderung muss von einem Supervisor genehmigt werden, wodurch Sie die volle Kontrolle darüber haben, welche Inhalte wann live gehen. Allerdings werden die Workspaces von TYPO3 oft übersehen.

In TYPO3 v11.0 wurde begonnen, den zugrundeliegenden Code zu verbessern und einige konzeptionelle Fragen zu klären. In weiteren Releases soll die bestehende Funktionalität stabilisiert werden, die Dokumentation aktualisiert werden, die Benutzerfreundlichkeit verbessert und neue Funktionen eingeführt werden.

PSR Standards

Man kann nicht oft genug betonen, wie wichtig einheitliche Standards sind. Mit Hilfe von Kodierrichtlinien und dem Befolgen offizieller Empfehlungen soll sichergestellt werden, dass die TYPO3 Core-Architektur den höchsten Standards entspricht und modernste Technologien verwendet. Die "PHP Framework Interop Group" gibt genau solche Standards heraus und veröffentlicht sie: die bekannten PSR-Standards. Es wurden bereits eine Vielzahl davon übernommen und in früheren TYPO3 Versionen die PSR-11 ContainerInterface, PSR-14 EventDispatchers und PSR-15 Middlewares eingeführt.

Auch PSR-7 und PSR-17 sind nicht neu in der TYPO3-Welt. Diese Standards beschreiben gemeinsame Schnittstellen zur Darstellung von HTTP-Nachrichten. Vereinfacht ausgedrückt: wie PHP-Anwendungen HTTP-Anfragen empfangen und generieren und wie sie darauf reagieren sollten.

Der TYPO3 Kern wird kontinuierlich nach diesen Standards verbessert und die PSR-7 Request/Response-Objekte für Extension-Entwickler und Integratoren wurden an noch mehr Stellen verfügbar gemacht - zum Beispiel in selbst entwickelten Content-Objekten ("cObjects").

Extbase Framework

Diese Initiative betrifft auch das Extbase-Framework. Um den PSR-Standards zu entsprechen, sollten Controller-Aktionen von nun an eine Instanz des "Psr\Http\Message\ResponseInterface" zurückgeben.

Es mag nach einer großen Aufgabe für Extensionentwickler klingen, ihren bestehenden Code zu aktualisieren. Die Vorteile liegen jedoch auf der Hand. Die Entwickler werden viel mehr Kontrolle über die Antworten haben und mit der ResponseFactory ist es einfach, die Antwort noch weiter anzupassen.

Es ist sicher wichtig zu wissen, dass das typische alte ResponseInterface-Verhalten (nichts zurückzugeben) eine Deprecation-Warnung in TYPO3 v11 auslöst, die Sie in den Logs finden. Trotzdem wird es vorerst weiter funktionieren und es ist genug Zeit, Ihren Code zu aktualisieren, bevor es in TYPO3 v12 einen Fehler produziert.

Fluid Widgets

Ein besonderer Typ von ViewHelpern in Fluid sind "Widgets".  Logisch gesehen sind sie Teil der View, aber Widgets haben ihren eigenen Controller und View. Streng genommen verstößt die Technik gegen das Entwurfsmuster "separation of concern" und verursacht Probleme bei der Verwendung von PSR-7 Request-Objekten in Extbase.

Daher wurde entschieden, Fluid ViewHelper-Widgets fallen zu lassen, und TYPO3 v11 unterstützt sie nicht mehr. Ein prominenter Anwendungsfall eines Fluid-Widgets im TYPO3 Core ist der <f:paginate...> ViewHelper. Wir raten Entwicklern, ihre Erweiterungen zu überarbeiten und stattdessen die Pagination-API zu verwenden.

Dependency injection

Entwickler sollten auch die Entwicklung der Dependency Injection (DI) von Extbase beobachten. Es ist geplant, die aktuelle Implementierung in Extbase zu verwerfen und zu entfernen und stattdessen das vom TYPO3 Kern angebotene Feature zu verwenden. Diese Lösung basiert auf dem PSR-11-Standard und beinhaltet die industrieerprobten DI-Konzepte von Symfony.

Vereinfachte Upgrades

Ein schneller und unkomplizierter Upgrade-Pfad von älteren Versionen von TYPO3 ist eines der Ziele, die in der Gesamtstrategie für v11 definiert sind.

Es wird dringend empfohlen, den Extension Scanner von TYPO3 (Admin Tools → Upgrade → Scan Extension Files) zu verwenden, um mögliche Probleme zu identifizieren, bevor das Upgrade durchgeführt wird. Typische Probleme sind selbstentwickelte Extensions, die APIs verwenden, die veraltet sind oder entfernt wurden. Der Extension Scanner bietet nützliche und umfassende Anweisungen für Entwickler, wie der Code aktualisiert werden kann.

Wenn Sie von TYPO3 v9 oder v10 auf v11 upgraden, verwenden Sie den Upgrade-Assistenten, wie in der Installations- und Upgrade-Anleitung beschrieben. Dieser kritische Schritt des Upgrade-Prozesses kümmert sich um verschiedene Migrationsaufgaben, wie z. B. Inhaltsaktualisierungen und globale Konfigurationsänderungen, falls erforderlich.

System Anforderungen

TYPO3 v11 erfordert PHP Version 7.4 oder höher. Der vom TYPO3 Kern verwendete Doctrine DBAL stellt sicher, dass eine breite Palette von Datenbankservern und Datenbank-Engines unterstützt wird. Dazu gehören MySQL Version 5.7.9 oder höher, MariaDB Version 10.2.7 oder höher, PostgreSQL Version 9.4 oder höher, Microsofts SQL Server 2012 oder höher und SQLite Version 3 (gebündelt mit PHP).

TYPO3 v11 unterstützt alle modernen Webserver, einschließlich Apache 2.4, Nginx und IIS.

Benutzer können auf das Backend von TYPO3 v11 mit allen modernen Browsern zugreifen, wie zum Beispiel Mozilla Firefox, Microsoft Edge (nur Chromium-basiert), Google Chrome und Chrome für Android, Safari und Mobile Safari.

Version 11.1 (Sprint Release, erschienen am 23.02.2021)

Perfekt im Zeitplan und mit den erwarteten Features ausgestattet, markiert TYPO3 v11.1 einen weiteren Meilenstein auf dem Weg zum TYPO3 v11 LTS-Release. Die folgenden Abschnitte konzentrieren sich auf die wichtigsten Änderungen, Verbesserungen und Features. Weitere Details finden Sie in den TYPO3 What's New Slides und im detaillierten technischen Changelog.

Multi-Faktor-Authentifizierung (MFA)

Wenn Sie sich in das Backend von TYPO3 einloggen, steuern Sie eine Vielzahl von Funktionen. Je nach Zugriffsstufe können Sie die Inhalte der Online-Präsenz Ihres Unternehmens bearbeiten, geschäftskritische Daten ändern oder auf hochsensible Benutzerinformationen zugreifen. Diese Daten müssen geschützt werden, damit nur Sie Zugriff darauf haben.

Manchmal sind ein Benutzername und ein Passwort einfach nicht sicher genug. Die Multi-Faktor-Authentifizierung (MFA) schafft hier Abhilfe, indem sie einen zweiten oder sogar mehrere Faktoren in den Anmeldeprozess einbezieht. Die Verwendung von zwei Faktoren wird auch als Zwei-Faktor-Authentifizierung (2FA) bezeichnet. Richtig implementiert, macht es MFA einem Angreifer deutlich schwerer, sich unberechtigten Zugang zu verschaffen. Aus diesem Grund gilt MFA heute als eine der effektivsten Sicherheitsmaßnahmen in Informationssystemen.

Bei der Einführung einer zusätzlichen Authentifizierungsmethode ist es wichtig, die Anwender zu berücksichtigen. Wenn der Anmeldeprozess zu umständlich und kompliziert wird, nutzen die Anwender ihn nicht und verpassen ein erhöhtes Sicherheitsniveau.

Mit Blick auf die Anwender wurde in TYPO3 Version 11.1 eine moderne, sichere, einfach zu bedienende und flexible MFA-Lösung implementiert.

Sobald ein Administrator einen MFA-Provider aktiviert hat, können Backend-Benutzer diesen als zweite Authentifizierungsmethode für ihren Login-Prozess nutzen. Typische Anbieter sind z. B. das zeitbasierte Einmalpasswort (TOTP), das zählerbasierte Einmalpasswort oder WebAuthn. WebAuthn ist ein moderner Webstandard, der vom World Wide Web Consortium (W3C) veröffentlicht wurde und von modernen Versionen der Browser Chrome, Firefox und Edge unterstützt wird.

Größenänderung/Umschalten des Navigationsbereichs

Der Navigationsbereich hat seit TYPO3 Version 8 eine feste Breite. Dieser Bereich ist die zweite Spalte von links im Backend, in der der Seitenbaum (beim Aufruf von Modulen unter der Rubrik "Web") oder die Dateiliste (Rubrik "Datei") angezeigt wird. Manchmal führte die feste Breite zu Problemen. In TYPO3-Instanzen mit langen Seitentiteln und Seitenbäumen mit vielen Ebenen wurden die Inhalte in diesem Bereich abgeschnitten.

Diese Komponente würde überarbeitet und in TYPO3 Version 11.1 wieder ein größenveränderbarer Navigationsbereich eingeführt.

Die Schaltfläche, um den Navigationsbereich innerhalb des Panels zusammenzuklappen und wieder zu öffnen, wurde verschoben. Diese Platzierung ist nun aus Sicht der Benutzerfreundlichkeit besser geeignet. Sie müssen die Breite des Navigationsbereichs nicht jedes Mal neu einstellen, wenn Sie sich erneut am Backend anmelden. TYPO3 merkt sich die letzte Einstellung und stellt den vorherigen Zustand beim nächsten Login wieder her.

Durch die Verwendung des CSS/Flexbox-Gerüsts laden die Browser das TYPO3-Backend nun schneller. Außerdem werden weniger Daten zwischen TYPO3 und dem Client übertragen, was die Performance verbessert.

Arbeiten mit der Dateiliste

Das Modul "Dateiliste" wurde in TYPO3 v11.1 optisch überarbeitet. Durch die Verwendung der gleichen leichtgewichtigen Technologien wie beim Seitenbaum haben beide Komponenten nun ein einheitliches Look & Feel. Diese Änderung bedeutet auch, dass der iframe entfernt wurde, der bisher von dem Modul verwendet wurde.

Der Hauptvorteil ist eine Geschwindigkeitsverbesserung aber Sie werden auch ein Eingabefeld am oberen Rand bemerken. Mit diesem Feld können Sie die Ordnerliste anhand von Suchbegriffen filtern, ähnlich dem Seitenbaumfilter, den viele Backend-Benutzer aus dem Seitenbaum gewohnt sind. Die Suche in der Dateiliste berücksichtigt sogar die Dateinamen.

Verbesserungen der Zugänglichkeit

Die TYPO3-Entwickler sind ständig bemüht, die Barrierefreiheit zu verbessern, damit Menschen mit unterschiedlichen Hör-, Bewegungs-, Seh- und kognitiven Fähigkeiten das TYPO3 Backend nutzen können.

Den Vorschlägen der WAI-ARIA Authoring Practices 1.1 folgend, können Benutzer nun durch das Hauptmodulmenü und das Hilfemenü navigieren, indem sie nur ihre Tastatur benutzen. Zu dieser Gruppe gehören auch Benutzer mit Screenreadern oder ähnlicher unterstützender Technologie.

Eine weitere Verbesserung der Barrierefreiheit besteht darin, dass Sie jetzt ein Alt-Tag für ein benutzerdefiniertes Backend-Anmeldebild festlegen können.

Version 11.2 (Sprint-Release, erschienen am 04.05.2021)

Am 04.05.2021 wurde Version 11.2 veröffentlicht.

Das neue Sprint-Release der TYPO3 v11-Serie kommt mit Verbesserungen, die das Arbeiten im Backend blitzschnell und zum reinen Vergnügen machen. 

SVG-basierter Seiten- und Dateibaum "überall"

In TYPO3 v9 wurde der Seitenbaum überarbeitet, auf einen reinen SVG-Ansatz umgestellt und der gesamte ExtJS-Code aus dem Backend entfernt. Dies führte zu stark verbesserten Rendering-Zeiten und hat machte das Arbeiten im Seitenbaum viel flüssiger. Dieser Bereich wurde in v10 weiter optimiert und Anfang des Jahres das Backend-Modul "Filelist" in TYPO3 v11.1 überarbeitet. Seitdem verwendet die Ordnerliste die gleiche leichtgewichtige Technik wie der Seitenbaum.

Beide Komponenten, der Seitenbaum und die Datei-/Ordnerliste, erscheinen auch im "Record Selector". Dies ist das modale Fenster, in dem Benutzer eine Seite, eine Datei, einen Ordner, eine externe URL oder eine E-Mail-Adresse usw. auswählen können. Der Record Selector verfügt nun über die gleichen modernen Komponenten und die gleiche Architektur wie der Seitenbaum und die Datei-/Ordnerliste.

Benutzer können z. B. einen Filter anwenden und die Baumkomponente einklappen. Inhaltselemente sind jetzt viel einfacher zu finden und auszuwählen. Sie erscheinen übersichtlich aufgelistet im Inhaltsbereich. Über ein Eingabefeld am oberen Rand kann der Benutzer die Ordnerliste anhand von Suchbegriffen filtern. TYPO3 berücksichtigt sogar Dateinamen und zeigt eine Liste von Ordnern an, die Dateien enthalten, die dem vom Benutzer angegebenen Muster entsprechen.

Dabei wird die SVG-Technologie verwendet, die leicht und schlank ist und in allen modernen Browsern sehr schnell gerendert wird. Da die Daten mittels JSON-basierter AJAX geladen werden, werden nur die benötigten Teile der Bäume vom Server geholt. Das Gleiche gilt für den Inhaltsbereich, was zu einem unglaublichen Leistungsschub bei der Arbeit im Backend führt.

Wann immer eine Baumkomponente (Seiten- oder Dateibaum) ins Spiel kommt, sind ihr visuelles Erscheinungsbild und ihre Funktionen nun konsistent im gesamten TYPO3 Backend. Backend-Benutzer können sogar mit ihrer Tastatur innerhalb der Baumkomponenten navigieren.

"Deep Linking" im Backend

Deep Links sind im Frontend nichts Ungewöhnliches. Wenn Sie sich z.B. für die Mitgliedschaft in der TYPO3 Association interessieren, besuchen Sie die Website typo3.org und navigieren auf die entsprechende Seite. Sie landen schließlich auf typo3.org/project/association/membership. Dieser Link stellt den Pfad zu dem Webinhalt auf der Website dar. Sie können diesen Link in Ihrem Browser mit einem Lesezeichen versehen und/oder ihn an Ihre Kollegen senden.

Diese Möglichkeit haben die Benutzer nun auch bei der Arbeit im TYPO3 Backend.

Wenn zwei oder mehr Redakteure für die Pflege der Inhalte einer Website verantwortlich sind, können sie ihre Kollegen jetzt einfach auf ein bestimmtes Ziel im Backend verweisen. Dies ist nicht auf eine Seite beschränkt. Backend-Benutzer können z. B. einen Deep Link zu einem bestimmten Inhaltselement freigeben.

Backend-Benutzer, die häufig den gleichen Inhalt einer Seite aktualisieren, haben nun die Möglichkeit, den Link als Lesezeichen zu speichern und direkt zu öffnen. Sind sie noch nicht im Backend eingeloggt, erscheint das Anmeldeformular, und der Benutzer wird nach erfolgreicher Authentifizierung automatisch zum richtigen Ziel weitergeleitet.

Wer Erfahrung mit TYPO3 hat, muss oft einen Neueinsteiger oder Kunden durch das Backend führen. Manchmal in einer E-Mail, manchmal aus der Ferne am Telefon. Kommen Ihnen Anweisungen wie die folgende bekannt vor?

"Bitte suchen Sie im Backend auf der linken Seite das Modul 'Web' und klicken Sie dann auf 'Liste'. Wählen Sie nun die Seite 'Star Trek Actors' aus dem Seitenbaum aus. Wenn Sie nicht wissen, wo sich die Seite im Seitenbaum befindet, geben Sie den Namen in das Suchfeld ein. Sobald Sie die Seite angeklickt haben, suchen Sie im Inhaltsbereich die Tabelle 'Voyager'. Dann ..."

Das alles ist nun Geschichte. Integratoren und Kunden können einfach einen Deep Link freigeben. Der Empfänger folgt dem Link und landet an der richtigen Stelle. Schnell und einfach.

Site Configuration: System Locales

System Locales (Systemgebietsschemata) werden verwendet, um verschiedene Formate im gesamten System zu lokalisieren. Die Gebietsschemata werden auf dem Server generiert und sind im Grunde Konventionen für die Verwendung von Datums- und Zeitformatierung, Währungsanzeige usw.

In älteren Versionen des CMS mussten TYPO3-Integratoren beim Einrichten einer neuen Site für ihre Instanz die Gebietsschema-Kennung von Hand eingeben. Um die Einrichtung einer Site und ihrer Sprachen zu beschleunigen, erkennt TYPO3 v11.2 nun, welche Gebietsschemata auf dem System verfügbar sind und listet sie in einer Dropdown-Box auf.

Integratoren können nun einfach das entsprechende Element aus der Liste auswählen, was eine Zeitersparnis bedeutet und die Fehleranfälligkeit verringert.

Aktualisierung bestimmter Komponenten

Sprint-Releases sind eine perfekte Gelegenheit, um Bibliotheken und Tools zu aktualisieren, die in TYPO3 verwendet werden. Die Einführung neuer Versionen zu einem frühen Zeitpunkt im Lebenszyklus eines Releases ermöglicht es den Entwicklern, diese vor dem Long-Term-Support (LTS)-Release gründlich zu nutzen und zu testen.

In TYPO3 v11.2 wurde der CKEditor auf Version 4.16 und Bootstrap von v5-beta2 auf beta3 aktualisiert. Ebenso wurde die Kompatibilität mit Doctrine DBAL Version 2.13 hinzugefügt.

Composer

Die Installation von TYPO3 mit Hilfe von Composer ist seit geraumer Zeit die offizielle Empfehlung. Die Vorteile liegen klar auf der Hand. Composer ist nicht nur der De-facto-Standard, wenn es um modernes Abhängigkeitsmanagement im heutigen PHP-Universum geht. Er macht Ihnen auch das Leben leichter, wenn Sie Ihre Extension entwickeln, testen, veröffentlichen und warten und/oder eine TYPO3-Instanz installieren und aktualisieren.

Mit TYPO3 Version 11.2 wurde begonnen, die Weichen für die Zukunft zu stellen. Die langfristige Strategie ist es, von den proprietären ext_emconf.php-Dateien wegzukommen, die derzeit von jedem System und jeder Drittanbieter-Extension verwendet werden.

Wenn Sie ein TYPO3-Entwickler sind, stellen Sie sicher, dass Ihre Extensions eine gültige composer.json-Datei enthalten. Damit stellen Sie die Weichen, um mögliche Probleme in der Zukunft zu vermeiden. Eine Extension ohne Composer-Unterstützung gilt als schlechte Praxis, und außerdem benötigen Extensions eine gültige composer.json-Datei, um ihre Dokumentation auf docs.typo3.org anzeigen zu lassen. Wie einfach es ist, Composer-Unterstützung hinzuzufügen, können Sie in der TYPO3-Dokumentation nachlesen.

Version 11.3 (Sprint Release, erschienen am 13.07.2021)

Diese Version enthält eine Reihe von Backend-Verbesserungen und ist jetzt mit PHP Version 8.0 kompatibel.

Bei der User Experience (UX) geht es darum, wie Benutzer mit einem System oder einer Weboberfläche interagieren. Mehrere Bereiche des TYPO3-Backends wurden überarbeitet, insbesondere die Listenansicht, auf die Benutzer über das Modul Web → Liste zugreifen können. 

Die folgenden Abschnitte konzentrieren sich auf die wichtigsten Änderungen, Verbesserungen und Funktionen. Weitere Details finden Sie in den "TYPO3 What's New"-Slides und im detaillierten technischen Changelog.

Auswählbare Spalten

Mit dem Listenmodul können Backend-Benutzer mit verschiedenen Datenbankeinträgen arbeiten. Benutzer können nun einfach die Spalten auswählen, die in der Liste angezeigt werden sollen. Dies war in älteren TYPO3-Versionen nur in der "Single Table View" möglich. Die aktualisierte Benutzeroberfläche macht es den Benutzern viel einfacher, Spalten hinzuzufügen und zu entfernen.

TYPO3-Integratoren können die Ansicht mit ein paar Zeilen User TSconfig anpassen und den "column selector" je nach Bedarf für bestimmte oder alle Tabellen deaktivieren.

Erweiterte Ansicht

Das Listenmodul verfügt über eine erweiterte Ansicht, um auf weitere Funktionen zuzugreifen, wie z. B. die Anzeige zusätzlicher Details oder das Anzeigen der Änderungshistorie von Inhaltselementen. Diese Funktionen sind sekundäre Aktionen, die Backend-Benutzer bei ihrer täglichen Arbeit seltener benötigen. Bisher wurde die erweiterte Ansicht über eine Checkbox aktiviert, die dann die Ansicht auf alle Tabellen der Seite anwendete.

Mit TYPO3 Version 11.3 wurde die Checkbox entfernt, und die Benutzer können die sekundären Funktionen für jede Tabelle einzeln aufrufen (über die Schaltfläche mit den drei vertikalen Punkten).

Download von Daten

Wussten Sie, dass Backend-Benutzer fast alle Datenbanktabellen als CSV-Dateien aus dem Listenmodul herunterladen können? Natürlich sind dafür entsprechende Zugriffsrechte auf die Tabellen erforderlich. Diese "Export"-Funktionalität ist schon lange Teil des TYPO3 Kerns, wurde aber manchmal von Benutzern übersehen.

In TYPO3 v11.3 wird der Download-Button nun prominent in der Kopfzeile jeder Tabelle angezeigt. Anstelle eines einfachen CSV-Downloads können Backend-Benutzer den Export nun individuell anpassen. In einem Dialogfeld können die Benutzer den Dateinamen und das Format (CSV oder JSON) sowie weitere Einstellungen konfigurieren.

Backend-Links teilen und weitergeben

Es gab viel positives Feedback, als im letzten TYPO3 Sprint Release "Backend Deep Links" eingeführt wurden. Das Teilen von Links in TYPO3 v11.3 wurde noch weiter vereinfacht: Das Kopieren eines Links in die Zwischenablage erfordert nur zwei Mausklicks.

Auf allen Seiten, auf denen Deep Linking möglich ist, können Backend-Benutzer auf den Share-Button klicken, um ein Kontextmenü zu öffnen. Neben der Funktion, ein TYPO3-internes Lesezeichen zu erstellen, können Benutzer den Link der aktuellen Backend-Seite in ihre Zwischenablage kopieren.

Auswahl von Dateien und Datensätzen

Frühere TYPO3 v11 Sprint-Releases erhielten bereits einige Verbesserungen für den Seiten- und Dateibaum sowie für den Record Selector. Diese Komponenten verfügen nun über schnelle und leichtgewichtige Techniken wie den zugrunde liegenden SVG-basierten Code. In TYPO3 v11.3 wurde ein weiterer Bereich überarbeitet: die Auswahl von Dateien und Datensätzen aus einer Liste.

Beispiel: das Hinzufügen von Bildern zu einer Seite unter Verwendung des Inhaltselements "Text und Medien". Die Schaltfläche "Mediendatei hinzufügen" zeigt ein modales Fenster zur Auswahl einer oder mehrerer Dateien aus einer Liste an. Backend-Benutzer können nun für jede Datei ein Kontrollkästchen auf der linken Seite aktivieren oder ein Kontextmenü öffnen und alle Elemente mit einem Klick an- oder abwählen. Sie können auch die aktuelle Auswahl umschalten.

Diese Funktionalität finden Sie auch in einem anderen häufig genutzten Bereich des TYPO3-Backends: dem Dateilisten-Modul. Weitere Bereiche werden voraussichtlich im nächsten Sprint-Release folgen.

PHP 8.0

Der TYPO3 Kern ist jetzt mit der PHP-Version 8.0 kompatibel. Entwickler können viele neue Funktionen, Optimierungen und Verbesserungen der Programmiersprache nutzen. 

Die Kompatibilität mit PHP Version 7.4 bleibt ebenfalls bestehen.

"File" Viewhelper

Für Entwickler ist auch der "File"-ViewHelper interessant. Der neue ViewHelper kann verwendet werden, um Links zu Dateien über den File Abstraction Layer (FAL) zu erstellen. Er ist nicht nur sehr flexibel, sondern erkennt auch, ob Benutzer direkt auf das Link-Ziel zugreifen können (z. B. Dokumente, die Redakteure in den Bereich "fileadmin/" hochgeladen haben). In diesen Fällen erzeugt der ViewHelper einen direkten Download-Link. Wenn die Ressource nicht öffentlich zugänglich ist, greift die File-Dump-Funktionalität ein. Damit können Erweiterungsautoren eigene Lösungen implementieren, z. B. eine zusätzliche Authentifizierungslogik.

Der "File"-ViewHelper akzeptiert auch Attribute, um einen Download zu erzwingen und um alternative Download-Dateinamen anzugeben.

Extbase: PSR-7 Request/Response

Bereits in früheren TYPO3-Releases wurde einheitliche Standards und modernste Technologien für Entwickler implementiert, indem bekannten PSR-Standards gefolgt wurde.

Wie viele TYPO3 Entwickler wissen, ist Extbase das objektorientierte PHP-Framework, das vom TYPO3 Core und für die Extension-Entwicklung stark genutzt wird. Da Extension-Entwickler in ihrem eigenen Code oft auf Informationen über die aktuelle Anfrage zugreifen, ist ein sauberes PSR-7 Request/Response-Handling wichtig. Um Entwicklern dies zu ermöglichen, implementiert Extbase nun ein "ServerRequestInterface". Die Details sind alle über $this->request innerhalb von Extbase-Controllern verfügbar.

Diese Änderung führt auch zu einer vereinheitlichten Klasse "\TYPO3\CMS\Extbase\Mvc\Request" und zu einigen Deprecations, zum Beispiel die Methoden getRequestUri() und getBaseUri().

Login Throttling

Sicherheit ist ein weiterer Bereich, der in TYPO3 ständig überprüfen und verbessert wird. TYPO3 begrenzt nun Backend- und Frontend-Logins mit Hilfe der Symfony-Bibliothek "Rate Limiter". Dieser Ansatz löst die bisherige Methode ab, die aus Sicherheitssicht keine State-of-the-Art-Implementierung war. Eine PSR-15-Middleware nutzt nun den Rate Limiter, um weitere Authentifizierungsversuche zu blockieren, wenn zu viele fehlgeschlagene Logins von der gleichen IP-Adresse erkannt werden.

Internationalisierung

Das TYPO3-Backend unterstützt nun zwei neue Sprachen: Die Shona (Bantu) Sprache (ISO 639-1 Code "sn") und Walisisch (ISO 639-1 Code "cy"). Shona ist die Sprache des Shona-Volkes in Simbabwe und wird einschließlich der Dialekte von mehr als 10 Millionen Menschen gesprochen. Walisisch (historisch bekannt als "Cymbric") wird ursprünglich in Wales gesprochen.

Es ist nun möglich, übersetzte Backend-Labels vom TYPO3-Übersetzungsserver und CrowdIn für diese Sprachen herunterzuladen, die Backend-Oberfläche auf Shona bzw. Walisisch umzuschalten und diese Sprachen in Site-Konfigurationen zu verwenden.

Version 11.4 (Sprint Release, erschienen am 07.09.2021)

Diese Version markiert die letzte Phase des v11 Entwicklungszyklus vor dem TYPO3 v11 LTS Release. Lesen Sie weiter, um mehr über das letzte Sprint-Release der v11-Serie zu erfahren und was "Feature Freeze" wirklich bedeutet.

Wir sind zuversichtlich, dass die Version TYPO3 v11.4 stabil ist und in den meisten Projekten eingesetzt werden kann. Die Core-Entwickler, Mitwirkenden und Tester haben viel Zeit und Energie darauf verwendet, das System zu stabilisieren und es robust und sicher zu machen. 

Modul "Dateiliste"

Die Arbeit mit dem Backend-Modul Dateiliste ist jetzt schneller und einfacher als je zuvor. Jedes Element in der Datei-/Ordnerliste verfügt über eine Checkbox auf der linken Seite. Backend-Benutzer können nun Elemente an- und abhaken, die Auswahl umschalten und Aktionen wie das Bearbeiten von Metadaten oder das Löschen einer Datei einfach ausführen.

In früheren TYPO3-Versionen mussten die Benutzer die Elemente erst in die TYPO3-Zwischenablage übertragen, bevor sie mit mehreren Dateien gleichzeitig arbeiten konnten. In TYPO3 v11.4 wurde die Auswahl von Elementen in der Dateiliste von der Zwischenablage-Logik entkoppelt. Die Schaltflächen zum Ausführen verschiedener Aktionen erscheinen, sobald das erste Element ausgewählt wurde.

Neben der Bearbeitung der Metadaten einer Datei und dem Löschen einer Datei wurde auch eine neue Aktion eingeführt. Backend-Benutzer können nun mehrere Dateien oder Ordner auf einmal herunterladen, indem sie TYPO3 anweisen, ein ZIP-Archiv davon zu erstellen.

In TYPO3 v11.3 wurde die Funktion "auswählbare Spalten" der Listenansicht hinzugefügt. Die gleiche Funktion ist nun auch im Dateilisten-Modul verfügbar. Backend-Benutzer können einfach die Spalten auswählen, die in der Liste angezeigt werden sollen.

Spaltenauswahlfilter

Die Spaltenauswahl in der Datensatz- und Dateiliste verfügt jetzt über einen Filter am oberen Rand. Backend-Benutzer können ein paar Buchstaben in das Eingabefeld eingeben, um die Spalten, die sie hinzufügen oder aus der Liste entfernen möchten, leicht zu finden. Dieser Filter ist bei Tabellen mit vielen Spalten sehr nützlich.

Effizienter per Tastatur arbeiten

Viele Benutzer sind davon überzeugt, dass sie Listenelemente effizienter auswählen und abwählen können, wenn sie ihre Maus und Tastatur benutzen. Tastaturliebhaber werden sich freuen zu hören, dass die Datensatz- und die Dateiliste nun einige Tastaturkürzel unterstützt, um die Interaktion zu beschleunigen. Halten Sie zum Beispiel die Umschalttaste gedrückt, während Sie auf das erste und letzte Element klicken, das Sie auswählen möchten. Dadurch werden automatisch alle Elemente dazwischen ausgewählt. Verwenden Sie die Strg-/Optionstaste, um die aktuelle Auswahl umzuschalten.

Verbessertes Workspaces-Modul

Das erste Sprint-Release der v11-Serie - TYPO3 Version 11.0, die im Dezember 2020 veröffentlicht wurde - beinhaltete einige Änderungen und Anpassungen des Backend-Moduls "Workspaces". In der Release-Ankündigung wurde darauf hingewiesen, dass Workspaces eines der Alleinstellungsmerkmale von TYPO3 sind. Dies unterstreicht die Bedeutung des Moduls und seiner Funktionalität.

Wie geplant wurde das Backend-Modul noch weiter verbessert. Dazu gehören Ajax-Requests, die für ein besseres Benutzererlebnis und kürzere Ladezeiten sorgen. Backend-Benutzer können nun über ein Dropdown-Menü am oberen Rand des Moduls zwischen den Arbeitsbereichen wechseln. Das gesamte Erscheinungsbild entspricht nun mehr den anderen Bereichen des TYPO3 Backends. Darüber hinaus können Website-Administratoren nun die Einstellungen direkt über die Kopfzeile des Moduls aufrufen.

Bei der Überprüfung von Änderungen in einer großen Workspace-Umgebung werden Backend-Benutzer manchmal mit einer langen Liste konfrontiert, die sie durchgehen müssen. Dies kann verwirrend und unübersichtlich sein. Ein neues Dropdown-Menü im Modul Workspaces ermöglicht es den Benutzern, Elemente nach einer bestimmten Stufe zu filtern, z. B. "Bereit zur Veröffentlichung". Die reduzierte Liste (die übrigens nur die verfügbaren/relevanten Phasen des aktuellen Arbeitsbereichs enthält) hilft den Benutzern, sich auf ihre spezifische Aufgabe zu konzentrieren.

Sprachumschaltung im Seitenmodul

Die Art und Weise, wie Benutzer mit dem Backend interagieren, wenn sie mit Frontend-Sprachen arbeiten, wurde in der neuen TYPO3-Version leicht verändert. Mit dem Backend-Modul Web → Seite können Benutzer auswählen, welche Sprache oder Übersetzung einer Seite und des Seiteninhalts sie bearbeiten möchten. In früheren TYPO3-Versionen wurden mit der Standardsprache (z.B. "Englisch") alle Inhaltselemente aller Sprachen angezeigt.

Um die Arbeit für Redakteure und Übersetzer zu vereinfachen, zeigt die ausgewählte Sprache nur die Inhaltselemente dieser Sprache an. Mit der neuen Option "Alle Sprachen" können Benutzer bei Bedarf auf alle Inhaltselemente aller Sprachen zugreifen.

Änderungen für Integratoren und Entwickler

Wie bei jedem anderen TYPO3-Release gibt es auch bei der Version 11.4 Änderungen für Integratoren und Entwickler. Aufgrund des Feature Freeze liegt der Fokus jedoch eher auf der Stabilisierung der bestehenden Codebasis als auf der Einführung neuer wichtiger Features und APIs.

Oberste Priorität bei einem Feature Freeze Release ist eine robuste Grundlage. Dies ist wichtiger als das Hinzufügen weiterer Bibliotheken und Technologien zum System. Nichtsdestotrotz enthält TYPO3 Version 11.4 auch einige Verbesserungen und spannende neue Funktionen für Entwickler.

Neuer TCA Typ “category”

Kategorien im TYPO3-Backend sind im Allgemeinen eine mächtige Funktion. Die Implementierung ist in TYPO3 Version 11.4 viel einfacher geworden, da eine neue TCA-Konfiguration eingeführt wurde, die speziell mit Kategorien umgeht.

JsonView

Die Extbase JsonView bietet eine bequeme Möglichkeit, Daten im JSON-Format auszugeben. Typische Anwendungsfälle für diese Ansicht sind Ajax-Anfragen und RESTful APIs.

Um den Konfigurationsaufwand für Entwickler zu reduzieren, akzeptiert die JsonView nun die Eigenschaft "_recursive". Durch diese rekursive Umwandlung von Eigenschaften entfällt die Notwendigkeit, jede Ebene manuell zu definieren. Entwickler können diese Eigenschaft jetzt einfach anwenden, um z. B. Kommentare auszugeben, die andere Kommentare als Antworten enthalten.

Extbase ObjectManager

Seit der Einführung der DependencyInjection-Komponente von Symfony in TYPO3 v10 LTS wurde Extension-Entwicklern empfohlen, diese moderne Implementierung zu verwenden, die dem PSR-11-Standard folgt. Jetzt ist ein guter Zeitpunkt, den Extbase ObjectManager als veraltet einzustufen, um ihn für die Entfernung in TYPO3 v12 vorzubereiten. Das bedeutet, dass Entwickler zum Beispiel die Funktion "ObjectManager->get()" nicht mehr aufrufen sollten.

Verbesserungen im Composer-Modus

Mit TYPO3 Version 11.2 wurden die Weichen für die Zukunft gestellt, was die Verwaltung von Extensions mit dem PHP-basierten Dependency Manager Composer angeht.

In TYPO3 Version 11.4 wurde ein weiterer großen Schritt nach vorne gemacht und die bekannte Datei "PackageStates.php" für Composer-basierte TYPO3-Installationen abgeschafft. Diese Datei speicherte die Informationen über aktive Pakete im System. Da die gleichen Informationen vom Composer verwaltet werden, wurde mit dieser Änderung die Redundanz beseitigt. Alle Erweiterungen, die Composer dem System hinzufügt, gelten nun als aktiv. Dadurch konnten auch die Funktionen zum Aktivieren und Deaktivieren von Erweiterungen aus dem Extension Manager und auch aus der TYPO3 CLI entfernt werden.

Um eine neu hinzugefügte Extension mit Composer einzurichten, empfiehlt es sich, auch den TYPO3 CLI-Befehl "extension:setup" auszuführen, um z.B. Datenbankschema-Updates durchzuführen.

Bereits in der TYPO3 v11.2 Release-Ankündigung wurde erwähnt, dass die proprietäre Datei ext_emconf.php in Zukunft abgeschafft werden soll. Mit den oben erwähnten Änderungen soll genau das erreicht werden. Composer-basierte TYPO3-Installationen benötigen diese Datei nicht und ignorieren sie von nun an sogar. Extension-Entwickler können diese Datei jedoch vorerst beibehalten, falls sie die Kompatibilität mit TYPO3-Instanzen im Nicht-Composer-Modus aufrechterhalten wollen.

Es ist zu beachten, dass diese Änderungen nur für TYPO3-Instanzen gelten, die die Composer-basierte Installationsmethode verwenden. Diese Methode ist die offiziell empfohlene Art, TYPO3 zu installieren.

TYPO3 Caches

TYPO3 erreicht dank seines gut durchdachten Caching-Frameworks eine hervorragende Performance. Bei automatisierten Deployments, die zum Beispiel durch Skripte gesteuert/ausgeführt werden, ist das TYPO3 Command Line Interface (CLI) ein unverzichtbares Werkzeug. Zwei neue Befehle für die TYPO3 CLI ermöglichen es Integratoren und Administratoren, die Caches zu leeren und aufzuwärmen:

  • bin/typo3 cache:flush
  • bin/typo3 cache:warmup

HTTPS als Standard

Der durchschnittliche HTTPS-Verkehr über alle Plattformen hinweg lag im Mai 2021 bei fast 90 %, wie aus dem Transparenzbericht von Google hervorgeht. Daher ist es nur logisch, dass ein Enterprise Content Management-System wie TYPO3 "https://" als Standardschema für so viele Komponenten wie möglich festlegt.

Wenn Benutzer eine URL in den CKEditor (den Standard-Rich-Text-Editor von TYPO3) eingeben, wandelt TYPO3 die Domain automatisch in einen Link um (genauer gesagt übernimmt das "AutoLink"-Plugin des CKEditors die Umwandlung). Der resultierende Link verwendet nun "https://" als Standardschema. Redakteure können den Link natürlich auch manuell anpassen und das Standardschema auf einen anderen Wert, zum Beispiel "http://", ändern.

TYPO3-Entwickler und -Integratoren finden eine ähnliche Funktion in den Fluid ViewHelpern "<f:link.external>" und "<f:uri.external>". Beide verwenden seit TYPO3 v11.4 standardmäßig das sichere Schema. Der Parameter "defaultScheme=" kann verwendet werden, um den Standard zu überschreiben.

Feature Freeze

Die TYPO3 Version 11.4 markiert den Feature Freeze für den v11 Zyklus gemäß der Roadmap. Ab diesem Zeitpunkt sind bis zum LTS-Release im Oktober 2021 keine neuen Features mehr geplant. Das bedeutet, dass sich das Core Team und alle Mitwirkenden vom Zeitpunkt des Feature Freeze bis zum endgültigen LTS Release auf das Testen, Polieren und Verfeinern des Quellcodes und des Systems konzentrieren. Einige Ausnahmen erlauben es uns jedoch, bestehende neue Funktionen, die wir kürzlich hinzugefügt haben, zu vervollständigen und/oder zu verbessern.

 

Bilder: typo3.org

Aktualisiert: 04.05.2023