ModuleStudio 0.7.0 veröffentlicht

in  Zikula Apps , , , , ,

ModuleStudio 0.7.0 veröffentlicht
Nach fast zweieinhalb Jahren ist ModuleStudio 0.7.0 erschienen. Dies ist ein wichtiger Meilenstein für das Projekt und macht den Weg frei für weitere Schritte. Dieser Beitrag stellt die neue Version kurz vor und zeigt auf, wohin die Reise geht. Neuigkeiten ModuleStudio 0.7.0 bietet eine große Zahl an Neuerungen, unter anderem eine runderneuerte Benutzeroberfläche, Verbesserungen an der DSL sowie viele Änderungen im Generator. Die wichtigsten Infos können auf der Release-Seite nachgelesen werden.

Schwerpunkte für ModuleStudio 0.7.0

in  Metamodell , , ,

Schwerpunkte für ModuleStudio 0.7.0
Beim diesjährigen Camp Zikula haben wir unter anderem über die zukünftige Ausrichtung von ModuleStudio gesprochen. Dazu habe ich kurz die Bestandteile einer DSL sowie unterschiedliche Notationsformen und deren Kombinationen vorgestellt. Während wir über die Vor- und Nachteile einzelner Varianten und Editoren diskutiert haben, ist relativ schnell klar geworden, dass wir zunächst einmal den Umfang und Fokus der DSL korrigieren müssen. Die verschiedenen Gedanken und Impulse bilden eine Blaupause für die nächste Hauptversion von ModuleStudio.

Optimierung im Detail - Schreibweisen von Entitäten und Feldern im Modell

in  Zikula Apps , , ,

Optimierung im Detail - Schreibweisen von Entitäten und Feldern im Modell
In der modellgetriebenen Softwareentwicklung werden die fachlichen Anforderungen in der Regel sehr prägnant formuliert. Schließlich ist eines der Ziele einer domänenspezifischen Sprache eine lesbare und verständliche Beschreibung eines Softwaresystems, wozu auch die Vermeidung von Redundanzen und unnötigem Boilerplate-Code gehört. Dies führt dazu, dass selbst kleine Veränderungen in einem Modell größere Unterschiede im generierten Quelltext zur Folge haben können. Ein Beispiel für solche, auf den ersten Blick unscheinbare Differenzierungen betrifft die Schreibweise von Modellelementen.

Ajax-Controller und seine Funktionen

in  Zikula Apps , , ,

Ajax-Controller und seine Funktionen
Im Controller-Bereich der Modellierungssprache von ModuleStudio nimmt der Ajax-Controller eine besondere Rolle ein. Die Aktionen eines Ajax-Controllers werden im Gegensatz zu anderen Controllern nicht als Webseite durch den Anwender, sondern von mittels JavaScript initiierten Ajax-Requests aufgerufen. Der Generator erzeugt unter Umständen einige zusätzliche Methoden im Ajax Controller, wenn diese für bestimmte generierte Funktionalitäten erforderlich sind. Dies betrifft unter anderem die im Folgenden aufgelisteten Methoden: getCommonUsersList Diese Methode sucht eine Liste von Benutzernamen, die zu einem gegebenen Suchausdruck passen, und liefert diese aufbereitet für AutoCompletion zurück.

Validierung im ModuleStudio-Generator auf Symfony umgestellt

in  Generator , , ,

Validierung im ModuleStudio-Generator auf Symfony umgestellt
Bislang wurden in generierten Modulen selbstgeschriebene Validierungen verwendet. In den letzten Tagen wurden diese für die Zielversion Zikula 1.4.x abgelöst zu Gunsten der Symfony Validator Komponente. In Symfony können Validierungen in mehreren Notationen definiert werden. Neben PHP und YAML sind auch XML und Annotationen möglich. Im ModuleStudio-Generator haben wir, wie auch im Ticket auf GitHub diskutiert wurde, Annotationen verwendet. Dabei werden Validierungsregeln (“Constraints”) durch @Assert-Annotationen direkt an der entsprechenden Entitätsklasse beziehungsweise den entsprechenden Feldern oder Methoden hinterlegt.

Generator Einstellungen in ModuleStudio 0.6.1 - Überblick und Anwendung

in  Zikula Apps , ,

Generator Einstellungen in ModuleStudio 0.6.1 - Überblick und Anwendung
Wie im letzten Artikel bereits erwähnt, verfügt ModuleStudio seit Version 0.6.1 über eine Reihe von Generator-Einstellungen, mit denen sich unterschiedliche Features und Verhaltensaspekte beeinflussen lassen. Dieser Beitrag gibt einige Anregungen zu möglichen Anwendungsfällen dieser Optionen. Zikula Core Version Bereits von früheren Versionen bekannt ist eine Einstellung für die Version des Zikula Core, für die eine Anwendung generiert werden sollte. Dies ist also nicht neu. Features steuern Ob Templates für unterschiedliche Ausgabeformate, Plugins für andere Module oder Blöcke: optionale Zusatzfunktionen können nun einfach ausgeschaltet werden.

Capabilities in Zikula - Module austauschen für spezielle Szenarien

in  Zikula Apps , ,

Capabilities in Zikula - Module austauschen für spezielle Szenarien
Wenn mehrere Zikula-Module zusammen arbeiten, wird dies in der Regel durch Modulabhängigkeiten ausgedrückt. Damit lässt sich festlegen, dass ein Modul A ein anderes Modul B entweder zwingenderweise voraussetzt oder optional empfiehlt. In größeren Systemen, die aus mehreren Modulen bestehen, reicht dies ab einem gewissen Punkt nicht mehr aus. Austauschbarkeit von Modulen gewährleisten Früher gab es in der Modultabelle von Zikula Flags für bestimmte Funktionen, zum Beispiel isProfile für Profilmodule und isMessaging für Module, die private Nachrichten verwalten können.