Ein Content-Management-System (CMS) ist eine Software zur Verwaltung von Inhalten (engl. Content). Der Begriff Verwaltung beinhaltet hierbei die Erstellung, die Pflege, die Präsentation sowie in manchen Fällen auch die Kontrolle (z.B. bei Redaktionen) und die individualisierte Präsentation (z.B. personalisierte Webseiten).
Der Begriff "Content-Management-System" wird meist fälschlicherweise synonym mit dem Begriff "Web-Content-Management-System" (WCMS) verwendet. Content-Management-Systeme lassen sich jedoch in zwei Untergruppen einteilen, nämlich die WCMS’ und die Enterprise-Content-Management-Systeme (ECMS).
Web-Content-Management-Systeme erfüllen in erster Linie den Zweck der Verbreitung von Inhalten im Internet. Die Inhalte sind vornehmlich dazu gedacht, von offenen Gruppen konsumiert zu werden (also ohne Anmeldung, Log-In, etc.). Ein wichtiger Grund für den Einsatz eines WCMS anstatt der händischen Erstellung ist die Trennung von Design, Programmlogik und Daten. Hierdurch wird das Einpflegen von Inhalten sehr erleichtert und kann auch von Benutzern ohne HTML-Kenntnisse geleistet werden. Hinzu kommt die Möglichkeit der Versionierung von Webseiten. Viele CMS bieten auch die Möglichkeit, Web-Anwendungen wie Kalender oder Foren auf einfache Weise einzubinden.
Zudem besteht nicht mehr das Risiko, versehentlich etwas kaputt zu machen (Redakteur zerschießt Design etc.).
Enterprise-Content-Management-Systeme verfolgen einen anderen Ansatz. Sie sollen möglichst alle Inhalte (Informationen, Dokumente, Wissen, Workflows) eines Unternehmens in einer einheitlichen Plattform ohne Redundanzen bereitstellen. ECMS’ ersetzen damit bisherige Archiv-Lösungen sowie Dokumenten-, Knowledge- und Workflow-Management-Systeme. ECMS’ werden häufig nur Mitarbeitern in Intranets (Business to Employee, B2E) oder Partnerfirmen (Business to Business, B2B) in Form von Extranets zugänglich gemacht. Die Bereitstellung des öffentlichen Internetauftrittes aus dem ECMS ist aber keinesfalls ausgeschlossen. Bei ECMS ist der Einsatz von Internettechnologie nicht obligatorisch, so dass die Benutzerschnittstelle keinesfalls immer der Webbrowser ist.
Plone ist ein quelloffenes (Open-Source) Content-Management-System, dass auf dem Application-Server Zope und dessen Add-On CMF (Content-Management-Framework) aufsetzt. Obwohl Plone eher bei den WCMS einzuordnen ist, verläuft die Grenze zum Enterprise-Content-Management-System fließend, denn es finden sich ECMS-Merkmale wie Document-Publishing, Workflow-Management und alternative Benutzerschnittstellen in Plone wieder.
Der Name "Plone" stammt ursprünglich von einer Elektro-Band, deren Musik die beiden Plone-Gründer Alan Runyan und Alexander Limi während der Entstehung des Systems hörten. Sie beschreiben die Musik als "verspielt und minimalistisch".
Zitat: "Plone should look and feel like the band sounds".¹ (Plone sollte sich anfühlen und aussehen wie die Band klang.)
Plone ist wie auch Zope in der freien Programmiersprache Python geschrieben und läuft auf allen gängigen Plattformen (Windows, versch. Linux und Unix-Varianten, Mac OS X, uvm.). Für Windows, Mac OS X und Linux sind Installationspakete vorhanden, die Python, Zope/CMF und Plone in wenigen Minuten installieren.
Plone ist sofort nach der Installation in der Standardkonfiguration einsatzbereit. Webserver und Datenbank werden von Zope zur Verfügung gestellt, es können aber auch Datenbanken (z.B. MySQL) und Webserver (z.B. Apache) von Drittanbietern eingebunden werden. Benutzername und Passwort für einen Administrator werden während der Installation festgelegt, so dass man sich sofort einloggen kann. Das Standardlayout entspricht der offiziellen Plone-Website und ist inhaltlich im Community-Stil gehalten.
Die Benutzeroberfläche von Plone unterstützt derzeit (11/05) rund 50 Sprachen. Standardmäßig wird die Sprache aus der Browsereinstellung übernommen, es lässt sich jedoch auch eine Sprache erzwingen.
Bei der Entwicklung von Plone wurde großer Wert auf die Einhaltung von Standards gelegt. Neben den W3C-Regeln für XHTML und CSS hält Plone als einziges Open-Source-CMS die Section-508-Barrierefreiheitsrichtlinien der US-Regierung und die Web-Content-Barrierefreiheitsrichtlinien des W3C-WAI ein. Zudem sollen die von Plone generierten Seiten in jedem Browser funktionieren.
¹ Quelle: http://plone.org/documentation/faq/name
Barrierefreiheit (engl. Accesibility, Zugänglichkeit) im Internet bedeutet, dass ein Web-Angebot von jedem, unabhängig von seiner technischen Ausstattung und von körperlichen oder sonstigen Behinderungen uneingeschränkt genutzt werden kann. Barrieren stellen so z.B. für einen bestimmten Browser optimierte Webseiten, aufgeblähte Quelltexte und in Grafiken "versteckte" Informationen dar. Barrierefreie Webseiten können wesentlich besser per Sprachausgabe oder Braillezeile¹ ausgeben werden und sind auch für Suchmaschinen-Bots wesentlich besser und vollständiger zu handhaben. In Deutschland ist für staatliche Internetangebote seit dem 27. April 2002 Barrierefreiheit vorgeschrieben (für neue Angebote, bisherige müssen bis Ende 2005 umgestellt sein).
¹ Ausgabegerät für Blindenschrift
Zope ist ein Open-Source Application-Server, CMF (Content-Management-Framework) ist ein Paket von Zusatzmodulen, das Zope um für Content Management relevante Eigenschaften erweitert (u. a. Mitgliederverwaltung, Workflow, Basis-Inhaltstypen). Zope bringt neben einer eigenen Datenbank, der Zope Object Database (ZODB), auch einen Webserver mit. Andere Webserver und Datenbanken können durch den Einsatz von Mittler-Programmen zur Befehlsübersetzung genutzt werden. Zope hinter einem Apache-Webserver zu betreiben wird oft praktiziert, eine andere Datenbank zu nutzen, empfiehlt sich weniger, da die ZODB als sehr performant gilt.
Da Zope über Standard-Schnittstellen wie XML-RPC¹ und WebDAV² kommunizieren kann, muss als Client nicht zwingend ein Webbrowser dienen. Man kann sich also mit gängigen Tools einfach ein traditionelles Front-End erstellen. Zope läuft unter Windows, Linux und anderen Unix-Derivaten, Mac OS und noch vielen anderen Betriebssystemen.
Das meiste der Konfigurationsarbeit an Plone erfolgt direkt in der Konfigurationsoberfläche von Zope, dem "Zope Management Interface" (ZMI). Die Oberfläche besteht aus einer hierarchischen Struktur von Objekten, deren Eigenschaften man verändern kann. In Zope und auch in Plone ist alles ein Objekt. Objekte können ineinander verschachtelt sein - die Struktur im ZMI erinnert an ein Dateisystem. Zope ist ein Objekt, Plone ist ein Objekt innerhalb von Zope und beinhaltet weitere Objekte. Es ist daher mit 3 Mausklicks möglich, innerhalb von Zope eine zweite Plone-Instanz zu erzeugen, die unabhängig von der ersten arbeitet.
¹ Ein Protokoll zur Übermittlung von Remote Procedure Calls (RPCs) mittels XML-Dateien
² Ein Protokoll mit dem auf Speicherplatz im Internet ähnlich, wie auf eine Festplatte, zugegriffen werden kann
Mit dem Begriff Open-Source wird Software klassifiziert, deren Quellcode für jeden offen liegt und die frei genutzt, analysiert und verändert werden darf. Es gibt eine Vielzahl von Open-Source-Lizenzen deren Bedingungen sich mehr oder minder unterscheiden.
Plone unterliegt der GNU General Public Licence (GPL), einer sehr häufig verwendeten Open-Source-Lizenz. Die bekannteste der GPL unterliegende Software ist der Linux-Kernel. Verwendet eine Software die GPL, so darf sie von jedem kopiert und auf jegliche Weise verbreitet werden. Die Verbreitung muss dabei keinesfalls kostenlos erfolgen (siehe z.B. Linux-Distributionen), der Käufer darf die Software jedoch kopieren und weiterverschenken. Die Software muss in Verbindung mit dem Quellcode verbreitet werden, oder der Quellcode muss auf Anfrage zur Verfügung gestellt werden.
Des weiteren unterliegt eine Software, die von einer der GPL unterliegenden Software abgeleitet wurde, zwingend ebenfalls der GPL. Dies ist der meist kritisierte Punkt an dieser Lizenz, denn es schränkt die Möglichkeiten einer kommerziellen Nutzung stark ein.
Plone und auch dessen Basis Zope sind bis auf einige zeitkritische Abschnitte komplett in der Programmiersprache Python geschrieben. Python ist eine Skriptsprache und wird daher interpretiert, statt in Maschinensprache übersetzt zu werden (kompilieren). Genauer gesagt wird der Quellcode in eine Zwischensprache übersetzt. Dieser Code wird dann interpretiert. Man braucht lediglich einen Interpreter, um Python-Programme auszuführen, was die Sprache sehr portabel macht, zumal es für nahezu alle Rechnerarchitekturen und Betriebsysteme einen Interpreter gibt.
Obwohl es sich bei Python "nur" um eine Skriptsprache handelt, wurde Wert auf eine hohe Mächtigkeit gelegt. So gibt es Schnittstellen zu verschiedenen Systemfunktionen, Exceptions, dynamische Datentypen und vieles mehr, was man sonst nur von kompilierten Sprachen kennt.
Trotz der Mächtigkeit der Sprache wurde beim Entwurf bewusst auf einen großen Schlüsselwortschatz verzichtet und Wert auf eine einfache Syntax gelegt. Das Ziel von Python war es, eine einfach zu erlernende und einfach lesbare Sprache zu gestalten. Etwaige auftretende Lücken werden durch die Möglichkeit, in anderen Sprachen geschriebene Programmteile also Module einzubetten, geschlossen. Selbiges gilt für zeitkritische Abschnitte, wie es bei Plone und Zope gemacht wurde.
Python ist ebenfalls ein Open-Source-Projekt und unterliegt einer eigenen Lizenz, der "Python Licence". Obwohl Python eigentlich eine objektorientierte Sprache ist, hat der Programmierer die Wahl zwischen objektorientierter, funktionaler und strukturierter Programmierung – Python zwingt zu nichts.
Nach der Installation bekommt der Plone-Administrator das 3spaltige Standardlayout zu sehen. In der mittig angeordneten Hauptspalte werden die eigentlichen Inhalte präsentiert, erstellt und bearbeitet. In der rechten und linken Spalte ("Slot" genannt) sind die so genannten "Portlets" angeordnet. Standardmäßig sind Navigation, eine Liste aktueller Änderungen, ein Kalender und das Log-In-Fenster eingebunden.
Plone verwendet für das dynamische Generieren der Webseiten und für andere Aufgaben, bei denen dynamische Inhalte generiert oder aus Objekten gelesen werden, eine eigene Sprache, die "Template Attribute Language" (TAL). In Python, Zope und auch Plone ist alles ein Objekt. Ordnerstrukturen bestehen z.B. intern aus Objekten, die wiederum andere Objekte enthalten. Das Aussehen einer Plone-Seite wird durch Schablonen, so genannte "Templates" festgelegt. Ein Template besteht im Grunde nur aus einer Seite im XHTML-Format. Die HTML-Tags werden um ein oder mehrere Attribute ergänzt, die mit "tal:" beginnen und Ausdrücke und Anweisungen in der Template Attribute Language (TAL) enthalten. Die eigentlichen Inhalte der Tags dienen nur der Vorschau bzw. Verständlichkeit und werden später beim Generieren der dynamischen Website entfernt.
Beispiel:
<p tal:content="here/message">The title</p>
Wird der Ausdruck here/message beispielsweise zu "Hello World" ausgewertet, so sieht das Tag später in der fertig generierten Seite folgendermaßen aus:
<p>Hello, World!</p>
Anders als bei Sprachen wie PHP oder ASP ist der Quelltext des TAL-Templates valider XHTML-Code und kann auch problemlos in WYSIWYG-Editoren, wie Dreamweaver oder Frontpage bearbeitet werden. Zudem ist die Trennung zwischen Code und Präsentation klar ersichtlich. Die Template Attribute Language kann direkt durch in Python geschriebene Ausdrücke erweitert werden.
Beispiel:
<p>1+2 = <em tal:content="python: 1+2" /></p> ¹
Beim Einpflegen in Zope werden neu erstellte oder geänderte Templates einer Validitätsprüfung unterzogen. Auf diese Weise wird sichergestellt, dass Plone-Websites immer den Regeln des W3C genügen.
Das "Zope Page Templates System” ist ebenfalls ein Open-Source-Projekt und nicht auf die Verwendung unter Zope beschränkt. Es gibt Implementierungen in Java, Perl und Python.
¹ Quelle: McKay, A.: The Definitive Guide to Plone, Apress 2004, 3. Auflage, ISBN: 1590593294
Mit TAL ist nicht möglich, Teile anderer Templates in ein Template zu integrieren. Diese Lücke wird mit der "Macro Expansion Template Attribute Language" geschlossen (METAL). METAL erinnert nicht nur vom Namen her an TAL, sondern ist auch konzeptionell nahezu identisch. Die METAL-Anweisungen werden ebenfalls in Form von Attributen direkt in die HTML-Tags geschrieben, meistens findet jedoch nur das DIV-Tag Verwendung.
Teile eines Templates werden in Zope "Macros" genannt. Sie werden nach folgendem Schema definiert:
<body>
<div metal:define-macro="boxA">
…
</div>
<div metal:define-macro="boxB">
…
</div>
</body>
Die in DIV-Tags geklammerten Teile des Templates können nun über den Macro-Namen (hier z.B. "boxA" aus anderen Templates referenziert werden:
<div metal:use-macro="context/my_template/macros/boxA">
Hier wird der Inhalt des obigen Macros eingefügt
</div>
Die Angabe "context/my_template/” lokalisiert hierbei den Pfad des referenzierten Templates.
Einige Templates, wie die oben genannten Portlets, sind nur dazu gedacht, in andere Templates eingebunden zu werden. Oft möchte man jedoch einige Inhalte des eingebundenen Templates dynamisch dem Template anpassen, in das es gerade eingebunden wird. Dies ist mit den so genannten "Slots" möglich. Slots können nur innerhalb eines Macros definiert werden, das Füllen mit Inhalt erfolgt erst später beim Einbinden.
Definieren:
<div metal:define-macro="my_macro">
<div metal:define-slot="my_slot">
...
</div>
</div>
Verwenden:
<div metal:use-macro="context/my_template/macros/my_macro">
<div metal:fill-slot="my_slot">
Hier stehen die einzufügenden Inhalte
</div>
</div>
Die Beispiele stammen aus: McKay, A.: The Definitive Guide to Plone, Apress 2004, 3. Auflage, ISBN: 1590593294
Die Plone-Oberfläche ist derzeit in mehr als 50 Sprachen verfügbar (Stand Oktober 2005). Natürlich gibt es nicht 50 verschiedene Versionen, Plone hat standardmäßig alle diese Lokalisierungen an Bord und übersetzt die Benutzeroberfläche je nach Spracheinstellung des Client-Browsers. Man kann dem Anwender aber auch gestatten, die Sprache manuell zu wählen oder eine Sprache fest vorgeben.
Damit man eigene Templates nicht mühsam selber übersetzen muss, oder sich womöglich aus diesem Grund an das Standard-Template bindet, gibt es die Möglichkeit, die automatische Übersetzung bestimmter Bereiche eines Templates zu steuern. Dies erfolgt wie bei TAL und METAL über Attribute der XHTML-Tags. Es gibt insgesamt 6 Attribute zur Steuerung der Übersetzung, allen ist "i18n:" vorangestellt. "I18N" ist im Englischen die Abkürzung für "Internationalization". Ich werde, um den Rahmen nicht zu sprengen, an dieser Stelle nur auf die wichtigsten Attribute eingehen.
<p i18n:source="en" i18n:translate="some_text_label">Some text</p>¹
Mit "Source” wird die Quellsprache festgelegt (die Voreinstellung ist Englisch), "translate" markiert das Tag zur Übersetzung und definiert eine ID (hier "some_text_label"). Tags mit der gleichen ID werden immer gleich übersetzt.
Wortverzeichnisse, auf deren Grundlage die Übersetzungen stattfinden, können über Zope eingesehen, bearbeitet und ergänzt werden.
Mit dem Erweiterungsmodul "LinguaPlone" können sehr einfach und intuitiv verschiedene Sprachversionen der Inhalte gepflegt werden. Hierbei sind alle Sprachversionen unter der gleichen URL zu erreichen, und es lässt sich mit einem Mausklick die Sprache wechseln.
Derzeit müssen die Übersetzungen aber noch per Hand erstellt oder zumindest eingepflegt werden - mit einer automatischen Übersetzung ganzer Texte, wie es z.B. Google oder Altavista Babelfish anbieten, kann Plone nicht dienen.
¹ Quelle: McKay, A.: The Definitive Guide to Plone, Apress 2004, 3. Auflage, ISBN: 1590593294
Plone liefert von Haus aus die folgenden Inhaltstypen mit:
Aus diesen Basistypen lassen sich eigene Inhaltstypen ableiten. Es ist auch möglich, komplett eigenständige Inhaltstypen zu erstellen, wofür man aber mehr in die Tiefe gehen muss.
Registrierte Benutzer können in Plone verschiedene Rollen annehmen. Diese Rollen können explizit zugewiesen werden oder von einer Benutzergruppe geerbt werden. Nicht registrierte Benutzer gehören genau genommen ebenfalls einer Benutzergruppe an, für die bestimmte Rechte definiert sind.
Voreingestellt sind die Rollen: "Benutzer, Redakteur und Manager". Die Befugnisse lassen sich leicht den eigenen Bedürfnissen anpassen, und es ist auch problemlos möglich, weitere Rollen zu erstellen.
Eng mit den Rollen zusammen hängen Arbeitsabläufe, so genannte Workflows. In Workflows wird bestimmt, welche Schritte von welcher Person, Rolle oder Gruppe notwendig sind, damit ein bestimmtes Objekt einen bestimmten Status erreicht.
Beispiel:
Ein Praktikant erstellt eine Seite, kann diese aber nicht veröffentlichen. Erst ein Redakteur kann sie nach einer Prüfung freischalten. Gleichzeitig kann definiert sein, dass ein Praktikant Termine eintragen und sofort selber frei schalten kann. Auch das eigene Verhalten von Objekten, wie etwa das automatische Deaktivieren von Nachrichten nach einer bestimmten Zeit, wird über Workflows definiert.
Wie man sieht, lassen sich mit dem einfachen System der Workflows beliebig komplexe Arbeitsabläufe modellieren.
Im Buch von Andy McKay¹ wird dem Thema Sicherheit in Plone ein sehr langes Kapitel gewidmet. Dort wird jedoch mehr über die praktische Anwendung, Administration und Automatisierung dieser Vorgänge per Skript, als über das eigentliche Sicherheitskonzept geschrieben. Das Konzept ist nicht kompliziert, jedoch effektiv. Plone erlaubt sehr genau zu definieren, was wer wo anstellen darf. Die grobe Unterscheidung erfolgt über Klassen, Benutzerrollen und Benutzergruppen. Darüber hinaus ist es möglich, die Berechtigungen für Rollen, Gruppen und konkrete Benutzer bezüglich jeder Methode jedes einzelnen Objektes festzulegen.
Es ist somit sehr effektiv möglich, unbefugte Handlungen zu unterbinden. Über etwaige bekannte Sicherheitslücken habe ich nichts gefunden.
¹ McKay, A.: The Definitive Guide to Plone, Apress 2004, 3. Auflage, ISBN: 1590593294
Plone setzt auf dem Application-Server Zope und dessen Zusatzmodul CMF auf. Installiert man die aktuelle Version von Plone auf seinem Server, werden bereits einige Zusatzmodule mitgeliefert, die man bei früheren Versionen manuell nachinstallieren musste. Diese Zusatzmodule sind eigenständige Open-Source Projekte mit eigenen Entwicklergemeinden.
Auf der offiziellen Plone-Website findet sich eine in Kategorien aufgeteilte Liste von Zusatzmodulen.
Einige Beispiele verfügbarer Module:
Die offizielle Zope Website¹ listet derzeit (Oktober 2005) rund 200 Erweiterungen, die meist auch sinnvoll in Verbindung mit Plone genutzt werden können. Die wichtigsten dieser Module sind allerdings bereits auf der Plone-Seite² gelistet.
Natürlich erfasst die Plone-Website keine Module, die von Privatleuten geschrieben wurden und sich auf deren Webseiten verstecken.
¹ http://www.zope.org/Products/all_products
² http://plone.org/products/plonesoftwarecenter_view
Eine Software ist nichts ohne gute Dokumentation. Woher soll der Anwender bzw. in diesem Fall vor allem der Administrator wissen, wie man die vielen Funktionen aus der Software herauskitzelt? Open-Source-Projekte leben von Ihrer Community, deren Mitglieder die Software ständig testen und verbessern, einander Tipps geben und Dokumentationen und Erweiterungen erstellen.
Der Hauptanlaufpunkt ist die offizielle Plone Website. Hier finden sowohl Neulinge als auch Fortgeschrittene und z.B. Dokumentationen, Anleitungen ("How-To’s"), häufig gestellte Fragen (FAQs), Erweiterungen, Buchtipps, Chats und Mailinglisten.
Einschränkend muss man allerdings sagen, dass die Plone Community fast ausschließlich auf der offiziellen Website zu Hause ist. Bei Konkurrenten wie Mambo¹ oder Typo3 findet man im Internet sehr viel mehr Informationen und Aktivität zum Thema.
Zum Thema Plone findet man bei Amazon.com vier englischsprachige Bücher. Das Buch "The Definitive Guide to Plone" von Andy McKay, einem Mitglied des Plone Entwicklerteams, gilt weithin als Standardwerk und ist auch in einer deutschen Übersetzung verfügbar. Amazon.de listet noch weitere 3 Titel in deutscher Sprache zum Thema.
¹ Das Entwicklerteam von Mambo hat sich mit der Mambo-Foundation zerstritten und führt unter dem Namen "Joomla!" ein eigenes Projekt weiter. Joomla! 1.1.0 ist mit Mambo 4.5.3 weitestgehend identisch, die Systeme werden aber getrennt weiterentwickelt. Der Einfachheit halber wird hier nur Mambo genannt.
Der Markt an Content-Management-Systemen ist unüberschaubar groß, und selbst wenn man sich auf die Open-Source-Systeme festlegt, wird das Angebot nicht wirklich übersichtlich. Eine Entscheidungshilfe können Seiten wie www.cmsmatrix.org oder www.opensourcecms.com sein, auf denen man die Funktionen verschiedener Systeme vergleichen kann.
Natürlich gibt es nicht das "Über-Content-Management-System", dass für jede Anwendung und jeden Anwender perfekt ist. Man sollte sich vor der Auswahl darüber klar sein, was die Anforderungen sind, zumindest im Groben.
Plone ist im Bereich der High-End CMS einzuordnen und spielt in einer Liga mit Systemen wie Typo3 und kommerziellen. Plone ist dementsprechend nicht unbedingt die richtige Wahl, um eine einfache Website, ein Forum oder einen Blog aufzusetzen, da die optische und funktionale Anpassung nicht intuitiv ist und man schon eine gewisse Einarbeitungszeit einplanen muss. Hinzu kommt, dass Plone nicht mit einem "6,99 EUR Shared-Hosting-Angebot" auskommt, sondern neben relativ vielen Systemressourcen eine Zope-Installation voraussetzt, die eher bei spezialisierten Anbietern, als beim "Webspace-Discounter" zu finden ist. Plone ist Cluster-fähig weshalb es hinsichtlich der Leistungsfähigkeit kaum Anwendungseinschränkungen gibt, sofern die Finanzierung der Server gesichert ist.
Der Focus von Plone liegt klar im Bereich der Web-Anwendungen und nicht der reinen Präsentation mehr oder weniger statischer Seiten. Mit Python bekommt man eine recht mächtige Programmiersprache zum einfachen Erstellen seiner eigenen Module an die Hand, und auch wenn die Administration und Anpassung nicht trivial sind, wirkt alles nach der Einarbeitungszeit strukturiert und verständlich. Weitere Vorteile von Plone sind, dass die erstellten Seiten gängigen Standards des W3C und für Barrierefreiheit genügen, das System sehr schnell in der Standardkonfiguration einsatzbereit ist und über ein gutes Sicherheitskonzept verfügt.
Plone findet jedoch nicht nur als Web-Content-Management-System Verwendung. Die Lufthansa nutzt Plone z.B. für ihr Lieferanten-Extranet. Plone wird generell gerne für Intra- und Extranets genutzt, denn Zope ist darauf vorbereitet, einfach in Business-Prozesse integriert zu werden. Ein weiterer Einsatzschwerpunkt ist als Kommunikationsplattform zwischen den Mitgliedern verteilter Teams.
Für den einfachen Nutzer ist Plone sehr leicht und intuitiv zu bedienen.
Mit Plone kann man eigentlich alles machen, was das Webseitenbetreiber-Herz begehrt. Man muss nur wissen wie, und sich sein Module ggf. auch selber schreiben. Plone erhebt den Anspruch, in wenigen Minuten einsatzbereit und einfach zu bedienen zu sein. Das stimmt auch, sofern man sich mit dem Standard-Aussehen und der Standard-Funktionalität zufrieden geben möchte.
Die meisten Änderungen, die nicht direkt mit dem Inhalt der Seite zu tun haben, erfordern Eingriffe über die Zope-Oberfläche, und diese ist, wie gesagt, nicht unbedingt intuitiv zu bedienen.
Sowohl für das Content-Management-System selber, als auch für den darunter liegenden Anwendungsserver Zope gibt es Erweiterungen. Die Möglichkeiten bleiben allerdings hinter dem Branchenprimus Typo3 zurück, ähnlich sieht es mit der Community-Aktivität im Internet aus. Auch bei dem funktional einfacheren System Mambo bzw. Joomla! ist spürbar mehr Aktivität zu verzeichnen.
Man sollte sich – wie bei eigentlich jedem System – vor der Entscheidung sehr genau anschauen, was die Anforderungen sind, was das System leisten kann, wo die Alternativen sind und wie viel Arbeit man investieren möchte.
Die momentan populärsten Open-Source Content-Management-Systeme sind Mambo im Bereich der einfacheren Systeme und Typo3 bei den High-End-Lösungen. Plone konkurriert also eher mit Typo3. An der Frage, welches System denn besser sei, scheiden sich die Geister. Es finden sich in Mailinglisten und Foren kaum objektive (!) Meinungen, welches System für welchen Einsatzbereich oder allgemein besser ist. Ich fand lediglich viele überzeugte Posts von Verfechtern ihres Lieblingssystems, die das andere System kaum oder gar nicht kannten. Auch Vergleiche der Features halfen nicht zu einem Urteil der Form "System X ist für Einsatzzweck Y besser", denn die Unterschiede gehen sehr ins Detail. Man kann also nur sagen: Es kommt darauf an - auf den jeweiligen Geschmack und auf den detaillierten Einsatzzweck.
McKay, A.: The Definitive Guide to Plone, Apress 2004, 3. Auflage, ISBN: 1590593294
Meloni, J. C.: Plone Content Management Essentials, Sams 2004, ISBN: 0672326876
Pelletier, M.; Latteier, A.: Das ZOPE-Buch. Einführung und Dokumentation zur Entwicklung von Webanwendungen, Markt+Technik 2001, ISBN: 3827261945
http://plone.org Die offizielle Plone Website
http://www.zope.org Die offizielle Zope Website
http://www.python.org Die offizielle Python Website
http://www.cmsmatrix.org Vergleich unterschiedlicher Content-Management-Systeme
http://www.opensourcecms.com Vergleich verschiedener Open-Source Content-Management-Systeme
http://www.redcor.ch/Members/robert/vortrag/VortragOrbit.pdf Sehr ausführlicher Vortrag über Plone
http://de.wikipedia.org Artikel: Barrierefreies Internet, Content-Management-System, Enterprise Content Management, Web Content Management System
http://www.contentmanager.de/community/forum/2.html Content Management Forum
http://groups.google.de Usenet-Archiv von Google
http://www.joomla.com/ Die offizielle Website von Joomla!, ehemals Mambo
https://www.openbc.com/net/contentmanagement/ Content Management Forum des Open Business Club