Seminararbeit im Studienschwerpunkt Multimedia zum Thema
Web Content Management Systeme
Konzepte und praktische Anwendung
Von: Frithjof Klös
E-Mail: [email protected]
Matrikelnummer: xxxxxx
Betreuender Professor: Prof. Dr. P. Kneisel
Abgabedatum: 03.09.2007
Eingereicht im Sommersemester 2007
im Fachbereich Mathematik, Naturwissenschaften und Informatik (MNI)
der Fachhochschule Gießen-Friedberg
Wiesenstraße 14
35390 Gießen
Inhaltsverzeichnis
Einleitung ............................................................................................................................. 1
1. Definitionen ................................................................................................................. 2
1.1 Content .................................................................................................................. 2
1.2 Content Management System (CMS) .................................................................... 2
1.3 Web Content Management System (WCMS) ........................................................ 3
1.4 Enterprise Content Management System (ECMS) ................................................ 3
2. CMS Typen ................................................................................................................... 4
2.1 Server und Client ................................................................................................... 4
2.1.1 Serverbasiertes CMS ...................................................................................... 4
2.1.2 Clientbasiertes CMS ....................................................................................... 4
2.1.3 Mischungen .................................................................................................... 4
2.2 Dynamik und Statik ............................................................................................... 5
2.2.1 Dynamisches CMS .......................................................................................... 5
2.2.2 Statisches CMS ............................................................................................... 5
2.2.3 Hybrid CMS .................................................................................................... 5
3. Ein Ziel – zwei Wege .................................................................................................... 6
3.1 Vorgehensweise bei einer statischen Internetseite .............................................. 6
3.2 Vorgehensweise mit einem CMS .......................................................................... 8
4. Die Vorzüge eines CMS ................................................................................................ 9
4.1 Dezentrale Pflege von Inhalten ............................................................................. 9
4.2 Benutzerverwaltung ............................................................................................ 10
4.3 Redaktioneller Workflow zur Qualitätssicherung ............................................... 11
4.4 Link Management ................................................................................................ 12
4.5 Versionskontrolle ................................................................................................ 12
4.6 Erweiterbarkeit und Schnittstellen ..................................................................... 14
4.7 Wiederverwendbarkeit & Syndication ................................................................ 14
4.8 Lokalisierung ........................................................................................................ 16
5. Vertriebsmodelle ....................................................................................................... 17
5.1 Kommerzielle Lizenzen ........................................................................................ 17
5.2 Open Source ........................................................................................................ 18
5.2.1 Lizenzen ........................................................................................................ 19
5.2.2 Kosten und Service ....................................................................................... 20
6. Technologien .............................................................................................................. 21
7. Barrierefreiheit........................................................................................................... 23
7.1 Grafische Gestaltung ........................................................................................... 24
7.2 Gestaltung auf Code-Ebene ................................................................................ 26
8. Joomla ........................................................................................................................ 29
8.1 Die Geschichte ..................................................................................................... 30
8.2 Angewandte CMS Konzepte ................................................................................ 31
8.2.1 Front- und Backend ...................................................................................... 31
8.2.2 Zugriffsrechte und der resultierende Workflow .......................................... 32
8.2.3 Verwaltung und Präsentation der Inhalte ................................................... 33
8.2.4 Templates ..................................................................................................... 35
8.3 Barrierefreiheit in Joomla ................................................................................... 36
8.4 Erweiterungen ..................................................................................................... 36
8.4.1 JoomFish ...................................................................................................... 37
8.4.2 DocMan ........................................................................................................ 37
8.4.3 VirtueMart ................................................................................................... 38
8.5 Ausblick ............................................................................................................... 38
9. Zusammenfassung ..................................................................................................... 39
Anhang ............................................................................................................................... 40
I. Abkürzungsverzeichnis ............................................................................................ 40
II. Abbildungsverzeichnis ............................................................................................ 41
III. Tabellenverzeichnis ............................................................................................. 41
IV. Listingverzeichnis ................................................................................................ 41
V. Quellen .................................................................................................................... 42
Seite | 1
Einleitung
Das Internet hat in den letzten zehn Jahren einen regelrechten Boom erlebt. Für viele
Menschen ist es mittlerweile die primäre Informationsquelle, um sich über
Unternehmen sowie deren Produkte und Dienstleistungen zu informieren. Zudem bietet
es sich durch seine dezentrale Organisation als kostengünstige Plattform an, um
weltweit Kunden anzusprechen und B2B oder B2C Kontakte aufzubauen und zu pflegen.
Auch viele private Internetnutzer verspüren ein Interesse, sich der Welt mit einer
eigenen Webpräsenz vorzustellen.
Die Erstellung und Pflege eines komplexen Internetauftritts ist jedoch enorm und mit
herkömmlichen, rein statischen HTML-Seiten nicht ökonomisch umsetzbar. Zudem
bedarf es bei diesem Ansatz eines großen Fachwissens seitens der Content-Autoren
bezüglich Webprogrammierung und –design. Diese Umstände erwecken den Bedarf an
einer Software, die eine einfache Erstellung von Inhalten ermöglicht und diese je nach
Benutzerwünschen dynamisch aufbereitet und präsentiert.
Diese Seminararbeit behandelt solche Programme, so genannte Web Content
Management Systeme (WCMS), und bietet einen Einblick in deren Funktionsweise,
Konzepte und die verwendeten Softwarestrukturen. Zudem werden einige beim Vertrieb
der Systeme anzutreffende Lizenzmodelle vorgestellt und deren Vor- und Nachteile
erläutert. Ein weiterer Abschnitt ist dem Thema Barrierefreiheit gewidmet, das in
Webpräsentationen oft unbeachtet bleibt, aber durchaus einen wichtigen Stellenwert
besitzt. Betreiber einer Internetseite sollten ein großes Interesse daran haben, ihre
Angebote einem möglichst breiten Publikum vorzustellen und zugänglich zu machen.
Abschließend wird ein Einblick in das Open-Source-CMS Joomla geboten, mit dem sich
auf einfache Art und Weise private, aber auch geschäftliche Internetseiten realisieren
lassen.
Seite | 2
1. Definitionen
1.1 Content
„Content ist der informative elektronische Inhalt einer Nachricht oder einer Seite, der
nicht von Strukturen oder Formaten geprägt ist.1“
Die Bezeichnung dient als Sammelbegriff für multimediale Inhalte jeglicher Form und
bezeichnet in dem hier behandelten Kontext insbesondere Texte und Grafiken, aber
auch Daten sowie Video und Audio.
Content ist einem Prozess, dem Content Lifecycle,
unterworfen (siehe Abbildung 1): Dieser beginnt mit
der Erstellung, führt zur Qualitätskontrolle, mündet in
die Publikation und endet mit der Archivierung. Bei
Bedarf kann eine Anpassung an neue Gegebenheiten
erfolgen und der Zyklus mit einer neuen
Versionsnummer erneut beginnen.
1.2 Content Management System (CMS)
Ein Content Management System ermöglicht… „die zentrale Verwaltung digitaler Daten
innerhalb eines Systems2“.
Dabei geht es in der Regel um die Speicherung und gemeinsame Nutzung von digitalen
Dokumenten innerhalb einer Groupware-Anwendung3, auf die Teilnehmer über das
Intranet oder Internet gemeinsam zugreifen können. Content Management Systeme
enthalten neben Funktionen zur Verwaltung von Inhalten meist auch Methoden zur
Erstellung, Präsentation und Kontrolle der gespeicherten Daten.
1 www.itwissen.info/definition/lexikon//__content_inhalt.html 2 www.cyres.de/cms-grundlagen/cms-definition/content-management-system.htm 3 www.itwissen.info/definition/lexikon//__groupware_groupware.html
Abbildung 1: Der Content Lifecycle
Seite | 3
1.3 Web Content Management System (WCMS)
Ein WCMS ist… „ein Programm, das die Verwaltung und Erstellung digitaler Daten mit
dem Schwerpunkt auf das Medium Internet unterstützt4“.
Im allgemeinen Sprachgebrauch verschwimmen die Grenzen zwischen den Begriffen
Content Management System und Web Content Management System. Ein CMS ist auf
die flexible Nutzung von Daten jeglicher Form ausgelegt, das WCMS aber primär auf die
Verwaltung von Datentypen, die im Internet verwendet werden. Dies sind zum Beispiel
HTML, XML, JPG oder MP3 Dateien. Ein WCMS muss zur Präsentation seiner Daten auf
viele Besonderheiten des Mediums Internet Rücksicht nehmen. So gibt es zum Beispiel
ein breites Spektrum an Anzeigegeräten (Browser, PDAs, Smartphones), auf denen nach
Möglichkeit eine einheitliche Darstellung der Inhalte erfolgen soll.
1.4 Enterprise Content Management System (ECMS)
Der Begriff Enterprise Content Management System bezeichnet… „die zentrale
Verwaltung digitaler Daten innerhalb eines Systems mit zusätzlichen nicht per Definition
näher bestimmten Funktionen5“.
Ein ECMS vereint im Allgemeinen die Funktionen eines CMS und WCMS. Dokumente
werden dabei in einem neutralen Format gespeichert (meist XML) und je nach
gewünschter Ausgabe (Print, PDF-Datei, Internetseite) umgewandelt. Dieser Ansatz kann
durch die erhöhte Wiederverwendbarkeit der Inhalte zu Effizienzsteigerungen und
Kostenersparnissen führen, es besteht allerdings die Gefahr, dass auf die
Besonderheiten der verschiedenen Ausgabemedien unzureichend Rücksicht genommen
wird und in allen Bereichen der Präsentation die Qualität des Angebots sinkt.
4 www.cyres.de/cms-grundlagen/cms-definition/web-content-management-system.htm 5 www.cyres.de/cms-grundlagen/cms-definition/enterprise-content-management-system.htm
Seite | 4
2. CMS Typen
2.1 Server und Client
Content Management Systeme werden nach Art der Verwaltung unterschieden. Im
folgenden Abschnitt sollen einige Typen vorgestellt werden.
2.1.1 Serverbasiertes CMS
Bei serverbasierten Content Management Systemen befindet sich die Programmlogik für
Verwaltung und Präsentation der gespeicherten Inhalte auf einem Server. Es bedarf
dazu einer serverseitigen Programmiersprache, die in den meisten Fällen mit einer
Datenbank in Verbindung steht. Diese Systeme ermöglichen eine dezentrale Verwaltung
des CMS, zu deren Hilfe meist nur ein Internetbrowser benötigt wird. Auf Clientseite
lässt sich also eine gewisse Plattformunabhängigkeit erzielen.
2.1.2 Clientbasiertes CMS
Diese Art wird mithilfe eines Programmes, das auf einem Rechner installiert wird,
gesteuert und verwaltet. Jede Person, die am Redaktionsprozess der Internetseite
beteiligt ist, muss diese Software installiert haben. Ist das Verwaltungsprogramm an ein
Betriebssystem gebunden, werden Personen die eine andere Plattform einsetzen
ausgeschlossen. Die generierten, statischen Seiten werden per FTP auf den Server
geladen, eine serverseitige Programmiersprache ist nicht vonnöten.
Um eine einheitliche Präsentation des Internetauftritts zu gewährleisten, verfügen
clientbasierte Content Management Systeme meist über ausgereifte Layoutfunktionen,
mit denen Seitenvorlagen erstellt werden können, die dann im täglichen Betrieb nur
noch mit Inhalten gefüllt werden müssen.
2.1.3 Mischungen
Neben den beiden genannten Typen gibt es auch Mischformen. Auf Serverseite existiert
hier eine Programmlogik zur Präsentation, Datenhaltung und Benutzerverwaltung.
Redakteure können, zum Beispiel mit einer lokal installieren Textverarbeitung, Artikel
erstellen und diese dann unter Zuhilfenahme eines Plugins in HTML-Code wandeln und
auf den Server übertragen.
Seite | 5
2.2 Dynamik und Statik
Neben der Verwaltungsart werden Content Management Systeme auch nach der Art der
Ausgabe unterschieden. Der Besucher einer Internetseite wird im Allgemeinen keinen
Unterschied zwischen den vorgestellten Varianten bemerken, auf der Serverseite
hingegen sind Differenzen festzustellen, die nachfolgend näher erläutert werden.
2.2.1 Dynamisches CMS
Bei diesem Typ wird eine Content-Seite erst mit einem Aufruf durch den Anwender aus
der Datenbank erzeugt. Solch eine Seite besteht aber nicht nur aus dem eigentlichen
Artikel und dessen Daten. Zusätzlich zum Artikel müssen noch Informationen zur
Anzeige eines Navigationsmenüs, Bilder und womöglich ergänzende Texte aus der
Datenbank abgefragt, vom Webserver zusammengesetzt und ausgeliefert werden. Ein
Vorteil dieses Systems ist eine höchstmögliche Aktualität und eine sehr gute
Personalisierung der dynamisch generierte Seiten. Jedoch können diese Vorgänge bei
einer hohen Besucherfrequenz zu einer erheblichen Serverauslastung führen. Um dem
entgegen zu wirken, verfügen dynamische Content Management Systeme meist über
Caching-Mechanismen, die Kopien der aufgerufenen Seiten zwischenspeichern und
diese für einen eventuellen Wiederaufruf vorhalten.
2.2.2 Statisches CMS
Ein statisches CMS erzeugt direkt nach der Erstellung eines Artikels eine HTML-Seite und
speichert diese im Dateisystem des Servers ab. Besuchern wird nun immer diese
statische Seite angezeigt. Da der Webserver lediglich fertige HTML-Dokumente
ausliefern muss, ist seine Auslastung bei dieser Methode geringer, personalisierte Seiten
sind aber nicht realisierbar.
2.2.3 Hybrid CMS
Der Betreiber eines solchen CMS kann entscheiden, welche Seiten statisch ausgeliefert
und welche dynamisch erzeugt werden sollen. Auf diese Weise wird zum Beispiel die
Startseite eines Webauftritts dynamisch erzeugt und kann personalisierte Inhalte
anzeigen, weitere Seiten, deren Inhalte nicht regelmäßig geändert werden, sind direkt
als HTML-Datei abgelegt. Auf diese Weise ist ein Kompromiss zwischen Aktualität und
Performanz realisierbar.
Seite | 6
3. Ein Ziel – zwei Wege
Vorrangiger Zweck der Webpräsenz eines Unternehmens ist die informationelle
Versorgung potenzieller und bestehender Kunden. Dies kann die Vorstellung und
Beschreibung neuer und bestehender Produkte, aber auch Supportangebote oder eine
Präsentation des Firmenprofils sein. Firmen, die eine breite Produktpalette anbieten und
diese regelmäßig pflegen müssen, haben ein Interesse, ihre Kunden zeitnah über
Veränderungen ihres Portfolios zu informieren. Zu diesem Zweck ist eine schnelle und
zeitnahe Aktualisierung oder Erweiterung des Webangebotes nötigt. Dies kann auf
verschiedenen Wegen vonstattengehen.
3.1 Vorgehensweise bei einer statischen Internetseite
Eine statische Homepage ist schnell entworfen. Solange sie nur ein paar Dutzend
Unterseiten umfasst und die Aktualisierungsintervalle niedrig gehalten werden, ist auch
die Pflege solcher Seiten effizient zu handhaben. Wächst das Angebot aber schnell, ist
zudem Aktualität ein wichtiges Kriterium und sind viele Personen mit der Generierung
neuer Inhalte beschäftigt, wird die Struktur der Webpräsenz schnell unübersichtlich.
Für die Erstellung und Pflege statischer Homepages werden meist Programme wie
Adobe Dreamweaver6 oder Microsoft Frontpage7 eingesetzt. Diese Werkzeuge wollen
dem Anwender eine intuitive Benutzung ermöglichen und sind in ihren Bedienkonzepten
meist an Textverarbeitungen wie Microsoft Word oder Open Office angelehnt. Sie folgen
dem Anspruch, Internetseiten zu erzeugen, ohne dass der Anwender eine einzige Zeile
HTML-Code schreiben muss.
Jede Seite einer Homepage wird durch eine HTML-Datei repräsentiert, die per FTP-Client
auf den Webserver kopiert und manuell in einem Menü oder einer anderen Seite
verlinkt werden müssen. Wird eine Seite gelöscht, weil die dargebotenen Informationen
veraltet sind, so bedarf es einer Entfernung aller darauf verweisenden Links und in
einigen Fällen einer inhaltlichen Anpassung anderer Seiten.
Möglicherweise ist die gelöschte Information aber für manche Besucher noch
interessant und sollte deshalb in einem anderen Bereich der Homepage archiviert
6 www.adobe.com/de/products/dreamweaver/ 7 office.microsoft.com/de-de/frontpage/
Seite | 7
werden. Um die Übersicht im Dateisystem des Webservers für die Autoren zu wahren,
ist es ratsam, eine solche Datei in einen anderen Ordner zu verschieben, oder zumindest
per Umbenennung entsprechend zu markieren. Dies hat abermals eine Anpassung aller
darauf verweisenden Links zur Folge. Kunden, die in ihrem Browser ein Lesezeichen auf
eine solche Seite angelegt haben, erhalten eine Fehlermeldung und müssen von Neuem
nach der gewünschten Information fahnden, was sich unter Umständen als sehr
aufwändig erweist, denn eine Volltextsuche ist mit statischen Internetseiten nicht
möglich.
Eine Rechte- und Benutzerverwaltung für Redakteure ist nur auf Dateisystemebene
umsetzbar, aber nicht praktikabel. Dies führt dazu, dass jeder Artikel von allen Autoren
verändert werden kann. Die versehentliche Löschung einer HTML-Datei kann bei
unzureichender Backup-Strategie erhebliche Probleme hervorzurufen. Die entfernte
Information muss mühsam neu erstellt werden. Auch für Besucher der Internetseite ist
eine Benutzerverwaltung nur unzureichend realisierbar, dabei kann es erforderlich sein,
bestimmten Kundengruppen gesonderte Seiten mit speziell aufbereiteten Informationen
anzubieten.
Ein Lösungsansatz der einige der Probleme die mit
statischen Internetseiten einhergehen beseitigt, ist
die Einführung einer klaren Kompetenzhierarchie
(siehe Abbildung 2). Artikel werden von
Redakteuren erstellt, bei Bedarf von Grafikern
illustriert und anschließend an einen Webmaster
weitergeleitet. Zu diesem Zeitpunkt liegen die
Inhalte noch nicht als HTML-Dateien vor, die
Abgabe kann zum Beispiel als Word- oder PDF-Datei
erfolgen.
Der Webmaster generiert aus den eingehenden
Dokumenten neue Seiten, die sich in die übrige
Gestaltung der Homepage nahtlos einfügen. Er
muss dafür nicht nur technisch versiert sein und ein professionelles Wissen in HTML-
Redakteur Grafiker
Inhalte
Webmaster
erstellen
programmiert
werden verwaltet
Abbildung 2: Arbeitsabläufe bei der Generierung statischer Internetseiten
Seite | 8
Programmierung aufweisen, sondern sollte auch über gestalterische Talente verfügen,
um die Artikel ansprechend aufzubereiten. Zudem ist er für die Konsistenz der
Homepage verantwortlich, trägt also Sorge dafür, dass neue Inhalte an der richtigen
Position der Seitennavigation eingefügt und veraltete Texte komplett aus der Struktur
entfernt werden, damit keine verwaisten Links zurückbleiben.
Mit zunehmender Größe der Internetseite und steigender Frequenz neu einzustellender
Inhalte wird der Webmaster zum Flaschenhals im Redaktionsprozess, da er nur eine
gewisse Anzahl neuer Artikel pro Tag bearbeiten kann. Als Konsequenz leiden die
Aktualität und die Qualität des Internetauftritts. Eine Aufstockung des Webmaster-
Personals wäre ein Lösungsansatz, würde aber langfristig wieder zum Ausgangsproblem
führen, da zu viele Personen an der Pflege der Seite beteiligt sind und in Layout- und
Technikfragen ihre eigenen Ziele verfolgen.
Wie man durch dieses Konzept sehen kann, ist die Pflege einer großen, statischen
Internetseite mit enormem Aufwand und damit hohen Kosten verbunden. Die
Konsistenz bezüglich Inhalten, Navigation und Corporate Identity kann nur durch strenge
Reglementierungen erhalten werden, an die sich alle an der Erstellung beteiligten
Personen halten müssen.
3.2 Vorgehensweise mit einem CMS
Ab einer Anzahl von ca. 50-100 regelmäßig aktualisierten Seiten führt aufgrund der
hohen Kosten kein Weg mehr an einem Content Management System vorbei. Es
erleichtert die Erstellung und Verwaltung von Webinhalten erheblich und hilft dabei,
Kosten zu sparen. Redakteure können ihre Artikel per Webbrowser direkt im CMS
erstellen und benötigen in den meisten Fällen keine separate Software. Sie werden
durch einen WYSIWYG-Editor8 unterstützt, der grundlegende Formatierungsoperationen
zulässt und sich ähnlich einer Textverarbeitung bedienen lässt. HTML-Kenntnisse oder
gar Programmiererfahrung in der dem CMS zugrunde liegenden Programmiersprache
sind bei Redakteuren nicht erforderlich. Diese Aufgaben werden von anderen Personen
übernommen.
8 http://de.wikipedia.org/wiki/Wysiwyg
Seite | 9
Zur Qualitätssicherung der Internetseite gibt es auch hier eine Kompetenzhierarchie und
eine klare Rollenverteilung (siehe Abbildung 3). Eingestellte Artikel werden nicht sofort
veröffentlicht und so für alle Besucher der Webpräsenz sichtbar, sondern müssen erst
durch Chefredakteure überprüft und freigeschaltet werden. Je nach System können
Mitglieder dieser Gruppe Artikel kommentieren und dem zuständigen Redakteur zur
Korrektur erneut vorlegen.
4. Die Vorzüge eines CMS
Content Management Systeme sollen bei der Generierung und Bereitstellung von
Informationen Unterstützung leisten. Dabei können sich Autoren auf ihre eigentliche
Aufgabe, die Erstellung von Artikeln, konzentrieren und müssen sich nicht um Dinge wie
Menüstruktur oder die Datenhaltung des erzeugten Contents kümmern. Diese Bereiche
werden von anderen, spezialisierten Gruppen abgedeckt.
4.1 Dezentrale Pflege von Inhalten
Zentrales Eingabe- und Verwaltungsmedium der meisten Content Management Systeme
ist ein Webbrowser. Autoren und Administratoren sind somit nicht an einen Ort bzw.
Rechner gebunden, auf dem eine bestimmte Softwareumgebung installiert ist. Es wird
lediglich ein Computer mit einer Internetverbindung benötigt, um Veränderungen an der
Homepage durchzuführen. So müssen Mitarbeiter nicht unbedingt vor Ort sein, um am
Webauftritt mitzuarbeiten, sondern können bequem, vom Homeoffice aus, Inhalte
einpflegen. Dies ermöglicht eine hohe Kostenreduzierung, da nur wenige Büroräume
anzumieten sind. Zudem bietet sich die Möglichkeit, kurzfristig Gastautoren zu
Abbildung 3: Generierung von Inhalten in einem Content Management System
Webmaster administriert
Redakteur / Grafiker Chefredakteur Portalmanager
Inhalte
erstellt
kontrolliert gibt frei
erzeugt CMS
Seite | 10
beschäftigen, ohne ein großes Softwarepaket installieren zu müssen, um redaktionell
mitzuarbeiten.
Personen deren Aufgabe in der Verwaltung der Homepage liegt, steht in den meisten
Fällen eine vielseitige Administrationsoberfläche (das Backend) zur Verfügung, die auch
über einen Internetbrowser zugänglich ist. Hier können zum Beispiel Menüs angepasst
und Artikel veröffentlicht, gesperrt oder verschoben werden.
4.2 Benutzerverwaltung
Kern eines CMS ist ein ausgeklügeltes Rechtemanagement, das sowohl Personen die mit
der Pflege und Wartung der Homepage beschäftigt sind, als auch deren Besucher
verwalten kann. Für jeden registrierten Benutzer wird festgehalten, welche Bereiche des
CMS er sehen, ändern und ergänzen darf. So sollten zum Beispiel Mitarbeiter der
Marketing-Abteilung ihre eigenen Seiten ändern können, nicht jedoch Modifikationen an
der Menüführung oder den Seiten einer anderen Abteilung durchführen können. Die
Benutzerverwaltung bietet zudem die Möglichkeit für spezielle Besucher der Seite
personalisierten Content anzubieten. Damit wäre es zum Beispiel möglich, registrierten
Stammkunden andere Produktpreise anzuzeigen, als sie normale Besucher der Seite zu
Gesicht bekommen. Hierzu bedarf lediglich der Anpassung eines Berechnungsfaktors für
diese Gruppe.
Die Aufgabenteilung bei der Pflege eines komplexen Internetauftritts bringt einige neue
Rollen mit sich: Systemadministratoren, Projektverantwortliche, Redakteure,
Chefredakteure. Jede dieser Rollen hat einen fest definierten Aufgabenbereich, den sie
nicht überschreiten darf, um einer Störung der regulären Arbeitsabläufe
entgegenzuwirken. Hierzu bietet ein CMS in der Regel vordefinierte Gruppen an, die mit
entsprechenden Rechten ausgestattet sind und denen bestehende Nutzer zugeordnet
werden können. Komplexe Systeme erlauben zumeist die Definition zusätzlicher,
individueller Gruppen.
Seite | 11
4.3 Redaktioneller Workflow zur Qualitätssicherung
Um einen gleich bleibenden Standard
der Webpräsentation zu gewährleisten,
sollte ein Artikel nach seiner
Fertigstellung durch den Redakteur nicht
direkt veröffentlicht werden. Im Rahmen der Qualitätssicherung bedarf es eines
Freigabe-Zyklus, der in Abbildung 4 angedeutet ist. Zur Unterstützung dieses Workflows
sollte ein Dokument unterschiedliche Zustände annehmen können, aus denen sich neue
Rollen im Redaktionsprozess ergeben (siehe Tabelle 1).
Tabelle 1: Beziehung zwischen dem Zustand des Dokuments und der beteiligten Rolle
Zustand Rolle In Bearbeitung / Erstellung Redakteur / Grafiker
Freigegeben Chefredakteur
Publiziert Portalmanager
Archiviert CMS oder Chefredakteur
Im redaktionellen Alltag reicht oft eine Kontrolle nach dem „Vieraugenprinzip“ aus,
dennoch wird hier ein etwas komplexeres Beispiel angebracht. Alle Schritte finden
innerhalb des CMS statt:
Ist die Arbeit an einem Artikel beendet und wurde er von einem Mitarbeiter der
Grafikabteilung bebildert, so wird er dem Chefredakteur vorgelegt, der eine inhaltliche
Überprüfung des Textes und eine Kontrolle der Bilder vornimmt. Bedarf es Änderungen
des Artikels, so wird er dem Autor zur Überarbeitung erneut vorgelegt. Hat der Artikel
einen Stand erreicht, auf dem er veröffentlicht werden kann, reicht ihn der
Chefredakteur an den Portalmanager weiter, der dann dafür sorgt, dass der neue Inhalt
an der richtigen Stelle auf der Webpräsenz für Besucher sichtbar wird.
Ein gutes CMS erlaubt die Festlegung eines Start- und Endtermins für die
Veröffentlichung eines Artikels. Nach Ablauf des Endtermins wird er einem Redakteur
erneut zur inhaltlichen Überprüfung vorgelegt. Sind die Informationen noch aktuell, so
bekommt der Artikel ein neues Verfallsdatum, sind Änderungen notwendig, so wird der
Artikel in überarbeiteter Form, wieder online gestellt. Sind die Informationen des
EErrsstteelllleenn FFrreeiiggeebbeenn PPuubblliizziieerreenn
Abbildung 4: Workflowaktivitäten
Seite | 12
Artikels überholt, so kann er in einen gesonderten Bereich der Webpräsenz archiviert
werden.
4.4 Link Management
Um Probleme zu vermeiden, die bei statischen Internetseiten auftreten, wenn zum
Beispiel ein Artikel in einen anderen Bereich verschoben wird, weist ein CMS jedem
Element das zur Übermittlung von Informationen beiträgt (Artikel, Artikelkategorien,
Menüeinträge, etc.) eine eindeutige Identifikationsnummer (ID) zu. Ein Link im
Navigationsmenü der Seite oder innerhalb eines Artikels verweist auf eine solche ID.
Wird nun ein Element in einen andern Bereich verschoben, bleibt seine Nummer
erhalten und ist somit weiterhin erreichbar.
Das CMS führt Listen darüber, ob, von wo und wie oft ein Element referenziert wird.
Sollte zum Beispiel ein Artikel gelöscht werden, auf den aus anderen Artikeln oder
Menüs verwiesen wird, so unterbindet es den Löschvorgang und zeigt an, an welchen
Stellen Anpassungen vorgenommen werden müssen, um die Konsistenz der Homepage
zu erhalten.
4.5 Versionskontrolle
Wenn mehrere Personen an der Generierung von Inhalten beteiligt sind, wird eine
Versionierung benötigt, die es ermöglicht, bei Bedarf auf eine alte Version
zurückzugreifen. Dies ist zum Beispiel bei den allgemeinen Geschäftsbedingungen oder
Verträgen wichtig, deren Texte sich regelmäßig ändern. Aber auch bei Templates oder
Skripten kann es von Nöten sein, auf „alte“ Versionen zurückzugreifen. Content
Management Systeme, die primär für kleine Webpräsenzen gedacht sind, verfügen in
der Regel über keinerlei Funktionalität zur Versionskontrolle. Andere wiederum bieten
ausgefeilte und aufwändige Konzepte. Es existieren unterschiedliche Ansätze zur
Realisierung einer Versionierung.
Als Erstes wäre die statische Form zu nennen. Hierbei wird eine Kopie des Artikels auf
einem gewissen Stand abgespeichert. Der Vorteil dieser Methode besteht darin, dass
dem Versionsarchiv im Fehlerfall ein kompletter Artikel entnommen und wieder online
gestellt werden kann. Nachteilig hingegen ist die enorme Datenflut, die entsteht, wenn
Seite | 13
Inhalte regelmäßig geändert werden. Jede Änderung erzeugt eine neue Kopie, wodurch
mit der Zeit ein Verlust an Übersicht einhergeht.
Die Alternative zur eben genannten Art ist eine dynamische Versionierung. Hier werden
die Änderungen eines Dokumentes in einer Versionsverwaltung wie Subversion9 oder
Microsoft Sourcesafe10 gespeichert. Somit bleiben alle vorangegangenen Versionen der
Inhalte verfügbar und beliebig viele vorangegangene Stände sind wiederherstellbar.
Zudem können die Änderungsprozesse an einem Dokument durch entsprechende
Funktionen sichtbar gemacht werden. In der Datenbank des CMS wird die jeweils letzte,
freigegebene Version abgelegt.
Je komplexer ein CMS gestaltet ist und je mehr Personen an der Erstellung von Inhalten
beteiligt sind, desto ausgefeilter müssen die Mechanismen zu Versionskontrolle
gestaltet werden. So sollte das System garantieren, dass zu einem Zeitpunkt nur eine
Person an einem Artikel arbeiten kann und währenddessen der Zugriff für andere
Autoren gesperrt wird. In diesem Zusammenhang wird von Locking gesprochen. Ein
weiterer Mechanismus, Labels genannt, bezeichnet die logische Gruppierung der
Versionsstände verschiedener Dateien. Wie in Abbildung 5 gezeigt, besteht ein Artikel
beispielsweise aus einem Template, einem Text und mehreren Bildern. In diesem
Beispiel liegen alle Komponenten in unterschiedlichen Versionen vor, aus denen
letztendlich ein Artikel mit dem Label Version 1.0 zusammengestellt und veröffentlicht
wird.
9 subversion.tigris.org/ 10 www.microsoft.com/germany/msdn/sourcesafe/
Abbildung 5: Zusammenfassung mehrerer Komponenten zu einem Artikel
0.9
1.0
1.1
1.2
1.0
1.1
1.2
0.8
0.9
1.0
1.1
1.0
1.1
1.2
Version 1.0
Label
Text Artikel-Template Grafik 1 Grafik 2
Seite | 14
4.6 Erweiterbarkeit und Schnittstellen
Nur selten wird ein CMS im Grundzustand alle gewünschten Funktionen bieten. Zudem
kommen im laufenden Betrieb einer Internetseite kontinuierlich weitere Anforderungen
hinzu. Ein einfaches Beispiel wäre die Nachrüstung einer Kalenderkomponente, mit der
regelmäßige Schulungstermine für die angebotene Software bekannt gegeben werden.
Es wäre aber auch denkbar, dass ein Unternehmen einen Direktvertrieb seiner Produkte
anbieten möchte und zu diesem Zweck eine komplexe eCommerce Erweiterung in die
bestehende Webpräsenz eingebunden werden soll.
Erweiterungen sollten als Plugins realisierbar sein, um nicht in den Code des CMS-Kerns
selber eingreifen zu müssen und womöglich dessen Funktion zu beeinträchtigen. Zu
diesem Zweck muss das CMS Programmierschnittstellen (API) anbieten, die es erlauben,
Daten mit seinem Kern auszutauschen und Zugriff auf vorhanden Funktionen wie zum
Beispiel die Kommunikation mit der Datenbank oder die einfache Integration bereits
definierter Toolbars bieten. Hier sollte bei der Wahl eines Systems insbesondere auf eine
ausführliche Dokumentation der Schnittstellen und eine gute Softwarearchitektur
geachtet werden.
4.7 Wiederverwendbarkeit & Syndication
Das Thema Wiederverwendbarkeit spielt insbesondere im Bereich der Enterprise
Content Management Systeme eine wichtige Rolle. Um Kosten zu sparen, kann es für
eine Firma von Interesse sein, Informationen einmal zusammenzustellen und
anschließend auf unterschiedlichen Wegen zu verbreiten. Dies könnte zum Beispiel eine
gesonderte Aufbereitung der Internetseite für unterschiedliche digitale Endgeräte sein.
Um eine adäquate Anzeige auf einem PDA oder Smartphone zu erreichen, sollte die
Seite anders strukturiert sein, als es auf einem PC-Bildschirm der Fall ist. Die
Wiederverwendung muss sich aber nicht nur auf den digitalen Bereich beschränken. So
könnte eine Informationsbroschüre über ein neues Produkt sowohl in gedruckter Form,
als auch auf der Internetseite neue Kunden werben. Beide Präsentationsformen könnten
denselben Datensatz verwenden, eine Neuerstellung wäre nicht nötig.
Zur Speicherung der Daten bedarf es der Verwendung eines neutralen Formates, aus
dem ohne großen Aufwand die unterschiedlichsten Zielformate generiert werden
Seite | 15
können. Für diesen Zweck ist XML die Beschreibungssprache erster Wahl, da sie eine
Trennung von Daten und deren Repräsentation ermöglicht. Hierzu ist eine Grammatik
(DTD11 oder XML-Schema12) nötig, die den genauen Aufbau eines Datensatzes
vorschreibt, die Umwandlung in ein anderes Format wird mittels XSL-Transformation
(XSLT)13 realisiert (siehe Abbildung 6). XSLT ist eine Programmiersprache, die selber auf
XML-Strukturen basiert. Ein so genannte XSLT-Prozessor transformiert hierbei, unter
Zuhilfenahme der Regeln eines XSLT-Stylesheets, XML-Dokumente in das gewünschte
Ausgabeformat.
Bisher wurde nur auf die Wiederverwendbarkeit von Content innerhalb eines Systems
Im vorangegangenen Abschnitt wurde auf die Wiederverwendbarkeit innerhalb eines
CMS eingegangen, die externe Verbreitung wird unter dem Begriff Syndication geführt.
Er beschreibt die erneute Verwertung redaktioneller Inhalte wie Nachrichten oder
Börsenkurse auf fremden Internetseiten. Betreiber einer Webpräsenz, die auf die
Darbietung aktueller Inhalte setzen, selber aber wenig Content generieren sind auf den
Zukauf aus externen Quellen, so genannte Online-Broker, angewiesen. Die
Datenübertragung findet dabei meist in einem XML basierten Format statt, das eine
layoutneutrale Präsentation ermöglicht. Es sieht im Allgemeinen Felder für das Datum
der Veröffentlichung, den Titel, einen Einführungs- und Haupttext sowie Medien und
Quellangaben vor. Die empfangenen Daten werden automatisch aufbereitet und an das
Aussehen der abbonierenden Internetseite angepasst. Im professionellen Bereich haben
11 de.wikipedia.org/wiki/Dokumenttypdefinition 12 http://www.w3.org/XML/Schema 13 www.w3.org/TR/xslt
Abbildung 6: Umwandung von XML-Daten in andere Formate
XSLT Stylesheet
XML Daten
XSL
T-P
roze
sso
r HTML PDF
…
DB
MS
dynamisch erzeugt
statisch
Seite | 16
sich Formate wie ICE14 oder NewsML15 etabliert. Letzteres bietet zum Beispiel einen
global einmaligen Identifizierer und erlaubt die Bildung von Unterversionen für
Nachrichten.
Im Kontext des Web 2.0 hat sich das RSS-Format16 durchgesetzt. Zahlreiche
Internetseiten bieten ihre Inhalte kostenlos als so genannte Feeds an, die vom Besucher
abonniert und mit einer Browsererweiterung oder einem externen Programm gelesen
werden können. Je nach Anbieter erhält der Abonnent vollständige oder gekürzte
Artikel, die dann per Link auf den Hauptartikel verweisen. Auch diese Inhalte können
natürlich in andere Webangebote eingebunden werden.
4.8 Lokalisierung
Für global operierende Unternehmen ist es wichtig, ihre Webpräsenz in
unterschiedlichen Sprachen verfügbar zu machen. Hier muss ein CMS gewählt werden,
das für diese Zwecke Verwaltungs- und Workflowprozesse anbietet. Dabei spielen
mehrere Überlegungen eine Rolle: Es besteht die Frage, ob für jede Sprache eine
individuelle Internetseite mit eigenen Inhalten bereitgestellt werden soll oder ob eine
Spiegelung mit übersetzen Inhalten erwünscht ist. In diesem Fall bedarf es
Überlegungen, was dem Besucher angezeigt wird, wenn ein Artikel in seiner Sprache
nicht verfügbar ist. Eine Möglichkeit wäre die Präsentation des original Inhaltes,
ergänzend oder als Alternative könnte ein Hinweis erfolgen, dass keine Lokalisierung
vorliegt.
14 www.contentmanager.de/magazin/artikel_9_das_ice-protokoll.html 15 www.contentmanager.de/magazin/artikel_67_newsml_-_das_neue_content_syndication_format.html 16 de.wikipedia.org/wiki/RSS
Seite | 17
5. Vertriebsmodelle
5.1 Kommerzielle Lizenzen
Im Bereich der kommerziellen Content Management Systeme gibt es zahlreiche
Lizenzmodelle, deren anfallende Kosten sich an verschiedenen Kriterien zum Beispiel der
Anzahl der Redakteure, Nutzer oder verwendeten CPUs orientieren. Bei allen Modellen
wird in der Regel ein umfangreiches Serviceangebot vereinbart, der Kunde erhält eine
auf seine Bedürfnisse zugeschnittene Software, die komplett vorkonfiguriert und
einsatzbereit ist. Auch die Erstellung eines Templates, das die Corporate Identity des
Auftraggebers widerspiegelt, gehört dazu. Die Betreuung endet aber nicht mit der
Auslieferung. Der Lizenzgeber steht dem Kunden permanent als Ansprechpartner zur
Verfügung und sollte bei auftretenden Problemen eine schnelle Hilfeleistung bieten.
Gerade wenn eine finanzielle Abhängigkeit des Kunden von der Verfügbarkeit des
Onlineangebotes besteht, ist eine schnelle Behebung von Problemen wichtig. Häufig
werden vertraglich Konventionalstrafen vereinbart, die fällig werden, falls das System
über einen gewissen Zeitraum nicht nutzbar ist.
Im Allgemeinen kristallisieren sich bei der Lizenzierung zwei Grundmodelle heraus. Bei
der ersten Variante handelt es sich um den klassischen Kauf einer Softwarelizenz, wobei
Updates und Erweiterungen meist zusätzlich berechnet werden. Im Kaufpreis inbegriffen
ist in der Regel die benötigte Hardware bzw. die Integration der Software in die
verfügbare Hardwarelandschaft.
Der zweite Ansatz sieht die Miete der Software vor, wobei der Kunde über die
Vertragslaufzeit hinweg regelmäßig mit Updates ohne zusätzliche Kosten versorgt wird.
Hierbei wird meist das APS-Modell (Application Service Providing) verfolgt. In diesem Fall
wird nicht nur die Software, sondern die komplette Infrastruktur, die für den Betrieb des
CMS nötig ist, gemietet. Die Hardware befindet sich im Rechenzentrum des Lizenzgebers
und wird auch von hier aus betreut. Je nach Vertrag kennt das APS-Modell verschiedene
Ausbaustufen, die von „selbst konfigurierbar“ bis „sofort startklar“ reichen. Dieser
Ansatz ist aufgrund der verhältnismäßig geringen Kosten besonders für kleinere
Unternehmen interessant, um in kurzer Zeit eine einfache Internetpräsenz zu etablieren.
Treten später zusätzliche Anforderungen auf, so können die nötigen Erweiterungen
Seite | 18
hinzugemietet werden. Im einfachsten Fall muss der ASP die neuen Komponenten
lediglich für den Kunden aktivieren. Zudem lässt sich neue Hardware durch die
Administratoren vor Ort zeitnah nachrüsten.
Ein großer Nachteil der Mietvariante ist die Abhängigkeit vom Anbieter, in die sich der
Kunde begibt. Besonders wenn wichtige Geschäftsprozesse über die Website ablaufen
und komplexe Warenwirtschaftssysteme darüber angebunden sind, ist dies nicht immer
wünschenswert. Es sollte ein gutes Vertrauensverhältnis zwischen den beiden
Vertragspartnern herrschen.
5.2 Open Source
Open Source erfreut sich mit dem enormen Erfolg von Linux immer größerer Beliebtheit.
Der Unmut über kommerzielle Software, die trotz hoher Anschaffungsgebühren nicht
die versprochenen Leistungen erbringt, ermutigt immer mehr Menschen dazu, sich im
Bereich der freien Software nach Alternativen umzuschauen. Diese Entwicklung hat
bewirkt, dass immer mehr Open Source Projekte entstanden sind, die sich als
Alternativen zu kostenpflichtiger Software im Markt positionieren wollen. Auch im Feld
der Content Management Systeme haben sich einige Projekte etabliert, die mit der Zeit
zu ernsthaften Konkurrenten kommerzieller Software geworden sind. Vorrangig zwei
Argumente sollen für freie Software sprechen. Zum einen die Freiheit von Lizenzkosten,
zum anderen der quelloffene Programmcode, der Einblicke in die genaue
Funktionsweise des CMS ermöglicht.
Linux dürfte in absehbarer Zeit die Marktmacht Microsofts zumindest im Consumer
Bereich nicht ernsthaft gefährden, da sich dessen Produkte im Heim- und Büroalltag
etabliert haben. Auch die Firma Apple, die sich als zweiter Konkurrent des Marktführers
etabliert hat, wird daran nicht viel ändern können. Im Bereich der Content Management
System stellt sich die Situation aber ganz anders dar. Hier kämpfen ca. 300 Anbieter um
Marktanteile (vgl. Nix S.128), von denen ein großer Teil mittelständische Unternehmen
als Zielgruppe hat. Doch gerade für die Bedürfnisse diese Firmen werden Open Source
Alternativen immer interessanter, da mit ihnen keine Lizenz- und Erwerbskosten
anfallen und sie sich zudem kostengünstig bzw. kostenlos erweitern lassen.
Seite | 19
Ein Argument, das gegen die Verwendung von Open Source Software sprechen soll, ist
die angeblich stümperhafte Programmierung und unzureichende Stabilität. Jedoch
haben sich dort mittlerweile professionelle Entwicklungs- und
Qualitätssicherungsprozesse etabliert. Ein Nachteil, mit dem die Hersteller
argumentieren, kann aber bestätigt werden. Die meisten freien CMS speichern ihre
Inhalte nur als HTML-Code ab, andere Formate können sie nicht ausgeben. Auch besteht
in der Aufbereitung der Inhalte für verschiedene Endgeräte (PDA oder Smartphone)
Nachholbedarf.
Durch die gegebene Freiheit, sich selber an der Entwicklung von Open Source Projekten
zu beteiligen und diese zu erweitern, entstehen oft viele Nebenprojekte, die dasselbe
Ziel verfolgen. So hat man im CMS „Joomla“ die Wahl zwischen einer Hand voll
WYSIWYG- Editoren, die letztendlich einen äquivalenten Funktionsumfang bieten, keiner
bietet jedoch die Möglichkeit, Artikeltemplates zu verwenden.. Hier schafft nur der Griff
zu eine kommerziellen Produkt Abhilfe. Des weiteren kann es passieren, dass
ambitionierte Projekte einschlafen und letztendlich nicht mehr weiter entwickelt
werden. Auch bekannte Fehler werden dann nicht mehr behoben. So bleibt nur der Griff
zu einer alternativen Komponente, bei der man unter Umständen auf einige Funktionen
verzichten muss.
5.2.1 Lizenzen
Im Open Source Bereich gibt es auch Lizenzen, welche die Nutzung des Quellcodes und
der daraus erzeugten Programme reglementieren. In der Regel ist eine kommerzielle
Nutzung gestattet und Erweiterung, Lizenzen wie die GPL (General Public License17)
schreiben aber vor, dass der modifizierte Quellcode entweder mit dem Programm
weitergereicht werden oder auf Anfrage nachgeliefert werden muss. Solange
kommerzielle CMS Erweiterungen lediglich Schnittstellen eines Open Source Systems
verwenden, können sie ohne Probleme unter einer anderen Lizenz veröffentlicht
werden, bedient sich aber der Hersteller einer solchen Erweiterung des Programmcodes
freier Projekte, und gibt sein Produkt als Closed Source unter einer anderen Lizenz
heraus, kann dies zu gerichtlichen Auseinandersetzungen führen. Da ein CMS meist als
Baukastensystem organisiert ist und aus einem Grundsystem mit dazugehörigen 17 www.gnu.de/documents/gpl.de.html
Seite | 20
Erweiterungen besteht, müssen unter Umständen zahlreiche Lizenzen beachtet werden,
was zu einer gewissen Rechtsunsicherheit führen kann.
Die Vielfalt an Herstellern und Projekten, die sich mit der Entwicklung von
Erweiterungen eines freien CMS beschäftigen, kann zudem zu weiteren Problemen
führen, wenn Fragen zur Funktionsgarantie auftreten. Projekte im Open Source Bereich
werden oft als Hobby betrieben, es besteht wird also keine Garantie in puncto Sicherheit
oder regelmäßiger Pflege. Wenn also die Existenz einer Firma durch fehlerhafte
Erweiterungen gefährdet wird, so gibt es niemanden, der dafür geradesteht. Wer sich
für ein kommerzielles Content Management System entscheidet, hat in der Regel nur
eine Lizenzvereinbarung und einen Ansprechpartner, der bei Problemen Abhilfe schaffen
muss. Ist ihm dies nicht möglich, so muss er in der Regel vertraglich vereinbarte
Konventionalstrafen zahlen.
5.2.2 Kosten und Service
Open Source Software ist zwar kostenlos, aber nur wenige Unternehmen verfügen über
Personal, das entsprechendes Wissen und die nötige Kompetenz besitzt, um einen
ansprechenden Internetauftritt zu erstellen und zu administrieren. Diese Posten müssen
zusätzlich in den Total Cost of Ownership18 mit einbezogen werden. Wie bei einem
kommerziellen CMS auch, fallen Kosten für Hardware, spezielle Anpassungen, Betrieb,
Wartung, Konzeption, Design und Schulungen an.
Um diesen Markt zu bedienen bieten zahlreiche Firmen ihre Dienste an. Sie sind primär
auf Serviceleistungen wie Hosting, Layout-Gestaltung, Generierung von Inhalten und
Schulungen spezialisiert, da mit der Grundsoftware an sich kein Geld verdient werden
kann. Eigenentwicklungen beschränken sich auf Anpassungen eines CMS und die
Programmierung spezieller Erweiterungen. Ist die Erstellung dieser zusätzlichen
Komponenten sehr aufwendig, schwindet der Kostenvorteil gegenüber kommerzieller
Software sehr schnell.
18 www.crmmanager.de/ressourcen/glossar_352_tco_total_cost_of_ownership.html
Seite | 21
6. Technologien
Die Hauptaufgabe eines Content Management Systems ist die Zusammenstellung von
Inhalten und deren Aufbereitung zu HTML-Seiten. Die dafür benötigten Informationen
werden im Allgemeinen aus einer Datenbank entnommen und die fertigen Dokumente
von einem Webserver ausgeliefert. Hierzu wird ein Technologiemix verwendet, der sich
je nach gestellten Anforderungen an das System, unterschiedlich zusammensetzt.
Kleine und mittelgroße Web Content Management Systeme setzten im Allgemeinen auf
eine so genannte 3-Tier-Architektur (siehe Abbildung 7), die aus einer
Präsentationsschicht (Client), einer Logikschicht (Webserver) und einer Datenschicht
besteht. Die Geschäftslogik liegt hier auf dem Webserver, der direkt mit der Datenbank
kommuniziert. Solche Systeme werden meist in skriptbasierten Programmiersprachen
wie PHP, Perl oder Python realisiert, die innerhalb eines Webservers lauffähig sind und
meist plattformunabhängig zu Verfügung stehen. Um komplexe Aufgaben
durchzuführen (z. B. die Größenänderung von Bildern) finden meist externe Programme
Verwendung, die per Skript gesteuert werden können.
Da die Kernfunktionalität eines Webservers ursprünglich lediglich die Auslieferung von
Da Webserver eigentlich lediglich für die Auslieferung von Internetseiten bestimmt
waren und erst später um die Verarbeitung von Skriptsprachen erweitert wurden, kann
sich diese Lösung ab einem gewissen Besucheraufkommen als zu inperformant
erweisen. Aus diesem Grund verwenden große Content Management Systeme,
insbesondere ECMS, oft einen Ansatz, der auf einem Applikationsserver basiert. In
diesem Kontext wird von einer 4-Tier-Architektur gesprochen (siehe Abbildung 8).
Abbildung 7: 3-Tier-Architektur
Tier 1 Client
Tier 2 Geschäftslogik
Tier 3 Datenhaltung
Webbrowser
Webserver Skriptsprache
Ext. Programme
PHP HTTP API Relationales DBMS XML DBMS
Seite | 22
Hier sendet der Client eine Anfrage an den Webserver, der diese mittels einer
Middleware in einen entfernten Methodenaufruf umgesetzt (in Java: RMI – Remote
Method Invocation) und dem Applikationsserver weiterleitet. Dort ist die Geschäftslogik
des CMS in Form verschiedener kooperierender Programme umgesetzt, die durch
Datenbankabfragen die nötigen Informationen sammeln, als HTML aufbereiten und an
den Webserver zur Auslieferung zurückgegeben. Auf Applikationsserverebene haben
sich zwei Technologien durchgesetzt. Dies wäre zum einen die J2EE-Plattform (Java
Enterprise Edition), zum anderen das .NET-Framework von Microsoft.
Zur Datenhaltung werden relationale Datenbanken wie MySQL, Microsoft SQL oder
Oracle eingesetzt. Für Content Management Systeme, die ihre Inhalte in XML speichern,
sind auch XML-Datenbanken wie Tamino19, Infonyte20, Berkeley DB XML21 interessant, da
hiermit eine Wandlung der Daten (z. B. von rational zu XML) hinfällig wird. Die
Datenbank enthält alle Informationen, die zur Darstellung einer Internetseite benötigt
werden. Dies sind primär die gespeicherten Texte, je nach System können aber auch
Bilder und Layoutinformationen dort abgelegt werden. Die Umsetzung der Datenhaltung
orientiert sich an der zu erwartenden Besucherzahl. Ist diese gering, so können alle
benötigten Komponenten des CMS auf einem Server laufen. Ab einem gewissen Punkt
ist es sinnvoll, die Datenbank auszugliedern, um den Rest des Systems zu entlasten.
Mitunter kommen mehrere redundante oder auch verteilte Datenbanken zum Einsatz,
die über einen Lastverteilungsmechanismus angesprochen werden.
19 www.softwareag.com/Corporate/products/tamino/default.asp 20 www.infonyte.de/ 21 www.oracle.com/database/berkeley-db/xml/index.html
Abbildung 8: 4-Tier Architektur
Tier 1 Client
Tier 3 Applikationsserver
Tier 3 Datenhaltung
Webbrowser
DMBS
Tier 2 Web-Container
Geschäftslogik
Komponenten
RMI HTTP API
Webserver
Middleware
Seite | 23
7. Barrierefreiheit
Mit zunehmender Nutzung des Internets steigt auch der Bedarf an barrierefreien
Webangeboten. Dies bedeutet, dass eine Internetseite für jeden Benutzer lesbar und
bedienbar sein muss, unabhängig davon, ob er körperlich beeinträchtigt ist, oder nicht.
Um dieses Bestreben zu unterstützen, hat das W3C die Web Accessibility Initiative
(WAI)22 gegründet, von der 1999 die Web Content Accessibility Guidelines 1.0 (WCAG)23
verabschiedet wurde. Darin sind insbesondere 14 Richtlinien bezüglich der
barrierefreien Programmierung von Internetseiten, Inhaltsarchitekturen, Layout-
Grundlagen und Technologieverwendung festgelegt.
In Deutschland ist dieses Thema inzwischen gesetzlich geregelt. Das „Gesetz zur
Gleichstellung behinderter Menschen (BGG)24“, welches am 27. April 2002 in Kraft
getreten ist, beinhaltet folgenden Paragrafen:
§ 11 Barrierefreie Informationstechnik
(1) Träger öffentlicher Gewalt im Sinne des § 7 Abs. 1 Satz 1 gestalten ihre
Internetauftritte und -angebote sowie die von ihnen zur Verfügung gestellten
grafischen Programmoberflächen, die mit Mitteln der Informationstechnik
dargestellt werden, *…+ schrittweise technisch so, dass sie von behinderten
Menschen grundsätzlich uneingeschränkt genutzt werden können. *…+
(2) Die Bundesregierung wirkt darauf hin, dass auch gewerbsmäßige Anbieter von
Internetseiten sowie von grafischen Programmoberflächen, die mit Mitteln der
Informationstechnik dargestellt werden, *…+ ihre Produkte entsprechend den
technischen Standards nach Absatz 1 gestalten.
Behörden müssen dafür Sorge tragen, dass ihre Internetangebote für eine möglichst
große Anzahl der Bürger zugänglich sind, aber auch Firmen sollten ein Interesse an
einem barrierefreien Internetauftritt haben, da jeder Besucher ihrer Webseite ein
potenzieller Kunde ist. Zudem nehmen Suchmaschinen einer Internetseite ähnlich wie
sehbehinderte Nutzer wahr. Sie können nur textuelle Informationen einlesen und
22 www.w3.org/WAI/ 23 www.w3.org/TR/WCAG10/#Guidelines 24 www.gesetze-im-internet.de/bgg/BJNR146800002.html
Seite | 24
verarbeiten. Ein entsprechend angepasster Internetauftritt kann also eine Verbesserung
im Ranking eines solchen Dienstes bedeuten.
Web Content Management Systeme können dabei Unterstützung leisten, da sie einen
großen Teil der Seite automatisch generieren und der erzeugte Code auf Barrierefreiheit
hin optimiert werden kann. Sind die Menschen, die sich mit der Einpflege von Inhalten
beschäftigen nicht speziell geschult, wird dieser Vorteil aber wieder schnell
zunichtegemacht. Aus diesem Grund sollten Artikel von der freigebenden Instanz im
Workflowprozess auf die entsprechenden Kriterien überprüft werden.
7.1 Grafische Gestaltung
Für eine gute Webpräsenz ist in erster Linie eine übersichtliche Gestaltung wichtig.
Informationen sollten an den Positionen verfügbar gemacht werden, an denen sie der
Besucher erwartet. Hierzu bedarf es eines einfach gestalteten Menüs mit
aussagekräftigen und nach Möglichkeit wenig verschachtelten Unterpunkten.
Ein weiteres wichtiges Kriterium ist die Kompatibilität zu unterschiedlichen
Anzeigegeräten und Betriebssystemen - nicht jeder Interessent wird mit einer
Kombination aus Windows und Internet Explorer eine Internetseite aufsuchen. Gerade
behinderte Menschen verwenden oft textbasierte Browser, die keine Grafiken
verarbeiten können. Heutzutage werden immer öfter Smartphones oder PDAs zum
Surfen eingesetzt, die unter Umständen kein Javascript oder keine Flash Animationen
unterstützen. In diesem Umfeld sollte auf darauf geachtet werden, dass hier andere
Bildschirmauflösungen als sie auf einem PC üblich sind, verwendet werden.
Als primärer Informationsträger innerhalb des Internets werden Texte verwendet. Hier
sind ein paar Dinge hinsichtlich der Schriftformatierung zu beachten. Dies beginnt
bereits bei der Wahl einer geeigneten Schriftart, denn nicht jedem Anzeigegerät stehen
dieselben Schriftarten zu Verfügung. Aus diesem Grund sollte der Webdesigner in seiner
Stylesheet-Datei25 immer unterschiedliche Fonts vorsehen. Hier haben sich Verdena,
Arial, Times New Roman und Helvetica etabliert. Alternativ kann auch eine so genannte
generische Schriftart angegeben werden. Es gibt fünf verschiedene Arten dieser
25 de.wikipedia.org/wiki/Stylesheet
Seite | 25
generischen Schriften (siehe Tabelle 2). Die damit verknüpfte Schrift wird letztendlich
durch das Betriebssystem oder den Browser bestimmt.
Tabelle 2: Generische Schriftarten (alle mit 11 Pt Größe)
Typ Beispiel
serif Eine Schriftart mit Serifen (Times New Roman)
sans-serif Eine Schriftart ohne Serifen (Arial)
monospace Eine Schriftart mit Buchstaben
identischer Breite (Courier New)
cursive Eine schräg gestellte Schrift (Calibri - kursiv)
fantasy Eine Schmuckschrift (Impact)
Wie man sehen kann, haben die Buchstaben der Beispiele, trotz identisch gewählter
Schriftgröße, eine unterschiedliche Höhe. Dies wirkt sich natürlich auch auf das
Aussehen einer Internetseite aus, die auf einem Anzeigegerät betrachtet wird. Zur
Bestimmung der Schriftgröße existieren in HTML sowohl absolute (cm, pt, px), als auch
relative Einheiten (em, %). Bei Letzteren wird die resultierende Größe anhand der
Standardeinstellungen des Browsers bzw. eines Elternelementes in der Seitenstruktur
bestimmt.
Die Wahl der Einheit ist letztendlich eine Glaubensfrage. Wenn hoher Wert auf eine
möglichst einheitliche Darstellung auf unterschiedlichen Browsern und
Betriebssystemen gewünscht, so ist eine pixelgenaue Angabe zu empfehlen. Für
normalen Text hat sich eine Größe zwischen 12 und 14 Pixeln etabliert, Überschriften
sollten zwischen 15 und 18 Pixeln liegen. Eine optimale Anpassung an unterschiedliche
Displaygrößen und Auflösungen ist nur mit einer relativen Einheit zu bewerkstelligen.
Hier wird im Allgemeinen eine Angabe in em bevorzugt.
Im Bereich der grafischen Gestaltung einer Internetseite gibt es ebenfalls einige
Richtlinien. Hier sollte der Fokus auf einer kontrastreichen Farbwahl liegen, um
farbfehlsichtige Menschen nicht auszuschließen. Haben der Seitenhintergrund und die
darauf liegende Schrift einen ähnlichen Farbton, so könnte eine auf diese Weise
beeinträchtigte Person wichtige Informationen übersehen. Um einen Eindruck zu
gewinnen, wie sich die eigene Webpräsenz Sehbehinderten darstellt, bieten sich die
Seite | 26
Angebote von Vischeck26 oder dem Colorblind Webpage Filter27 an. Abbildung 9 zeigt die
Internetseite von Spiegel Online zum einen aus der Sichtweise einer Person ohne
Sehstörung und zum anderen wie sie ein Mensch mit Deuteranopie (Grünblindheit)
warnehmen würde.
Abbildung 9: www.spiegel.de für Normalsichtige (l) und Menschen mit Deuteranopie
7.2 Gestaltung auf Code-Ebene
In diesem Bereich sollte eine Kombination aus XHTML28 und CSS29 gewählt werden. Die
Regeln für XHTML-Code sind wesentlich strenger, als die des regulären HTML. Ein
solches Dokument muss den Regeln einer Grammatik entsprechen, die als so genannte
Dokument-typdefinition (DTD) vorliegt. Sie schreibt unter Anderem vor, welche
Attribute ein Element besitzen muss. Hier sind in erster Linie zwei Schlagworte von
Bedeutung: Wohlgeformtheit und Gültigkeit.
Grundregeln für Wohlgeformtheit in XHTML
- Jedes Dokument besitzt genau ein Wurzelelement (<html>)
- Alle Elemente mit Inhalt verfügen über ein Beginn- und ein Ende-Tag
(<h1>…</h1>)
- Elemente ohne Inhalt müssen ebenfalls abgeschlossen sein (<br/>)
- Beginn- und Ende-Tags sind ebenengetreu, paarig zu verschachteln
- Ein Element darf nicht mehrere Attribute desselben Namens besitzen
26 www.vischeck.com 27 colorfilter.wickline.org 28 www.w3.org/TR/xhtml1/ 29 www.w3.org/Style/CSS/
Seite | 27
Ein Dokument ist gültig, wenn es den Regeln der Wohlgeformtheit folgt, den Verweis auf
eine DTD enthält und dieser auch entspricht. Erfüllt es diese Kriterien, so sollte ein
Screenreader30 eigentlich keinerlei Probleme bei dessen Verarbeitung haben, leider
ergeben sich aber weitere Probleme, die hauptsächlich mit der Zweckentfremdung von
HTML-Elementen und einer unzureichenden Trennung von Struktur und Formatierung
zusammenhängen.
Die wichtigste Regel für barrierefreies Webdesign ist, die in HTML zu Verfügung
gestellten Elemente entsprechend ihrer Bedeutung einzusetzen. Ein Beispiel, das von
vielen Quellen herangezogen wird, die dieses Thema beleuchten, ist der Umgang mit
Überschriften. Hierbei gibt es zwei Herangehensweisen (siehe Listing 1). Bei der ersten,
häufig verwendeten Methode wird ein Text geschrieben, der eine Überschrift darstellen
soll und anschließend manuell formatiert. Die zweite, weitaus bessere Lösung, ist die
Verwendung des von HTML für Überschriften vorgesehenen h-Tags. Die Formatierung
wird hierbei über eine externe CSS-Regel bewerkstelligt.
Bei aktivierten CSS Stylesheets führen beide Wege optisch zum selben Ergebnis, aber nur
mit der zweiten Methode erhält man eine Dokumentenstruktur, die von Suchmaschinen
und Screenreadern gut erfasst werden kann. Zudem reduziert sie erheblich den
Aufwand, wenn Änderungen am Design der Seite durchgeführt werden müssen. Es
bedarf lediglich einer Änderung der CSS-Datei, um alle Überschriften der Webpräsenz
anzupassen.
Listing 1: Zwei Methoden zur Gestaltung einer Überschrift
Schlechte Methode HTML-Datei:
<font style=“size: 18px“>Überschrift 1</font>
Besser
HTML-Datei:
<h1>Überschrift 1</h1>
CSS-Datei:
h1{font-size: 18px;}
30 de.wikipedia.org/wiki/Screenreader
Seite | 28
Weitere Probleme entstehen durch die Verwendung von Tabellen zu
Formatierungszwecken. Die ansprechende Gestaltung einer Internetseite kann sich als
recht kompliziert herausstellen, wenn man über wenige Kenntnisse bezüglich HTML
oder der Funktionen des eingesetzten Editors verfügt. So kann sich schon die einfache
Positionierung eines Bildes innerhalb eines Textes als Problem herausstellen. Ein häufig
beschrittener Lösungsweg ist der Einsatz mehrspaltiger Tabellen, die beliebig angepasst
werden und dann Texte und zugehörige Illustrationen aufnehmen. Mehrfach
verschachtelte Tabellen in Kombination mit den zugehörigen Formatierungsattributen
erzeugen einen Overhead an Informationen, die der Screenreader verarbeiten und
ausgeben muss. Der blinde Benutzer verliert so schnell die „Übersicht“ auf der Seite.
Durch diese Methode müssen zudem unnötige Daten übertragen werden, was
insbesondere bei mobilen Endgeräten mit erhöhten Kosten verbunden ist.
Ein weitaus besserer Ansatz ist die Verwendung von DIV-Elementen31. Mit ihnen können
Bild- oder Textinformationen gekapselt und anschließend per externer CSS-Datei
beliebig positioniert werden. Sind die CSS Stylesheets deaktiviert, wie es bei
textbasierten Anzeigegeräten meist der Fall ist, so erscheinen alle Elemente geordnet
untereinander. Der Betrachter kann die Seite nun vertikal abarbeiten und muss nicht
zusätzlich in der horizontalen Ebene nach Informationen suchen.
31 www.w3schools.com/tags/tag_div.asp
Seite | 29
8. Joomla
Joomla ist ein populäres Open Source WCMS, das sich immer
größerer Beliebtheit erfreut. Zusammen mit TYPO332 und
Drupal33 gehört es zu den bekanntesten Systemen dieser Art
und ist für kleine bis mittelgroße Internetseiten ausgelegt.
Joomla basiert auf der serverseitigen Programmiersprache PHP,
verwendet zur Datenhaltung eine MySQL Datenbank und ist primär für den Betrieb auf
einem Apache Webserver innerhalb eines Linux Betriebssystems ausgelegt. Es lässt sich
also komplett in einer Open Source Umgebung betreiben. Die benötigten
Programmversionen sind aus Tabelle 3 ersichtlich. Das CMS bietet im
Auslieferungszustand nur grundlegende Funktionen zur Verwaltung und Präsentation
von Webinhalten, weist aber Schnittstellen zur Einbindung von Erweiterungen auf, von
denen in Kapitel 8.3 einige vorgestellt werden.
Joomla ist für den Betrieb kleiner bis mittelgroßer Internetseiten geeignet. Die
Homepage des Projektes weist zahlreiche Referenzen34 für dessen Anwendung aus.
Unter anderem wird es als Basis für die Internetauftritte des Computermagazins PC-
Praxis (Abbildung 10) und des Marktforschungsunternehmens Media Control (Abbildung
11) eingesetzt.
Abbildung 10: www.pcpraxis.de
Abbildung 11: www.media-control.de
32 www.typo3.org 33 www.drupal.org 34 www.joomla.org/content/blogcategory/35/69/
Programmversion PHP > 4.2.x MySQL > 3.23.x Apache > 1.3.x
Tabelle 3: Joomla
Systemvoraussetzungen
Seite | 30
8.1 Die Geschichte
Joomla hat seinen Ursprung im Jahr 2001, in dem die Firma Miro (heute Rice Studios35)
ihr Content Management System Mambo36 als Open Source Software der Allgemeinheit
zur Verfügung stellte. Ihre Beweggründe dafür waren umfangreiche Tests durch die
Community und der Wunsch nach einer weiteren Verbreitung des Systems.
2002 wurde eine kommerzielle Variante mit dem
Namen Mambo CMS abgespalten und die freie
Variante in Mambo Open Source (MOS) umbenannt.
Im Jahr 2004 wurde entschieden, diese Version
wieder unter dem Namen Mambo zu führen.
Um die Weiterentwicklung des Projektes zu unterstützen, plante Miro die Gründung
einer Stiftung für die Open Source Variante, die am 10.8.2005 als Mambo-Foundation37
angekündigt wurde. Miro hatte sich in den Jahren zuvor nicht mehr an der Pflege des
CMS beteiligt, sondern die Arbeit einem Team aus der Community überlassen. Trotzdem
sollte die Kontrolle über die Stiftung bei der Firma liegen, wodurch sich die Entwickler
übergangen sahen.38 Deshalb kündigten diese am 17.08.2005 Pläne bezüglich einer
Abspaltung vom Mambo Projekt an.
Am 01.09.2005 wurde der Name Joomla! für die Abspaltung bekannt gegeben, der sich
von dem Wort Jumla aus der Suaheli-Sprache ableitet. Es bedeutet das Ganze oder auch
als Ganzes und soll die Rolle der Community betonen. Das Entwicklerteam sicherte sich
die Rechte an dem neuen Namen und teilte ihn vor der offiziellen Bekanntgabe den
Betreibern einschlägiger Mambo Internetseiten mit, um ihnen eine zeitnahe Umstellung
ihrer Domains zu ermöglichen.
Am 7.9.2005 wurde ein Logowettbewerb
ausgeschrieben, um dem Projekt mit dem Slogan
Because Open Source Matters ein neues Gesicht zu
verleihen. Die eingereichten Vorschläge wurden am
35 www.ricestudios.com.au 36 source.mambo-foundation.org/ 37 www.mambo-foundation.org/ 38 www.golem.de/0508/39942.html
Abbildung 12: Das Mambo Logo
Abbildung 13: Das Joomla! Logo
Seite | 31
14.9.2005 der Community zur Abstimmung vorgelegt und am 17.9.2005 die erste Joomla
Version 1.0 veröffentlicht.
Mittlerweile (August 2007) hat das Projekt Version 1.0.13 erreicht, zudem steht die in
vielen Punkten überarbeitete Version 1.5 als Release Candidate zu Verfügung (dazu
mehr in Kapitel 8.5. Der überwiegende Teil der 3rd Party Entwickler hat zum Joomla
Projekt gewechselt, Mambo wird jedoch von einem neuen Entwicklerteam
weitergepflegt, hat aber mittlerweile an Bedeutung verloren. Joomla hingegen konnte in
den letzten Jahren zahlreiche Preise gewinnen und seinen Beliebtheitsgrad steigern.
8.2 Angewandte CMS Konzepte
Joomla verfügt über die Basiskonzepte, die ein Content Management System bieten
sollte. Dazu gehört eine Zugriffsverwaltung, ein Workflowkonzept, Erweiterbarkeit und
Templates zur Trennung von Inhalten und Layout.
8.2.1 Front- und Backend
Joomla ist in zwei Bereiche aufgeteilt – das Frontend und das Backend (Abbildung 14 und
Abbildung 15). Das Frontend ist letztendlich die Homepage, die der Besucher zu Gesicht
bekommt. Registrierte Benutzer können mit entsprechenden Rechten Artikel ändern
oder neu anlegen. Hierzu steht dem Autor ein komfortabler WYSIWYG-Editor zu
Verfügung. Über das Backend wird die Homepage administriert. Hier lassen sich
ebenfalls Artikel verändern oder neu angelegen, zudem werden in diesem Bereich die
Menüs und die Artikelstruktur verwaltet. Zusätzlich bietet das Backend die Möglichkeit
Erweiterungen, die den Funktionsumfang der Seite erhöhen können, zu installieren und
Einstellungen daran vorzunehmen. In Kapitel 8.4 werden einige davon vorgestellt.
Abbildung 14: Joomla Frontend mit geöffnetem Artikel
Abbildung 15: Joomla Backend mit geöffnetem Menü-Manager
Seite | 32
8.2.2 Zugriffsrechte und der resultierende Workflow
Die Benutzerverwaltung in Joomla ermöglicht eine Registrierung über das Frontend der
Internetseite. Je nach Konfiguration wird ein neues Mitglied automatisch, oder durch
einen Backendbenutzer freigeschaltet. Die zuteilbaren Rechte, insbesondere im Bereich
der Sichtbarkeitsattribute, sind im Gegensatz zu anderen Content Management System
nur recht grob gehalten. Es lassen sich aber die Grundzüge der in Kapitel 4.2
vorgestellten Konzepte umsetzen. Tabelle 4 zeigt die verfügbaren Benutzertypen auf.
Tabelle 4: Joomla Benutzertypen
Frontendbenutzer Registered: Kann sich über das Frontend einloggen und auf diese Weise in einen
privaten Bereich gelangen. Änderungen an der Seite sind nicht gestattet.
Author: Darf neue Inhalte in die Seite einfügen. Dies geschieht über einen Link im Benutzer-Menü des Frontends. Die Inhalte müssen allerdings durch einen Publisher oder Backend-Benutzer freigeschaltet werden. Ein Autor darf nur eigene Artikel ändern.
Editor: Hat zusätzlich zu den genannten Rechten die Möglichkeit, beliebige Inhalte im Frontend zu bearbeiten.
Publisher: Kann Inhalte erstellen, bearbeiten und auch freischalten. Damit wird es möglich, die gesamte inhaltliche Arbeit direkt den Frontend-Usern zu überlassen.
Backendbenutzer Manager: Ist in erster Linie für die inhaltlichen Funktionen zuständig. Sie haben
Zugriff auf Inhalt, Sektionen und Kategorien, Frontpage, Menüs und das Archiv.
Administrator: Darf zusätzlich Benutzer verwalten, Erweiterungen installieren, sowie den Papierkorb leeren. Hat keinen Zugriff auf die Templates und globale Einstellungen.
Super Administrator:
Diese Gruppe hat alle Rechte, die man innerhalb des Systems erlangen kann.
Joomla bietet zusätzlich eine Option, die Sichtbarkeit jedes Elementes das der
Präsentation von Informationen auf der Homepage dient (Menüs, Artikel,
Erweiterungen), für bestimmte Betrachter einzuschränken. Hierzu definiert es drei
Benutzergruppen (siehe Tabelle 5), die auf jedes dieser Elemente angewendet werden
können. Eigene Gruppen können nicht definiert werden. Zwar existieren „Hacks“, die
dieses Manko beheben sollen, von deren Benutzung ist aber abzuraten, da ihre Funktion
nach einem Update des CMS nicht garantiert ist. Dies führt Probleme mit der
Seite | 33
ArticlesCategoriesSections
Termine
Schulungen
Termin 1
Termin 2
Release-Termine
Termin 1
Benutzerverwaltung nach sich. Die Joomla Roadmap39 sieht die Einführung eines neuen
Systems vor, nennt aber kein konkretes Datum oder Versionsnummer.
Tabelle 5: Joomla Sichtbarkeitsattribute
Typ Sichtbar für… Public: alle Besucher der Seite
Registered: Besucher mit dem Status „Registered“
Special: alle registrierten Besucher, deren Status mindestens „Author“ ist
8.2.3 Verwaltung und Präsentation der Inhalte
Joomla nutzt zur Strukturierung der
gespeicherten Inhalte so genannte „Sections“
und „Categories“. Wie in Abbildung 16
gezeigt wird, kann eine Section verschiedene
Categories enthalten, welche wiederum
Artikel aufnehmen. Selbige können aus
Texten, Bildern und Links bestehen,
zusätzliche multimediale Inhalte wie Videos
oder Tondateien lassen sich über
Erweiterungen des CMS bzw. Plugins für den WYSISWG-Editor realisieren. Ein Artikel
verfügt über verschiedene Attribute, so hat er einen Titel, einen Einführungstext und
einen Haupttext. Des Weiteren lassen sich diverse Einstellungen bezüglich Autor, der
bereits erwähnten Sichtbarkeit und Beginn bzw. Ende der Veröffentlichung wählen. Bei
langen Artikeln können auf Knopfdruck Seitenwechsel eingebaut werden.
Abbildung 17 zeigt exemplarisch einen Dialog zur Erstellung eines neuen Inhaltes. Im
linken, oberen Bereich wird der Titel des Artikels eingetragen und über zwei Pull-down-
Menüs Section bzw. Categorie bestimmt. Darunter finden sich zwei Editorbereiche mit
vielseitigen Formatierungsmöglichkeiten, die jeweils Einführungs- und Haupttext
aufnehmen. Im rechten Bereich lassen sich zahlreiche Attribute des Artikels festlegen.
Hier wird bestimmt, ob er veröffentlicht werden kann und auf der Startseite erscheinen
soll. Zusätzlich lässt sich festlegen, ab bzw. bis wann dies der Fall ist und welchen
Benutzergruppen er innerhalb dieser Zeit angezeigt wird.
39dev.joomla.org/content/view/23/61/
Abbildung 16: Strukturierung der Inhalte
Seite | 34
Abbildung 17: Anlegen eines neuen Artikels im Backend
Joomla bietet verschiedene Optionen zur Präsentation der eingestellten Inhalte (siehe
Abbildung 18). Zum einen ermöglicht es die direkte Verlinkung eines Artikels, wobei
Titel, Einführungstext und Haupttext angezeigt werden, zum andern lassen sich auch
Links auf Sections oder Categories setzen. In diesem Fall werden nur Titel und
Einführungstext aller enthaltener Artikel untereinander angezeigt, ein zugehöriger Link
öffnet dann den Haupttext. Alternativ bietet sich eine tabellarische Übersicht der Titel.
Abbildung 18: Unterschiedliche Darstellungsformen für Inhalte in Joomla
Link auf Categorie Direkter Link
Menüeintrag
Artikeltabelle
Titel
Einführungstext
Haupttext
Menü
Seite | 35
Die Verbreitung von Inhalten ist aber nicht auf die eigentliche Homepage begrenzt.
Artikel können auch als RSS-Feed bereitgestellt und von Besuchern abonniert werden.
So bleiben Interessenten über Veränderungen der Seite informiert.
8.2.4 Templates
Joomla-Templates sind sehr einfach strukturiert und auch von Menschen mit wenig
Erfahrung im Bereich Webprogrammierung umsetzbar. Sie bestehen aus einer HTML-
und einem Stylesheet, optional können Grafiken enthalten sein, die für das Layout
benötigt werden. Innerhalb der HTML-Datei findet die Festlegung der groben Struktur
des Seitenlayouts statt, an den Positionen, die später dynamisch generierte Inhalte
anzeigen sollen, muss ein entsprechendes PHP-Tag eingefügt werden. Die CSS-Datei
enthält die Formatierungen für die Elemente des Templates und des von Joomla
generierten Codes.
Listing 2 zeigt exemplarisch den Auszug eines Joomla-Templates. Über DIV-Elemente
werden Bereiche für Kopfleiste, Menü, Content und Fußleiste definiert (orange
markiert). Zusätzlich finden sich zwei PHP-Tags (blau markiert) zur automatischen
Einblendung von Menü und Content. Das externe Stylesheet legt das Aussehen dieser
Basiselemente fest und enthält zusätzlich Schriftformatierungen für automatisch
generierte Artikelüberschriften.
Listing 2: Ein einfaches Joomla Template
HTML-Datei <body>
<div id="kopfleiste"></div>
<div id="menu_left">
<?php mosLoadModules ('menu'); ?>
</div>
<div id="content_right">
<?php mosMainBody(); ?>
</div>
<div id="fussleiste"></div>
</body>
CSS-Datei #kopfleiste{
height: 100px;
background: url(header.gif); }
#menu_left{
width: 170px;
float: left; }
#content_right{
width: 665px;
float: right;}
#fussleiste {
height: 50px;
background: url(footer.gif);
}
.contentheading {
color: #1f469c;
font-size: 15px;
font-weight: bold;}
Seite | 36
8.3 Barrierefreiheit in Joomla
Joomla erzeugt in der Version 1.0.x standardmäßig keinen barrierefreien HTML-Code.
Menüs und Artikel werden mit Hilfe von Tabellen strukturiert, was bei der Verwendung
eines Screenreaders zu Problemen führen kann. Dennoch bieten sich einige
Möglichkeiten, eine zumindest teilweise barrierefreie Homepage zu realisieren. Hierfür
bedarf es der Installation des 508 Hacks40, welcher alle Tabellen durch DIV-Elemente
ersetzt. Zudem sollte bei der Templategestaltung auf die in Kapitel 7 vorgestellten
Konzepte Rücksicht genommen werden, insbesondere im Hinblick auf:
- Eine übersichtliche, tabellenfreie Struktur
- Valides XHTML
- Schriftart und Schriftgröße
- Farbwahl
- Kontraste
Zusätzlich muss bei der Artikelerstellung auf Dinge wie alternative Bildbeschreibungen
und korrekt formatiere Überschriften geachtet werden. Die meisten für Joomla
verfügbaren Editoren vermögen hierbei Unterstützung zu leisten. Der größte
Schwachpunkt bleibt in den meisten Fällen der Mensch, der die Inhalte einpflegt.
8.4 Erweiterungen
Joomla lässt sich natürlich auch erweitern. Der zugehörige Abschnitt der
Projekthomepage41 verzeichnet ca. 2000 Projekte der unterschiedlichsten Bereiche
(Stand August 2008), von denen der größte Teil als Open Source Software verfügbar ist.
Sie sind in Components, Modules und Mambots unterteilt. Components erweitern das
CMS um komplexe Funktionen, wie zum Beispiel ein Forum oder eine Galerie und
enthalten in der Regel eine umfangreiche Programmlogik, die über einen gesonderten
Bereich des Backends konfiguriert wird. Modules sind im Gegensatz zu Komponenten
einfacher aufgebaut. Sie sammeln in der Regel Daten aus unterschiedlichen Quellen
(Wetter, Aktienkurse, die Überschriften der fünf aktuellsten Artikel der eigenen
Homepage) und zeigen diese an einer im Template festgelegten Position im Frontend
40 www.run-digital.com 41 extensions.joomla.org
Seite | 37
an. Mambots stellen im Editor verwendbare Platzhalter zu Verfügung, die zur Laufzeit,
also wenn eine Seite geöffnet wird, durch Programmcode ersetzt werden. So sorgt
beispielsweise das Tag {flv}flash_video{/flv} des AllVideos-Mambots42 dafür,
dass ein Flash-Video samt Flash-Player an der entsprechenden Stelle erscheint.
Nachfolgend sollen einige Komponenten kurz vorgestellt werden, die den Aufbau der
Webpräsenz eines Unternehmens unterstützen können.
8.4.1 JoomFish43
Bisher konnten nur für die Standardausgaben des Frontends unterschiedliche Sprachen
ausgewählt werden, die Seite an sich war aber immer einsprachig gehalten. Mithilfe von
Joomfish lässt sich echte Mehrsprachigkeit erlangen. Der Benutzer kann über ein Menü
oder Symbol die gesamte Website auf eine andere Sprache umstellen. Alle Inhalte
werden in einem Übersetzungsmanager in die entsprechenden Zielsprachen übersetzt,
dazu gehören neben den normalen Artikeln natürlich auch die Menüs und Kategorien.
Die Lokalisierung läuft nicht automatisch ab, sondern muss manuell realisiert werden.
Das Grundpaket der Erweiterung gestattet nur die Übersetzung von Elementen der
Joomla Kernanwendung, seine Funktion kann aber über ein Plugin System erweitert
werden. Für viele beliebte Joomla Erweiterungen existieren entsprechenden Dateien.
8.4.2 DocMan44
Diese Erweiterung dient zur Verwaltung digitaler Dokumente. Sie ermöglicht den Upload
von Dateien die verschiedenen, individuell definierbaren Benutzergruppen zugeführt
werden können. Jede Datei kann in einem Downloadbereich mit einer individuellen
Beschreibung und einer beliebigen Lizenz ausgestattet werden, die vor dem
Herunterladen bestätigt werden muss. DocMan eignet sich somit zur Bildung
geschlossener Arbeitsgruppen mit separaten Downloadbereichen.
42 schaufenster.joomlaportal.ch/107/content/view/162/45/ 43 www.joomfish.net 44 www.mambodocman.com/
Seite | 38
8.4.3 VirtueMart45
Hierbei handelt es sich um eine professionelle Online-Shop-Lösung, die sich nahtlos in
ein bestehendes Joomla Projekt integrieren lässt. Nachfolgend einige Features, die den
Funktionsumfang von VirtueMart verdeutlichen sollen:
- Beliebig viele Produkte, Kategorien und Unterkategorien
- Produktbilder
- Auch als Downloadshop für digitale Güter (MP3, Texte, Software) einsetzbar
- Rabattsystem für unterschiedliche Kundengruppen
- Kundenbenachrichtigungen (Zahlungseingang, Wiederverfügbarkeit von Ware)
- Verwaltung unterschiedlicher Länder und Währungen
- Unterschiedliche Steuersätze
- Automatische Versandkostenberechnung von verschiedenen Speditionen (DHL,
UPS, …)
- 128-Bit SSL Verschlüsselung
- Zahlung per Rechnung, Kreditkarte und Online Bezahlsysteme wie PayPal
8.5 Ausblick
Die nächste Joomla Version wird in absehbarer Zeit erscheinen und bringt in allen
Bereichen eine Vielzahl sinnvoller und auch nötiger Neuerungen mit sich:
- Nur noch ein Editorfenster nötig (früher jeweils für Einleitung und Haupttext)
- Lokalisierbares Backend (früher nur in Englisch verfügbar)
- Uneingeschränkte UTF-8 Tauglichkeit
- Erhöhte Zugänglichkeit und Barrierefreiheit
Abkehr von Tabellen zur Formatierung von Artikeln
Listenbasierte Menüs (keine Tabellen)
Verbesserung der Suchmaschinentauglichkeit
- LDAP Support
- XML-RPC Support zur Integration von Webservices (SOA)
- Ein neuer Datenbank Abstraktions Layer um unterschiedliche Datenbanken
unterstützen zu können
45 www.virtuemart.com
Seite | 39
9. Zusammenfassung
Web Content Management Systeme haben im Internet eine hohen Stellenwert erlangt.
Sie bieten Firmen, aber auch Privatpersonen die Möglichkeit, Informationen in
strukturierter Art und Weise anzubieten. Durch Konzepte wie die Trennung von Inhalt
und Layout oder die Ermöglichung der dezentralen Pflege von Inhalten, sind sie sehr
flexibel in ihrer Handhabung und dem Ansatz der statischen Webprogrammierung weit
überlegen.
Die Konzeption einer WCMS-basierten Internetpräsenz erfordert allerdings einige
Vorarbeit. Dies beginnt mit der Auswahl eines geeigneten Systems, das aktuelle, aber
auch zukünftige Anforderungen berücksichtigt. Hier konkurrieren viele kommerzielle
Anbieter um die Gunst der Kunden, doch auch im Open Source Bereich haben sich einige
Projekte zu einer ernsthaften Konkurrenz gemausert und sollten durchaus Beachtung
finden. Weiterhin bedarf es der Erstellung eines repräsentativen Templates und einer
gut geplanten inhaltlichen Struktur. Sind diese Vorraussetzungen erfüllt, so erhält man
eine zukunftssichere Plattform, mit der auf einfache Art und Weise Webinhalte verfasst
und präsentiert werden können.
Leider wird das Thema Barrierefreiheit in den meisten Produkten nur unzureichend
beachtet. Dabei besteht ein großer Bedarf an zugänglichen Internetangeboten, der
durch die deutsche und europäische Gesetzgebung unterstützt und vorangetrieben
wird. Webangebote des Bundes und der Länder müssen bereits barrierefrei gestaltet
werden. Hersteller, die schon heute solche Systeme anbieten, werden in naher Zukunft
einen erheblichen Wettbewerbsvorteil haben. Es dürfte sich also auch finanziell lohnen,
bestehende Produkte an diese Forderungen anzupassen.
Auch im Open Source Bereich lässt sich ein gewisser Fortschritt und ein Umdenken
feststellen. Am Beispiel von Joomla wurde gezeigt, dass in kommenden
Programmversionen auf eine erhöhte Flexibilität gesetzt wird. Durch die UTF-8
Zeichenkodierung und der Möglichkeit einer kompletten Lokalisierung des Systems
erschließt es sich nun einer noch breiteren Nutzergruppe. Auch das Thema
Barrierefreiheit soll zukünftig Berücksichtigung finden.
Es bleibt spannend.
Seite | 40
Anhang
I. Abkürzungsverzeichnis
API Application Programming Interface APS Application Service Providing B2B Business-To-Business B2C Business-To-Consumer BGG Gesetz zur Gleichstellung behinderter Menschen CMS Content Management System CSS Cascading Stylesheet DTD Document Type Definition ECMS Enterprise Content Management System EM equal M – Maßeinheit im Schriftsatz FTP File Transfer Protocol GPL General Public License HTML Hypertext Markup Language ICE Information and Content Exchange Protocol JPG Joint Photographic Experts Group - Bildformat LDAP Lightweight Directory Access Protocol MOS Mambo Open Source MP3 MPEG-1 Audio Layer 3 - Audioformat PDA Personal Digital Assistant PDF Portable Document Format PHP PHP: Hypertext Preprocessor PT Typografischer Punkt – Schriftsatzmaß PX Pixel RMI Remote Method Invocation RSS Really Simple Syndication SOA Serviceorientierte Architektur SSL Secure Sockets Layer UTF Unicode Transformation Format W3C World Wide Web Consortium WAI Web Accessibility Initiative WCAG Web Content Accessibility Guidelines WCMS Web Content Management System WYSIWYG What You See Is What You Get XHTML Extensible HyperText Markup Language XML Extensible Markup Language XML-RPC Extensible Markup Language Remote Procedure Call XSL Extensible Stylesheet Language XSLT Extensible Stylesheet Language Transformation
Seite | 41
II. Abbildungsverzeichnis
Abbildung 1: Der Content Lifecycle ............................... Fehler! Textmarke nicht definiert.
Abbildung 2: Arbeitsabläufe bei der Generierung statischer Internetseiten ...................... 7
Abbildung 3: Generierung von Inhalten in einem Content Management System .............. 9
Abbildung 4: Workflowaktivitäten ..................................................................................... 11
Abbildung 5: Zusammenfassung mehrerer Komponenten zu einem Artikel .................... 13
Abbildung 6: Umwandung von XML-Daten in andere Formate ........................................ 15
Abbildung 7: 3-Tier-Architektur ......................................................................................... 21
Abbildung 8: 4-Tier Architektur ......................................................................................... 22
Abbildung 9: www.spiegel.de für Normalsichtige (l) und Menschen mit Deuteranopie .. 26
Abbildung 10: www.pcpraxis.de ........................................................................................ 29
Abbildung 11: www.media-control.de .............................................................................. 29
Abbildung 12: Das Mambo Logo ........................................................................................ 30
Abbildung 13: Das Joomla! Logo ........................................................................................ 30
Abbildung 14: Joomla Frontend mit geöffnetem Artikel ................................................... 31
Abbildung 15: Joomla Backend mit geöffnetem Menü-Manager ..................................... 31
Abbildung 16: Strukturierung der Inhalte .......................................................................... 33
Abbildung 17: Anlegen eines neuen Artikels im Backend ................................................. 34
Abbildung 18: Unterschiedliche Darstellungsformen für Inhalte in Joomla ..................... 34
III. Tabellenverzeichnis
Tabelle 1: Beziehung zwischen dem Zustand des Dokuments und der beteiligten Rolle . 11
Tabelle 2: Generische Schriftarten (alle mit 11 Pt Größe) ................................................. 25
Tabelle 3: Joomla Systemvoraussetzungen ....................................................................... 29
Tabelle 4: Joomla Benutzertypen ...................................................................................... 32
Tabelle 5: Joomla Sichtbarkeitsattribute ........................................................................... 33
IV. Listingverzeichnis
Listing 1: Zwei Methoden zur Gestaltung einer Überschrift ............................................. 27
Listing 2: Ein einfaches Joomla Template .......................................................................... 35
Seite | 42
V. Quellen
Anja Ebersbach, Markus Glaser, Radovan Kubani: Joomla! - Das Handbuch für Einsteiger, Galileo
Computing, 2006
Balzert, Heide: Webdesign & Web-Ergonomie - Websites professionell gestalten,
W3L-Verlag 2004
Contentmanager.de – Stand August 2007
www.contentmanager.de
Deutsche Joomla Homepage – Stand August 2007
www.joomla.de
Graf, Hagen: Joomla! - Websites organisieren und gestalten mit dem Opne Source-CMS,
Addison-Wesley, 2006
Joomla Projekthomepage – Stand August 2007
www.joomla.org
Nix, Markus: Web Content Management - CMS verstehen und auswählen,
entwickler.press, 2005
Wikipedia – Stand August 2007
www.wikipedia.de
Eigenständigkeitserklärung
Hiermit versichere ich, Frithjof Klös, diese Seminararbeit selbständig
verfasst und nur die angegebenen Quellen und Hilfsmittel benutzt zu
haben.
Ort, Datum (Frithjof Klös)
Copyright 2007 Frithjof Klös.
All Rights Reserved.
Aside from my professor’s sole, personal review as part of his/her private, single-human,
software-free grading process (checking for plagiarism with Google is acceptable),
neither my professor nor my academic institution may otherwise copy, transfer,
distribute,reproduce, publicly/privately perform, publicly/privately claim,
publicly/privately display, or create derivative works (including ”digital fingerprints“) of
my copyrighted document (intellectual property).
The same restrictions apply to Turnitin.com and all similar services if my document
should somehow come into their possession. Neither my professor nor my academic
institution may submit my copyrighted document, in whole or in part, to be copied,
transformed, manipulated, altered, or otherwise used by or stored at Turnitin.com
(iParadigms, LLC) or any other physical or electronic database or retrieval system
without my personal, explicit, voluntary, uncoerced, written permission.
Regardless of supposed intent (e.g., ”to create a digital fingerprint”), no part of my
copyrighted document may be temporarily or permanently transferred, by any party, to
Turnitin.com or any other service, program, database, or system for analysis,
comparison, storage, or any other purpose whatsoever. Violators will be monetarily
punished to the fullest extent allowed by the DMCA (Digital Millennium Copyright Act),
the German Urheberrecht and/or international law.