Mit Drupal kann fast jede denkbare Website gebaut werden. Seine mächtigen Fähigkeiten machen das System aber auch relativ komplex. Wer sich darauf einlässt, findet eine engagierte Community vor, die aktiv an der Entwicklung der Software beteiligt ist.
Drupal bezeichnet sich als „Web Application Framework“, also als Software für die Erstellung komplexer Web-Anwendungen. Es ist sozusagen ein Baukasten für Websites. Damit wird klar, dass Drupal einiges mehr kann als beispielsweise WordPress, das im Kern eine Software für Weblogs geblieben ist, auch wenn es sich mit Erweiterungen für fast jeden Zweck modifizieren lässt. Bei Drupal ist es genau umgekehrt: Die Software ist durch ihren modularen Aufbau vielseitig anwendbar, trotzdem ist es gar nicht so schwierig, damit ein Blog zu realisieren.
Ursprünglich war die Open-Source-Lösung Drupal eine Forumssoftware, später wurde es zur Plattform für Community-Websites weiterentwickelt. Diese Wurzeln sind noch heute sichtbar: Die Unterstützung von Foren ist ein Kernbestandteil des Systems und dank der flexiblen, feinkörnig konfigurierbaren Benutzerrechte ist die Verwaltung von Websites mit vielen Beteiligten mit dieser Software besonders einfach.
Schon die sehr minimal gehaltene Grundinstallation von Drupal, der Core, besteht aus verschiedenen Modulen. „Module“ ist bei Drupal die Bezeichnung für Plugins. Je nach benötigter Funktionalität wählt der Nutzer aus, welche davon er aktiviert. Darüber hinaus gibt es mehrere tausend Erweiterungsmodule, die das System mit zusätzlichen Fähigkeiten ausstatten.
Ein grundlegendes Konzept von Drupal sind die sogenannten Nodes. Sie sind zu einem guten Teil verantwortlich für die Flexibilität von Drupal. Ein Node ist schlicht und einfach ein Set aus zusammengehörigen Daten. Im Prinzip wird alles, was User in Drupal eingeben, einem Node zugeordnet. Zum Beispiel ein Artikel: der besteht aus sichtbaren Daten wie dem Inhalt und der Überschrift, aber auch aus Metadaten wie Tags, Autor oder Veröffentlichungsdatum. Alles zusammen ist der Node.
Mit dem Blocklayout von Drupal können Seitenbetreiber genau definieren, wie die Website angezeigt wird. Dazu wird die Website in verschiedene Regionen eingeteilt, in denen unterschiedliche Inhaltsblöcke platziert werden. So sind auf sehr einfache Art weitreichende Änderungen der Darstellung möglich.
Wer beispielsweise Logo und Titel der Seite lieber links in der Sidebar statt ganz oben auf der Seite hätte, kann sie im Backend einfach per Drag-and-Drop in diesen Bereich ziehen.
Die Vielseitigkeit von Drupal bedingt, dass das Content-Management-System auf einige abstrakte, aber in sich schlüssige Konzepte zurückgreift, die sich nur bedingt intuitiv erschließen. Dadurch hat Drupal für Administratoren und Seitenbetreiber eine relativ steile Lernkurve. Wer die grundlegende Funktionsweise aber einmal verstanden hat, wird feststellen, dass sich damit äußerst komplexe Websites auf relativ simple Weise erstellen lassen. Administratoren können das System auch so konfigurieren, dass es für Mitarbeiter, die nur Inhalte veröffentlichen und bearbeiten, sehr einfach bedienbar wird.
Unter den „großen Drei“ der Content-Management-Systeme – WordPress, Joomla und Drupal – gilt Drupal als das anspruchsvollste. Das System braucht eine deutlich längere Einarbeitungszeit, Drupal-Experten sind rar und verlangen hohe Tagessätze.
Tatsächlich lässt sich ein simples Blog auch mit Drupal sehr einfach umsetzten. Wer die Open-Source-Software installiert hat, kann eigentlich sofort loslegen und seinen ersten Blogbeitrag verfassen. Auch einfache Änderungen des Designs oder der Menüs sind nicht weiter kompliziert.
Die Schwierigkeit von Drupal steigt allerdings mit der Komplexität der Aufgaben – wer etwa die Präsentation der Inhalte ganz grundsätzlich ändern, austauschen oder neue Inhaltstypen erstellen möchte, muss sich eingehender auf das System einlassen. Konfiguriert ein Nutzer allerdings etwa eine Joomla-Site ähnlich umfassend, wie das mit Drupal möglich ist, muss er diese Funktionen mit Plugins nachrüsten.
Plugins, die tief in die Funktion und Darstellung der Website eingreifen, fügen allerdings selbst WordPress eine Komplexität hinzu, die der von Drupal vergleichbar ist. Im Unterschied zu Drupal ist WordPress aber ursprünglich nicht für so ein hohes Maß an Konfigurierbarkeit ausgelegt. Das hat zur Folge, dass die Bedienung der einzelnen WordPress-Plugins sehr uneinheitlich ausfällt, während die Applikationen von Drupal auf Funktionen des Cores zurückgreifen, so dass auch eine mit vielen Modulen erweiterte Drupal-Installation in sich stimmig bleibt. Dennoch gilt: Der reine Drupal-Core mag noch halbwegs übersichtlich sein, aber je mehr Applikationen installiert sind, desto verwirrender kann das System erscheinen.
Ein Highlight von Drupal ist der Frontend-Editor. Wer im Frontend bei einem Text auf „Schnell bearbeiten“ klickt, kann Inhalte gleich an Ort und Stelle bearbeiten. Das hat den Vorteil, dass sie dann auch im Editor genauso so angezeigt werden, wie sie schließlich in der finalen Version aussehen. Das ist eine sehr komfortable Funktion, die viele andere CMS nicht mitbringen.
Zum Bearbeiten von Artikeln im Backend verfügt Drupal über einen WYSIWYG-Editor, der allerdings wie bei vielen CMS üblich (und im Gegensatz zum Frontend-Editor) die CSS-Formatierungen des Themes nicht übernimmt.
Der Autor eines Artikels sieht also eine Version seines Textes, in der alle HTML-Formatierungen graphisch dargestellt werden, allerdings können Inhalte in der veröffentlichten Version anders aussehen. Natürlich ist auch die Bearbeitung im Quellcode-Editor möglich.
Dass das Core-System keine Medienverwaltung mitbringt, ist eine Besonderheit von Drupal. Nutzer können zwar beim Schreiben eines Artikels Bilder und Multimediadateien hochladen und in den Text einfügen, aber es gibt keine Bibliothek zum Organisieren und Bearbeiten der hochgeladenen Dateien. Das ist natürlich eine Funktion, die von den meisten Anwendern benötigt wird – kein Wunder also, dass eines der beliebtesten externen Module für Drupal das Bild- und Dateiverwaltungstool IMCE ist.
Mit der Funktion für mehrsprachige Websites, der Unterstützung von Multi-Site-Installationen und einer Benutzer- und Workflowkonfiguration, die sehr ins Detail geht, ist Drupal auch für große Websites internationaler Unternehmen und umfangreiche Community-Projekte bestens gerüstet.
Wer eine neue Benutzerrolle erstellt, darf sich durch mehrere Bildschirmseiten mit Rechten scrollen. Er entscheidet beispielsweise, ob Benutzer mit dieser Rolle „Alle Versionen anzeigen“ oder „Neuen Inhalt erzeugen“ können, und zwar für jeden einzelnen Inhaltstyp. Insgesamt machen allein die Rechte für Inhalte acht verschiedene Rechte pro Inhaltstyp aus. Wer zusätzlich zum standardmäßig vorhandenen „Artikel“ einige eigene Inhaltstypen erstellt hat, ist nur mit der Rechtevergabe dafür schon ziemlich beschäftigt. Allerdings ist die Erstellung von Benutzerrollen keine alltägliche Aufgabe, sondern etwas, das normalerweise der Administrator bei der Grundkonfiguration des Systems einmal erledigt.
Darüber hinaus kann für jeden Node-Typus ein eigener Workflow definiert werden. Ein Workflow, der aus „Entwurf“, „Redigieren“ und „Veröffentlicht“ besteht, wäre etwa für den Node-Typus „Artikel“ möglich. Dabei lässt sich festlegen, welche Benutzerrollen den Workflow-Status ändern dürfen. So bilden sich die Organisationsstrukturen eines Teams im CMS ab. Beispielsweise könnte es einen „Mitarbeiter“-Node geben, den Mitglieder mit der Rolle „Human Resources“ anlegen und Mitglieder mit der Rolle „Schlussredaktion“ veröffentlichen.
Für den gleichzeitigen Betrieb mehrerer Websites ist Multi-Site-Funktionalität sehr nützlich. Eine einzige CMS-Installation verwaltet dann gleich mehrere Websites. Das reduziert den Aufwand für das Anpassen und Aktualisieren des Systems und seiner Erweiterungen erheblich. Multi-Site-Funktionalität ist Teil des Drupal-Cores und lässt sich mit wenigen einfachen Schritten einrichten. Allerdings nicht über das Backend, Seitenadministratoren müssen dazu eine neue Datenbank erzeugen und Dateien auf dem Server ändern. Der Prozess ist jedoch nicht kompliziert und wird in der Dokumentation genau erklärt.
Auch Unterstützung vom mehrsprachigen Sites ist Teil des Cores; der Website-Betreiber muss die entsprechenden Applikationen allerdings erst aktivieren und konfigurieren. Er kann nicht nur die Inhalte in mehrere Sprachen übersetzen, sondern auch das gesamte Interface, also beispielsweise die Menüs und die Beschriftung von Eingabefeldern.
Der Core von Drupal ist sehr schlank gehalten, er bietet vor allem ein Gerüst, auf das die Module aufbauen können. Daher benötigt fast jedes Website-Projekt, das mit Drupal umgesetzt wird, einige zusätzliche Module.
Die Auswahl aus der Unzahl der verfügbaren Module, deren Funktionen sich teilweise überschneiden, kann für Anfänger sehr überfordernd sein. Da sind Distributionen eine wichtige Hilfestellung. Distributionen sind Softwarepakete für bestimmte Einsatzwecke. Sie kombinieren den Drupal-Core mit den für den jeweiligen Einsatzzweck passenden Modulen, der Anwender erhält ein vorkonfiguriertes System, das relativ schnell einsatzbereit ist.
Mehr als 600 verschiedene Distributionen stehen auf drupal.org zum Download bereit. Bei einem Blick auf die Distributionen wird auch klar, wie vielfältig Drupal ist. Zu den beliebtesten gehören Commerce Kickstart, das Drupal zu einer E-Commerce-Lösung macht, die Lernplattform Opigno LMS sowie Open Atrium, das Tools für die Zusammenarbeit in Teams bereitstellt, unter anderem einen Kalender und ein Wiki.
Welche Erweiterungen installiert werden, ist stark von den individuellen Anforderungen abhängig. Allerdings gibt es ein paar Applikationen, die in fast jeder Installation sinnvoll sind. Dazu gehören:
Die Installation von Modulen ist um einen Tick umständlicher als beispielsweise bei WordPress. Es ist nicht möglich, die Verzeichnisse direkt aus dem Content-Management-System heraus zu durchsuchen und das jeweilige Modul per Mausklick zu installieren. Stattdessen laden Seitenbetreiber eine Archivdatei mit dem Modul im Backend hoch. Das Modulverzeichnis auf drupal.org hingegen ist sehr übersichtlich. Im Gegensatz zu den Pendants bei WordPress und Joomla ist immer klar ersichtlich, ob ein Modul aktiv gepflegt wird. Bei WordPress müssen sich Anwender oft durch Berge aus veralteten Plugins wühlen. Dieses Problem besteht bei Drupal nicht.
Übrigens: Von der Installation bis zum Verzeichnis gleicht die Handhabung von Themes exakt der von Modulen. Auf drupal.org werden nur kostenloses Themes und Erweiterungen gelistet, kostenpflichtige Premium-Versionen gibt es direkt bei den Entwicklern beziehungsweise bei Drittanbietern wie Themeforest.
Drupal ist ein Community-Projekt, entsprechend aktiv und vernetzt sind die Mitglieder aus Anwendern und Entwicklern. Auf der Website drupal.org gibt es ein Forum (auf Englisch, ein deutschsprachiges Forum bietet beispielsweise drupalcenter.de), unzählige Blogs beschäftigen sich mit dem Thema und bei weltweiten Events sowie lokalen Treffen und in Benutzergruppen lernen sich Interessierte auch abseits des Bildschirms kennen.
Im Bereich „Marketplace“ von drupal.org werden Unternehmen gelistet, die mit Drupal arbeiten, inklusive der Mitarbeiter und einer Liste der Community-Projekte, an denen sie beteiligt sind. So haben Auftraggeber den Vorteil, Experten zu finden, die dem geforderten Profil entsprechen und vom Support bis zur vollständigen Betreuung der technischen Aspekte einer Website alles übernehmen können.
Diese dichte Community-Integration ist sowohl ein gutes Beispiel dafür, was Drupal als Plattform für Community-Projekte leisten kann, als auch ein wichtiges Argument für dieses Web Application Framework, da bei der Entscheidung für ein CMS ja nicht nur das Programm selbst eine Rolle spielt, sondern die gesamte Infrastruktur darum herum.
Drupal ist keine Software, mit der jemand mal schnell nebenbei eine Website aufsetzt. Wer das versucht, könnte schnell einen sprichwörtlichen „Knoten im Kopf“ bekommen. Das CMS verwendet relativ abstrakte Konzepte, ähnliche wie eine Programmiersprache. Das macht die Open-Source-Software Drupal zwar universell einsetzbar, aber es ist dafür nicht besonders intuitiv verständlich. Zudem ist Drupal berüchtigt dafür, relativ hohe Anforderungen an die Serverleistung zu stellen. Damit eignet es sich vor allem für ernsthafte, große Web-Projekte mit entsprechenden Budgets und Personalressourcen. Erfahrene Drupal-Experten können damit sehr komplexe, in hohem Maße individuelle Online-Auftritte realisieren.