Neo Tech Blog

NEO TECH LBLOG - Praxis-Techblog für IT, Web und Mobile
Magnolia CMS

Magnolia CMS: Praxisanleitung für die ersten Schritte aus Entwicklersicht


Mit der Entscheidung für ein Content-Management-System (CMS) und der Auswahl des passenden Systems, beginnt für den Entwickler die eigentliche Arbeit. Ingo Jäger, Spezialist für CMS bei Neofonie, beschreibt anhand des Java-basierten Magnolia CMS, wie ein optimales Software-Stack aussieht, um komplexe Webportale umsetzen zu können.

Magnolia setzt auf Open-Source

Magnolia CMSNeofonie hat das Magnolia CMS sowohl als kostenlose Community Version als auch in der kostenpflichtigen Enterprise Edition in Kundenprojekten eingesetzt. Aus Entwickler-Perspektive bietet das Magnolia CMS sehr flexible Einsatzmöglichkeiten, insbesondere durch die starke Orientierung an gängige Standards und den konsequenten Einsatz etablierter Open-Source-Technologien.

Für die Integration in eine Systemlandschaft mit verschiedenen Komponenten bietet Magnolia die Möglichkeit, auf sämtliche im Java Content Repository (JCR) abgelegten Inhalte und Konfigurationen mithilfe eines REST-Service zuzugreifen. Um Inhalte im JCR auch programmatisch erzeugen und manipulieren zu können, bietet Magnolia eine eigene Node API an.

Initiales Setup mit Maven

Das initiale Setup eines Magnolia-Entwicklerprojektes erfolgt üblicherweise mittels Maven Archetype. Ein entsprechender Katalog dafür wird von Magnolia bereitgestellt. Nach dem Generieren des Maven-Projekts findet man zunächst eine Verzeichnisstruktur mit einer „leeren“ Webapp vor. Die eigentliche Magnolia-Funktionalität wird über entsprechende Overlays and Dependencies bereitgestellt. Die Grundkonfiguration ist zunächst im Overlay enthalten, kann und soll jedoch durch eigene Properties-Dateien ersetzt werden.

Content Storage

Neben den Magnolia Properties gehört zum Setup der Applikation auch die Konfiguration von Jackrabbit zur Implementierung des JCR. Nach dem Erstellen eines Magnolia-Projekts mittels Maven Archetype ist Jackrabbit initial zunächst für die Verwendung von Derby DB als Persistenzschicht konfiguriert. Die Verwendung diverser anderer Persistence-Manager-Klassen für die Verwaltung der Daten in weiteren Datenbanken wie MySQL oder Oracle sowie im Filesystem ist ebenso möglich.

Blossom Plugin

Durch den Einsatz des Blossom Plugin wird aus einer Magnolia Webapp eine Spring MVC Webapp. Dadurch eröffnen sich mit Blick auf die Implementierung spezifischer Business Logik und die Anbindung externer Komponenten für den Entwickler eine Fülle weiterer Möglichkeiten. Blossom enthält eine Reihe von Annotations, mit denen man das komplette Magnolia Templating in Form von Spring Controllern realisieren kann. Dies betrifft sowohl die Umsetzung von Page Templates und Areas als auch Component Templates. Sogar die Dialoge lassen sich auf diese Weise erzeugen.

Magnolia STK

Für die Frontend-Entwicklung bringt Magnolia das Standard Templating Kit (STK) mit, welches für das Konfigurieren der Sites, Templates, Components und Dialoge sowie das Einbinden von Ressourcen wie Javascript und CSS vorgesehen ist. Das Arbeiten mit dem STK verlangt dem Frontend-Entwickler allerdings einiges Vorwissen über Magnolia ab. Durch die Magnolia GUI ergeben sich beim Entwickeln spezielle Prozesse und Workflows, die sich erheblich von der Frontend-Entwicklung in Nicht-Magnolia-Projekten unterscheiden können.

Magnolia Content Apps

Neben den bereits erwähnten Features beinhaltet Magnolia auch ein eigenes App-Framework. Mit Magnolia Apps können spezielle Funktionalitäten realisiert werden, mit denen auch Inhalte und Konfigurationen verwaltet werden können, die vom redaktionellen Standard abweichen.

Jaxenter Logo

Den vollständigen Artikel können Sie auf JAXenter lesen, dem führenden Portal für IT Professionals rund um Java. http://jaxenter.de/

 

Weitere Blog Beiträge zu Magnolia CMS

_____

Wir suchen DICH!

Neofonie sucht CMS Spezialisten, Software Developer, Projekt Manager und System Architekten.
Bewirb Dich jetzt.

Ingo Jäger

Autor: Ingo Jäger

Ingo Jäger ist seit 2008 als Softwareentwickler mit Fokus auf Java bei der Neofonie tätig. Zuvor war er u.a. als Entwickler und Projektmanager bei der AOL beschäftigt. Sein ausgeprägtes Know-how für Content Management Systeme bringt er bei der Umsetzung unterschiedlicher Kundenprojekte ein, wie toggolino.de, spanien.de, olympus.com und kalaydo.de. Ingos weitere Leidenschaft ist Fußball.

Kommentare sind deaktiviert.