Zikula 4 - Die Schlankheitskur beginnt

in  Zikula Apps , ,

Zikula 4 - Die Schlankheitskur beginnt

Bereits vor einiger Zeit sind die Gedankengänge gereift, in welche Richtung sich der Zikula Core 4 bewegen wird. Die wohl wichtigste Änderung besteht darin, dass Zikula nicht mehr Symfony und verschiedene Drittanbieter-Ergänzungen beinhaltet, sondern Erweiterungen für Symfony bereitstellt. Zikula-Bundles können dann wie jede andere Erweiterung mit Composer und Flex eingebunden werden. Das löst einige Knoten, da so das Ökosystem von Symfony einfacher verwendet werden kann, anstatt Lösungen für alle möglichen Anliegen in Zikula selbst bauen zu müssen.

Es wird weiterhin eine offizielle Distribution geben, um mit dem kompletten Zikula zu arbeiten - das ist dann nichts anderes als ein Symfony mit allen zentralen Zikula-Bundles. Aber es wird auch möglich sein, z.B. nur das Theme Layer ohne andere Zikula-Komponenten zu verwenden - oder nur das Benutzersystem und die Permissions von Zikula zu integrieren. Das bedeutet eine gravierende Änderung: im Moment bekommt man nur Zikula komplett oder gar nicht. Mit der Core-Version 4 kann man dann auch mit einem normalen Symfony beginnen und nachträglich einige Zikula-Bundles hinzufügen, wenn man das möchte - so wie man es mit allen möglichen anderen Bundles gewohnt ist. So werden die Dinge viel kompatibler zueinander.

In der Folge bedeutet das nun einen Rückbau zur Verschlankung des alten Core-Systems, um die Dinge zu entkoppeln und sich davon zu verabschieden, alles direkt mitliefern zu müssen. So wird etwa die zusätzliche Verwaltungsschicht für Erweiterungen komplett entfallen. Andere Dinge stellen eigentlich nur ein Frontend zur Verfügung für Funktionen, die Symfony sowieso kann. Auch dynamische Menüs im Adminbereich zusammenklicken oder das Blocksystems sind stark angezählt. Themen wie eine Suchfunktion können mit bestehenden Symfony-Lösungen deutlich effizienter und moderner umgesetzt werden, als es das angestaubte Search-Modul von Zikula ermöglicht.

In den letzten Tagen sind ein paar erste Dinge aus dem Core entfernt worden: so sind die speziellen Themes für Atom- und RSS-Feeds sowie Druckansichten Geschichte. Der grafische Workflow-Editor ist aus dem WorkflowBundle entfallen. Und auch das Hook-System, welches im Prinzip eine redundante Zusatzschicht zum Symfony Event-System geschaffen hat, ist rausgeflogen - auch im ModuleStudio Bundle Generator.

In den nächsten Wochen geht es weiter mit der Konsolidierung. Danach werden die verbleibenden Funktionen gesichtet und neu arrangiert, mit dem Ziel eine überschaubare Anzahl unabhängiger (d.h. möglichst stark voneinander entkoppelter) Bundles zu schaffen, welche auch einzeln verwendet werden können.

Interessant für diese Entwicklungen sind auch die Komponenten von Symfony UX: da nun sehr einfach Funktionen wie ein AutoCompletion definiert werden können, werden wieder aktuell in Zikula verankerte Abhängigkeiten aufgelöst. Falls man also in ModuleStudio ein AutoCompletion modelliert, dann wird das generierte Bundle eben eine Abhängigkeit auf symfony/ux-autocomplete beinhalten. Falls es Upload-Felder gibt, wird symfony/ux-dropzone eingebunden, und bei Bildern vielleicht noch symfony/ux-cropperjs. Hier zeigt sich schön, dass die frühere Strategie, dass ein Zikula Core alles mögliche mitbringt und bereitstellt, einfach nicht mehr dazu passt, wie unterschiedlich die damit realisierten Anwendungen aussehen.

Weitere Beiträge in Kategorie Zikula Apps

Kommende Neuerungen in Symfony 6.4
- Die Veröffentlichung der nächsten Symfony-Version 6.4 steht bevor. Wie immer gibt es regelmäßige Einblicke in die wichtigsten, zu erwartenden Features und Verbesserungen. Dieser Beitrag zeigt im …
Symfony vereinfacht zeitgesteuerte Aktionen mit neuer Scheduler-Komponente
- Mit Symfony 6.3 sind wieder allerhand neue Features hinzugekommen. In diesem Beitrag möchte ich kurz die neue Komponente Scheduler vorstellen, mit welcher der Symfony Messenger um zeitgesteuerte …
SSO mit Keycloak und Symfony
- Mit der Java-basierten Software Keycloak wird die Verwaltung und Authentifizierung von Nutzern zentral gelöst. Hierbei bleiben kaum Wünsche offen: egal ob nun ein Registrierungsprozess, die …
Symfony UX Translator bietet Mehrsprachigkeit in JavaScript
- Bereits seit einigen Jahren gibt es das BazingaJsTranslationBundle, welches es erlaubt, den Symfony Translator auch Client-seitig zu verwenden. Auch in Zikula kommt dieses Bundle zum Einsatz, …
Kommende Neuerungen in Symfony 6.3
- Die Veröffentlichung der nächsten Symfony-Version 6.3 ist für Ende Mai 2023 geplant. Wie immer gibt es regelmäßige Einblicke in die wichtigsten, zu erwartenden Features und Verbesserungen. Dieser …