Es ist Zeit für Zikula

Ein Grundgedanke vom Hauptentwickler Craig Heydenburg.

 

Zikula Core-2.0.0 wurde am 5. August 2017 veröffentlicht. Zikula Core ist ein Framework zur Anwendungsentwicklung, welches auf Symfony 3.3 basiert und viele Werkzeuge und APIs beinhaltet, um schnell sowohl einfache Internetseiten als auch komplexe Webanwendungen zu bauen. Falls Du Zikula Core nie in Erwägung gezogen hast: nun ist es an der Zeit, es zur Verwendung für Dein nächstes Projekt ins Auge zu fassen. Zikula Core kann Deine Entwicklung vereinfachen.

Zunächst, Zikula ist Symfony 3.3. Falls Du bereits mit den in Symfony verfügbaren Methoden und APIs vertraut bist, diese sind nach wie vor vorhanden, da Zikula den kompletten Stack von Symfony 3.3 beinhaltet. Zikula hat bereits viele nützliche Symfony Bundles vorkonfiguriert, um die Dinge schnell zum Laufen zu bekommen. Da es auf dem vollen Stack basiert, sind auch Doctrine, Twig und SwiftMailer enthalten und eingerichtet. Zusätzlich sind die folgenden gängigen Bundles vorkonfiguriert: JMSTranslationBundle von schmittjoh, BazingaJsTranslationBundle von willdurand, StofDoctrineExtensionsBundle von stof. Zudem stellt Zikula Core eigene Bundles für die Workflow-Komponente von Symfony und ein dynamisches Event-System namens Hooks bereit. Viele weitere Vendor-Bibliotheken sind außerdem enthalten.

Zikula wird durch die Verwendung von Modulen erweitert - diese sind nichts anderes als Symfony Bundles mit zusätzlicher Konfiguration und weiteren Features. Diese Extensions können dynamisch installiert und deinstalliert werden. Dies ermöglicht einen einfachen Migrationspfad für eigene Module und bietet Methoden zur schnellen Erstellung und Veränderung von Datenbanktabellen. Es gibt zwei Arten von Extensions: Module und Themes. Modules werden zur Inhaltsverwaltung und für Kontrollstrukturen benutzt, während Themes für seitenweite Darstellungsschichten dienen. Themes sind ziemlich flexibel und mit Twig-Kenntnissen einfach anzulegen. Größere, bereits enthaltene Frontend-Technologien sind jQuery, Twitter Bootstrap und Font Awesome.

Zikula Core bietet eine Reihe von Systemmodulen, die nützliche AddOns für Deine Seite und eigene Module bereit stellen:

  • UsersModule - dynamisches Anlegen und Verwalten von Benutzern
  • GroupsModule - dynamisches Anlegen und Verwalten von Benutzergruppen
  • PermissionsModule - dynamisches Anlegen und Verwalten von Zugriffsrechten je Benutzergruppe
  • ZAuthModule - native Authentifizierungsmethode für Benutzerregistrierung, Login, Kennwortverwaltung, etc
  • SearchModule - Verwalten der seitenweite Suche nach jeglichen Inhalten
  • BlocksModule - Anlegen und Verwalten kleiner Inhaltsblöcke, um sie irgendwo auf der Seite zu positionieren
  • CategoriesModule - Anlegen und Verwalten globaler Kategorien, die mit jeglichen Inhalten verwendet werden können.
  • MenuModule - Anlegen und Verwalten von Menüs unter Verwendung des KnpMenuBundle

 

Auch im Zikula Core enthalten, jedoch nicht per Standard installiert, sind einige nützliche, aber nicht notwendige Bundles:

  • LegalModule - Nutzungsbedingungen, Altersverifikation und Policy-Verwaltung
  • ProfileModule - Verwalten von Benutzerprofilen
  • OAuthModule - OAuth Authentifizierung für Benutzerregistrierung und Login via Facebook, Github, Google und LinkedIn
  • PageLockModule - Seitensperre zur Verhinderung paralleler Inhaltsänderungen

 

Die Dokumentation für Entwickler ist ziemlich vollständig: die verfügbaren APIs werden umrissen, außerdem enthält sie Informationen über die Modul- und Theme-Entwicklung sowie die verschiedenen vom Core zur Verfügung gestellten Services. Die Entwickler-Doku ist im Verzeichnis `src/docs` zu finden.

 

Schließlich gibt es zwei Methoden, um als Entwickler schnell mit einem eigenen Modul zu starten. Erstens gibt es einen Generator für Skelette. Für erfahrene Symfony-Entwickler wird das sehr vertraut sein, da der Skelett-Generator für Module dem Bundle Skelett-Generator von Symfony sehr ähnelt. Dieses Werkzeug kann mit sehr wenig Aufwand in nur ein paar Sekunden die Grundlagen für ein eigenes Modul legen. Es eignet sich exzellent für Entwickler, die die Dinge gerne von Grund auf bauen und alle Aspekte ihres Designs kontrollieren möchten.

Zweitens bietet Zikula ein Werkzeug für modellgetriebene Entwicklung namens ModuleStudio (kurz MOST). MOST erlaubt zügiges Prototyping, einfache Anpassung, schnelle Aktualisierung zu den neuesten Core-Versionen und mächtige anpassbare Optionen, mit denen ziemlich komplexe Module erstellt werden können. Dieses Werkzeug eignet sich exzellent sowohl für Einsteiger als auch Entwickler mit erweiterten Kenntnissen. Erstere werden es als einfach empfinden, in kurzer Zeit vom Konzept zu einem lauffähigen Modul zu kommen, während Experten schnellen Zugang zu sehr fortgeschrittenen Features erlangen, welche weiter an ihre Bedürfnisse angepasst werden können. Für weitere Informationen siehe die ModuleStudio Website.

Wir hoffen, dass Du Dir die Zeit nimmst, den Core herunterzuladen und auszuprobieren. Falls Du Zikula noch nicht kennst, solltest Du es unbedingt einmal testen und schauen, wie es Deinen Entwicklungszyklus in Deinem nächsten Projekt verkürzen und verbessern kann. Ob groß oder klein, Zikula Core kann Deine Entwicklung vereinfachen.