in2publish Version 10: Volle Kraft voraus für TYPO3 v10

in2publish Version 10: Volle Kraft voraus für TYPO3 v10

Die neue Version 10 des Content Publishers enthält einige wesentliche Neuerungen und wurde speziell für TYPO3 v10 entwickelt. Wie angekündigt haben mit dieser Version den Support für TYPO3 v9 eingestellt. Dadurch erreichen wir mit dem Content Publisher wesentliche Verbesserungen

In diesem Blogpost erfahrt ihr welche Neuerungen der Conent Publisher erfahren hat. Seit einigen Wochen arbeiten wir intensiv der Entwicklung der neuen Versionen von in2publish_core und den dazu gehörenden Extensions in2publish, in2publish_http, in2publish_local, in2publish_native und in2publish_seclib. Die neuen Versionen ermöglichen es uns das Produkt für die Zukunft fit zu machen und Performance, Stabilität und Sicherheit immer weiter zu entwickeln. 

Die neuen Versionen wurden für TYPO3 Version 10 entwickelt. Wenn Sie noch TYPO3 v9 verwenden, sollten Sie ein zeitnahes Update in Betracht ziehen. Mehr über das letzte reguläre Update für TYPO3 v9 erfahrt ihr hier.

in2publish_core 10.0.0 – ein Meilenstein

Wie beschreiben wurde die Unterstützung für TYPO3 v9 entfernt, da diese Version nicht mehr offiziell unterstützt wird. Gleichzeitig konnten wir dadurch einige weitreichende Änderungen vornehmen, wie die Umwandlung von Signal-Slots in Ereignisse, die Verwendung von Dependency Injection und die Deklaration zentraler Komponenten als Dienste.

Events

TYPO3 v10 integriert eine weitere Komponente des Symfony Frameworks, die Event-Komponente. Dies ermöglichte es uns, die klobige Implementierung der Signal-Slots in extbase durch das schnelle und schlanke DI-Container-basierte Event-System zu ersetzen.
Für unsere Benutzer, die auf Signale angewiesen sind, um ihre zusätzliche Veröffentlichungslogik zu implementieren, haben wir eine Abwärtskompatibilitätsschicht für Signale hinzugefügt (nur für Signale und nur für in2publish_core v10). Sie können die alten Signale weiterhin verwenden, müssen aber auf Event-Listener umsteigen, bevor Sie TYPO3 und in2publish_core auf die später erscheinende v11 aktualisieren.
Hier finden Sie eine umfassende Liste aller Signale und der Events, die die Signale ersetzen.
Events machen es nicht nur einfacher, Ihren Code dazu zu bringen, mit dem Content Publisher zu interagieren, sie sind auch viel schneller.

Services

Ein weiteres Feature, das mit TYPO3 v10 eingeführt wurde, ist der Dependency Injection Container, eine weitere Komponente des Symfony Frameworks.
Wir verwenden die Service-Definition, um Faktoren für verschiedene Dienste zu definieren, wie z.B. die lokale und fremde Datenbankverbindung, die nun injizierbar sind. Man braucht also die DatabaseUtility nicht mehr zu verwenden. Bitte beachten: Ein Fehler wird verursacht, wenn eine Verbindung injiziert wird, die nicht verfügbar ist. (Dies bedeutet, dass keine Verbindungen in Klassen injiziert werden dürfen, die immer geladen werden, da dies das Backend in einen unbrauchbaren Zustand versetzt).
Eine andere Möglichkeit ist die dynamische Registrierung von Diensten in der Datei Services.php, die einige Bedingungen aus der Datei ext_tables.php entfernt, wodurch der TYPO3-Bootmechanismus etwas effizienter wird.

Automated testing

Tests sind nur dann sinnvoll, wenn sie tatsächlich ausgeführt werden. Deshalb haben wir unsere Tests so umstrukturiert, dass sie in GitHub-Aktionen ausgeführt werden. Sie werden bei jedem Push in das Repository und täglich auf einer geplanten Basis ausgeführt. Letzteres soll die Kompatibilität mit Bibliotheken von Drittanbietern sicherstellen, die unabhängig voneinander aktualisiert werden.
Der Testlauf für diese Version ist hier zu finden.

weitere Neuerungen

  • Die veraltete Methode modifyConfiguration wurde aus AbstractTask entfernt. Der Task sollte mit der korrekten Konfiguration konstruiert werden.
  • Kommunikationsadapter müssen den Konstruktor nicht mehr implementieren, können aber den Konstruktor für Dependency Injection verwenden. Alle Adapter werden automatisch öffentlich gemacht, so dass keine zusätzliche Konfiguration in der Dienstekonfiguration erforderlich ist.
  • Wir benötigen mindestens doctrine/dbal 2.11.0. Dies entspricht der Mindestanforderung von TYPO3, die bei 2.10 liegt. Doctrine DBAL hat die Art und Weise geändert, wie Abfrageergebnisse abgerufen werden, und wir haben die neue API als unseren Standard übernommen.
  • Typ-Hinweise überall. Alle Parameter, die einen Typ-Hinweis haben können, haben einen erhalten, ebenso wie die Typ-Hinweise der Methodenrückgabe. Bestehender Code kann gegebenenfalls beeinträchtigt werden aufgrund von Verletzungen des Liskov-Substitutionsprinzips, das PHP streng befolgt. Die Aktualisierung des Codes sollte schnell und einfach möglich sein (IDE nutzen) 

in2publish Version 10

in2publish v10 ist nur mit in2publish_core 10.x kompatibel und ist für TYPO3 v10 entwickelt.

Events

in2publish v10 hat die gleiche Abwärtskompatibilitätsschicht für Signale wie in2publish_core. Sie können weiterhin Signale verwenden, müssen diese aber irgendwann ersetzen. Die Abwärtskompatibilitätsschicht wird in in2publish v11 entfernt werden. Die umfassende Liste aller Signale und der Ereignisse, die die Signale ersetzen sind hier zu finden. 

Services

in2publish_core hat es bereits vorgemacht und in2publish geht noch einen Schritt weiter. Wir verwenden die Service-Konfiguration, aber wir wollen trotzdem eine strikte Trennung zwischen den Funktionen, die mit in2publish ausgeliefert werden, beibehalten. Jedes in2publish-Feature hat seine eigene Service-Konfiguration, wodurch wir Seiteneffekte und Konflikte reduzieren können.

in2publish_http 7.0.0

Viel Besonderes gibt es an diesem Release nicht, außer dass die Unterstützung für TYPO3 v9 wie bei den anderen Extensions eingestellt wurde. Diese Version unterstützt daher explizit  in2publish_core v10 und TYPO3 v10.
Außerdem wurde die Debugging-Unterstützung verbessert, was im Wesentlichen bedeutet, dass xdebug-Sitzungen von der CLI weitergeleitet werden.

in2publish local file adapter 1.1.0

Diese Extension ermöglicht es Content Publisher, meinen lokalen Dateispeicher in einem anderen lokalen (Live-)Dateispeicher zu veröffentlichen. Die Version 1.1.0 unterstützt TYPO3 v10 mit in2publish v9 oder v10.

in2publish_native SSH/SCP adapter 1.1.0

Diese Erweiterung bietet Content-Publisher-Kommunikationsadapter, die die Standard-SSH2-Adapter in der Community Edition ersetzen. Diese Adapter verwenden die ssh- und scp-Binärdateien des Betriebssystems, um eine Verbindung herzustellen und Dateien auf das Fremdsystem zu übertragen. DAs Release 1.1.0 supportet TYPO3 v10 mit in2publish v9 oder v10.

Florian Froidevaux

SEO Projekte und Online-Marketing?

Haben Sie Fragen zu SEO und Online-Marketing?

Unser Spezialist Florian Froidevaux hilft Ihnen gerne weiter.

Florian Froidevaux  |  Marketing Manager

TYPO3: Unbenutzte Dateien im fileadmin finden

Ihr wollt unbenutzte oder verwaiste Dateien im fileadmin oder einer anderen Storage löschen? Leider gibt es hier nichts direkt vom Core. Aber ein kleiner Command in eurem Sitepackage hilft schnell...

Zum Beitrag

TYPO3: Redakteure mit individuellen user_upload Folder

Vielleicht kennt ihr die Kundenanforderung? Redakteure sollen Videos über den Button "Add media by URL" hinzufügen können. Aber die Dateien sollen sich dann nicht in fileadmin/user_upload/ sondern in...

Zum Beitrag

Content Publisher v13 – Neues UI, bessere Workflows und strikte Kompatibilität

Es hat sich viel getan in den letzten Releases. Mit der v13 des Content Publishers haben wir nicht nur technisch aufgeräumt, sondern auch strategische Weichen für die Zukunft gestellt. Von der...

Zum Beitrag

TYPO3: Seiten im Mixed Mode finden

Mixed Mode bezeichnet man in TYPO3 übersetzte Seiten, auf denen sich Seiteninhalte befinden, die nur zum Teil eine Relation auf entsprechende Seiteninhalte in der Hauptsprache haben. Dies wird im...

Zum Beitrag

Extbase Extensions: An Erweiterbarkeit denken mit data, site und language

Heute mal eine kleine Bitte an die TYPO3-Extension-Autoren da draußen: Achtet auf Erweiterbarkeit eurer Extensions. Dies fördert dann auch die Verbreitung der entsprechenden Plugins.

Zum Beitrag

Content Publisher Version 12: Schneller, moderner und benutzerfreundlicher

Mit der neuen Version des Content Publishers Version 12 (für TYPO3 11 & 12) wird die Verwaltung und Veröffentlichung von Inhalten in TYPO3 spürbar verbessert. Die neue Version bringt einige...

Zum Beitrag
Fröhlicher Mann am Laptop