7 Hauptmerkmale von TYPO3 v11.5

7 Hauptmerkmale von TYPO3 v11.5

This article machine-based automatically translated from English to the German language. As this article is not human translated, there may be chances of context, spelling and grammar mistakes. We recommend to read original article in English version.

Mit dem offiziellen Release von TYPO3v11 LTS ist nun auch die letzte Unterversion TYPO3v11.5 erschienen und bringt eine ganze Reihe neuer Features mit sich. Das neueste Release der TYPO3 Version 11.5 bringt einige neue Features und Verbesserungen (vor allem für TYPO3-Entwickler) mit sich.

Wir haben die Entwicklung der TYPO3 Version 11 mit Spannung verfolgt und die neuen Funktionen auf unseren Test-Sites ausprobiert. 

Die TYPO3 Version 11.5 enthält zwar weniger, aber dafür sehr wichtige Features, während die wichtigsten Funktionen bereits in den früheren TYPO3 Versionen 11.1, 11.2, 1..3 und 11.4 enthalten sind. Schauen Sie sich diese an, 

Und noch etwas: Dieser Blog ist den TYPO3-Mitarbeitern gewidmet, die dazu beitragen, das OpenSource-Projekt TYPO3 zu verbessern und zu bereichern.

In diesem Artikel werden wir Ihnen zeigen, was in TYPO3 11.5 mit seinen neuen Power Packs in der neuesten Version enthalten ist.

Fahrplan für TYPO3 v11

TYPO3 Version 11.5 ist das letzte Release der v11-Reihe und erhält langfristigen Support (LTS). Diese Version wird für mindestens drei Jahre von der Community gepflegt.

Mit der Veröffentlichung von TYPO3 v11.5 ist die aktuelle "Long Term Support"-Version v10.4 LTS, die im April 2020 veröffentlicht wurde und bis April 2023 mit sicherheitsrelevanten Updates versorgt wird.

Systemanforderungen für die aktuelle TYPO3 v11

TYPO3 kann auf jedem System betrieben werden, das PHP, MySQL oder DoctralDB und HTTPS unterstützt. 

Solange Sie diese Dienste auf Ihrem System ausführen, können Sie TYPO3 v11 verwenden. Diese Anforderungen können sich ändern, daher sollten Sie die aufgeführten Server-Anforderungen überprüfen, da diese sich ständig ändern und aktualisiert werden.

  • PHP Version 7.4 oder 8.0
  • PHP-Einstellungen:
    • speicher_limit >= 256M
    • max_execution_time >= 240s
    • max_input_vars >= 1500
  • Die Kompilierungsoption --disable-ipv6 darf nicht verwendet werden.
  • Die meisten von Doctrine DBAL unterstützten Datenbankserver funktionieren auch mit TYPO3. Getestete DB-Engines sind
    • MariaDB
    • MySQL
    • PostgreSQL
    • Microsoft SQL Server
    • SQLite

Installation von TYPO3 v11

Composer-basierte TYPO3-Installationsmethode

Wenn Sie den PHP Composer unter Linux, macOS und Windows 10 installieren, verwenden Sie die folgenden Befehle,

 

// Gehen Sie zu Ihrem Webverzeichnis
cd /var/www/site/

// TYPO3 v11 Basisverteilung initiieren
composer create-project typo3/cms-base-distribution:^11 typo3v11

 

Außerdem erleichtert das Online-Tool Composer Helper die Paketauswahl. Weitere Einzelheiten finden Sie in der Installations- und Upgrade-Anleitung. Wir empfehlen jedoch immer eine Composer-basierte Installationsmethode!

Klassische TYPO3-Installationsmethode

Obwohl die Installation von TYPO3 auf Basis von Composer empfohlen wird, kann die klassische Installation unter Linux/Mac OS X auch als (DocumentRoot z.B. /var/www/site/htdocs) durchgeführt werden:

 

cd /var/www/site
wget --content-disposition get.typo3.org/11.5
tar xzf typo3_src-11.5.0.tar.gz
cd htdocs
ln -s ../typo3_src-11.5.0 typo3_src
ln -s typo3_src/index.php
ln -s typo3_src/typo3
touch FIRST_INSTALL

Hervorragende Eigenschaften von TYPO3 11.5

1) Assistent für neue Datensätze

Die im Assistenten "Neuer Datensatz" angezeigten Tabellen sind derzeit logisch und visuell besser getrennt.

2) TCA Option groupName

Diese Änderung fügt die Eigenschaft "groupName" hinzu, um Datensätze innerhalb des "New Record"-Assistenten in logische Gruppen zu gruppieren, wobei TYPO3 Core "system", "frontendaccess", "backendaccess" und "content" definiert.

3) TCA Option internal_type

Der häufigste Anwendungsfall für TCA-Felder vom Typ "Gruppe" ist die Verwendung von "internal_type=db". Daher ist diese Option nun der Standardwert. Dies ermöglicht es uns, entsprechende Teile in FormEngine, Datahandler, etc. zu vereinfachen. Außerdem wurden alle Core TCA Dateien angepasst und definieren diese Option nicht mehr für den Typ "group".

4) Neues PSR-14 Ereignis

Das folgende neue PSR-14-Ereignis wurde eingeführt: ModifyResolvedFrontendGroupsEvent
Dieses Ereignis ermöglicht es Entwicklern, Frontend-Benutzergruppen
dynamisch während einer Frontend-Anfrage zuzuordnen.

5) EXT.form - Bootstrap 5 kompatible Vorlagen

Das Formular-Framework bietet jetzt Bootstrap 5 kompatible Vorlagen. Das Markup wurde komplett überarbeitet, unnötige Verschachtelungsebenen wurden entfernt und es werden semantisch sinnvollere HTML-Tags verwendet. Auch im Bereich der Barrierefreiheit wurden die Templates verbessert.

Im Zuge der Bootstrap 5 Kompatibilität wurden zwei neue Breakpoints "xl" und "xxl" in der Grid-Konfiguration hinzugefügt.

Alle hart kodierten CSS-Klassen in den Templates wurden in die Konfiguration verschoben. Dies vereinfacht die Integration des Frontends. Die Änderung macht es für Integratoren einfacher, Upgrades des Frontend-Frameworks vorzunehmen. In den meisten Fällen ist es nun nicht mehr notwendig

ein Template für Änderungen an Klassen zu überschreiben. Stattdessen ist es nur noch notwendig, die entsprechenden CSS-Klassen zur Formularkonfiguration hinzuzufügen.

Um nicht kaputt zu gehen, werden die Templates standardmäßig noch so gerendert, wie sie bisher waren.

Um die neuen Bootstrap 5 kompatiblen Templates zu verwenden, muss die Formular-Rendering-Option `templateVariant` in der Formularkonfiguration von `Version1` auf `Version2` gesetzt werden.

Übersetzt mit www.DeepL.com/Translator (kostenlose Version)

6) Fluid ViewHelpers

Es kam ein paar Mal vor, dass der Kern die Fluid Viewhelper änderte, um sie an die aktuellen Bedürfnisse anzupassen, indem er die Template-Argumente beibehielt, aber die interne Handhabung und die Methodensignaturen änderte.

Es kam vor, dass Entwickler dann mit "Das hat meinen eigenen Viewhelper kaputt gemacht!" auftraten und wir darauf reagieren mussten. Der ImageViewHelper ist zum Beispiel ein Opfer davon geworden.

Aus der Sicht eines Frameworks sind Viewhelper spezifische Implementierungen, die auf einen bestimmten Zweck zugeschnitten sind. In den meisten Fällen sind sie vom Code her klein. 

  • Der Patch bringt eine Important.rst, um eine bevorstehende v12-Änderung anzukündigen, die alle Viewhelper als endgültig deklarieren wird.
  • Erweiterungen von Drittanbietern können diese nicht mehr mit eigenen Varianten erweitern
  • Die Erweiterung dieser Klassen und die Änderung ihres Anwendungsbereichs sollten nicht unterstützt werden.
  • Entwickler sollten ein passendes Abstract erweitern, anstatt spezifische VH's zu erweitern.

Der Kern erweitert derzeit natürlich auch ein paar VH's selbst, aber dies ist zu spät für v11 jetzt zu ändern und anzupassen.

Stattdessen wird die Zeit in v12, um diese Fälle zu lösen und einen Blick auf die abstrakten Klassen als auch zu sehen, welche VH-Funktionalität sollte in abstrakte enthalten sein, um die Wiederverwendung und den Übergang für die Erweiterung Autoren zu vereinfachen und Kern-API zu schärfen.

 

<f:transform.html>

 

Der ViewHelper löst einzelne TYPO3-Link-Handler wie t3://-URIs auf und transformiert sie.
Er ist unabhängig von jeder TypoScript-Konfiguration und arbeitet ohne Vermischung von Belangen in ContentObjectRenderer::parseFunc

 

<f:transform.html selector="a.href,div.data-uri">
<a href="t3://page?uid=1" class="page">visit</a>
<div data-uri="t3://page?uid=1" class="page trigger">visit</div>
</f:transform.html>

7) Veraltete PHP-Klassen

Die folgende Schnittstelle wurde als veraltet markiert:

 

TYPO3\CMS\Extbase\Mvc\View\ViewInterface

 

Um Fluid weiter von Extbase zu entkoppeln, wurde die folgende Klasse als veraltet markiert:

 

TYPO3\CMS\Extbase\Mvc\Controller\ControllerContext

Veraltete & entfernte TYPO3-Funktionen

Benutzerdefinierte JSWindow-Optionen

Die HMENU/TMENU-Optionen zum Öffnen von Links eines Menüs in einem benutzerdefinierten JavaScript-Popup wurden als veraltet markiert:

 

# deprecated:
page.123 = HMENU
page.123.1 = TMENU
page.123.1.JSWindow = 1
page.123.1.JSWindow.params = width=200,height=300,status=0,menubar=0

 

Der Aufruf einer Frontend-Seite mit HMENU- und JSwindow-Pop-Ups löst nun eine PHP-Deprecation-Warnung aus.

Externes CSS einbeziehen

Die Option zur Verwendung der @import-Syntax für die Einbindung externer CSS-Dateien durch TypoScript wurde als veraltet markiert:

 

# deprecated:
page = PAGE
page.includeCSSLibs.file1 = fileadmin/benni.css
page.includeCSSLibs.file1.import = 1

 

Optionen für die Migration:

  • den <link>-Tag verwenden oder
  • ein inlineCSS TypoScript manuell erstellen

Verschiedene getInstance()-Methoden

Die folgenden Methoden wurden als veraltet markiert:

 

TYPO3\CMS\Core\Resource\Index\ExtractorRegistry::getInstance()
TYPO3\CMS\Core\Resource\Index\FileIndexRepository::getInstance()
TYPO3\CMS\Core\Resource\Index\MetaDataRepository::getInstance()
TYPO3\CMS\Core\Resource\OnlineMedia\Helpers\OnlineMediaHelperRegistry::getInstance()
TYPO3\CMS\Core\Resource\Rendering\RendererRegistry::getInstance()
TYPO3\CMS\Core\Resource\TextExtraction\TextExtractorRegistry::getInstance()
TYPO3\CMS\Form\Service\TranslationService::getInstance()
TYPO3\CMS\T3editor\Registry\AddonRegistry::getInstance()
TYPO3\CMS\T3editor\Registry\ModeRegistry::getInstance()

Authentifizierungs-Objekte

Die ersten Argumente der folgenden Methoden wurden als veraltet markiert:
TYPO3\CMS\Core\Authentication\AbstractUserAuthentication

  • writeUC()
  • unpack_uc()

TYPO3\CMS\Core\Authentication\BackendUserAuthentication

  • backendCheckLogin()

Das dritte Argument der folgenden Methode wurde als veraltet markiert:

TYPO3\CMS\Core\Authentication\BackendUserAuthentication

  • isInWebMount()

TypoScript parseFunc.sword

  • Die TypoScript-Option parseFunc.sword erlaubt es, Suchwörter mit einem speziellen Umbruch zu versehen, wenn no_cache = 1 gesetzt ist. Diese Funktionalität ist veraltet
  • Betroffen sind Anlagen, auf die z. B. mit einer Anfrage wie dieser zugegriffen wird:

https://example.com/?no_cache=1&sword_list%5B%5D=search

SectionMarkupGenerated Ereignisse

Die folgenden Methoden wurden als veraltet markiert:

 

TYPO3\CMS\Backend\View\Event\BeforeSectionMarkupGeneratedEvent->getPageLayoutView()
TYPO3\CMS\Backend\View\Event\BeforeSectionMarkupGeneratedEvent->getLanguageId()
TYPO3\CMS\Backend\View\Event\AfterSectionMarkupGeneratedEvent->getPageLayoutView()
TYPO3\CMS\Backend\View\Event\AfterSectionMarkupGeneratedEvent->getLanguageIdg()

PHP Function str_starts_with()

Die folgenden Methoden wurden als veraltet markiert:

 

StringUtility::beginsWith()
StringUtility::endsWith()
GeneralUtility::isFirstPartOfStr()
GeneralUtility::minifyJavaScript()

 

PHP v8 bietet die Funktion str_starts_with(), die die richtige Typisierung unterstützt und eine bessere Leistung bietet.

Inline-JavaScript in fieldChangeFunc

Die Option zur Verwendung eines iframe im Navigationsbereich für Backend-Module durch "fieldChangeFunc" wurde als veraltet markiert:

 

// Abgelehnt:
$this->data[’parameterArray’][’fieldChangeFunc’][’example’] = "alert(’demo’);";
$parameterArray[’fieldChangeFunc’][’example’] = "alert(’demo’);";

 

Der TYPO3 Core unterstützt von Haus aus Web Components, die stattdessen verwendet werden sollten.

RequireJS Rückruf-Funktionen

Die Verwendung von RequireJS-Callback-Funktionen wurde als veraltet markiert (zum Beispiel: $resultArray['requireJsModules'] mit skalarem String)< Diese Aufrufe sollten durch neue JavaScriptModuleInstruction-Deklarationen ersetzt werden.

Das war's!

Was ist Ihre Lieblingsfunktion in TYPO3 v11.5 oder suchen Sie nach einer neuen Funktion? 

Um mehr über TYPO3 v11.5 zu erfahren, schauen Sie sich die folgenden Ressourcen an.

Als TYPO3-Entwickler oder -Integrator; Was ist Ihre Lieblingsfunktion in TYPO3 v11.5? Haben Sie irgendwelche Fragen zu TYPO3 v11? Schreiben Sie einfach in das Kommentarfeld unten und wir werden Ihnen gerne antworten.

Viel Spaß mit TYPO3 v11!

Post Comment

Your email address will not be published. Required fields are marked *

×

Name ist erforderlich!

Geben Sie einen gültigen Namen ein

Gültige E-Mail ist erforderlich!

Gib eine gültige E-Mail Adresse ein

Kommentar ist erforderlich!

Google Captcha ist erforderlich!

Bemerkungen :

  • Claus Schäfer November 18, 2021 Beim 10:15 am
    A really nice blog focusing on the total features of the v11, it’s a complete blog and I really liked the deprecated functions section. It gives me a sense of everything that has happened in the v11 LTS release. You guys are my new normal for TYPO3 updates and content. Keep it up.
  • Romy Kaiser November 13, 2021 Beim 2:02 pm
    I have been using this version for the last 20 days. I am having a good time customizing and trying new features of the v11 LTS. I have to say, this version is truly focused on UI improvements and integrator/editor friendliness.
  • Rudi Braun November 11, 2021 Beim 11:38 am
    I am having a great time working with the v11 LTS aka 11.5, I see a lot of UI and functional improvements already and I am very looking forward to this one.

Stay up to date with our recent TYPO3 Blogs, news, & updates