Im Wesentlichen werden CMS heute noch oft als erweiterte Dokumenten Management Systeme aufgefasst, die spezialisiert sind auf die Präsentation von Inhalten in online-tauglichen Formaten für verschiedenste Endgeräte, wie Webbrowser, Mobiltelefone oder PDAs (Personal Digital Assistant). Viele der Features lehnen sich darum an Funktionen an, die im Bereich „Dokumenten Management“ schon seit Jahren üblich sind. Trotzdem weisen Content Management Systeme viele Besonderheiten auf, die aus ihrem besonderen Einsatzgebiet Internet und dessen Evolution resultieren. Das Internet entwickelt sich stürmisch von einer Präsentationsebene hin zu einer eBusiness-Infrastruktur.
CMS müssen deshalb vielfältige Funktionalitäten zur Verfügung stellen um ihrer Aufgabe gerecht zu werden. Der Hersteller eines bestimmten CMS muss Schwerpunkte setzen und kann kaum den ganzen maximal möglichen Funktionsumfang zur Verfügung stellen. Zumal bei jeder Implementierung auch ein kundenspezifischer Anteil anfällt. Modularität, die Fähigkeit zur Integration im Unternehmen bereits vorhandener Komponenten sowie die Möglichkeit kundenspezifischer Erweiterungen sind deshalb wesentliche Gesichtspunkte. Dabei kommt es einerseits darauf an, häufig anzutreffende Standardfunktionalitäten schnell und sicher (out-of-the-box) bereitzustellen, anderseits eine nahtlose Erweiterbarkeit sicherzustellen. Nahtlos bedeutet hier, das Leistungsmerkmale wie Zugriffsrechte, Templating, Caching usw. nicht nur für die Standardfunktionen sondern genauso auch für die Erweiterungen zur Verfügung stehen. Das erfordert ein übergreifendes Content Management Framework, das als API (Application Programming Interface) zur Entwicklung von Erweiterungen verwendet werden kann.
Modularität darf auch nicht zu inhaltlichen Brüchen – beispielsweise zwischen informellen Content und Produkten in einem Shop – führen. Hier vollzieht sich der Übergang zum Content Infrastruktur System. Der Contentbegriff wird sehr allgemein gefasst, der gesamte Content-Lifecycle wird abgebildet. Der Einsatz von Standardsoftware darf jedoch auch nicht zu austauschbaren Ergebnissen (z. B. News mit Kontaktformular und Gästebuch) führen. Jede Website soll - obwohl ähnliche Funktionen anzutreffen sind - unverwechselbar und einzigartig sein.
Nachfolgend eine Kurzübersicht über die wichtigsten Funktionalitäten eines CMS.
Ein weiteres zentrales Merkmal eines CMS ist die getrennte Ablage der einzelnen Komponenten, bzw. der digitalen Assets einer Website wie etwa Textblöcke, Bilder, Links oder noch besser ganzen Objekten wie beispielsweise einen Kontakt. Da die einzelnen Objekte nur einmal abgelegt sind und mehrfach referenzierbar sind, können diese dann sehr effizient und schnell an einem zentralen Ort verwaltet und bearbeitet werden. Die Änderungen sind dann nach Freigabe auf allen Seiten aktualisiert, auf denen die entsprechenden Objekte referenziert werden. Die einzelnen digitalen Assets werden entweder in einer Dateistruktur oder aber in einer Datenbank abgelegt. Datenbanken ermöglichen eine sicherere Kontrolle der Zugriffe und der Verwendung der Assets, z.B. kann ein Löschen von verwendeten Assets verhindert werden. Bei beiden Varianten können zum eigentlichen Inhalt Zusatzinformationen (Metainformationen) erfasst werden. Einerseits umfassen diese Zusatzinformationen Eigenschaften oder Attribute für den Publishing-Workflow, so zum Beispiel das Ablegen verschiedener Versionen, Berechtigungen, Veröffentlichungs-/ Verfalldatum, Unterstützung mehrerer Sprachen usw. Andererseits beziehen sich diese Attribute auf Metadaten, welche sowohl intern als auch extern eine Katalogisierung der Komponenten erlauben und damit eine bessere Personalisierung und effizientere Suchmöglichkeiten gestatten. Eine der Hauptaufgaben eines CMS ist es, das Editieren der einzelnen digitalen Assets zu vereinfachen. So sollte ein CMS die herkömmlichen Tools und Arbeitsumgebungen von Autoren und Programmierern unterstützen. Neben der Integration solcher Tools sollte aber zumindest für Autoren von Content auch die Möglichkeit bestehen, Änderungen ohne die Installation zusätzlicher Software und über Firewalls hinweg direkt im Webbrowser vorzunehmen. Letztlich unterstützt die Verwendung von digitalen Assets die automatische Qualitätskontrolle (z. B. Link- und Versionsüberprüfung) und die Generierung weiterer Inhalte wie etwa Sitemaps, Indexseiten, Content-Rotation bis hin zu dynamischen Kategorien, A-Z Index und kontextsensitiven alternativen Navigationen. Zu Beginn des World Wide Web wurden Inhalte, bzw. Informationen fest mit der Formatierung (HTML-Code) und Programmierung (Java Skript) einer Internetseite verknüpft. Dieser statische Aufbau von Websites ist nicht sehr aufwendig zu erstellen, erweist sich aber bei Änderungen als sehr unflexibel und aufwendig und ist damit für große Websites mit hohem Änderungsbedarf ungeeignet. Wesentlich mehr Möglichkeiten als bei der Codierung von Webseiten in HTML ergeben sich durch die Entkopplung von Information und Darstellung. So werden Webseiten beim Zugriff oder vorher durch ein CMS dynamisch erstellt, indem die Inhaltsdaten und mit der passenden Darstellung (definiert in sogenannten Templates, d.h. Gestaltungsvorlagen) verknüpft werden. Dadurch wir eine sehr hohe Flexibilität und auch eine höhere visuelle Konsistenz bewirkt. Bei fortgeschritten CMS kann dieser Ausgabemechanismus weitestgehend zur Laufzeit beeinflusst und gesteuert werden. So ist es möglich auf bestimmte Eigenschaften des Benutzer zu reagieren. So zum Beispiel auf dessen Zugriffsrechte oder Ausgabegerät / Browser (PC, PDA, WAP,Microsoft Internet Explorer, Netscape, Opera, Firefox) mit der Auswahl eines unterschiedlichen Ausgabeformates. Die entsprechenden Fallunterscheidungen müssen entweder programmiert werden oder intelligente serverseitige Controls (Microsoft .NET) übernehmen diese Aufgabe. Inhaltsdaten können aus verschiedensten Quellen gelesen werden, z.B. Verfügbarkeiten aus einer Warenwirtschafts-Datenbank, Nachrichten von anderen Webseiten oder Kundendaten aus einer CRM-Anwendung. Dies gewährleistet ein hohes Mass an Flexibilität bei Funktionalität, Gestaltung und Aufbau der Websites. Ein weiterer Vorteil der Verwendung von Templates besteht darin, dass die Inhalte weitestgehend medienneutral und ohne Darstellungsinformationen aber mit Struktur- und Metainformationen in einer Datenbank abgelegt werden. Damit bieten sich durch die Verwendung unterschiedlicher Templates vielseitige Exportmöglichkeiten insofern dies vom Content her möglich ist (z.B. Auflösung, Farbraum) zum Crossmedia Publishing (WWW, WAP, Webservice, CD-Rom, PDF, Print etc.). Die Definition von Templates ist meist abhängig vom System. Momentan etablieren sich XML (Inhalt) und XSL (Template). Hier sind Systeme im Vorteil, die zwar diese Standards unterstützen, jedoch trotzdem einen möglichst einfach zu bedienenden Template Editor (WYSIWYG) enthalten. Eine effiziente Verwaltung großer Websites lässt sich nur durch einen genau definierten Publishingprozess ereichen, welcher mehrere Personen- und Funktionsgruppen umfasst. Dies bedingt Mechanismen im CMS, welche den Workflow (Ablauf der Arbeitsschritte) des Publishings im System abbilden. Die Arbeitsteilung beim Publishingprozess wird durch die Definition von mehreren Rollen im CMS festgelegt. Jeder dieser Rollen im Publishingprozess werden dann aufgabenspezifische Rechte zur Bearbeitung von Teilen des Systems eingeräumt sowie entsprechende Automatismen und Tools zur Verfügung gestellt. Neben der Definition der einzelnen Rollen wird dann im CMS auch eine Freigabe-, Kontrollkette für die einzelnen Inhalte festgelegt. Damit diese Freigabekette auch eingehalten wird, sollte ein CMS eine redaktionelle Planung mittels Aufgabenlisten, Statusanzeigen der einzelnen Arbeiten sowie Benachrichtigungsmöglichkeiten (z.B. per E-Mail) beinhalten. Durch die Abbildung des Workflows im CMS werden so einerseits Verantwortungsbereiche präzise definiert und andererseits eine optimale Qualität des Ergebnisses sichergestellt. Konkret sieht dies häufig so aus, dass Administratoren alle Rechte über die Systemeinstellungen erhalten, Chefredakteure (Content Masters) Zugriff auf die Sitestruktur bekommen und über die definitive Freischaltung von Inhalten bestimmen und die einzelnen Rubrikredakteure (Content Owners, Editors) nur für ihre spezifischen Rubrikseiten Schreibrechte erhalten. Die Freigabekette gestaltet sich dann so, dass ein Rubrikautor einen Artikel erstellt und nach selbständiger Prüfung in einer Vorschauansicht diesen dem Chefredakteur zur Vorlage zuweist. Der Chefredakteur prüft dann den Artikel und weist ihn entweder zurück oder akzeptiert ihn, worauf der Artikel schließlich freigeschaltet und veröffentlicht wird. Technisch werden diese Informationen in einer Matrix beschrieben, wobei die Personen bzw. Gruppen, welche die Arbeiten ausführen (Rollen), die eine und die oben genannten Assets (Module bzw.Objekte) die zweite Dimension darstellen. An allen Schnittpunkten (Feldern der Matrix) werden in einer dritten Dimension die gewährten Rechte bezeichnet, so zum Beispiel „darf ändern“, darf neu anlegen“ oder „darf löschen“. Durch diese Abbildung des Workflows im CMS ergeben sich Bereiche und Arbeitsgruppen mit unterschiedlichen Zugriffsrechten. Besonders flexibel sind hier Systeme, die eine sehr feine Definition dieser Rechte ermöglichen, z.B. nicht nur auf Seitenebene sondern auch für einzelne Inhaltsbereiche oder gar Objekte wie Dokumente, Links, Kontakte usw. Bei mehrsprachigen Websites ist sogar die Vergabe von Rechten auf Sprachvarianten eines Objektes sinnvoll, da diese in der Regel von unterschiedlichen Personen gepflegt werden. Allerdings sollten sich solche Rechte sinnvoll zusammenfassen lassen, z.B. zu Richtlinien (Policies). Dann sind sie einfacher zu Handhaben. Ein CMS muss natürlich über ein entsprechendes Sicherheitsmanagement verfügen, welches die Sicherheit des Systems umfassend gewährleistet und externe Systeme wie LDAP-Verzeichnisse (z.B. Active Directory) oder Autorisierungsmechanismen von Betriebessystemen (Windows Login) einbindet. CMS sollten den Import und die Eingabe von Informationen möglichst breit unterstützen. Ein CMS sollte im wesentlichen die folgenden Standards beim Import von Dokumenten unterstützen: Textdateien, Word- bzw. Officedokumente sowie XML-Dokumente. Die Einbindung externer Datenbanksysteme sollte ebenfalls möglichst breit unterstützt werden. Mindestens eines, besser aber mehrere der folgenden Systeme sollten unterstützt werden: Oracle DBMS, Microsoft SQL-Server, Informix, Sybase, IBM DB2 oder MySQL. Diese Einbindung kann über verschiedene Schnittstellen wie ODBC, JDB oder native erfolgen. Letztlich sollte ein CMS auch den Import bestehender Sites offline (Spidering) oder online (Embedding) möglichst gut unterstützen. Einschränkend muss hier allerdings darauf hingewiesen werden, dass herkömmliche (unter Verwendung von HTML entwickelte) Sites nicht immer ohne weiteren Aufwand importiert werden können, da oft keine automatische Trennung von Inhalt und Formatierung möglich ist. Die Integration externen Contents auch zur Laufzeit (z. B. Pressemeldungen oder Nachrichten) sollte durch die Unterstützung von Webservices (XML/XSL) möglich sein. Selbstverständlich sollte es möglich sein, die Inhalte, die bereits im CMS liegen, anderen Systemen ohne großen Programmieraufwand auf der Basis von Standards (XML, RSS) zur Verfügung zu stellen, z.B. über Webservices oder Export. Eine bestehende Infrastruktur für eMail oder Aufgaben (Exchange, Notes etc.) sollte verwendet werden können. Erweiterbarkeit und Modularität Die wenigsten Websites sind heute noch Insellösungen. In zunehmendem Maße müssen in einem CMS Informationen aus anderen Systemen über unterschiedlichste Schnittstellen integriert werden. Dabei sind die beiden Aspekte inside-out (das CMS ruft eine externe Anwendung auf) aber auch outside-in (Funktionen des CMS werden von außen aufgerufen) wichtig. Grundvoraussetzung für eine flexible Erweiterbarkeit eines CMS ist eine klare Objektorientierung oder mindestens die Offenlegung der API (Application Programming Interface) durch den Hersteller, welche es gestattet dem CMS eigene Applikationen und Funktionalitäten hinzuzufügen. Zudem müssen standardisierte Client-/Server-Mechanismen wie DCOM, RMI, SOAP oder Corba unterstützt werden. Zusätzlich benötigte Funktionalitäten in der Anwendung lassen sich durch die Verwendung von Programmiersprachen (wie z.B Java, C# oder Visual Basic) oder Skriptsprachen (wie ECMA, ASP/VBS oder PHP) in den einzelnen Templates bzw. Modulen einbinden. Diese Sprachen können entweder direkt durch das CMS ausgeführt werden oder in einem externen Applikationsserver ablaufen. Hier ist die Beschränkung auf die XYZ-Templatesprache des jeweiligen Anbieters oft nicht ausreichend. Es können hohe Kosten entstehen, die die Integration und somit den Nutzen des Systems empfindlich einschränken. Die Entwicklung kundenspezifischer Erweiterungen kann so zur kostspieligen Angelegenheit werden. Hier ist eine weite Verbreitung des Produktes oder noch sicherer der Technologie mit einem entsrechend breitem Angebot an Tools, Modulen, Schulungen, Programmierern etc. hilfreich. Moderne Technologien, wie Microsoft .NET, sind unabhängig von bestimmten Programmiersprachen. So können Erweiterungen ohne weiteres in verschiedenen Programmiersprachen geschrieben werden, ohne das bei der Ausführung Probleme auftreten. Bei personalisierten Websites stellt das CMS für jeden Benutzer oder für Benutzergruppen individuelle Inhalte, Darstellungsformen oder Navigationen bereit. Die Personalisierung kann dabei systemgesteuert erfolgen oder der Benutzer wählt aktiv bestimmte Bereiche des Informationsangebotes der Website aus und erhält fortan ein auf seine Bedürfnisse abgestimmtes Informationsangebot. Hier sind CMS die auf das Generieren von statischen Seiten verzichten und den Content zur Laufzeit erzeugen deutlich im Vorteil. Das CMS sollte dann auch Tools zur Verfügung stellen oder integrieren, welche eine umfassende Auswertung der Benutzerprofile ermöglichen und so die Grundlage für ein effizientes Customer Relationsship Management legen. Ein CMS kann die Personalisierung von Websites unterstützen indem es Informationen mittels Metainformation und Laufzeitparameter kategorisiert oder um bestimmte Auszeichnungen erweitert. Während die Bereitstellung gezielter Informationen für bestimmte Benutzergruppen (Rollen) unabdingbar ist, handelt es sich bei Personalisierung für einzelne Benutzer häufig um eine sehr spezifische Fragestellung. Hier sollte das CMS zumindest anerkannte Produkte optimal einbinden können. Ein weiterer wesentlicher Punkt im Bereich der Personalisierung hängt mit der Tatsache zusammen, dass Websites nicht nur von Menschen besucht werden, sondern auch von sogenannten Robots oder Spiders. Robots verdichten Informationen aus der Website und lassen die Ergebnisse beispielsweise in Suchmaschinen einfließen. Robots und Menschen lesen die Website unterschiedlich und so sollte ein ausgereiftes CMS optimierte Versionen der Website für Robots und Mensch bereitstellen (z.B. Metatags). Dies trägt insgesamt wesentlich zu einer besseren Erreichbarkeit der Zielgruppe bei und ist ein wichtiges Kriterium. Oft unterstützen gerade dynamische (zur Laufzeit generierte) Systeme Suchmaschinen nicht ausreichend. Diese folgen den einzelnen komplexen Links nicht, einzelne Artikel oder Produkte werden also nicht gefunden: ein deutlicher Wettbewerbsnachteil. Achten Sie also unbedingt auf die umfassende Unterstützung von Suchmaschinen durch ein Content Management System. XML bedeutet Extensible Markup Language und ermöglicht eine effiziente Strukturierung und gleichzeitig Beschreibung von Information die sowohl für Maschinen als auch für Menschen leicht lesbar ist. Bei XML handelt es sich um einen zukunftssicheren Standard, welcher von der Datenablage über den Datenaustausch bis hin zum Cross-Media-Publishing Anwendung findet. Die Unterstützung des XML-Standards seitens des CMS ist daher von zentraler Bedeutung, gerade auch hinsichtlich der zukünftigen Lauffähigkeit und damit des Investitionsschutzes. In jedem Falle sollte ein CMS die Anzeige, den Import und den Export von XML Daten, sowie Transformation durch XSLT direkt und ohne Zusatzsoftware ermöglichen. Dabei sind mindestens die Grundfunktionalitäten des aktuellen XML DOM (Document Object Models, so wie vom W3C spezifiziert) und SAX (Simple API for XML) zu unterstützen. Content Syndication ist die Integration von Informationen aus verschiedenen anderen Websites in die eigene Website bzw. die Bereitstellung eigener Inhalte für externe Anwendungen. Der praktische Nutzen ergibt sich aus der besseren Verbreitbarkeit von Inhalten, denn damit lässt sich der Wert von qualitativ guten Inhalten stark steigern und besser ausnutzen. Kritische technische Merkmale für Content Syndication sind Übergabeformate und Automatisierung. Als Standard für Übergabeformate scheint sich das ICE-Protokoll (Information and Exchange Protocol) durchzusetzen, welches auf XML basiert. In der Praxis wird vor allem RSS für Newsfeeds verwendet. |