Das Content-Modell von eZ Publish: Einstieg in eZ Publish
eZ Publish kann sowohl als Content Management System als auch als Plattform für anspruchsvolle Projekte, zum Beispiel in den Bereichen Web-Publishing, Media-Portale, Intranet, E-Commerce und Extranet, eingesetzt werden. Für den Einsatz sprechen unter anderem professioneller Support durch den Hersteller sowie ein für den Einsatz in mittleren und großen Unternehmen ausgelegter Funktionsumfang. Hierzu gehören etwa Versionierung, Mehrsprachigkeit, eine leistungsfähige Template-Engine sowie eine flexible Erweiterung und Integration des Systems über Plugins.
Hinter dem System steht die norwegische Firma eZ Systems AS, mit Niederlassungen in diversen Ländern, darunter auch Deutschland. Neben eZ Publish entwickelt eZ Systems mit den eZ Components auch eine Open-Source-Komponentenbibliothek. Mit dem Open-Source-Geschäftsmodell zielt eZ Systems Enterprise auf ein flexibles Kostenmodell für den Anwender ab. Stabilität, Funktionalität, Fehlerfreiheit und Verlässlichkeit sollen durch das kombinierte Mitwirken der Community und eines professionellen Partnernetzwerks gewährleistet werden.
Die Verwaltung und Verarbeitung der Inhalte ist die Kernkomponente eines Content Management Systems – ein Content Management Framework wie eZ Publish muss dabei noch mehr Möglichkeiten zur Anpassung zur Verfügung stellen.
Sollen Inhalte in der Datenbank gespeichert werden, erscheint das Active-Record-Pattern, wie es aktuell von vielen Frameworks wie zum Beispiel Ruby On Rails umgesetzt wird, oft am naheliegendsten. Dieses Modell hat jedoch mehrere gravierende Nachteile, wenn darüber komplexe Inhaltsstrukturen abgebildet werden sollen:
- Die Anpassbarkeit gestaltet sich problematisch, denn bei üblichen
Active-Record-Implementierungen muss die Datenbank erweitert oder geändert werden, wenn neue Inhaltstypen angelegt werden sollen. - Wenn
einzelne Inhaltsobjekte in der Applikation jeweils einer Zeile in der
Datenbank entsprechen, lässt sich die Versionierung nur durch mehrspaltige
Indizes umsetzen, dies gilt ebenso für die Mehrsprachigkeit und
für verschiedene Status des Inhalts. - Einmal in der Datenbank abgelegte Inhalte müssen zur Darstellung für den
Benutzer der Webapplikation strukturiert werden. Dies passiert meist
durch das Assoziieren der Inhalte in einer Baumstruktur, die der Navigation
entsprechen mag. Wenn verschiedene Inhalte (aus
verschiedenen Tabellen) so strukturiert werden müssen, ist dies nicht
mehr sinnvoll in einer relationalen Datenbank abzubilden und muss im
Code implementiert werden. Dies erschwert das einheitliche Management
von Inhalten.
eZ Publish verwendet ebenfalls eine Implementierung des Active Record Patterns, jedoch lediglich zur Abstraktion des Datenbankzugriffs und nicht, um die Inhalte direkt in der Datenbank abzulegen. Zur Abbildung der Inhalte auf die relationale Datenbank implementiert eZ Publish ein objektorientiertes Modell für die Inhalte.
Active Record |
Active Record meint im Wesentlichen, dass eine Tabelle der relationalen Datenbank einer Klasse in der Applikation entspricht und damit eine Objektinstanz in der Applikation für jede Zeile in der Datenbank erstellt wird. Dies ist auch anderen Patterns der Datenbankabstraktion gemein, bei Active-Record-Implementierungen wird jedoch in den Objekten zusätzlich Applikationslogik implementiert. Active Record wird in Content Management Frameworks häufig verwendet, |
Der Entwickler einer Applikation kann Inhaltsklassen erstellen, die aus einer Reihe von Attributen unterschiedlichen Typs bestehen können. Die eigentlichen Inhalte sind Instanzen dieser Inhaltsklassen und werden mehrsprachig und versioniert auf die relationale Datenbank abgebildet. Sowohl die Definition als auch die Instanzen können jederzeit modifiziert werden, ohne dass die Datenbankstruktur selbst angepasst werden muss.
Wie das vereinfachte Modell im Bild oben zeigt, gliedert sich diese Struktur im Wesentlichen in drei Teile. Die Inhaltsklassen können einen beliebigen Namen, wie zum Beispiel „Artikel“ für ein Newsportal tragen, über den die Klasse beim Anlegen neuer Inhalte identifiziert werden kann. In eZ Publish kommt noch eine Spezifikation zur Generierung des Objektnamens aus den Attributen hinzu. Jede Klasse verfügt über eine beliebig lange Liste von Attributen, die jeweils einem in dem Framework bekannten Typ entsprechen. Dem „Artikel“ würden zum Beispiel die Attribute „Title“ vom Typen „String“ und dem eigentlichen „Text“ vom Typen „XMLText“ zugeordnet. Ein spezieller Attributtyp „price“ ermöglicht es zum Beispiel, dass Besucher das angezeigte Objekt über den integrierten Shop kaufen.
Wenn ein neuer Artikel über das Benutzerinterface erzeugt wird, kann eZ Publish automatisch ein passendes Eingabeformular, zum Beispiel mit einem Rich-Text-Editor, erzeugen. Mit den Benutzereingaben wird dann entsprechend eine neue Zeile in der Tabelle der Inhaltsobjekte angelegt, assoziiert mit einer ersten Version des Objekts in der Sprache, in der die Version erstellt worden ist. Für jedes Attribut werden die Daten in der Datentabelle abgelegt. Werden nachträglich Attribute zu einem Inhaltsobjekt hinzugefügt, kann bei Nichtvorhandensein der Standardwert angezeigt werden – und entfernte oder umbenannte Attribute entsprechend behandelt werden.
Viele Inhalte, wie der Artikel im vorangegangenen Beispiel, machen Formatierungen durch den Redakteur notwendig. eZ Publish beinhaltet einen WYSIWYG-Editor, der sowohl im Frontend als auch im Administrator-Backend verwendet werden kann. Das Editieren von Inhalten mit dem Online-Editor ist an gängige Word-Prozessoren angelehnt, sodass sich Redakteure leicht zurechtfinden. Referenzen auf andere Inhalte lassen sich natürlich im Online-Editor ebenso erstellen, wie Elemente aus der in eZ Publish integrierten Medienbibliothek eingebunden werden können, wie im unteren Bild zu sehen.
In eZ Publish können Inhalte nicht nur über die browsergestützte Bedienoberfläche eingestellt werden. Für Redakteure einer Seite ist es oftmals bequemer, Inhalte im Frontend einzupflegen oder zu bearbeiten.
Eine andere Möglichkeit zur bequemen Bearbeitung der Inhalte ist das Navigieren der in einer Baumstruktur abgelegten Inhalte über einen Webdav-Client, in dem die Inhaltsobjekte als Dateien zur Verfügung stehen. Diese Dateien können dann mit OpenOffice oder Microsoft Word bearbeitet oder neu erstellt und dann wieder hochgeladen werden. Die Abbildung auf die Inhaltsklassen kann dabei selbst definiert werden.
Mit dem einheitlichen Modell, das eZ Publish verwendet, um beliebige Inhalte in der Datenbank abzulegen, ist auch eine Strukturierung der Inhalte einfach. Grundsätzlich liegen alle Inhaltsobjekte in einem Baum, wobei jeder Knotenpunkt des Baums ein Inhaltsobjekt ist. Ein Inhaltsobjekt kann jedoch neben seiner Hauptposition noch an beliebig vielen anderen Stellen referenziert werden, sodass sich zum Beispiel ein einzelner Artikel gleichzeitig im Archiv und auf der Startseite der Webseite befinden kann. Dies ermöglicht sowohl das Wiederverwenden von Inhalten als auch neue Möglichkeiten der Strukturierung.
Bei jedem Inhaltsobjekt kann grundsätzlich angegeben werden, ob es andere Inhaltsobjekte als Kinder enthalten darf. Über die Benutzerauthorisierung kann definiert werden, welche Benutzergruppe oder welcher Benutzer welche Inhalte unter welchen anderen Inhalten anlegen darf. Diese Rechte können dazu auf bestimmte Teilbäume limitiert werden. Dabei lassen sich die Rechte natürlich nicht nur für das Anlegen von Objekten definieren, sondern auch gezielt für alle anderen denkbaren Aktionen, wie das Ansehen, Modifizieren oder Freigeben von bestimmten Inhaltsklassen oder Gruppen von Inhaltsklassen. Um bei dem bekannten Beispiel zu bleiben, wäre es möglich, dass die Redakteure neue Artikel schreiben und in einem für anonyme Besucher nicht sichtbaren Bereich erstellen, während der Chefredakteur diese Artikel auf die Startseite stellen darf. Gesondert ließe sich dann beispielsweise das Recht an einzelne Redakteure vergeben, veröffentlichte Artikel zu korrigieren. Dieser einfache Ablauf lässt sich über die konfigurier- und programmierbaren Workflows in eZ Publish noch erweitern.
Mit dem Content-Modell von eZ Publish haben Sie einen ersten Überblick über die Möglichkeiten des Content Management Frameworks erhalten. Neben Standarderweiterungen [1] des Herstellers wie eZ Newsletter (einer professionellen Newsletter-Lösung), eZ Flow (einer dynamischen Seiten-Layout-Planung insbesondere für die Medienindustrie) oder eZ Find (einer Erweiterung zur Integration unternehmensweiter Suchergebnisse), existieren Standardadapter zu LDAP, Lotus-Notes, Payment- und ERP-Systemen wie SAP und Microsoft Dynamics. Dazu kommen Erweiterungen aus der großen Community um eZ Publish [2]. Ein Überblick über seine Features [3] findet sich auf der Website von eZ Systems. Eine Vielzahl von Referenzen zum Einsatzgebiet von eZ Publish findet sich ebenfalls auf der Seite des Herstellers [4].
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