|
Community-Systeme mit Zope
Der Open-Source Applikationsserver als Basis für Community-Sites
Wer heute vor der Aufgabe steht, für eine Website auch Community-Funktionalitäten zu implementieren oder gar eine richtige Community-Site aufzubauen, sieht sich einem ziemlich unübersichlichen Markt von Anbietern, Produkten und Lösungen gegenüber.
Die Bandbreite geht dabei von kostenlosen oder zumindest kostengünstigen Einzelmodulen bis zu teueren kommerziellen Komplettsystemen; eine besondere Position nehmen dabei die als Open-Source-Software entwickelten Community-Systeme ein:
- Kostenvorteil, da keine Lizenzgebühren
- Möglichkeit zur Anpassung an die eigenen Bedürfnisse
- Keine Abhängigkeit von einem Lieferanten
- Praxiserprobt, da in der Regel von einer Community entwickelt und meist auch von dieser selbst eingesetzt
- Gute Unterstützung und Serviceleistung durch zahlreiche Systemhäuser und unabhängige Entwickler
Zum Thema Open-Source-Software für Communities finden Sie weitere Informationen in früheren Ausgaben des cybercommunities Newsletters: Eine Einführung in der Ausgabe 2001-11 und eine beispielhafte Übersicht über integrierte Community-Systeme in der Ausgabe 2002-01.
Der letztgenannte Artikel widmet sich schon einem Problem, unter dem viele Community-Produkte nicht nur aus dem Open-Source-Umfeld leiden: Viele leistungsfähige und gleichzeitig kostengünstige Lösungen decken jeweils nur einen Teilbereich ab und bieten keine Integration der geforderten Funktionalitäten. Demgegenüber gibt es aber auch auf Open-Source-Basis Komplettsysteme, die sich auch zum Aufbau vollständiger Websites mit Portal-Charakter eignen, z. B. das ArsDigita Community System (mittlerweile als Red Hat CCM beim Linux-Distrubutor Red Hat zu finden; oder das von der Community weiterentwickelte OpenACS), PHPNuke und sein Abkömmling PostNuke, oder Scoop.
Mit einem Open-Source-Produkt der besonderen Art, das sich gerade für integrierte Community-Systeme hervorragend eignet, möchte ich mich in diesem Artikel etwas detaillierter auseinanderzusetzen: dem Zope Application Server.
Zope - ein Web Application Server
Zope ist die Abkürzung für "Z Object Publishing Environment" - entsprechend ist die zentrale Funktion von Zope das Publizieren von Objekten im Internet.
Hierfür bietet Zope als Web Application Server eine Reihe von Basisdiensten für web-basierte Anwendungen:
- dynamische HTML-Generierung auf der Basis von Template-Objekten
- User Management und Verwaltung von Berechtigungen
- eine integrierte Objekt-Datenbank und standardisierte Schnittstelle zu allen namhaften relationalen Datenbanken (von MySQL bis Oracle)
- komfortable Managementfunktionen
Zope wurde von dem US-Unternehmen Digital Creations entwickelt, das mittlerweile als Zope Corp. firmiert und weiterhin die Entwicklung von Zope und auf Zope basierenden Produkten vorantreibt.
Durch das modulare und objetkorientierte Design ist Zope auf einfache Weise erweiterbar; dies war und ist die Basis für eine Vielzahl von Zusatzfunktionen und Produkterweiterungen, die nicht nur von der Zope Corp. beigetragen werden, sondern zu einem ständig größer werdenden Anteil von einer unabhängigen Entwickler-Community bereitgestellt werden.
Mittlerweile gibt es Hunderte von Produkten für eine Vielzahl von Aufgabenstellungen und Anwendungsfällen.
Zope stellt selbst bereits ein rudimentäres Web Content-Management-System dar; eines der interessantesten Zope-Produkte baut diese Funktionalität zu einem vollwertigen CMS aus: das aktuelle Content Management Framework (CMF), das aus dem Portal Toolkit (PTK) entwickelt wurde. CMF ist selbst wieder die Basis weiterer Produkte, etwa dem Plone-System, das als schlüsselfertiges ("out-of-the-box") Web-CMS eingesetzt werden kann.
Damit eignet sich Zope besonders für Community-Sites mit starker Content-Integration; herausragend sind hierbei auch die Möglichkeiten für die Besucher, Inhalte beizusteuern, ohne dass der Betreiber der Site die Kontrolle darüber verliert, was wann für wen sichtbar ist bzw. bearbeitet werden kann.
Zope und aktuelle Zope-Produkte wie CMF und Plone sind mittlerweile auch mehrsprachig angelegt und bieten sehr gute Unterstützung für die Internationalisierung von Webseiten.
Community-Content-Integration mit Zope
Die Content-Management-Produkte CMF bzw. Plone beinhalten bereits Community-Funktionienen wie Kommentierung von Texten, News, Upload von Texten und Bildern, Kalender und WikiWeb. Mit CMF bzw. Plone erhält man auch DCWorkflow, einen web-konfigurierbaren Publishing-Workflow, mit dem sich auch komplexe Reviewing- und Freigabeprozesse unter Einbeziehung von Community-Mitgliedern im Web modellieren lassen.
In Verbindung mit CMF oder Plone empfiehlt sich der Einsatz weiterer Community-Produkte wie die unter dem Namen Collective zusammengefassten Module: u. a. Diskussionsforum und ein Weblog, das das verbreitete Blogger-API unterstützt.
Unter dem Namen CMFOptions (s. a. www.netkook.com) findet man auch ein im Browser bedienbares Weblog namens Blark.
Neben diesen Modulen, die auf dem Content Management Framework aufbauen, gibt es noch eine Vielzahl weiterer Zope-Community-Produkte, z. B.:
Anwendungsbereiche
Zope bildet die ideale Basis für personalisierbare Portale mit Community-Funktionen; am besten lassen sich die Einsatzmöglichkeiten auf den Sites studieren, die sich mit Zope selbst auseinandersetzen, etwa zope.org oder der Site der deutschen Zope User Group dzug.org.
Im mehr kommerziell orientierten Einsatz kann man Zope beobachten beim Bertelsmann-Buchclub in Österreich, dem Linux-Magazin, der Einkaufs- und Service-Kooperation von Bürofachhändlern Büro-Ring und vielen weiteren Sites, in Deutschland z. B. www.lionbioscience.com, www.easynet.de, www.choin.net.
Ein interessanter Anwendungsbereich für Zope ist im E-Learning-Umfeld, z. B. mit Fle3, einem System für kollaboratives Lernen aus Helsinki, ZQuest, einem interaktiven Test-System für mathematische Fragestellungen mit speziellen Funktionen für die Generierung von Diagrammen, und OnlineCourse, einem Zope-Produkt zur Unterstützung von Fernunterricht (Distance Learning).
Ein hervorragendes Beispiel für die Nutzung von Community-Funktionalität bietet die Art und Weise, wie das Zope-Book - das Standardwerk für Zope schlechthin und auch auf Deutsch erhältlich - im Internet zusammen mit den Lesern entwickelt wird.
Unter www.zope.org/Documentation/ZopeBook schreiben die Autoren Amos Latteier und Michel Pelletier ihr Werk laufend weiter; hilfreich sind hier vor allem die neuen Kapitel über Zope Page Templates, die in der gedruckten Ausgabe noch fehlen. Besonders interessant sowohl für die Autoren wie auch für die Leser der Online-Version sind die zum Teil hochwertigen Kommentare der Leser, die auf Absatzebene eingegeben werden können und von Tag zu Tag mehr werden. Neben Hinweisen auf Fehler im Text gibt es auf diese Weise auch jede Menge Praxis-Tipps und Beispiele; wenn die Autoren diese Kommentare geschickt in die nächste Ausgabe des gedruckten Werks einfließen lassen, wird dieses dadurch nicht unerheblich aufgewertet.
Auch dieser Kommentierungsfunktion liegt wieder ein Zope-Produkt zugrunde: BackTalk, das neben der Kommentierung auch die Möglichkeit bietet, Artikel zu einem Buch zusammenzufassen und das Ganze dann in PDF auszugeben.
Die Idee zu diesem Produkt stammt u. a. von Bruce Eckel, dem Autor des Lehrbuchs für Java-Programmierung "Thinking in Java" und anderer Werke, die er seit einigen Jahren grundsätzlich im Web zusammen mit seinen Lesern entwickelt. In seinem neuesten Buchprojekt "Thinking in Python" kann man eine von Bruce Eckel selbst in Zope entwickelte BackTalk-Variante im Einsatz sehen.
Die Technik hinter Zope
Der Website von Bruce Eckel (www.mindview.net) kann man auch einige Informationen darüber entnehmen, warum ihn und viele andere Softwareentwickler die Programmiersprache Python so begeistert. In einem Zeitschriftenartikel über Zope im Linux-Magazin (www.linux-magazin.de/ausgabe/2001/02/Zope/zope.html) findet man gar den Satz: "Wer einmal mit Python gearbeitet hat, wird nur noch mit vorgehaltener Pistole Java für Web-Lösungen einsetzen."
Mit Python basiert Zope nicht nur auf einer konsequent objektorientierten Programmiersprache, die sich zunehmender Beliebteheit erfreut, sondern treibt die Objektorientierung auch in seiner internen Organisation auf die Spitze, mit der Konsequenz einer sehr ausgeprägten Modularisierung und Erweiterbarkeit.
Zope setzt standardmäßig auf ein eigenes objektorientiertes Datenbanksystem (ZODB), das den Programmierer von allen Entwicklungsarbeiten, die das Speichern von Objekten in einem Multiuser-Umfeld betreffen, entlastet.
Eine der angenehmen Folgen dieses konsequent objektorientierten Ansatzes ist die Möglichkeit, Zope um Produkte und Module zu ergänzen, die zum Teil tief in die Abläufe eingreifen; gleichzeitig ist aber in der Regel die Installation der Produkte sehr einfach.
Die eigentliche Softwareentwicklung außerhalb der Management-Oberfläche von Zope wird allerdings nicht optimal unterstützt - es gibt für Zope keine integrierte Entwicklungsumgebung im eigentlichen Sinn -, aber über entsprechende Produkte können auch Programmeditoren integriert werden; bei Verwendung der noch relative jungen Technik der Zope Page Templates lassen sich für das Oberflächen-Design auch grafische HTML-Editoren einsetzen, so dass eine sehr gute Trennung der Rollen von Programmierer und Designer möglich ist.
Zope bringt auch einen eigenen Webserver (ZServer) mit; in der Regel wird Zope aber zusammen mit einem Standard-Webserver wie z. B. Apache eingesetzt. Dafür gibt es auch Werkzeuge für den Einsatz im Rahmen von Virtual Hosting, also etwa die Abbildung von Domains oder Subdomains auf verschiedene Bereiche einer einzigen Zope-Installation.
Da Zope einen permanent laufenden Hintergrundprozess und in C geschriebene Programmteile beinhaltet, kann es nicht in einer einfachen CGI-Scripting-Umgebung auf einem Virtual Webserver eingesetzt werden, sondern erfordert für die Installation einen Administrator- bzw. root-Zugang zum Server. Einsetzbar ist es aber auf einer Vielzahl von Betriebssystemen, insbesondere natürlich Linux und Windows NT bzw. 2000.
Nachteile
Zope erweckt in gewisser Weise den Eindruck einer "eierlegenden Wollmilchsau" für Web-Anwendungen, ein Ausdruck, der vielleicht das Potenzial von Zope am besten trifft. Dennoch gibt es auch bei Zope einige Schwachstellen, die das ansonsten sehr gute Bild trüben.
Ein Punkt, der die produktive Auseinandersetzung mit Zope erschwert, ist die vorsichtig als suboptimal zu bezeichnende Dokumentation. Mittlerweile gibt es zwar einige gute Bücher, die zum Teil auch auf Deutsch erschienen sind, aber diese können zum einen nur einen Teil der Features abdecken und hinken zum anderen auch immer hinter der technischen Entwicklung her.
Die Informationen insbesondere über Zope-Produkte und deren Einsatz ist oftmals sehr verstreut, zahlreiche Produkte sind auch unzureichend dokumentiert.
Darüberhinaus fällt der Einstieg in Zope ohne Hilfe von erfahrenen "Zopistas" nicht zuletzt auch in Anbetracht der Komplexität des Systems nicht gerade leicht. Diese Komplexität ist sicher eine Konsequenz der Leistungsfähigkeit von Zope, erschwert aber den Zugang zum Teil doch erheblich.
Wie kommt man zu Zope und den Zope-Produkten?
Nachteil oder Vorteil? - Es gibt keinen Anbieter oder Hersteller, bei dem man Zope kaufen kann. Stattdessen kann jeder sich Zope per Download von zope.org holen und entsprechend den mitgelieferten Anleitungen auf seinem Webserver installieren. Auch die Zope-Produkte sind in der Regel unter einer Open-Source Lizenz frei zum Download erhältlich.
Installation und Konfiguration erfordern aber das entsprechende technische Know-how; hierfür und für die Anpassung und Entwicklung von Zope-Anwendungen kann man aber auch auf das mittlerweile reiche Angebot von auf Zope spezialisierten Dienstleistern zurückgreifen. Inzwischen sind diese auch in Deutschland recht gut vertreten.
Hier offenbart sich auch ein wichtiger Vorteil von Open-Source-Software: Als Anwender sind Sie nicht an einen Hersteller, dessen Know-how-Palette, Service-Level und Preisstrukturen gebunden, sondern können sich Ihren Partner frei wählen.
Der Zope-Dienstleister schlechthin ist die amerikanische Zope Corporation (www.zope.com) (ehemals Digital Creations), die mit einer beeindruckenden Kundenliste aufwartet. Informationen über weitere Zope "Solution Provider" findet man unter www.zope.org/Resources/ZSP.
Dienstleister im deutschsprachigen Raum, die in der Regel auch Zope-Hosting bieten, sind u. a.
An der Stelle möchten wir auch auf unser eigenes Angebot hinweisen: unter www.cyberconcepts.de finden Sie weitere Informationen zu unseren Leistungen nicht nur im Zope-Umfeld. Unser Schwerpunkt liegt hier bei der Entwicklung von Community-Systemen und Anwendungen für E-Learning bzw. Collaborative Learning auf der Basis von CMF und Plone.
Fazit
Der Zope Applikationsserver bietet eine hervorragende Grundlage für den Aufbau von Websites, die nicht nur Content präsentieren, sondern auch die Besucher in den Dialog einbinden. Die konkreten Funktonalitäten werden durch eine Vielzahl von auf Zope basierenden Produkten bereitgestellt.
Zope und die meisten Zope-Produkte sind mit Programmquellen unter einer Open-Source Lizenz erhältlich; dies bietet nicht nur unmittelbare Kostenvorteile durch den Wegfall von Lizenzkosten, sondern ermöglicht auch eine Anpassung der Produkte an Ihre spezifischen Erfordernisse und sichert Ihre Unabhängigkeit.
Bei der Installation und Einrichtung von Zope und Zope-Produkten sowie bei der Entwicklung von Anwendungen unterstützen Sie eine Vielzahl qualifizierter Dienstleister und Entwickler auch im deutschsprachigen Raum.
Gerne geben wir Ihnen weitere Informationen zu Zope und zu unserem Angebot rund um Zope - bitte wenden Sie sich an cyberconcepts IT-Consulting, Dr. Helmut Merz, h.merz@cyberconcepts.de, Tel. 08807-4686.
|