Für ein Projekt habe ich kürzlich mehrere DataGrid-Komponenten im Hinblick auf den funktionalen Umfang, die Aktivität der Entwicklung und den Grad der Anpassbarkeit verglichen. Einige Kandidaten in der engeren Auswahl waren unter anderem SlickGrid, DataTables, bs_grid und jQuery Bootgrid. Für mich hat aber Bootstrap Table das Rennen gemacht. Es bietet eine ganze Reihe Extensions, bleibt dabei aber immer nahe an einer responsiven Bootstrap-konformen Darstellung. Vielleicht hilft dieser Tipp ja dem ein oder anderen, der eine ähnliche Funktionalität benötigt.
ModuleStudio-Releaseplan und Website-Design
In den nächsten Tagen werden Zikula 1.5.0 und 2.0.0 als Cross-Release erscheinen. Beide Versionen sind funktional identisch. Der Unterschied liegt darin, dass der Unterbau von Zikula 2 auf Symfony 3 basiert, wohingegen bei Zikula 1.5 weiterhin Symfony 2.8 zum Einsatz kommt. In Zikula 2 ist ferner jegliche Legacy-Unterstützung entfernt worden.
Aus Marketing-Gründen haben wir schon länger besprochen, dass zusammen mit Zikula 2.0 auch ModuleStudio 1.0 zur Verfügung stehen sollte. Daher geht meine Überlegung in die Richtung, dass zunächst ModuleStudio 0.7.5 veröffentlicht wird, welches alle aktuellen Generator-Fixes beinhaltet. Anschließend wird der Support für Zikula 1.4.x aus der DSL entfernt, welche aktuell noch als Standard eingestellt ist. Statt dessen wird per Standard für Zikula 2.0 generiert und weiter die Möglichkeit geboten, auf 1.5 umzustellen. Nach dieser kleinen Änderung wird dann ModuleStudio 1.0.0 direkt nach 0.7.5 das Licht der Welt erblicken.
Symfony-Workflows in Zikula nutzen
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.
Batch-Verarbeitung von Modulen mit der Bash
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.
Wie Module mit dem Event-System von Symfony miteinander interagieren können
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.
Standalone Generator im ersten Praxistest
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 *.bat
-Dateien schon länger ausgedient. Dafür verwendet man heutzutage besser PowerScript (PS), was bei Windows ab Windows 7 bereits mit an Bord ist.
Wget ist des Admins Freund
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. Und genau an solche Mitstreiter wendet sich hier mein Artikel.
Zikula 1.3.11 und 1.4.4 veröffentlicht
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.
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.
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. Insbesondere wird auch eine Twig-Integration direkt mitgeliefert. Ein für Modul- und Theme-Entwickler interessanter Aspekt ist hierbei, dass sich Menüs nun auch programmatisch sehr einfach erstellen lassen. Der interessierte Leser sei hierbei auf die Dokumentation und einen zusätzlichen Artikel verwiesen.