1.  Web Content Management Systeme

Probleme großer Websites

stern.de-Screenshot

Screenshot der Nachrichtensite stern.de

Wer sich mit HTML auskennt und im Internet unterwegs ist, der könnte sich fragen, wie T-Online, Stern und Co ihre Websites verwalten. Es sind viele Inhalte, darunter Texte, Bilder, Videos und andere Medien verfügbar und täglich ändern sich viele Seiten, News werden ständig hinzugefügt und werden bald wieder "ersetzt", bzw. in ein Archiv verschoben.

Wer genügend Erfahrung mit HTML hat, der weiß, dass so etwas mit reinem HTML schwer bis gar nicht zu machen ist. Wie organisieren also die Anbieter solcher Portale die Websiteverwaltung? Und wie werden bei so komplexen Seiten die Layouts geändert? Müssen hierzu viele HTML-Dateien umprogrammiert werden?

Die Lösung: (Web) Content Management Systeme

OpenOffice.org Writer Screenshot

Screenshot der Textverarbeitung OpenOffice.org Writer

Nein, bei dieser Verwaltungsproblematik setzen Web Content Management Systeme (WCMS) an. Oft werden diese auch einfach als Content Management Systeme (CMS) bezeichnet. In diesem Referat werde ich als Bezeichnung CMS verwenden.

CMS sind Anwendungen bzw. Skripte, die Inhalte pflegen und verwalten und die Menüerstellung gemäß der Vorgaben übernehmen. Dabei können die Inhalte von mehreren Benutzern gleichzeitig verwaltet werden. Das alles geschieht normalerweise über den Browser. Hierzu steht das sogenannte Backend zur Verfügung.
Das Backend ist die Verwaltungsoberfäche eines CMS. Hier werden beispielsweise Inhalte eingepflegt, Templates (mehr dazu gleich) gewählt und bearbeitet oder andere Einstellungen für die Seite getroffen. Das Backend ist für den Surfer normalerweise verborgen. Surfer sehen das sogenannte Frontend. So wird im Content Management die Seite bezeichnet, die der Nutzer sieht.

Diese genannten Inhalte kombinieren Content Management Systeme mit einem sogenannten Template, einer Layoutvorlage. Das heißt, das Layout besteht als Vorlage und diese wird durch das CMS mit den notwendigen Daten bzw. Inhalten gefüllt. Somit hat man bei Layout-Änderungen nur eine kleine Anzahl an Dateien, HTML-Dateien bzw. auch PHP-Dateien und CSS-Dateien, anzupassen. Dadurch fällt eine Layoutumstellung sehr viel leichter als bei einer großen Anzahl an Dateien, die jeweils den HTML-Code für das Layout enthalten.

Aufbau eines CMS

Schema des Aufbaues eines CMS

Hiermit ist die Liste der Funktionen und Möglichkeiten eines CMS allerdings noch nicht vollständig. Wichtig ist auch die Nutzungsmöglichkeit von WYSIWYG-Editoren.
Als WYSIWYG-Editoren bezeichnet man Software wie Textverarbeitungssoftware, z.B. OpenOffice.org Writer, AbiWord, aber auch HTML-Editoren wie NVU, die es ermöglichen, das Aussehen des Dokuments schon während der Erstellung zu sehen. Hierfür ist bei HTML aber bekanntlich meist eine zusätzliche Software wie NVU nötig und muss installiert sein.

Da setzten nun mit JavaScript programmierte Editoren für HTML an, die es ermöglichen, HTML über den Browser mit dem gewohnten Komfort von Writer, Abiword, etc. zu bearbeiten.
Beispiele für solche Editoren sind: htmlArea URL, FCKeditor und TinyMCE.

Die so auf einfache Weise erstellten Inhalte können sogar zeitlich gesteuert veröffentlicht und wieder versteckt werden. Dazu wird das Datum für die Veröffentlichung bzw. das Verstecken eingestellt und das CMS entfernt den Beitrag pünktlich wieder aus dem Frontend.

Außerdem stellen Content Management Systeme normalerweise eine Suchfunktion zur Verfügung, die es ermöglicht, die Inhalte der Website direkt zu durchsuchen. Dagegen war man bisher mit konventioneller HTML-Programmierung auf Dienste wie Google und andere Suchmaschinen angewiesen oder es musste auf dem Server eine Suchmaschine installiert werden, um die eigene Seite durchsuchbar zu machen.

Programmierung eines CMS

Wie schon beschrieben, handelt es sich bei CMS meist um Anwendungen, die meist in den (Web-)Skriptsprachen PHP, Perl, Python oder Ruby programmiert sind.
Der Einsatz der jeweiligen Sprache ist folglich auch die Mindestanforderung an den Webserver. Manche CMS brauchen jedoch bestimmte Pakete bzw. Erweiterungen auf dem Server, die die Bearbeitung von Bildern oder das Packen von Dateien ermöglichen. Außerdem brauchen manche CMS auch angepasste Einstellungen der Sprachen wie PHP und / oder erfordern besonders viel Leistung auf dem Server.
Die Daten legen die meisten CMS in einer Datenbank ab. Meist kommt hierbei die Open Source Datenbank MySQL zum Einsatz. Manche CMS legen die Daten aber auch als Dateien auf dem Server ab.

Gegenüberstellung: CMS / Websuites

In der Tabelle stelle ich die Vorteile eines CMS den Vorteilen einer Websuite bzw. eines Editors wie NVU gegenüber.

CMS Websuite / Editor
  • ein Template für viele Inhalte - einfache Designänderung
  • Mehrbenutzerfähigkeit gegeben
  • geringe Einarbeitungszeit für Webredakteure
  • einfacher Webspace ausreichend
  • kein ständiges Softwareupdaten nötig
  • HTML-Code vollständig selbst beinflussbar

Ein paar verbreitete CMS

Diese Liste soll einen kleinen Einblick in die Auswahl an freien und kommerziellen CMS geben.

Open Source CMS

  • Typo3: Sehr umfangreiches CMS, dass eine Funktionsfülle besitzt, die sogar die Möglichkeiten vieler kommerzielle CMS übersteigt. Allerdings auch sehr große Ansprüche an den Server stellt. Außerdem erfordert das Typo3 Backend mehr Einarbeitung als andere CMS. Der Funktionsumfang lässt sich leicht durch "Extensions" erweitern.
    Typo3 wird von einigen Firmen, aber auch von Privatleuten eingesetzt. Siehe Typo3 Referenzen. Auch die Seite unserer Radio AG Hasta la Vista habe ich mit Typo3 erstellt.
    Programmiert ist Typo3 mit PHP und nutzt eine Datenbank zur Ablage der Texte und Templates. Es wird daher bevorzugt auf LAMP-Systemen eingesetzt.
  • Joomla!: Joomla! ist eines der beliebtesten CMS und ist einfach zu bedienen. Für Joomla! stehen viele Erweiterungen zur Verfügung. Es gibt sehr viele Joomla!-Installationen. Einige finden sich im Joomla! Site Showcase.
    Joomla! ist eine PHP-Anwendung die eine MySQL-Datenbank erfordert. Es gibt sich mit den meisten Webspace-Paketen mit MySQL und PHP zufrieden und ist daher sehr beliebt.
  • Drupal: Communityorientiertes, modulares CMS. Setzt auch auf PHP und MySQL oder PostgreSQL.
    Gallery mit einigen Drupal-Seiten.
  • Website Baker: Kleines, schlankes Open Source CMS, dass einfache Bedienung und Installation bietet. Durch Erweiterungen kann der Funktionsumfang von Website Baker leicht vergrößert werden.
    Wie die meisten CMS basiert Website Baker auf PHP und erfordert eine MySQL-Datenbank.

Diese Liste stellt nur einen kleinen Teil der verfügbaren CMS dar. Eine Liste mit einer großen Auswahl an Open Source CMS ist unter opensourcecms.com einzusehen.

Kommerzielle CMS

Da der Open Source-Bereich meiner Ansicht nach genügend Anwendungen bereit hält, führe ich hier nur zwei Beispiele auf. Natürlich stehen auch im kommerziellen Bereich viele CMS zur Wahl, die sich im Preis oft von wenigen hundert Euro bis zu mehreren zehntausede Euro erstrecken.

  • webEdition: Einfach zu bedienendes CMS basierend auf PHP und MySQL. Günstiger Preis. Erweiterungen kosten allerdings auch ihren Preis.
    Ein paar webEdition-Websites finden sich in den Referenzen von webEdition.
  • Weblication CMS: Umfangreiches CMS mit einer Preisspanne von 129 Euro bis zu mehreren zehntausede Euro. Einige Referenzen des Anbieters: Referenzen.

Manche Anbieter verdienen ihr Geld jedoch auch durch den Support von Open Source Content Management Systemen und der Arbeit mit ihnen. Es gibt zum Beispiel Web-Agenturen, die Websites mit Typo3 oder Joomla! erstellen oder gegen Bezahlung Support für Open Source CMS.