Zikula 3 - Cross-Release und weitere Ausrichtung

in  Zikula Apps , , , ,

Zikula 3 - Cross-Release und weitere Ausrichtung

Heute sind gleichzeitig zwei neue Versionen vom Zikula Core veröffentlicht worden.

Zikula 3.0.4 bringt Fehlerkorrekturen

Mit der Version 3.0.4 wird ein weiteres Bugfix-Update für die Hauptversion 3 bereitgestellt.

Die Änderungen im Detail werden in der Release-Ankündigung aufgelistet.

Zikula 3.1.0 hat etwas mehr an Bord

Außerdem ist auch Zikula Core 3.1.0 erschienen; dieses Update beinhaltet zusätzlich einige Neuerungen, bringt aber auch Veränderungen mit.

Auch hierfür gibt es eine detaillierte Liste mit den Korrekturen, hinzugefügten Features und sonstigen Neuerungen.

Kommende Neuerungen in Symfony 5.4

in  Zikula Apps , ,

Kommende Neuerungen in Symfony 5.4

Vor einigen Tagen wurde Symfony 5.4.0-BETA3 veröffentlicht. Dies nehme ich zum Anlass, um einmal einen Überblick über die wichtigsten neuen Funktionen zu geben, auf die wir uns im Rahmen dieses Updates freuen können. Im Folgenden sind die bisher veröffentlichten Blog-Beiträge thematisch nach Komponente sortiert.

PHP 8.1
Unterstützung für PHP Enumerations (siehe auch diesen Artikel dazu)
Console
Console Autocompletion (siehe auch diesen Artikel dazu)
DependencyInjection
DI-Verbesserungen
Filesystem
Neue Path-Klasse
Framework
Veränderungen für Controller
Konfigurierbare Exceptions
Language Negotation
Sonstige Features - Teil 1
Sonstige Features - Teil 2
Sonstige Features - Teil 3
Messenger
Messenger Verbesserungen
Notifier
Notifier Integrationen
Profiler
Überarbeitete Profiler Logs
Profiler Verbesserungen
Routing
Route Aliasing
Security
Schnellere Security Voter
Serializer
Serializer Verbesserungen
Translator
Translation Verbesserungen
Validator
Verschachtelte Validation Attribute
Neue Validierungsmöglichkeiten

Kommende Neuerungen in Symfony 5.3

in  Zikula Apps , ,

Symfony Messenger - Behandlung erneut fehlgeschlagener Nachrichten

in  Zikula Apps , , , ,

Symfony Messenger - Behandlung erneut fehlgeschlagener Nachrichten

Im Symfony Messenger gibt die Möglichkeit, fehlgeschlagene Nachrichten an eine failed queue zu leiten. In diesem Sammelbecken können diese dann inspiziert und nach Korrektur des zu Grunde liegenden Problems erneut verarbeitet werden.

Schlagen sie dabei erneut fehl, landen sie allerdings per Standard nicht wieder in der failed queue, sondern werden verworfen. Dies hat damit zu tun, dass die Nachricht bereits einen SentToFailureTransportStamp besitzt.

Möchte man jedoch die Nachricht immer wieder auffangen, bietet es sich an, diesen Stamp einfach vorher wieder zu entfernen. Dies kann mit der folgenden Middleware getan werden.

Response-Eigenschaften im Zikula Theme-Layer anpassen

in  Zikula Apps , ,

Response-Eigenschaften im Zikula Theme-Layer anpassen

In Zikula gibt es eine Besonderheit zu beachten, welche Einfluss darauf nimmt, wie die aus einem Request resultierende Response zum anfragenden Client gelangt.

Per Standard wird die Response in Symfony im Rahmen einer Controller-Aktion erstellt und zurückgeliefert. Gegebenfalls wird die Response noch von einem oder mehreren Event Subscribern verändert.

Bei Zikula wird noch eine Theme-Schicht dazwischen geschaltet, welche den Inhalt der Response in eine neue Response überführt, um den Layout-Rahmen sowie damit einhergehende, zusätzliche Blöcke usw. zu rendern.

Tabellennamen mit Doctrine dynamisch anpassen

in  Zikula Apps , ,

Tabellennamen mit Doctrine dynamisch anpassen

Mit Hilfe der Metadaten von Doctrine lassen sich jegliche Daten zu einer Entität zur Laufzeit verändern. Allerdings kann das in manchen Anwendungsfällen fortwährend notwendig sein, zum Beispiel in Multi-Tenancy-Umgebungen. Wenn zudem Operationen mit dem Schema Manager in der Datenbank benötigt werden, kann es schnell unübersichtlich werden, da man sich nicht sicher sein kann, ob eine bestimmte Veränderung bereits durchgeführt worden ist oder noch nicht.

Der folgende Code-Ausschnitt zeigt ein Beispiel für eine Klasse, die eine Modifikation zentral für alle Entitäten, die für einen bestimmten EntityManager registriert sind, durchführt - hier wird etwa der Name der durch die Entität angesprochenen Datenbanktabelle verändert:

Kommende Neuerungen in Symfony 5.2

in  Zikula Apps , ,

Zikula Core 3.0.3 mit Sicherheits-Update von Symfony 5

in  Zikula Apps , ,

Zikula Core 3.0.3 mit Sicherheits-Update von Symfony 5

Vor kurzem hatten wir über das Release von Zikula 3.0.1 berichtet, welches wichtige Korrekturen für Zikula 3 bereitgestellt hat.

Vor einer Woche wurde die nächste Version 3.0.2 veröffentlicht. Allerdings ist kurz danach Symfony 5.1.4 und dann noch Symfony 5.1.5 mit einem Security-Patch erschienen. Daher steht nun auch als neues Release die Version Zikula 3.0.3 zur Verfügung, welche diese Updates ebenfalls zur Verfügung stellt.

Symfony Services asynchron im Hintergrund aufrufen

in  Zikula Apps , , , , ,

Symfony Services asynchron im Hintergrund aufrufen

Oftmals greift man in Symfony-Projekten auf CLI-Kommandos mit Hilfe der Symfony Console-Komponente zurück, um länger laufende Prozesse außerhalb des Webservers durchzuführen. In komplexeren Vorhaben gibt es weitere Ansätze, wie etwa eine Job Queue oder die noch relativ junge Symfony Messenger-Komponente. Diese haben gemeinsam, dass sie eine bestimmte Struktur voraussetzen. Für die Umstellung von Legacy-Code, in dem selbstgeschriebene Jobs mit ReactPHP Event-Loops zum Einsatz kommen, haben wir vorerst einen anderen Weg gewählt, um diese Worker in Einklang mit Symfony zu bringen.