Spannende Neuerungen im Zikula Core

in  Zikula Apps , , , , ,

Spannende Neuerungen im Zikula Core

In Zikula 3 werden endlich weitere hilfreiche Funktionen von Symfony verwendet. Zikula 2.x hat bereits auf Symfony 3.4.x aufgesetzt, aber aus Rücksicht auf die Abwärtskompatibilität noch nicht alle Potenziale ausgereizt. Die aktuelle Arbeitsversion von 3.0.0 basiert indes auf Symfony 4.2.4 und setzt noch stärker auf die mit Symfony einhergehenden Möglichkeiten.

Besonders angetan bin ich von den Modernisierungen bei der Dependency Injection: mit dem sogenannten Autowiring werden Services automatisch injiziert, es ist keine manuelle Definition (via YAML oder XML) mehr notwendig. Symfony erkennt automatisch anhand der Typehints in Konstruktor oder anderen Methoden, welche Services injiziert werden müssen. Zweitens können auch Service Tags mit dem Autoconfiguring automatisch gesetzt werden: Symfony leitet hierbei aus einem Interface ab, welches Tag zu vergeben ist. Sobald also zum Beispiel ein Block oder Content Type gebaut wird, wird dieser automatisch als solcher gekennzeichnet. Wir haben dies nicht nur im Core und allen Systemmodulen eingeführt, sondern natürlich auch im ModuleStudio-Generator. Insbesondere bei Anpassungen generierter Module lassen sich unnötige Arbeitsschritte vermeiden, mußte man doch bisher immer die YAML-Definitionen ändern. Es fliegt also nicht nur unnötiger Code in die Tonne, sondern man spart auch lästige Fleißarbeit.

Neue Versionen von Content und MultiHook

in  Zikula Apps , , , ,

Neue Versionen von Content und MultiHook

Seit gestern steht das Content-Modul in der Version 5.1.0 zum Download bereit. Zu den neuen Funktionen zählen neben kleineren Verbesserungen, etwa für den Inhaltstyp zur Integration von Informationen über den Autor einer Seite, unter anderem die neuen Einstellmöglichkeiten in Bezug auf die Sichtbarkeit von Seiten und einzelnen Elementen, über die hier kürzlich berichtet wurde.

Eine Veränderung in der Oberfläche von Content betrifft die Art und Weise, wie neue Inhaltselemente einer Seite hinzugefügt wurden: statt diese via Drag n Drop aus einer Palette auf der linken Seite in den gewünschten Bereich zu verschieben (was Probleme in Verbindung mit der responsiven Darstellung verursacht hatte), wird nun per Knopfdruck ein modales Fenster geöffnet, in dem man den gewünschten Inhaltstyp via Mausklick auswählen kann.

Flexible Einstellung von Sichtbarkeiten im Content-Modul

in  Zikula Apps , , , ,

Flexible Einstellung von Sichtbarkeiten im Content-Modul

Schon in einer sehr frühen Generation des Content-Moduls zur Inhaltsverwaltung gab es die Möglichkeit, ein Inhaltselement nicht für alle Besucher, sondern entweder nur für alle angemeldeten Nutzer oder für alle nicht angemeldeten Gäste freizugeben. Damit ließen sich beispielsweise unterschiedliche Begrüßungstexte darstellen.

Als wir das Content-Modul kürzlich neu gebaut hatten, wurde diese Funktion bereits etwas erweitert: einzelne Elemente konnten nun auch lediglich für einzelne Benutzergruppen eingestellt werden. Das ist in vielen Fällen hilfreich, etwa wenn man exklusive Inhalte für Partner oder Kunden mit anzeigen möchte.

Neuer private-Modus im Generator zur alleinigen Anzeige eigener Daten

in  Zikula Apps , ,

Neuer private-Modus im Generator zur alleinigen Anzeige eigener Daten

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

in  Zikula Apps , ,

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.

Neue Generator-Verbesserung zur Darstellung von Geodaten

in  Generator , ,

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

in  Zikula Apps , ,

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

in  Zikula Apps , , , ,

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.