Symfony Forms in Zikula und ModuleStudio

in  Generator , , ,

Symfony Forms in Zikula und ModuleStudio

Im Januar wurde der Generator auf Symfony Forms umgestellt. Mir war schon vorher klar, dass diese Komponente eine der mächtigsten Teile von Symfony darstellt. Wie nützlich sie aber in der Praxis ist, sieht man natürlich erst, wenn man sie tatsächlich nutzt.

Auch der Zikula Core reimplementiert zunehmend Formulare mit Symfony Forms. Kürzlich wurde das Blocksystem komplett darauf umgestellt. In diesem Zuge wurden ein Block Handler Interface sowie ein dazu passender Abstract Block Handler eingeführt, mit denen Blöcke nun einfacher aufgebaut werden und einen Form Type zur Bearbeitung verwenden können.

Der Generator spricht Twig

in  Generator , , , , ,

Der Generator spricht Twig

Zwischen den Jahren konnte ich etwas Zeit erübrigen und in den ModuleStudio Generator investieren, um eine größere Umstellung durchzuführen: bei Anwendungen für Zikula 1.4.x wird nun Twig an Stelle von Smarty verwendet. Anwendungen für 1.3.x verwenden weiter Smarty wie bisher.

Im Wesentlichen lief die Umstellung ziemlich geradlinig, da die meisten Konzepte aus Smarty analog auch mit Twig implementiert werden können.

Eine Besonderheit betrifft die Behandlung von Assets, also CSS-, JS- und Bilddateien: statt direkt die Asset-Komponente von Symfony zu verwenden, wird in Zikula eine darauf aufbauende zasset-Funktion eingesetzt, welche einige Besonderheiten des Zikula-Frameworks beachtet. Außerdem werden CSS- und JS-Dateien auf Grund der Modularität von Zikula-Systemen nicht einfach in einem Twig-Block eingebunden, sondern nach wie vor über PageVars zentral registriert. Beides zusammen sieht dann in etwa so aus:

Spannende Neuerungen bei Zikula

in  Zikula Apps , , ,

Spannende Neuerungen bei Zikula

Nachdem in Zikula 1.4.0 viele Änderungen am “Unterbau” des Frameworks vorgenommen wurden, von denen nur einige an der Oberfläche sichtbar sind (wie etwa die Nutzung der Symfony Routing Komponente oder der Einsatz von Font Awesome), kommen nun langsam auch andere Dinge an die Reihe, von denen das Zikula-Ökosystem mindestens ebenso stark profitieren kann.

In der Zikula Core-Version 1.4.1 wird das “Forward Compatibility Layer” für die Technologie in Zikula 2.0.0 festgeschnürt. Dies bedeutet, dass bisherige Module weiter funktionieren, aber auch Module für Zikula 2 bereits verwendet werden können. Insbesondere ist damit die Nutzung der Twig Templating Engine und von Symfony Forms möglich, worauf viele Modulentwickler schon seit einiger Zeit gewartet haben.

Frontend-Technologien in Zikula

in  Basics , , ,

Frontend-Technologien in Zikula

Dieser Beitrag gibt einen Überblick über aus heutiger Sicht essenzielle Bibliotheken, mit denen das Frontend moderner Websites typischerweise realisiert werden. Diese sind weitgehend in Zikula enthalten, brauchen also nicht mehr dazu installiert zu werden.

Prototype & Script.aculo.us

Prototype ist eine JS-Bibliothek, die sich zum Ziel gesetzt hat, die JavaScript-Entwicklung zu vereinfachen. Script.aculo.us baut auf Prototype auf und bietet zusätzliche Effekte, Funktionen und Animationen. Aus Gründen der Abwärtskompatibilität sind beide Bibliotheken noch in Zikula 1.3.x enthalten, aus heutiger Sicht sind sie allerdings als obsolet zu betrachten. Ab Zikula 1.4.0 sind sie daher nicht mehr im System ver­fügbar, statt dessen wird nun primär auf jQuery gesetzt.

Was hat Zikula mit Symfony und Doctrine zu tun?

in  Basics , , ,

Was hat Zikula mit Symfony und Doctrine zu tun?

In diesem Beitrag wird einmal grundlegend erklärt, wobei es sich um Zikula, Symfony und Doctrine handelt und wie diese Dinge zusammenspielen. Falls jemand diese Technologien nicht kennt, hilft dies vielleicht insbesondere beim Einstieg, sich unter der Masse von Begriffen zu orientieren.

Zikula

Zikula ist ein Application Framework und dient somit als „Rahmen“ für beliebige Webanwendungen. Die wichtigste allgemeine Anlaufstelle für Zikula ist https://ziku.la/.

Seinen Ursprung hat Zikula in dem Vorgängerprojekt „PostNuke“, welches in den 90er Jahren sehr populär war und weltweit häufig verwendet wurde. Im Jahre 2008 wurde das Projekt in Zikula umbenannt.

MySQL-spezifische Funktionen in DQL nutzen

in  Zikula Apps , ,

MySQL-spezifische Funktionen in DQL nutzen

Im Kern von Doctrine 2 wird Wert darauf gelegt, dass die Doctrine Query Language (DQL) möglichst portabel bleibt, damit Projekte einfach mit unterschiedlichen Datenquellen arbeiten können. Bei Webanwendungen kommt es immer wieder einmal vor, dass man eine bestimmte Funktion benötigt, die zwar in MySQL existiert, jedoch nicht von DQL unterstützt wird.

Man kann in solchen Fällen eigene DQL-Funktionen erstellen, dies ist aber in den meisten Fällen zum Glück nicht nötig. Denn in den DoctrineExtensions von Benjamin Eberlei befinden sich bereits eine ganze Reihe von MySQL-Funktionen. Dieses Paket ist idealerweise auch im Zikula Core enthalten, so dass man sie für die eigenen Module direkt nutzen kann.

Zikula 1.4.0 RC3 veröffentlicht

in  Zikula Apps , , ,

Zikula 1.4.0 RC3 veröffentlicht

Das Zikula-Team hat den dritten Release-Kandidat für den Zikula Core 1.4.0 veröffentlicht. Sofern keine gravierenden Probleme mehr auftreten, wird dieser RC nach Feedback der Community vermutlich zum finalen Release erklärt. Gleichzeitig wurde auch der RC1 von Zikula 1.3.10 freigegeben.

Die Version 1.4 bringt einige neue Technologien und Werkzeuge mit sich. Im Frontend-Bereich werden beispielsweise nun jQuery und Bootstrap per Standard verwendet, Prototype nur noch aus Gründen der Abwärtskompatibilität mitgeführt. Aber auch unter der Haube hat sich sehr viel getan, da 1.4.0 eine Symfony-basierte Modulstruktur einführt, die den sanften Übergang zu Zikula 2.0.0 ermöglicht.

Vorträge für das Camp Zikula 2015

in  Verschiedenes , , ,

Vorträge für das Camp Zikula 2015

Das diesjährige Camp Zikula wird Mitte Juli stattfinden. Mittlerweile liegen die wesentlichen Programmpunkte vor. In diesem Beitrag werden kurz die Beiträge genannt, die voraussichtlich von meiner Seite vorgestellt werden.

Keynote / Core
Wie in jedem Jahr wird über die wichtigsten Neuerungen rund um den Zikula Core berichtet. Dies betrifft dieses mal die Versionen 1.4 und 2.0; die Keynote wird von mir zusammen mit Craig Heydenburg vorgetragen.
Multisites v2
Ein Einblick in die zahlreichen neuen Möglichkeiten, die sich mit der Version 2 des Multisites-Moduls bieten.
ModuleStudio 0.7.0: less is more
Was hat sich seit den wertvollen Anregungen vom letzten Camp bei ModuleStudio getan? Ein Statusbericht mit Demo und Ausblick auf die nächsten Schritte.
Showcases
Natürlich zeigen wir wieder einige spannende Projekte, die wir mit Zikula realisiert haben.