Wir haben noch nicht alle älteren Artikel nachbearbeitet. Das bezieht sich in der Regel nur auf die Codebeispiele, die noch nicht optimal dargestellt werden.
Content-Management und Webstandards: Einleitung
Im diesjährigen Adventskalender nehmen wir verschiedene Content-Management-Systeme (CMS) unter die Lupe. Welche Redaktionssysteme lassen sich wie darauf trimmen, standardkonforme Webseiten zu generieren? Zur Einführung beschreibt Ansgar Hein, worauf Sie generell achten sollten, wenn Sie sich für ein CMS entscheiden.
Die Kosten für die Pflege von Websites durch professionelle Webdesigner wären auf Dauer für die meisten Website-Betreiber kaum bezahlbar. Kein Wunder also, dass sich in den vergangenen Jahren Content-Management-Systeme für die Verwaltung von kleinen, mittleren und großen Websites durchgesetzt haben. Von eher statischenen Lösungen zur Verwaltung von Inhalten, bis hin zu datenbankbasierten Web Content-Management-Systemen (WCMS) reicht die Bandbreite an Editiermöglichkeiten, wobei die meisten Anwendungen im WCM-Bereich modernen Textverarbeitungen in vielen Aspekten sehr ähnlich sind und deren Funktionalitäten zum Teil sogar übersteigen.
Moderne Content-Management-Systeme sind entweder wahre Multi-Talente oder Spezialisten: Für jedes Problem findet sich eine geeignete Lösung, was angesichts von mehr als 1400 Programmen allein im deutschsprachigen Raum, die bei Contentmanager gelistet sind, nicht weiter verwunderlich ist. Häufig werden Content-Management-Systeme auch als Redaktionssysteme bezeichnet, was den Verwendungszweck besser beschreibt. In der Tat werden vor allem WCMS zunehmend von Redakteuren für die regelmäßige und wiederkehrende Erstellung und Pflege von Website-Inhalten genutzt.
Arbeitserleichterung durch Redaktionssysteme
Neben der gemeinschaftlichen Erstellung und Bearbeitung des Inhalts ermöglicht ein CMS auch dessen Organisation. Durch die Trennung von Inhalt, Struktur und Design tragen Content-Management-Systeme dazu bei, dass eine Ausgabe der Inhalte in verschiedenen Formaten (HTML, PDF, usw.) möglich ist und dabei die Einhaltung eines vorgegebenen Gestaltungsrasters (Corporate Design) gewährleistet bleibt. Je nach Komplexität und Leistungsfähigkeit kommen Benutzer- und Rechteverwaltung sowie die Steuerung ganzer Arbeitsprozesse (Workflows) ebenso hinzu, wie die Erweiterbarkeit durch Module und Funktionen. Insgesamt sind Content-Management-Systeme dazu prädestiniert, Prozesse zu vereinfachen und Qualität zu verbessern.
Leider arbeiten viele Redaktionssysteme jedoch noch immer nicht im Sinne der Webstandards. Anders lässt es sich kaum erklären, dass mehr als 90% aller Internetseiten nicht den aktuellen W3C-Standards für HTML entsprechen, obwohl die entsprechenden HTML-Vorlagen den Anforderungen genügen. In der noch jungen Vergangenheit von Content-Management-Systemen liegt einer der Hauptgründe für die mangelhafte Unterstützung von Webstandards: Die Entwcklung vieler Systeme fällt genau in die Zeit der Browserkriege und ist eng verbunden mit verschachtelten Layout-Tabellen, JavaScript-Lösungen und Frame-Technologie in Front- und Backend. Angetrieben durch die rasante Entwicklung bei Weblogsystemen haben nun zahlreiche Hersteller begonnen Webstandards in ihre Content-Management-Systeme zu integrieren und Funktionen zur Qualitätssicherung bereitzustellen.
Leistungsfähigkeit
Generell gilt: Nahezu jedes Content-Management-System, zumal im Open Source Bereich, kann standardkonforme und zum Teil sogar barrierefreie Websites ausgeben. Dazu benötigt man Vorwissen, Zeit, sowie geeignete Templates und gute Programmierer, die entsprechende Lösungen direkt im Kern des CMS integrieren, ohne dabei die Update-Fähigkeit des gesamten Systems zu gefährden. Letzteres ist vor allem aus Sicherheits-Aspekten wichtig, denn fast regelmäßig tauchen Sicherheitslücken auf, die von den Herstellern kurzfristig mit Bugfixes und Updates beseitigt werden. Schlecht wäre es da, wenn die Updates nicht installiert werden könnten, um die Standardkonformität oder die Barrierefreiheit nicht zu gefährden.
Inzwischen werden immer häufiger standardkonforme Weblog-Systeme mit viel Aufwand zu Content-Management-Systemen aufgerüstet, so dass Standardkonformität und Barrierefreiheit im Mittelpunkt stehen und die Erweiterbarkeit sowie die Bedienbarkeit für den Redakteur ins Hintertreffen geraten. Es droht ein schwieriger Spagat zwischen Funktionalität und Webstandards, daher hier ein paar Tipps, wie man als Webstandardista ein geeignetes Content-Management-System findet und damit auch glücklich wird.
Anforderungen: Worauf man achten sollte
In Anbetracht der Tatsache, dass Open Source Systeme einen großen Verbreitungsgrad erlangt haben und von kleinen bis hin zu großen Websites nahezu jedes Einsatzgebiet abdecken und überdies in den meisten Fällen kostenlos zu haben sind, fokussieren wir uns bei den Betrachtungen auf Systeme aus diesem Bereich. Häufig kommen Content-Management-Systeme ohne Workflow-Verwaltung aus, da die meisten Redaktionen nur aus wenigen Mitarbeitern bestehen und die notwendigen Informationen schneller und effizienter ausgetauscht werden können, zum Beispiel via E-Mail.
Schauen wir also zuerst auf die Ausgabe der Inhalte in Form einer gestalteten Website, im Folgenden mit Frontend bezeichnet, denn die detailgetreue und mediengerechte Umsetzung spielt für Kunden und Gestalter gleichermaßen eine wichtige Rolle. Doch auch die Qualität des ausgegebenen Quelltextes ist von Bedeutung:
- Valider Quellcode
Produziert das Content-Management-System validen Quellcode entsprechend den Richtlinien des W3C und gilt diese Aussage auch für Module? Und neben der Validität: Ist der Quelltext frei von Layout-Tabellen und Frames bzw. ist dies mit dem CMS möglich? - Saubere URLs
Gibt es eine Möglichkeit, saubere URLs statt eines Kauderwelschs aus Zahlen, IDs, Ampersands (Und-Zeichen [&]) oder dergleichen auszugeben, ggf. auch als Erweiterung? - Navigation
Können Menüs beliebig abgebildet werden und sind aktivierte Menüpunkte als Nicht-Links darstellbar? Sind mehrere Menüs unabhängig voneinander möglich? - Bilder
Sind alle Bilder mit sinnvollen Alternativtexten hinterlegt (zum Beispiel nicht alt="bild_29_01_2006.jpg")? - Suchfunktion
Gibt es eine Suchfunktion ggf. auch als Erweiterung) und wenn ja, sind die Suchergebnisse sinnvoll strukturiert?
Nicht immer sind alle diese Funktionen und Features anhand einer Demo-Seite oder anhand der Beschreibung des Content-Management-Systems ersichtlich. In den meisten Fällen kommt man daher um eine genauere Betrachtung des Backends (Administration) nicht herum, um herauszufinden, was ein System leisten kann und was nicht. Wem die eigenhändige Installation auf einem Testserver zu mühsam ist, der kann sich mit einem Besuch bei OpenSourceCMS.com weiterhelfen lassen: Dort findet man eine Auswahl von mehr als 140 Content-Management-Systemen aus dem Open Source Bereich, inklusive einer lebhaften Community und deren Bewertungen sowie der Möglichkeit, die Systeme im Front- und Backend zu testen. Natürlich kann man auch selbst eine Installation anlegen, um herauszufinden, ob ein bestimmtes Redaktionssystem den Anforderungen entspricht. Oftmals kann es auch hilfreich sein, in den entsprechenden Foren, Wikis, Hilfeseiten und Handbüchern nachzulesen, welche Funktionen ein CMS zur Verfügung stellt und wie man diese zur Sicherstellung von Webstandards beziehungsweise Barrierefreiheit nutzen kann.
Qualitätssicherung über alles
Letzten Endes geht es darum, geeignete Verfahren zur Qualitätssicherung zur Hand zu haben und zwar möglichst auf allen Stufen eines Prozesses. Idealerweise sollte ein Redakteur, der mit der Erstellung und Pflege von Inhalten betraut ist und meist kein spezielles HTML-Wissen vorweisen kann, gar nicht erst etwas davon mitbekommt, was im Hintergrund passiert. Mit anderen Worten: Der Quelltext sollte möglichst Tabu sein.
Glücklicherweise gibt es eine Reihe von Werkzeugen im Open Source Bereich, die Hilfe versprechen. Allen voran Tidy, das man zur Säuberung, Formatierung und Verbesserung von produziertem Quellcode nutzen kann. Weitere Möglichkeiten eröffnen Validatoren, die eine Seite bereits in der Vorschau auf mögliche Fehler überprüfen können – danach ist der Redakteur jedoch meist auf sich alleine gestellt und weiß womöglich nur, das ein Fehler vorliegt, nicht aber, wie dieser behoben werden kann.
Weitere Maßnahmen zur Qualitätssicherung können aussagefähige Hilfefunktionen für den Nutzer sein, die möglichst im engeren Kontext zur aktuellen Aufgabe angeboten werden sollten. Auch hier offenbaren viele Content-Management-Systeme eklatante Schwächen, obwohl gerade der Aspekt kontextsensitiver Hilfen in den Authoring Tools Accessibility Guidelines (ATAG) eine wichtige Rolle spielt. Kaum verwunderlich also, dass bisher kein Redaktionssystem diese Richtlinien erfüllen kann.
Worauf man im Einzelnen im Back-End Bereich, also der Administrations-Oberfläche des Systems, achten sollte:
- Konfigurierbare Editoren
Von WYSIWYG bis Textile und Markdown sollte ein Redakteur entscheiden können, wie Inhalte gepflegt werden. Ein gutes System passt sich an den Redakteur an, nicht umgekehrt. - Content is King
Inhalte sollten möglichst zentral, sprich unter einem zentralen Punkt einzugeben sein und mit Hilfe einer einheitlichen Eingabemaske erfasst werden. - WYSIWYG plus X
Redakteure sollten das bekommen, was sie sehen und noch etwas mehr: Auswahlmasken für interne Links, Verknüpfungen zur Bilddatenbank, Zugriff auf den Download-Bereich und vieles mehr, ohne HTML-Kenntnisse, ohne Umwege und ohne Wenn und Aber sollten im WYSIWYG-Modus selbstverständlich sein. - XHTML oder HTML
Für die einen Philosophie, für die anderen Notwendigkeit: Ein gutes CMS überlässt dem Template-Gestalter beziehungsweise dem Administrator die Frage ob mit oder ohne X im HTML gearbeitet wird. - Trennung von Inhalt, Struktur & Logik
Gute Systeme trennen Inhalte von der Struktur, noch bessere trennen sogar die Logik (Programmierung / Funktionalität) von Inhalt & Struktur. So bleibt in der Datenbank am Ende nur (semantisch aufbereiteter) Inhalt zurück, zumindest im Idealfall.
Jede Erweiterung, die ein Mehr an Funktionalität im Frontend bedeutet, muss ebenfalls allen zuvor genannten Kriterien gerecht werden. Ältere Systeme offenbaren hier nicht selten Problembereiche, da allzu oft Tabellen-Layouts in den Modulen hart verdrahtet sind. Moderne Content-Management-Systeme bieten pro Modul eigenständige Templates an und ermöglichen so in der Regel eine individuellere Anpassung.
Skalierbarkeit und Flexibilität
Der Appetit kommt häufig mit dem Essen und nicht wenige Websites werden im Laufe der Zeit im Hinblick auf Funktionsumfang und Leistungsfähigkeit deutlich erweiteret. Jetzt schlägt die Stunde jener Content-Management-Systeme, die eine schnelle und einfache Integration zusätzlicher Bestandteile erlauben – seien es bereits bestehende Module aus der Community oder aber eigens erstellte Erweiterungen. Eine gut dokumentierte Die Abwesenheit einer gut dokumentierten Schnittstelle für Module, die eine möglichst einfache Erstellung von neuen Funktionen ermöglicht, ist ein häufig anzutreffendes Manko. Hier profitieren die Platzhirsche unter den Content-Management-Systemen von ihrer Erfahrung und offerieren meist stabilere Schnittstellen, die jedoch hinsichtlich der Variabilität oftmals zahlreiche Wünsche offen lassen.
Nur wenige Webdesigner entwickeln eigenständige Module. Rudimentäre Kenntnisse in PHP oder anderen Scripting-Sprachen sind oftmals vorhanden und sollten bei einem guten CMS auch ausreichen, um den gewünschten HTML-Code zu erzeugen. Zahlreiche Content-Management-Systeme bieten eigene Scripting-Sprachen an, wieder andere nutzen bestehende Templating-Syteme und allzu viele Systeme bieten keine dieser Lösungen an. Häufig besteht die einzige Möglichkeit, auf den Quelltext einzuwirken, dann darin, dass man am offenen Herzen operiert und den Code des Content-Management-Systems im Hinblick auf die entsprechende Funktionalität modifiziert.
Doch nicht nur im Bereich programmierter Lösungen ist Flexibilität ein entscheidender Vorteil, sondern in der generellen Handhabung von Inhalten und Strukturen. Sowohl im Hinblick auf das Format (HTML, XML, RSS, usw.) als auch hinsichtlich der Templates (Menü-Anordnung, Spalten-Anzahl, usw.) sollte ein Webdesigner alle Freiheiten genießen – ohne viel Konfigurationsaufwand. Gleichzeitig sollte ein Redakteur diese Möglichkeiten nur durch das Bestätigen einer Auswahl nutzen können, ohne sich weitere Gedanken machen zu müssen. Kurzum: Flexibilität darf nicht auf Kosten von Gebrauchstauglichkeit und Webstandards gehen.
Fazit
Jede Technik, egal wie gut sie auch sein mag, kann den Menschen bei der Produktion bestenfalls unterstützen. Fehlerquellen sollten nach Möglichkeit im Vorfeld durch das System reduziert werden, Tätigkeiten des Redakteurs hingegen reglementiert und auftretende Fehler im besten Falle korrigiert. Content-Management-Systeme, die all das leisten können, gibt es nicht fertig von der Stange. Je komplexer die Anwendungsfälle, je mehr Module benötigt werden und je vielschichtiger der Aufbau der Redaktion ist, desto mehr muss ein Redaktionssystem leisten. Die Fragen nach Aufwand, Leistungsfähigkeit und Alltagstauglichkeit bestimmen den Auswahlprozess maßgeblich, wirken jedoch in unterschiedliche Richtungen. Kompromisse sind somit unausweichlich und die Suche nach dem Mittelweg ist gleichermaßen die Suche nach dem geeigneten Content-Management-System.
Weiterführende Links:
- Deutsches CMS-Portal: Contentmanager
- IQ Content: WYSIWYG-Vergleich
- Richtlinien: ATAG 1.0
- Vergleich: Werkzeuge zur Qualitätssicherung
Bildnachweis:
Schaubild WCMS, Wikipedia
Kommentare
Sylke Wienold
am 04.12.2006 - 08:57
Danke, ein sehr schöner Artikel, mit dem man auch arbeiten kann.
Ich selbst benutze seit einiger Zeit sehr gern MODx - und bin begeistert! So kann ich eine statische Seite (Struktur und Layout), die ich irgendwann mal gebastelt habe, einfach übernehmen, Inhalte löschen und durch entsprechende Bausteine füllen. Es funktioniert einwandfrei. Der generierte Quellcode ist sauber und valide.
Also: Danke nochmal und einen schönen Advent.
Viele Grüße
Sylke
Sylke Wienold
am 04.12.2006 - 08:59
Irgendwie funktioniert der Link nicht....
http://www.modxcms.com oder über einen kleinen Umweg über die deutsche Site http://www.modxcms.de
Ingo Stöcker
am 04.12.2006 - 09:31
Super Artikel! Sehr hilfreiche Tipps und guter Schreibstil. Weiter so ...
Susanna Künzl
am 04.12.2006 - 10:43
Warum nicht ein Blogsystem wie z.B. Wordpress als CMS benutzen? So ein Teil eignet sich gut für kleine Websites: Es schluckt nicht so viele Ressourcen, wenn man nicht haufenweise (oft überflüssige) Plugins einbaut. Mit WP kann man eine nette kleine Website aufbauen, sogar eigene Datenbanken anbinden und Skripte einfügen, viele Funktionen (Formular usw.) sind per Plugin einbaubar und der Editor (tinyMCE) läßt sich - wenn auch nur im Skript selber - nach Bedarf konfigurieren. er produziert XHTML und läßt sich vom Redakteur auch abschalten. Schon im Basissystem von WP enthalten ist eine Backenduserverwaltung und ein rudimentäres Assetmanagement. Wer also heute schon weiß, dass er bei seiner übersichtlichen Seite bleibt, kann hiermit glücklich werden.
Wer sich nicht entscheiden kann, ist allerdings mit TYPO3 besser bedient. Hier ist alles möglich.
Kaiuwe
am 04.12.2006 - 11:16
Das wird nicht funktionieren, denn schon bei zwei Redakteuren und allen Freiheiten im WYSIWYG-Editor fällt die Konsistenz der gesamten Webseite hinten runter.
Zen
am 04.12.2006 - 15:01
# Saubere URLs
Gibt es eine Möglichkeit, saubere URLs statteines Kauderwelschs aus Zahlen, IDs, Ampersands (Und-Zeichen [&]) oder dergleichen auszugeben, ggf. auch als Erweiterung?
Wie soll es den sonst ausehen? mod_rewrite geht nunmal nicht immer
MfG Zen
Ansgar Hein (Autor)
am 04.12.2006 - 15:08
Zen: Es gibt Systeme, die standardmäßig entweder dynamische oder saubere URLs ausliefern können, oder sogar je nach Bereich. Wichtig ist nur, dass sie es überhaupt tun.
Herr Voß
am 04.12.2006 - 15:46
Ich habe in diesem Zusammenhang hervorragende Erfahrungen mit Postnuke gemacht. Die Entwickler achten schon seit 2 Jahren darauf, dass man mit dem System tabellenfreie, valide Layouts erstellen kann.
Markus Wulftange
am 04.12.2006 - 16:50
„Saubere“ URLs sind nicht unbedingt nur auf der Ebene des Webservers sondern auch auf der der Programmier-/Skriptsprache möglich.
So könnte etwa der Query-String-Teil dazu benutzt werden, um die URLs ähnlich wie mit „mod_rewrite“ zu gestalten. Aus einer durch „mod_rewrite“ möglichen Lösung „/foo/bar“ könnte so „/?foo/bar“ werden. Wird dies gleich von Anfang an bei der Entwicklung der Applikation berücksichtigt, könnte je nach Verfügbarkeit von „mod_rewrite“ mithile eines Flags zwischen diesen beiden Möglichkeiten einfach hin- und herschaltet werden.
Jan
am 05.12.2006 - 11:00
Die besten Erfahrungen habe ich mit webedition gemacht. Kostet zwar was, schreibt aber saubere URLs und, wenn man es einstellt, auch sauberen und validen Quellqode. Innerhalb des Systems kann man seine Seiten auch validieren.
Laurence Veale
am 06.12.2006 - 10:19
Ansgar,
I mochte Ihnen danken for Ihre Link!
Tschuss,
Laurence, iQ Content
xwolf
am 07.12.2006 - 12:14
>Das wird nicht funktionieren, denn schon bei zwei
>Redakteuren und allen Freiheiten im WYSIWYG-Editor
>fällt die Konsistenz der gesamten Webseite hinten
>runter.
Nur dann, wenn die Editorfunktion des Systems nichts taugt. Von einem professionellen und gut programmierten Eingabesystem muss man heutzutage erwarten können, daß es auch WYSIWYG erlaubt, bei dem dann valider Code gemäß den vorgegebenen Templates erzeugt wird.
Man muss ja auch nicht jedem Benutzer bei WYSIWYG alles erlauben. Manche können dann halt nur Überschriften und Absätze, aber keine Bilder.
Andere können auch mehr.
Wie eben diese Eingabemaske bei den Kommentarfunktionen des Wordpress. Diese gibt es gleichzeitig als WYSIWYG, als auch in der hier vorgegebenen smarten Form.
Die Kommentare sind geschlossen.