Zum Inhalt springen

TYPO3 9 LTS

TYPO3 9 LTS wurde am 2. Oktober 2018 veröffentlicht. Auf dieser Seite gibt es Informationen zu den Neuerungen

Am 2. Oktober 2018 wurde TYPO3-Version 9 LTS mit der Versionsnummer 9.5.0 veröffentlicht. Auf dieser Seite informieren wir über die neuen Features und Änderungen gegenüber den früheren Versionen.

Aktuell: in den Versionen 9.5.0 und 9.5.1 gibt es noch eine Reihe von Fehlern, die Probleme in einigen Installationen verursachen. Wir hoffen, dass diese mit Erscheinen der Version 9.5.2 behoben werden, so dass wir TYPO3 9.5 unbeschränkt für den produktiven Einsatz empfehlen können. 

TYPO3 Version 9 Roadmap

Roadmap

Version Schwerpunkt der Entwicklung Erscheinungsdatum
9.0 Mehrsprachigkeit, Refactoring Install Tool und Seitenbaum 12. Dez.2017
9.1 Redirect Handling 30. Jan. 2018
9.2 Site Handling 10. Apr. 2018
9.3 SEO und Vorbereitungen für URL Routing für Seiten (Ersatz für RealURL) 12. Jun 2018
9.4 URL Routing für Seiten und SEO-Verbesserungen 04. Sep. 2018
9.5 Freigabe der Version 9 LTS 02. Okt. 2018

Version 9.5.0 (LTS Release, 02.10.2018)

Die LTS-Version 9.5.0 wurde am 2. Oktober 2018 veröffentlicht. Einige der wichtigsten Neuerungen zählen wir hier auf.

Static Routes

Das Site-Konfigurationsmodul verfügt nun über Optionen, um statische Routen für jede Website hinzuzufügen.

Beispiel 1: In einer Installation mit mehreren Websites (Multidomain) möchten Sie verschiedene robots.txt-Dateien für jede Site haben, diese sollen bei jeder Domain über /robots.txt erreichbar sein. Sie können nun eine statische Route "robots.txt" zu Ihrer Website hinzufügen und definieren, welche Inhalte geliefert werden sollen.

Beispiel 2: Die TYPO3 SEO Extension bietet eine Sitemap für TYPO3 out of the box, ist aber nur für einen bestimmten Seitentyp erreichbar.
Um den Zugriff zu erleichtern, können Sie nun eine statische Route "sitemap.xml" konfigurieren, die auf diesen Seitentyp abgebildet wird.

Routen können als Toplevel-Dateien konfiguriert werden (wie im Fall "sitemap.xml" und "robots.txt"), können aber auch zu tieferen Ebenen führen (z.B. "my/deep/path/to/a/static/text").

Site-Konfiguration per TypoScript auswerten

Die Paramter der Site-Konfiguration können per TypoScript getText ausgelesen werden.

Beispiel:

page.10 = TEXT
page.10.data = site:base
page.10.wrap = This is your base URL: |

In der config.yaml der Site-Konfiguration lassen sich auch benutzerdefinierte Werte anlegen. So kann man beliebige Werte pro Site speichern und im TypoScript nutzen.

Route Enhancers und Aspects

TYPO3 9 kann ohne zusätzliche Extensions out-of-the-box lesbare und suchmaschinenfreundliche URLs generieren. Das funktioniert jetzt auch für Extensions wie z.B. news oder andere Extbase-Extensions.

Da die Dokumentation zu diesem Feature sehr umfangreich ist, verweisen wir hier auf die offizielle Dokumentation.

Varianten für den Einstiegspunkt einer Website

Der Einstiegspuntkt (Entry Point) einer Website entspricht ungefähr dem, was bisher der Domain Record im Backend war. Über die Varianten kann man auf verschiedene Parameter reagieren.

Beispiel: die Live-Seite nutzt die Domain domain.de, die Test-/Staging-Domain aber staging.domain.de.

Hier kann man dann z.B. über den Application Context die passende Variante "aktivieren". (Dokumentation)

Automatisch generiertes Canonical-Tag

Sofern die neue System-Extension "seo" aktiv ist, wird automatisch ein Canonical-Tag im HTML-Quelltext erzeugt.

Bei Bedarf kann die URL dafür in den Seiteneigenschaften pro Sprache manuell überschrieben werden.

Achtung: bei Verwendung von weiteren SEO-Extensions, die ebenfalls ein Canonical-Tag erzeugen, sollte man sicherstellen, dass das Tag nur einmal im Quelltext generiert wird.

Mitgelieferte .htaccess/web.config Dateien in anderem Verzeichnis

TYPO3 liefert fertige Konfigurationsdateien für die Webserver Apache (_.htaccess) und IIS (_web.confg) mit, die bei der Installation automatisch erzeugt werden.

Benötigt man diese Vorlagen jedoch trotzdem einmal, findet man Sie jetzt in anderen Verzeichnissen:

  • typo3/sysext/install/Resources/Private/FolderStructureTemplateFiles/root-htaccess (Apache)
  • typo3/sysext/install/Resources/Private/FolderStructureTemplateFiles/root-web-config (IIS)

utf8mb4 als Standard für neue Installationen

Wenn Sie TYPO3 manuell installieren und die MySQL-Datenbank über das Installtool erstellen, wird "utf8mb4" als Charset und "utf8mb4_unicode_ci" als Kollation verwendet.

Bei Upgrades können Sie dieses Features manuell in der LocalConfiguration.php aktivieren, müssen aber auch dafür sorgen, dass die MySQL-Datenbank entsprechend angepasst wird. Dies geschieht nicht automatisch.

Beispiel für die LocalConfiguration.php (Ausschnitt):

'DB' => [
       'Connections' => [
           'Default' => [
               'driver' => 'mysqli',
               ...
               'charset' => 'utf8mb4',
               'tableoptions' => [
                    'charset' => 'utf8mb4',
                    'collate' => 'utf8mb4_unicode_ci',
               ],
           ],
       ],
   ],

 

Verzeichnis für Sprach-Dateien geändert

Heruntergeladene XLF-Sprachdateien werden normalerweise im Verzeichnis "typo3conf/l10n" gespeichert.

Wenn die Umgebungsvariable "TYPO3_PATH_ROOT" gesetzt ist, die für alle Composer-basierten Installationen gilt, werden die XLF-Sprachdateien
außerhalb des Document Roots im Verzeichnis "var/labels/" abgelegt.

Alte TypoScript Condition-Syntax "deprecated"

In TYPO3 9 wird die "Symfony Expression Language" für TypoScript-Conditions verwendet.  Im Zuge dessen wurde die bisherige Syntax als "veraltet" gekennzeichnet. Man kann in TYPO3 9 zwar noch die alte Syntax nutzen, mit TYPO3 10 wird das aber nicht mehr möglich sein.

Man sollte also bereits jetzt alle TypoScript-Conditions auf die neue Syntax umstellen.

Weitere Änderungen im ChangeLog

Wir haben hier nur einen Bruchteil aller Änderungen aufgeführt. Viele Funktionen wurde in dieser Version auch als veraltet eingestuft und werden mit der nächsten TYPO3-Version dann auch aus dem System entfernt.

Wir empfehlen daher unbedingt das Studium aller Änderungen im "TYPO3 CMS Core ChangeLog".

Version 9.4.0 (Sprint Release 04.09.2018)

Version 9.4.0 wurde am 04.09.2018 veröffentlicht. Die größte Neuerung in diesem Release war die Möglichkeit, lesbare, suchmaschinenfreundliche URLs "out of the box" zu generieren. In Zukunft werden also Extensions wie z.B. RealURL oder CoolURI wahrscheinlich nicht mehr nötig sein.

Im folgenden Video zeigen wir ein paar der auffälligsten Neuerungen dieser Version.

Admin-Panel

Das Admin-Panel wurde komplett überarbeitet, nicht nur das Design, sondern auch der Code.

Es wird nun unten rechts im Frontend von TYPO3 angezeigt. Der Schalter auf der rechten Seite ermöglicht es, den Adminbereich zu aktivieren und zu deaktivieren. 

Extension "Documentation" entfernt

Über die System-Extension "Documentation" war es möglich, Core- oder Extension-Dokumentationen direkt in das Backend zu laden und dort zu lesen.

Da diese Extension von der Mehrheit der Anwender nicht wirklich genutzt wurde und einen erheblichen Wartungsaufwand erforderte, wurde sie ersatzlos gestrichen. Alle Dokumentationen findet man nach wie vor auf docs.typo3.org.

Seitenbasierte URL-Generierung

Out-of-the-box werden URLs für Seiten nun automatisch als lesbare, suchmaschinenfreundliche URLs generiert. Damit sollen in Zukunft Extensions wie RealURL oder CoolURI unnötig werden.

Momentan funktioniert das nur für normale Seiten, in Zukunft sollen aber auch die URLs für Extensions wie z.B. news darüber generiert werden.

Damit das funktioniert, ist es notwendig, über das neue "Sites"-Backendmodul eine Konfiguration für die Website anzulegen.

Unterstützung von SQLite

TYPO3 kann nun mit SQLite als Alternative zu MySQL installiert werden. SQLite ist eine dateibasierte, leichtgewichtige SQL-Datenbank.

Die TYPO3-Datenbank wird dabei in einer einzelnen Datei gespeichert. Das macht unter Umständen Sinn für kleine Webseiten oder für Test- und Entwicklungsumgebungen.

XML Sitemap

Es ist nun möglich, XML-Sitemaps für SEO-Zwecke ohne Plugins von Drittanbietern zu generieren.

Wenn diese neue Funktion aktiviert ist, wird ein Sitemap-Index mit einer oder mehreren Sitemaps erstellt. Out fo the box wird eine Sitemap mit allen Seiten der aktuellen Website und Sprache generiert.

Pro Seite und pro Sprache kann eine andere Sitemap gerendert werden.

Um die Sitemap zu aktivieren, muss das statische TypoScript-Template "XML Sitemap (seo)" eingebunden werden.

Außerdem ist es notwendig, über das Sites-Backendmodul eine Site zu konfigurieren.

Anschließend kann die Sitemap über einen eigenen Page-Type aufgerufen werden, zum Beispiel https://name-der-domain.de/?type=1533906435

Die Sitemap kann auch für Datensätze, zum Beispiel aus der news-Extension, erweitert werden. Eine Beispielkonfiguration findet man in der entsprechenden Upgrade-Dokumentation (im Backendmodul nach "sitemap" suchen).

Weitere Änderungen

Es gibt noch viele weitere Änderungen, die für Integratoren und Entwickler relevant sind. Eine detaillierte Auflistung aller Änderungen findet sich im Backend-Modul "Upgrade" hinter dem Button "Upgrade Documentation".

Außerdem zeigen die "What's news"-Slides übersichtlich und mit Code-Beispielen alle relevanten Änderungen.

Version 9.3.0 (Sprint-Release 12.06.2018)

Der Version TYPO3 9.3.0 wurde am 12.06.2018 veröffentlicht.

Der Fokus dieses Sprint-Releases lag auf neuen integrierten SEO-Features, Verbesserungen bezüglich der DSGVO (GDPR) und allgemein auf erhöhter Sicherheit. 

Ein paar der neuen Features stellen wir hier vor, detaillierte Informationen sind in der <link https: typo3.org article typo3-v930-released>Pressemitteilung zu finden.

Neue Features

SEO-Felder in den Seiteneigenschaften und Ausgabe der Meta-Tags

In den Seiteneigenschaften gibt es einen neuen Reiter "SEO". Hier lässt sich zum Beispiel der Browser-Titel unabhängig vom Seitentitel verändern, das robots-Meta-Tag kann eingestellt werden (index, follow) und es lassen sich für Facebook und Twitter unabhängige Titel, Bilder und Beschreibungen hinterlegen.

Diese zusätzlichen Meta-Tags werden auch direkt in den HTML-Quelltext des Frontends ausgegeben.

Automatische Erkennung der Sprachen für das Language-HMENU

Über die Eigenschaft special = language des HMENU-cObjects kann man schon seit langem ein Sprachumschalt-Menü generieren.

Bisher musste man die IDs der anzuzeigenden Sprachen direkt in der value-Eigenschaft hinterlegen.

Die neue Option "auto" übernimmt die Sprachen, die im neuen Backend-Modul "Site Configuration" für die jeweilige Site erzeugt wurden.

Beispiel:

10 = HMENU
10 {
   special = language
   special.value = auto
}

 

Neue TypoScript-Conditions für Site und Site Language

Es wurden zwei neue TypoScript-Conditions hinzugefügt, die auf die neue Site Configuration reagieren können.

Condition auf den Site-Identifier:

[site = identifier = someIdentifier, base = https://www.typo3.org/]
  page.30.value = fo
[global]

Condition auf die Site-Sprache:

[siteLanguage = locale = de_CH.UTF-8, title = Switzerland]
  page.40.value = bar
[global]

 

Fluid Data-Processor für Sprachmenüs

Sprachmenüs können über den neuen LanguageMenuProcessor mit Fluidtemplates erzeugt werden, basierend auf den für die Website definierten Sprachen.

10 = TYPO3\CMS\Frontend\DataProcessing\LanguageMenuProcessor
10 {
  languages = auto
  as = languageNavigation
}

 

<f:if condition="{languageNavigation}">
  <ul id="language" class="language-menu">
    <f:for each="{languageNavigation}" as="item">
      <li class="{f:if(condition: item.active, then: 'active')}{f:if(condition: item.available, else: ' text-muted')}">
        <f:if condition="{item.available}">
          <f:then>
            <a href="{item.link}" hreflang="{item.hreflang}" title="{item.navigationTitle}">
              <span>{item.navigationTitle}</span>
            </a>
          </f:then>
          <f:else>
            <span>{item.navigationTitle}</span>
          </f:else>
        </f:if>
      </li>
    </f:for>
  </ul>
</f:if>

 

Durchsuchbare Meta-Daten in der Dateiverwaltung

Die Suche in der Dateiverwaltung durchsucht jetzt auch zusätzlich die Felder "description" und "alternative".

Bildrotation aus EXIF-Daten auswerten

Sofern in den EXIF-Daten hochgeladener Fotos die Bildorientierung gespeichert ist, wird diese jetzt berücksichtigt und die Bilder entsprechend rotiert.

Wichtige Änderungen

Der Aufruf von Core-TypoScript mit der Dateiendung .txt wird verworfen

Die Dateiendungen aller Core-TypoScript und -TSconfig-Dateien wurden geändert.

TypoScript => .typoscript
TSconfig => .tsconfig

Wenn man also im eigenen TypoScript Core-Dateien einbindent, müssen die Endungen entsprechend angepasst werden.

Beispiel:

<INCLUDE_TYPOSCRIPT: source="FILE:EXT:form/Configuration/TypoScript/setup.txt">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/constants.txt">

muss geändert werden zu:

<INCLUDE_TYPOSCRIPT: source="FILE:EXT:form/Configuration/TypoScript/setup.typoscript">
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluid_styled_content/Configuration/TypoScript/constants.typoscript">

youtube-nocookie.com als Standard-Domain für Youtube-Videos

Bei der Einbindung von Youtube-Videos über das "Text & Medien"-Contentelement wird jetzt standardmäßig die Domain youtube-nocookie.com verwendet. Diese Änderung ist eine Anpassung an die Erfordernisse der DSGVO.

Soll die bisherige Domain youtube.com verwendet werden, muss dies allerdings aktiv konfiguriert werden:

lib.contentElement {
  settings {
    media {
      additionalConfig {
        no-cookie = 0
      }
    }
  }
}

 

Weitere Änderungen

Eine komplette Liste der Änderungen findet sich im <link https: docs.typo3.org typo3cms extensions core latest changelog index.html>ChangeLog zur Version 9.3.0.

Version 9.2.0 (Sprint-Release 10.04.2018)

Der Version TYPO3 9.2.0 wurde am 10.04.2018 veröffentlicht.

Die Sprint-Version konzentriert sich auf das sogeannte "Site Handling" und wird die Produktivität der Redakteure erhöhen, die Kreativität der Entwickler fördern und das Leben der Integratoren erleichtern.

Site Handling

Die bemerkenswerteste Neuerung in TYPO3 Version 9.2 ist die Site Handling Funktionalität. Das bereits in Version 9.1 eingeführte Site Management Modul im Backend von TYPO3 enthält nun ein neues Submodul "Konfiguration".

So können Integratoren und Site-Administratoren eine globale Konfiguration für eine oder mehrere Websites hinzufügen und ändern.

Eine Website-Konfiguration hat eine eindeutige (von Menschen lesbare) Kennung und Konfigurationswerte wie die Root-Page-ID, den Basispfad (Einstiegspunkt), Sprachdefinitionen usw.

Durch die Speicherung der Einstellungen in einer YAML-Datei unter "typo3conf/sites/site-identifier/" ist es einfach, die Konfiguration in einem Versionskontrollsystem wie z.B. Git zu pflegen.

Die Site Handling Funktionalität unterstützt bereits Konfigurationen wie Domains, Sprachen, Fehlerbehandlung und wird bis zum Release v9 LTS im Laufe dieses Jahres weiter ausgebaut. 

Debugging und Profiling

Das bekannte "TYPO3 Admin Panel" bietet einen tieferen Einblick in die internen Prozesse von TYPO3 zur Laufzeit. Einmal aktiviert, können TYPO3-Integratoren und Site-Administratoren auf Performance- und Cache-Statistiken, Einstellungen einer bestimmten Seite usw. zugreifen. Sie können auch bestimmte Frontend-Zugriffssituationen simulieren. Es ist z.B. möglich, eine bestimmte Benutzergruppe nachzuahmen oder einen Zeitstempel zu simulieren, der einen Einfluss darauf haben kann, was im Frontend angezeigt wird. 

Dieses Feature wurde nicht aus TYPO3 entfernt, aber das Admin-Panel wird wieder auf den neuesten Stand der Technik gebracht. Im ersten Schritt wurde es aus dem Kern in eine dedizierte Systemerweiterung verschoben, die es Integratoren ermöglicht, die Funktion bei Bedarf einfach zu aktivieren und zu deaktivieren. Dieser Schritt bildet auch die Grundlage für weitere Verbesserungen wie ein modernes Re-Design und weitere neue Funktionen. Bessere Profiling-Möglichkeiten und die Möglichkeit, eigene Funktionen über eine API hinzuzufügen, sind nur zwei der geplanten Verbesserungen.

Bitte beachten Sie, dass das (neue) Admin Panel im Extension Manager aktiviert werden muss, sobald Sie eine bestehende TYPO3-Instanz auf Version 9.2 aktualisiert haben.

Eine weitere Neuerung für TYPO3-Integratoren und Entwickler ist die Tatsache, dass die Werte von Feldern im Backend angezeigt werden. Die Bezeichnungen von Dropdown-Box-Elementen stellen oft nicht eindeutig die Werte dar, die in die Datenbank geschrieben werden. Ein gutes Beispiel sind CSS-Klassennamen: Wenn Editoren aus einer Liste von Optionen in einer Dropdown-Box wählen können, könnten die Bezeichnungen "Lineal vorher" oder "Einrücken, 33%/66%" sein. Das sind natürlich nicht die Werte, die in der Datenbank gespeichert werden, sondern "ruler-before" oder "indent-left".

Wenn der Backend-Debug-Modus aktiviert ist ([BE][debug] = 1), werden die tatsächlichen Werte von Feldern in eckigen Klammern für Backend-Benutzer mit Administratorrechten angezeigt. Damit wird die kürzlich eingeführte Möglichkeit der Anzeige von Feldnamen noch weiter verbessert

TBD: SCREENSHOTS

Mail-Warteschlange

Das SwiftMailer-Projekt bietet eine ausgefeilte PHP-Bibliothek, die den De-facto-Standard für das Erstellen und Versenden von RFC-konformen E-Mails in PHP mit einer Vielzahl von Funktionen darstellt. SwiftMailer ist seit Version 4.5 in TYPO3 integriert.

Mit TYPO3 Version 9.2 ist es nun möglich, die Queue-Funktionalität von SwiftMailer - auch "Spool-Transport" genannt - zu nutzen. In den meisten Fällen wollen Entwickler E-Mails sofort versenden, aber unter bestimmten Umständen ist das "Spoolen" von E-Mails und deren spätere Verarbeitung, z.B. aus Performancegründen, vorteilhaft. Die Mail-API von TYPO3 Version 9.2 unterstützt nun die "SpoolTransport"-Funktionalität von SwiftMailer.

Mails können im Speicher gehalten (und nur dann gesendet werden, wenn der HTTP-Request keine Ausnahme oder Fehler verursacht hat) oder in Dateien gespeichert werden. In letzterem Fall kann der Versand von gespoolten E-Mails durch einen Kommandozeilenaufruf oder durch einen Scheduler-Task ausgelöst werden. In beiden Fällen kann die Anzahl der zu verarbeitenden E-Mails sowie die maximale Zeit begrenzt werden.

Verbesserungen für Redakteure

Zwei Neuerungen in TYPO3 9.2 gibt es speziell für die Zielgruppe der Redakteure.

Ein Inhaltselement auf einer Seite kann oft als Vorlage für andere, sehr ähnliche Elemente verwendet werden. Dies kann z.B. ein Text/Bild sein, bei dem die meisten der einzelnen Einstellungen, z.B. Überschrift, Aussehen, Zugriffsbeschränkungen, etc. exakt gleich sein sollten oder nur geringfügige Anpassungen erfordern. In diesen Fällen ist es sinnvoll, das vorhandene Element zu klonen, was bereits mit "WEB → List" und Kopieren/Einfügen-Funktionen möglich war. Dieser Prozess erfordert jedoch eine Reihe von Schritten und Klicks.

Eine neue Schaltfläche "Duplizieren" wurde hinzugefügt, die beim Hinzufügen oder Bearbeiten eines Inhaltselements im Backend erscheint. Mit einem Klick können Backend-Benutzer ein Inhaltselement klonen, was den Prozess erheblich vereinfacht.

Die zweite Verbesserung wirkt sich direkt auf die Backend-Benutzeroberfläche (UI) aus und betrifft sowohl Redakteure als auch Entwickler und Designer. In TYPO3 Version 9.2 wurde eine Reihe von sogenannten "Kippschaltern" eingeführt, die nicht nur gut aussehen, sondern auch ein nützliches Werkzeug sind, um Backend-Anwendern das Umschalten zwischen zwei Zuständen zu erleichtern.

Version 9.1.0 (Sprint Release 30.01.2018)

Version 9.1.0 wurde am 30.01.2018 als weiteres Sprint-Release veröffentlicht.

Diese Version enthält mehr als 70 Fehlerbehebungen, fast 100 fertiggestellte Entwicklungs-Tasks und einige neue Features.

Hier finden Sie ein paar der Neurungen und Änderungen.

Neue Features

Seitenbaum-Übersicht im Info-Modul: Felder per TSconfig konfigurierbar

Per PageTSconfig kann man sowohl die angezeigten Felder anpassen als auch neue, eigene Einträge in die Select-Box hinzufügen.

mod.web_info.fieldDefinitions {
    0 {
        label = LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:pages_0
        fields = title,uid,alias,starttime,endtime,fe_group,target,url,shortcut,shortcut_mode
    }
    1 {
        label = LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:pages_1
        fields = title,uid,###ALL_TABLES###
    }
    2 {
        label = LLL:EXT:info/Resources/Private/Language/locallang_webinfo.xlf:pages_2
        fields = title,uid,table_tt_content,table_fe_users
    }
}

 

Feldname neben Titel anzeigen im Debug-Modus

Wenn der Debug-Modus aktiv und man als Administrator im Backend angemeldet ist, wird neben jedem Eingabefeld der Name des Feldes in der Datenbank angezeigt. Bisher war dazu entweder ein Blick in den HTML-Quelltext des Backends oder direkt in die Datenbank notwendig.

Gerade für Integratoren und Entwickler ist dies ein sehr praktisches Feature!

Hooks ausführen sobald sich ein Backend-Benutzer anmeldet

Sobald sich ein Benutzer erfolgreich am Backend anmeldet, können zuvor registrierte Hooks ausgeführt werden. Zum Beispiel könnten Benachrichtigungen oder ähnliches angezeigt werden.

Codebeispiele sind im Changelog zu finden.

Neue System-Extension "redirects"

Die neue System-Extension "redirects" bietet eine flexible Handhabung der HTTP-Umleitungen. Dies ist sowohl für Administratoren als auch für das Marketing nützlich.

Im neuen Backend-Hauptmodule "Site Management" findet man das neue Modul "Redirects". Hier lassen sich Umleitungen anlegen und verwalten.

Nützlich kann das z.B. sein, wenn sich die URL einer Website geändert hat (z.B. durch Umstruktierung des Contents oder einen Relaunch) oder kurze, prägnante URLs für Werbekampagnen/Landingpages generiert werden sollen.

Global kann optional eine "Hit"-Statistik für die Redirects aktiviert werden, also wie oft die Redirects angesprungen werden. Normalerweise verwendet man dazu allerdings eher Tools wie Google Analytics oder Matomo (Piwik). Beachten sollte man auch, das jeder Hit ein zusätzliches UDATE-SQL-Query auslöst. Auf gut besuchten Seiten könnte das ein Performance-Problem werden!

Aktiviert werden kann die Statistik über die folgende Einstellung:

'SYS' => [
        'features' => [
                'redirects.hitCount' => true
        ],
],

 

Breaking Changes

Redirect-Funktionalität aus dem Domain-Record in das neue Redirects-Modul verschobe

Bisher konnte man in einem Domain-Record (Datenbanktabelle sys_domain) einen Redirect definieren. Diese Funktionalität wurde in das neue Redirects-Modul verlagert, die Daten werden in der neuen Datenbank-Tabelle sys_redirect gespeichert.

Bei einem Upgrade auf TYPO3 9.1 wird ein Upgrade-Wizard für die Datenmigration ausgeführt.

Deprecations

System-Extension rsaauth

Die Extension rsaauth wurde das "deprecated" markiert. Grund war der mangelhafte Effekt dieser Extension auf die Sicherheit der Website. Denn nur die Übermittlung des Passworts wurde dabei verschlüsselt.

Es wird ganz klar empfohlen, alle Seiten, die sensible Daten, vor allem Passwörter, übermitteln, mit einem SSL-Zertifikat zu schützen, damit sämtliche Daten verschlüsselt übertragen werden.

T3D-Export/Import (Ext:impexp)

Folgende Parameter wurden entfernt:

  • Maximale Anzahl zu exportierender Datensätze
  • Maximale Dateigröße zu exportierender Dateien
  • Überprüfung der Dateigröße während des Importvorgangs

Weitere Details finden sich wie immer im Changelog sowie der offiziellen Pressemitteilung.

Version 9.0 (Sprint Release 12.12.2017)

Diese Version der erste offizielle Sprint-Release. Wir stellen hier die interessantesten neuen Features vor.

Wichtig: kurzfristig wurden die Systemanforderungen für TYPO3 9 angehoben. TYPO3 9 benötigt momentan zwingend PHP 7.2.

Neuer Systemwartungs-Bereich

Auffällig sind einige neue Backend-Module im Bereich der "Admin-Tools". Folgende Module sind hinzugekommen:

  • Maintenance
  • Settings
  • Upgrade
  • Environment

Dabei handelt es sich um die Bereiche, die bisher im Installtool zu finden waren. Das Installtool wird mit TYPO3 9 besser in das Backend integriert sein. Auch das Design wurde an das Backend angepasst.

Wenn man als Administrator im Backend angemeldet ist, ist ein weiterer Login am Installtool übrigens nicht mehr notwendig.

In den einzelnen Modulen findet man die größtenteils schon bekannten Unterpunkte wie z.B. den Database Analyzer oder die Upgrade Wizards.

An der Usability wurde ebenfalls gearbeitet, wo bisher viele Klicks notwendig waren, um zum Beispiel die Tests zur Grafikverarbeitung auszuführen, ist jetzt nur noch ein Klick notwendig, um alle Tests zu starten.

Neu hinzugekommen ist z.B. der Extension Scanner, der alle installierten Extensions auf veraltete Funktionsaufrufe überprüft und somit eine wertvolle Hilfe bei Upgrades oder der Entwicklung eigener Extensions sein kann.

Ebenfalls neu ist die Möglichkeit, einzelne Admin-User als sogenannte "System Maintainer" festzulegen. Sofern man hier mindestens einen Admin-User festlegt, haben nur noch die Mitglieder dieser Gruppe vollständingen Zugriff auf die Bereiche des Install-Tools.
Somit ist eine Unterteilung zwischen Administratoren und Super-Administratoren möglich, ein Konzept, dass man auch schon aus anderen Systemen kennt.

Natürlich ist auch weiterhin der direkte Zugriff auf das Installtool möglich, falls ein Zugriff auf das Backend nicht mehr möglich ist. Hier muss man sich dann, wie bisher auch, mit dem Installtool-Passwort anmelden sowie dafür sorgen, dass im Verzeichnis typo3conf/ die Datei ENABLE_INSTALL_TOOL existiert.

Neue Features

Neue Sortiermöglichkeiten bei Dateilinks

Beim Inhaltselemente Dateilinks ist jetzt die Sortierung nach Erstellungs- oder Veränderungsdatum von Dateien möglich.

Außerdem kann man die Ausgabe in auf- oder absteigender Reihenfolge sortieren lassen.

Anzeige ungenutzter Inhaltselemente

Wechselte man auf einer Seite mit vorhandenen Inhalten das Backend-Layout, konnte es vorkommen, dass Inhalte scheinbar danach nicht mehr vorhanden waren. Das lag daran, dass in dem neuen Backend-Layout ein Inhaltsbereich mit der gleichen Spalten-ID (colPos) nicht vorhanden war.

Natürlich konnten diese scheinbar verschwundenen Inhalte jederzeit über die Listen-Ansicht wieder manuell in die richtige "Spalte" verschoben werden.

In TYPO3 9 wird es eine neue Ansicht für die ungenutzten Elemente (unused elements) geben. Sobald ein Inhaltselement mit einer falschen Spaltenzuordnung entdeckt wird, erhält der Benutzer sowohl einen Text-Hinweis, wie auch die Möglichkeit, die falsch zugeordneten Elemente einfach per Drag'n Drop in die richtige Spalte zu verschieben.

Größe der Thumbnails in der Dateiliste konfigurierbar

Im Dateilistenmodul kann man sich kleine Vorschaugrafiken (Thumbnails) von Bildern oder PDF-Dokumenten anzeigen lassen.

Diese Thumbnails wirken besonders heutzutage auf großen Monitoren recht klein, auch Benutzer mit einer Sehschwäche tun sich eventuell schwer, die kleinen Bilder zu erkennen.

Mit zwei neuen Optionen im UserTSConfig lassen sich die Breite und/oder Höhe der Thumbnails beliebig anpassen.

## Größe der Thumbnails in der Dateiliste
options.file_list.thumbnail.width = 256
options.file_list.thumbnail.height = 256

Buttons für den Übersetzungsmodus deaktivierbar

Seit TYPO3 8.7 hat man beim Anlegen von Übersetzungen für Inhaltselemente die Wahl, ob man eine Übersetzung anlegen möchte (mit dem Original verknüpft), oder eine Kopie für die Übersetzung anlegen möchte (vom Original unabhängig).

In TYPO3 9 kann man bei Bedarf diese Buttons per Page- oder UserTSConfig deaktivieren, wenn man nur einen Modus zulassen möchte.

Die folgenden Optionen würden nur den Kopieren-Modus zulassen:

## Buttons für Übersetzungen deaktivieren
mod.web_layout.localization.enableCopy = 1
mod.web_layout.localization.enableTranslate = 0

 

Assistent für neue Inhaltselemente als Popup

Wenn man im Seitenmodul ein neues Inhaltselement anlegen möchte, wird der Assistent dafür als Popup-Fenster geöffnet.

Eine Neuerung, die das Arbeiten im Backend flüssiger macht und moderner wirkt.

Überarbeitetes Anzeigen-Backendmodul

Das Backendmodul "View" (Anzeigen) wurde überarbeitet. Es stehen neue Geräte-Presets zur Verfügung, sowie ein Button, um zwischen Hoch- und Querformatsansicht umzuschalten. Natürlich lässt sich die Größe des Viewports auch weiterhin manuell einstellen.

Eigene Presets lassen sich per TSConfig hinzufügen.

Confirmation-Finisher für die Form-Extension

Der Confirmation-Finisher, mit dem nach dem Senden eines Formulars eine Nachricht angezeigt werden kann, ist jetzt direkt im Form-Editor auswähl- und konfigurierbar. Es kann eine einfache Textzeile oder ein (auf einer anderen Seite abgelegtes) Inhaltselement angezeigt werden.

Bisher konnte dieser Finisher nicht direkt im Backend ausgewählt, sondern musste per YAML konfiguriert werden.

CSS inline rendern

Mittels eines neuen Parameters im TypoScript kann man CSS "inline" rendern lassen. Das bedeutet, dass CSS wird nicht als separate Datei geladen, sondern direkt in den durch TYPO3 erzeugten HTML-Quellcode eingefügt. Für die Performanceoptimierung einer Website kann dies sehr interessant sein, vor allem in Verbindung mit compressCss und concatenateCss

Beispiel:

config.compressCss = 1
config.concatenateCss = 1

page.includeCSS {
  normalize = EXT:mysitepackage/Resources/Public/Css/normalize.css
  normalize.inline = 1
}

 

Neue Syntax für TypoScript Inkludes

Die Syntax zur Einbindung von TypoScript-Dateien wurde vereinfacht und an andere (Programmier)Sprachen angepasst.

Bisher konnte TypoScript so inkludiert werden:

## einzelne Datei inkludieren
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:mysitepackage/Configuration/TypoScript/Modules/my_settings.typoscript">
  
## Alle Dateien mit der Dateiendung .ts aus einem Verzeichnis inkludieren
<INCLUDE_TYPOSCRIPT: source="DIR:EXT:mysitepackage/Configuration/TypoScript/Modules/" extension="typoscript">  

 

Die neue Syntax ist sehr viel einfacher zu merken und flexibler:

## Einzelnde Datei inkludieren
@import 'EXT:mysitepackage/Configuration/TypoScript/randomfile.typoscript'
  
## Alle Dateien mit der Dateiendung .typoscript aus einem Verzeichnis laden
## Sortierung erfolgt alphabetisch nach Dateiname
@import 'EXT:mysitepackage/Configuration/TypoScript/*.typoscript'
  
## Alle Dateien eines Verzeichnisses laden, unabhängig von der Dateiendung
@import 'EXT:mysitepackage/Configuration/TypoScript/'

 

Wichtige Änderungen

css_styled_content aus dem Core entfernt

Die bisherige System-Extension css_styled_content wird bei einem frischen TYPO3 9 nicht mehr mit an Bord sein. fluid_styled_content ist der direkte Ersatz dafür. Allerdings wird css_styled_content in das TYPO3 Extension Repository (TER) ausgelagert werden und kann bei Bedarf manuell oder während des Upgrades nachinstalliert werden.

JSMENU entfernt

Der Menütyp JSMENU wurde ersatzlos entfernt. Dieser Menütyp wurde seit Jahren nicht mehr weiterentwickelt und wird heutzutage eigentlich auch nicht mehr benötigt.

Funktionen Backendmodul entfernt

Über das Funktionen-Backendmodul konnte man die Assistenten zur gleichzeitigen Erzeugung mehrerer Seiten oder zur Sortierung vorhandener Seiten starten

Diese beiden Assistenten lassen sich jetzt direkt über das Kontextmenü im Seitenbaum aufrufen. Bei Bedarf kann das Funktionen-Modul jedoch nachinstalliert werden, es steht bereits jetzt als Extension "func" im TER zur Verfügung.

Überarbeiteter t3editor

Der t3editor, mit dem man TypoScript im Backend mit Syntaxhighlighting und Autovervollständigung bearbeiten kann, wurde komplett überarbeitet.

Eine wichtige Änderung: das Autovervollständigen, das bisher automatisch bei Eingabe eines Punktes ausgelöst wurde, muss jetzt manuell durch die Tastenkombination ctrl+space (Mac) bzw. strg+space (Win) ausgelöst werden.

Sonstige Änderungen

Vereinfachtes Standard-Backendlayout

Ein Überbleibsel aus alten TYPO3-Zeiten waren die 4 Inhaltsspalten "Links", "Normal", "Rechts" und "Rand", die bei einem frisch installierten TYPO3 auf jeder Seite angezeigt wurden.

Allerdings gingen diese Inhaltsspalten in der Regel an den tatsächlichen Anforderungen eines Webprojekts vorbei, und spätestens mit der Einführung der Backend-Layouts in TYPO3 4.5 war es sehr einfach, eigene, auch komplexere Layouts zu erstellen.

Als Konsequenz wurde das Standard-Backendlayout jetzt vereinfacht und stellt nur noch eine Inhaltsspalte (colPos = 0) dar. Natürlich lassen sich auch weiterhin beliebige Layouts mit eigenen Backend-Layouts umsetzen.

Neues Verhalten bei Drag'n Drop im Seitenbaum

Bisher konnte man beim Drag'n Drop durch zusätzliches Drücken der ctrl bzw. strg-Taste zwischen den Modi "verschieben"und "kopieren" umschalten.

Jetzt wird man beim Verschieben gefragt, ob eine Seite verschoben oder kopiert werden soll.

Dies waren natürlich nur ein paar der bisherigen Änderungen in TYPO3 9.0.0. Unter der Haube hat sich noch viel mehr getan, was auch für Entwickler interessant ist. Detailiert kann man das in den commit messages auf Github einsehen. 

Über Änderungen informiert bleiben

Es gibt mehrere Wege, über Änderungen während der Entwicklung von TYPO3 9 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 neuen Installtool von TYPO3. Das entsprechende Modul wurde bereits in TYPO3 8 LTS als "Upgrade Analyzer" eingeführt und für die Version 9 umbenannt und überarbeitet. Hier kann man sich alle Änderungen inklusive Beschreibungen anzeigen lassen.

Aktualisiert: 14.04.2024