TYPO3-v11, Kind auf Dreirad mit Raketenantrieb

Auf in neue Galaxien – mit TYPO3 v11 LTS

Pünktlich zum 5. Oktober 2021 erscheint die neue TYPO3 Version 11.5 aka v11 LTS. LTS steht hier für Long Term Support. Das bedeutet, dass die Version 11.5 für die nächsten 3 Jahre kostenfrei mit Updates versorgt wird. Dieser Zeitraum kann gegen eine Gebühr auf insgesamt 6 Jahre verlängert werden.

Anderthalb Jahre wurde an dieser neuen LTS Version entwickelt. Unter der Haube ist wieder viel passiert. Grund genug, um einen Blick auf die neue Version zu werfen. Wir zeigen euch die spannenden neuen Features sowohl für Redakteure als auch für Entwickler.

Neue Features für Redakteure in TYPO3 v11

Die Verbesserung der Nutzererfahrung für TYPO3-Redakterue und Administratoren war ein wesentliches Ziel der TYPO3 v11. Demnach ist auch einiges passiert.

Bessere User Experience im Backend

Ins TYPO3-Backend sind einige Neuerungen eingeflossen, welche die Arbeit mit TYPO3 erleichtern. In der Dateiliste gab es die meisten Verbesserungen. So können die Metadaten von mehreren Dateien nun gleichzeitig bearbeitet werden. Die Checkboxen für die Mehrfachauswahl sind zudem immer sichtbar.

TYPO3 v11 Backend mit geöffneten Modul Dateiliste

Es lassen sich komfortabel Metadaten zu den Dateien ein- und ausblenden. So ist leicht ersichtlich, bei welchen Dateien die Metadaten wie alternative Texte bei Bildern oder Titel noch fehlen.

Des Weiteren können die markierten Dateien als Zip-Datei heruntergeladen, gelöscht oder verschoben werden.

Die meisten Änderungen in der Dateiliste betreffen ebenso das Listen-Modul im Backend. Dementsprechend lassen sich hier übersichtlicher als bisher die verschiedenen Spalten ein- und ausblenden.

Dialog zum Auswählen von Spalten im TYPO3 v11 Backend

Auch die Möglichkeit die Daten zu exportieren ist nun prominenter platziert. Beim Export können die Formate CSV und JSON gewählt werden.

Bisher war es möglich über eine Checkbox „erweiterte Ansicht“, mehr Aktions-Buttons in einer Zeile anzeigen zu lassen. Diese Checkbox wurde aber leicht übersehen und somit wurde sie entfernt.

Schlussendlich kann die Breite des Seitenbaums nun wieder flexibel mit der Maus geändert werden. Das ist gerade bei vielen Unterseiten oder langen Seitentiteln sehr nützlich.

Info Icon

Dieses Video wird über eine externe Plattform (YouTube) gehostet. Das Laden bedarf der Zustimmung unserer Datenschutzbestimmungen.

Einstellung vornehmen

Multi-Faktor-Authentisierung

TYPO3-Redakteure und Administratoren können je nach gewährten Rechten erheblichen Einfluss auf die Darstellung einer Webseite nehmen oder sogar sensible Daten einsehen. Der klassische Zugang via Nutzername und Passwort kann aus Sicherheitsaspekten je nach Anwendungsfall nicht ausreichend sein. Gut, dass es mit der TYPO3 v11 nun die Möglichkeit gibt, weitere Überprüfungen beim Login hinzuzufügen.

Das ganze nennt sich Multi-Faktor-Authentifizierung. TYPO3 hat hier eine sehr flexible Lösung geschaffen, sodass gleich mehrere Authentifizierungsmöglichkeiten kombiniert werden können und die Anzahl stetig erweitert werden kann.

Von Hause aus gibt es die Möglichkeit, sich einen temporären Zahlencode beim Login generieren zu lassen. Benötigt wird hierfür ein OTP-Applikation, wie z.B. Google Authenticator oder FreeOTP. OTP steht für One-Time-Pad, zu deutsch Einmalverschlüsselung.

TYPO3 v11 Anleitung zur Einrichtung der OTP-Authentifizierung im Backend

Der Nutzer installiert die OTP-Applikation auf ein Endgerät und richtet sie entsprechend der Angaben in den TYPO3-Benutzereinstellungen ein. Nun wird nach der Eingabe von Nutzername und Passwort der 6-stellige Zahlencode aus der App zusätzlich abgefragt. Eine simple und wirkungsvolle Methode. Mehr dazu in der TYPO3-Dokumentation.

TYPO3 v11 Login-Maske mit Eingabe des 6-stelligen Codes

Um weitere Authentifizierungsmöglichkeiten hinzuzufügen, muss die entsprechende Extension installiert werden. Derzeit stehen zur Auswahl:

Eine aktuelle Übersicht bietet das TYPO3 Extension Repository.

Neben der Multi-Faktor-Authentisierung wurde der Symfony Rate Limiter für Backend Logins eingeführt. Was zunächst technisch klingt, soll hier nur darauf Aufmerksam machen, dass auch der klassische Login mit Nutzername und Passwort weiter abgesichert wurde.

Backend-Links teilen

Wo kann ich die Seiteneigenschaften bearbeiten? Wie füge ich der Datei einen alternativen Titel hinzu? Manchmal wäre es einfacher hier nicht nur mit Screenshots zu arbeiten, sondern dem Redakteur direkt einen Link zu schicken, wo er die gewünschte Eingabemaske sieht. Die Anwendungsfälle sind vielfältig. Das Erzeugen und Teilen dieser Links im Backend ist jetzt möglich.

Neben der bereits bekannten Lesezeichen-Funktion, kann die URL der aktuellen Ansicht im Backend direkt kopiert und anschließend geteilt werden.

TYPO3 v11 Backend mit Aktionsfläche zum Kopieren des aktuellen Links zur Eingabemaske

Neuerungen für TYPO3-Entwickler

Extbase in TYPO3 v11

Die wesentliche Änderung ist hier, dass alle Controller-Methoden nun einen Rückgabewert vom Typ Psr\Http\Message\ResponseInterface benötigen. Somit sind die Methoden eher an die PSR-Standards angelehnt.

public function listAction(): ResponseInterface
{
    $items = $this->itemRepository->findAll();
    $this->view->assign('items', $items);

    return $this->htmlResponse();
}

Die Antwort lässt sich sehr flexibel gestalten. So sieht z.B. eine JSON-Rückgabe aus:

public function listApiAction(): ResponseInterface
{
    $items = $this->itemRepository->findAll();
    $this->view->assign('value', [
         'items' => $items
     ]);

    return $this->jsonResponse();
}

Weitere Informationen und Beispiele im ChangeLog.

Darüber hinaus wird die Dependency-Injection zunehmend über Symfony realisiert. Der ObjectManager ist deprecated. Aufrufe über ObjectManager->get() sollten vermieden werden.

Fluid

Fluid Widgets werden in der 11er Version nicht mehr unterstützt. Eine beliebte Funktion war die Paginierung. Als Alternative wurde die Paginierungs-API in TYPO3 v10 eingeführt.

TCA

Es gibt nun einen neuen Typ namens „Kategorie“. Wie der Name vermuten lässt, dient er zum vereinfachten Einrichten von Kategorien. Mehr dazu in der TCA Referenz.

$GLOBALS['TCA'][$myTable]['columns']['categories'] = [
   'config' => [
      'type' => 'category'
   ]
];

Neue Commands in TYPO3 v11

Es gibt nun zwei weitere Commands im TYPO3 Core: cache:flush und cache:warmup.

vendor/bin/typo3 cache:flush
vendor/bin/typo3 cache:warmup

Das erste Kommando konnte bisher nur über die Extension TYPO3 Console ausgeführt werden. Es empfiehlt sich hierfür einen Shortcut in PhpStorm anzulegen.

Das zweite Kommando kann gut in einen bestehenden Deployment-Prozess integriert werden. Somit werden die Caches bereits rudimentär aufgebaut, nachdem eine neue Version der Webseite / Applikation online geht.

Composer

TYPO3 geht weitere Schritte in Richtung Composer. So werden alle Extensions, die über Composer installiert werden automatisch geladen. Die PackageStates.php wird somit nicht mehr benötigt.

Die ext_emconf.php ist ebenfalls nicht mehr erforderlich. Eine valide composer.json ist die einzige Datei, welche eine TYPO3-Extension auf jeden Fall benötigt.

Update auf die TYPO3 v11 LTS

Systemvoraussetzung

Die TYPO3 v11.5 ist die erste TYPO3 LTS Version, welche mit PHP 8.0 betrieben werden kann. Das sorgt nochmal für einen ordentlichen Gewinn an Performance.

Hier eine Übersicht über die geläufigen Systemvoraussetzungen:

  • PHP 7.4+
  • Datenbanken (abhängig von Doctrine DBAL)
    • MySQL 5.7.2 oder höher (8.0 empfohlen)
    • PostgreSQL 9.4 oder höher (9.6+ empfohlen)
    • MariaDB 10.2.7 oder höher (10.4+ empfohlen)
    • SQL Server 2012 oder höher
    • SQLite 3 (gebündelt mit PHP)

Unterstützt werden alle gängigen Browser

  • Microsoft Edge (nur Chromium basiert)
  • Mozilla Firefox
  • Safari und Mobile Safari
  • Google Chrome und Chrome für Android

Alle Systemvoraussetzungen unter typo3.org.

Tools für Entwickler

Falls du selbst TYPO3-Entwickler bist, dann bist du eventuell schon mit den beiden Werkzeugen hier vertraut. Wir möchten Sie aufgrund ihrer Nützlichkeit trotzdem gerne erwähnen.

Einerseits bietet das Install-Tool verschiedene Funktionen, mit denen sich die Kompatibilität der aktuellen TYPO3-Instanz zur Version prüfen lässt. Ein besonderes Schmankerl ist hier der Extension-Scanner. Dieser durchsucht euren PHP-Code in den Extensions nach möglicherweise veralteten Code. Weitere Informationen findest du im Blog-Beitrag zur TYPO3 v10.

Modul Aktualisierung in TYPO3 v11

Andererseits gibt es Rector PHP, mit dem sich viel Code automatisiert aktualisieren lässt. Klingt spannend? Dann erfahre mehr in unserem Blog-Beitrag zu Rector PHP.

Darüber hinaus gibt es noch einige Tools zum Testen der aktualisierten Version. Dazu eignen sich u.a. BackstopJS, Blackfire.io, xDebug und Codeception. Diese sind nicht nur für Updates interessant, sondern kommen auch so im Entwicklungs-Alltag bei uns zum Einsatz.

Entwickler sollten außerdem nicht den Live-Stream zur Veröffentlichung der TYPO3 v11 LTS verpassen. Mehr dazu auf YouTube.

Info Icon

Dieses Video wird über eine externe Plattform (YouTube) gehostet. Das Laden bedarf der Zustimmung unserer Datenschutzbestimmungen.

Einstellung vornehmen

Du arbeitest als TYPO3-Entwickler? Super, werde schnell und unkompliziert Teil unseres Teams.

TYPO3 v9 ELTS – Extended Long Term Support

Der öffentliche Support der TYPO3 v9 LTS wurde am 30.9.2021 eingestellt. Für weitere 3 Jahre kann der Erweiterte Support je TYPO3-Instanz gebucht werden. Mehr Informationen dazu unter typo3.com.

TYPO3 Entwicklungsplan vom 5.10.2021

Quelle: https://typo3.org/cms/roadmap

Sie wollen die TYPO3 Version 11?

Dann scheuen Sie sich nicht und nehmen mit uns Kontakt auf. Mit unserer langjährigen Expertise und mehreren zertifizierten Entwickler*innen stehen wir Ihnen gerne zur Seite.

Ansonsten teilen Sie uns Ihre Erfahrungen mit der TYPO3 v11 gerne in den Kommentaren mit.

Zu guter letzt noch ein großes Dankeschön an alle Entwickler und Personen, die zur Erstellung der neuen TYPO3 v11 LTS beigetragen haben.

Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.