30.08.2005, 14:10 Uhr
Grosser CMS-Test
Typo3, Mambo oder doch Apache Lenya? Welches ist das richtige CMS für ihr Web-Projekt? Computerworld hat acht Open-Source-Projekte getestet und zusammengefasst. Eine Übersicht steht zum Download bereit.
Content Management Systeme (CMS) stehen im Zentrum von Internetauftritten. Unzählige Open-Source-Projekte stehen dabei zur Wahl. Im Rahmen der Forschungsaktivitäten hat die Kalaidos-Fachhochschule solche Systeme analysiert.
Ein Content Management System (CMS) ist eine Software zur Verwaltung und Pflege von Inhalten einer Website. Solche Umgebungen tragen massgeblich dazu bei, die Gesamtkosten des Webauftritts zu senken. Denn das wichtigste Merkmal eines CMS ist die Trennung von Inhalt und Darstellung. Beispielsweise sollen produktrelevante Angaben eines E-Commerce-Systems einerseits in einer ansprechenden Detailansicht des Produkts, andererseits aber auch als Preisliste angezeigt werden können. Ein anderes Beispiel stellen Newsticker-Meldungen dar, welche auf einer Website, aber auch als RSS-Feed (Realy Simple Syndication) abrufbar sind.
Hier kann die Testübersicht als PDF runtergeladen werden.
Für die Speicherung der Daten arbeiten die meisten CMS mit einer Persistenzschicht, welche das Laden, Speichern, Bearbeiten und Löschen der Daten abstrahiert. Dies ermöglicht die mehr oder weniger freie Wahl des darunterliegenden Datenbankmanagementsystems (DBMS). Zum Einsatz kommen meist SQL-fähige Datenbanken, einzelne CMS bringen aber auch ihr eigenes Ablagesystem mit. Neben den beliebten Open-Source-Vertretern My-SQL und Postgre-SQL können in vielen Fällen auch proprietäre Systeme wie Oracle, DB2 von IBM oder der SQL-Server von Microsoft eingesetzt werden.
Im Folgenden werden die wichtigsten Open Source-CMS (OS-CMS) vorgestellt. Grundlage bilden die Arbeiten eines von der Kommission für Technologie und Innovation (KTI) geförderten Kooperationsprojektes der Zürcher Kalaidos-Fachhochschule und des Informatikstrategieorgans des Bundes. Die Recherchen sind Teil der Umsetzungsmassnahmen der OS-Strategie der Bundesverwaltung. Dazu gehört auch die Entwicklung eines Tools zur Berechnung der Gesamtkosten von Informatiksystemen im OS-Bereich
Apache Lenya
Der etwas ungewöhnliche Name stammt von den Namen der Kinder (Levi und Vanya) des ursprünglichen Entwicklers. Lenya setzt auf Apache Cocoon auf, einem umfangreichen und bewährten XML-Publishing-Framework. Alle Java-Klassen und Cocoon-Komponenten können für die Entwicklung eigener Erweiterungen benutzt werden. Die Einarbeitungszeit in Cocoon gilt jedoch als hoch. Bei Lenya dürfte es deshalb aufwändiger als bei anderen CMS sein, Webauftritte umzusetzen, welche über die vorgesehenen Möglichkeiten hinaus gehen.
Als Java-basiertes CMS benötigt Lenya die entsprechende Ausrüstung auf dem Server, was die Einsatzmöglichkeiten bei Hosting-Providern einschränkt. Zumindest in der Schweiz sind zur Zeit aufgrund der hohen Anforderungen an die Hardware verhältnismässig wenige Hosting-Angebote mit Java-Unterstützung verfügbar. Ein Zückerchen hält Lenya beim Rechtesystem bereit: Der Zugriff (die Sichtbarkeit) auf die Seiten eines Webauftritts kann neben den üblichen Steuerungsebenen über Benutzer und Gruppen auch mit IP-Adressbereichen geregelt werden. Lenya besitzt zwar noch einiges Entwicklungspotenzial. Die Zukunftssicherheit und damit der Investitionsschutz ist aufgrund der Verankerung in der Apache Foundation aber sicher gegeben.
Dotnet-Nuke
Dotnet-Nuke (DNN) basiert auf ASP.Net und ist in Visual-Basic.Net geschrieben. Das CMS entstand ursprünglich als Adaption einer von Microsoft selbst herausgegebenen Beispielapplikation. Der Name spiegelt einerseits die Basistechnologie wider, kann andererseits aber auch als Widmung an die vielen Open-Source-CMS verstanden werden, die auf das Kürzel «nuke» enden.
Als einziger auf Microsoft-Techniken basierender Vertreter dieser Auswahl übt DNN durch die verwendete BSD-Lizenz eine für die in der Microsoft-Welt herrschenden Verhältnisse überraschend liberale Verbreitungspolitik aus. Die Vereinbarung erlaubt die kostenlose Nutzung sowohl zu privaten wie auch zu kommerziellen Zwecken. Es ist also möglich, DNN oder auch Teile davon in kommerziellen Produkten einzusetzen.
Der Rückgriff auf Microsoft-Technik macht DNN zum idealen Kandidaten für Windows-basiertes Hosting. Gleichzeitig erlaubt die Architektur das einfache Erweitern um eigene Skripte. Dies ist äusserst nützlich, um bestehende Applikationen, die noch auf Active Server Pages aufbauen, einer sanften Migration hin zu DNN und damit zu ASP.Net zu unterziehen. Zur Zeit unterstützt dieses CMS die DBMS Microsoft SQL Server und SQL Server Desktop Engine (MSDE) sowie Access und My-SQL.
EZ-Publish
EZ-Publish ist in PHP (Hypertext Preprocessor) geschrieben, setzt einen Apache-Webserver voraus und arbeitet mit My-SQL oder Postgre-SQL zusammen. Eine Besonderheit stellt die Option dar, die Software nicht nur als OS-Version, sondern auch auf Basis einer kommerziellen Lizenz zu beziehen. Diese räumt dem Käufer das Recht ein, modifizierte Versionen unter anderem Namen weiterzuverkaufen, wobei die ergänzten Komponenten nicht unter die GPL -(General Public License) gestellt werden müssen.
Der Hauptfokus von EZ-Publish liegt auf dem Enterprise-Einsatz. Dies dürfte der Hauptgrund für den grössten Funktionsumfang aller betrachteten Systeme sein. Ein solches Enterprise-Feature ist das Staging, die Möglichkeit, Inhalte zuerst auf einem separaten Testserver zu erfassen und erst dann zum Live-System zu transferieren.
Ein Vorteil von EZ-Publish besteht in der einfachen Installation in einer Shared-Hosting-Umgebung. Dafür gilt es als relativ ressourcenhungrig. Weitere Spezialitäten sind das ausgeklügelte Workflow-System und die eingebauten E-Commerce-Funktio-nen wie Warenkorb, Rabattsystem oder Shop-Statistik.
Mambo
Das früher Mambo OS (MOS) genannte Projekt ist in PHP geschrieben und benötigt einen Apache Webserver und My-SQL. Entwickelt wurde dieses System von der australischen Miro International als einfach zu bedienendes CMS für Unternehmen.
Einen positiven Eindruck hinterlässt Mambo bereits bei der webbasierten Installation. Wer sich vor einer solchen scheut, kann sich zudem zuerst online anhand einer Demo einen Überblick verschaffen. Auffällig ist bei Mambo das grafisch hochwertige Design und die durchdachte Navigation im Administrationsbereich. Eine Vielzahl an einheitlich gestalteten Icons und die aufgeräumte Menustruktur sorgen dafür, dass man sich ohne grosse Einarbeitungszeit zurechtfindet
Mambo erfreut sich so grosser Beliebtheit, dass für praktisch jeden nur erdenklichen Zweck bereits irgendwo eine Erweiterung existiert. Die von Miro gesponserte Website mamboforge.net dient als Austausch- und Entwicklungsplattform für Erweiterungen. Aktuell stehen dort rund 600 zusätzliche Komponenten zur Verfügung, wovon sich allerdings viele noch in einem frühen Entwicklungsstadium befinden.
Midgard CMS
Midgard stammt aus Finnland, ist grösstenteils unter der LGPL (Lesser General Public License), teilweise aber auch unter der GPL lizenziert und in C programmiert. Zur Zeit läuft es nur unter Linux und Unix. An einer reinen PHP-Implementierung für Shared-Hosting-Umgebungen wurde zwar einmal gearbeitet, seit über einem Jahr ist jedoch keine Aktivität mehr zu beobachten.
Das Midgard-API wurde von den Entwicklern in PHP abgebildet, so dass in eigenen PHP-Skripten auf den gesamten Funktionsumfang des Systems zugegriffen werden kann. Das funktioniert auch über SOAP (Simple Object Access Protocol). Die Midgard-Funktionalität steht somit auch für Web-Services offen. Eine weitere Besonderheit stellt die Unterstützung und vollständige Implementierung der Schnittstellen des noch relativ jungen Java-Standards JSR-170 dar, dem Java Content Repository (JCR). Dies ermöglicht Java-Applikationen den standardisierten Zugriff auf die in Midgard gespeicherten Daten. Neben EZ-Publish verfügt dieses CMS über den grössten Funktionsumfang der betrachteten Systeme, hat aber bei der Benutzerfreundlichkeit noch Verbesserungspotenzial.
Plone
Plone setzt auf Zope auf, einem beliebten OS-Web-Application-Server, welcher in Python programmiert ist. Auf dieser Basis konzentrieren sich die Anstrengungen der Community auf einige wenige Projekte. Plone verfügt deshalb trotz seines geringen Alters über einen erstaunlich grossen Funktionsumfang. Standardmässig legt Plone die Daten in der objektorientierten, transakti-ons-sicheren Zope Object Database (ZODB) ab. Natürlich können aber auch herkömmliche DBMS benutzt werden.
Eine Spezialität von Plone ist dessen Kompatibilität zu den W3C-Vorgaben (World Wide Web Consortium) der Web Accessibility Initiative (WAI). Dies macht das CMS besonders für diejenigen Organisationen interessant, welche aus rechtlichen oder sozialen Gründen zur Bereitstellung eines behindertengerechten Webauftritts verpflichtet sind.
Open-Cms
Wie Lenya ist auch Open-Cms in Java geschrieben und setzt an vielen Stellen XML ein. Da dieses System einen JSP-fähigen (Java Server Pages) Server voraussetzt, gilt auch hier, dass nur eine eingeschränkte Auswahl an passenden Shared-Hosting-Angeboten besteht. Dafür garantiert es die Möglichkeit, eine Open-Cms-Site mit eigenen JSP nachrüsten zu können, eine äusserst einfache und beinahe beliebige Erweiterbarkeit. Wird Open-Cms in einer J2EE-Umgebung (Java-2 Enterprise Edition) betrieben, so ist auch die Kopplung an Enterprise Java Beans (EJB) möglich.
Typo-3
Zu den ältesten Open-Source-CMS gehört Typo-3. Die Ursprünge dieses in PHP geschriebenen Systems gehen ins Jahr 1997 zurück. Das verhältnismässig hohe Alter spiegelt sich in den vielen Büchern und der grossen Zahl verfügbarer Add-Ons wider. Wie bei Mambo steht auch bei Typo-3 eine Demo-Site zur Verfügung.
Dieses CMS besitzt eine eindrucksvolle Graphik-Engine. Grafische Menuelemente können automatisch erzeugt und auf dem neuesten Stand gehalten werden, wobei die generelle Seitengestaltung etwa mit Farben und Hintergrundbildern berücksichtigt und in die generierten Grafiken eingerechnet wird. Dies führt unabhängig vom verwendeten Browser und Betriebssystem zum immer gleichen Erscheinungsbild.
Bearbeitungen finden in Typo-3 normalerweise in einem von der eigentlichen Website getrennten Bereich statt, es ist jedoch auch In-Place-Editing möglich. Das schlicht und übersichtlich gestaltete Administrations-Backend verfügt über eine gelungene Onlinehilfe, weshalb die Einarbeitungszeit recht kurz ausfallen dürfte.
Der Vorlagenmechanismus basiert auf einer eigenen Konfigurationssprache namens Typo-Script. Erweiterungen können in Form von PHP-Skripten sehr einfach eingebunden werden. Da Typo-3 für das Management von mehreren voneinander unabhängigen Websites ausgelegt ist, eignet es sich gut als Dienstleistung für Hosting-Provider. Typo-3-Hosting wird denn auch von vielen Werbeagenturen angeboten.
Nur eine Auswahl
Die hier vorgestellten Projekte stellen lediglich eine kleine Auswahl an OS-CMS dar. Bei anderen Projekten spricht jedoch die mangelnde Verbreitung oder die noch fehlende Reife gegen den produktiven Einsatz.
Ein Beispiel für ein nicht berücksichtigtes, aber viel versprechendes Projekt ist Xaraya. Dabei handelt es sich um einen Vertreter aus der riesigen Menge an PHP-basierten Systemen, welche ihre Wurzeln im beliebten, aber kontrovers diskutierten Projekt PHP-Nuke haben. Wie das Ursprungsprojekt steht Xaraya unter der GPL (General Public License), die Version 1.0 wird aber erst für die kommenden Monate erwartet.
Fazit
Neben den diversen kommerziellen und teuren Angeboten grosser Software-Hersteller existieren mittlerweile viele ausgereifte OS-CMS, die sich vor ihren Closed-Source-Konkurrenten nicht zu verstecken brauchen. Gerade für KMU und öffentliche Verwaltungen liegen die Vorteile auf der Hand. Für die Programmierung und Nutzung der Basistechnik einer Website alleine entstehen keinerlei Kosten. Neben Betriebs- und Administrationskosten muss lediglich der für Installation und Konfiguration entstehende Aufwand entschädigt werden.
Martin Seelhofer