Erweiterung des MUSeo-Moduls

in  Zikula Apps , , ,

Erweiterung des MUSeo-Moduls
Das Modul MUSeo von Michael Ueberschaer ist eine ModuleStudio-basierte Lösung zum Erfassen von suchmaschinenrelevanten Metatags für beliebige Einzelseiten einer Zikula-Präsenz. Aktuell laufen die ersten Schritte für die Version 2.0.0 mit erweitertem Funktionsumfang. Neben einigen neuen Feldern und Angaben, z. B. für Social Media Funktionen, soll die kommende Hauptversion im Wesentlichen zwei neue Funktionen mitbringen: Erstens soll es möglich sein, direkt eine Vorschau der voraussichtlichen Darstellung des Eintrags der Seite in Google-Ergebnislisten einzusehen.

Multisites v2.0.0 fertig gestellt

in  Zikula Apps , ,

Multisites v2.0.0 fertig gestellt
Im letzten Beitrag wurde die Weiterentwicklung des Multisites-Moduls beschrieben. Mittlerweile ist die neue Version im GitHub-Projekt verfügbar. Wer Multisites aktuell im Einsatz hat oder grundsätzlich an dem Modul interessiert ist, ist hiermit herzlich eingeladen, das neue Modul zu testen. Empfohlen wird dazu die Zikula-Version 1.3.9. Anmerkungen, Fehlermeldungen usw. bitte im Issue Tracker auf GitHub eintragen, vielen Dank für Euer Feedback!

Multisites auf Basis von ModuleStudio

in  Zikula Apps , , , ,

Multisites auf Basis von ModuleStudio
Mit dem Multisites-Modul lassen sich beliebig viele Seiten mit einem einzigen Zikula-System betreiben. Mit Vorlagen, die im Prinzip SQL-Dumps repräsentieren, können neue Seiten auf Knopfdruck erstellt werden. Jede Seitenvorlage beinhaltet damit die vorab definierten Strukturen und -daten out of the box. Jede Internetseite verfügt (aus Gründen der Architektur und der Skalierbarkeit) über eine eigene Datenbank. Es ist auch möglich, dass mehrere Internetseiten mit der gleichen Datenbank arbeiten. Dies erfordert jedoch entsprechende Anpassungen in den verwendeten Themes.

Allgemeine und eigene Symfony-Events in generierten Zikula-Modulen

in  Zikula Apps , , , ,

Allgemeine und eigene Symfony-Events in generierten Zikula-Modulen
In ModuleStudio 0.6.2 liegt der Fokus auf die Anpassung des Generators auf Symfony und Bootstrap, was die Zielversion Zikula 1.4.0 anbelangt. Einige Neuerungen betreffen das Zusammenspiel mehrerer Module, die miteinander interagieren. Erstens werden nun Factory-Klassen für Entitäten und Repositories in Verbindung mit Service-Parametern eingesetzt, mit denen man die Entität eines Moduls X von einem Modul Y heraus erweitern und anpassen kann. Zweitens werden in den Doctrine Lifecycle-Events der Entitäten eigene Symfony-Events verwendet, mit denen sich ein anderes Modul einhaken kann.

Bootstrap in Zikula 1.3.x - Zusammenspiel mit Prototype

in  Zikula Apps , , ,

Bootstrap in Zikula 1.3.x - Zusammenspiel mit Prototype
Zikula verwendet ab Version 1.4.0 Bootstrap zur Ausgestaltung der Oberfläche. Natürlich kann man Bootstrap aber auch bereits für 1.3.x einsetzen. Wir haben mittlerweile eine gute Hand voll Themes mit Bootstrap unter 1.3.x erstellt oder umgebaut. Problematisch kann es werden, wenn man JavaScript-Komponenten von Bootstrap einsetzen möchte, gleichzeitig aber noch Prototype von irgendeinem Modul geladen wird. Die JavaScript-Bestandteile von Bootstrap verwenden als Basis jQuery. Dies ist bereits in Zikula 1.3.x enthalten und kann einfach - auch zusammen mit Prototype - geladen und verwendet werden.

Optimierung im Detail - Schreibweisen von Entitäten und Feldern im Modell

in  Zikula Apps , , ,

Optimierung im Detail - Schreibweisen von Entitäten und Feldern im Modell
In der modellgetriebenen Softwareentwicklung werden die fachlichen Anforderungen in der Regel sehr prägnant formuliert. Schließlich ist eines der Ziele einer domänenspezifischen Sprache eine lesbare und verständliche Beschreibung eines Softwaresystems, wozu auch die Vermeidung von Redundanzen und unnötigem Boilerplate-Code gehört. Dies führt dazu, dass selbst kleine Veränderungen in einem Modell größere Unterschiede im generierten Quelltext zur Folge haben können. Ein Beispiel für solche, auf den ersten Blick unscheinbare Differenzierungen betrifft die Schreibweise von Modellelementen.

Ajax-Controller und seine Funktionen

in  Zikula Apps , , ,

Ajax-Controller und seine Funktionen
Im Controller-Bereich der Modellierungssprache von ModuleStudio nimmt der Ajax-Controller eine besondere Rolle ein. Die Aktionen eines Ajax-Controllers werden im Gegensatz zu anderen Controllern nicht als Webseite durch den Anwender, sondern von mittels JavaScript initiierten Ajax-Requests aufgerufen. Der Generator erzeugt unter Umständen einige zusätzliche Methoden im Ajax Controller, wenn diese für bestimmte generierte Funktionalitäten erforderlich sind. Dies betrifft unter anderem die im Folgenden aufgelisteten Methoden: getCommonUsersList Diese Methode sucht eine Liste von Benutzernamen, die zu einem gegebenen Suchausdruck passen, und liefert diese aufbereitet für AutoCompletion zurück.

Generator Einstellungen in ModuleStudio 0.6.1 - Überblick und Anwendung

in  Zikula Apps , ,

Generator Einstellungen in ModuleStudio 0.6.1 - Überblick und Anwendung
Wie im letzten Artikel bereits erwähnt, verfügt ModuleStudio seit Version 0.6.1 über eine Reihe von Generator-Einstellungen, mit denen sich unterschiedliche Features und Verhaltensaspekte beeinflussen lassen. Dieser Beitrag gibt einige Anregungen zu möglichen Anwendungsfällen dieser Optionen. Zikula Core Version Bereits von früheren Versionen bekannt ist eine Einstellung für die Version des Zikula Core, für die eine Anwendung generiert werden sollte. Dies ist also nicht neu. Features steuern Ob Templates für unterschiedliche Ausgabeformate, Plugins für andere Module oder Blöcke: optionale Zusatzfunktionen können nun einfach ausgeschaltet werden.

Unterschiedliche Templates und Formate in Zikula und Symfony

in  Zikula Apps , , , , ,

Unterschiedliche Templates und Formate in Zikula und Symfony
In ModuleStudio-basierten Modulen werden je nach Einstellung und Eigenschaften des zu Grunde liegenden Modells unterschiedliche Ausgabeformate unterstützt. Dieser Artikel gibt Hinweise zur Verwendung und einen Ausblick auf kommende Veränderungen im Rahmen der Umstellung auf Symfony und Twig. Ablauf im Hintergrund Um verschiedene Formate in einer Anwendung zu behandeln, sind mehrere Schritte nötig. Zunächst einmal ist festzuhalten, dass beim Einsatz von ShortURLs das sogenannte Routing dafür zuständig ist, die Parameter aus einer gegebenen URL auszulesen.

Controller-Funktionen in Templates einbinden

in  Zikula Apps , , ,

Controller-Funktionen in Templates einbinden
Im Gegensatz zu älteren Versionen empfangen Controller-Aktionen ab Zikula 1.3.x keine Argumente mehr. Bei der Umstellung bestehender Module kann man darüber stolpern, zum Beispiel wenn Controller-Funktionen mit dem modfunc-Plugin in Smarty-Templates eingebettet wurden. Worum geht es? Früher wurde in Zikula nicht unterschieden zwischen Controller-Aktionen und API-Methoden. Beides konnte beliebig aufgerufen und integriert werden, sowohl in PHP als auch in Smarty-Templates. Seitdem Symfony unter der Haube die Behandlung von Requests steuert, erfolgt hier eine striktere Trennung: während API-Methoden immer noch mit Argumenten aufgerufen werden, werden bei Controller-Aufrufen ausschließlich die Request-Parameter injiziert.