In ModuleStudio gibt es für jede Entität eine Einstellung namens ownerPermission
. Dieser Schalter legt fest, ob Benutzer in der Lage sein sollen, (lediglich) ihre eigenen Daten zu verwalten und zu bearbeiten. Diese Option kann in vielen Anwendungsfällen nützlich sein: in einem Magazin, das Beiträge von mehreren Autoren veröffentlicht, soll beispielsweise jeder Nutzer neue Beiträge einreichen, aber auch nur seine eigenen Beiträge bearbeiten können. Oder vielleicht möchte man in einem Urlaubsportal den Nutzern die Möglichkeit bieten, eigene Reiseangebote einzustellen und diese auch zu verändern. Natürlich soll aber die Veränderung fremder Angebote nur für Moderatoren und Administratoren erlaubt sein.
Zikula Core 3 bietet Mittel für dynamische Formularelemente
Das Profile-Modul von Zikula bietet seit langer Zeit die Möglichkeit, die einzelnen Angaben der Benutzerprofile flexibel zu verändern und nach Belieben zu konfigurieren. Diese Funktionalität wurde im Laufe der letzten Jahre mehrfach umgebaut und basiert mittlerweile auf Symfony Forms. Diese Implementierung ist relativ smart gelöst: man wählt zunächst einen Feldtyp aus und anschließend werden via Ajax automatisch weitere Felder zur Spezifikation der dazugehörigen, möglichen Feldoptionen geladen.
Etwas abstrahiert betrachtet lassen sich hiermit also Meta-Formulare zur Definition von Formularen definieren. Nun ist dies ja nicht nur für Benutzerprofile, sondern für zahlreiche weitere Anwendungen interessant: beispielsweise könnte man Kontaktformulare dynamisch zusammenbauen; das selbe gilt für jegliche Art von Umfragen. Oder man möchte einfach zu einem beliebigen Datenobjekt dynamisch weitere Angaben dokumentieren - damit könnte solch eine Funktion perspektivisch auch für die generischen Attribute, welche sich für diverse Entitäten nutzen lassen, nützlich sein.
Prägnante und strukturierte Stylesheets mit SCSS
Auch wenn es für einige Leser ein alter Hut ist, so gibt es dennoch sicherlich andere, die noch keine Erfahrungen mit Less oder Sass haben. Daher sei einmal das sehr leicht zu erlernende SCSS (Sassy CSS) vorgestellt, mit dem sich stufenlos Sass-Funktionen in CSS einfügen lassen.
Der Einstieg
Bereits die grundlegenden Funktionen, wie Variablen und Verschachtelung, helfen dabei, die Stile deutlich einfacher zu handhaben. Redundanzen werden vermieden und die Änderbarkeit erhöht. Die beiden verlinkten Seiten zeigen dies mit anschaulichen Beispielen.
Neue Generator-Verbesserung zur Darstellung von Geodaten
Bereits seit einigen Jahren ist es möglich, Entitäten in ModuleStudio als geografisch zu kennzeichnen. Dies führt dazu, dass den entsprechenden Objekten Felder zur Speicherung von Koordinaten hinzugefügt werden. In der Detailansicht eines Objektes wird dann mit Hilfe der (sehr flexiblen und mächtigen) Bibliothek Leaflet eine Karte eingebunden. Auch beim Bearbeiten eines Datensatzes wird eine Karte zur Verfügung gestellt, welche die Angabe der Position durch Setzen eines Markers erlaubt. Auch andere Funktionen, wie etwa Geolocation, werden unterstützt.
Der Fokus von Zikula Core 3
Mit der Verfügbarkeit einiger zentraler Module für Zikula 2 ist eine der größten Hürden beseitigt, die den Umstieg für viele Nutzer in der Vergangenheit erschwert oder gar blockiert hatte. Die letzten kleineren Updates wurden auch nur noch für Zikula Core 2.0.x veröffentlicht - die Serie Zikula Core 1.5.x hingegen ist - von sicherheitsrelevanten Patches abgesehen - eingestellt.
Grund genug, einmal einen Blick nach vorne zu werfen, um zu schauen, welche Punkte in der Zukunft anstehen. Wichtig bei der Abgrenzung für Zikula Core 3 war insbesondere, hier einen eher schlanken Schnitt zu machen. Es werden nur wenige ausgewählte Punkte angegangen, alles weitere kann dann wiederum in Version 4 folgen. Lieber kleinere Päckchen und dafür kürzere Intervalle.
Content Management mit Zikula 2 in der Praxis ausprobiert
Nachdem kürzlich einige Module erschienen sind, um Inhalte mit Zikula 2 zu verwalten, haben wir nun zwei mittelgroße Projekte damit aufgebaut. Auch wenn im Detail noch nicht alles 100%ig am Schnürchen lief, ist das Gesamtergebnis unter dem Strich doch sehr erfreulich. Insgesamt fühlt sich das neue Content deutlich “fluffiger” an: die Wege sind kürzer geworden und somit wird eine flüssigere Arbeitsweise unterstützt.
Einige neue Funktionen haben wir im Rahmen der ersten Projekte insbesondere beim Medienmodul nachgerüstet. So ist es beispielsweise sehr hilfreich, bei der Auswahl von Bildern - sowohl im Content Type als auch zum Einfügen in einen der in Scribite vorhandenen WYSIWYG-Editoren - direkt eine Vorschau des jeweiligen Bildes angezeigt zu bekommen.
Neue Module braucht das Land
Hier gibt es einige frisch geschnürte Module für Zikula 2.0.11:
- Content 5.0.1
Die Basis für anspruchsvolles Content Management. - Formicula 5.0.0
Formulare zur Kontaktaufnahme, für Anmeldungen, Reservierungen usw. - Media 1.3.0 beta
Organisation von Bildern und anderen Medien. - Scribite 6.0.2
Integration unterschiedlicher WYSIWYG-Editoren.
Atom-Editor zur Symfony- und Zikula-Entwicklung einrichten
Rund um den ursprünglich von GitHub ins Leben gerufene Editor Atom hat sich mittlerweile ein ansehnliches Ökosystem entwickelt. So existieren aktuell bereits knapp 8.000 Erweiterungen für alle möglichen Einsatzzwecke und über 2.500 Themes zur Veränderung der Darstellung. Atom gilt als äußerst anpassbarer Editor, da das Konzept der Packages direkt im Kern verankert ist.
Zu den subjektiv für mich vielversprechendsten Funktionen gehören die nahtlose Einbindung von Git-Workflows und GitHub sowie das sogenannte Teletype, welches die simultane Arbeit mit mehreren Entwicklern ermöglicht - ähnlich wie man es von Google Docs kennt.
Content 5 beta und Demovideo
In der letzten Zeit ist die Arbeit an der neuen Version des Contentmoduls enorm vorangeschritten. Abgesehen von der angepassten Versionierung von Änderungen ist sie im Prinzip “feature-complete”. Daher haben wir für Zikula 2.0.10 eine Beta-Version veröffentlicht.
Außerdem haben wir ein Video erstellt, welches die wichtigsten Funktionen und das Arbeiten mit dem neuen Content vorstellt.
Zikula 1.5.8 und 2.0.9 veröffentlicht
Es gibt wieder neue Core-Releases, welche einige Verbesserungen und auch zwei Sicherheitspatches von Symfony mitbringen. Hier die Links zu den einzelnen Änderungen:
Als Cross-Release wurden neue Versionen für die 1.5er und die 2.0er Linie des Zikula Cores veröffentlicht. Zikula 1.5.x basiert auf Symfony 2.8 und beinhaltet eine Kompatibilitätsschicht für ältere Erweiterungen und Anwendungen. Zikula 2.0.x verwendet hingegen Symfony 3.4 und bietet keinen Legacy-Support. Beide Updates bringen diverse Aktualisierungen verwendeter Drittkomponenten und auch einige Korrekturen. Weitere Details finden sich auf der Projektseite.