Aufgabe dieser Dokumentation ist es, das Content Management System eZ Publish, sowohl aus theoretischer als auch aus praktischer Sichtweise, vorzustellen. Aus diesem Grund ist ein kom-plettes Kapitel dem praktischen Arbeiten mit eZ Publish gewidmet.
Der Abschnitt 2 gibt einen kurzen Systemüberblick mit einigen allgemeinen Informationen wie z. B. den zum Tragen kommenden Lizenzmodellen oder den Voraussetzungen zum technischen Betrieb. Weiters werden auch einige Angaben zum internen Aufbau und der Verzeichnisstruktur von eZ Publish gemacht.
Danach folgt im Abschnitt 3 eine genaue Beschreibung zur Vorgehensweise der Installation von eZ Publish auf einem Apache-Server mit einer MySQL-Datenbank. Dabei werden sowohl die Installationsvoraussetzungen wie auch der Installationsablauf beschrieben. Zusätzlich wird noch auf die lokale Testinstallation mittels eZ Publish 3.10 Installer für Windows eingegangen.
Ein weiterer Abschnitt 4 beschäftigt sich mit dem Content Management in eZ Publish, das heißt wie Content strukturiert wird, was es mit der Content-Versionierung auf sich hat, wie es mit der Sprachunterstützung aussieht, was ein Content-Knotenbaum, Sektionen, Module und Views sind, wie eZ Publish URLs behandelt und wie das CMS mit Zugriffskontrollen und Workflows um-geht.
Der 5. Abschnitt beschäftigt sich mit dem Thema Templates in eZ Publish. Dabei werden die Grundlagen beschrieben, ein kurze Einführung in die Template-Sprache gegeben und das Template-Override-System beschrieben
In einem weiteren Abschnitt 6 wird auf das Arbeiten mit ez Publish eingegangen. Dabei wird zuerst ein kurzer Überblick über das Administrations-Interface gegeben, dann wird die Vorge-hensweise zum Erstellen und Einbinden von benutzerdefinierten Templates und Stylesheets ge-zeigt, um ein eigens Seitenlayout erzeugen zu können. Weiters wird auf das Anlegen von Benut-zergruppen und Zuweisen von Rollen und Verteilen von Rechten eingegangen.
Der vorletzte Abschnitt 7 beschäftigt sich mit den erwähnenswerten Besonderheiten des Systems, wie z. B. den verschiedenen Content- und Media-Arten, die es in eZ Publish gibt, und einigen interessanten Features.
Der letzte Abschnitt 8 schließt die Dokumentation mit einer zusammenfassenden Wertung ab.
Inhaltsverzeichnis
1 Zusammenfassung
2 Systemüberblick
3 Installation von eZ Publish
3.1 Installationsvoraussetzungen
3.1.1 Hardware
3.1.2 Software
3.2 Installationsablauf
3.3 Lokale Testinstallation mit eZ Publish 3.10 Installer für Windows
4 Konzepte und Grundlagen
4.1 Der interne Aufbau von eZ Publish
4.2 Die Verzeichnisstruktur von eZ Publish
4.3 Die objektorientierte Strukturierung in eZ Publish
4.4 Die Content-Versionierung
4.5 Die Unterstützung mehrerer Sprachen
4.6 Content-Knoten und Content-Knotenbaum
4.7 Sektionen
4.8 Site Management
4.9 Module und Views
4.10 URLs in eZ Publish
4.10.1 System URLs
4.10.2 Virtuelle URLs
4.11 Designs
4.12 Zugriffskontrolle
4.13 Webshop
4.14 Workflows
5 Templates
5.1 Grundlagen
5.2 Die Template-Sprache
5.2.1 Kommentar
5.2.2 Variablentypen
5.2.3 Benutzung von Variablen
5.2.4 Kontrollstrukturen
5.2.5 Funktionen und Operatoren
5.2.6 Templates in eine Seite einbinden
5.3 Das Template-Override-System
6 Das Arbeiten mit eZ Publish
6.1 Das Administrations-Interface
6.2 Ein eigenes, benutzerdefiniertes Seitenlayout erstellen
6.2.1 Ordner in der Verzeichnisstruktur anlegen und Einstellungen in den „settings„
6.2.2 Template Cache deaktivieren
6.2.3 Das Haupttemplate „pagelayout.tpl“ erstellen
6.2.4 Das benutzerdefinierte Stylesheet für pagelayout.tpl erstellen und einbinden
6.2.5 Sektionen erstellen
6.2.6 Inhalte der Startseite an die eigenen Bedürfnisse anpassen
6.2.7 Das Override Template „full_view_homepage.tpl“ erstellen
6.2.8 Die News-Seiten erstellen
6.2.9 Den Newsfolder der News Sektion zuweisen und die Berechtigungen anpassen
6.2.10 Den News-Link auf der Webseite dem Newsordner zuweisen
6.2.11 Das Override Template „full_view_news_folder.tpl“ erstellen
6.2.12 Das Override Template „line_view_news_article.tpl” erstellen
6.2.13 Das Override Template „full_view_news_article.tpl“ erstellen
6.2.14 Das fertige Seitenlayout in Bildern
6.3 Benutzergruppen und Benutzerkonten
6.3.1 Benutzergruppen – User accounts
6.3.2 Ein neues Benutzerkonto anlegen
7 Besonderheiten von eZ Publish
7.1 Content-Arten
7.2 Media-Arten
7.3 Features
7.3.1 Audit trailing
7.3.2 Clustering
7.3.3 Packages
7.3.4 Advanced redirection after login – Weiterleitung nach dem Login
7.3.5 Notifications - Benachrichtigungen
7.3.6 Search Engine – Suchmaschine
7.3.7 Multi-Language
8 Resümee
9 Literaturverzeichnis
10 Abbildungsverzeichnis
11 Tabellenverzeichnis
1 Zusammenfassung
Aufgabe dieser Dokumentation ist es, das Content Management System eZ Publish, sowohl aus theoretischer als auch aus praktischer Sichtweise, vorzustellen. Aus diesem Grund ist ein komplettes Kapitel dem praktischen Arbeiten mit eZ Publish gewidmet.
Der Abschnitt 2 gibt einen kurzen Systemüberblick mit einigen allgemeinen Informationen wie z. B. den zum Tragen kommenden Lizenzmodellen oder den Voraussetzungen zum technischen Betrieb. Weiters werden auch einige Angaben zum internen Aufbau und der Verzeichnisstruktur von eZ Publish gemacht.
Danach folgt im Abschnitt 3 eine genaue Beschreibung zur Vorgehensweise der Installation von eZ Publish auf einem Apache-Server mit einer MySQL-Datenbank. Dabei werden sowohl die Installationsvoraussetzungen wie auch der Installationsablauf beschrieben. Zusätzlich wird noch auf die lokale Testinstallation mittels eZ Publish 3.10 Installer für Windows eingegangen.
Ein weiterer Abschnitt 4 beschäftigt sich mit dem Content Management in eZ Publish, das heißt wie Content strukturiert wird, was es mit der Content-Versionierung auf sich hat, wie es mit der Sprachunterstützung aussieht, was ein Content-Knotenbaum, Sektionen, Module und Views sind, wie eZ Publish URLs behandelt und wie das CMS mit Zugriffskontrollen und Workflows umgeht.
Der 5. Abschnitt beschäftigt sich mit dem Thema Templates in eZ Publish. Dabei werden die Grundlagen beschrieben, ein kurze Einführung in die Template-Sprache gegeben und das Template-Override-System beschrieben
In einem weiteren Abschnitt 6 wird auf das Arbeiten mit ez Publish eingegangen. Dabei wird zuerst ein kurzer Überblick über das Administrations-Interface gegeben, dann wird die Vorgehensweise zum Erstellen und Einbinden von benutzerdefinierten Templates und Stylesheets gezeigt, um ein eigens Seitenlayout erzeugen zu können. Weiters wird auf das Anlegen von Benutzergruppen und Zuweisen von Rollen und Verteilen von Rechten eingegangen.
Der vorletzte Abschnitt 7 beschäftigt sich mit den erwähnenswerten Besonderheiten des Systems, wie z. B. den verschiedenen Content- und Media-Arten, die es in eZ Publish gibt, und einigen interessanten Features.
Der letzte Abschnitt 8 schließt die Dokumentation mit einer zusammenfassenden Wertung ab.
2 Systemüberblick
Laut [eZ Publish 2007] ist eZ Publish ein Open Source Enterprise Content Management System und Entwicklungs-Framework mit Funktionalitäten für Webseiten, E-Commerce-Anwendungen wie Web-Shops, Intranets und Extranets.
Das CMS ist für große und umfangreiche Websites konzipiert, das bedeutet, dass es je nach Anforderung auf Größe, Anzahl der Nutzer, Datenkapazität, Anzahl der Server und Internet-Anbindung angepasst werden kann.
EZ Publish erzwingt durch die XML-konforme Speicherung aller Inhalte die strenge Trennung von Information und Design, wodurch eine barrierefreie Gestaltung z. B. für Braille-Geräte sowie die Anbindung anderer Ausgabegeräte wie WAP-Browser oder Mobiltelefone ermöglicht wird.
EZ Publish ist sowohl als freie Open Source Version unter der GNU General Public License [GNU 2007] erhältlich, als auch unter der eZ Publish Professional Lizenz [eZPUL 2007] mit entsprechendem kommerziellen Support, z. B. Gewährleistung oder automatischen Patches und Updates für das eingesetzte eZ Publish System.
Entwickelt wird eZ Publish von der norwegischen Firma eZ Systems zusammen mit einer wachsenden Benutzer- und Entwickler-Gemeinschaft, die immer wieder neue Funktionen wie z. B. Applikationen, Plugins und Dokumentationen, die zum Teil unter [eZ Publish Developer 2007] herunter geladen werden können, entwickeln.
Es besteht auch die Möglichkeit selbst Änderungen am System, in Form von so genanten Extensions bzw. Modulen, durchzuführen, um es an eigene Bedürfnisse anpassen zu können.
Das Content Management System eZ Publish basiert als LAMP-Anwendung auf PHP. LAMP ist eine Abkürzung und steht für Linux mit Apache-Webserver, MySQL-Datenbank und PHP als Skriptsprache. Es ist also nicht verwunderlich, dass [eZ Publish 2007] einen Linux basierten Webserver mit Apache und installiertem PHP und eine MySQL-Datenbank in Produktionsumgebungen empfiehlt. Nichtsdestotrotz sollten auch Windows 2000 und Windows XP, Mac OS X und Unix-Systeme funktionieren, genauso wie andere Webserver als der Apache, die PHP unterstützen.
EZ Publish legt den gesamten Content in einer Datenbank ab. Dabei werden derzeit laut [ez Publish 2007] zwar nur MySQL und PostgreSQL unterstützt, dennoch kann durch den Einsatz der offenen Datenbankschnittstelle fast jede SQL Datenbank an das System angebunden werden. Zurzeit gibt es bereits fertige Schnittstellen zu den Datenbanken Microsoft SQL Server und Oracle. Eine Ausnahme stellen Bilder, binäre Dateien und alle Daten, die mit dem Design zusammenhängen, dar. Diese werden nicht in der Datenbank, sondern im Dateisystem unter „design“ bzw. „var“ abgelegt.
Abbildung in dieser Leseprobe nicht enthalten
Abb.2.1 „Speicherung der Daten in eZ Publish“, [eZ Publish Docs 2007]
Abbildung in dieser Leseprobe nicht enthalten
Abb.2.2 Screenshot „ez.no Homepage http://ez.no/“
Die Version, die beim Verfassen dieser Dokumentation verwendet wurde, ist eZ Publish 3.10 (Stand 4. Oktober 2007) und steht unter [eZ Publish Download 2007] zum Download bereit. Seit 3. Dezember 2007 ist nun auch eZ Publish 4.0 in einer stabilen Version als Download unter [eZ Publish Download 2007] zu finden.
3 Installation von eZ Publish
3.1 Installationsvoraussetzungen
3.1.1 Hardware
Laut [eZ Publish 2007] gibt es zwar keine festen Vorgaben, da die Hardware von mehreren Faktoren, wie die durchschnittliche Zahl der Anwender, die Anzahl der zum Einsatz kommenden Templates und dem eingestellten Caching abhängt, dennoch gibt es einige Mindestanforderungen:
- Arbeitsspeicher: 512MB RAM gelten als Minimum.
- Festplattenplatz: 50MB gelten hier als Minimum für die Installation.
- Prozessor: CPU mit mindestens 500MHz
3.1.2 Software
Laut [eZ Publish 2007] sind folgende Anforderungen an die Software zu stellen:
- Webserver Software: Empfohlen wird Apache 1.3 oder 2 oder ein anderer Webserver mit PHP-Unterstützung.
- Apache-Module: zumindest mod_php.
- PHP Skriptsprache: PHP4 (Version 4.4.0 oder höher) oder PHP5 (Version 5.1.0 oder höher).
- PHP Einstellungen:
- PHP darf nicht mit Safe-Mode konfiguriert sein.
- Die pcre-Extension muss aktiviert sein.
- memory_limit sollte mindestens auf 64MB gesetzt sein.
- PHP CLI: Command Line Interface sollte installiert sein, da sonst einige Funktionen von eZ Publish wie z. B. das Versenden von Benachrichtigungen an Benutzer bei speziellen Ereignissen wie Updates oder das Löschen des Cache über die Kommandozeile nicht durchgeführt werden können.
- PHP-Accelerator: wird dringend empfohlen um die Performanz zu steigern. Accelerators, die gut mit eZ Publish zusammenarbeiten sind:
- Turck mmCache,
- Zend Accelerator (ZPS) und
- APC.
- Datenbank auf dem Server: MySQL Version 3.23 oder höher oder PostgreSQL Version 7.3 oder höher werden vollständig unterstützt und empfohlen.
3.2 Installationsablauf
Sind die Installationsvoraussetzungen erfüllt, erfolgt die normale Installation auf einem von [eZ Publish 2007] empfohlenen Linux-Server in folgenden Schritten.
1. eZ Publish kann direkt von der Download-Seite [eZ Publish Download 2007] als komprimiertes Archiv herunter geladen werden.
2. Nach dem Herunterladen und Entpacken des Archivs gibt es einen Ordner „ezpublish-3.10.0“, den man der Einfachheit halber z. B. in „ezpublish“ umbenennt. Dieser Ordner, den man z. B. mittels FTP auf den Webspace des Providers kopieren muss, besitzt folgenden Inhalt:
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.2.1 Screenshot „Inhalt des Ordners ezpublish – Version 3.10.0“
3. Zusätzlich muss eine neue, leere Datenbank angelegt werden, z. B. „ezdatabase“ mit einem Benutzer, der darauf zugreifen kann, z. B. „ezuser“.
Als Beispiel für den Aufruf in der Kommandozeilenebene bei Verwendung von MySQL laut [eZ Publish Docs 2007]:
- Einloggen als root:
# mysql -u root -p <Passwort>
Eine neue Datenbank erstellen:
> CREATE DATABASE ezdatabase; character set <character_set>;
- Berechtigungen festlegen:
> GRANT ALL ON ezdatabase.* TO ezuser@localhost IDENTIFIED BY 'yourpassword';
> quit
# mysqladmin -p reload
4. Ist dies geschehen, ruft man mit dem Browser das eZ Publish-Verzeichnis auf, z. B. mit http://www.beispieldomainname.de/ezpublish/index.php und der Installationsassistent startet.
5. Auf der Willkommensseite wird die gewünschte Installationssprache ausgewählt, dann die Schaltfläche „Weiter“ gedrückt.
6. Der Installations-Assistent prüft zunächst die grundlegenden Installationsvoraussetzungen.
7. Im nächsten Schritt kann angegeben werden, auf welchem Weg eZ Publish E-Mails versenden soll. Wenn das PHP-Skript sendmail auf dem Server installiert ist, sollte dieses verwendet werden, ansonsten kann auch SMTP verwendet werden.
8. Danach kann die Datenbank ausgewählt werden, wenn PHP mehrere Datenbanktypen unterstützt. Wird nur ein Datenbanktyp unterstützt z. B. MySQL, wählt der Assistent diesen automatisch und der Dialog zur Auswahl wird nicht angezeigt.
9. Im nächsten Schritt werden die Zugangsdaten zur Datenbank abgefragt.
10. Nun können Einstellungen zur Sprache durchgeführt werden. In der ersten Spalte wird per Radiobutton die Standardsprache ausgewählt, mit der eZ Publish die Besucher begrüßen soll. In der zweiten Spalte wird über die Checkboxen festgelegt, welche Sprachen zusätzlich zur Verfügung stehen sollen, damit der Content auch in anderen Sprachen angezeigt werden kann.
11. Auf der folgenden Seite kann aus bereits fertigen Designvorlagen ein Design für die Seite ausgewählt werden. Diese Designvorlagen bestehen aus Templates, CSS und Grafiken und können als Grundlage für eigene Designs dienen.
12. In einem weiteren Schritt muss ausgewählt werden wie eZ Publish auf ausgewählte Seiten zugreift. Die Standard-Methode ist die URL-Methode, das heißt, dass eZ Publish die Seiten anhand der URL auswählt, oder noch genauer gesagt, anhand des Teils der nach index.php kommt.
13. Gegen Ende der Installation werden noch einige Seitendetails abgefragt wie z. B. der Seitentitel, die Seiten-URL oder die zu verwendende Datenbank, die mittels DropDown-Menü ausgewählt werden kann. Des Weiteren müssen noch einige Angaben zum Administrator gemacht werden wie Vor- und Nachname, E-Mail Adresse und selbst gewähltes Passwort.
14. Als letzten Schritt hat man noch die Möglichkeit, seine eZ Publish Version zu registrieren, dann ist die Installation abgeschlossen.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.2.2 Screenshot „Downloadseite von ez.no“
3.3 Lokale Testinstallation mit eZ Publish 3.10 Installer für Windows
Um Erfahrungen mit eZ Publish sammeln zu können, das heißt,
- Einstellungen auszuprobieren,
- Templates zu erzeugen und
- Beispielseiten anzulegen,
wurde das CMS mit Hilfe des Installationspaketes „eZ Publish 3.10 Installer für Windows“ zuerst lokal auf einem Windows 2000 PC installiert.
In diesen Installern sind alle Komponenten enthalten, die zum Betrieb von eZ Publish notwendig sind, das heißt Apache, PHP und MySQL.
Nach einem Doppelklick auf die .exe-Datei startet der Installationsassistent mit dem Begrüßungsfenster.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.1 „eZ Publish-Installation Schritt 1 – Begrüßungsfenster“
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.2 „eZ Publish-Installation Schritt 2 – die zu installierenden Komponenten wählen“
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.3 „eZ Publish-Installation Schritt 3 – Installationsort auswählen“
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.4 „eZ Publish Installation Schritt 4 – auswählen, ob eZ Publish im Startmenü enthalten sein soll“
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.5 „eZ Publish-Installation Schritt 5 – der Installationsprozess läuft ab“
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.6 „eZ Publish-Installation Schritt 6 – das grundlegende Setup ist beendet“
Die Vorbereitungen, also die Installation und das Einrichten von
- Apache,
- MySQL und
- PHP
sind nun abgeschlossen.
In den nächsten Schritten geht es nun um die eigentliche Installation des CMS.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.7 „eZ Publish-Installation Schritt 7 – Willkommensbildschirm und Auswahl der Installationssprache“
Hier muss nur die Sprache ausgewählt werden, in welcher die Installation ablaufen soll. Anschließend auf die Schaltfläche „Weiter“ klicken.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.8 „eZ Publish-Installation Schritt 8 – Einstellungen für den Email Versand“
Hier muss zumindest ein SMTP-Servername angegeben werden.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.9 „eZ Publish-Installation Schritt 9 – die zu verwendenden Sprachen auswählen“
Durch einen Klick auf einen Radiobutton wird die Standardsprache des Systems ausgewählt. Mit den Checkboxen können verschiedene Sprachen ausgewählt werden, die zur Erstellung von mehrsprachigem Content zur Verfügung stehen sollen.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.10 „eZ Publish-Installation Schritt 10 – Auswahl eines Site Pakets, das als Designvorlage dienen soll“
In diesem Schritt kann ein Webseitenpaket ausgewählt werden, auf dem die Webseite basieren soll. Diese Designvorlagen können als Grundlage verwendet und an eigene Bedürfnisse angepasst werden.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.11 „eZ Publish-Installation Schritt 11 – Seitendetails angeben“
Hier können Einstellungen zum Titel der Webseite, zur URL der Webseite etc. gemacht und eine Datenbank ausgewählt werden.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.12 „eZ Publish-Installation Schritt 12 – Angaben zum Administrator“
Hier werden Angaben zum Administrator der Seite gemacht. Also Vor- und Nachname, eine Email Adresse und ein selbst gewähltes Passwort.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.13 „eZ Publish-Installation Schritt 13 – Die Registrierung“
Hier kann nun die Registrierung der eZ Publish Version durchgeführt werden. Will man dies nicht, muss man das Häkchen bei „Registrierung abschicken“ herausnehmen.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.14 „eZ Publish-Installation Schritt 14 – Die Installation ist fertig“
Die Installation ist beendet. Auf der Seite findet man nun die beiden Links zur Benutzeroberfläche und zur Administratoroberfläche.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.15 „eZ Publish Administratoroberfläche nach der Installation“
Nach dem Klick auf den Link „Administratoroberfläche“ wird diese Seite geladen. Nach dem Anmelden gelangt man zum Administrations-Interface, mit welchem die gesamte Webseite verwaltet wird.
Abbildung in dieser Leseprobe nicht enthalten
Abb.3.3.16 „eZ Publish Benutzeroberfläche nach der Installation mit der ausgewählten Designvorlage“
Nach dem Klick auf den Link „Benutzeroberfläche“ wird diese Seite geladen. Dies ist das Benutzer-Interface für die Benutzer, die sich die Inhalte der Webseite anschauen möchten.
4 Konzepte und Grundlagen
4.1 Der interne Aufbau von eZ Publish
eZ Publish selbst besteht laut [ez Publish Docs 2007] aus drei Teilen:
1. Der Kernel stellt den Kern des Systems dar. Dieser enthält alle Funktionen zur Handhabung der Inhalte (Content), des Workflows und der Versions- und Zugriffskontrolle. Grundsätzlich stellt der Kernel eine Sammlung von Mechanismen dar, die auf den Klassen-Bibliotheken aufbauen.
2. Die Klassenbibliotheken (Libraries) bilden den Hauptteil von eZ Publish. Sie sind wieder verwendbare PHP-Klassen. Sie stehen in keiner Abhängigkeit mit dem Kernel und können somit auch in anderen PHP-Anwendungen genutzt werden. Beispiele sind „ezpdf“, „eztemplate“ und „ezxml“.
3. Die Module bzw. Extensions sind eine Sammlung von Funktionen, die eine Art Schnittstelle (Interface) zum Kernel darstellen. Jedes Modul besitzt bestimmte Funktionen für die Verwaltung und Ausführung verschiedener Aufgaben. Beispiele sind „content“, „section“, oder „map“.
Abbildung in dieser Leseprobe nicht enthalten
Abb.4.1.1 „Zusammenhang zwischen Kernel, Bibliotheken und Modulen“, [eZ Publish Docs 2007]
4.2 Die Verzeichnisstruktur von eZ Publish
Das Hauptverzeichnis ist unterteilt in mehrere Unterverzeichnisse
Abbildung in dieser Leseprobe nicht enthalten
Abb.4.2.1 „Verzeichnisstruktur von eZ Publish“, [eZ Publish Docs 2007]
Abbildung in dieser Leseprobe nicht enthalten
Tabelle 4.2. 1 Überblick über die Verzeichnisstruktur von eZ Publish, [eZ Publish.Docs 2007]
4.3 Die objektorientierte Strukturierung in eZ Publish
Laut [eZ Publish Docs 2007] kann der Webseiten-Administrator entweder vordefinierte Content-Strukturen verwenden oder seine eine eigene Content-Struktur definieren. Dadurch ist eZ Publish ein besonders flexibles System, und es ist sehr einfach, benutzerdefinierte Daten zu strukturieren, zu speichern, wieder zu finden und zu präsentieren.
Diese Möglichkeit der „personalisierten“ Content-Strukturierung ist an die objektorientierte Denkweise[1] verschiedener Programmiersprachen wie Java oder C++ angelehnt.
Die Abbildung zeigt den Zusammenhang und die Beziehungen zwischen Content-Klasse, Content-Objekten, Attributen und Datentypen.
Abbildung in dieser Leseprobe nicht enthalten
Abb.4.3.1 „Die Content-Klasse und zwei Content-Objekte“, [eZ Publish Docs 2007]
- Content-Klassen: sind z.B. Ordner, Artikel, Bilder, Feedback-Formulare, etc., enthalten also eine bestimmte Datenstruktur, je nachdem was sie darstellen. In einer Content-Klasse selbst werden keine Daten gespeichert. Sie stellt nur eine Art Vorlage dar, deren Datenstruktur mit Merkmalen, so genannten Content-Klassenattributen wie z. B. Title, Intro, Body beschrieben wird. Jedes Content-Klassenattribut besitzt einen bestimmten Datentyp wie z. B. String, XML.
- Content-Objekt: ist eine Instanz, also ein Kind, einer Content-Klasse, das die Merkmale, also die Klassenattribute wie Title, Intro, Body der Content-Klasse erbt. Die Content-Klasse legt also nur die Datenstruktur vor, im Content-Objekt können nun tatsächlich die Daten gespeichert werden. Es können mehrere Content-Objekte einer Content-Klasse existieren. Wenn man z. B. eine Content-Klasse zum Speichern von News-Artikeln festlegt, können mehrere Artikelseiten, also Content-Objekte, davon abgeleitet werden, welche die selben Attribute wie die Content-Klasse besitzen, aber im Gegensatz dazu nun Inhalte wie Text, Bilder, etc. aufnehmen können.
- Datentyp: bezeichnet laut [eZ Publish Docs 2007] die kleinste mögliche Speichereinheit. Durch den Datentyp wird festgelegt wie Information gespeichert, geprüft, formatiert etc. werden sollen. In eZ Publish gibt es sehr viele vordefinierte, grundlegende Datentypen wie z.B. „string“, „XML text“, „image“ und „binary file“. Sollten diese Datentypen nicht ausreichen, können eigene Datentypen mit Hilfe von PHP erstellt werden.
4.4 Die Content-Versionierung
In eZ Publish gibt es ein Versionierungssystem für Content-Objekte. Dadurch können die Daten eines Content-Objektes auch in mehreren Versionen existieren, wobei immer nur eine Version, und zwar die aktuellste Version, veröffentlicht sein kann. Da bei jeder Datenänderung eine neue Version angelegt wird, bleibt die alte Version unverändert erhalten. Dadurch ist es eZ Publish möglich, alle Änderungen, auch von unterschiedlichen Benutzern, aufzuzeichnen und ungewollte Änderungen rückgängig zu machen.
Bei häufiger Datenänderung würde die Datenbank natürlich schnell anwachsen. Der Webseiten-Administrator kann dies verhindern, indem er die maximale Anzahl an Versionen eines Objektes festlegt. Dies kann er auf Content-Klassenebene durchführen, wodurch diese Eigenschaft auf alle instanziierten Content-Objekte vererbt wird.
Das integrierte Versionierungssystem ist eine flexible und mächtige Funktionalität, die das Versionieren jeder Art von Content, d.h. auch von Bildern und binären Dateien, unabhängig vom Typ, von der Struktur und Größe ermöglicht.
Abbildung in dieser Leseprobe nicht enthalten
Abb.4.4.1 „Funktionsweise des Versionierungssystems von eZ Publish“, [eZ Publish Docs 2007]
4.5 Die Unterstützung mehrerer Sprachen
Laut [eZ Publish Docs 2007] unterstützt eZ Publish die Verwaltung jeder Art von Content in mehreren Sprachen, das heißt, dass jedes Content-Objekt nicht nur in mehreren Versionen, sondern auch in mehreren Sprachen existieren kann. Diese Sprachverwaltung ist in das Versionierungssystem integriert. Die nachfolgende Abbildung 4.5.1 zeigt wie die Sprachverwaltung in das Versionierungssystem integriert ist.
Abbildung in dieser Leseprobe nicht enthalten
Abb.4.5.1 „Versionierung und Sprachverwaltung“, [eZ Publish Docs 2007]
4.6 Content-Knoten und Content-Knotenbaum
Content-Objekte, also die Objekte, die die eigentlichen Daten enthalten, werden in eZ Publish mit Hilfe von Knoten (Nodes oder auch locations) und dem Content-Knotenbaum (Content Node Tree) strukturiert.
Ein Content-Knotenbaum besteht aus mehreren Knoten, mindestens aber aus dem Hauptknoten (root), und organisiert in einer hierarchischen Struktur, ähnlich dem Windows-Explorer, alle Content-Objekte, also den gesamten Content, eines eZ Publish Systems.
Ein Knoten ist ein Verweis, also nur ein Zeiger (Pointer) auf das eigentliche Content-Objekt.
Jeder Knoten, außer dem Hauptknoten, besitzt zwei Verweise. Einer zeigt auf den Eltern-Knoten und einer zeigt auf das Content-Objekt. Ein Knoten kann immer nur auf einen Eltern-Knoten und ein Content-Objekt zeigen. Es ist aber möglich, dass mehrere Knoten auf ein und dasselbe Content-Objekt zeigen. Das bedeutet, dass ein Content-Objekt an verschiedenen Orten im Content-Knotenbaum platziert sein kann.
Ein nicht veröffentlichtes Content-Objekt besitzt keinen Knoten im Content-Knotenbaum, genau so wenig wie archivierte Content-Objekte. Im Content-Knotenbaum befinden sich also nur Content-Objekte, die veröffentlicht wurden.
Die nachfolgende Abbildung 4.6.1 zeigt eine Beispielstruktur mit einem Content-Objekt (Object ID: 31), das an verschiedenen Orten (Node ID: 45 und Node ID: 47) im Content-Knotenbaum platziert ist.
Abbildung in dieser Leseprobe nicht enthalten
Abb.4.6.1 „Beispiel für eine Content-Strukturierung“, [eZ Publish Docs 2007]
4.7 Sektionen
Zusätzlich zur hierarchischen Strukturierung, kann der Content-Knotenbaum auch in logische Sektionen zerlegt bzw. aufgeteilt werden.
Durch Sektionen wird es laut [eZ Publish Docs 2007] einfach,
- benutzerdefinierte Templates zu nutzen,
- den Content-Knotenbaum in mehrere Unterbäume, so genannte Sub-Trees, aufzuteilen,
- Benutzerzugriffe auf Content-Objekte zu kontrollieren bzw. zu erlauben.
Die Benutzung der Sektionen erfolgt auf Content-Objektebene. Jedes Content-Objekt kann nur einer Sektion angehören. Standardmäßig gehört ein Content-Objekt der Sektion „Standard“ an. Weitere Sektionen, die mit einer Standardinstallation von eZ Publish vorhanden sind, sind:
- „Users“,
- „Media“ und
- „Setup“.
Mit Hilfe des Administrations-Interfaces können Sektionen einfach hinzugefügt, verändert oder gelöscht werden. Dabei werden Sektionen den Knoten, also den Verweisen auf Content-Objekte, zugeordnet. Immer wenn also einem Eltern-Knoten eine Sektion zugewiesen wird, erhalten alle darunter liegenden Knoten, also die Kind-Knoten, dieselbe Sektion zugewiesen. Wenn ein neues Content-Objekt erstellt wird, dann wird diesem die Sektion des Eltern-Knotens zugewiesen.
Abbildung in dieser Leseprobe nicht enthalten
Abb.4.7.1 „Beispiel für eine Sektions-Strukturierung“, [eZ Publish Docs 2007]
4.8 Site Management
Mit einer einzigen eZ Publish Installation können über das so genannte „Site Access System“, Seitenzugangseinstellungen, mehrere verschiedene Sites genutzt werden.
Zu einer Site bzw. Website gehören
- Konfigurationseinstellungen,
- eine Datenbank, die die Content-Struktur und die aktuellen Content-Daten enthält,
- Dateien, die mit dem Content verknüpft sind, wie z.B. Grafiken, Text, etc. und
- Dateien, die zu einem Design gehören.
Mit Hilfe des „Site Access Systems“ können verschiedene Konfigurationseinstellungen, die auf unterschiedlichen Regeln basieren, genutzt werden.
Das heißt, dass im Grunde nur eine Website existiert, diese aber, je nachdem, welcher Benutzer bzw. welche Benutzergruppe darauf zugreift, anders aussieht.
Das folgende Beispiel und die dazugehörige Abbildung 4.8.1 sollen die Funktionsweise des „Site Access Systems“ verdeutlichen.
In eZ Publish gibt es standardmäßig zwei Site Accesses für die beiden Benutzergruppen:
- Für den Administrator, der die Site verwaltet, ein Administrations-Interface und
- für die Webseitenbesucher, die sich die Webseite anschauen, ein Benutzer-Interface.
Beide Interfaces nutzen dieselbe Datenbank und denselben Inhalt, trotzdem bekommen sie ein unterschiedliches Bild von der Webseite.
Der Administrator sieht die Webseite im Administrator-Design, die Besucher in einem ganz anderen, individuellen Webdesign.
Abbildung in dieser Leseprobe nicht enthalten
Abb.4.8.1 „Beispiel für zwei Site Accesses“, [eZ Publish Docs 2007]
[...]
[1] Objektorientiert denken bedeutet, die Umwelt in Form von Objekten zu sehen z.B. in einem Zimmer stehen Stühle, ein Tisch, ein Bett und eine Lampe. An Hand bestimmter Merkmale können diese Objekte identifiziert und einer bestimmten Objektklasse zugeordnet werden.
- Quote paper
- Tamara Rachbauer (Author), 2007, Evaluierung des Content Management Systems eZ Publish, Munich, GRIN Verlag, https://www.grin.com/document/85787
-
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X. -
Upload your own papers! Earn money and win an iPhone X.