ModuleStudio 0.7.4 macht Fortschritte

in  Generator , , , , ,

ModuleStudio 0.7.4 macht Fortschritte

Seit der Veröffentlichung von ModuleStudio 0.7.3 im Februar 2017 sind die Arbeiten an DSL und Generator kontinuierlich fortgeführt worden. Es wurden einige neue Optionen zur Modellierungssprache hinzugefügt und diverse Anpassungen im Hinblick auf eine optimale Kompatibilität der generierten Anwendungen mit Zikula 1.5 und 2.0 vorgenommen.

Es ist vorgesehen, dass ModuleStudio 0.7.4 noch im Mai erscheinen wird. Dieser Beitrag stellt einige der zahlreichen Neuerungen vor.

Die Repository-Klassen wurden aufgeräumt und von allen Dingen bereinigt, die nichts direkt mit der Erzeugung von Queries zu tun haben. In diesem Rahmen wurde ein CollectionFilterHelper eingeführt, der sich um die Anwendung der Parameter aus zum Beispiel den Quick Navigation Formularen kümmert.

Es wurden weitere Legacy-Aufrufe entfernt, was vor allem für Zikula 2.0 relevant wird, da hier jegliche Legacy-Unterstützung aus der 1.x-Serie entfernt wird. Insbesondere werden die Anzeigemuster der Entitäten nun nicht mehr über die Entity-Methode getTitleFromDisplayPattern, sondern über einen eigenen EntityDisplayHelper (sowie einem dazugehörigen Twig-Filter) durchgeführt.

Neuigkeiten gibt es auch bei der Initialisierung neu instanziierter Entitäten mit dynamisch zur Laufzeit ermittelten Daten: statt dies wie bislang über den Konstruktor zu tun, erfolgen solche Schritte nun im sogenannten EntityInitialiser. Dieser hat Zugriff auf diverse Services und damit weitreichende Möglichkeiten, die benötigten Daten zu ermitteln. Ein Beispiel hierfür sind Listenfelder: diese beziehen ihre Standardwerte dynamisch vom ListEntriesHelper. Das heißt, auch wenn der ListEntriesHelper angepasst oder erweitert wird, werden die damit zusammenhängenden Änderungen auch direkt in neuen Entity-Instanzen reflektiert.

Bei der Unterstützung diverser Doctrine Extensions hat sich ebenfalls Einiges bewegt: Entitäten mit der loggable-Erweiterung zur Erzeugung von Änderungshistorien und Diff-Ansichten kommen nun ohne einen eigenen Listener aus. Für die geographical-Extension werden weitere Grundeinstellungen vorgeneriert, mit denen sich Standardkoordinaten sowie Kartentyp und Zoom-Level konfigurieren lassen. Für die Erzeugung von Slugs/Permalinks wird jetzt dafür gesorgt, dass Umlaute und Akzente ordentlich repräsentiert werden. Ein ä wird nun nicht mehr zu a, sondern in der URL angenehmer durch ae repräsentiert.

Wenn man locale- oder language-Felder nutzt, wird man sich wahrscheinlich über eine neue Option in den Moduleinstellungen freuen, mit der sich ein Filter aktivieren lässt, der dafür sorgt, dass im Frontend nur die zur aktuellen Sprache passenden (oder die für alle Sprachen freigeschalteten) Einträge erscheinen. Weniger häufig benötigt, aber im Fall der Fälle dennoch hilfreich ist die Möglichkeit, sich die Basis für die Implementierung zusätzlicher Authentifizierungsmethoden generieren zu lassen.

Auch erste Erweiterungen für Zikula 2.0 (bzw. Symfony 3) sind bereits in den Generator eingeflossen. So ist es beispielsweise möglich, ein String-Feld als Zeitintervall zu kennzeichnen, was die Verwendung des DateInterval-Formularfeldes zur Folge hat. Für Upload-Felder lässt sich die Option detectCorrupted aktivieren, was zu einer eingehenden Überprüfung von Bildern führt.

Übrigens werden die exe-Dateien für die Windows-Versoin von ModuleStudio nun automatisch mit einem Zertifikat signiert, wodurch die für Einsteiger potenziell verwirrenden Meldungen des Reputationsfilters “Windows SmartScreen” bald Vergangenheit sein werden.

Alle Änderungen im Detail lassen sich im Changelog nachlesen.

Weitere Beiträge in Kategorie Generator

Verbesserungen rund um Doctrine im Bundle-Generator
- Es geht weiter mit den Aufräumarbeiten im Generator von ModuleStudio: nach den im letzten Beitrag beschriebenen Anpassungen rund um PHP 8 liegt aktuell der Fokus auf den Umgang mit Doctrine-Entitäten …
Der Bundle-Generator bekommt eine Verschlankungskur
- In den letzten Tagen sind die ersten Arbeitsschritte zur weiteren Modernisierung der von ModuleStudio generierten Symfony-Bundles bzw. Zikula-Module umgesetzt worden. Dieser Beitrag zeigt kurz die …
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 …
Funktionen im Generator zur Versionierung von Daten
- ModuleStudio erlaubt die Nutzung unterschiedlicher Doctrine-Erweiterungen, indem diese im jeweiligen Anwendungsmodell aktiviert und ggf. konfiguriert werden. Neben Baumstrukturen (tree / nested set), …
Neue Generator-Verbesserung zur Darstellung von Geodaten
- Bereits seit einigen Jahren ist es möglich, Entitäten in ModuleStudio als geografisch zu kennzeichnen. Dies führt dazu, dass den entsprechenden Objekten Felder zur Speicherung von Koordinaten …