Weitere neue Features in Zikula Core 3

in  Zikula Apps , ,

Weitere neue Features in Zikula Core 3

Nachdem wir bereits in einigen Artikeln zu Zikula 3 die Änderungen unter der Haube, umfangreiche Modernisierungen, Möglichkeiten für dynamische Formulare und Neuerungen rund um Übersetzungen vorgestellt hatten, sollen nun einige weitere der neuen Features und Änderungen vorgestellt werden.

Module + Themes = Extensions

Die Verwaltung von Modulen und Themes läuft nun unter einem gemeinsamen Dach: Extensions.

Die Verwaltung von Modulen und Themes erfolgt nun in einem gemeinsamen Interface

Hintergrund ist unter anderem, dass Themes ebenso wie Module eigenständige Symfony-Bundles sind und mehr als nur Layout können. Beispielsweise sind Themes in der Lage, Controller mitzubringen (z. B. für layoutspezifische Ajax-Funktionen) oder auch eigene Services anzubieten. Aus Sicht des Kernsystems werden daher weniger Unterscheidungen benötigt, was überflüssige Redundanzen zwischen der Behandlung von Modulen und Themes einspart.

Außerdem stehen nun CLI-Kommandos für Extensions zur Verfügung, mit denen die Erweiterungen eines Systems via Konsole installiert, aktualisiert, deinstalliert und synchronisiert werden können.

Zugriffsrechte besser überblicken und verstehen

Das Berechtigungssystem von Zikula ist schon seit Jahren eine Power Machine. Es ist unglaublich flexibel und mächtig, kann aber für Einsteiger auch schnell sehr komplex und unübersichtlich werden. Schon früher wurde versucht, die Verwaltung mit zusätzlichen Funktionen zu unterstützen: da etwa die Reihenfolge der einzelnen Regeln mit darüber entscheidet, welche Zugriffsstufe für welche Nutzergruppen, Komponenten und Instanzen zugelassen werden, gibt es schon länger die Möglichkeit, Regeln interaktiv zu prüfen. Dennoch kann es bei größeren Sammlungen von Regeln immer wieder vorkommen, dass man den Wald vor lauter Bäumen nicht sieht. Daher gibt es nun zwei neue Felder:

  • Ein freies Kommentarfeld, in dem sich ein Hilfetext angeben lässt. Hiermit kann man sich und andere Personen daran erinnern, warum eine bestimmte Zugriffsregel angelegt worden ist.
  • Eine Farbauswahl: es ist möglich, eine Regel einer Bootstrap-Klasse zuzuordnen. So kann man zum Beispiel mehrere Regeln optisch als zusammengehörig markieren oder anderweitige Gruppierungen vornehmen.

Neue Felder erleichtern die Verwaltung der Zugriffsrechte

Kosmetika

Wir haben einen Icon Picker im System hinterlegt und einen entsprechenden Formulartyp integriert. Damit kann man sehr leicht an allen möglichen, gewünschten Stellen ein Auswahl für ein Font Awesome Icon einbauen. Im Zikula Core wird das beispielsweise für Adminpanel-Kategorien, normale Kategorien und auch die Extensions benutzt.

Mit dem Icon Picker lassen sich individuelle Symbole auswählen

Auch in ModuleStudio wurde die Unterstützung eingebaut: beliebige Felder lassen sich als Icon kennzeichnen, was dazu führt, dass der Generator dann den genannten Formulartyp verwendet. Es ist also ohne Probleme möglich, den Icon Picker auch in eigenen Modulen zu verwenden.

Kleinere Verbesserungen

Auch einige eher unscheinbare Innovationen sollen nicht unerwähnt bleiben. Oft sind es gerade die kleinen Dinge, die man gerade in der Praxis benötigt.

  • Während der Installation (sowohl via Web als auch via CLI) lässt sich nun optional ein individueller Datenbank-Port angeben).
  • Blöcke können leichter Standardwerte für individuelle Formularfelder angeben.
  • Für das vereinfachte Debuggen von Twig Templates wurde der twig-inspector integriert.
  • Viele Module erzeugen, wenn ein Datensatz nicht gefunden werden kann, eine sogenannte NotFoundHttpException (z. B. “Dieses Produkt konnte nicht gefunden werden."). Oft ist es in der Praxis aber so, dass der Datensatz zwar existiert, aber aus Gründen einer fehlenden Berechtigung für den aktuellen Besucher nicht sichtbar ist. Dies kann einen Nutzer dann natürlich verwirren, wenn er beispielsweise etwas von einem anderen Nutzer geteilt bekommen hat, darüber informiert wurde, auf einen Link klickt und nur eine Fehlermeldung sieht. Daher werden solche Fälle für Gäste nun ähnlich gehandhabt wie eine AccessDeniedException: der Nutzer erhält eine andere Meldung (z. B. “Sie haben keinen Zugriff. Bitte melden Sie sich zunächst an." und wird zum Login-Formular weitergeleitet.
  • Es gibt ein neues Konzept der sogenannten Site Definition. Diese kapselt einige grundlegende Eigenschaften einer Website, wie etwa den Titel, die Metabeschreibung oder auch Logos für Desktop und Mobile sowie diverse Icons. Hiermit ist es zum Beispiel möglich, den Titel der Webseite dynamisch zu ermitteln, etwa abhängig von der jeweiligen Domain. In einem noch offenen Ticket geht es übrigens um weiter gehenden Branding-Support durch den Zikula Core. Es ist möglich, dass die Site Definitions hierbei noch weiter ausgebaut werden.
Weitere neue Features in Zikula Core 3
Weitere neue Features in Zikula Core 3
Weitere neue Features in Zikula Core 3

Weitere Beiträge in Kategorie Zikula Apps

Zikula Core Dokumentation in neuem Gewand
- Schon seit einiger Zeit werden im GitHub-Repository des Zikula Core die Dinge dokumentiert, die zusätzlich zu den Handbüchern von Symfony, Doctrine, Twig, Bootstrap usw. zu beachten sind. Nun wurde …
Zikula 3 bringt zahlreiche Neuerungen rund um Übersetzungen
- Nachdem zwischen den Jahren der komplette Unterbau von Zikula 3 auf Stand gebracht worden ist, hat sich der nächste Sprint dem Übersetzungssystem gewidmet. In diesem Beitrag wird kurz dargestellt, …
Zikula startet modernisiert ins neue Jahr
- Im Rahmen des letzten Sprints wurde der Unterbau von Zikula 3 auf den neuesten technischen Stand gebracht. Im Folgenden wird kurz zusammengefasst, was hierbei genau passiert ist. Twig 3 Als erstes …
Zikula Benutzer und Gruppen in DokuWiki verwenden
- In Zikula lassen sich mit Hilfe unterschiedlicher Authentifizierungsmethoden Nutzer auf verschiedenen Quellen einbinden und mischen. So kann man sich beispielsweise mit dem OAuth-Modul via Facebook, …
Ein Blick auf die Entwicklungen des News-Moduls
- Das News-Modul von Zikula blickt auf eine lange Historie zurück. Schon als ich vor etwa 20 Jahren das erste mal mit PostNuke in Berührung kam, war dort ein News-Modul an Bord. War die Funktionalität …