Fasst man den Begriff Contentmanagement-Systeme (CMS) weit genug, reicht das Leistungsspektrum von Forensoftware wie PHP-BB über Weblog-Programme wie Wordpress bis hin zu komplexen Systemen wie Typo3. Wie diese Beispiele basieren viele andere auf PHP. Da die meisten großen Hosting-Unternehmen diese Skriptsprache unterstützen, sind PHP-Systeme weit verbreitet und für viele Benutzer die erste Begegnung mit Webanwendungen.
Sie stoßen aber schnell an ihre Grenzen, wenn ein hohes Maß an Sicherheit, ein leistungsfähiges Zugriffsmanagement für Benutzer und Arbeitsgruppen sowie ein Workflow-gesteuertes Prozessmanagement erforderlich sind. Als CMS für gehobene Ansprüche hat sich in den letzten Jahren das auf dem Webapplikationsserver Zope basierende Plone etabliert [1].
Basis Zope
Zope ist als professionelles System das Python-Pendant zu den leistungsfähigen Webentwicklungssystemen der Java-Welt, also etwa zu JBoss, Websphere oder Weblogic.
Zope macht mit seiner Komponentenarchitektur als Unterbau Plone für unternehmenskritische Anwendungen erst richtig interessant. Wie Zope selbst basiert es auf Python. Diese objektorientierte Programmiersprache zeichnet sich durch Eleganz und Einfachheit aus.
Aufgrund seiner guten Lesbarkeit eignet sich der Python-Code vor allem für Projekte, in denen Teamarbeit eine große Rolle spielt. Dies mag auch einer der Gründe sein, warum die Plone-Community mit rund 160 Kernelentwicklern und weit über 500 Programmierern von Erweiterungen eine der größten und lebendigsten Open-Source-Entwicklergemeinschaften weltweit ist.
Plone läuft auf allen gängigen Betriebssystemen. Für Windows, Linux und Mac OS X gibt es Installer, die ein komplettes System einrichten. Wer Plone einmal ausprobieren möchte, sollte diesen einfachen Installationsweg wählen, dann bekommt er im Handumdrehen den Plone-Screen zu sehen (Abbildung 1). Beim professionellen Einsatz von Plone empfiehlt es sich jedoch, alle Komponenten - also Python, Zope und Plone - aus den Sourcen zu installieren. Plone 3.0 erfordert Python in der Version 2.4.4 sowie Zope 2.10.4.
Abbildung 1: Die Oberfläche des Plone-CMS frisch nach der Installation. Unter dem Punkt »Get started« findet der Admin die wichtigsten Funktionen für die Systemverwaltung.
Eine relationale Datenbank benötigt Plone nicht zwingend, da das System die integrierte Objektdatenbank ZODB von Zope nutzt. Die ZODB ist ACID-konform, hat Undo-, Replikations- und Hot-Backup-Funktionen und kann über Zope Enterprise Objects (ZEO) als zentrale Datenbank-Serverlösung Daten zur Lastverteilung an mehrere parallel laufende Zope-Instanzen ausliefern. Dadurch ist Plone in hohem Maße skalierbar. Wer auf eine SQL-Datenbank nicht verzichten mag, kann diese über objektrelationale Mapper an Plone anbinden.
Einfaches Editieren
Plone besitzt eine recht intuitive Benutzeroberfläche. Selbst Anwender, die noch nie mit einem CMS gearbeitet haben, können Plone in kurzer Zeit produktiv nutzen. So ist zum Beispiel die Bearbeitung in das normale Layout der Site integriert, statt dafür ein getrenntes Editier-Interface vorzuschreiben. Dadurch sieht der Benutzer immer, welche Auswirkung seine Veränderungen haben, und muss sich nicht erst mit der Benutzerführung in einem getrennten Redaktionssystem auseinandersetzen. Wenn er einen Artikel bearbeitet, erhält dieser lediglich einen zusätzlichen Rahmen mit den notwendigen Bearbeitungsmenüs.
Einige Elemente einer Seite, etwa die Überschrift, die einleitende Beschreibung und der Haupttext lassen sich - die entsprechenden Rechte vorausgesetzt - durch einen Mausklick auch isoliert in den Bearbeitungsmodus versetzen und vom übrigen Inhalt der Seite bearbeiten. Das ist besonders praktisch bei schnellen redaktionellen Änderungen. Erzielt wird dieser Effekt durch Ajax, das Plone mit Hilfe des Framework KSS (Kinetic Style Sheets) unterstützt [2].
Informationen speichert Plone als Objekte in Form von so genannten Artikeltypen. Jedem Artikeltyp liegt ein Schema zugrunde, das sich dem Benutzer als Formularsatz darstellt, über den er die Daten eingibt. Dabei kann er ganz unterschiedliche Arten von Informationen verarbeiten. In der Standardversion von Plone gibt es folgende Artikeltypen:
- Ordner: Dienen der Strukturierung der Website.
- Seite: Bestehend aus Titel, Einleser und Haupttext.
-
Nachricht: Ähnlich aufgebaut wie eine Seite,
zusätzlich versehen mit einem Bild, das auch auf der
Nachrichten-Übersichtsseite erscheint.
-
Bild: Zur Speicherung, Skalierung und Anzeige von
Grafikformaten.
-
Datei: Zur Speicherung von Word-, PDF- oder anderen
Dateiformaten, die als Download angeboten werden.
-
Link: Für die Speicherung von kommentierten
Verweisen.
- Termin: Für Termine, Veranstaltungen und so fort.
-
Kollektion: Virtueller Ordner, der Inhalte anhand komplexer
Suchmuster anzeigen kann.
In allen Artikeltypen sind die Inhalte durch Metadaten kategorisiert, die dem Dublin-Core-Schema [3] entsprechen. Über diese Metadaten lassen sich die unterschiedlichen Inhalte in der Website miteinander verknüpfen oder in einem Suchlauf gezielt auffinden. So werden beispielsweise in den Kollektionen Inhalte anhand ihrer Metadaten gemeinsam aufgelistet.