Zum Inhalt springen

TYPO3 10 LTS

TYPO3 10 LTS wurde am 21. April 2020 erscheinen. Auf dieser Seite finden Sie Informationen zu den Neuerungen der einzelnen Sprint Releases und der finalen LTS-Version.

TYPO3 Version 10 Roadmap

Version Schwerpunkt der Entwicklung Erscheinungsdatum
10.0 Den Weg ebnen für neue Konzepte und APIs, notwendige Änderungen. 23.07.2019
10.1 Verbesserungen im Routing, Site Handling V2 01.10.2019
10.2 Verbesserung in der Rendering Engine und Fluid 03.12.2019
10.3 Feature Freeze (es werden keine neuen Funktionen mehr hinzugefügt, Verbesserung der Stabilität, Fehlerbehebungen etc.) 25.02.2020
10.4 Freigabe der LTS Version 21.04.2020

Version 10.0 (Sprint Release, erschienen am 23.07.2019)

Mit Version 10.0 wurde am 23.07.2019 der erste Sprint Release auf dem Weg zur Version 10 LTS veröffentlicht.

Da der Schwerpunkt der Version 10.0 auf "Aufräumarbeiten" liegt, wurden in diesem Release eine große Anzahl von Änderungen vorgenommen. Das ermöglicht es, bereits in einem frühen Stadium der Entwicklung neue Bibliotheken, moderne Konzepte und optimierte APIs einzuführen.

Was ist für Version 10 geplant?

Für TYPO3 v10 LTS wurden ehrgeizige und wichtige Ziele gesetzt. Die folgenden Verbesserungen stehen ganz oben auf der Liste und werden sich in allen kommenden Sprint-Versionen ständig weiterentwickeln:

  • TYPO3-Integratoren die einfache Konfiguration des Systems ermöglichen
  • TYPO3-Redakteure, Administratoren und Extension-Entwickler von Best Practices profitieren lassen
  • Verwendung von stabilen und etablierte Standards und PHP-Paketen, um stabile APIs im gesamten TYPO3-Kern zu erreichen
  • Die tägliche Arbeit mit TYPO3 noch angenehmer machen

Die wichtigsten Änderungen in Version 10.0

Da die Version 10.0 die erste Version der v10-Serie ist, liegt ihr Hauptzweck darin, Funktionen loszuwerden, die als veraltet gelten oder aus Legacy-Gründen beibehalten wurden.

In TYPO3 9 wurden neue Konzepte und Methoden eingeführt, die sich als erfolgreich erwiesen haben. Jetzt geht es darum, die Legacy-Schicht zu entfernen und die neuen APIs zu stabilisieren. Darüber hinaus wurden in der Version 10.0 neue Konzepte eingeführt, die bei den nachfolgenden Sprint-Releases der TYPO3 10-Serie noch weiter verbessert werden sollen.

Site handling

In TYPO3 9 LTS wurde das native Site-Handling eingeführt - die Grundlage für URL-Handling sowie Multi-Site- und Multi-Language-Funktionalitäten.

TYPO3 9 erlaubt es Integratoren weiterhin, sys_domain records (die alte Methode eines Multi-Domain-Setups) zu verwenden. Diese Kompatibilität wurde entfernt und die Einrichtung einer Site Configuration ist nun in v10.0 obligatorisch. TYPO3-Integratoren profitieren von den zahlreichen Vorteilen eines einheitlichen und standardisierten Website-Handlings.

PHP-Klassen-/Eigenschaftsanalyse

Extbase (das in TYPO3 verwendete MVC-Framework) ermöglicht es Core- und Extension-Entwicklern, Funktionen für TYPO3 sauber und konsistent zu schreiben ("convention over configuration"). Die Analyse von benutzerdefinierten PHP-Klassen und deren Eigenschaften ist eine Schlüsselfunktion von Extbase. Diese Aufgabe wird nun von der PropertyInfo-Komponente von Symfony übernommen. Durch die Verwendung eines PHP-Pakets, das Industriestandards entspricht, bekannt ist und von einer großen Community gepflegt wird, wird sichergestellt, dass diese Komponente von Extbase auch in den kommenden Jahren auf dem neuesten Stand der Technik bleibt. 

Neue Dependency Injection

Das oben genannte Ziel, robuste und etablierte Standards und PHP-Pakete im gesamten TYPO3-Kern zu verwenden, zeigt sich auch in einem weiteren Bereich von höchster Bedeutung: "Dependency Injection" (DI). Diese Technik kommt zum Einsatz, wenn ein Objekt die Abhängigkeiten eines anderen Objekts liefert. PHP-Objekte, die keinen Zustand enthalten, werden als Services bezeichnet und sind logisch in Service-Container gekapselt.

Durch die Anwendung der Service Container-Architektur von Symfony wird das Dependency Managementt und die Dependency Injection für PHP-Klassen auf eine neue Ebene gebracht. Dieser Ansatz zielt darauf ab, den Extbase Dependency Injection Container und den Object Manager zu ersetzen, was bedeutet, dass in Zukunft auf GeneralUtility::makeInstance() verzichten werden kann, um Singletons und statische Methoden wie getInstance() zu erhalten.

Entwicklern wird empfohlen, die Symfony-Dokumentation zu lesen und die PSR-11-Initiative und ihre Teilaufgaben im Auge zu behalten.

Event dispatcher

Wie bereits erwähnt: TYPO3 Version 10.0 ist das perfekte Release, um neue, moderne Technologien einzuführen.

Hooks und das Signal/Slot Konzept ist eine der Stärken von TYPO3. Letzteres ermöglicht es, die Kernfunktionalität um ein Signal zu erweitern und andere Komponenten über ein bestimmtes Ereignis zu informieren. TYPO3 Extension-Entwickler können diese Technologie nutzen und auf diesem Core-Feature aufbauen.

Es wurde Event Dispatcher zum TYPO3-Kern hinzugefügt (klar spezifiziert in PSR-14), der die gleiche API wie das Zend Framework oder die EventDispatcher-Komponente von Symfony hat. "Events" werden im Laufe der nächsten TYPO3-Sprint Releases hinzugefügt und diese Technologie soll mittelfristig Hooks und Signal/Slots ersetzen.

Extensionentwickler brauchen sich keine Sorgen zu machen: Hooks und registrierte Slots bleiben so, wie sie jetzt sind und werden vorerst wie bisher funktionieren.

Neue "mailer" API

TYPO3 hat bisher die SwiftMailer-Bibliothek zum Erzeugen und Versenden von E-Mails genutzt. Die aktive Entwicklung stagniert jedoch und es wurde entschieden, eine weitere Symfony-Lösung mit einer modernen API einzusetzen: das Paket "Mime" für die Erstellung von E-Mails und das Paket "Mailer" für die Verarbeitung und den Versand.

Beide Komponenten sind auf dem neuesten Stand der Technik und ermöglichen es, HTML-basierte E-Mails an verschiedenen Stellen im Kern zu generieren, an denen bisher nur einfache Text-E-Mails implementiert sind.

System-Extensions ausgelagert

Die bisher enthaltenen System-Erweiterungen "RSA Authentication" (Extension-Key rsaauth), "Task Center" (Extension-Key taskcenter), "Actions" (Extension-Key sys_action) und "Frontend Editing" (Extension-Key fe_edit) wurden in das öffentliche Extension-Repository von TYPO3 verschoben.

Diese Extensions werden auf dem neuesten Stand gehalten, sind aber nicht mehr Teil der Support- und Wartungsrichtlinien von TYPO3, die für den TYPO3-Kern gelten.

Version 10.1 (Sprint Release, erschienen am 01.10.2019)

Am 01.10.2019 wurde TYPO3 10.1 als weiterer Sprint Release veröffentlicht.

Das neue Release erhielt mehr als 250 Git Commits (überprüfte, getestete und freigegebene Quellcode-Änderungen) seit der Vorgängerversion 10.0, die vor 10 Wochen veröffentlicht wurde. Obwohl Backend-Anwender nicht viele offensichtliche Änderungen oder wesentliche neue Funktionen als solche sehen werden, erhielt TYPO3 Version 10.1 eine Reihe von Verbesserungen unter der Haube.

Standard Site Configuration

Um eine neue TYPO3-Website von Grund auf neu zu erstellen, sind nur wenige Schritte erforderlich. In TYPO3 Version 10.1 wurde der Prozess ein wenig vereinfacht: Wenn eine neue Seite auf der Root-Ebene erstellt wird, wird damit automatisch eine Standard-Site-Konfiguration generiert. 

Angabe der E-Mailadresse während der Installation

Während des Installationsvorgangs kann für den Administrator-Zugang eine E-Mailadresse angegeben werden.

Ebenso findet man diese Möglichkeit, wenn man über das Installtool einen weiteren Admin-Account anlegt.

Konflikte in Weiterleitungen (Redirect) erkennen

Das Redirects Backend-Modul wurde mit TYPO3 9 eingeführt und ermöglicht es Administratoren, Redirects, also Weiterleitungen, hinzuzufügen und zu konfigurieren.

Der Quellpfad kann ein beliebiger Name sein oder er kann als regulärer Ausdruck dargestellt werden. Dies bietet eine großartige Funktionalität, aber was ist, wenn ein Redirect den gleichen Namen wie eine Seiten-URL hat? Solche Konfigurationsfehler können passieren und TYPO3 bietet eine einfache Lösung, um widersprüchliche Umleitungen zu erkennen: einen CLI-Befehl, der eine Liste der Konflikte (falls vorhanden) anzeigt. Dieser Befehl kann auch als Scheduler-Task konfiguriert werden, und die Ergebnisse werden im Backend unter "SYSTEM ➜ Reports" angezeigt.

URL-Pfad (Slug) Änderungen und Weiterleitungen

Die Unterstützung von Backend-Anwendern bei ihrer täglichen Arbeit und die größtmögliche Robustheit und Benutzerfreundlichkeit von TYPO3 standen schon immer ganz oben auf der Liste der TYPO3-Entwickler.

Manchmal ist es notwendig, den URL-Pfad einer Seite (den sogenannten "Slug") zu ändern, und Backend-Benutzer können das in TYPO3 einfach tun, wenn sie über die entsprechenden Zugriffsrechte verfügen.

Eine solche Aktion führt jedoch in der Regel zu einem "Seite nicht gefunden"-Fehler, wenn ein Besucher der Website versucht, mit dem alten Slug auf eine Seite zuzugreifen.

Mit der TYPO3 Version 10.1 gibt es nun eine intelligente Lösung: die relevanten Slugs für alle Unterseiten werde automatisch aktualisiert und Umleitungen von der alten auf die neue URL erstellt. Backend-Benutzer werden über diese Aktionen informiert und können die Änderungen mit einem Klick auf eine Schaltfläche einfach zurücksetzen.

Cache presets

Als Enterprise Content Management System ist TYPO3 bekannt dafür, sehr große Websites und Anwendungen problemlos zu betreiben. Aber auch kleine bis mittlere Webprojekte, die auf Shared Hosting-Umgebungen laufen, nutzen TYPO3 aus verschiedenen Gründen. Zwei davon sind die Leistung und die Möglichkeit, fast jeden Aspekt einer Installation zu verfeinern.

Das Caching-Framework von TYPO3 verwendet standardmäßig die Datenbank als Speicherplatz für das Caching. Verschiedene Tests zeigen jedoch, dass dies unter bestimmten Umständen nicht die perfekte und performanteste Konfiguration ist. Je nach Umgebung und Hosting-Setup ist ein im Dateisystem gespeicherter Cache schneller. Integratoren und Administratoren können nun den Speichertyp für Caches konfigurieren.

Standard-Aktion für Datei-Uploads

Die Standardaktion, wenn Backend-Benutzer Dateien hochladen, ist jetzt konfigurierbar.

In früheren TYPO3-Versionen ist der Standard "Diese Datei überspringen", wenn Backend-Benutzer versuchen, eine bereits vorhandene Datei hochzuladen. Dies ist natürlich die sicherste Option, aber mit TYPO3 v10.1 können Sie sie neu konfigurieren, was die Funktionalität des Datei-Uploads flexibler und benutzerfreundlicher macht. Die verfügbaren Optionen sind "Ersetzen", "Umbenennen" und "Abbrechen".

Eigene Dateiprozessoren

Entwickler können nun Ihre eigenen Dateiprozessoren registrieren. So können verschiedene Operation auf Dateien angewendet werden, die von einem Backend-Benutzer hochgeladen werden. zum Beispiel: Hinzufügen von Wasserzeichen zu Bildern, Komprimieren hochgeladener Dateien in ein ZIP-Archiv, Speichern einer Kopie eines zugeschnittenen Bildes, Übertragen hochgeladener Dateien auf einen zweiten Speicherort, etc.

Benachrichtigungen im Backend

"Benachrichtigungen" sind ein wesentliches Element der Benutzeroberfläche. Dies sind kleine Boxen, die manchmal in der rechten oberen Ecke des TYPO3-Backends erscheinen und den Benutzer über bestimmte Ereignisse informieren. Dies kann eine Benachrichtigung über einen erfolgreich abgeschlossenen Prozess, eine Warnung, dass unerwartet etwas passiert ist, oder ein Hinweis auf einen schwerwiegender Fehler sein.

Diesen Benachrichtigungen können jetzt Schaltflächen hinzugefügt werden, über die Aktionen zur Ausführung von JavaScript-Funktionen ausgelöst werden können.

Cache dependency injection

Caching war schon immer ein wichtiger Faktor in TYPO3 und wird deshalb auch immer weiter verbessert. Der Service Container von Symfony wurde in TYPO3 Version 10.0 eingeführt und ermöglicht es nun, Cache-Objekte direkt und nicht mehr über den CacheManager einzubinden.

Mit anderen Worten: Der TYPO3-Kern stellt nun alle Core-Caches als Dependency Injection Services zur Verfügung und Extension-Entwickler können dieses Feature jetzt nutzen. Dazu fügt man den Cache-Dienst in die Datei "Configuration/Services.yaml" ein und die Dependency Injection kümmert sich darum, den Cache an Ihren Klassenkonstruktor zu übergeben. Seit der TYPO3-Version 10.1 müssen Entwickler den "CacheManager" nicht mehr verwenden.

In der Dokumentation finden sich dazu einige Codebeispiele.

Aufräumarbeiten

Wie bei jedem anderen TYPO3-Release wurden auch in der TYPO3-Version 10.1 einige Funktionen vereinfacht und einige alte Codefragmente bereinigt. Dazu gehört unter anderem die bekannte "jumpToUrl()". JavaScript-Funktion (die als "veraltet" markiert wurde) und einige JavaScript-Variablen, die in TYPO3 v11 entfernt werden.

Es wurden auch einige interne Änderungen an der Klasse "RecordHistory" vorgenommen und zwei neue Ereignisse hinzugefügt, die beim Zurücksetzen von Datensätzen ausgelöst werden. Dies ermöglicht es Entwicklern, auf Daten zuzugreifen und sie zu manipulieren, bevor und nachdem ein Datensatz-Historieneintrag rückgängig gemacht wurde.

Verwenden Sie noch das alte XML-Format für Ihre Sprachdateien? Um es kurz und bündig auszudrücken - migrieren Sie jetzt alle Ihre XML-Dateien auf den XLIFF-Standard! XLIFF wurde mit TYPO3 Version 4.6 (vor fast 8 Jahren!) eingeführt und ist seither das empfohlene Format für Sprachdateien. Die Verwendung von XML für Sprachdateien wurde in TYPO3 Version 10.1 als veraltet eingestuft und wird in naher Zukunft nicht mehr unterstützt. Wenn Sie ein Tool zur Konvertierung von XML-Sprachdateien benötigen, könnte die Erweiterung EXT:ew_llxml2xliff von Sebastian Fischer hilfreich sein.

Sicherheitsverbesserungen

Jede Verbesserung, die die Sicherheit einer Website stärkt und die Privatsphäre ihrer Nutzer schützt, ist wichtig, egal ob es sich um eine große oder kleine Änderung handelt. Ab sofort haben alle von TypoLink verarbeiteten externen Links standardmäßig das Tag-Attribut rel="noopener noreferrer".

Während der erste Wert "noopener" die Browser anweist, den Link zu öffnen und den Zugriff auf das Dokument zu blockieren, das den Link enthält, weist der zweite Wert "noreferrer" die Browser an, keine Daten über die Herkunft im HTTP-Header "Referer:" zu senden.

Weitere Änderungen und Neuerungen

Das hier war nur ein relativ kleiner Teil der Änderungen und Neuerungen in Version 10.1.

Eine ausführliche Auflistung finden Sie im ChangeLog.

Version 10.2 (Sprint Release, erschienen am 03.12.2019)

Mit Version 10.2 wurde am 3.12. der letzte Sprint-Release des Jahres 2019 veröffentlicht. Hier flossen bereits einige Neuerungen ein, die einige Wochen zuvor in der TYPO3 Initiative Week (T3INIT19) entwickelt wurden. Ein paar davon finden Sie hier.

Fluidbasiertes Frontend-Anmeldeformular

Systemintegratoren nutzen die Systemerweiterung Frontend Login (felogin), um Benutzern eine einfache Möglichkeit zu bieten, sich anzumelden und auf geschützte Bereiche einer Website zuzugreifen, auch mit einer Funktion zur Wiederherstellung des Passworts.

Für Integratoren und Entwickler war es jedoch umständlich, die Vorlagen zu ändern. Während alle anderen Systemerweiterungen die moderne Fluid Templating Engine verwenden, war Frontend Login die einzige Erweiterung, die noch auf "Marker-basierten" Templates basierte.

TYPO3 v10.2 enthält nun eine Extbase-Version dieser Frontend-Login-Funktionalität. Diese Lösung hat einige Vorteile:

  • Einfachere Änderungen an den Vorlagen.
  • HTML-basierte E-Mails zur Passwort-Wiederherstellung.
  • Anpassungen an den Validatoren möglich, um Passwortbeschränkungen zu konfigurieren.

Das neue Extbase Plugin ist ab sofort für Neuinstallationen verfügbar. Um bei TYPO3-Upgrades den Verlust von Änderungen an bestehenden TYPO3-Instanzen zu vermeiden, werden dort alten Templates weiterhin standardmäßig verwendet (die Extbase-Version kann über die "Feature toggles" explizit aktiviert werden).

Systemextension "form"

Basierend auf den Erfahrungen und dem Feedback der Community in den letzten Monaten wurden mehrere Verbesserungen an der Systemerweiterung Form vorgenommen.

Diese Änderungen betreffen sowohl Redakteure als auch Integratoren und Entwickler. Backend-Benutzer profitieren von einem erweiterten Formularerstellungsassistenten, der die Navigation zu vorherigen Schritten und beschreibende Bezeichnungen wie "Start" oder "Finish" anstelle der numerischen Anzeige "Step x of y" unterstützt.

Integratoren profitieren von einem optimierten Setup (es wird nur eine allgemeine Konfigurationsdatei "FormSetup.yaml" verwendet) und einer optimierten Konfigurationsstruktur.

Barrierefreiheit im Seitenbaum

Backend-Benutzer können nun mit der Tastatur durch den Seitenbaum navigieren, zum Beispiel mit den Pfeiltasten, "home", "end", "enter", "space", etc.

Site configuration

Der Website Titel wird nun über das Site Configiration-Modul festgelegt. So kann der Titel auch ganz einfach in mehrsprachigen Websites pro Sprache angepasst werden.

Das title-Feld im Template (sys_template) wurde als "deprecated" markiert und wird in TYPO3 11 nicht mehr vorhanden sein.

Keine kaputten Links mehr mit dem Link Validator

Der Link Validator von TYPO3 ist als Scheduler-Task konfiguriert und zielt darauf ab, fehlerhafte Links im gesamten System zu erkennen. Diese Funktion wurde weiter ausgebaut und unterstützt nun Seiten, Dateien und sogar externe Links. Externe Links können jetzt auch on-the-fly validiert werden.

Unterstützung von PHP 7.4 und Symfony 5.0

Diese Version ebnet den Weg für eine hochmoderne Umgebung. TYPO3 v10.2 unterstützt nicht nur Symfony Version 5.0, sondern ist auch das erste TYPO3-Release, das PHP Version 7.4 unterstützt. Es wird sogar daran gearbeitet, TYPO3 v9 mit PHP 7.4 kompatibel zu machen.

Weitere Änderungen

Wie immer hat sich unter der Haube noch sehr viel mehr getan, was vor allem für Core- und Extensionentwickler relevant ist.

Alle Änderungen sind wieder im "What's new"-PDF zusammengefasst, das Sie sich auf der Website von TYPO3 runterladen können.

Version 10.3 (Sprint Release, erschienen am 25.02.2020)

Am 25.02. erschien mit Version 10.3 der letzte Sprint-Release vor der Veröffentlichung von 10.4 LTS, die für den 21.04. geplant ist.

Wichtige Änderungen

lockIP Einstellung standardmäßig deaktiviert

Der Standardwert für die lockIP-Einstellungen wurde in "deaktiviert" geändert. Dies betrifft die folgenden vier Einstellungen:

- FE->lockIP
- FE->lockIPv6
- BE->lockIP
- BE->lockIPv6

Obwohl die Einstellung eigentlich die Sicherheit erhöhen soll, gibt es einige Anwendungsfälle, bei denen die Nutzung zu Problemen führt, wie zum Beispiel das plötzliche Abmelden aus dem Backend. Gerade bei Nutzung von ipV4 und ipV6 kann es hier problematisch werden, wenn sich die IP-Adresse des Benutzers plötzlich ändert.

Neuer Übersetzungsserver

Die Arbeit an dem neuen Übersetzungsserver wurde abgeschlossen, so dass er standardmäßig verwendet wird.

Die SaaS-Lösung Crowdin wird eingesetzt, um die Lokalisierung des TYPO3-Kerns und aller beteiligten Erweiterungen für jeden so einfach wie möglich zu gestalten.

Wenn Sie daran interessiert sind, die Lokalisierung zu verbessern, registrieren Sie sich unter crowdin.com und schlagen Sie Übersetzungen beim offiziellen TYPO3-Projekt vor, das unter crowdin.com/project/typo3-cms zu finden ist.

Die Dokumentation über die Integration ist Teil der offiziellen TYPO3-Dokumentation und
ist unter docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Internationalization/TranslationServer/Crowdin.html verfügbar.
Sie behandelt auch, wie Sie Ihre Erweiterung als Entwickler bei Crowdin zur Verfügung stellen können.

Nur Dateien mit der Endung .typoscript importieren

Mit der neuen Methode @import kann man auch ganze Verzeichnisse im TypoScript importieren. Bisher wurden dabei aber alle Dateien im jeweiligen Verzeichnis importiert, ohne Berücksichtigung der Dateiendung.
Das neue Verhalten berücksichtigt nur noch Dateien mit der Endung .typoscript. 
Möchte man auch Dateien mit anderen Endungen (z.B. *.ts, *.txt usw.) importieren, muss man das explizit angeben.

Neue Features

SEO und Social Media Felder im Info-Modul

Im Info-Backendmodul gibt es zwei neue Bereiche (SEO und Social Media), in denen man sich eine Übersicht der entsprechenden Felder anzeigen lassern kann.

Asset Collector für JavaScript und CSS

Über die neuen Asset Collectors, die als Viewhelper im Fluidtemplate oder auch über PHP genutzt werden können, kann man CSS und JavaScript modular einbinden. Zum Beispiel kann man CSS und JS-Dateien für Custom Content Elements nur dann laden, wenn diese Inhaltselemente auch tatsächlich auf einer Seite benutzt werden (Stichwort: Web Components). Über den Parameter "identifier" wird dafür gesorgt, dass die Einbindung nicht mehrfach durchgeführt wird.

Beispiel für Fluidtemplates:

<f:asset.css identifier="identifier123" href="EXT:my_ext/Resources/Public/Css/foo.css" />
<f:asset.css identifier="identifier123">
   .foo { color: black; }
</f:asset.css>

<f:asset.script identifier="identifier123" src="EXT:my_ext/Resources/Public/JavaScript/foo.js" />
<f:asset.script identifier="identifier123">
   alert('hello world');
</f:asset.script>

Lazy loading für Bilder

Über eine Fluid Styled Content-Konstante kann das Browsernative lazyloading für Bilder aktiviert werden. Viele aktuelle Browser unterstützen das bereits jetzt.

Verbessertes Backendbenutzer-Modul

Das Modul "Backendbenutzer" zeigt jetzt mehr Details zu TYPO3-Administratoren und -Editoren an:

  • Alle zugeordneten Gruppen, einschließlich Untergruppen, werden jetzt ausgewertet
  • Alle Daten, die im Backend-Benutzer oder einer zugewiesenen Gruppe eingestellt werden können, werden nun angezeigt, einschließlich der erlaubten Seitentypen
  • Lese- und Schreibzugriff auf Tabellen
  • Eine neue "Detailansicht" für einen TYPO3 Backend-Benutzer wurde hinzugefügt

Der Vergleich von Benutzern ist damit jetzt leistungsfähiger. Für TYPO3-Administratoren ist es jetzt einfacher, Backend-Benutzerberechtigungen zu prüfen, ohne zum eigentlichen Benutzer wechseln zu müssen.

YAML-Konfiguration von Formularen anschauen

Sofern über die Systemextension "Form" Formulare genutzt werden, kann deren YAML-Konfiguration im Backendmodul "Konfiguration" eingesehen werden.

Dashboard

Im neuen Backendmodul "Dashboard" können dem Benutzer über sogenannte Widgets diverse Informationen angezeigt werden. Das kann z.B. die Anzeige externer RSS-Feeds sein, oder Links zur Dokumentation, Graphen über die Anzahl der Fehler im Systemprotokoll und vieles mehr.
Es werden schon einige Widgets mitgeliefert, es ist auch dokumentiert, wie man eigene Widgets erstellen kann und im TER findet man auch schon die eine oder andere Extension, die neue Widgets mitbringt.

Jeder Backendbenutzer kann sich dabei eines oder mehrere individuell zusammengestellte Dashboards mit für Ihn wichtigen Informationen erstellen. 

Verbesserungen im Extension Manager

Der Extension Manager bringt zwei neue Filterfunktionen mit, um nur System- oder Drittextensions anzuzeigen. Außerdem lässt sich die Tabelle der Extensions durch einen Klick auf den Spaltennamen auch nach verschiedenen Kriterien sortieren.

Fluidbasierte System-E-Mails

E-Mails, die durch TYPO3 verschickt werden (z.B. aus dem Installtool heraus) sind jetzt Multipart-Emails und basieren auf Fluidtemplates. Die Templates können also auch beliebig über z.B. eine eigene Extension angepasst werden.

Weitere Änderungen

Natürlich gibt es auch in dieser Version noch viel mehr Änderungen und Neuerungen, gerade unter der Haube hat sich sehr viel getan, was für Core- und auch Extensionentwickler interessant und relevant ist.

Alle Änderungen findet man wie üblich auch in der offiziellen Dokumentation: https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/10.3/Index.html

Version 10.4 (LTS Release, erschienen am 21.04.2020)

Am 21.4.2020 war es endlich soweit, und mit TYPO3 10.4 LTS erschien die finale Version mit Long Term Support (also die reguläre Versorgung mit Updates für 3 Jahre).

Ein paar der interessantesten Features zeigen wir hier. Eine vollständige Liste gibt es natürlich auf docs.typo3.org

Neue Funktionen

Content Element Filter

Ein Backend-Benutzer kann nun im Assistenten "Neues Inhaltselement" nach einer Reihe von Inhaltstypen suchen. Wenn ein Benutzer eine Suchanfrage eingibt, wird jeder Inhaltstyp, dessen Titel oder Beschreibung nicht mit der Anfrage übereinstimmt, für den Benutzer verborgen. Da Inhaltstypen in Tabs gruppiert sind, werden Tabs ohne Inhalt für den Benutzer deaktiviert. Wenn die aktuell aktive Registerkarte leer wird, wird die nächste verfügbare Registerkarte aktiviert.

"Passwort vergessen" Funktion für Backend-Benutzer

Es ist nun möglich, dass TYPO3 Backend-Benutzer, die sich mit dem Standard-Benutzernamen/Passwort-Mechanismus anmelden, ihr Passwort zurücksetzen können, indem sie über das Anmeldeformular eine E-Mail auslösen.

Der Link zum Zurücksetzen wird nur angezeigt, wenn es mindestens einen Benutzer gibt, der den folgenden Kriterien entspricht:

  • Der Benutzer verfügt über ein zuvor eingegebenes Passwort (wird verwendet, um anzuzeigen, dass kein Login von Dritten verwendet wurde)
  • Der Benutzer hat eine gültige E-Mail-Adresse zu seinem Benutzerdatensatz hinzugefügt
  • Der Benutzer ist weder gelöscht noch deaktiviert
  • Die E-Mail-Adresse wird nur einmal unter allen Backend-Benutzern der Instanz verwendet

Sobald der Benutzer seine E-Mail-Adresse eingegeben hat, wird eine E-Mail mit einem Link zum Festlegen eines neuen Passworts verschickt, das mindestens 8 Zeichen lang sein muss.

Der Link ist 2 Stunden lang gültig, und dem Link wird ein Token hinzugefügt.

Wenn das Passwort korrekt angegeben wurde, wird es für den Benutzer aktualisiert und er kann sich einloggen.

Einige Anmerkungen zur Sicherheit:

Bei mehreren Benutzern mit derselben E-Mail-Adresse ist keine Rücksetzfunktion vorgesehen.
Es ist keine Informationsweitergabe eingebaut, d.h. wenn die E-Mail-Adresse nicht im System enthalten ist, ist sie nach außen hin nicht sichtbar.
Es sind nur maximal drei E-Mails innerhalb von 30 Minuten pro E-Mail-Adresse gestattet.
Die Tokens werden für die Backend-Benutzer in der Datenbank gespeichert, aber genau wie das Passwort erneut gehasht
Wenn sich ein Benutzer erfolgreich angemeldet hat (z.B. weil er sich an das Passwort erinnert hat), wird das Token aus der Datenbank entfernt, wodurch alle vorhandenen E-Mail-Links ungültig werden.
Die Funktion ist standardmäßig aktiviert und kann über die systemweite Konfigurationsoption vollständig deaktiviert werden:

$GLOBALS['TYPO3_CONF_VARS']['BE']['passwordReset']

Optional ist es möglich, diese Funktion nur auf Nicht-Administratoren zu beschränken, indem die folgende systemweite Option auf "false" gesetzt wird.

$GLOBALS['TYPO3_CONF_VARS']['BE']['passwordResetForAdmins']

Beide Optionen können im Modul Maintenance Area => Settings oder im Install Tool konfiguriert werden, können aber auch manuell über typo3conf/LocalConfiguration.php oder typo3conf/AdditionalConfiguration.php eingestellt werden.

Darüber hinaus ist es für Administratoren möglich, das Passwort eines Benutzers zurückzusetzen. Dies ist vor allem aus Sicherheitsgründen nützlich, damit ein Administrator einem Benutzer kein Passwort im Klartext (z.B. per E-Mail) schicken muss.

Der Administrator kann den CLI-Befehl verwenden:

./typo3/sysext/core/bin/typo3 backend:resetpassword https://www.example.com/typo3/ editor@example.com

wobei die URL zum Backend sowie die E-Mail-Adresse des Benutzers angegeben werden muss:

backend:resetpassword <backendurl> <email>

Alternativ ist es für Administratoren möglich, das Modul "Backend-Benutzer" zu verwenden und die Schaltfläche zum Zurücksetzen des Passworts zu wählen, um den Prozess des Zurücksetzens des Passworts für einen bestimmten Benutzer einzuleiten.

Beide Optionen sind nur für Benutzer verfügbar, die eine E-Mail-Adresse und ein Passwort gesetzt haben.

Backend-Benutzergruppen vergleichen

Integratoren sind nun in der Lage, einzelne Backend-Benutzergruppen zu vergleichen. Backend-Benutzergruppen werden verwendet, um Berechtigungen in kleinere Teile aufzuteilen, die später einem Backend-Benutzer zugewiesen werden können. Mit dieser Funktion ist es möglich, die definierten Berechtigungen einschließlich der von Untergruppen geerbten Berechtigungen zu vergleichen.

Site Settings als Konstanten im TypoScript und TSconfig

Vor TYPO3 v10.0 war es möglich, Informationen aus dem PageTSconfig in TypoScript-Konstanten mit TSFE.constants.const1 = a einzufügen.

Dies konnte verwendet werden, um z.B. die Konfiguration von record storagePids zu zentralisieren, die dann im Backend für Module oder für IRRE und für Frontend-Plugins verwendet werden konnten.

Diese alte Funktion wurde entfernt, da es empfohlen wurde, Site-Einstellungen einzubauen. Die entsprechende neue Funktion, die mit TYPO3 v10 hinzugefügt wurde, wurde jedoch in v10.1 wieder rückgängig gemacht.

Diese Neuimplementierung erlaubt es nun, Site-Einstellungen über config/sites/<site-name>/config.yaml zu definieren.

Die neu eingeführten Einstellungen innerhalb der config.yaml werden als TypoScript-Konstanten und Page TSconfig-Konstanten zur Verfügung gestellt.

Eine Beispielkonfiguration in der config/sites/<site-name>/config.yaml:

settings:
  categoryPid: 658
  styles:
    content:
      loginform:
        pid: 23

Dadurch werden diese Konstanten sowohl im TypoScript-Template als auch im PageTSconfig verfügbar:

  • {$categoryPid}
  • {$styles.content.loginform.pid}

Die neu eingeführten Konstanten für das PageTSconfig können genau wie Konstanten in TypoScript verwendet werden.

Im PageTSconfig können diese wie folgt verwendet werden:

# store tx_ext_data records on the given storage page by default (e.g. through IRRE)
TCAdefaults.tx_ext_data.pid = {$categoryPid}
# load category selection for plugin from out dedicated storage page
TCEFORM.tt_content.pi_flexform.ext_pi1.sDEF.categories.PAGE_TSCONFIG_ID = {$categoryPid}

 

Veraltete Funktionen und Änderungen für Entwickler/Programmierer

Es wurden auch eine Reihe von Funktionen als veraltet markiert (Deprecated), und es gibt eine Reihe von Änderungen, die vor allem für Entwickler und Programmierer interessant sind. Hier verweisen wir auf das ChangeLog.

Über Änderungen informiert bleiben

Es gibt mehrere Wege, über Änderungen während der Entwicklung von TYPO3 10 LTS auf dem laufenden zu bleiben. 

Eine Möglichkeit ist der Twitter-Account t3git_master, der automatisiert alle Änderungen am TYPO3-Code twittert, inklusive Link zu der entsprechenden Commit-Message auf Github, in der man dann Details zu der Änderung nachlesen kann.

Einfacher ist aber sicher die integrierte Upgrade-Dokumentation im Installtool von TYPO3. Hier kann man sich alle Änderungen inklusive Beschreibungen anzeigen lassen.

Aktualisiert: 21.04.2024