TYPO3 14.2 - Vorbereitung zur Entfernung von Funktionen und Schnittstellen (Deprecations)

Deprecations sind eine hilfreiche Information, welche Funktionen in der Folgeversion (TYPO3 15) umgestellt werden. Somit kann man sich bei allen Update-Anpassungen auf TYPO3 14 bereits für die Zukunft rüsten.

 

Veraltete Funktionen und Schnittstellen ("Deprecations") für die nächste TYPO3-Version 15

Deprecations einiger (eher selten genutzter) BackendUtility Methoden: getTCEFORM_TSconfig(), getTSCpidCached(), getTSCpid().

Zielgruppe: Entwicklung

WissenswertDie nun de facto obsolete PageDoktypeRegistry (durch TCA-Definition) ist deprecated. Die Option "onlyAllowedTables" wurde funktional verändert. .

Zielgruppe: Integration

Der BackendAuthenticationService nutzt nun ein verbessertes Fehlermanagement-Handling, ohne eine interne $errorMsg Property. writeLog() wurde entkoppelt.

Zielgruppe: Entwicklung

Deprecations einiger BackendUtility-Hilfsmethoden für Sprachübersetzungen, die nun besser mittels LocalizationRepository durchgeführt werden können.

Zielgruppe: Entwicklung

Das neue Bookmark-Management hat einige (eigentlich interne) "Shortcut"-Klassen umbenannt.

Zielgruppe: Entwicklung

Da die Benutzereinstellungen nun mit echtem TCA definiert werden ist die Option ExtensionManagementUtility::addFieldsToUserSettings nun obsolet und deprecated.

Zielgruppe: Entwicklung

Der Wert "url" muss in den TCA-Optionen von "suggestOptions.default.additionalSearchFields" nicht mehr angegeben werden, seit der neue Seitentyp "Shortcut" in T3v14 eingebaut wurde. Ggf. betrifft dies auch eigene Integrationen!

Zielgruppe: Integration

Das "doSave" hidden FormEngine HTML-Formularfeld wird nicht mehr ausgewertet (jedoch nur interne API), Formular-Übermittlungen an FormEngine werden intern nun anders ausgewertet.

Zielgruppe: Entwicklung

Die Service-Methode PageRenderer->addInlineLanguageDomain() die mit TYPO3 14.1 eingeführt wurde, wird zugunsten einer neuen LabelImport-API deprecated.

Zielgruppe: Entwicklung

Der alte Passwort-Generator via passwordRules TCA-Option wurde zugunsten des neuen passwordGenerator deprecated.

Zielgruppe: Entwicklung

Die alte Redis Session Backend Konfigurationsmöglichkeit um username+password in einem einzelnen Feld zu übermitteln wurde deprecated.

Zielgruppe: Integration

Die Methoden "setLogTable/getLogTable" des DatabaseWriter sind nicht mehr genutzt, da sie suggerierten dass die "sys_log" Datenbanktabelle leicht austauschbar wäre. Eigene Log-Datenbanktabellen sollten eine eigene API-Methode ableiten und nutzen.

Zielgruppe: Integration

WissenswertDie PageRenderer-API erhält nun überall den $request Kontext eingestellt statt auf ein globales TYPO3_REQUEST zuzugreifen. Vor allem die PageRenderer->render() Methode muss nun künftig den Request beinhalten.

Zielgruppe: Entwicklung

WissenswertDie FormEngine Feldbeschreibungen werden nun implizit immer ausgegeben und sind nicht mehr im Aufgabenbereich von einzelnen FormEngine-Elementen. Das Attribut tcaDescription solcher Elemente ist in Zukunft nicht mehr relevant.

Zielgruppe: Entwicklung

WissenswertDie Datensatztitel beim Rendering von FormEngine-Elementen (u.a. nun im Einsatz beim Context Panel) werden nun einheitlicher gerendert. Der alte "OuterWrapContainer" Rendertyp kann dadurch entfallen, die Funktion wird von formWrapContainer übernommen.

Zielgruppe: Integration

WissenswertDie Datei "ext_emconf.php" wird auch in Classic-Mode Installationen nicht mehr für Extensions benötigt. Alle Informationen können in der composer.json hinterlegt werden.

Zielgruppe: Integration

WissenswertAufgrund der System Publishing API ist die Konfigurationsoption $GLOBALS['TYPO3_CONF_VARS']['FE']['addAllowedPaths'] nun deprecated, und Referenzen ausserhalb der Standardordner "Resources/Publlic", "Resources/Private" und "Configuration" können nicht mehr (ohne eigene Konfiguration) genutzt werden.

Zielgruppe: Integration

Das CSP-Attribut "useNonce" in den f:asset Fluid ViewHelpern ist zugunsten von "csp" deprecated.

Zielgruppe: Integration

Weitere Verschiebung eines Menüpunkts: "Linkvalidator" ist nun in der "Link Verwaltung"-Gruppe enthalten (statt früher "Status / Info").

Zielgruppe: Entwicklung

WissenswertDurch die Entfernung der Bootstrap Tabs für FormEngine-Labels entfallen nun auch künftig die alten JavaScript events show.bs.tab und shown.bs.tab. Stattdessen sind nun eigene Events typo3:tab:show und typo3:tab:shown verfügbar.

Zielgruppe: Integration

WissenswertDie TypoScript Konfigurationsoption options.pageTree.doktypesToShowInNewPageDragArea ist künftig mehr verfügbar, da der Drag-und-Drop-Bereich für die Erstellung neuer Seiten nun sämtliche dokTypes auswertet.

Zielgruppe: Integration

Das YAML Feld "fieldExplanationText" wurde in "description" umbenannt um klarer zum Ausdruck zu bringen, wofür ein Key genutzt wird. Dieses Feld kann nun auch für SingleSelect/MultiSelect/CountrySelect genutzt werden.

Zielgruppe: Entwicklung

WissenswertDer DatePicker der Formulare (im Frontend) basierte auf jQuery. Er wird nun zugunsten von HTML5-Elementen deprecated.

Zielgruppe: Integration

Sehr wichtigDie Speicherung von YAML-Formular-Dateien in FAL-Storages ist deprecated. Innerhalb von Extensions (mit EXT:-Syntax) weiterhin möglich. Ein MigrationWizard ermöglicht den Transfer von Formularen.

Zielgruppe: Integration

Sehr wichtigDas Formular-Rendering im Backend erfolgt nun mittels lit Webkomponente, die Fluid-Partials wurden deprecated. Anpassungen im HTML-DOM-Rendering müssen nun per JavaScript-Events und ohne Fluid erfolgen.

Zielgruppe: Integration

Sehr wichtigDurch die neue automatische YAML-Registrierung müssten formulardefinitionen nicht mehr via TypoScript registriert werden.

Zielgruppe: Integration

Die Debugging-Implementation von f:debug.render wurde umgearbeitet, so dass der Fluid-ViewHelper in v5 komplett entfallen wird. Ersatz würde man auch z.B. mit EXT:includekrexx finden.

Zielgruppe: Entwicklung

Der Mechanismus "additionalHiddenFields" in Formengine war überflüssig, da versteckte Formularfelder bereits Teil des "rohen" HTML-Arrays sein konnten. Daher wird die Nutzung hiervon nun deprecated, zusätzlich zu der property FormResult::$hiddenFieldsHtml und der Methode FormResultCollection::getHiddenFieldsHtml().

Zielgruppe: Entwicklung

Die interne Klasse "formResultCompiler" wurde deprecated, und sollte durch direkte PageRenderer-Nutzung ausgetauscht werden.

Zielgruppe: Entwicklung

Sehr wichtigDer zentrale PageRenderer zum Darstellen von Content-Objekten und Assets und dem HTML-Rahmengerüst jeder Seite wurde so umgestellt, dass er künftig nur als "Schreib-Pool" genutzt werden soll. Leseaktionen auf den Zustand des Value-Objekts sollen nicht mehr durchgeführt werden. Inhalte sollen besser aus den request/site-Attributen bezogen werden. Alle Getter dieser Klasse sollen nicht mehr genutzt werden, weitere Migrationsanweisungen siehe ChangeLog.

Zielgruppe: Integration

Mit unserem festangestellten Mitarbeiter Garvin Hicking unterstützen wir aktiv die TYPO3-Entwicklung. Er arbeitet im Core-Merger Team des OpenSource Projekts mit, und ist daher über die neuesten Entwicklungen bestens informiert. In unseren Artikelserien zu TYPO3-Releases beleuchtet er detailiert (und garantiert ohne KI-Automatik) wichtige Änderungen.

Garvin Hicking
Senior Developer

BITV Check - Wir prüfen Ihre Website oder Ihr digitales Produkt.

Wir setzen die Projekte unsere Kunden nicht nur BITV-konform um, wir prüfen auch Websites, Apps und digitale Produkte hinsichtlich der gesetzlichen Anforderungen. Buchen Sie unser 30-Minten-Erstgespräch - unverbindlich, klar und kompetent. Denn digitale Barriefreiheit ist Pflicht.