Ab der Core-Version 1.5 steht in Zikula die Workflow-Komponente von Symfony zur Verfügung. Dieser Beitrag zeigt einige Vorteile und erweiterte Funktionen in der Zikula-Integration auf.
Ein zentraler Vorteil des neuen Workflow-Systems liegt darin, dass ein einfaches Entity-Feld zur Speicherung des aktuellen Zustands ausreicht. Im Gegensatz zum alten System sind keine zusätzlichen Datensätze in einer Workflow-Tabelle mehr notwendig, die hinzugeladen und mit den Entitäten synchron gehalten werden müssen. Dies vereinfacht die Handhabung enorm, insbesondere wenn es um den Import von Daten geht.
In diesem Beitrag wird gezeigt, wie man eine ganze Reihe von Modulen automatisch mit Hilfe eines Bash-Skriptes neu generieren kann. Auch die Übersetzungen der Module können automatisch neu generiert werden. Das spart mühsame Handarbeit, insbesondere wenn die Anzahl der Module in größeren Projekten zunimmt.
Das erste Skript verwendet den Standalone Generator von ModuleStudio und aktualisiert damit die Implementierung der Module. Dateien, die in den Modellen in der markFiles-Direktive angegeben sind, werden entfernt - das ist aber Geschmackssache und kann je nach Vorliebe anders ausgestaltet werden.
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.
Gastbeitrag von Ralf Köster
Habt ihr schon mitbekommen, dass es seit 0.7.3 auch einen standalone Generator gibt? Sicherlich habt ihr dass, aber ihr fragt euch, was ihr damit machen könnt? Ich versuche hier einmal zu beschreiben, was ich damit mache.
Ich selber komme aus der Windows-Ecke. Für uns passt das Beispiel aus der Doku mit wget usw. nur bedingt. Aber auch unter Windows kann der Generator gute Dienste leisten. Unter Windows haben die guten alten *.
Gastbeitrag von Ralf Köster
Habt ihr einen Webspace, der einen SSH-Zugang bietet, aber ihr wisst nicht, wie man den gewinnbringend einsetzt? Ich möchte euch in diesem Beitrag kurz meine Erfahrungen berichten. Erfahre Linuxer und Komandozeilenvirtuosen werden hier schmunzeln, predigen sie doch seit Jahren, dass die Komandozeile das Beste seit der Erfindung der Computer sind. Aber ich bin nun einmal ein ganz einfacher Windowsanwender, der so gut wie alles mit der Maus macht.
Als Cross-Release wurden neue Versionen für die 1.3er und die 1.4er Linie des Zikula Cores veröffentlicht. Zikula 1.4.4 hat eine ganze Reihe Neuerungen an Bord.
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.
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.
Das neue Modul basiert auf dem KnpMenuBundle, welches wiederum die Bibliothek KnpMenu integriert. Dabei handelt es sich um eine objektorientierte Bibliothek zum Erstellen und Darstellen jeglicher Menüs.
Craig Heydenburg hat in den letzten Wochen die Benutzerverwaltung (Users-Modul) im Zikula-Core zur Unterstützung von Twig und Symfony Forms überarbeitet. Doch damit nicht genug: er hat zudem jegliche Funktionalität in Bezug auf die Registrierung und die Anmeldung von Benutzern in ein eigenes Systemmodul namens ZAuth separiert, welches ebenfalls im Core enthalten ist.
Als Teil dieser Auslagerung wurden die Schnittstellen zur Implementierung von Authentifizierungsmethoden generalüberholt. Damit wird es nun einfacher, andere Wege zur Erstellung neuer Benutzer und zum Login derselben anzubieten.
Das alljährliche Camp Zikula wird dieses mal in der Nähe von Osnabrück durchgeführt. Als Termin wurde das Wochenende vom 23. bis zum 25. September 2016 gewählt.