Gemeinsamkeiten und erste Unterschiede
Kennen Sie die Transformers-Figuren? Schnittige Maschinenmenschen, die sich mit ein paar schnellen, einfachen Handgriffen in nicht minder schnittige Rennmaschinen verwandeln. Dagegen wirkt der gute alte Legostein fast altbacken.
So ähnlich sieht für uns der Vergleich zwischen Wordpress (=Transformer) und Drupal (=Lego) aus. Ganz nüchtern betrachtet sprechen wir nicht von Plastikspielzeug, sondern von zwei Content Management Systemen, also Software, mit denen Inhalte einer Website bequem verwaltet werden können. Beide sind kostenfrei und Open Source und basieren auf der Programmiersprache PHP und dem Datenbanksystem MySQL. Bis hierhin also erstmal kein großer Unterschied. Auf die Plastikspielzeuge komme ich am Ende noch zurück, schauen wir aber erstmal auf ein paar geschichtliche und technische Besonderheiten.
Wordpress startete um 2003 als Blogging-Plattform. Heute werden über 30% aller Webseiten mit Wordpress betrieben. Der Anteil am CMS-Markt beträgt 60%. Eine echte Erfolgsstory. Drupal ist seit 2000 auf der Bühne, führt aber mit rund 2% aller Webseiten und einem Anteil von 3,5% am CMS-Markt eher ein Nischendasein. Nase vorn für Wordpress? Auf den ersten Blick ja, aber die weite Verbreitung kann auch nachteilig sein. Durch sie steigt der Anteil an gehackten Wordpress-Seiten. Generell gilt Drupal aufgrund seiner Programmierung als sicherer und auch schneller.
Beiden Systemen gemeinsam ist: Ohne zusätzliche Erweiterungen kommt man nicht aus. Bei Wordpress sprechen wir von Plugins, bei Drupal heißen sie Module. Diese Erweiterungen machen Dinge möglich, die das reine System so nicht kann wie zum Beispiel die Einbindung eines Kontaktformulars.
Auch Themes gehören zum Repertoire beider CMS. Diese geben der Webseite das schicke Aussehen. Auch wenn es insgesamt mehr Plugins und Themes für Wordpress im Angebot gibt, so zählt hier nicht allein die Quantität, sondern vielmehr die Qualität. Die meisten der Erweiterungen wird man wahrscheinlich eh nie in Betracht ziehen und beim Theme kommt es eher darauf an, dass es sich leicht an die eigenen Anforderungen anpassen lässt. Eine Webseite sollte schließlich individuell sein und nicht aussehen wie zig andere (was aber doch oft der Fall ist).
Artikel und Seite — und was kommt dann?
Was ist es nun, dass uns so für Drupal begeistert? Das Konzept!
Was ist das Konzept von Wordpress? Dazu werfen wir noch einmal ein Blick auf die Entstehung. Es wurde zum Zweck des Bloggens entwickelt, also zum regelmäßigen Publizieren von Textbeiträgen, die chronologisch sortiert sein sollten. Ein Web-Tagebuch. Diesen Zweck erfüllt es heute immer noch perfekt. Wenn Sie also einen Blog eröffnen wollen, so werden wir Ihnen sicherlich raten, sich mit Wordpress zu beschäftigen.
Direkt nach der Installation bietet Wordpress zwei Inhaltstypen: Artikel und Seiten. Diese unterscheiden sich nicht wirklich. Sie bestehen aus einem Feld für den Titel und einem Feld für den Text. Letzterer ist mit einem Wysiwyg-Editor ausgestattet wie er von Office-Produkten bekannt ist.
Artikel werden chronologisch auf speziellen Übersichtsseiten aufgeführt, die dann zu den Detailansichten verlinken. Sie können mit Stichwörtern (Tags) und Kategorien alternativ sortiert werden. Seiten sind dagegen unabhängig vom Erstellungsdatum und werden z.B. für das Impressum benötigt.
Dieses Startpaket ist wunderbar für einen Blog, aber in der Regel enthalten Webseiten mehr, komplexere Informationen, die vor allem an unterschiedlichen Stellen abgerufen werden sollen — ohne Redundanz!. Und hier versagt Wordpress unserer Meinung nach. Drupal dagegen kann hier auftrumpfen. Es bietet zwar nach Installation die gleichen zwei Inhaltstypen, stellt aber alles zur Verfügung, um sich
- eigene Inhaltstypen anzulegen, die auf den eigenen Bedarf zugeschnitten sind,
- Inhalte auf Feldebene zu pflegen,
- vorhandene Inhalte an belieber Stelle und in beliebiger Form auf der Webseite wiederzuverwenden.
Dieses Baukastenprinzip ähnelt doch sehr dem Lego-Prinzip, oder?
Beispiel: Eine Webseite mit Team-Übersicht und Schulungen
Machen wir es mal konkret: Ein mittelständisches Unternehmen möchte auf der Webseite unter anderem sein Team näher vorstellen und auch sein umfangreiches Schulungsprogramm. Das Budget ist knapp, es soll also auf Standardlösungen zurückgegriffen werden ohne Programmierung eigener oder Anpassung gegebener Erweiterungen.
Die Lösung bei Wordpress ist: Ein Template für Team- und Schulungsseiten anlegen. Das bedeutet: Im Textfeld des Editors werden bestimmte Elemente eingefügt (hier kommt es sehr auf das genutzte Theme an) und angeordnet. Es wird also eine Seite layoutet, die aus Überschriften, Boxen, Buttons, Listen etc. besteht. Dieses Template wird für die einzelnen Seiten verwendet. So weit, so gut! Oder vielleicht doch nicht?
Wo liegt hier das Problem? Bei Anpassungen am Layout oder an Inhalten (z.B. Zwischenüberschriften oder Bezeichnungen) müssen Sie jede Seite einzeln anpassen. Der Pflegeaufwand kann enorm sein.
Eine Vernetzung von den beiden Typen Team/Schulung ist ebenfalls nicht möglich. Sie können also nicht auf der Seite einer Schulung auf Informationen zum Teammitglied zurückgreifen, das die Schulung hält, da Wordpress nur die Seiten als ganzes abspeichert. Die Informationen, die sich im Seiteninhalt verstecken, sind zwar sichtbar, aber nicht weiter verwendbar. Sie können nur auf der Seite manuell einen Abschnitt zum Dozenten erstellen, aber dann haben Sie wieder redundante Informationen, die aufwändig gepflegt werden müssen.
Eine Alternative: Sie suchen ein Plugin, das genau das kann, was gewünscht ist. Erfahrungsgemäß gibt es genau das aber nicht und so sind Kompromisse an der Tagesordnung.
Wie geht man nun mit Drupal an die Sache heran? Zu Beginn steht die Analyse der Inhalte. Welche Informationen erfasse ich zum Teammitglied oder der Schulung? Welche Information ist essentiell, welche benötige ich vielleicht zusätzlich an anderer Stelle?
Im nächsten Schritt werden die Inhaltstypen „Team” und „Schulung” erstellt. Dazu werden unterschiedliche Felder definiert. Für Teammitglieder könnten das sein:
- Name
- Foto
- Position im Unternehmen
- seit wann im Unternehmen
- kurzer Profiltext
- Kontaktdaten aller Art (Telefon, Mail, Social-Media-Profile)
Der Fantasie sind keine Grenzen gesetzt. Sie können spaßeshalber auch die Körpergröße erfassen und ihre Teamseiten danach sortieren. Auch wenn später zusätzliche Informationen gefragt sind ist das kein Problem: Einfach die entsprechenden Felder anlegen und ggf. bei bestehenden Inhalten ergänzen.
Alle Informationen, die Sie beim Inhaltstyp eingeben, sind bis ins Detail einzeln an anderer Stelle abrufbar und wiederverwendbar. Der Redakteur erhält ein einfaches Formular, das er nur ausfüllen muss. Auch das ist ein deutlicher Pluspunkt für Drupal: Je nach Nutzer kann die Oberfläche des Verwaltungsbereichs auf das wirklich Nötige beschränkt werden. Damit steigt Anwenderfreundlichkeit und auch die Sicherheit.
Schritt 3 ist dann das Layout der Detailansicht. Auch hierfür müssen sie nicht zwangsweise in PHP einsteigen. Sie können Seitentemplates zwar als PHP-Datei festlegen, müssen es aber nicht (und ich bin da persönlich sehr froh drüber, da ich zwar PHP etwas verstehe, aber ungern selber schreibe). HTML und CSS sind aber schon ein Muss, aber das gilt egal für welches System.
Der Vorteil von diesem Konzept: Der Pflegeaufwand minimiert sich, da Sie Informationen nur an einer Stelle aktualisieren müssen und nicht an X Stellen einzeln.
Schritt 4 ist optional, aber eigentlich immer dabei: Die Gestaltung von sogannten Ansichten. Das können Seiten sein, die über eine festgelegte URL erreichbar sind, oder Blöcke, die auf beliebigen Seiten platziert werden können. Drupal stellt dazu das sogenannte Views-Modul zur Verfügung. Mit diesem können Sie auch komplexe Datenbankabfragen über eine einfache Oberfläche „zusammenklicken“. Sie wählen also genau aus welche Inhalte in welcher Form und Sortierung benötigt werden.
So können Sie z.B. eine Übersicht aller Seminare erstellen und dazu auch Informationen zum Trainer (aus Inhaltstyp Team) einblenden z.B. Foto oder Telefon. Umgekehrt können Sie eine Trainerliste erstellen, in der alle Schulungsleiter mit den jeweiligen Seminaren gelistet sind.
Auch die Blöcke sind sehr praktisch, da sie beliebig auf anderen Seiten platziert werden können z.B. die neueste Schulung auf der Startseite, eine Liste aller Teammitglieder in der Seitenleiste etc. Auch hier im Blog sehen Sie in der Seitenspalte solche Blöcke (Archiv, neueste Artikel).
Da Drupal über ein ausgesprochen feines Rechtesystem verfügt — im Gegensatz zu Wordpress — können Sie die Informationen auch in einem internen Bereich nutzen, um z.B. eine Telefon- oder Geburtstagsliste zu erstellen (ebenfalls aus den Informationen, die Sie beim Inhaltstyp Team eingeben) ohne jegliche Redundanz. Diese Informationen sind für öffentliche Besucher nicht zugänglich.
Auch wenn sich das jetzt wahnsinnig kompliziert anhört: Das alles ist ohne eine Zeile PHP oder eine manuelle Datenbankabfrage möglich! Ein paar zusätzliche Module sind eventuell nötig, aber diese sind eher Werkzeuge als Komplettlösungen, die an unterschiedlichen Stellen genutzt werden können (z.B. muss für ein Datumsfeld ein Modul installiert werden, was aber für unterschiedliche Inhaltstypen genutzt werden kann).
Fairerweise muss ich sagen, dass auch Wordpress ein Plugin für sogenannte Custom Post Types bietet, aber ohne PHP kommen Sie nicht weit damit und den Grad an Flexibilität erreicht es auch nicht.
Wir lieben einfach das Baukastenprinzip!
Sie sehen: Drupal arbeitet nach dem Baukastenprinzip (Lego!) und ist dadurch so flexibel wie man es sich nur wünschen kann. Es stimmt, dass der Einstieg nicht ganz so einfach ist wie vielleicht bei Wordpress, aber es ist auch keine Raketenwissenschaft und locker zu meistern, wenn man das grundlegende Konzept verstanden hat.
Die Belohnung gibt es aber schnell: Eine Seite mit genau dem gewünschten Informationskonzept, ohne Kompromisse, mit vertretbarem Aufwand, ohne Redundanz und damit geringer Pflegeaufwand.
Transformers kommen dagegen schnell an die Grenzen und verlieren mit der Zeit den Reiz, weil man eben bei der Nutzung eingeschränkt ist.
Haben wir Sie neugierig gemacht auf den Hidden Champion? Gerne beantworten wir Ihre Fragen zu Drupal. Wenn Sie selber vor der Entscheidung für ein CMS stehen, so ist vielleicht auch unser Entscheider-Workshop für Sie interessant.