Symfony Messenger - Behandlung erneut fehlgeschlagener Nachrichten

in  Zikula Apps , , , ,

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.

Response-Eigenschaften im Zikula Theme-Layer anpassen

in  Zikula Apps , ,

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.

SensioLabs Security Checker wurde eingestellt

in  Builds & Tests , , ,

Zu den grundlegenden Aufgaben automatisierter Builds zählen unterschiedliche Prüfungen: so bietet es sich an, die Einhaltung der Coding-Styles zu überwachen, Qualitätsmetriken zu erheben und die Testabdeckung zu messen. Auch die regelmäßige Aktualisierung verwendeter Drittkomponenten kann perfekt automatisiert werden, wie wir es in diesem Beitrag für GitHub Actions gezeigt haben. Ein nützliches Werkzeug, das anhand einer composer.lock Datei etwaige Sicherheitslücken in verwendeten Vendors aufgezeigt hatte, war der SensioLabs Security Checker. Dieser hat die entsprechenden Versionen mit einer Datenbank auf security.

Zahlreiche Neuerungen und Funktionen bei GitHub

in  Verschiedenes , ,

Im Rahmen der GitHub Konferenz “Universe” wurden neue Funktionen und Verbesserungen vorgestellt. Für jeden dürfte hier etwas dabei sein. Nachfolgend die für mich wichtigsten Neuerungen in der Kurzübersicht: Das Mergen von Pull Requests kann automatisiert werden, basierend auf vordefinierten Erforderlichkeiten, wie etwa notwendige Reviews und Prüfungswerkzeuge. Mit den Discussions lässt sich nun auch jedwede, von Aufgaben/Tickets unabhängige Kommunikation, wie Support und sonstige Abstimmungen, auf der GitHub Plattform durchführen. GitHub unterstützt jetzt offiziell einen Dark Mode.

Shopware 6 kann nun Zugriffsrechte einstellen

in  Verschiedenes , ,

Seit einiger Zeit wurde der Release-Zyklus für Shopware 6 umgestellt, so dass nun nahezu jeden Monat ein Update mit neuen Funktionen erscheint. Mit der Version 6.3.3.0 gibt es jetzt endlich ein Rechte- und Rollenmanagement. Bisher war es nicht möglich, die Berechtigungen zu konfigurieren, daher handelt es sich hierbei um ein sehr wichtiges neues Feature. Weitere Informationen hierzu gibt es in der entsprechenden Ankündigung sowie der offiziellen Dokumentation.

Kommende Neuerungen in Symfony 5.2

in  Zikula Apps , ,

Vor zwei Tagen wurde Symfony 5.2.0-BETA2 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 PHP 8 Attribute Attribute für Controller-Argumente Attribute für Constraints Cache Asynchrone Cache-Neuberechnung Console 24-bit Farben Unterstützung für Signale in Commands Form Callbacks für Data Mapper Asserts für Form-Tests Form Field Helpers FrameworkBundle Front Controller Konfiguration HttpClient EventSource HTTP client Retryable HTTP client Lock Shared locks Mailer DKIM E-Mail Authentifizierung Profiler Einfachere Daten-Kollektoren Session Profiling RateLimiter Neue Rate Limiter Komponente Security Login Throttling Login Links Semaphore Neue Semaphore Komponente Translator Pseudo-Localization Übersetzbare Objekte Uid Doctrine-Typen für UUID und ULID UID-Serialisierung und -Validierung

GitHub integriert Code Security Scanner

in  Builds & Tests , , ,

Im offiziellen GitHub Changelog werden regelmäßig Beiträge über unterschiedliche Neuerungen und Innovationen auf der GitHub Plattform veröffentlicht, zum Beispiel in Bezug auf Funktionen in der Oberfläche, GitHub Actions oder anderweitige Aktivitäten. Gestern erschien dort ein Artikel darüber, dass nun die Funktionalität zum Scannen von Code auf Sicherheitsprobleme allgemein verfügbar gemacht worden ist. Weitere Informationen hierzu lassen sich diesem Beitrag entnehmen. Neben der von GitHub forcierten CodeQL Analyse stehen auch alternative Analysewerkzeuge von Drittanbietern zur Integration bereit.

Lesetipp: das Buch zu Symfony 5 auf deutsch

in  Basics , ,

Das Buch “Symfony 5: The Fast Track” von Fabian Potencier zeigt anhand praktischer Beispiele einen großen Teil der Bandbreite der Symfony-Komponenten. Es eignet sich daher für einen schnellen Einstieg in das Ökosystem, bietet jedoch gleichzeitig auch fortgeschrittenen Nutzern neue Impulse. Schön ist aber insbesondere, dass das Buch in mehr als ein Dutzend Sprachen vorliegt. Es ist möglich, das Buch online kostenlos anzuschauen. Unabhängig davon kann man auch eine PDF-Version erwerben und somit die weitere Symfony-Entwicklung unterstützen.

Zikula Core 3.0.3 mit Sicherheits-Update von Symfony 5

in  Zikula Apps , ,

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 , , , , ,

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.