Kommende Neuerungen in Symfony 5.3

in  Zikula Apps , ,

Hugo-Seiten im Netzwerk entwickeln und testen

in  Builds & Tests , , , ,

Hugo-Seiten im Netzwerk entwickeln und testen

Hugo ist ein Generator für statische Seiten, welcher auf der Programmiersprache Go basiert. Die Inhalte werden mit Markdown verwaltet und dynamisch in HTML umgewandelt. Dies ist für die meisten kleineren Projekte interessant, weil ausreichend und im Vergleich zu einem dynamischen Content Management System einfacher zu handhaben; zudem sind statische Seiten auch in Bezug auf Sicherheit und Performanz unschlagbar (siehe auch: Vorteile statischer Seiten).

Der Build lässt sich dann z. B. mit GitHub Actions durchführen (zum Einsatz kommt hierfür z. B. diese Action), wobei die resultierende Seite direkt mit GitHub Pages betrieben werden kann. Wer den Komfort einer UI zur Pflege der Inhalte nicht missen möchte, kann ein entsprechendes Frontend obendrauf packen.

Git spielend im Griff

in  Basics ,

Git spielend im Griff

Eine schöne interaktive Möglichkeit, einige Konzepte von Git näher kennen zu lernen, bietet die Seite Learn Git Branching. In diesem Spiel werden in unterschiedlichen Tutorials und Aufgaben die verschiedenen Varianten, Branches zu erstellen und ineinander zu überführen, vermittelt. Die wichtigsten Kommandos können in einem Sandkasten-Modus verwendet werden, wobei sich die entsprechenden Auswirkungen anhand einer Visualisierung direkt erschließen. Auch für fortgeschrittene Anwender von Git gibt es hier und da wahrscheinlich noch ein paar Aha-Effekte.

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.

Sektionen zum Ein- und Ausklappen ohne JavaScript und in Markdown nutzen

in  Basics , , , ,

Sektionen zum Ein- und Ausklappen ohne JavaScript und in Markdown nutzen

Der HTML5-Standard bietet einige Tags, mit denen sich interaktive Elemente abbilden lassen. Ein sehr nützliches Beispiel sind die Tags <details> und <summary>: sie erlauben die Erstellung von aufklappbaren Bereichen. Früher konnten solche Funktionen zum dynamischen Öffnen und Schließen von Teilbereichen nur mit Hilfe von JavaScript umgesetzt werden. Diese Einschränkung ist somit entfallen.

In diesem Beitrag wird kurz gezeigt, wie sich die zwei Tags einsetzen lassen. Außerdem wird die Verwendung anhand eines praktischen Anwendungsfalls demonstriert.

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.symfony.com abgeglichen und entsprechende Probleme gemeldet. Der entsprechende Datenbestand befindet sich ebenfalls auf GitHub.

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:

Zahlreiche Neuerungen und Funktionen bei GitHub

in  Verschiedenes , ,

Zahlreiche Neuerungen und Funktionen bei GitHub

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.
  • Auch Unternehmen können ab sofort GitHub Sponsors nutzen, um Open Source Projekte zu unterstützen.
  • Workflows können mit einer Visualisierung übersichtlicher dargestellt werden (siehe auch diesen Beitrag).

Eine Gesamtliste mit allen anstehenden Veränderungen kann direkt auf GitHub angeschaut werden.

Shopware 6 kann nun Zugriffsrechte einstellen

in  Verschiedenes , ,

Shopware 6 kann nun Zugriffsrechte einstellen

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.