Opensource E-Paper von Contenmanager
Transcription
Opensource E-Paper von Contenmanager
Contentmanager.de Handbuch Content Management Systeme im Überblick Drupal – Joomla! – TYPO3 – TYPOlight – OpenCms – basecmp – CMS made simple – PostNuke – AxCMS.net – eZ Publish Vorwort In unserem Contentmanager.de-E-Book „Content Management Systeme im Überblick“ erwartet Sie ein Einstieg in die zehn Open Source und kostenfreien Content Management Systeme Drupal, Joomla!, TYPOlight, TYPO3, OpenCms, CMS made simple, PostNuke, basecmp, AxCMS.net und eZ Publish, in ihren aktuellen Versionen. Die einzelnen Systemvorstellungen sind inhaltlich gleich aufgebaut und informieren alle über die Punkte Aufbau des Back-End, Umgang mit Content, Multi-Site-Management, Mehrsprachigkeit, Benutzerund Rechteverwaltung, Layout/Templating, Workflow, Funktionsumfang sowie die Vor- und Nachteile der Systeme und deren Eignung. So kann zwischen den Funktionen gezielt verglichen werden. Abgerundet wird das E-Book durch eine übersichtliche Feature-Tabelle, in der neben einer Zusammenfassung der wichtigsten Punkte aus den einzelnen Systemvorstellungen auch die technische Basis der Systeme sowie Links zu weiterführenden Informationsseiten und bereits realisierten Websiteprojekten dargestellt werden. Contentmanager.de Das etablierte deutsche Portal Contentmanager.de (www.contentmanager.de) berichtet mit aktuellen News, fachspezifischem Know-how und umfangreichen Marktübersichten über alle Themen des Enterprise Content Management und Web Content Management. Contentmanager.de ist branchenunabhängig und wird aktiv als Informationsmedium genutzt. Hauptmotivation ist dabei die konkrete Suche nach einem geeigneten Produkt oder Anbieter. Claudia Weidner Claudia Weidner arbeitet seit Anfang 2006 für die F & P GmbH - Feig & Partner als Online-Redakteurin. Sie unterstützt seitdem die Contentmanager. de-Redaktion. Inhalt Vorwort – 03 Drupal im Überblick – 05 Joomla! im Überblick – 08 TYPO3 im Überblick – 13 TYPOlight im Überblick – 18 OpenCms im Überblick – 26 CMS made simple im Überblick – 31 PostNuke im Überblick – 39 basecmp im Überblick – 43 AxCMS.net im Überblick – 50 eZ Publish im Überblick – 56 Tabelle – 63 Impressum – 65 4 Drupal im Überblick Drupal ist ein Open Source System und unter der GNU Lizenz verfügbar. Es ist in PHP geschrieben und unterstützt die Datenbanken MySQL und PostgreSQL. Die aktuelle Version ist 5.3. Drupal ist aber mehr als das. Die Idee dahinter ist die Nutzung der vom Internet gebotenenen Möglichkeiten, um unterschiedlichen, geografisch getrennten Personen oder Gruppen die Möglichkeit zu bieten, gemeinsam zu arbeiten, zu publizieren, zu diskutieren und Ideen zu entwickeln. Damit liegt der Focus von Drupal außer den CMS Features auf Communities und Formen der Zusammenarbeit. Durch die hohe Flexibilität des Kernsystems ist im Bereich Content Management so ziemlich alles mit Drupal möglich. In Zeiten von „user generated content“ also das Mittel der Wahl. Abbildung 1: Admin Modulbereich Blick in das Back-End für Redakteure Um Communities entwickeln zu können, sollten die CMS Funktionalitäten sehr niederschwellig sein. Auch für Redakteure ist dieser Effekt sehr positiv. Drupal ist nicht geteilt in ein Backend und ein Frontend wie TYPO3 oder Joomla!. Es gibt einen Administrationsbereich, der abhängig von den Benutzerrechten angezeigt wird. Dieser Administrationsbereich kann mit einem eigenem Theme (Template) versehen werden, um ihn optisch von der Website Drupal 5 Abbildung 2: Admin Taskbereich abzugrenzen. Der Adminbereich ist seit der Version 5.0 geteilt in eine Sicht nach Aufgaben (Task) und eine Sicht nach Modulen. Die einzelnen Links sind dabei in thematischen Blöcken aufgeführt (siehe Abbildung 1 und 2). Um einen neuen Beitrag zu erstellen, sind erstaunlich wenige Schritte notwendig. Nach der Anmeldung erscheint ein Link „Inhalt erstellen“. Standardmäßig gibt es hier zwei Typen. Eine statische Seite und eine dynamische Story. Inhaltstypen können online neu erstellt und mit verschiedenen Feldern versehen werden. Abhängig von der Installation und den Rechten erscheinen dann verschiedene Inhaltstypen, beispielsweise Pressemeldung, Podcast, Audio, Video, Text, Event (siehe Abb.3). Ein weiterer Klick auf den gewünschten Inhaltstyp öffnet ein Formular in dem Inhalt, SEO Url, Tags, Bilder, Anhänge und ein Menülink organisiert wer- den können. Abhängig von der Workflow Konfiguration ist der Inhalt danach auf der Website zu sehen oder dreht eine „Workflowschleife“. Inhalte anlegen und bearbeiten Die Texteingabe kann online über die Website erfol– gen. Alle gängigen Editoren wie TinyMCE, HTML Area, FCKEditor stehen zur Verfügung und können per Drupal Modul eingebunden werden. Möglich ist auch die Texteingabe per xmlrpc. Hierbei wird bspw. über OpenOffice.org ein Text ver– fasst und per Knopfdruck an das Drupal System gesendet. Auch diverse externe Blogeditoren können zur Texteingabe genutzt werden. Die Formatierung von Links, Tabellen und Bildern hängt sehr vom verwendeten Editor Modul ab. Drupal 6 Abbildung 3: Inhaltstypen Außer den Editoren verfügt Drupal auch über die Möglichkeit, BBTags, WikiSyntax, wie beispielsweise Mediawiki und frei definierbare Filter einzusetzen. Diese Inhaltsfilter sind sehr praktisch, da man effektiv die erlaubten HTML Tags definieren kann und so vielen Darstellungsfehlern elegant aus dem Wege gehen kann. Unterschiedliche Filter und Syntaxschreibweisen können natürlich unterschiedlichen Benutzerrollen zugeordnet werden. Bilder sind eine zentrale Sache in Drupal. Das Image Modul liefert die Basis für den Upload und das Kleinrechnen von Bildern. Je nach Bedarf können hier verschiedene Galerien oder Verwaltungen angedockt werden. Oft wird auch die Möglichkeit der Editoren genutzt, Bilder direkt über den Editor in bestimmte Benutzerverzeichnisse zu laden. Multi-Site-Management und Mehrsprachigkeit Drupal enthält eine Multisitefähigkeit im Core, die wirklich keine Wünsche offen lässt. Zusatzmodule können in einzelnen Websites oder allgemein installiert werden. Die Usertabelle kann gemeinsam genutzt werden. Durch die Multisitefähigkeit können auf einer Drupal Installation beliebig viele völlig voneinander getrennte Websites aufgebaut werden. Drupal selbst steht in 34 verschieden Sprachen zur Verfügung, darunter auch zahlreiche mit verschiedenen Schreibsystemen, bspw. rechts nach links. All diese Sprachen können durch die konsequente Anwendung von Standards auch gleichzeitig auf einer Drupal Website verwendet werden. Das Internationalization Modul i18n bietet darüberhinaus alle Möglichkeiten der Übersetzung Drupal einer Website. Inhalte, Menüs, Kategorien, Tags, Umgebungssprache können übersetzt werden und je nach Konfiguration ist es möglich, verschiedensprachige Communities in einer Drupal Installation aufzubauen. Selbst die Anzeige der Kommentare in Übersichten kann entsprechend gefiltert werden. Layout Drupal trennt sehr sauber zwischen Inhalt und Layout. Templates heißen hier Themes. Die mitgelieferten Themes sind alle XHTML standard konform und von Haus aus barrierefrei. Seit der Version 5.0 gibt es den Colorpicker mit Live Vorschau. Er ermöglicht es, die Farben des Themes online mit einem Farbrad, ähnlich wie in Grafikprogrammen, zu definieren. Automatische Generierung Navigationen können aus der Kategorie Struktur generiert werden. Mit Zusatzmodulen geht Drupal hier viel weiter und generiert beispielsweise auch Tag Clouds, die zur Navigation genutzt werden können. Abbildung 4: Access control 7 Navigationspunkte und unabhängige Menüs Jeder Inhalt ist ein Node und jeder Node kann Teil eines Menüs sein. Jedes Menü ist ein Block und kann in verschiedenen Theme Regionen unter bestimmten Bedingungen, beispielsweise „nur auf dieser Seite“, „nicht auf dieser Seite“ und „Wenn dieser PHP Code den Wert wahr zurückliefert“, angezeigt werden. Die Möglichkeiten der Darstellung sind immens! Benutzer- und Rechteverwaltung Rollen sind frei definierbar. Für die Arbeit von Gruppen an einem Thema existieren Zusatzmodule wie beispielsweise Organic Groups. Rechte können sehr fein granuliert werden. Der Standard ist oft ausreichend, kann aber um zahlreiche Zusatzmodule erweitert werden (siehe Abbildung 4). Drupal verfügt über einen Zugriffsschutz bei gleichzeitiger Bearbeitung von Inhalten. Drupal Workflow leichtern. Es gibt kein Problem, das sich nicht mit Drupal lösen lässt. Ein Workflow- und Versionsverwaltungsystem ist im Standardumfang von Drupal enthalten. Die Freigabezyklen und Benachrichtigungsarten sind abhängig von der konkreten Modulkonfiguration. Funktionsumfang und Erweiterungen Hunderte von Zusatzmodulen können von drupal.org heruntergeladen, per FTP installiert und per Administrationsbereich aktiviert und individuell konfiguriert werden. Oft können Sie auch mit individuellem Design (je nach Aufgabe des Moduls) versehen werden. Vorteile und Eignung Es gibt meiner Einschätzung nach momentan kein Content Management System, das auf eine vergleichbar kreative Community zurückgreifen kann. In dieser Wissenbasis sehe ich momentan den Hauptvorteil von Drupal. Entwickler lieben Drupal, weil es clever und sicher programmiert ist und meist VOR der Entwicklung von etwas Neuem sehr viel in der Community diskutiert und abgewogen wird. Benutzer lieben Drupal, weil es völlig auf Ihre Bedürfnisse ausgerichtet werden kann und sehr intuitiv zu bedienen ist. Und last but not least verfügt das Projekt mit seinem Gründer Dries über einen „Benelovent Dictator for Life“, der der Weiterentwicklung des Projektes sehr gut tut. Drupal eignet sich besonders für: - Communities - Web 2.0 Anwendungen - Mischformen aus klassischem CMS und Community in Intra- und Extranets - Websites mit periodisch aktualisierten Inhalten Nachteile Für alle Systeme, die auf PHP basieren, sehe ich folgenden Nachteil. Die zugrunde liegende Skriptsprache PHP muss den Generationswechsel von der Version 4 zur Version 5 schaffen. Momentan ist die Verbreitung von PHP 5.x eher gering. PHP 5.x würde die Weiterentwicklung an vielen Stellen er- 8 Autor: Hagen Graf Hagen Graf arbeitet seit vielen Jahren als Programmierer und EDV-Trainer und ist erfolgreicher Buchautor. Didaktische Erfahrungen sammelte er als Online-Dozent, praktische Erfahrungen bei verschiedenen On- und Offline-Projekten. 9 Joomla! im Überblick Joomla! ist ein aktuell sehr beliebtes Content Management System auf Open Source Basis, das im Schwerpunkt für kleinere und mittlere Webauftritte gedacht ist. Aber auch große Portale sind mit Joomla! bereits realisiert worden. Der Bezeichner „Joomla!“ ist als Lautschrift für das aus dem Suaheli stammende Wort „Jumla“ zu verstehen und lässt sich am treffendsten mit „alle zusammen“ oder „in der Gesamtheit“ übersetzen. Ziel von Joomla! ist eine möglichst einfache Bedienung, um einem Anwender (sowohl dem Administrator des Auftritts als auch dem Redakteur) zu schnellem Erfolg zu verhelfen. So sollen auch technisch nicht versierte Nutzer damit einen Webauftritt gestalten als auch Inhalte erstellen können. Ebenso gilt Joomla! als recht flexibel und leicht erweiterbar. Derzeitig ist Joomla! immer noch in der Version 1.0 aktuell, obwohl schon geraume Zeit die Version 1.5 angekündigt ist und es bereits sehr lange stabile Betaversionen davon gibt. Die kleine Versionsnummer des CMS sollte aber nicht täuschen. Es handelt sich bei Joomla! nicht um einen Newcomer, sondern ist eine Fortentwicklung des bekannten und etablierten Mambo. Aber leider scheint Joomla! nicht nur das Erbe eines stabilen und erprobten Systems übernommen Abbildung 5: Control Panel zu haben, sondern auch die Querelen der Projektstruktur. Vermutlich verzögert sich daher die Finalversion 1.5 so massiv. Dem ungeachtet ist die Version 1.0 ein sehr empfehlenswertes System, das sich schnell eine große Fangemeinde erworben hat. Sowohl aus ehemaligen Mambo-Anwendern als auch Um- und vor allem Einsteigern in die CMS Welt. Blick in das Back-End für Redakteure Der Administrationsbereich von Joomla! ist strukturiert und einfach. Für Redakteure ist meist nur das Frontend zum Anlegen und Bearbeiten von Beiträgen interessant, respektive der Teil des Backends, der rein auf die Erfassung und Bearbeitung von Inhalten beschränkt ist. Joomla! Um einen Beitrag zu erstellen oder zu ändern, benötigt man natürlich in einem CMS passende Rechte. In Joomla! werden die nach einer Anmeldung wie üblich in einem (recht einfachen) Rollensystem geregelt. Im Wesentlichen klassifiziert man Redakteure in die klassischen Rollenmuster Author, Editor und Publisher mit den üblichen Rechten. In der Regel schlägt ein Anwender entweder einen Beitrag vor, der von einem entsprechend mit Rechten ausgestatteten Anwender dann freigegeben werden muss. Oder der Redakteur ist bereits mit den Rechten ausgestattet, um direkt einen Beitrag publizieren zu dürfen (siehe Abbildung 6). Inhalte anlegen und bearbeiten Die Erstellung von Beiträgen selbst ist im Vergleich zu anderen CMS extrem einfach. Man wählt eine Sektion und eine Kategorie aus und schreibt seinen Beitrag. Mehr gibt es nicht zu beachten. Das Joomla!-Verfahren ist damit auf der einen Seite 10 sehr starr und einfach, aber eben leicht zu verstehen und zu handhaben. Für die konkrete Erstellung der Beiträge steht unter anderem ein WYSIWYG-Editor (TinyMCE) zur Verfügung (zumindest in den meisten Browsern – im Konqueror unter Linux funktioniert er z.B. nicht), der den üblichen Anforderungen zur Formatierung von Texten voll genügt, aber auch nicht überfrachtet ist. Zudem werden auch weitere Editoren unterstützt wie JoomlaFCK, TMEdit, JCE. Auch die Formatierung von Links, Tabellen und Bilder wird unterstützt. Dazu bietet Joomla! eine integrierte Bilderverwaltung, um mittels verschiedener Techniken Bilder einfach in Artikel übernehmen zu können. Mittels so genannter {mosimage} (Platzhalter) lassen sich Bilder in Texte einfügen. Abbildung 6: Ein vorgeschlagener Beitrag muss noch freigegeben werden Joomla! 11 man hier nichts und auch die Version 1.5 wird das System nicht wesentlich verändern (mehr zu den Neuerungen der kommenden Version 1.5 am Ende des Beitrages). Das wird Joomla! oft vorgeworfen, macht die Verwaltung allerdings auch einfach und ist für kleinere Sites durchaus ausreichend. Workflow Ebenso stellt Joomla! nur einen bescheidenen Freigabezyklus mit E-Mail-Benachrichtigung zur Verfügung. Einen Workflow-Editor in dem Sinn gibt es nicht. Layout Abbildung 7: Bilder lassen sich über ein Formular-Interface auswählen Multi-Site-Management und Mehrsprachigkeit Die Einfachheit von Joomla! hat ihren Preis bezüglich erweiterter Features, die komplizierte CMS oft bieten. Multi-Site-Management mit der mehrfachen Content-Verwendung und die getrennte Verwaltung von mehreren Websites in einer Installation sind nicht direkt vorgesehen. Zwar kann man mit einigen Erweiterungen etwas Abhilfe schaffen, aber dazu benötigt man streng genommen mehrere Joomla!-Installationen. Die Verwaltung von Inhalten mit unterschiedlichen Sprachvarianten ist jedoch zumindest eingeschränkt möglich. Insbesondere sollte man hier die kommende Version 1.5 beachten, die neben Mehrsprachigkeit der Menüstrukturen UTF-8 und RTL unterstützt. Die verschiedenen Sprachen sind in externen Dateien abgelegt. Benutzer- und Rechteverwaltung Und auch die Benutzer- und Rechteverwaltung in Joomla! ist – wie schon erwähnt - sehr einfach. Es gibt ein paar wenige vordefinierte Gruppen und Rollen samt vordefinierten Rechten. Ändern kann Die Layoutmöglichkeiten von Joomla! sind wiederum sehr ausgeprägt. Zwar arbeitet Joomla! in der Regel auf Basis von HTML und Tabellen mit CSS, aber die Templates können natürlich beliebig erstellt werden. Es gibt eine sehr rege Community, die hier zahllose Templates bereitstellt. Die Erstellung von Templates erfolgt einfach mit den üblichen Web-Tools (also Editoren) und fordert nur normale Kenntnisse in HTML/CSS/PHP. Durch diese Freiheit kann man mit den entsprechenden Kenntnissen natürlich auch beliebige Navigationspunkte und unabhängige Menüs in ein System implementieren. Einen Template-Editor, um Programmierlaien die Erstellung von Templates zu gestatten, gibt es jedoch nicht. Auch die neue Version bringt hier kein System mit, obwohl es zeitweise geplant war. Funktionsumfang und Erweiterungen Wie auch die Entwicklung von Templates ist die Entwicklung von Erweiterungen in Joomla! stark von PHP geprägt. Aber es gibt auch ein komplexes Framework, das in der kommenden Version 1.5 einen erheblichen Entwicklungssprung macht und auf Klassen basiert. Softwaremodule lassen sich in Joomla! direkt visuell einbinden, wenn die entsprechenden Regeln dafür eingehalten werden und die Safe Mode-Einstellung (siehe „Vorteile und Eignung“) vorhanden ist. Die Anpassung von Modulen erfolgt im Wesentlichen über visuelle Einstellungen in einem Web-Interface oder aber – bei tiefgehenden Anpassungen – über direkte Programmierung des PHP-Quelltextes. Joomla! Vorteile und Eignung Die Vorteile von Joomla! sind eindeutig seine Einfachheit, die technische Open Source-Basis und die extrem rege Community. Ebenso ist das moderne Design sehr beliebt. Joomla! benötigt PHP und MySQL in einer halbwegs zeitgemäßen Version. Für eine problemlose Nutzung ist darüber hinaus Webspace mit der PHP-Einstellung ‚Safe Mode Off‘ nötig, was der Internetdienstanbieter vornehmen muss (man kann Joomla! aber auch ohne diese Einstellung betreiben, wenn man das entsprechende Know How mitbringt). Für die Installation wird noch die aktivierte zlibBibliothek von PHP benötigt, was bei den meisten Webspace-Anbietern der Fall ist. Mehr muss man als technische Basis nicht einkalkulieren, wobei idealerweise Linux und Apache zur Verfügung stehen sollten. Aber auch andere Betriebssysteme wie Windows und andere Webserver lassen sich verwenden. Diese minimalen technischen Voraussetzungen sind ein Highlight dieses CMS. Joomla! eignet sich für kleinere bis mittlere Projekte, bei denen eine strenge und differenzierte Rollen- und Aufgabenverteilung nicht so wichtig ist. Wenn dies aber im Fokus eines Web-Projekt steht, wird man mit anderen Systemen glücklicher. läufer Mambo, ist die Version 1.5 eine vollständige Neuentwicklung und damit im Prinzip ein gänzlich neues CMS, das wesentlich flexibler, robuster und vielfältiger sein soll. Entgegen der Vorgängerversion ist der Kern der neuen Version vollständig objektorientiert. Und es gibt nun ein separates Joomla!-Framework auf Basis von PHP 5. Das Framework enthält eine komplette Übersetzungsmöglichkeit in die meisten Sprachen der Welt, einen FTP-Layer, um die Probleme mit verschiedenen Sicherheitseinstellungen in den Griff zu bekommen, sowie eine komplett überarbeitete Logik zur flexiblen Entwicklung von Templates und Erweiterungen für Joomla. Im Detail verbessern sich für den Administrator die Analysemöglichkeiten und vor Allem die Verwaltung von Erweiterungen, Artikeln, Menüs, MultimediaDateien und Templates. Das Gesamtsystem bietet nun volle RSS-Unterstützung (atom 1.0 / rss 2.0) für Artikel, Kategorien, Sektionen, Weblinks und Kontakte. Dazu gibt es einige neue Designer-Funktionen, eine verbesserte Zugänglichkeit und Benutzerfreundlichkeit durch die Verlagerung der HTMLAusgabe in erweiterte Templates und eine bessere Trennung des generierten HTML-Codes. Und last but not least beseitigt die neue Version einige Probleme bei der Zugriffskontrolle. Nachteile Als größter Nachteil von Joomla! gelten das eingeschränkte Rechtesystem und das nur sehr einfache Workflow-System. Ebenso sind viele Templates noch Tabellenbasierend und tragen den Forderungen nach dem barrierefreien Web nicht vollständig Rechnung. Neuerungen der Version 1.5 Gut Ding will Weile haben. Kaum ein Sprichwort charakterisiert die Entwicklung der kommenden Version 1.5 von Joomla! wohl besser (wenn man es wohlwollend betrachtet). Aber obwohl selbst Ende 2007 immer noch die Version 1.0 als stabile Version vertrieben wird, zeichnet sich in dem fast endlosen Entwicklungszyklus von Joomla! 1.5 endlich Land ab. Die letzten als „Beta“ gekennzeichneten Versionen sind auf dem Markt. Und die lange Entwicklungszeit hat ihren Grund. Denn die neue Version wird einen echten Entwicklungssprung darstellen. Basierte der Quellcode der Version 1.x noch auf dem Vor- 12 Autor: Ralph Steyer Ralph Steyer, Diplom Mathematiker, arbeitete nach dem Studium einige Jahre bei einer großen Versicherung im Rhein-Main-Gebiet als Programmierer. Seit 1995 Freelancer mit den Tätigkeitsgebieten: Publikation, EDVSchulungen, Programmierung und Beratung. Mit Joomla! betreibt er unter www.ajax-net.de ein Portal zu AJAX. 13 TYPO3 im Überblick Im Vergleich von Content Management Systemen taucht ein Name in zuverlässiger Regelmäßigkeit auf: TYPO3. Es handelt sich dabei um eines der mächtigsten OpenSource CMS auf dem Markt und anhand der zahlreichen Installationen auch um eines der weiter verbreiteten Systeme. Zu diesem Erfolg hat sicherlich die Eigenschaft von TYPO3 beigetragen, sowohl für kleinere Webpräsenzen als auch für sehr große Portale etc. geeignet zu sein. Für letzteres Segment hat es in letzter Zeit einige Entwicklungsfortschritte gerade bei der Erstellung und Bearbeitung von komplexen Datenstrukturen gegeben. Aktuell ist TYPO3 in der stabilen Version 4.1.3 verfügbar. Die nächsten größeren Schritte werden die Versionen 4.2 und in der Zukunft 5.0 sein. Letztere wird ein komplettes Redesign des Systems mit zahlreichen Verbesserungen. Blick in das Back-End für Redakteure Die Benutzeroberfläche ist in der Regel dreigeteilt, wobei sich in der linken Spalte das Menü, in der Mittleren der Seiten- oder Dateibaum und in der rechten Spalte das Bearbeitungsfenster befinden. Daraus ergibt sich auch eine logische Kette beim Anlegen und Bearbeiten von Inhalten: 1. Funktion auswählen (z.B. „Seite“, um mit Seiteninhalten zu arbeiten) 2. Objekt auswählen (z.B. zu bearbeitende Seite) 3. Content bearbeiten (z.B. Textblöcke oder Bilder) Abbildung 8: Screenshot einer Seite im Bearbeitungsmodus TYPO3 Dabei ist es sehr praktisch, dass sich Formatierungsvorgaben so lange vom Elternelement vererben, bis diese neu definiert werden. Dadurch kann ein Redakteur in der Regel sofort mit der Inhaltsbearbeitung beginnen und muss sich nicht weiter mit Einstellungen aufhalten. Generell wird TYPO3 ein verwirrendes Back-End und ein hoher Einarbeitungsaufwand nachgesagt, was jedoch zu relativieren ist. Ein gut angepaßtes Back-End, mit auf den Benutzer zugeschnittenen Funktionalitäten und Menüeinträgen, ist durchaus übersichtlich und schnell lernbar. 14 Inhalte anlegen und bearbeiten nutzeranmeldungen, Menüs und die Anzeige von Newseinträgen. All diese einzelnen Elemente bieten für die meisten Anwendungsfälle ausreichende Möglichkeiten (siehe Abb. 9). Sollte es darüber hinaus gehen, wie bei der Anzeige von Datenbankinhalten oder strukturierten Daten, so kann dies auch über eigene Extensions und so genannte Flex-Content-Elemente (FCE) erledigt werden. Über letztere lassen sich einfach und schnell definierte Eingabemasken erstellen, die mit eigenen Subtemplates verbunden sind. FCEs sorgen dafür, dass das Corporate Design gewahrt bleibt und sich der Benutzer nicht um Formatierungen kümmern muss oder diese eigenmächtig verändern kann. Inhalte werde in der Regel blockweise verwaltet und auf den Seiten angeordnet. Dafür bietet TYPO3 eine ganze Reihe von Standardelementen wie Texte, Texte mit Bilder, Formulare, Tabellen etc. Hinzu kommen aktive Komponenten und Plugins wie Be- Um trotzdem den Formatierungswünschen der Benutzer nachkommen zu können, steht in der Regel ein Richtext-Editor (RTE) zur Verfügung, der vom Administrator auch individuell angepasst werden kann. Die Bedienung ist intuitiv und von anderen Abbildung 9: Inhaltselement auswählen TYPO3 Web- oder Desktopanwendungen her bekannt. Alternativ können auch andere Editoren eingebunden werden. Bilder und Bildergalerien können mit Bordmitteln oder über eine der zahlreichen frei verfügbaren Extensions erstellt werden. Dabei sind zwei Wege zur Bildverwaltung möglich. Zum Einen der klassische Weg über die Dateiverwaltung in Verzeichnissen und zum Anderen der Weg über das Digital-Asset-Management (DAM) und die damit verbundenen erweiterten Verwaltungsmöglichkeiten wie eine Verschlagwortung. Multi-Site-Management und Mehrsprachigkeit TYPO3 eignet sich nicht nur zur Verwaltung einer Webseite, sondern auch dazu, mehrere Webauftritte eines Unternehmens auf eine zentrale Plattform zu stellen. So können gleich mehrere Domains und die damit verbundenden Webpräsenzen in einer TYPO3-Installation gepflegt werden. Auch ein Austausch der Daten zwischen den einzelnen Auftritten ist möglich. Dabei können manuell einzelne Inhaltselemente, Seiten oder ganze Seitenbäume kopiert oder über eine Verknüpfung referenziert werden. Letzteres eignet sich besonders dazu, mehrfach vorkommenden Inhalt zu verwalten, da dieser nur an einer Stelle gepflegt und von dort auch dynamisch eingebunden wird. Darüber hinaus ist es natürlich auch möglich, auf die Datensätze (wie News) eines anderen Webauftrittes zuzugreifen und diese einzubinden. Unterstützt wird das Multi-Site-Management noch dadurch, dass die Benutzerrechte so granular administriert werden können, dass die unterschiedlichen Seiten aus Sicht des Redakteurs komplett voneinander getrennt werden können. Neben mehreren Webseiten sind auch mehrere Sprachen möglich. Dabei wird zwischen dem SingleTree- und einem Multi-Tree-Ansatz unterschieden. Single-Tree besagt, dass es nur einen Seitenbaum gibt, der in allen Sprachen identisch ist. Lediglich der lokalisierte Inhalt wird ausgetauscht. Die Alternative Multi-Tree verwaltet die unterschiedlichen Sprachen über getrennte Seitenbäume. Beide Varianten sind je nach Anwendungsfall sinnvoll. Extensions sind prinzipiell auch mehrsprachig realisierbar. Ob die gewüschte Sprache unter den 15 Verfügbaren ist, hängt in der Regel vom Übersetzungseifer der Entwickler ab. Layout Eine der produktivsten Erweiterungen bzw. Verbesserungen der letzten Zeit ist TemplaVoila. Dieses Templating-Tool bringt nicht nur einen Wizard mit, der die Erstellung eines neuen Templates sehr beschleunigt, sondern auch ein grafisches Mapping der Contentbereiche auf HTML-Elemente und Attribute. Um dennoch jede Anforderung erfüllen zu können, sind die erzeugten Konfigurationen (XML) mit TypoScript, der hauseigenen Scriptsprache, erweiterbar. Basis eines Templates ist ein HTMLDokument. Nach der Einbindung der HTML-Vorlage werden die Funktionalitäten des CMS (z.B. System- und Extensionkonfigurationen oder die automatische Menügenerierung) über TypoScript an das Template gebunden. Die dafür notwendigen Mittel bringt das System mit. Es gibt darüber hinaus gute Hilfmittel wir SweeTS (http://typo3.area42.de/) als externen TypoScript-Editor. Benutzer- und Rechteverwaltung Eine der herausragenden Stärken von TYPO3 ist seine sehr mächtige Benutzerverwaltung. Dabei wird über Benutzergruppen festgelegt, welche Rechte deren Mitglieder besitzen und es besteht zusätzlich die Möglichkeit, diese Einstellungen auf Ebene des einzelnen Benutzers zu verfeinern. Inhaltlich ist es möglich festzulegen, wer welche Bereiche der Seite mit welchen Mitteln bearbeiten darf. Diese Granularität geht so weit, dass der Administrator festlegen kann, ob Benutzer einzelne Eingabefelder und Checkboxen von Inhaltselementen sehen und bedienen dürfen. Gleichzeitig sorgt die Benutzerverwaltung dafür, dass angezeigt wird, wenn mehrere Benutzer die selbe Seite bearbeiten wollen (siehe Abb. 10). Workflow Seit noch nicht allzu langer Zeit ist die Verwaltung mehrerer Workspaces fest in das System integriert. Darüber sind Freigabemechanismen realisierbar, bei denen die freigebende Person die Ergebnisse der Arbeit in der realen Seite sieht und testen kann, um sie anschließend freizuschalten. TYPO3 Abbildung 10: Rechte Abbildung 11: Workflow 16 TYPO3 Es sind neben den Standard-Workspaces (Live- und Entwurfsworkspace, siehe Abbildung 11) noch weitere definierbar, um auch komplexe Prozesse abzubilden. Funktionsumfang und Erweiterungen Die sicherlich am häufigsten genutzte Variante, um den Funktionsumfang des CMS zu erweitern, ist die Einbindung von Extensions. Diese stehen in einem zentralen Repository zum Download zur Verfügung und können direkt über den Extension-Manager von TYPO3 aus dem laufenden CMS heraus nachinstalliert bzw. auch aktualisiert werden. Sollten die dort verfügbaren Extensions nicht den eigenen Anforderungen entsprechen, so ist mit überschaubarem Aufwand die Entwicklung eigener Extensions möglich. Hierzu gibt es auch einen sogenannten Kickstarter, mit dem der Entwickler die Basiskonfiguration seiner Extension per Mausklick zusammenkonfigurieren kann. Tiefer gehende Anpassungen der eigenen Extension werden dann in PHP programmiert. Zur Erweiterung des Systems selbst verfügt dieses über eine sehr gut dokumentierte API zum Systemkern. Vorteile und Besonderheiten Der wohl bedeutendste Vorteil gegenüber vielen anderen CMS ist, dass mit TYPO3 ein sehr leistungsfähiges und erweiterbares System als Open Source vorliegt. Es eignet sich unter anderem für klassische Webauftritte, als Unternehmensportal und Intranetlösung. Darüber hinaus gibt es durch die zahlreichen Extensions unzählige spezielle Anwendungsfälle, in denen TYPO3 ein sehr gut geeigenetes CMS ist. Nachteile Die Architektur des Systems und der initiale Installations- und Einrichtungsaufwand sorgen dafür, dass TYPO3 bei vielen sehr kleinen Projekten gegenüber anderen Lösungen nicht wettbewerbsfähig ist. Auch stellt es einige Anforderungen an die Hostingumgebung, die in Gänze nicht von allen Anbietern erfüllt werden oder nur mit einem eigenen Server realisierbar sind. Insbesondere Webserver- und Da- 17 tenbankperformance, MemoryLimit und installierte Module sind dabei von Bedeutung. Weitere negative Punkte sammelt TYPO3 bei Anwendungen, für die es originär nicht konzipiert wurde. So gibt es zwar Webshop-Extensions aber diese können nicht die Leistungsfähigkeit eines ausgewachsenen Shopsystems erreichen. Doch dabei muss immer bedacht werden, dass TYPO3 ein CMS und kein Shopsystem ist. Autor: Andreas Gaul Andreas Gaul ist Inhaber der blueways, einem e-BusinessBeratungs- und Entwicklungsunternehmen und spezialisiert auf webbasierte Unternehmensanwendungen. 18 TYPOlight im Überblick Bei TYPOlight handelt es sich um ein noch relativ junges Open Source Web Content Management System. Nach Angaben der Produkt-Webseite wurde es Anfang 2006 vorgestellt und wird seitdem kontinuierlich weiterentwickelt. Übrigens ist es nicht der kleine Bruder von TYPO3, auch wenn der Name die Vermutung zulässt. TYPOlight ist ein komplett eigenständiges Projekt. Die aktuelle Version 2.4.7 ist unter der General Public License (GPL) freigegeben. Ab der Version 2.5.0 wird die Lesser General Public License (LPGL) zum Einsatz kommen. Im Vordergrund steht bei TYPOlight die durchgängige Barrierefreiheit, sowohl für das administrative Back-End wie auch für die resultierenden Webseiten. Zur Leistungssteigerung baut das System komplett auf PHP5. Der standardmäßige Leistungsumfang lässt nicht nur das Erstellen von kleinen und mittleren Web- Auftritten zu, auch umfangreiche Projekte können problemlos gemeistert werden. Daher eignet sich TYPOlight nicht nur für die private Homepage, sondern auch für kleine bis mittlere Unternehmen zur Realisierung des Internet- oder Intranetauftritts. Auch Anfänger müssen sich nicht scheuen, dieses CMS einzusetzen. Abbildung 12: Startseite des TYPOlight Back-End nach dem Login TYPOlight Blick in das Back-End für Redakteure Das Back-End ist klar strukturiert und die Module nach Aufgabengebiet in Gruppen zusammengefasst. Die einfache Bedienbarkeit wird durch Tastaturkürzel für Standardfunktionen unterstützt (siehe Abb. 12). TYPOlight ist vollständig internationalisiert, wobei Deutsch und Englisch in der Stadardinstallation enthalten sind. Weitere Sprachpakete können von der Produkt-Webseite heruntergeladen und einfach installiert werden. Bevor man seine neue Webseite in TYPOlight mit Inhalten füllen kann, ist ein wenig Vorarbeit notwendig. Die Beispielseite der „Music Academy“, welche während der TYPOlight Installation mit angelegt werden kann, hilft bei der ersten Orientierung. 19 Neben einem Titel und dem Autor kann u.a. auch angegeben werden, ob dieser Artikel veröffentlicht werden soll und ob möglicherweise das Start- und/ oder Enddatum der Veröffentlichung eingeschränkt ist (siehe Abbildung 15). Ein Artikel wiederum besteht aus einzelnen Elementen. Hier stehen verschiedene Text Elemente aber auch Link, Bild, Datei und Include Elemente zur Verfügung (siehe Abbildung 16). Zur Erstellung von reinen Text-Elementen kann ein WYSIWYG-Editor (TinyMCE) genutzt werden. Dieser ermöglicht die Bearbeitung des Inhaltes wie man es von einer Textverarbeitung gewohnt ist. Auch das Einfügen von Tabellen oder Bildern ist hierüber sehr einfach möglich. Bei letzterem kann man entweder selbst eine Bild-URL angeben oder aus einem Bild wählen, welches über die Dateiverwaltung hochgeladen wurde. Andere Text-Elemente wie Tabelle, Überschrift, Aufzählung oder Code ermöglichen das schnelle Hinzufügen von bereits fertig formatiertem Inhalt. Besonders interessant sind auch die Bild- und Datei-Elemente. Ein Bild-Element kann entweder aus genau einem einzelnen Bild bestehen, aber auch das Einbinden einer ganzen Galerie ist auf diese Weise möglich. Mit Hilfe eines Datei-Elementes können Downloads auf der Webseite angeboten werden. Abbildung 13: Beispielseite Music Academy Inhalte anlegen und bearbeiten Für die inhaltliche Gestaltung einer Webseite stehen bei TYPOlight die unterschiedlichsten Module zur Verfügung. So können u.a. normale Artikel geschrieben, News (Nachrichten) eingebunden, Kalender hinzugefügt oder ein Gästebuch (Kommentare) betrieben werden (siehe Abbildung 15, Backend-Module). Abbildung 14: Beispielgalerie der „Music Academy“ mit geöffnetem Bild Beim Anlegen eines neuen Artikels werden zunächst generelle Angaben hierzu gemacht, wobei zu jeder definierten Seite mehrere Artikel möglich sind. Übrigens sind alle Artikel-Elemente versioniert abgelegt, so dass schnell zu einer alten Version umgeschaltet werden kann. Um Inhalte mit einem Bild- oder Datei-Element nutzen zu können müssen zunächst Dateien in das System geladen werden. Hierzu dient die Dateiverwaltung, welche das Organisieren unterstützt. TYPOlight Abbildung 15: Editor zur Bearbeitung von Artikelstammdaten 20 TYPOlight Abbildung 16: Artikel Elemente der „Music Academy“ Startseite 21 TYPOlight 22 Multi-Site-Management und Mehrsprachigkeit Mit TYPOlight können mehrere verschiedene Webseiten gleichzeitig verwaltet werden. Zusätzlich kann für jede hinterlegte Seite die Sprache festgelegt werden. In der Regel wird man jede Sprachversion einer Webseite als eigenständige Struktur anlegen. So würde man im Beispiel der „Music Academy“ einen zusätzlichen de-Zweig eröffnen, um dort die deutsche Version der Seite zu pflegen. An sich sind unterschiedliche Sprachversionen einer Webseite eigenständig und müssen daher nicht die gleichen Strukturen aufweisen. Es kann ein so genannter Sprachen-Fallback definiert werden. Diese Sprachvariante wird geladen, wenn in einer anderen Sprachversion eine bestimmte Seite nicht vorhanden ist. Aber auch wenn eine Sprache überhaupt nicht unterstützt wird, greift TYPOlight auf den Sprachen-Fallback zurück. Welche Sprachversion einer Seite standardmäßig geladen wird, hängt übrigens von der Sprache des Browsers ab. Layout Zur Erstellung eines Layouts sind kaum Kenntnisse in XHTML notwendig. Allerdings sind Grundkenntnisse vor allem im Bereich CSS sehr hilfreich. Ansonsten wird einem von TYPOlight der größte Teil der Arbeit abgenommen. Vor allem wird darauf geachtet, dass die Grundstruktur der Seite mit allen gängigen Browsern kompatibel ist. Um mit dem Layout beginnen zu können, müssen zunächst Module definiert werden. Hierbei kann es sich um ein Navigationsmenü, ein Login-Formular oder einen Mini-Kalender für die Seitenleiste handeln. Auf diese Weise kann man zum Beispiel auch verschiedene Menüs definieren. Eines könnte als primäres Menü alle Hauptpunkte beinhalten, ein weiteres zeigt lediglich die zugehörigen Unterpunkte an. Aber auch Navigationspfade (Breadcrumb) oder Sitemaps sind möglich (siehe Abbildung 17). Neben Modulen müssen noch Stylesheets definiert werden. Hierbei wird man von TYPOlight bei den gängigsten Einstellungsmöglichkeiten durch einen CSS-Editor unterstützt. Aber auch freie Angaben sind natürlich möglich. Aus Modulen und Stylesheets können nun Seitenlayouts definiert werden. Zunächst genügt das Anlegen eines Standardlayouts. Abbildung 17: Modulübersicht der Beispielwebseite Hierfür wählt man eine entsprechende Vorlage. Dies ist in der Regel die bereits mitgelieferte fe_page. Man kann aber auch hier seine eigenen Vorlagen erstellen. Neben der Angabe der zu verwendenden Stylesheets kann auch die Spaltenanzahl der Seite definiert werden (bis zu drei). Zusätzlich kann eine Kopf- und Fußzeile verwendet werden. Zuletzt ist es notwendig, die vorher definierten Module zu platzieren. Hier wählt man z.B. aus, in welcher Spalte das Navigationsmenü stehen soll. Auch die Sortierung der Module ist möglich (siehe Abbildung 18). Mit Hilfe dieser Vorarbeiten kann nun die Seitenstruktur angelegt werden. Hierfür legt man zunächst eine neue Seite vom Typ „Startpunkt einer neuen Webseite“ an. Hier kann man bereits grundlegende Einstellungen vornehmen wie das zu verwendende Seitenlayout, die Cache Verfallszeit und mögliche Zugriffsrechte. Diese Einstellungen werden automatisch an untergeordnete Seiten vererbt, sofern sie dort nicht überschrieben werden. Unterhalb des Startpunktes können nun weitere Seiten strukturiert abgelegt werden. Hierfür stehen verschiedene Seitentypen zur Auswahl: Regu- TYPOlight 23 läre Seite, Weiterleitung zu einer externen URL und Weiterleitung zu einer anderen Seite (intern). Aber auch für die HTTP-Fehler 403 (Zugriff verweigert) und 404 (Seite nicht gefunden) können Seiten definiert werden. Neben einem Seitentitel und einer Seitenbeschreibung können auch Angaben über das Verhalten der Seite gemacht werden. So kann eine Seite z.B. geschützt werden und ist dadurch nur für definierte Mitgliedergruppen zugänglich. Ebenso kann eingestellt werden, ob eine Seite im Navigationsmenü versteckt und ob die Seite von der integrierten Suchfunktion ausgenommen werden soll. Für jede Seite kann zudem einzeln angegeben werden, ob diese veröffentlicht ist oder ob der Veröffentlichungszeitraum durch Start- und/oder Enddatum eingeschränkt wird. Benutzer- und Rechteverwaltung In TYPOlight wird zwischen Mitgliedern und Benutzern unterschieden. Für den reinen Frontend-Zugriff, z.B. für geschützte Seiten, genügt es, Mitglied zu sein. Als Benutzer hat man Zugriff auf das Back-End und kann Änderungen vornehmen. Die Rechteverwaltung ist sehr umfangreich. Für den Back-End-Zugriff legt man hierzu zunächst verschiedene Benutzergruppen an. Hier kann angegeben werden, welche Back-End Module zur Verfügung stehen. So kann man eine Gruppe z.B. auf das Bearbeiten von Artikeln beschränken. Für die Seitenstruktur kann zudem definiert werden, auf welchen Bereich (Pagemounts) eine Benutzergruppe Zugriff erhält und welche Seitentypen erlaubt sind. Für die Dateiverwaltung können ebenso freigegebene Ordner angeben werden und welche Dateibearbeitungsrechte gegeben werden. Um die Berechtigungen noch genauer festzulegen, können pro Back-End Modul die erlaubten Felder definiert werden. So könnte eine Benutzergruppe z.B. nur Zugriff auf die Felder zur Veröffentlichung erhalten und diese so steuern (siehe Abbildung 19). Benutzer können nun den Gruppen zugewiesen werden. Zusätzlich kann angegeben werden, ob ausschließlich die Gruppenrechte gelten, Rechte durch individuelle Angaben erweitert werden dürfen oder nur individuelle Rechte zu verwenden sind. Workflow Abbildung 18: Definition eines Standardlayouts Workflows können bei TYPOlight nicht direkt definiert werden. Es ist jedoch möglich, über die Rech- TYPOlight 24 teverwaltung und unterschiedliche Benutzergruppen Arbeitsabläufe zu organisieren. So könnten z.B. Editoren Inhalte bearbeiten dürfen, die Freischaltung muss aber z.B. durch einen Administrator erfolgen. Ähnliche Szenarien wären hier problemlos darstellbar. Funktionsumfang und Erweiterungen Bereits in einer Standardinstallation sind alle notwendigen Module enthalten, die für einen zeitgemäßen Internetauftritt benötigt werden. Zusätzliche Module können im TYPOlight Wiki bei Third Party Extensions gefunden werden. Und wem selbst das nicht genügt, der kann sehr einfach eigene Module erstellen. Für das Gerüst eines neuen Moduls hilft der Modul Creator. Allerdings kann auch eine einfache PHPDatei eingebunden werden, was jedoch nicht ganz so komfortabel ist wie der Einsatz eines richtigen Moduls. Vorteile und Besonderheiten Die sehr umfangreiche Dokumentation von TYPOlight ist in deutscher und englischer Sprache verfügbar. Zusätzlich existieren ein paar interessante Tutorials und es gibt ein sehr aktives Forum, welches sowohl in Deutsch und Englisch Antworten auf offene Fragen bietet. Neben den bereits beschriebenen Funktionen kann TYPOlight durch zusätzliche Funktionen trumpfen: - Eine integrierte Suchmaschine kann einfach in die eigenen Seiten eingebunden werden. - Caching zur noch schnelleren Auslieferung der Inhalte. - Unterstützung von GZip Kompression, um die auszuliefernde Datenmenge kleinstmöglich zu halten. Nachteile Abbildung 19: Bearbeitung einer Benutzergruppe TYPOlight ist noch relativ jung und hat sich folglich noch keinen großen Namen machen können. Dennoch findet es bereits im PHP Journal 5/2007, Internet Professional 6/2007 und PC Professional 6/2007 sehr positiv Erwähnung. Es bleibt aber anzumerken, dass das Kern-Team aus nur einer Person besteht. Auch wenn es ein paar zusätzliche TYPOlight Modulentwickler gibt, wird die eigentliche Entwicklung ausschließlich von Leo Feyer durchgeführt. Hier besteht natürlich generell das Problem, dass die Weiterentwicklung theoretisch einfach eingestellt werden könnte. In einem solchen Fall würde sich aber sicherlich sehr schnell jemand um dieses viel versprechende Projekt kümmern. Autor: Sebastian Bauer Sebastian Bauer ist IT-Berater, Entwickler und Blogger. Als Informatiker gilt sein besonderes Interesse den Möglichkeiten des Internet sowie dem Bereich Informatik und Gesellschaft. 25 26 OpenCms im Überblick OpenCms ist ein auf Java und JSP basierendes Web Content Management System mit einem ausgereiften Redaktionssystem. Es bietet sich für die Implementierung von Web-Auftritten wie Unternehmenswebsites, Intranets und Extranets an. Das System ist unter der Apache Lizenz freigegeben und liegt sowohl im Quellcode als auch als Installationspaket vor. Die Kernentwicklung des Produkts wird durch das Kölner Unternehmen Alkacon betrieben. Neue Major-Releases werden derzeit in einem jährlichen Rhythmus veröffentlicht. Die Community, die sich um OpenCms gebildet hat, ist international besetzt und betreibt in Mailinglisten, Foren und Wikis einen regen Informationsaustausch. Die Umsetzung von Projekten auf Basis von OpenCms bieten eine ganze Reihe von IT-Dienstleistern und Internet-Agenturen an. Die aktuelle stabile Version 7.0.3 ist seit November 2007 im Einsatz. Wichtige Neuerungen sind u.a.: - Pflege von Inhalten und Templates über WebDAV - Verbesserte Verwaltung und Überprüfung interner Links - Kategorisierung und Vernetzung von Inhalten über die „Content Relationship Engine“ - Verbesserte Benutzerverwaltung - Vorschau auf zeitgesteuerte Publikationen mit der „Time warp“ Funktion. Blick in das Back-End für Redakteure Das Redaktionssystem von OpenCms präsentiert sich als plattformunabhängige HTML Browseranwendung in Form eines klassischen Dateiexplorers. Sämtliche Ressourcen wie Seiteninhalte, Bilder, Dokumente und auch Templates werden hier in Ordnern organisiert und in Form von Dokumenten verwaltet. Da die Organisation der Inhalte wie in einem Dateisystem erfolgt, benutzt OpenCms daher auch den Begriff „Virtual File System“ (VFS). Für den Redakteur ergibt sich der Vorteil, dass der Zugriff auf alle Inhalte, egal ob Bilder, PDF-Dokumente oder strukturierte Inhalte, über eine einheitliche Oberfläche gewährt wird. Bei der Verwaltung der Inhalte unterstützen die üblichen Standardfunktionen: - Checkin/Checkout Versionierung Metadaten Linkvalidierung Volltextsuche. Die aktuelle Version bringt außerdem Neuerungen beim Linkmanagement sowie der Kategorisierung von Inhalten über Kategoriebäume (siehe Abb. 20). Über so genannte DirectEdit Buttons ist außerdem die Bearbeitung der Inhalte direkt im Kontext der Website möglich (siehe Abb. 21). Die Erstellung und Publikation einer neuen Seite besteht typischerweise aus folgenden Schritten: 1. Ein neues Dokument wird unter Auswahl eines Dokumenttyps angelegt. 2. Im nächsten Schritt werden die wichtigsten Metadaten und der Dokumentname erfasst. 3. Anschließend werden die Inhalte in einer strukturierten Erfassungsmaske bearbeitet. Der Inhalt kann sofort über ein Preview kontrolliert werden. Eine Publikation auf ein Staging-System ist dafür nicht erforderlich. 4. Abschließend erfolgt die Publikation, also das Freischalten des Inhalts. Text- und Bildverwaltung Die Erfassung der Inhalte erfolgt in strukturierten Dokumenttypen, die entsprechend der projektspezifischen Anforderungen definiert werden und auf XML basieren. Eine Funktion von zentraler Bedeutung für jedes Web-CMS ist die Pflege von formatiertem Richtext. OpenCms Abbildung 20: Explorer Ansicht Abbildung 21: WYSIWYG DirectEdit Modus 27 OpenCms 28 Hier nutzt OpenCms den Editor auf dem OpenSource Projekt „FCKEditor“ (Abb. 22). Dieser WYSIWYG-Editor erfreut sich derzeit großer Beliebtheit, da er auf den aktuellen Browsern zuverlässig funktioniert und alle üblichen Funktionen wie Textformatierung, Tabellen, Aufzählungen, Bilder, etc. unterstützt. Der Editor ist nahtlos in OpenCms integriert, sodass Links auf Bilder, Download-Dateien oder andere Seiten über Auswahldialoge gesetzt werden können. Die Verwaltung von Bildern oder Download-Dateien erfolgt über Galerien. Diese vereinfachen die Organisation häufig wieder verwendeter Dokumente und ermöglichen über ein Upload-Applet den Upload beliebig vieler Dateien in einem Schritt. Bilder-Galerien bieten außerdem eine automatische Thumbnail-Ansicht. stützt. Ein Dokument kann immer alle Sprachvarianten eines Inhalts aufnehmen. Multi-Site-Management und Mehrsprachigkeit Layout OpenCms verwaltet mehrere Websites in einem Repository und unterstützt dabei die gemeinsame Nutzung von Inhalten. Die Verwaltung von Sprachvarianten wird außerdem von Haus aus gut unter- Die Umsetzung der Templates erfolgt über Java Server Pages (JSP). Bei der Programmierung unterstützt eine Tag Library, sodass einfache Anforderungen mit gewöhnlicher HTML- und JSP-Programmierung umsetzbar sind. OpenCms Templates Abbildung 22: FCKEditor in OpenCms Die Mehrfachverwendung von Inhalten wird durch symbolische Links unterstützt, die hier als „Siblings“ bezeichnet werden. Ein Dokument kann durch Siblings an mehreren Stellen im VFS erscheinen. Jedes dieser Siblings kann eigene Metadaten oder auch gemeinsame Metadaten nutzen. In Kombination mit Siblings und Mehrsprachigkeit existiert ein sehr mächtiges Werkzeug für die Mehrfachverwendung von Inhalten, insbesondere bei Sprach- und Ländervarianten einer Website. Durch die Java Plattform unterstützt OpenCms natürlich Unicode, kennt somit keine Probleme mit exotischen Zeichensätzen. Ein nützliches Addon für Redakteure ist eine Bildschirmtastatur. OpenCms sind voll funktionsfähige JSP’s, d.h. es können beliebige Ausgabeformate, also auch XML oder beliebige HTML-Formate, erzeugt werden. Die OpenCms-API hält außerdem Funktionen für folgende, für Websites relevante, Anwendungsfälle bereit: - Dynamische Menüs, Breadcrumbs und Sitemap - Personalisierte Bereiche mit individuellen Login-Formularen - Suchfunktionen auf Basis der integrierten Lucene-Volltextsuche mit Dokumenten-Filter für Office- und PDF-Dokumente - Automatisches Skalieren von Bildern - Caching von HTML-Fragmenten für optimale Performance bei dynamischen Inhalten - Einfache Integration von DirectEdit Buttons in die Templates. Die Programmierung der Templates erfolgt am besten mit einer WebDAV-fähigen Entwicklungsumgebung, z.B. Eclipse. Durch den WebDAV Zugriff ist ein schnelles Rounttrip Engineering möglich. Übrigens können auch alle anderen Inhalte in OpenCms über WebDAV fähige Tools erstellt und bearbeitet werden. Abbildung 23: Benutzerverwaltung 29 Benutzer- und Rechteverwaltung Das Berechtigungssystem von OpenCms ist sehr mächtig und lässt kaum Wünsche offen. Über eine komfortable Benutzerverwaltung lassen sich Benutzer und Gruppen sowie Organisationseinheiten definieren. Benutzer können sowohl Redakteure als auch externe Webuser, z.B. in einem Extranet sein. Die Festlegung des Benutzertyps erfolgt über die Zuweisung von Rollen. Gruppen erhalten wiederum Zugriff auf Ressourcen über Access Control Lists (ACL). Rechte umfassen u.a. das Lesen, Bearbeiten, Anzeigen und Publizieren von Ordnern bzw. Dokumenten. Das Berechtigungssystem gilt sowohl für Redakteure als auch für Webuser. Somit lassen sich leicht und sehr flexibel Berechtigungen für unterschiedliche Bereiche definieren, wie sie in Intranets und Extranets oder dem Partnerbereich eines Internetauftritts erforderlich sind. Bei der gleichzeitigen Bearbeitung von Inhalten sorgt ein klassischer Sperr-Mechanismus (Locking) dafür, dass nicht mehrere Anwender das gleiche OpenCms Dokument bearbeiten. Das Locking erstreckt sich dabei auch auf Ordner, sodass ganze Bereiche exklusiv gesperrt werden können. Workflow Von Haus aus bringt OpenCms derzeit lediglich Funktionen für die Verteilung und Koordination von Aufgaben mit sich. Hierzu dient das Projektmanagement, mit dem die Pflege von Teilbereichen einer Site delegiert werden kann. Innerhalb der Community existieren derzeit Bestrebungen, eine voll funktionsfähige WorkflowEngine zu integrieren. Ein Beispiel hierfür ist die jBPM-OpenCms Integration, die auf Sourceforge verfügbar ist. Funktionsumfang und Erweiterungen Das Installationspaket von OpenCms besteht aus dem Basissystem sowie einigen optionalen Modulen mit Dokumentation, Demoinhalten und Beispieltemplates. Der Standardumfang enthält somit alles, was für den professionellen Betrieb erforderlich ist. Für Erweiterungen bietet OpenCms einen leistungsfähigen Modul-Mechanismus. Die Anzahl an frei verfügbaren Modulen aus der Community ist jedoch eher gering. Die Firma Alkacon bieten außerdem kostenpflichtige Module mit Erweiterungen für Clustering, Replikation, LDAP-Integration sowie verbesserte Leistung und Datensicherheit. Vorteile und Besonderheiten OpenCms ist im Java Umfeld eines der wenigen ausgereiften Open Source Content Management Systeme. Dort, wo Java aus strategischen Gründen, wegen der sicheren Plattform oder zum Investitionsschutz gefordert wird, kann OpenCms seine Stärken ausspielen. Es bietet ein zuverlässiges Redaktionssystem mit dem die typischen Anforderungen im Web Content Management umgesetzt werden können: - Einfache Bedienung - Mehrfachverwendung von Inhalten und Mehrsprachigkeit 30 - Integration von Backend-Systemen und Frameworks aus dem Java Enterprise Umfeld - Performante dynamische Seitengenerierung durch Caching - Kompaktes, stabiles und zuverlässiges System. Für ein OpenSource System wichtig ist auch der Hinweis auf die bisherige Kontinuität in der Entwicklung von OpenCms sowie die ständig wachsende Community. Nachteile Für Anfänger in der Template Programmierung ist es nach wie vor schwer, über die ersten Schritte mit OpenCms hinaus zu kommen. Dies ist der spärlichen Dokumentation geschuldet sowie der stellenweise unübersichtlichen Systemarchitektur von OpenCms. Das System ist daher derzeit vor allem ein Betätigungsfeld für Agenturen und IT-Dienstleister mit guten Java Kenntnissen. Somit lassen sich auch die wenigen verfügbaren Erweiterungsmodule begründen: Da hier Projekte vornehmlich im Kundenauftrag umgesetzt werden, besteht eher selten die Möglichkeit, einmal geschaffene Funktionen der Allgemeinheit zur Verfügung zu stellen. Natürlich muss sich OpenCms den Vergleich mit Systemen wie dem allseits beliebten TYPO3 gefallen lassen. Im direkten Vergleich schneidet OpenCms zunächst weniger gut ab: Die Community ist vergleichsweise klein, die Dokumentation dünn und Erweiterungsmodule sind Mangelware. Zudem sind die Systemanforderungen an ein Java basiertes System wie üblich höher als bei PHP Lösungen. Wer mal eben schnell eine Website mit ein paar Standardfunktionen umsetzen möchte, ist folglich mit OpenCms schlecht beraten. Das Einsatzgebiet von OpenCms liegt ganz klar dort, wo individuelle Anforderungen in Java umgesetzt werden sollen. Wer das vorhat, erhält mit OpenCms ein ausgereiftes Redaktionssystem mit einer soliden technologischen Basis. Autor: Christian Weber Christian Weber ist Project Manager – Content Management Solutions bei der Nionex GmbH. 31 CMS made simple im Überblick CMS made simple ist ein Open Source CMS, das unter der GPL veröffentlicht wurde und auf allen gängigen Betriebssystemen mit PHP und Datenbankunterstützung (MySQL oder PostgreSQL) lauffähig ist. In der aktuellen Version 1.2.2 bietet das System bereits alles, was man standardmäßig von einem Content Management System erwartet. Die Ähnlichkeit zu weit verbreiteten Blog-Systemen kommt nicht von ungefähr: CMS made simple ist ein sehr junges System und profitiert davon, dass es keinen unnötigen Code-Ballast mit sich herumträgt und eine ambitionierte und gut funktionierende Community vorweisen kann. Dort findet man nicht nur schnell und kompetent Hilfe, sondern auch offene Ohren für die Weiterentwicklung des Systems. Leicht ist CMS made simple von Anfang an: Die Installation wird Schritt für Schritt von einem interaktiven Assistenten begleitet, sodass eine Komplettinstallation mit Demo-Inhalten auch für CMS-Neulinge schon nach wenigen Minuten lauffähig ist. Aufgaben von Webdesignern. Dem Kunden obliegt dann die Pflege der Inhalte und die Erweiterung der Navigation. Genau an diesen Umständen orientiert sich CMS made simple und bietet drei vordefinierte Benutzergruppen, denen man eine Vielzahl von Rechten zuordnen kann. Auf diese Weise bleiben Funktionen zur Template-Erstellung, Benutzerverwaltung und Modul-Verwaltung vor den Augen eines Nur-Redakteurs verborgen und tragen so zur Fokussierung auf das Wesentliche bei: Der Inhaltserstellung und -pflege. Blick in das Back-End für Redakteure Aufbauend auf der Template Engine Smarty bietet dieses CMS maximale Leistung und Flexibilität, die in der Praxis dafür sorgen, dass Anwendern die volle Kontrolle über den ausgegebenen Code behalten, ohne in den kreativen Möglichkeiten eingeschränkt zu werden. Layout, Programmierung und lauffähige Einrichtung einer Website samt CMS sind in der Regel die Was sehr theoretisch klingt, ist Webdesigner-Alltag: Die Ausgabe von Veranstaltungen als Tabelle, Abbildung 24: Administration – Hauptmenü | Im Vergleich dazu rechts: Ansicht „Nur-Redakteur“ CMS made simple unsortierte Liste oder einfach mit Überschrift und kurzem Anleser – alle Varianten sind möglich und zwar ohne Programmierleistung. Wer will, kann sogar alle Varianten realisieren und ist nicht auf eine einzelne Ausgabe-Variante angewiesen. Die Verwaltung von Inhalten, die in mehreren Blöcken auf einer Seite angeordnet sein sollen, ist für viele CMS problematisch. Das beginnt schon bei der Zuordnung der entsprechenden Vorlagen zu den Inhalten und zieht sich wie ein roter Faden bis hin zum Verhalten des Content Management Systems, wenn man von einem mehrspaltigen Layout auf ein einspaltiges Layout umstellt. Benutzerfreundlich und flexibel präsentiert sich CMS made simple in dieser Hinsicht und offeriert dem Vorlagen-Ersteller ohne Programmierkenntnisse zahlreiche Möglichkeiten, die sich alleine mit Worten nicht erklären lassen. Für die Eingabe von Inhalten stehen diverse WYSIWYG-Editoren und Eingabehilfen zur Verfügung und erleichtern dem Redakteur das Erstellen und Pflegen von Texten, Bildern, Tabellen und Links. Bilder und Dateien können dabei in einer zentralen MedienDatenbank abgelegt und organisiert werden, die zukünftig noch weiter ausgebaut werden soll. Abbildung 25: Beispiel – Bildverwaltung Ähnlich flexibel präsentiert sich das System bei Modulaufrufen wie zum Beispiel den Menü-Manager, der gleichsam das wohl wichtigste Modul darstellt und eigentlich zum Kern des Systems gehört. Was simpel klingt, entpuppt sich in der Anwendung als Killer-Applikation für die Aufbereitung und Ausgabe von Navigations-Menüs. Neben zugänglichen Menü-Vorlagen gibt es eine Vielzahl weiterer Navigations-Varianten, die bereits als Vorlagen mit der Standard-Installation geliefert 32 werden. Wer sich ein wenig mit der Smarty-Syntax auseinandersetzt, kann den Menüs weitere Funktionalitäten entlocken und nahezu jeder Anforderung anpassen – man kann den Seitenbaum und den Menü-Manager sogar zur Generierung einer Sitemap benutzen. Selbstverständlich sind unabhängig voneinander operierende Navigationen mit dem Menü-Manager möglich und gepaart mit der Inhalts-Verwaltung bietet er die flexibelste Lösung für alle Aufgabenstellungen aus dem Bereich der Benutzerführung im Bereich der freien Content Management Systeme. Inhalte anlegen und bearbeiten Das Anlegen eines neuen Beitrags erfordert aus dem Hauptmenü zwei Klicks: Zunächst klickt man auf „Seiten“, dann auf „Neue Seite hinzufügen“ und füllt dann die entsprechenden Felder aus. Dabei kann ein Redakteur aus verschiedenen Optionen wählen, beispielsweise ob es sich bei der neuen Seite um eine Inhalts-Seite, einen Link, einen Trenner oder eine Sektion handelt. In der Regel wird es der Typ „Content“ sein, also Inhalt (siehe Abbildungen 26 und 27). Mit weiteren Auswahl-Optionen kann man die Einordnung der Seite im Seitenstrukturbaum festlegen, eine Gestaltungsvorlage zuweisen sowie MetaInformationen, Anzeigeoptionen, Menü-Informationen und vieles mehr festlegen (siehe Abb. 28). Die eigentlichen Inhalte lassen sich mit einem WYSIWYG-Editor formatieren, wobei der Nutzer selbst die Wahl hat, ob und welcher Editor genutzt werden soll. Zurzeit erlaubt CMS made simple acht verschiedene WYSIWYG-Editoren, neben der Eingabe im reinen Textformat bzw. direkt über HTML-Code. Standardmäßig wird das System mit TinyMCE ausgeliefert, wobei es zahlreiche Alternativen gibt, u.a. XStandard, widgEditor oder auch inha/HTMLArea. Alle Editoren erlauben das standardkonforme Erstellen und Bearbeiten von Texten, Bildern, Links und Tabellen. Die Einbindung interner Links sowie das Integrieren von Bildern und Dateien erfolgt über intuitive Dialoge direkt aus CMS made simple heraus. Eine Link-Engine, zur Kontrolle und Verwaltung aller gesetzten Verweise, vermisst man jedoch leider. Verbessert wurde seit Version 1.2 die interne Verwaltung von Bildern und Dateien durch Redakteure. Nun ist es möglich, mehrere Dateien auf einmal aufzuspielen oder zu löschen. CMS made simple Abbildung 26: Seite bearbeiten – Hauptmenü Abbildung 27: Seite bearbeiten – Vorschau 33 CMS made simple 34 Abbildung 28: Seite bearbeiten – Optionen Eine klare Leistungssteigerung haben auch andere Bestandteile des Content Management Systems erfahren, von der Suche bis zum Module-Manager, mit dem man aus dem laufenden System heraus zusätzliche Module installieren oder updaten kann. Bei umfangreicheren Auftritten wäre eine BackEnd-Suche für Medien und Inhalte jedoch nach wie vor wünschenswert. Für den Inhalts-Import gibt es gegenwärtig keine Lösung, sieht man von speziellen Modul-Inhalten ab, die via XML- oder CSV-Datei importiert werden können. Benutzer- und Rechteverwaltung Das Back-End von CMS made simple ist fast schon intuitiv aufgebaut und orientiert sich im Wesentlichen an den drei Basisrollen, mit denen das Sytem ausgeliefert wird: - Redakteure (Inhalts-Orientierung), - Webdesigner (Inhalts- und TemplateOrientierung) - Administratoren (Inhalte, Templates & Verwaltung) Durch ein simples, aber effizientes, Rechtesystem sehen Redakteure nach dem Login nur den Bereich „Inhalte“ und „Meine Einstellungen“, weitere Restriktionen sind ebenfalls möglich. Zudem bietet jeder Menüpunkt die Option zur Hilfe direkt aus dem Wiki, oder aber aus der internen Hilfe-Datei, wenn es zum Beispiel um Module geht. Wie erwähnt, gibt es in der Standard-Version drei Benutzergruppen. Entsprechend sind die Rechte für die einzelnen Gruppen vordefiniert. Zudem gibt es die Möglichkeit, neue Gruppen anzulegen und diesen einzelne Rechte zuzuweisen. Ein Benutzer wiederum wird dann einfach einer Gruppe zugewiesen und erhält die entsprechenden Gruppenrechte (siehe Abbildung 29). CMS made simple 35 Abbildung 29: Berechtigungen Im Inhaltsbereich können zudem noch weitere Rechte pro Inhaltsseite durch den Seiten-Eigentümer vergeben werden. Allerdings schützt CMS made simple gegenwärtig nicht vor dem gleichzeitigen Zugriff und warnt nicht, wenn ein Inhalt oder eine Funktion durch mehrere Benutzer gleichzeitig benutzt werden. fortabel zu verwalten und beliebig zu kombinieren. Dabei steht in allen Bereichen die Funktions-Vielfalt der Templating-Engine Smarty zur Verfügung. Mit Hilfe des Moduls Template-Externalizer können Vorlagen extern mit der bevorzugten Applikation bearbeitet und direkt in CMS made simple getestet werden. Neu seit Version 1.2 ist eine Funktion zur Ausgabe aller Inhalte als PDF-Datei. Layout Das automatische Generieren von beliebig gestalteten Sitemaps ist mit CMS made simple ebenfalls aus dem, bereits vorgestellten, sehr komfortablen Menü-Manager möglich, der standardmäßig mit den bekanntesten Menü-Varianten ausgeliefert wird und der sich ohne großen Programmieraufwand auch auf komplexeste Menü-Strukturen anpassen lässt. Dabei spielt das Ausgabeformat (HTML, XHTML, XML) nur eine untergeordnete Rolle, denn durch die Trennung von Inhalt, Design und Funktion sind beliebige Ausgabeformate möglich. Wie fast jedes Content Management System trennt CMS made simple den Inhalt vom Design und sogar Funktionen werden sauber abgetrennt und auf Wunsch auch von der Präsentationsform unabhängig behandelt. Neben beliebig vielen Seitenvorlagen, die entweder über die Datenbank oder das Dateisystem verwaltet werden können, bietet CMS made simple die Möglichkeit, Stylesheets und Menü-Elemente kom- CMS made simple Multi-Site-Management und Mehrsprachigkeit Schlichtheit bringt auch immer gewisse Grenzen mit sich. Bei CMS made simple bedeutet das derzeit noch den Verzicht auf Mehrsprachigkeit, die sich nur durch die Hintertür realisieren lässt. Echte Mehrsprachigkeit kann nur durch den Einsatz einer nicht offiziellen CMS made simple Version, die im Forum angeboten wird, erreicht werden. Gänzlich unmöglich ist gegenwärtig die Verwaltung mehrer Websites mit nur einer Installation (MultiSite-Management). Beides sind jedoch Optionen für die Weiterentwicklung des Systems und zumindest der Punkt Mehrsprachigkeit wird mit Version 2.0 möglich sein. Workflow In der aktuellen Version gibt es keinen WorkflowEditor und auch keine internen oder externen Benachrichtigungs-Systeme. Zukünftig ist jedoch die Integration eines Workflow-Managements geplant, in welcher Form dies erfolgt, ist jedoch aktuell nicht absehbar. Abbildung 30: Modul-Verwaltung 36 Funktionsumfang und Erweiterungen CMS made simple verfügt über eine eigene Modul-API (in PHP), die nicht nur außerordentlich gut dokumentiert, sondern überdies auch sehr flexibel und sehr einfach zu programmieren ist. Auf diese Weise ist das Einbinden von Modulen in die Administration (und damit in das Rechte-System) innerhalb weniger Stunden möglich, wenn es um einfache Funktionalitäten geht. Neben der Tatsache, dass alle Module über XML installiert werden können, ist vor allem die Bandbreite nützlicher Erweiterungen, die zum Download in der Community bereitstehen, von Bedeutung. Viele Module greifen den flexiblen Grundgedanken wiederum auf und stellen eigene Vorlagen und Einstellungen zur Verfügung und tragen damit zur individuellen Erstellung von Weblösungen auf Basis von Standard-Komponenten bei. Seit kurzem gibt es sogar eine Möglichkeit, Module an die Suchfunktion anzubinden sowie die Einbindung einzelner ModulFunktionen in die bestehende Benutzer- und Rechteverwaltung. Gegenwärtig bestehen keine Schnittstellen zu bekannter Standard-Software, sieht man einmal von einigen Projekten zur Anbindung von osCommerce CMS made simple oder phpList ab, die aktuell von einigen Entwicklern vorangetrieben werden. Die meisten Module können über verschiedene Arten angepasst werden: Neben der individuellen Gestaltung der Ausgabe über Vorlagen (und damit der weiterführenden Trennung von Inhalt, Funktion und Design), können Module durch Eingriffe über Smarty in ihren Funktionen erweitert werden oder Ausgaben verändert. Durch Eingriffe in den PHP-Code besteht zudem die Möglichkeit, Module noch weiter zu individualisieren und diese dann via XML-Export für andere Auftritte mit CMS made simple nutzbar zu machen. Stärken und Schwächen Ein Content Management System, das rund drei Jahre alt ist, darf sich Schwächen leisten – man könnte auch von Kinderkrankheiten sprechen. Die äußerst lebendige und hilfsbereite Community darf man in jedem Fall zu den Stärken des Systems zählen. Davon zeugt nicht zuletzt das ausführliche deutschsprachige Forum mit eigenen Unterbereichen. Wer Fragen hat, findet in der Regel bereits bestehende Antworten oder offene Ohren für neue Lösungen. Schon heute gibt es eine Vielzahl an vorgefertigten Modulen, Tags und Templates. Daraus kann sich jeder Nutzer bedienen und so entweder bestehende Seiten mit Hilfe von CMS made simple umbauen oder neue Websites entwickeln. Einarbeitungszeit, Arbeitsgeschwindigkeit, Flexibilität und Standardkonformität sind weitere eindeutige Stärken. Saubere URLs, wie zum Beispiel /unternehmen/portrait.html statt index.php?id=362&category=1, sind über verschiedene Wege möglich und in der Konfiguration einstellbar. Gleiches gilt für das serverseitige Caching von Seiten mit Hilfe von Smarty, was die Seitenauslieferung und auch die Belastung des Servers reduziert. Der Menü-Manager wurde ja weiter vorne schon gebührend hervorgehoben. Prinzipiell werden Inhalt & Gestaltung voneinander getrennt und dank Smarty bleibt auch die Logik außerhalb der Templates – ein deutliches Plus gegenüber anderen Content Management Systemen. Schwächen offenbart das System vor allem beim Einsatz diverser WYSIWYG-Editoren und den damit einhergehenden Problemen bei der Formatierung 37 von Inhalten, dem Einbinden von Bildern und Datentabellen sowie in der Handhabung von Links und anderen Inhaltstypen. Schmerzlich vermisst wird auch eine Link-Engine zur zentralen Link-Verwaltung und ein erweiterter Media-Manager, der vor allem Redakteuren neue Möglichkeiten zum Auffinden und Katalogisieren von Inhalten und somit eine spürbare Arbeitserleichterung ermöglicht. Die Probleme sind bekannt und werden mit Version 2 weitestgehend behoben sein. Dafür werden gerade die Gleise gestellt, denn ursprünglich war eine Version 1.5 geplant, aber der Kreis um Chefentwickler Ted Kulp hat einen harten Schnitt angekündigt, wobei aber eine gewisse Kompatibilität gewährleistet bleiben soll. Neben verbesserter Performance stehen Workflow-Management und die bereits angesprochene Mehrsprachigkeit ganz oben auf der Aufgabenliste. Hier besteht noch Nachholbedarf gegenüber manch anderem Content Management System. So ist es mit der aktuellen Version nur möglich, verschiedene Benutzer-Rollen selbst zu definieren und dementsprechende Rechte zuzuweisen. Alles nach dem Prinzip der Einfachheit, also gänzlich ohne Freigabe-Mechanismen oder definierbare Arbeitsabläufe. Wie genau die Funktionalität eines solchen Workflows aussehen wird, ist zum gegenwärtigen Zeitpunkt der Entwicklung leider nicht absehbar, geplant ist jedoch die Aufteilung von Rechten in einen PermissionManager und einen EventManager, die möglicherweise sogar miteinander gekoppelt werden können, um einzelne Workflows (Events) in Abhängigkeit von Rechten (Permission) definieren zu können. Ein weiteres Manko: Momentan gibt es nicht für jeden Spezialfall ein eigenes Modul, so dass es zum Teil notwendig ist, eigene Module zu entwickeln. Beispielsweise stellt die Integration eines ShopModuls gegenwärtig ein Problem für die meisten Entwickler dar, da es keine entsprechende Erweiterung gibt. Auch Schnittstellen zu bekannten ShopSystemen aus dem Open Source Bereich sucht man leider vergeblich. Zwar wird an vielen Modulen gearbeitet, wesentliche Fortschritte dauern aber häufig aufgrund der Überlastung vieler Entwickler sehr lange, sodass sich die Entwicklung eigener Module mitunter eher lohnt. In der Frage XHTML oder HTML hat man ein klares Statement zugunsten von X gesetzt. Mit ein paar kleinen Änderungen kann man auch HTML-Seiten CMS made simple ohne X ausliefern, allerdings muss man in diesem Fall bei den meisten Modulen die Standard-Ausgabe-Templates anpassen und ist in der Wahl des WYSIWYG-Editors etwas eingeschränkter, keine echten Nachteile, dafür aber Mehraufwand. Das man mit CMS made simple auf einfache Art und Weise hochwertige Websites unter Beachtung aktueller Webstandards erstellen kann und diese durch den Kunden auch aktuell und standardkonform bleiben, zeigen Positivbeispiele wie Wohnungsbau GmbH Familienhilfe Düsseldorf oder auch die Website der NatKo. Letztere schaffte 2005 die Nominierung für den BIENE-Award und ist ein Indiz für die Standardkonformität des Systems. Seit Version 1.0 ist man in eine stabile Entwicklungsphase eingetreten und hat deutliche PerformanceVerbesserungen und Arbeitserleichterungen für den Redakteur eingeführt. Dazu zählt neben FrontSide-Editing auch die Content-Reorganisation sowie die neue Vorschau, die beide dank AJAX deutlich schneller sind. Empfehlenswert ist CMS made simple für kleine bis mittelgroße Projekte, bei denen wenig erfahrene Internetnutzer als Redakteure tätig sind und Webstandards beziehungsweise Barrierefreiheit eine Rolle spielen. Autor: Ansgar Hein Ansgar Hein beschäftigt sich seit 1994 mit den Anforderungen komplexer Internet-Lösungen und Content Management Systemen. Als Mitgeschäftsführer der Agentur anatom5 und Mitbegründer des Barrierekompass engagiert er sich für barrierefreie Websites. 38 39 PostNuke im Überblick PostNuke ist ein Open Source Web Content Management System der oberen Mittel– klasse und wendet sich an Betreiber von Community- und Unternehmenswebsites. Durch seine Skalierbarkeit lässt es sich für kleinere Sites mit wenigen Seiten ge– nauso wie für größere Sites mit mehreren tausend Nutzern verwenden. PostNuke entwickelt sich in die Richtung eines Application Frameworks. Das bedeutet, dass der Systemkern nur Grundfunktionen der Administration zur Verfügung stellt und alle anderen Funktionen durch Module realisiert werden. Die aktuelle Version 0.764 wird derzeit stark überarbeitet. In Kürze wird die finale Version 0.8 erwartet, die eine verbesserte Datenbank- und Modulunterstützung bietet. PostNuke ist aus dem CMS PHP-Nuke von Franciso Burzi entstanden. Einige Anwender waren damit unzufrieden, dass das System nur von einer Person entwickelt werden konnte. Im Jahre 2001 hat eine kleinere Community von Entwicklern begonnen, auf der Basis von PHP-Nuke ein eigenes System zu entwickeln. Äußerlich erinnert das System noch sehr stark an seinen Vorfahren. Wer die aktuelle Version heute installiert, fühlt sich in die Geschichte der Content Management Systeme zurückversetzt. Die Administrationsoberfläche ist dem des Vorgän– gersystems sehr ähnlich und auch einige StandardLayouts erinnern an alte PHP-Nuke-Zeiten. Die Topics/Categories/Sections-Unterteilung macht gleichfalls einen etwas verstaubten Eindruck. Aber ist PostNuke wirklich veraltet? Abbildung 31: Admin-Bereich einer Standard-Installation PostNuke 40 Blick in das Back-End für Redakteure Inhalte anlegen und bearbeiten Der Core von PostNuke erzeugt keine Tabellen mehr, das eingesetzte Vorlagen-System ist außerordentlich flexibel und begünstigt barrierefreie Layouts. Die PostNuke-Entwickler haben sich hierbei frühzeitig für die Smarty Template Engine entschieden, die eine außerordentliche Flexibilität bei der Gestaltung von Layouts ermöglicht und heute praktisch als Standard für PHP-Anwendungen gilt. Inhalte können wahlweise im WYSIWYG-Modus oder im Textmodus eingegeben werden. Für andere Datei- und Dokumenttypen (Bilder, Filme, PDFs) empfiehlt sich das Modul Mediashare (www.elfisk. dk). Von dort können diese in den Content-Bereich per Mausklick übernommen werden. Da PostNuke von Haus aus nur wenige Möglichkeiten zur Gestaltung von statischen Inhalten bietet, ist die Installation eines Content-Moduls sehr zu empfehlen. Das umfassendste und flexibelste Modul hierzu heißt PageSetter (www.elfisk.dk). Das Modul ermöglicht eine freie Gestaltung sowohl des Back-Ends als auch der Erscheinungsweise des Frontends (siehe Abbildung 32). Layout Templating in PostNuke geschieht mit Hilfe der Smarty Engine. Templates können weitgehend in HTML erstellt und dann mit Smarty-Tags versehen werden. PostNuke unterstützt die Erstellung von Smarty-basierten Templates mit einem eigenen Modul (Xanthia). Ein weiteres Modul (PnRnder) ist für den Aufbau des Layouts aus den Templates verantwortlich. Das Template-System ist sehr flexibel und erleichtert XHTML-Seiten, die WACAAA fähig sind. Abbildung 32: Eine mögliche Gestaltung des Back-Ends (Quelle: www.elfisk.dk) PostNuke Die Navigation kann entweder mit „Bordmitteln“ von PostNuke oder mit Zusatzmodulen realisiert werden. Der Aufbau von Sitemaps, Breadcrumbs und der Navigation erfolgt nicht automatisch in PostNuke. Benutzer- und Rechteverwaltung Das WCMS verfügt über ein detailliertes System der Rechteverwaltung, in dem jeder Nutzergruppe für jede Modulfunktion Rechte in neun Stufen von „keines“, „Übersicht“, „Lesen“, „Kommentieren“, „Moderieren“, „Editieren“, „Hinzufügen“, „Löschen“ bis zu „Administrieren“ vergeben werden. Wenn die Vorlagen standardgerecht eingerichtet sind, sind die Funktionen, für die der Benutzer keine Rechte hat, unsichtbar. 41 Workflow In der aktuellen Version gibt es elementare Work– flow-Funktionen. News-Beiträge können beispielsweise durch entsprechend autorisierte Benutzer freigegeben und zeitgesteuert veröffentlicht werden. Die Version 0.8 enthält eine eigene WorkflowEngine, die für alle Module nutzbar ist. Funktionsumfang und Erweiterungen Obwohl die Entwickler-Gemeinschaft vergleichs– weise klein ist, stehen für PostNuke eine große Anzahl von Modulen zur Verfügung. Sowohl für ein Forum als auch für Gästebücher, Formulare, Wikis, Blogs, Galerien, Shops und viele weitere An– wendungen gibt es ausgereifte Lösungen. PostNuke verfügt über eine eigene Schnittstelle (API) für die Modulprogrammierung. Alle Module können über eigene Templates, Admin-Bereich und Rechtevergabe in Aussehen und Funktion angepasst werden. Abb. 33: Vergabe der Zugriffsrechte bei PostNuke Das Modul der Zugriffsrechte sorgt zusammen mit dem Sicherheitssystem (pnAntiCracker) für einen hohen Sicherheitsstandard des CMS. Alle Angriffe auf das System werden dem Administrator detailliert gemeldet. Mehrfachzugriffe auf den gleichen Content sind nicht möglich. Multi-Site-Management und Mehrsprachigkeit PostNuke ist multisitefähig und kann in mehreren Sprachen arbeiten. Jedes Modul hat eigene Sprach– dateien, die editiert werden können. Bedauerlich ist, dass die Entwicklung einiger Mo– dule wie PostCalendar eingestellt wurde. Neuere Kalender-Module sind im Entstehen. Sie haben jedoch bisher nicht den Funktionsumfang von Post– Calendar erreicht. Die meisten Module gestatten die Gestaltung eigener, smarty-basierter Templates, die an zentraler Stelle hinterlegt werden können, sodass bei einem Modul-Update frühere LayoutVeränderungen erhalten bleiben. Stärken und Schwächen Vorteile: - Multi-Site-Fähigkeit - Mehrsprachigkeit - hoch entwickeltes Sicherheitssystem - detaillierte und sichere Methode zur Vergabe der Benutzerrechte - hohe Robustheit des Core-Systems - Smarty-basiertes Template-System Eignet sich für: - Sites mit hohen Sicherheitsanforderungen - Sites mit detaillierter Benutzerrechte-Vergabe - Sites die einem modularen Aufbau erfordern PostNuke Nachteile: - Knappe Dokumentation - Aufwändige Realisierung von CMS-Standards wie angepasste Navigation, Breadcrumb oder Sitemap - Großer Einarbeitungsaufwand für das Feintuning des Systems PostNuke ist nicht geeignet für: - Kleinere Sites (Installations- und Konfigurationsaufwand wäre vergleichsweise hoch) - Sites, die Datenimport und Export benötigen - Sites, die CMS-Funktionen out-of–the-box erwarten Es gehört zum guten Stil der Projektplanung, zunächst einmal unabhängig von einem konkreten CMS die Anforderungen an ein solches System möglichst genau zu formulieren. Geht man dann an die Auswahl einer konkreten Lösung, sollte man PostNuke als möglichen Kandidaten einbeziehen, wenn man Wert auf ein ausgefeiltes System der Benutzerrechte, ein standardisiertes Template-System und einen hohen Sicherheitsstandard legt und wenn die vorhandenen Module die geforderten Funktionalitäten gut abdecken. PostNuke ist ein flexibles WCMS mit dem sich auch große Sites realisieren lassen. Es eignet sich, vor allem wegen der vorhandenen Module, besonders für Community-Sites oder Sites mit hohen Anforderungen an die detaillierte Vergabe von Benutzerrechten. Für die Verwaltung von Content bietet das System von Haus aus wenige Möglichkeiten. Hierzu sind in der Regel zusätzliche Module (Pagesetter, ContentExpress) nötig, die allerdings, wenn sie einmal richtig eingerichtet und konfiguriert sind, eine komfortable Eingabe von Inhalten ermöglichen. In naher Zukunft steht ein Entwicklungssprung von PostNuke auf die Version 0.8 an, in der man sich von vielen veralteten Elementen getrennt hat. Die Programmierschnittstelle für Module (API) wurde grundlegend überarbeitet und eine Datenbank-Ab– straktionsschicht hinzugefügt, die es ermöglicht mit mehreren Datenbanken zu arbeiten. Wer für die Realisierung eines CMS-Projektes noch Zeit hat, sollte auf die Freigabe der finalen Version voraussichtlich Anfang 2008 warten. Er spart sich damit die Risiken, die mit einem solchen Up– grade auf eine stark überarbeitete Version immer verbunden sind. Autor: Lars Göhler Dr. Lars Göhler arbeitet seit 1993 als freiberuflicher Journalist und PRBerater. Sein besonderes Interesse gilt der Online-PR, sowie der Projektplanung, Entwicklung und Fokussierung von Internetportalen, die auf Web Content Management Systemen basieren. 42 43 basecmp im Überblick Mit der aktuellen Version 2.8.1 des Java-basierten Open Source Frameworks basecmp lassen sich von der klassischen Firmendarstellung über geschützte Intra-/ Extranets bis hin zu einem Internet-Shop und Online-Portal nahezu alle inhaltlichen und funktionalen Anforderungen an eine moderne Internet-Applikation abbilden. Ursprünglich wurde das Java-basierte Open Source Framework basecmp als Ergänzung zu führenden Shop-Systemen konzipiert, um Shopinhalte schnell, flexibel und kostengünstig um redaktionelle Inhalte zu erweitern und redaktionelle Beiträge einer Website individuell mit unterschiedlichsten Katalogdaten zu verknüpfen. Auf die hierfür erforderliche Anpassungsfähigkeit wurde unter anderem das Datenmodell maßgeschneidert und die Business-Logik in hochmodulare Bausteine zerlegt, die je nach Bedarf kombiniert und schnell an die jeweiligen Kundenbedürfnisse angepasst werden können. In den vergangenen Jahren hat sich basecmp kontinuierlich weiterentwickelt. Heute präsentiert es sich als integriertes Content Management- und Shop-System zur Umsetzung von mittleren bis großen Internet-Applikationen, das den Vergleich mit so genannten „Enterprise Content Management Systemen“ nicht zu scheuen braucht. Erreicht wurde dieses Ziel unter anderem durch die konsequente Integration zahlreicher, bewährter Open Source-Komponenten, die basecmp mit seiner Business-Logik und einer eigenen Tag-Library zu einem multifunktionalen Framework vereint. automatische Generierung von Googles SitemapFormat, Statistik-Tool-Einbettung, RSS-Feeds, Web 2.0-Eingabemöglichkeiten, Webservice-Anbindung, Import/Export-Schnittstellen, u.v.m. bietet basecmp von Haus aus. Mit der „basecado“-Solution stehen Entwicklern darüber hinaus eine Fülle einsatzbereiter JSP-Templates zur Verfügung, die unmittelbar in eigenen Projekten verwendet werden können. Generelle Stärken des Systems: Die intuitive Bedienung für die Redaktion, schnelle Umsetzung von individuellen technischen Anforderungen und die Möglichkeit, ein multimandanten-/multidomainfähiges, integriertes Shop- und Website-System auf einer zentralen Plattform zu betreiben. Speziell international agierende Firmen sparen durch diesen integrierten Ansatz eine Menge Geld für Hosting, Wartung und Verwaltung. Blick in das Back-End für Redakteure Das Redaktionssystem von basecmp ist internationalisiert. Der Redakteur kann die Anzeigesprache jederzeit selbst anpassen. Aktuell sind Deutsch und Englisch wählbar, weitere Sprachen lassen sich jederzeit durch die Ergänzung von Übersetzungsdateien hinzufügen. Das Anlegen von Inhalten funktioniert in basecmp wie die Ausführung eines Kochrezeptes: Zunächst werden alle Basiszutaten bereitgestellt und schließlich in einem redaktionellen Artikel „verarbeitet“. Hierdurch wird eine möglichst einfache Bedienung und gleichzeitig ein höchstmöglicher Grad der Wiederverwendung einmal eingegebener Inhalte erreicht. Abbildung 34: Schematischer Aufbau von basecmp und darauf basierender „Lösungen“ Wichtige Funktionalitäten wie Suchmaschinen- und URL-Optimierung, ein Indexserver zur Volltextsuche, Auf der Startseite von basecmp erfasst der Redakteur über einfach gehaltene Eingabemasken in der Adress-/ Medien- und Datenverwaltung zahlreiche „Basisinhalte“ (Firmen- und Personendaten, Dokumente, Bilder/ Flash-Dateien und Videos, Veranstaltung, Publikationen…) und baut so einen basecmp stetig anwachsenden „Datenpool“ für die spätere Verwendung in einer oder mehreren Websites auf (siehe Abb. 35 und 36). basecmp arbeitet mit zwei getrennten Datenbanken für das Redaktionssystem und den Liveserver. Hierdurch bleiben neue und geänderte Inhalte so lange für die Website-Besucher „unsichtbar“, bis sie durch die Redaktion freigeschaltet und somit in den Livebereich übertragen werden. Eine („ToDo“-)Statusliste informiert auf einem Blick über alle Inhalte, die angelegt, aber noch nicht veröffentlicht wurden – ein Klick auf den Namen eines Eintrags führt direkt zu dem Inhalt/zu der angelegten Seite, die nach der redaktionellen Freigabe mit einem Mausklick „live geschaltet“ werden können. 44 Im so genannten „Seitenverzeichnis“ lassen sich im WYSIWYG-Modus beliebige Seiten anlegen, redaktionelle Texte eingeben und überarbeiten, bereits eingegebene Basisinhalte über ein Volltextsuchmodul einbinden, die Navigationsstruktur per Drag&Drop verändern und schließlich über einen redaktionellen Workflow freischalten (Abb. 37). Selbstverständlich ist der Inhalt vollständig vom Layout getrennt: Der Redakteur kann jederzeit die gewählten Layout-Darstellung ändern (z.B. von einem zweispaltigen auf einen dreispaltigen Seitenaufbau). Abbildung 35: Die Redakteur-Ansicht der basecmp-Startseite ermöglich eine schnelle Orientierung. Für Chefredakteure, Domain-Verwalter und Administratoren erscheinen automatisch erweiterte Eingabemenüs. basecmp 45 Abbildung 36: Eingabemaske einer Veranstaltung als „Basisinhalt“, der über eine Verknüfung oder als Teil einer automatisierten Liste mehrfach (auch über mehrere Websites hinweg) verwendet werden kann. Inhalte anlegen und bearbeiten Die Eingabemöglichkeiten für Texte lassen sich je nach Design und Einsatzgebiet der Website individuell anpassen. Um eine Seite anzulegen, reicht ein Klick auf den entsprechenden Button und basecmp legt (im WYSIWYG-Modus) automatisch einen neuen Navigationspunkt mit einem neuen Seitenelement an dem zuvor ausgewählten Navigationsknoten an. Die Navigationsreihenfolge und -hierarchie lässt sich jederzeit per Drag&Drop verändern, der „Name“ des Navigationspunktes über eine einfache Textbox editieren und bei Bedarf anzuzeigende Navigations-Bilder und/oder Stylesheet-Angaben festlegen (Abb. 37). Um Inhalte einzugeben, muss eine vorhandene Seite von einem Redakteur zunächst „zur Bearbeitung“ markiert werden. Hierdurch erscheinen Bearbeitungsmarken an allen relevanten Stellen der Seite, gleichzeitig wird die Seite für alle anderen Redakteure schreibgeschützt dargestellt, bis sie explizit wieder freigegeben wird oder der zuständige Redakteur sich ausloggt. Bei neu angelegten Seiten geschieht dieser Prozess automatisch. Mit der Markierung „zur Bearbeitung“ erscheinen in der Vorschau der Website automatisch Bearbeitungsmarken, über die sich eine Headline/ ein oder mehrere Fließtexte eingeben oder vorhandene Basisinhalte (die „Rezeptzutaten“, wie Bilder, Dateien u.ä.) per Volltextsuche auswählen und verknüpfen lassen. basecmp 46 Abbildung 37: Das „Seitenverzeichnis“ zur Bearbeitung von Seiteninhalten im WYSIWYG-Modus. Zur Unterstützung der redaktionellen Bearbeitung ist der „FCK-Editor“ in das basecmp-Backoffice integriert, sodass sich auch innerhalb von Fließtexten Formatierungen, Tabellen, Stilvorlagen, Sonderzeichen, Bilder und interne wie externe Links über die basecmp-Verknüpfungsfunktionen verwenden lassen. Speziell für Entwickler bietet basecmp das so genannte „HTML-Snippet“ als besonderen Basisin– halt. Über ein Snippet kann beliebiger Quellcode (HTML, Javascript) ebenfalls in Fließtexte eingebunden werden, ohne dass das System oder der WYSIWYG-Editor Veränderungen vornimmt. Wie alle Basisinhalte kann so auch ein Snippet (beispielsweise ein Javascript mit Countdown) flexibel über das Redaktionssytem in mehreren Seiten und auf mehreren Websites eingesetzt werden. Alle eingebundenen Basisinhalte werden durch das basecmp-System verwaltet. Bindet ein Redakteur beispielsweise ein Bild, einen Internetlink, eine Download-Datei auf einer oder mehreren Seite ein, wird lediglich eine Referenz auf den Basisinhalt gespeichert. Eine Änderung des Originals verändert automatisch alle Referenzen (auch über mehrere Websites hinweg). Multi-Site-Management und Mehrsprachigkeit Das basecmp-System ist multimandanten- und multidomainfähig. Hierdurch lassen sich beliebig viele Websites innerhalb einer basecmp-Installation anlegen und (sofern gewünscht) von derselben oder basecmp explizit voneinander getrennten Redaktionen pflegen. Die Inhalte der Mandanten sind voneinander getrennt, alle hochgeladenen Dateien und Bilder werden auf dem Server in unterschiedlichen Verzeichnissen abgelegt. Für den Redakteur und Administrator ist dieses Multi-Site-Management absolut transparent. Sofern dem RedaktionssystemBenutzer entsprechende Rollen und Zugriffsrechte eingeräumt wurden, kann dieser durch einfaches Umschalten in einem Dropdown-Menü die aktuell bearbeitete Website und den aktuellen Mandanten schnell auswählen und wechseln. Abb. 38: Umschaltung zwischen Mandanten und Domains Innerhalb eines Mandanten werden Daten „geshared“, das bedeutet, dass alle eingegebenen Basisinhalte (sofern gewünscht) auch über mehrere Websites hinweg mehrfach verwendet werden können. Auf diese Weise lassen sich beispielsweise Kontaktdaten zu Ansprechpartnern im Unternehmen oder Bilder sehr effizient einsetzen, aber auch aus einmal importierten Artikel-Stammdaten automatisiert beliebig viele Themenshops aufbauen. Zwischen verschiedenen Sprachvarianten gibt es im basecmp-System keinen „1:1-Zwang“, jede Sprachversion wird als eigene Website betrachtet und kann daher einen komplett eigenständigen Navigationsbaum und eigenständige Inhalte haben. Sofern gewünscht, kann eine direkte Verlinkung zu einem Artikel der jeweils anderen Sprachversion innerhalb des Redaktionssystems (über eine Verknüpfung) hergestellt werden, ansonsten wird der WebsiteBesucher beim „Umschalten der Sprache“ automatisch auf die Homepage geleitet. Auf diese Weise unterliegt es der redaktionellen Freiheit, einen Artikel, einen Pressetext oder eine Produktbeschreibung in zusätzlichen Sprachversionen anzulegen, oder nicht. Layout Der Aufbau von Templates erfolgt mit StandardJSP-Technik, durch die das Layout vom Inhalt, aber auch von der Business-Logik entkoppelt ist. 47 basecmp verwendet die Struts-Tiles-Technologie, um selbst große Layout-Template-Bestände aus „Bausteinen“ zusammensetzen zu können und auch in diesem Punkt einen größtmöglichen Grad der Wiederverwendung zu erreichen: Hierbei werden in eine Standard-Layout-Vorlage alle Elemente über Template-Dateien inkludiert und individuell zusammengesetzt. Das Layout-Template kann der Redakteur einfach im Seitenverzeichnis festlegen und so jederzeit aus einer Pressemitteilung eine Veranstaltungsseite machen oder beispielsweise eine themenabhängige Darstellung seines Artikels auswählen. Beim Template-Aufbau kommt eine weitere wichtige basecmp-Philosophie zum Tragen: Zum Aufbau einer Standard-Website oder eines Standard-Shops sollen „Frontend-Entwickler“ kein JAVA programmieren müssen! Zu diesem Zweck liefert basecmp mehrere eigene Taglibraries, mit denen sich beispielsweise Artikel anzeigen lassen, die Navigation dynamisch bereitgestellt wird, Basisinhalte und Verknüpfungen abgefragt, Listen dynamisch generiert werden können oder ein Warenkorb individuell befüllt wird. Der Aufbau mehrsprachiger Templates lässt sich mithilfe von einfachen Übersetzungs-Textdateien (sogenannter „Ressource-Bundles“) bewerkstelligen, in den Templates sind dann lediglich anstelle der Texte die entsprechenden Variablen als „Format-Tag“ (<“fmt:>“) vorzusehen. Die Navigation generiert sich zu 100% automatisch aus den eingegebenen Inhalten, ebenso die Sitemap oder die von basecmp bereitgestellte Datei im „Google Sitemap“-Format zur optimierten Anmeldung beim Suchmaschinen-Marktführer Google. Hierdurch lassen sich individuelle Navigationsbäume auf der Website verwenden, bei Bedarf die Haupt- von der Subnavigation trennen, eine Meta-Navigation dynamisch verwalten, uvm. Zum Aufbau und für die serverseitige Validierung von Formularen setzt basecmp ebenfalls Struts-Technologie ein. Hierbei lassen sich bei internationalen Projekten sämtliche Feldnamen, Fehlermeldungen u.ä. ebenfalls über die o.g. Ressource-Bundles in der jeweiligen Landessprache ausgeben. Benutzer- und Rechteverwaltung In der Basiskonfiguration sind die wichtigsten Systemrollen bereits eingerichtet, die sich Nutzern der Website und des Redaktionssystems individuell zuweisen lassen. 48 basecmp Gruppe/Rolle Beschreibung Everybody: Der (unregistrierte) Website-Besucher, hat in der Regel „Leserecht“ auf alle Website-Inhalte (sofern nicht durch die Redaktion anders festgelegt) Hat Zugang zum Redaktionssystem Der „Redakteur“, darf Basisinhalte und Seiten anlegen und verändern Der „Chefredakteur“, darf Inhalte publizieren, Kategorien verwalten, die Navigationsstruktur verändern und Seiten löschen Darf neue Layouts einbinden, Gruppen und Benutzer verwalten, Domain- und Applikationsvariablen ändern Hat über alle Mandanten hinweg alle Zugriffsrechte, darf u.a. Workflows editieren Darf Systemparameter verändern Darf (als registrierter) Website-Besucher Inhalte eingeben und die ggf. geschützen Inhalte anderer Website-User einsehen Backoffice-User: Editor: Editor in Chief: Domain-Admin: Administrator: Developer: Website-User: Über diese bereits vordefinierten Systemrollen lassen sich weitere Gruppen definieren und so Gruppen-individuell der Lese- und Schreibzugriff auf alle eingegebenen Inhalte steuern. Eine geschützte Internet-Seite lässt sich im basecmp sehr einfach realisieren: Sobald der Gruppe „Everybody“ das Leserecht entzogen wird, erscheint im Frontend automatisch ein Login-Fenster, ab sofort haben nur doch die Benutzer jener Gruppen Zugriff, für die explizit ein Leserecht eingeräumt wurde. Über die Gruppen-basierte Rechtevergabe hinaus bietet basecmp eine sogenannte „ACL“-Funktionalität. Hierbei kann der Redakteur per „Suchen und Verknüpfen“-Funktion zusätzlich einzelne Benutzer festlegen, die Lese- und/oder Schreibzugriff auf einen Inhalt haben sollen. Workflow Der redaktionelle Freischaltmechanismus („Workflow“) ist bei basecmp frei definierbar, die einzelnen Arbeitsschritte mit individuellen Gruppenrechten und eigener Business-Logik verknüpfbar. Jeder Inhalt verfügt über eine eigene Statusanzeige, die Weiterschaltung benötigt lediglich einen Klick (siehe Abbildung 37, „Aktueller Bearbeitungsschritt ist“). In der Standard-Konfiguration sind die folgenden, linearen Workflows vorgesehen: Workflow Bemerkung Jede Änderung wird sofort auf der Website „sichtbar“ Standard: (Working > Ready to Launch > Published > Expired) Liveschalten darf nur die Gruppe „Editor in Chief“ Live Trusted: Inhalt, der über die Website eingegeben wurde und sofort „sichtbar“ ist. Live Validated: Inhalt, der über die Website eingegeben wurde und im Redaktionssystem freigeschaltet werden muss (Registrierungen, Gästebucheinträge…) Always Live: Alle Inhalte die eingegeben wurden und noch nicht „live“ sind, erscheinen automatisch in der ToDoListe des jeweiligen Redakteurs. Alle Inhalte mit dem Status „Ready to Launch“ erscheinen automatisch in einer zweiten Liste, die ausschließlich Chefredakteuren angezeigt wird. Von dort lassen sich die Inhalte direkt aufrufen (auch Seiten im Seitenverzeichnis) und liveschalten oder ggf. mit einem Kommentar versehen und in die ToDo-Liste des Redakteurs „zurücklegen“. Beim Liveschalten überprüft basecmp automatisch alle eingebundenen Inhalte auf deren Workflow. Sind beispielsweise Bilder in einen Text eingebunden, die ihrerseits noch nicht livegeschaltet wurden, informiert ein Warnfenster über diesen Umstand – dort kann der Redakteur diese „abhängigen“ Inhalte direkt liveschalten. basecmp Eingebette bzw. verknüpfte Inhalte werden beim Weiterschalten des Workflows automatisch überprüft und können bei Bedarf in dem Hinweisfenster direkt livegeschaltet werden. Funktionsumfang und Erweiterungen Seit Einführung der Version 2.5 verfügt basecmp über eine erweiterte Plugin-Schnittstelle, über die eigene Funktionen, Klassen, Basisinhalte, Eingabemasken, Übersetzungsdateien und Konfigurationen der Standard-Installation hinzugefügt werden können. Durch die Architektur dieser Schnittstelle ist gewährleistet, dass Erweiterungen nicht mit dem jeweils nächsten basecmp-Update überschrieben werden. Ab Version 2.9 werden sich Erweiterungen dem System als „eigenständige Applikationen“ jederzeit hinzufügen und auf Domain-Basis freischalten lassen. Hierdurch können zukünftig einzelne Module (wie beispielsweise eine Projektverwaltung, Stundenerfassung, Kundendatenbank) als Erweiterung für basecmp entwickelt und unabhängig vom Hersteller vertrieben werden. Speziell die Anbindung/Integration weiterer Software-Module und externer Dienstleister lassen sich dank XML-basiertem Import/Export und SOAPWebservice-Schnittstelle vergleichsweise einfach bewerkstelligen – basecmp wurde bereits vielfach an Katalogsysteme, Warenwirtschaft, Konto-Prüfservices, Ticketing-Systeme, Foren-Software uvm. „angeschlossen“, der Austausch der Daten erfolgt wahlweise Live (per Webservice oder „http-get“Befehl) oder Zeitgesteuert (Import/Export von XML-Daten). Vorteile und Besonderheiten basecmp ist multimandanten- und multidomainfähig und lässt sich daher besonders gut in mittleren bis größeren Projekten mit mehreren Websites/ Shops/ Intranets/ Extranets einsetzen. Die Flexibilität des Datenmodells und der BusinessLogik hat sich in den vergangenen Jahren sehr gut bei hoch-individuellen und technisch anspruchsvollen Projekten bewährt, bei denen Informationen mehrerer Fremdsysteme (Katalogsystem, Seminarverwaltung, Warenwirtschaft...) in einer Website vereint wurden. 49 Nicht zuletzt vereint die JAVA-Plattform entscheidende Vorteile in sich: - der sehr hohe Grad an Standardisierung - die Verfügbarkeit zahlreicher, gut dokumentierter Open-Source-Frameworks - die vollständige Trennung von Layout, Inhalten und Business-Logik - der höchstmögliche Grad an Wiederverwendung einmalig entwickelter Komponenten - die hohe Verfügbarkeit an sehr professionellen Entwicklern weltweit - die sehr gute Skalierbarkeit - der vergleichsweise hohe Grad an Sicherheit - und somit der langfristiger Investionsschutz Nachteile Die Generik des basecmp-Systems erfordert von unerfahrenen Entwicklern ein gesundes Abstraktionsvermögen. Profis kommen erfahrungsgemäß sehr schnell mit den implementierten Klassen, Libraries und gut dokumentierten Open Source-Frameworks zurecht. Die Dokumentation ist bis dato nur teilweise in Englisch verfügbar, weshalb die Einsatzmöglichkeit internationaler Entwicklerteams begrenzt ist oder eine enge Zusammenarbeit mit dem Hersteller erforderlich wird. Autor: Arne Wiehe Arne Wiehe ist Geschäftsführer der basecmp Professional Web Solutions und verantwortet die Bereiche Business Development und Beratung. 50 AxCMS.net im Überblick AxCMS.net ist ein zu 100% .NET-basiertes Enterprise Content Management System zur einfachen Erstellung und Pflege von Internet-, Intranet- und ExtranetApplikationen. Zielgruppe sind mittlere und große mittelständische Unternehmen ebenso wie Global Player. Dabei ist AxCMS.net branchenunabhängig. Das AxCMS.net besteht aus einem Framework und einem Template-Projekt. Während das Framework die Software der Axinom GmbH ist, wird das Template-Projekt als Visual Studio Projekt im Source Code zur freien Nutzung durch den Kunden ausgeliefert. Framework und Sample Projekt werden von Axinom Kunden, Partnern und Interessenten vollständig kostenfrei zur Verfügung gestellt. Mit der aktuellen Version 7.0 bietet Axinom exklusiv für Partner über das frei verfügbare Standard Sample Projekt hinaus ein Premium Sample Projekt an, das eine Vielzahl fertiger Module und Funktionalitäten zusammen mit einem sehr wertigen Seitentemplate bietet. Dieses kostenpflichtige Premium Sample erleichtert die Entwicklung mit AxCMS.net und ermöglicht so die schnelle und effektive Umsetzung kundenindividueller Applikationen Abbildung 40: Redaktion bearbeiten Blick in das Back-End für Redakteure Die Bedienung des Systems erfolgt über den Webbrowser (IE oder Firefox in der aktuellen Version). Der Redakteur arbeitet in Listenübersichten oder im WYSIWYG-Modus direkt in der Webseite. Die Steuerung von AxCMS.net erfolgt dabei über eine stets eingeblendete Linkleiste am oberen Bildrand (siehe Abbildung 40). Um einen neuen Beitrag in Form einer Seite mit Texten, Bildern etc. anzulegen, kann der Redakteur auf seiner Startseite individuelle Boxen einmalig anlegen. Über diese Boxen kann er dann einfach und schnell neue Seiten anlegen und anschließend mit Inhalten befüllen. Im Beispiel eine Newsseite (siehe Abbildung 41), die als normale Webseite mit Texten und Bildern befüllt und dann über Kategorien mit Überschrift und Beschreibungstext automatisch in einer Newsliste abgebildet wird. AxCMS.net Abbildung 41: Newsseite 51 AxCMS.net 52 Im ersten Schritt trägt der Redakteur die benötigten Daten wie Bezeichnung, Vorlage, hinterlegten Navigationspunkt, Überschrift etc. in die Box zur Erstellung einer Newsseite ein. Mit dem Speichern der eingetragenen Daten erscheint ein Link auf den Content Editor. Der Redakteur hat jetzt die neue Seite angelegt und kann über den Link Inhalte in die Seite einpflegen. Das geschieht über Platzhalter. Mit Hilfe der sogenannten Element Box kann der Redakteur auswählen, was er einfügen will - die Box markiert die Platzhalter, an denen er das gewünschte Element einfügen kann. Dabei kann der Redakteur je nach Template unter Umständen auch Einfluss auf die Struktur der Seite nehmen. Inhalte anlegen und bearbeiten Hat der Redakteur alle Inhalte in die Seite eingefügt, kann er die Seite mit einem Knopfdruck publizieren. Hier kann bei Bedarf ein mehrstufiger Publikationsprozess zwischengeschaltet werden. Die Bildverwaltung ist in das Dokumentenmanagement integriert. Bilder können nach verschiedensten Kriterien verschlagwortet, kategorisiert und durchsucht werden. In Übersichtslisten werden Bilder mit Vorschau-Thumbnails dargestellt (siehe Abbildung 43). Über zugewiesene Kategorien kann der Artikel automatisch in Listen abgebildet werden. Der Listenbeitrag verlinkt dann auf die jeweilige Artikelseite. Abbildung 42: Texteditor Der integrierte Text-Editor erlaubt das einfache Erstellen und Ändern von Texten mit AxCMS.net (siehe Abbildung 42). Über Styles können Formatierungen definiert werden, die über den Text-Editor genutzt werden können. Grundlegende Formatierungen für Links, Tabellen und andere Struktur- und Inhaltselemente werden über Styles definiert, die über die Templates zugewiesen werden. Bilder können über definierte Formate im System skaliert werden. Dabei wird vom Original eine Kopie im gewünschten Format erstellt, das Original bleibt im System erhalten. Bilder und Dokumente jeder Art können einzeln oder per Zip-Upload in das Dokumentenmanagement importiert werden. Alternativ ist über WebDav eine Integration von Objekten aus dem AxCMS. net in den Windows Explorer möglich, sodass Bilder AxCMS.net 53 Abbildung 43: Bildverwaltung und andere Dokumente einfach über den Explorer in das Dokumentenmanagement geladen und bearbeitet werden können. Dabei werden die Dokumente automatisch kategorisiert und können so direkt in Listen abgebildet oder verwaltet und organisiert werden. Multi-Site-Management und Mehrsprachigkeit AxCMS.net erlaubt die Wiederverwendung von Inhalten auf verschiedenen Ebenen. Beliebig viele Websites in verschiedenen Sprachen können über eine Installation des AxCMS.net verwaltet werden. Dabei können komplett unterschiedliche Templates eingesetzt werden, es ist aber auch möglich, identische Teplates mit verschiedenen Styles zu nutzen. Dadurch können komplett befüllte Seiten in verschiedenen Sites mit unterschiedlichen Styles abgebildet werden (siehe Abbildung 44). Einzelne Inhaltselemente (Texte, Bilder, Dokumente) werden als Objekte in der Datenbank angelegt und können so auf verschiedenen Seiten eines Web- auftritts referenziert werden. Diese Inhalte können anschließend zentral bearbeitet werden. Dabei kann ein Inhaltselement an einer Stelle, an mehreren Stellen oder an allen Stellen geändert werden. Mehrsprachige Web-Auftritte werden über Relationen zwischen einzelnen Seiten gesteuert. Dadurch können einerseits Inhalte in verschiedenen Sprachversionen auch in unterschiedlichem Layout und in verschiedenem Umfang abgebildet werden, andererseits erlaubt dieses Prinzip die einfache Organisation und Verwaltung verschiedener Sprachversionen eines Webauftritts. Layout AxCMS.net arbeitet als komplett .NET-basiertes CMS mit .aspx-Templates. Dabei trennt AxCMS. net Layout und Inhalt vollständig. Templates werden mit Visual Studio erstellt, wobei AxCMS.net mit einem Template Projekt ausgeliefert wird, das als Grundlage zur Entwicklung kundenindividueller Templates dient. Dieses Template Projekt beinhaltet auch einen Sitemap Generator. AxCMS.net 54 Abbildung 44: Multi-Site-Management Das Platzhalterprinzip des AxCMS.net erlaubt das Erstellen konsequent restriktiver Templates ebenso wie das offener Templates, die dem Redakteur bei der Gestaltung der Seiteninhalte relativ viele Freiheiten lassen. Die Navigation ist vom Inhalt/von den Seiten getrennt und wird redaktionell gepflegt. Dabei können Navigationen je nach Template über beliebig viele Ebenen erzeugt werden. Auch können verschiedene, voneinander unabhängige Navigationen auf einer Seite eingebunden werden. Einzelne Navigationspunkte können ebenso wie ganze Navigationsbäume redaktionell erstellt, bearbeitet und verschoben werden. Links gehen dabei auf Seiten und bleiben in jedem Fall konsistent. Der Sitemap Generator erzeugt auf Basis der Navigation eine Sitemap, die in einem frei definierbaren Layout in der Präsentation abgebildet werden kann. Benutzer- und Rechteverwaltung Das AxCMS.net bietet ein umfangreiches Rollenund Rechte-Modell, das neben einer genauen Zugriffssteuerung auch das Etablieren mehrstufiger Publikationsworkflows erlaubt. Das System wird mit einer vorkonfigurierten Einstellung der Rollen und Rechte ausgeliefert. Über eine mitgelieferte Matrix können die einzelnen Rollen angepasst oder komplett neue Rollen definiert werden. AxCMS.net bietet die Rechte „Edit“, „Publish“ und „Control“. Diese Rechte werden standardmäßig anhand der Navigation vergeben. Zusätzlich ist aber die Zuweisung der Rechte über Kategorien oder als Urheberrecht möglich. Ein integrierter CheckIn/Out Mechanismus dert zusätzlich zu Rechten und Rollen das zeitige Bearbeiten eines Inhaltselements Bilder, Dokumente...) durch verschiedene teure. verhingleich(Texte, Redak- Workflow Über die Rechte und Rollen des Systems lassen sich mehrstufige Workflows im AxCMS.net einrichten. Der Freigabezyklus kann dabei frei definiert werden. Die Benachrichtigung der in den Freigabezyklus involvierten Redakteure erfolgt wahlweise systemimmanent oder mittels E-Mail. Optional ist auch eine Benachrichtigung via anderer Kanäle wie SMS implementierbar. AxCMS.net Funktionsumfang und Erweiterungen AxCMS.net bietet ein kommentiertes API, das die Anbindung anderer Applikationen ebenso erlaubt wie die Entwicklung eigener Funktionen und Module. Es wird mit einem Standard Template Projekt ausgeliefert, das zahlreiche Module enthält und als Visual Studio Projekt die Basis für Eigen- und Weiterentwicklungen bietet. Darüber hinaus bietet Axinom Teilnehmern des AxCMS.net Partnerprogramms ein umfangreiches Premium Template Projekt an, das vom Forum über Banner-Controls oder Listenmodule bis hin zu Umfrage- und Formular-Editor eine Vielzahl weiterer Module in einem Visual Studio Projekt mitbringt. Vorteile und Besonderheiten AxCMS.net ist ein sehr leistungsfähiges Enterprise Content Management System, das Features aus Bereichen wie Cross Media Publishing, Dokumenten Management, Collaboration, Multimedia Management, Customer Relationship Management und vielen anderen bietet. Das ausgelieferte Framework stellt mit seiner integrierten Business Logik, dem kommentierten API und dem umfangreichen Template Projekt unter Ausnutzung der Microsoft .NET-Technologie die ideale Basis für den schnellen und effektiven Aufbau kundenindividueller Internet-, Intranet- und Extranetapplikationen dar. AxCMS.net wird von der Axinom GmbH komplett kostenfrei zur Verfügung gestellt. Es kann auf der Website heruntergeladen und sofort eingesetzt werden. Die Axinom GmbH als Hersteller steht für den Einsatz im kommerziellen Umfeld bei Bedarf als kompetenter Dienstleister für Implementierung, Weiterentwicklung und Support des Systems zur Verfügung. AxCMS.net eignet sich für den Aufbau anspruchsvoller E-Commerce Web-Applikationen. Komplexe Shoplösungen mit Anbindung an Warenwirtschaftssysteme oder aufwändige Produktkataloge könneneffektiv und kostengünstig umgesetzt werden. Große, multinationale Internetauftritte sind eine weitere Domäne von AxCMS.net. Multisitefähigkeit, Mehrsprachigkeit und zahlreiche weitere Features ermöglichen die einfache Umsetzung von Extranets 55 und Internetpräsentationen international agierender mittelständischer und großer Unternehmen. Die optionale Einbindung unterschiedlichster Medienformate in Verbindung mit Nutzung modernster Technologien wie Web 2.0, MCML oder Silverlight machen AxCMS.net zum idealen Tool für die Errichtung von Multimedia Portalen. Grundsätzlich ist AxCMS.net weder auf Branchen noch auf bestimmte Einsatzbereiche beschränkt. Nachteile Aufgrund seiner Leistungsfähigkeit und des Funktionsumfangs ist AxCMS.net für Privatanwender und kleinere Unternehmen schwierig zu händeln. Die Trennung von Management- und Live-System in Verbindung mit der .NET-Basis erfordert eine entsprechende Hosting-Umgebung, die von den großen Hosting-Anbietern normalerweise nicht als Standard angeboten wird. AxCMS.net eignet sich nicht für Privatanwender oder kleine Unternehmen, die über kein .NETKnowhow verfügen und die keine oder nur sehr beschränkte Mittel in die Einführung und den Betrieb Ihrer Internet- oder Intranet-Applikation investieren können. Es eignet sich nicht für Unternehmen, die auf Microsoft-Technologie basierte Software grundsätzlich ablehnen. Es eignet sich nicht für Anwender, die auf der Offenlegung des kompletten Source Codes einer Software bestehen. Autor: Damir Tomicic Geschäftsführer Axinom GmbH Business Development Microsoft Regional Director 56 eZ Publish im Überblick eZ Publish ist sowohl ein sofort einsetzbares Open Source Content Management System als auch eine Plattform für anspruchsvolle Projekte, zum Beispiel in den Bereichen Web-Publishing, Media Portals, Intranets, E-Commerce und Extranets. Ein Grund, warum es weltweit von viele Organisationen eingesetzt wird, liegt in den niedrigen TCO (total cost of ownership) in Kombination mit professioneller Herstellerunterstützung und einem für den Einsatz in mittleren und großen Unternehmen ausgelegten Funktionsumfang. Hierzu gehören etwa Versionierung, Multi-Language-Support, eine leistungsfähige Template-Engine sowie eine flexible Erweiterung und Integration des Systems über Plugins. eZ‘s Enterprise Open Source Geschäftsmodell schafft ein flexibles Kostenmodell für den Anwender. Neben den Mitgliedern der Community hilft in puncto Stabilität, Funktionalität und Fehlerfreiheit auch ein professionelles Partnernetzwerk. Insofern kombiniert eZ Publish die Vorzüge des Open Source Entwicklungsansatzes (schnell, offen und innovativ) mit der Verlässlichkeit eines Enterprise Software Modells, das dem User Vorteile wie ganzheitliche Produktverantwortung sowie Wartungs- und Support-Dienstleistungen durch den Hersteller bietet. Abbildung 45: Architektur Die Flexibilität des eZ Publish Content-Modells garantiert, dass Webseiten unterschiedlichsten Content verwalten können – angefangen von simplen Artikeln, über Produktkataloge mit integriertem Webshop und ERP-Anbindung bis hin zu Film- und Kinodatenbanken wie etwa premiere.fr. Die maximale Anzahl an Datenobjekten ergibt sich dabei allein durch hardwareseitige Beschränkungen. In Verbindung mit dem integrierten Caching System und dem Cluster Support (also der Möglichkeit, die Last auf mehrere Server zu verteilen und somit eine hohe Anzahl Nutzer gleichzeitig zu bedienen) kann eZ Publish entsprechend der Unternehmensanforderungen skalieren. Klassische Web 2.0 Funktionen wie Blogs, Wikis, RSS und dynamischer, von Nutzern generierter Content helfen beim Aufbau von einladenden Websites. Blick in das Back-End für Redakteure Die Basis eines jeden CMS ist das Content Modell – die Art und Weise, wie das System Inhalte (Content) definiert, organisiert und wie diese Inhalte anschließend mit der Bedienoberfläche interagieren. eZ Publish trennt dabei klar zwischen den Inhalten und dem Design (eine wesentliche Anforderung, der mitunter oft zu spät Beachtung geschenkt wird) und ermöglicht somit nachträgliche Designanpassungen, ohne das die eigentlichen Inhalte hiervon betroffen sind. Es ermöglicht auch die Wiederverwendung von Content in unterschiedlichen Kontexten und für unterschiedliche Medien (z.B. Inhalte für Online- und Print-Magazine). eZ Publish stellt bereits eine Vielzahl vorkonfigurierter Content-Typen mit der Standardinstallation bereit. Hierzu gehören z.B. Artikel, Bilder, Video, Binärdateien und Dokumente mit ihren Meta-Informationen, Blogs, Foren, Polls, Kommentare und Kalender. Neben der Nutzung und Anpassung vorhandener Content-Typen wird auch der Aufbau und die Pflege eigener Content-Typen zur Laufzeit unterstützt. eZ Publish Wenn es um den Erfolg eines CMS-Projektes geht, kommt der Benutzerfreundlichkeit der Bedienoberfläche große Bedeutung zu. Denn abgesehen von der Navigation, beeinflusst die Gestaltung der Bedienoberfläche den User maßgeblich dabei, ob er effizient arbeiten und damit produktiv am Aufbau der Seite partizipieren kann. eZ Publish bietet dafür zwei Bedienoberflächen: Eine, um Inhalte zu erstellen und zu editieren (Website-Interface, Abb. 46). Und eine zweite - umfangreichere - für die Administration von Inhalten, Nutzern, Nutzergruppen und deren Rechten (Administration-Interface, Abb. 47). Inhalte anlegen und bearbeiten Die Erstellung und Pflege von Content ist bei eZ Publish nicht allein auf die Mittel der browsergestützten Bedienoberfläche eingeschränkt. Während so mancher Content sicher auf diese Weise erzeugt wird (und somit vom CMS eine benutzerfreundliche Bedienoberfläche bereitgestellt werden muss), trägt eZ Publish auch dem Umstand Rechnung, dass Inhalte aus den unterschiedlichsten Quellen und in den unterschiedlichsten Formaten vorliegen. Aus diesem Grund ermöglicht eZ Publish zum Beispiel den Im- und Export aus Open Office und Microsoft Word, den Up- und Download von Dateien mittels Drag&Drop – hier erscheint das CMS quasi als Datei- und Ordnerstruktur (WebDAV) – als auch die Erzeugung von Content zum Beispiel über Abbildung 48: Online-Editor 57 RSS. Diese Funktionalität basiert auf Schnittstellen zur Anwendungsprogrammierung (API), die den Industriestandard XML unterstützen, und ermöglicht die zusätzliche Integration mit Design-Tools wie Adobe InDesign und QuarkXpress. Cross-Media Publishing ist bei eZ Publish Standard. Der Online-Editor Der Online-Editor ist ein WYSIWYG Editor. Bei eZ Publish ist er sowohl in das Frontend des WebsiteInterface als auch in das Backend des Administration-Interface integriert (siehe Abb. 48). Er bietet, ähnlich wie bei einem Textverarbeitungs-Programm, Formatierungsfunktionen inklusive dem Erstellen, Bearbeiten und Löschen von Tabellen, Links und Bildern. Der Editor erlaubt außerdem das Fett-, Kursiv- oder Hochstellen von Texten, sowie das Hochladen und Einbetten von Dateien. Anwender können somit vertraute Technologie nutzen, um Hervorhebungen oder andere Auszeichnungen vorzunehmen. Der Einarbeitungsaufwand wird dadurch deutlich reduziert. Der Im- und Export von OOo und MS Word Dokumenten Die Microsoft Word und OpenOffice.org Importbzw. Export-Funktion erlaubt dem Nutzer, Content in einem Textverarbeitungsprogramm zu erstellen oder zu bearbeiten. Damit wird auch ein Offline-Arbeiten möglich. Um zum Beispiel Artikel zu aktualisieren, können Dokumente anschließend entweder eZ Publish Abbildung 46: Website-Interface Abbildung 47: Administration-Interface 58 eZ Publish 59 mit einem WebDAV-Client oder über das Frontend der Website hochgeladen werden. Dieses Feature bewahrt einfache Formatierungen des vorgegebenen Quell-Dokumentes, inklusive Links, Tabellen, Bilder, Kopfzeilen, Listen und Abgrenzungen in Textbereichen. Multi-Site-Management und Mehrsprachigkeit eZ Publish gestattet es, jeden Content gleichzeitig an verschiedenen Orten des Internet-Auftritts zu veröffentlichen und in andere Zusammenhänge einzubetten. Zum Beispiel kann ein Bild in der eZ Publish Media-Library hinterlegt und anschließend in vielen Artikeln sowie auf der Front-Page der Seite genutzt werden. Auf die gleiche Art und Weise kann ein Artikel in unterschiedlichen Bereichen der Site erscheinen. Wann immer dieser Artikel modifiziert wird, werden die Veränderungen an allen Orten des Internet-Auftritts reflektiert und somit die Konsistenz der Information gewährleistet. Abbildung 50: Mehrsprachigkeit Über die Community werden auch qualitativ hochwertige Übersetzungstabellen für andere Sprachen wie zum Beispiel Japanisch, Russisch oder Polnisch zeitnah verfügbar gemacht. Abbildung 49: Multi-Site-Management Shared Content wird auch über unterschiedliche Sites, die auf der Basis einer Installation realisiert werden, unterstützt. So kann eine Installation zur Verwaltung mehrerer Websites mit gemeinsamen (shared) Content eingesetzt werden. Das eZ Publish RSS-Modul ermöglicht es, von überall in der Content-Hierarchie Feeds zu erstellen oder RSS-Inhalte fremder Seiten einfließen zu lassen. Um Websites mit Inhalten in mehreren Sprachen sinnvoll zu unterstützen, muss ein CMS sowohl die Übersetzung der Bedienoberfläche als auch die Übersetzung der Inhalte unterstützen. eZ Publish bietet nativen Multi-Language-Support. Mit jedem Release werden so genannte Translation Tables für die gängigsten Sprachen (wie Deutsch und Französisch) zum Download bereitgestellt Textbasierter Content – zum Beispiel ein Artikel – kann natürlich ebenfalls in verschiedene Sprachen übersetzt werden. eZ Publish verwaltet dabei alle Übersetzungen als eine Instanz desselben Content-Objekts, was es wiederum ermöglicht, Übersetzungen in Workflows und Übersetzungsprozesse einzubinden. Eine internationale Organisation verfügt meist über einen Internet-Auftritt in mehreren Sprachen. Wählt der Besucher eine Sprache aus, werden die Menüs und Inhalte in der entsprechenden Sprache dargestellt. Mit der eZ Publish Bedienoberfläche wird die Pflege und Verwaltung von Übersetzungen deutlich erleichtert. Sollte für ein Inhaltsobjekt einmal keine Übersetzung existieren, kann entsprechend der Systemkonfiguration nichts oder eine vordefinierte Sprachvariante angezeigt werden. Funktionalitäten wie automatische Benachrichtigung, Workflows oder eZ Publish Content-Diff (siehe unten) unterstützen dabei den gesamten Übersetzungsprozess im Unternehmen oder in Zusammenarbeit mit externen Agenturen und Übersetzungsbüros. Durch entsprechende Systemerweiterungen ist auch die Anbindung externer Dienste wie z.B. SDL Trados mit dem Translation-Memory möglich. Bei hoher Qualität kann hier eine quasi voll automatisierte Übersetzung von Inhalten erfolgen. Abbildung 51: Beispiel automatisierte Übersetzung Berechtigungen können so definiert werden, dass nur Nutzer mit den notwendigen Rechten in eine bestimmte Zielsprache übersetzen können. Die Versionsverwaltung sorgt dafür, dass auf frühere Versionen in der jeweiligen Sprache zurückgegriffen werden kann. eZ Publish unterstützt den UNICODE UTF-8 Zeichensatz und gewährleistet so die Unterstützung mehrsprachiger Internet-Auftritte auf der Basis eines Zeichensatzes. Die eZ Find Extension ermöglicht die sprachabhängige Suche. Layout eZ Publish trennt zwischen Inhalt und Design. Während der Content intern im XML-Format in einer Datenbank gespeichert wird, wird das Seiten-Design via Templates (dazu wird die eZ Publish Template-Sprache genutzt) und CSS-Dateien definiert. Content wird so einmalig – also nicht redundant – zentral gespeichert und kann in unterschiedlichsten Formaten wie PDF, RSS, Print oder E-Mail publiziert werden. Darüber hinaus wird durch diese Trennung eine effiziente Arbeitsteilung zwischen Editoren und Designern unterstützt. eZ Publish speichert Inhaltselemente als Objekte, die durch Knoten (Nodes) in der Content-Hierarchie repräsentiert werden. Die daraus resultierende baumartige Struktur ermöglicht sowohl die Generierung einer Google kompatiblen Sitemap als auch die Wiederverwendung und interne Referenzierung von Content-Objekten. So kann im einfachsten Fall ein Content-Objekt vom Typ Ordner Unterelemente 60 vom Typ Artikel enthalten, aber auch einen Eintrag im Produktkatalog Verweise auf technische Datenblätter und Komponenten. Der Aufbau der Content-Objekte basiert auf Strukturen, die als sogenannte Content-Klassen spezifiziert werden. Jede Klasse definiert dabei die Attribute und die zugehörigen Datentypen. So kann eine Auto-Klasse zum Beispiel die Anzahl an Sitzen oder eine News-Klasse die E-Mail-Adresse des Autors als Attribut definieren. Neben Standarderweiterungen des Herstellers wie eZ Newsletter (einer professionellen NewsletterLösung), eZ Flow (einer dynamischen Seiten-Layout-Planung insbesondere für die Medienindustrie) oder eZ Find (einer Erweiterung zur Integration unternehmensweiter Suchergebnisse), existieren Standardadapter zu LDAP, Lotus-Notes, Paymentund ERP-Systemen wie SAP und Microsoft Dynamics. Benutzer- und Rechteverwaltung Auf den meisten Websites verfügen nicht alle Nutzer über die gleichen Zugriffsrechte. Während einige Besucher auf die komplette Seite zugreifen können, werden die Zugriffsrechte anderer Nutzer auf bestimmte Abschnitte beschränkt. Gleiches gilt auch für die Editoren. Während einige Zugriff auf den gesamten Content haben, sind andere auf die Erstellung und Pflege bestimmter Bereiche beschränkt. Das eZ Publish Rechtesystem ist vielschichtig und Rollen basiert. Das bedeutet, dass einem Nutzer oder einer Nutzergruppe der Zugriff zu einer ganzen Kombination an Funktionen auf der gesamten Seite oder auch nur zu einem spezifischen Teil oder zu einzelnen Content Typen eingeräumt werden kann. Man kann auf drei vordefinierte Gruppe und Rollen (Anonymous, Administrator und Editor) zurückgreifen oder weitere Nutzergruppen frei definieren (siehe Abb. 52). Bei der Bearbeitung von Content durch mehrere Benutzer schützt das integrierte Versionsmanagement Inhalte vor gleichzeitigem Zugriff. Workflow Der „Workflow” definiert eine Sequenz von Aktionen, die beim Eintreten eines definierten Systemzustands (Event) abgearbeitet werden. Ein Beispiel aus dem Publication Workflow: Editoren können via E-Mail benachrichtigt werden, wann im- eZ Publish 61 Abbildung 52: Benutzer- und Rechteverwaltung mer ein anderer Editor Inhalte verändert hat. Dies kann dann weitere Handlungen auslösen (wie z.B. Übersetzungen). Per Admin-Interface ist dieser Workflow, ebenso wie zum Beispiel ein Worklow zur Freigabe von Inhalten, nach dem 4-Augen-Prinzip frei definierbar. Funktionsumfang und Erweiterungen - Funktionsumfang einzusehen unter: http://ez.no/de/ezpublish/feature_overview - Zertifizierte Erweiterungen unter: http://ez.no/products/certified_extensions - Community Erweiterungen unter: http://ez.no/developer/contribs Vorteile und Besonderheiten eZ Publish setzt als Plattform konsequent bewährte Technologien, Methoden und Standards wie XML, Objektorientierung und Skalierung in einem durchgängigen Systemmodell um. Durch die Bereitstellung von leistungsfähigen und doch einfach zu bedienenden Werkzeugen kann der Aufbau und die Administration einer Website mit einem Bruchteil des Aufwands im Vergleich zu herkömmlichen Systemen erzielt werden. Verkürzte Innovationszyklen durch die Zusammenarbeit mit der Community bei gleichzeitiger Herstellerunterstützung und freiem Zugang zum Source Code garantieren ein Maximum an Investitionsschutz. Nachteile Bisher waren viele Informationen zu eZ Publish nur in englischer Sprache verfügbar. Durch den Aufbau internationaler Niederlassung kann jedoch davon ausgegangen werden, dass sich dies schnell bessert – siehe einige jüngst erschienene, deutschsprachige Bücher oder dieser Artikel. 62 Da sich eZ in der Vergangenheit stark auf mittlere bis große Unternehmensanwendungen fokussiert hat, gilt es in Deutschland – im Gegensatz zu anderen Ländern – noch als offizieller Geheimtipp. Es existiert eine durchaus optimierbare, deutschsprachige Community-Seite; hier würden wir uns über eine engagierte Mithilfe freuen. Autor: Ralf Rutke Nach langjähriger Tätigkeit in der Entwicklung, Beratung sowie im Vertrieb von Integrationstechnologien und Enterprise Content Management Lösungen leitet Ralf Rutke heute als Geschäftsführer die eZ Systems GmbH mit Sitz in Dortmund. Co-Autor: Peter Keung Peter Keung studierte erfolgreich BWL und hat sich als angesehener Redakteur inzwischen komplett dem Open Source Gedanken verschrieben. generell dynamisch Betriebssystem, Webserver, keine, nur ein Browser als Datenbank, Webrowser Frontend Generierung: Weitere Software für den Betrieb: Weiterführende Links: Beispielwebsites: PHP-Templates mit JavaScript/CSS/HTML nein eingeschränkt, ab Ver. 1.5 einfaches Workflowsystem statische Templates, die dynamisch gefüllt werden ja, TinyMCE, weitere unterstüzt wie bspw. JoomlaFCK, TMEdit, JCE, integrierte Bildverwaltung einfaches Rollensystem mit vordefinierten Gruppen und Rechten http://uni.zeit.de www.nordhessenweb.de http://blog.debatte.welt.de www.ajax-net.de http://musicbox.sonybmg.com www.joomlaos.de/webseiten http://www.drupal.org www.joomla.de http://groups.drupal.org www.joomla.org http://planet.drupal.org www.joomlaos.de Multi-Site-Management: ja Mehrsprachigkeit: ja Workflow: integriertes Workflow- und Versionsverwaltungsystem Layout/Templating: Themes xhtml standard konform und barrierefrei, Colorpicker mit Livevorschau Inhalt/WYSIWYG: ja, alle gängigen Editoren wie bspw. TinyMCE, HTML Area, FCKEditor, Texteingabe per xmlrpc Benutzer- und frei definierbar, fein Rechteverwaltung: granulierbar Webserver: xmlrpc, blogapi‘s, mit phpMyAdmin, MySQL und Zusatzmodule XML, CSV, SQL-Statements diverse HTML Varianten, PDF alle Apache, alle Webserver mit MySQL/PHP-Unterstützung Schnittstellen: PHP PHP Skriptsprache: 1.0 / 1.5 angekündigt Linux, Windows MySQL 5.3 unabhängig MySQL, PostgreSQL Joomla! Version: Betriebssystem: Datenbank: Drupal RSS-Export für Gästebuch/ Kommentare und Kalender möglich Apache, IIS aktuelle Version 2.4.7 unabhängig MySQL, MySQLi, Oracle nicht getestet: MSSQL, PostgreSQL, Sybase PHP5, JavaScript TYPOlight WebDAV, serverseitiger XML Export / Import, Shell Java Server Pages (JSP) 7.0.3 unabhängig MySQL, Oracle, MSSQL, Postgres, DB2, HSQL OpenCMS www.typolight.de www.typolight.de/wiki www.typolight.de/forum www.opencms.org http://opencms-wiki.org www.nionex.de www.duerkopp-adler.com frei definierbar, fein granulierbar frei definierbar, fein granulierbar frei definierbar, fein granulierbar www.unicef.de www.weimar.de www.aida.de www.typo3.net www.typo3forum.net www.typo3.org ja, FCKEditor, integrierte Bild- und Dateiverwaltung ja, TinyMCE ja, Richtext-Editor (RTE), alternativ auch andere Apache oder IIS in Kombination mit einem Applicationserver i.d.R. dynamische Generierung Dynamische Seitenerzeugung Dynamisch mit Caching mit konfigurierbaren Caching, mit leistungsfähigem Cache oder statischer Export (konfigurierbar für statischer Export der Inhalte Mechanismus Teilbereiche und Inhaltstypen auch möglich gleichzeitig möglich) Clientseitig lediglich ein Web- Clientseitig ist lediglich ein empfohlen: GraphicsMagick Browser erforderlich Web-Browser erforderlich oder ImageMagick, GDlib/ Freetype, zlib, Apache mit mod_gzip/mod_rewrite, PHPcache (z.B. PHP-accelerator / Zend Accelerator, nur unter UNIX/LINUX) ja ja ja ja ja ja nein Live- und Entwurfsworkspace, nein weitere frei definierbar XHTML, CSS, integrierter Java Server Pages (JSP), TypoScript, TemplaVoila CSS-Editor Taglib Apache, IIS und andere stabile Version 4.1.3 Unix, Linux, Windows, Mac MySQL, Oracle, Postgres und einige andere dank Datenbankabstraktion PHP4 und PHP5 (zukünftig nur noch PHP5) Schnittstellen für alle gängigen Austauschformate TYPO3 63 PHP, Templating-Engine Smarty XML-Schnittstelle (Import & keine Export von Modulen und Inhalten), je nach Modul weitere Schnittstellen (z.B. CSV-Import/-Export) keine Begrenzung, solange PHP & Datenbanken unterstützt werden generell dynamisch, via Smarty aber auch serverseitiges Caching, jedoch kein Export statischer Seiten keine bzw. je nach Modul entsprechende PHP-Bibliotheken Schnittstellen: Webserver: Generierung: Weitere Software für den Betrieb: www.cmsmadesimple.org http://wiki.cmsmadesimple.org http://forum.cmsmadesimple.org http://dev.cmsmadesimple.org Benutzer- und Rechteverwaltung: Beispielwebsites: Weiterführende Links: Inhalt/WYSIWYG: Templating-Engine Smarty, integrierter Menü-Manager ja, TinyMCE und andere wie bspw. XStandard, widgEditor, Xinha/HTMLArea, zentrale Mediendatenbank drei vordefinierte Gruppen und Rechte, weiter frei definierbar Layout/Templating: Multi-Site-Management: nein Mehrsprachigkeit: nein, ab Vers. 2.0 Workflow: nein, ab Vers. 2.0 JavaServer Pages Standard Tag Library (JSTL), eigene Taglibs XML-basierter StandardImport/Export, WebserviceAnbindung 2.8.1 Linux, Unix, MacOS, Windows MySQL basecmp eZ Publish kommentiertes API, definierte Schnittstellen zu: MS SharePoint, Navision, SAP, MS Office, Accantum 3.10 / 4.0 angekündigt Linux, Microsoft, andere wie MacOS, Solaris, Free-BSD MSSQL MySQL, PostgreSQL, Oracle und weitere als kostenpflichtige Partnerlösungen alle von ASP.NET unterstütz- PHP4 für Version 3.X ten Sprachen PHP5 für Version 4.X 7.0 Windows AxCMS.net umfangreiches PHP API, unterstützte Standards SOAP, WebDAV, XML, RSS, HTML, PDF, CSV, OpenOffice, weitere Schnittstellen über Systemerweiterungen Apache beliebige, PHP-fähige Windows 2000 Server, Win- Apache dows XP Professional oder Windows Server 2003 Dynamische Seitenerzeugung, AxCMS.net publiziert generell dynamisch generell dynamisch, mit Caching über eigenen .aspx-Dateien: Dynamische zahlreichen Caching FunktiObjektcache, integriertes Elemente werden bei jedem onen einzelner Teilbereiche Open Symphony CachingSeitenaufruf aktualisiert, der Seite; Static Caching Framework während Inhalte statisch ermöglicht aber auch die in die Seite eingebunden Erzeugung statischer Seiten werden Java-Applikationsserver keine keine empfohlen wird ImageMagick, (getestet: Tomcat, Jetty) APC / eAccelerator, cron Daemon; Je nach Erweiterung weitere Software möglich ja ja ja ja ja ja ja ja vier Workflows vordefiniert, elementar, ab Vers. 0.8 mehrstufige Publikationsfrei definierbar weitere frei definierbar workflows definierbar Java Server Pages (JSP), Templating-Engine Smarty .NET-basiertes CMS mit eZ Publish Template-Sprache Struts-Tiles-Technologie .aspx-Templates und CSS empfohlen ist die Integration ja, FCKEditor integrierte Text-Editor, inte- ja, integrierter eZ Publish von Content-Modulen bspw. grierte Bildverwaltung Online Editor PageSetter sowie Mediashare (www.elfisk.dk) vordefinierte Gruppen Rechtevergabe in neun vorkonfigurierten Einstellung drei vordefinierte Gruppen und Rechte, weitere frei Stufen, hoch entwickeltes der Rollen und Rechte, über und Rechte, weiter frei defidefinierbar Sicherheitssystem mitgelieferte Matrix können nierbar, fein granulierbar die einzelnen Rollen angepasst oder komplett neu definiert werden www.steria-mummert.de www.maclife.de http://www.lindner.ag http://tagesschau.sf.tv http://live.bawi.iquer.net http://www.pro-fsj.de http://wiso.buhl.de http://linuxmagazin.de www.hellermanntyton.de http://www.philivision.de http://www.werbewoche.ch http://www.premiere.fr www.basecmp.de www.pn-cms.de http://www.axcms.de http://ez.no www.postnuke.com http://www.axcms.de/Forum. http://ezpedia.org http://demo.pn-cms.de AxCMS www.ezpublish.de PHP, JavaScript und AjaxElemente MySQL und ab PostNuke 0.8 beliebige Datenbanken Skriptsprache: Datenbank: 0.764 unabhängig 1.2.2 Linux, Unix, FreeBSD, Windows, Mac OS X MySQL, PostgreSQL PostNuke Version: Betriebssystem: CMS made simple 64 65 Contentmanager.de ist eine Produktion von: Verlag für Online-Fachmagazine F&P GmbH - FEiG & PARTNER Tannengrund 2 D - 04827 Leipzig-Machern GERMANY Tel: Fax: +49 - 700 - 21 20 19 00 +49 - 700 - 21 20 19 01 Website: www.feig-partner.de Redaktion: Kontakt: [email protected] Chefredakteur: Oliver Zschau (V.i.S.d.P.) Titelbild: www.sxc.hu