Anzeige
Anzeige
Software & Entwicklung
Artikel merken

Java-basiert in Richtung Enterprise-Funktionalität: Content Management mit Magnolia

Simple is beautyful – das ist das Motto von Magnolia[1]. Java-basiert wagt das Content Management System die schwierige Gradwanderung zwischen einfacher Benutzbarkeit und Enterprise-Funktionalität. Dabei geht es nicht nur um die Benutzerfreundlichkeit für Autoren, sondern auch für System-Administratoren und Software-Entwickler. Deshalb setzt Magnolia auf die breite Unterstützung von Standards, Skalierbarkeit und Integrationsfähigkeit.

6 Min. Lesezeit
Anzeige
Anzeige

Magnolia legt viel Wert auf einfache Bedienung. Deshalb beginnt die Arbeit auch mit einem Installer, der alle Komponenten enthält. Es sind keine Datenbanken zu installieren und keine Parameter zu konfigurieren. Die Gestaltung von Websites startet mit dem Login, wonach sich Magnolia aufgeräumt und strukturiert zeigt. Die Browser-basierte Benutzeroberfläche orientiert sich an der Benutzung von Client-Software; Kontextmenüs (rechte Maustaste) zeigen jederzeit, welche Funktionen zur Verfügung stehen. Mittels Drag & Drop wird die Struktur einer Website bearbeitet, Inhaltsblöcke (Paragraphen) können durch Verschieben mit der Maus auf der Seite platziert werden. Aufgrund der breiten Unterstützung von Standards reduziert sich für den Entwickler die Einarbeitszeit auf das Lernen wirklich neuer Konzepte. Wer schon mit JavaServer Pages (JSP) gearbeitet hat, dem wird auch das Erstellen von Templates schnell gelingen. Aber auch wer aus dem PHP-Umfeld kommt, findet eine niedrig gehaltene Lernschwelle vor, da JSP und PHP als Templatingsprache den gleichen Zweck erfüllen.

Java Enterprise Platform

Anzeige
Anzeige

Magnolia nutzt die Java Enterprise Plattform und unterstützt eine Reihe gängiger Standards, unter anderem JSR-168, JSR-170, JAAS, JNDI. Sie machen es möglich, Magnolia in die Infrastruktur eines Unternehmens einzubetten. JAAS beispielsweise erlaubt, auf standardisierte Weise Benutzer durch einen bereits im Unternehmen vorhandenen Directory-Server zu authentifizieren und Zugriffsrollen zu verwalten. Auch ein Single Sign-On ist damit realisierbar. Besonders interessant ist die Unterstützung des Standards JSR-170, dem „Content Repository for Java Technology API“ (kurz JCR). Dieses API definiert einen herstellerunabhängigen Zugriff auf Inhalte, zum Beispiel Webseiten oder Dokumente. JSR-170 definiert eine ganze Reihe von Diensten, um die Arbeit mit Inhalten zu erleichtern. Dazu gehören die Verwaltung von strukturiertem, semi-strukturiertem und unstrukturiertem Inhalt, Volltextsuche, Versionierung, Transaktionen und Observation.

Magnolia legt Inhalte in einem Repository ab, nicht Daten in einer Datenbank. Dieser Unterschied ist grundlegender als es zunächst erscheinen mag, denn Inhalte unterscheiden sich von Daten dadurch, dass sie versioniert sind und Metadaten – zum Beispiel das Datum der letzten Modifikation – zur Verfügung stehen. Zudem sind Inhalte häufig unstrukturiert oder semi-strukturiert und werden durch das JSR-170 API hierarchisch und nicht relational abgelegt. Diese Eigenschaften machen das Arbeiten mit der JSR-170 im Webumfeld sehr natürlich, da Webseiten typischerweise in einer Hierarchie abgelegt werden und jede Seite anders strukturiert ist. Weil Magnolia ein JSR-170-konformes Repository als grundlegenden Teil der Systemarchitektur verwendet, wird eine klare Trennung zwischen der Applikation und der Inhaltsablage erreicht. Sie erlaubt es Magnolia, unterschiedliche Implementierungen
des Repositories zu benutzen und einheitlich auf Inhalte
JSR-170-kompatibler Systeme zuzugreifen. Die Vorteile

Anzeige
Anzeige

des Standards in diesem Bereich sind so offensichtlich, dass er bereits von Nicht-Java-Systemen kopiert wird. So existiert beispielsweise auch für die nächste Generation von TYPO3 eine JSR-170-Schnittstelle.

Anzeige
Anzeige

Architektur

Magnolia ist ein verteiltes System. Die Autoren-Umgebung und die
öffentliche Umgebung sind zwei verschiedene Instanzen, die auf
unterschiedlichen Servern laufen können. Das erlaubt, das
Autoren-System mit einer Firewall vor dem öffentlichen Zugriff zu
schützen, Inhalte auf mehreren Live-Instanzen parallel zu „aktivieren“
oder von einer Autorenumgebung aus verschiedene Live-Server (mit
eventuell unterschiedlichen Domänen) zu verwalten. Somit sind sehr
flexible Systemarchitekturen für den Einsatz von Magnolia möglich.

Als Java-Web-Applikation benötigt Magnolia einen Web-Application Server, um ausgeführt zu werden. Sie existieren auf der Java-Platform in unterschiedlichster Art – von Open-Source-Systemen wie Tomcat, Jetty oder JBoss Application Server bis hin zu IBM WebSphere und ähnlichen Enterprise-Servern. Magnolia verwendet zur Datenablage das Open-Source-Repository „Jack- Rabbit“, das über eine weitere Schnittstelle – den Persistenzmanager – eine Datenbank anspricht. Alle gängigen relationalen Datenbanken sind einsetzbar, wie zum Beispiel Oracle, MySQL, DB2, BerkleyDB oder SQL-Server. Über den Persistenzmanager sind auch die Ablage als XML im Dateisystem oder als In-Memory-Applikationen möglich. Weitere Systeme sind einbindbar, indem ein Custom-Adapter verwendet wird. Die Indexierung der Inhalte ist ein Service, der vom JCR zur Verfügung gestellt wird. Im Falle von JackRabbit erledigt das die Open-Source-Suchmaschine Lucene. Das kostenfreie Community Edition Bundle von Magnolia wird komplett mit dem Applikationsserver Tomcat und der Repository-Implementation JackRabbit (beide von Apache) ausgeliefert. Als Datenbank wird per Voreinstellung Derby verwendet.

Anzeige
Anzeige

Eine Magnolia-Instanz besteht aus verschiedenen Modulen: Web Content Management, Dokumenten-Management, Benutzer-Verwaltung, Konfiguration und Workflow. In der Enterprise-Edition werden sie ergänzt durch den Sitedesigner, der es erlaubt, Webseiten komplett im Browser zu gestalten, sowie einem Packager, mit dem beliebige Inhalte, Templates und Konfiguration verpackt als eine Einheit verwendet werden. Der Packager erstellt Backups, verschickt Projekte oder tauscht kontrolliert Daten zwischen verschiedenen Stages (z. B. Entwicklungssystem, Testsystem, Live-System) aus.

Aufbau und Funktionalität

Das gesamte Programm besteht aus drei verschiedenen Fenstern für drei verschiedene Aufgaben. Ausgangspunkt aller Aktivitäten ist „adminCentral“. Hier werden im Modul „Web“ zum Beipiel Seitenstrukturen aufgebaut und geändert oder im Modul „Sicherheit“ neue Benutzer, Rollen und Zugriffsrechte angelegt. Öffnet man eine Webseite zum Bearbeiten, erscheint diese in einem zweiten Fenster, der Autorenansicht. Hier werden neue Inhaltsblöcke (Paragraphen) angelegt, vorhandene verschoben und die Seite auf den Vorschaumodus umgeschaltet. Um Inhalte anzupassen, werden Dialogfenster verwendet. Aufgrund dieser Trennung weiß der Anwender jederzeit, was er gerade macht und wo im Programm er gerade ist.

Die Grundfunktion von Magnolia ist es, Webseiten zu erstellen, zu pflegen und zu verwalten. Dazu existieren Vorlagen, die Aussehen und Funktionalität einer Webseite definieren. Eine Vorlage ist unabhängig vom Inhalt und kann jederzeit gewechselt werden, um vorhandene Inhalte mit einem neuen Design zu versehen. Entwickler können den Benutzern eigene Vorlagen zur Verfügung stellen. Ein integriertes Dokumentenmanagement ergänzt das Web Content Management. Es verfügt über eine flexible Metadatenverwaltung und unterstützt den Dublin-Core Standard. Da man Metadaten zur Laufzeit umdefinieren kann, ist es möglich, andere Metadaten-Standards oder komplett eigene Definitionen zu verwenden. Die Integration zwischen CMS und DMS erlaubt es, aufgrund von Meta-Daten Dokumente zu veröffentlichen oder ein Dokument gleichzeitig auf verschiedenen Webseiten anzuzeigen. Magnolia integriert zudem das Workflow-System OpenWFE, das beliebig komplexe Geschäftsabläufe abzubilden erlaubt.

Anzeige
Anzeige

Das zentrale Eingabemedium in Magnolia ist das Dialog-Fenster. Eine Vielzahl unterschiedlicher Eingabeelemente stehen zur Verfügung, wie zum Beispiel ein Textfeld, ein Rich Text
Editor, eine Datumsauswahl, ein Datei-Upload oder ein MP3-
oder Video-Player. Die Definition des Dialoges sorgt selbstständig für die nötige
Anpassung von Datenstrukturen im Repository sowie für die Ausgabe. Mit anderen Worten: Um ein neues
Feld zu verwalten reicht es, das Feld zur Laufzeit zu deklarieren,
alles weitere macht Magnolia automatisch. Soll der Feldinhalt auf
einer Webseite ausgegeben werden, muss lediglich noch das
Ausgabetemplate angepasst werden. So können die Dialoge schnell an die Bedürfnisse eines Kunden
angepasst werden, zumal sie aus einer Vielzahl von
Eingabeelementen bestehen können.

Einsatzmöglichkeiten

Magnolia gibt es als kostenlose Community Edition und als
kommerzielle, lizensierte Enterprise Edition. Diese bietet zusätzliche
Funktionalität und Support durch Magnolia International. Die Tatsache,
dass ein Hersteller für Magnolia gerade steht, hat Vorteile sowohl für
die Community als auch für Unternehmen, denn Magnolia International
kann über einzelne Projekte hinaus langfristig planen, da entsprechende
Einnahmen aus der Enterprise-Lizenzierung zur Verfügung stehen. Im
Umfeld einer rein Community-basierten Software geschieht die
Entwicklung normalerweise projektgetrieben. Das führt oft zu einer
unüberschaubaren Vielfalt an kreativen Benutzerschnittstellen und
Erweiterungen, was bei Magnolia nicht der Fall ist.

Rund um die Welt wird das System von Organisationen, Regierungen und Unternehmen jeder Größe eingesetzt, um Wissen und Informationen effizient zu kommunizieren. Die Stärken liegen dabei momentan vor allem im Bereich Internet. Darüber hinaus wird Magnolia auch für Extranets eingesetzt. Hier sind die Integration von Dokumentenmanagement, Web Content Management und Zugriffsverwaltung sowie die Trennung von Redaktionssystem und öffentlichem Server entscheidende Vorteile. Auch für den Aufbau eines Intranets kann Magnolia eingesetzt werden. Allerdings sollte das Hauptmerkmal der Implementierung nicht auf dem Dokumentenmanagement liegen, da der Zugriff auf Dokumente bisher noch nicht direkt über das Filesystem implementiert ist (Stichwort WebDAV oder CIFS).

Anzeige
Anzeige

Einige Module wie ein Shop oder weitreichende Community-Möglichkeiten lässt Magnolia derzeit noch vermissen. Allerdings verfügt es über eine Modul-Schnittstelle und verschiedene neue Module befinden sich in der Entwicklung. Magnolia plant, in den nächsten Wochen Module für Kommentare, Forum und Benutzer-Registrierung zu veröffentlichen.

Fazit

Magnolia ist ein variabel einsetzbares Enterprise Content Management System mit einer durchdachten Benutzerführung. Das Konzept „Simple Is Beautyful“ geht auf und erfreut sich weltweit großer Beliebtheit. Kunden, die auf die Unterstützung von Standards Wert legen und eventuell bereits eine Java Infrastruktur im Unternehmen etabliert haben, sind mit Magnolia gut bedient.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige