Die letzten Verbesserungen im ModuleStudio-Tooling

in  Zikula Apps , , ,

Die letzten Verbesserungen im ModuleStudio-Tooling

Mit den meisten ModuleStudio-Versionen werden nicht nur Korrekturen und Verbesserungen im Generator, sondern auch kleinere Veränderungen für die Editoren vorgenommen. Dieser Beitrag stellt zwei spezifische Neuerungen im Detail vor.

Verbesserte Fehlertoleranz verzeiht falsche Änderungen

In ModuleStudio 1.3.0 wurde beispielsweise dafür gesorgt, dass invalide Änderungen im textuellen Editor - egal ob unabhängig vom graphischen Editor oder eingebettet im Diagramm - dazu führen, dass das komplette Diagramm gelöscht wird.

Wie im Handbuch gezeigt, werden nicht (mehr) erkannte semantische Elemente im Diagramm markiert, was besagt, dass sie beim nächsten Speichern verschwinden würden.

Alle noch im Winterschlaf?

in  Verschiedenes , ,

Alle noch im Winterschlaf?

Gegenwärtig passiert nicht wirklich viel Spektakuläres. Dennoch sind einige Aktivitäten im Gange. Dieser Beitrag gibt einen kurzen Überblick.

  • Im Zikula Core wurden nach dem letzten Cross-Release zwischenzeitlich neue Vendor-Updates eingespielt. So gab es unter anderem bereits neue Symfony Upgrades für Zikula 1.5.6 und 2.0.6.
  • Bei ModuleStudio sind seit dem Release von 1.3.0 ein paar kleinere Änderungen für 1.3.1 eingeflossen. Auch wenn diese recht bescheiden aussehen, so ist es doch die Summe der kleinen Dinge, die im Ergebnis die Qualität des Produktes ausmacht ;-) Es scheint, als wäre nun ein Momentum erreicht, was Stabilität und Funktionsumfang anbelangt. Im Tracker finden sich auch fast nur noch Feature Requests, die nicht allzu eilig sind.

Aktuell bin ich noch in Kundenprojekten eingespannt, wobei ein größeres Projekt bald abgeschlossen sein dürfte. Ich hoffe, dann endlich mehr Zeit für das Content-Rewrite zu finden.

Rewrite von Content geplant

in  Zikula Apps , , , , ,

Rewrite von Content geplant

Eines der wichtigsten Module für Zikula ist Content, da es in vielen Projekten als gemeinsames Dach fungiert und Inhalte aus unterschiedlichen Quellen in eine einheitliche Schnittstelle zu den Redakteuren bringt. Daher ist es unabdingbar, dieses Modul fit für die aktuelle Generation Zikula 2.x zu machen.

In den letzten Wochen haben wir überlegt, was konzeptionell für eine neue und modernisierte Version 5 des Content-Moduls notwendig ist. Anfang Januar ging es dann endlich an die ersten Schritte: die Modellierung des Moduls. Der aktuelle Zwischenstand des ModuleStudio-Modells ist auf GitHub verfügbar. Auch bei der Projektplanung bzw. der Ticketverwaltung wurden bereits erste, noch geringfügige Schrittchen gemacht.

Automatisierte Tests - ein Zwischenstand

in  Builds & Tests , , ,

Automatisierte Tests - ein Zwischenstand

Seit dem kürzlich angekündigten Start der Testautomatisierung von ModuleStudio ist bereits eine Menge geschehen. So gibt es knapp 1.000 Tests für die DSL, darunter vorwiegend für UI-unabhängige Komponenten, wie den Parser, den Serialisierer, den Formattierer und die Validierungsregeln. Hier haben wir eine Testabdeckung von etwa 95% erreicht und konnten einige Fehler in der Validierungsschicht beheben.

Auch der Generator wird bereits mit einer Abdeckung von über 90% getestet. Hier ging es bislang allerdings vorwiegend darum, möglichst viele Varianzen zu durchlaufen, um zum Beispiel Null Pointer Exceptions zu verhindern. Weitere Tests für einzelne inhaltliche Aspekte werden dann nach und nach auf der Basis von spezifischen Bug Reports ergänzt.

Ran an die Tests!

in  Builds & Tests , ,

Ran an die Tests!

Schon ewig geplant, aber lange schmählich vernachlässigt, habe ich bei ModuleStudio die automatisierten Tests. Zwar ist schon seit Längerem die Infrastruktur dahingehend ausgerichtet, was beispielsweise die Git-Struktur und die Jenkins-Pipelines anbelangt, allerdings bringt das relativ wenig, wenn es fast nur Dummy-Tests ohne jeglichen Inhalt gibt.

Da ModuleStudio 1.1.0 kürzlich veröffentlicht wurde, konnten danach in der Entwicklungsversion 1.2.0 einige Altlasten entfernt werden. Da hat es sich im Hinblick auf Timing und Ausgangslage angeboten, endlich zu starten.

Kategorien in Zikula - weit mehr als nur Themen

in  Basics , ,

Kategorien in Zikula - weit mehr als nur Themen

Der Zikula Core enthält eine zentrale Verwaltung für Kategorien, mit denen man vielfältige Lösungen umsetzen kann. Die häufigste Verwendung von Kategorien ist sicherlich eine thematische Zuordnung von Inhalten. So lassen sich beispielsweise Newsartikel unterschiedlichen Themengebieten zuordnen. Dieser Artikel ist etwa in der Kategorie “Basics”. Im Folgenden wird ein Überblick darüber gegeben, was sich darüber hinaus noch alles mit Kategorien machen lässt.

Zunächst einmal bietet das Kategoriensystem einige Funktionen, die allgemein nützlich sind.

Vereinfachung der DSL in Bezug auf Variablen

in  Metamodell , , ,

Vereinfachung der DSL in Bezug auf Variablen

Gegenwärtig arbeiten wir an der Konzeption einer Änderung in der Modellierungssprache von ModuleStudio, die uns schon seit Längerem umtreibt. Noch aus der Anfangsphase des Projektes gibt es neben den Feldern einer Entität auch Elemente für Variablen, die zentrale Konfigurationseinstellungen repräsentieren. Diese Variablen wurden bislang allerdings eher stiefmütterlich behandelt. Anstatt diese nun weiter aufzubohren, geht die Strategie eher in die Richtung, die normalen Feldtypen auch für Variablen wiederzuverwenden.

ModuleStudio kann anhand des Containers eines Feldes immer noch erkennen, ob es sich hierbei um ein Feld einer Entität oder um eine Konfigurationseinstellung handelt. Wenn also ein Variablen-Container auch normale Felder enthalten kann, können die zusätzlichen Variablen-Elemente entfallen. Diese würden übergangsweise in ModuleStudio 1.1.0 noch weiter unterstützt, jedoch eine Warnung oder einen Fehler verursachen. In ModuleStudio 1.2.0 werden sie dann komplett entfernt.