Ein Beispiel, wie man ein Projekt mit mehreren MOST-Modulen gut strukturieren kann

in  Basics , , ,

Ein Beispiel, wie man ein Projekt mit mehreren MOST-Modulen gut strukturieren kann

Gastbeitrag von Ralf Köster

Für unsere Pfarreiengemeinschaft ist es nun an der Zeit, einmal die alte Zikula Seite zu modernisieren. Wir haben entschieden, dass es nur wenige der alten Module auf die neue Seite schaffen sollen. Das sind in diesem Falle News, Content und Scribite. Bei allen drei Modulen gehen wir davon aus, dass sie auch noch viele Jahre bestehen bleiben werden. Alles andere wollen wir mit MOST-Modulen machen. Damit sind wir hoffentlich zukunftssicherer, als jemals in der Vergangenheit.

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.

Dokumentation für ModuleStudio 0.7 überarbeitet

in  Verschiedenes , ,

Dokumentation für ModuleStudio 0.7 überarbeitet

Vor ein paar Wochen ist die Dokumentation von ModuleStudio auf Markdown umgestellt worden, was die Mitarbeit für die Nutzer vereinfacht. Auf jeder Seite der Doku befindet sich jetzt ein Edit on GitHub-Link, mit dem man sich direkt einen Fork erstellen und dort die gewünschten Änderungen einbringen kann.

In den letzten Tagen wurde das Handbuch als Vorbereitung für die kommende neue Version überarbeitet und ausgebaut. In diesem Zuge sind auch die veralteten Video-Tutorials aufgelöst worden. Es gibt jetzt nur noch ein zentrales, großes Handbuch statt einem Haufen Einzelseiten. Dies erleichtert insbesondere neuen Nutzern den Einstieg und bringt eine verbesserte Übersicht.

Schönere Property Views in MOST 0.7

in  Verschiedenes ,

Schönere Property Views in MOST 0.7

In ModuleStudio 0.7 wird es eine neue Ansicht für die Eigenschaften von Modellelementen geben. Statt der bisherigen Tabellenansicht ist die neue View eher wie ein Formular aufgebaut und ermöglicht damit eine übersichtlichere Darstellung.

Die neue Ansicht sieht nicht nur schöner aus, sondern erlaubt auch mehr Funktionalität innerhalb der Eigenschaften, wie zum Beispiel die Anzeige von Validierungsfehlern direkt beim jeweiligen Eingabefeld.

Aktuell werden die Formulare noch nach einem Standardverfahren automatisch für die Eigenschaften erstellt. Einzelne Anpassungen, wie zum Beispiel eine Gruppierung der Eigenschaften in unterschiedliche Sektionen oder die Anpassung der Darstellung einzelner Felder, werden nicht mehr für 0.7, sondern in einer späteren Version umgesetzt. Die alte Tabellenansicht wird zusätzlich verfügbar sein, bis die neue Darstellung komplett ausgereift ist.

Erneuertes Build-System für ModuleStudio

in  Builds & Tests , , ,

Erneuertes Build-System für ModuleStudio

Die Komponenten von ModuleStudio werden nun mit anderen Technologien gebaut. Statt Buckminster wird jetzt das Maven-basierte Tycho eingesetzt. Die Jenkins-Jobs wurden auf Pipelines umgestellt und unterstützen somit nun mehrere Branches.

Tycho für Features in mehreren Repositories

Im ersten Schritt habe ich daran gearbeitet, die Builds lokal mit Tycho zum Laufen zu kriegen. Eine Herausforderung dabei war es, die Builds für alle Komponenten, die in unterschiedlichen Git-Repositories liegen, mit möglichst wenig Redundanz zu beschreiben. Dies funktioniert über eine gemeinsame Root-POM, die im zentralen Produkt-Repository liegt. Dieses muß ohnehin allen Builds zusätzlich zum Repository der jeweiligen Komponente bekannt gemacht werden, da das Branding-Bundle von allen Features benötigt wird.

Produktkonfigurator mit Live-Vorschau

in  Verschiedenes , , , ,

Produktkonfigurator mit Live-Vorschau

Normalerweise geht es in diesem Blog nicht um Showcases. Da die Realisierung des im Folgenden vorgestellten Konfigurators jedoch technisch sehr interessant gemacht ist, soll es einmal eine Ausnahme geben.

Auf my-orden.de ist ein Orden Designer verfügbar, mit dem sich individuelle Orden für Karneval, Jubiläen und andere Anlässe konfigurieren lassen. Unter der Haube stecken Zikula, ein Modul auf Basis von ModuleStudio, Bootstrap und eine Menge JavaScript.

Bei unterschiedlichen Orden lassen sich verschiedene Materialoberflächen und Farben auswählen. Diese Varianten werden als Rasterbild angezeigt, so dass man einen Eindruck bekommt, wie das jeweilige Produkt aussieht. Zur weiteren Personalisierung lassen sich Bilder und Texte einfügen und mittels zahlreicher Parameter anpassen. Manche Orden können auch mit einem Anhänger kombiniert werden, der wie ein eigenes Produkt behandelt wird und - je nach Modell - ebenfalls ein Bild enthalten kann.

Funktion für automatisches Update integriert

in  Builds & Tests ,

Funktion für automatisches Update integriert

ModuleStudio 0.7 beinhaltet nun eine automatische Aktualisierung. Damit wird das Herunterladen neuer Versionen unnötig. Beim jeden Start der Anwendung werden verfügbare Updates gesucht und, sofern vorhanden, automatisch heruntergeladen und installiert.

Es gibt zwei Kanäle: stable und staging. Nach jeder erfolgreichen Erstellung eines Produktes durch den CI-Server werden die Dateien in das Staging-Repository kopiert. Release-Builds werden zusätzlich in das Stable-Repository kopiert.

In den Einstellungen von ModuleStudio lässt sich konfigurieren, ob lediglich stable Updates (Standard) oder auch staging Updates gewünscht sind. Falls die staging-Option aktiviert wird (was empfehlenswert ist, wenn man die neuesten Bugfixes und Neuerungen haben möchte), erhält man jedes mal ein Update, nachdem der CI-Server ein neues Produkt gebaut hat (was relativ häufig passiert, zum Beispiel nach einem Generator-Fix).