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.

SensioLabs Security Checker wurde eingestellt

in  Builds & Tests , , ,

SensioLabs Security Checker wurde eingestellt
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.

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:

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.

GitHub Actions - Eine Aktion zum Bauen und Testen von Zikula-Modulen

in  Builds & Tests , , , , ,

GitHub Actions - Eine Aktion zum Bauen und Testen von Zikula-Modulen
Vor ein paar Wochen haben wir unsere generator-action vorgestellt, welche die einfache Generierung von Zikula-Erweiterungen mit dem Standalone Generator von ModuleStudio erlaubt. Diese Action wird als Docker Image bereitgestellt und kann auch losgelöst von GitHub Actions verwendet werden. Die zikula-action Analog dazu steht auch eine weitere GitHub Action zur Verfügung: die zikula-action. Dieses Docker Image basiert auf der ebenfalls bereits vorgestellten phpqa-Toolbox und hat somit Zugriff auf zahlreiche Tools rund um Analyse, Tests und Qualitätssicherung.

ModuleStudio 1.4.0 wurde soeben veröffentlicht

in  Generator , , , ,

ModuleStudio 1.4.0 wurde soeben veröffentlicht
Eine neue Version von ModuleStudio steht zum Download auf der Projektseite bereit. ModuleStudio 1.4.0 bringt komplette Unterstützung von Anwendungen für das gestern veröffentlichte Zikula 3 und dem damit einhergehenden modernisierten Stack: Symfony 5, Twig 3, Doctrine 2, Bootstrap 4 und Font Awesome 5. Einen kurzen Überblick über die wichtigsten Neuerungen gibt die Release-Ankündigung.

Zikula Framework in Version 3 veröffentlicht

in  Zikula Apps , , , ,

Zikula Framework in Version 3 veröffentlicht
Heute haben wir das finale Release von Zikula Core 3.0.0 veröffentlicht. Es basiert auf Symfony 5.1 sowie Twig 3 und verwendet unter anderem Bootstrap 4 und Font Awesome 5. Einen grundlegenden Überblick über die wichtigsten Änderungen gibt der Release-Artikel auf der Zikula-Website: Zikula Core 3.0.0 veröffentlicht!. Was bringt die neue Version? Über einige der zahlreichen Neuerungen habe ich hier bereits in früheren Artikeln berichtet. Daher beschränke ich mich in diesem Beitrag darauf, die wichtigsten Links zum Nachlesen noch einmal gebündelt bereit zu stellen:

Zikula 3 erscheint als Release Candidate

in  Zikula Apps , , , ,

Zikula 3 erscheint als Release Candidate
Heute wurde der erste Release Candidate für Zikula Core 3.0.0 veröffentlicht. Einen grundlegenden Überblick über die wichtigsten Änderungen sowie die weiterführenden Links zur Dokumentation und zu den Downloads sind dem Release-Artikel auf der Zikula-Website zu entnehmen: Zikula Core 3.0.0 Release Candidate 1 steht zum Testen bereit!. Was bringt die neue Version? Über einige der zahlreichen Neuerungen habe ich hier bereits in früheren Artikeln berichtet. Daher beschränke ich mich in diesem Beitrag darauf, die wichtigsten Links zum Nachlesen noch einmal gebündelt bereit zu stellen: