Wie Module mit dem Event-System von Symfony miteinander interagieren können
Freitag, 03. März 2017

In Zikula gibt es verschiedene Konzepte zur Zusammenarbeit zwischen unterschiedlichen Modulen. Beispielsweise gibt es die Capabilities, mit denen Module bestimmte Fähigkeiten deklarieren oder einfordern können. Und mit dem Hook-System können Module in andere Module eingebunden werden, ihre Daten validieren oder weiterverarbeiten.

Unter der Haube basieren Hooks auf Events. Dieser Beitrag zeigt, wie man das Event-System von Symfony direkt verwenden und damit eine weitere, wesentlich flexiblere Möglichkeit zur modulübergreifenden Interaktion nutzbar macht.





ModuleStudio 0.7.0 veröffentlicht
Sonntag, 01. Januar 2017
Bild 0 für 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.

 



Neues Menümodul in Zikula 1.4.4
Montag, 10. Oktober 2016
Bild 0 für Neues Menümodul in Zikula 1.4.4

Die kommende Zikula Core-Version 1.4.4 hat ein neues Systemmodul an Bord. Mit dem MenuModule lassen sich unterschiedliche Menüs definieren und einsetzen. Damit werden die bisherigen Blöcke (z. B. extmenu, menutree) abgelöst, die jedoch aus Gründen der Abwärtskompatibilität weiter vorhanden sind und erst mit der Version 2.0 entfernt werden.


Umstellung der Zikula-Systemmodule für 2.0
Samstag, 30. April 2016

Gegenwärtig werden die verbleibenden Systemmodule, die im Zikula Core enthalten sind, auf Twig und Symfony Forms umgestellt. Während Craig an den großen Brocken Users und Groups arbeitet, habe ich ein paar kleinere Module migriert, im Einzelnen Mailer, PageLock, Admin und Search. Als nächstes werde ich wohl das SecurityCenter angehen. Der Fortschritt an diesem Prozess kann in diesem Ticket verfolgt werden.



Zikula 1.4.1 wurde veröffentlicht
Dienstag, 24. November 2015

Der Zikula Core wurde gestern in der Version 1.4.1 veröffentlicht. Neben einigen Korrekturen wurden alle Systemmodule auf PSR-4 umgestellt. Außerdem wurden die Modul- und Theme-Spezifikationen für 2.0.0 finalisiert. Weitere Details finden sich im deutschsprachigen Release Announcement.


Spannende Neuerungen bei Zikula
Sonntag, 18. Oktober 2015

Nachdem in Zikula 1.4.0 viele Änderungen am "Unterbau" des Frameworks vorgenommen wurden, von denen nur einige an der Oberfläche sichtbar sind (wie etwa die Nutzung der Symfony Routing Komponente oder der Einsatz von Font Awesome), kommen nun langsam auch andere Dinge an die Reihe, von denen das Zikula-Ökosystem mindestens ebenso stark profitieren kann.



MySQL-spezifische Funktionen in DQL nutzen
Dienstag, 30. Juni 2015

Im Kern von Doctrine 2 wird Wert darauf gelegt, dass die Doctrine Query Language (DQL) möglichst portabel bleibt, damit Projekte einfach mit unterschiedlichen Datenquellen arbeiten können. Bei Webanwendungen kommt es immer wieder einmal vor, dass man eine bestimmte Funktion benötigt, die zwar in MySQL existiert, jedoch nicht von DQL unterstützt wird.


Zikula 1.4.0 RC3 veröffentlicht
Sonntag, 28. Juni 2015

Das Zikula-Team hat den dritten Release-Kandidat für den Zikula Core 1.4.0 veröffentlicht. Sofern keine gravierenden Probleme mehr auftreten, wird dieser RC nach Feedback der Community vermutlich zum finalen Release erklärt. Für weitere Informationen zu diesem Release bitte hier weiterlesen. Gleichzeitig wurde auch der RC1 von Zikula 1.3.10 freigegeben.

Die Version 1.4 bringt einige neue Technologien und Werkzeuge mit sich. Im Frontend-Bereich werden beispielsweise nun jQuery und Bootstrap per Standard verwendet, Prototype nur noch aus Gründen der Abwärtskompatibilität mitgeführt. Aber auch unter der Haube hat sich sehr viel getan, da 1.4.0 eine Symfony-basierte Modulstruktur einführt, die den sanften Übergang zu Zikula 2.0.0 ermöglicht.

Wir haben bereits ein Projekt mit Zikula 1.4 laufen, das wir beim im Juli anstehenden Camp vorstellen werden.

 




Multisites v2.0.0 fertig gestellt
Samstag, 18. Oktober 2014

Im letzten Beitrag wurde die Weiterentwicklung des Multisites-Moduls beschrieben. Mittlerweile ist die neue Version im GitHub-Projekt verfügbar. Wer Multisites aktuell im Einsatz hat oder grundsätzlich an dem Modul interessiert ist, ist hiermit herzlich eingeladen, das neue Modul zu testen. Empfohlen wird dazu die Zikula-Version 1.3.9. Anmerkungen, Fehlermeldungen usw. bitte im Issue Tracker auf GitHub eintragen, vielen Dank für Euer Feedback!


Multisites auf Basis von ModuleStudio
Montag, 15. September 2014

Mit dem Multisites-Modul lassen sich beliebig viele Seiten mit einem einzigen Zikula-System betreiben. Mit Vorlagen, die im Prinzip SQL-Dumps repräsentieren, können neue Seiten auf Knopfdruck erstellt werden. Jede Seitenvorlage beinhaltet damit die vorab definierten Strukturen und -daten out of the box.

Jede Internetseite verfügt (aus Gründen der Architektur und der Skalierbarkeit) über eine eigene Datenbank. Es ist auch möglich, dass mehrere Internetseiten mit der gleichen Datenbank arbeiten. Dies erfordert jedoch entsprechende Anpassungen in den verwendeten Themes.

Mittlerweile nutzen wir das Multisites-Modul seit mehreren Jahren aktiv. Im Laufe solch einer Zeitspanne fallen natürlich auch Defizite auf, so dass sich einige Bugs und Feature Requests angesammelt haben. Daher haben wir beschlossen, eine neue Major-Version mit ModuleStudio zu entwickeln. Diese Version 2 wird das Modul nicht nur wartungsfreundlicher und so robuster für die Zukunft machen, sondern auch einige neue Funktionen mitbringen. Dieser Beitrag dient als Appetitmacher und stellt einige Highlights vor.


Allgemeine und eigene Symfony-Events in generierten Zikula-Modulen
Montag, 14. Juli 2014

In ModuleStudio 0.6.2 liegt der Fokus auf die Anpassung des Generators auf Symfony und Bootstrap, was die Zielversion Zikula 1.4.0 anbelangt (Details im Changelog).

Einige Neuerungen betreffen das Zusammenspiel mehrerer Module, die miteinander interagieren. Erstens werden nun Factory-Klassen für Entitäten und Repositories in Verbindung mit Service-Parametern eingesetzt, mit denen man die Entität eines Moduls X von einem Modul Y heraus erweitern und anpassen kann. Zweitens werden in den Doctrine Lifecycle-Events der Entitäten eigene Symfony-Events verwendet, mit denen sich ein anderes Modul einhaken kann.


Bootstrap in Zikula 1.3.x - Zusammenspiel mit Prototype
Sonntag, 06. Juli 2014

Zikula verwendet ab Version 1.4.0 Bootstrap zur Ausgestaltung der Oberfläche. Natürlich kann man Bootstrap aber auch bereits für 1.3.x einsetzen. Wir haben mittlerweile eine gute Hand voll Themes mit Bootstrap unter 1.3.x erstellt oder umgebaut. Problematisch kann es werden, wenn man JavaScript-Komponenten von Bootstrap einsetzen möchte, gleichzeitig aber noch Prototype von irgendeinem Modul geladen wird.


Optimierung im Detail - Schreibweisen von Entitäten und Feldern im Modell
Samstag, 07. Juni 2014

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. Dieser Beitrag zeigt auf, was es bedeutet, ob der Name einer Entität oder eines Feldes so oder so geschrieben wird.


Ajax-Controller und seine Funktionen
Freitag, 23. Mai 2014

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. Dieser Beitrag zeigt, welche Ajax-Methoden es aktuell im Generator gibt und wo diese verwendet werden beziehungsweise wie sich diese für eigene Zwecke einsetzen lassen.



« 1 2 »
^