Drupal

Dank seiner großen und rege beitragenden Community  ist Drupal eher ein Framework für die Web-Applikationsentwicklung als ein herkömmliches CMS. Es erfüllt mit seiner Flexibilität und Skalierbarkeit eine große Bandbreite an Anforderungen, darunter auch umfassende Barrierefreiheit. Drupal ist auf Platz 3 der meisteingesetzten CMS weltweit.

Letzte Aktualisierung
August 2024

Steckbrief

Programmiersprache

PHP

Erstmals veröffentlicht
Open Source seit
Lizenz

GPL 2

Aktuelle Hauptversion
11
Verfügbare Sprachen
65
Core-Entwickler*innen
~60
Entwickler*innen
>1 000 000
Registrierte Community-Mitglieder
>3 700 000

Dank einer äußerst aktiven Entwicklergemeinde ist Drupal heute eher ein Web-Application-Framework als ein Content-Management-System im herkömmlichen Sinn. Es eignet sich für unterschiedlichste Individualanforderungen, und überzeugt mit Flexibilität, Skalierbarkeit und Barrierefreiheit. Im weltweiten Vergleich beim Einsatz von CMS liegt Drupal auf dem dritten Platz.

Weniger ist mehr

Was das klassische Drupal wohl am stärksten von anderen Content-Management-Sytemen unterscheidet, ist die Reduktion des Kernsystems auf das Wesentliche. In einer Standardinstallation findet sich nur eine Handvoll Module, die z. B. die Suchfunktion oder RSS-Feeds bereitstellen. Auch diese müssen zum Teil erst aktiviert werden. An den Kernfunktionen erkennt man auch am besten, wo das System seine Wurzeln und gleichzeitig seine Stärke hat: beim „User-generated Content“. Kein Wunder also, dass Unternehmen wie Twitter und Pinterest Drupal einsetzen.

Ausgehend von der Erfahrung, dass jedes Webprojekt etwas anders ist und dass auch Systeme mit einer Vielzahl von Standardfunktionen nicht „out of the box“ alle Anforderungen bedienen, geht Drupal konsequent den umgekehrten Weg: maximal reduziert. Alle gewünschten Funktionen werden modular installiert. Ein geflügeltes Wort der Community lautet: „Dafür gibt‘s doch ein Modul.“ Und das stimmt: unter tausenden gut dokumentierten Modulen findet man für nahezu jede Spezialanforderung eine einsatzbereite Lösung. Hier zeigt sich die Stärke von Open Source in besonderem Maße: Individualentwicklungen werden bereitwillig über die zentrale Plattform drupal.org kostenlos zur Verfügung gestellt und kontinuierlich verbessert.

Durch den Ansatz, nur das zu installieren, was benötigt wird, profitiert Drupal von fünf entscheidenden Vorteilen: 

  1. Performancegewinn: Die schlanke Installation verbraucht wenig Ressourcen, während Administration und Redaktion nur die Funktionen sehen, die auch im Einsatz sind
  2. Übersichtlichkeit: Administration und Redaktion sehen nur die Funktionen und Bedienelemente, die tatsächlich eingesetzt werden
  3. Effizienz: Wartungsaufwand fällt nur für die benötigten Funktionen an, während das System robust und wenig angreifbar ist
  4. Skalierbarkeit: Das System wächst mit, wenn die Anforderungen komplexer werden
  5. Sicherheit: Weniger Sicherheitslücken durch weniger Komponenten bedeuten weniger Aufwand mit Sicherheitsupdates. Drupal stärkt den Sicherheitsaspekt durch strenge Coding-Standards und strikte Qualitätssicherungsprozesse.

Drupal Starshot: "Weniger" mit ein bisschen mehr

Das vorweggeschickt, bietet Drupal seit relativ kurzer Zeit eine zweite offizielle Version namens Starshot an, in der einige der am häufigsten eingesetzten Module und sinnvolle Vorkonfigurationen enthalten sind. Diese Version adressiert vor allem Neulinge, die Drupal evaluieren bzw. schnell die gängigsten Anforderungen umsetzen wollen. Mit Starshot schlägt Drupal eine Brücke zwischen Distributionen und dem klassischen Drupal-Setup:

Distributionen: vorkonfigurierte Installationsprofile

Wer sich das Zusammensuchen von Modulen ersparen möchte, kann auch mit einem der rd. 140 Installationsprofile (Distributionen) beginnen, die – ebenso kostenlos wie ihre Komponenten – auf typische Anwendungsfälle maßgeschneiderte Lösungen anbieten, beispielsweise für Behörden, Verlage, Veranstaltungen oder Online-Shops.

Umdenken und um die Ecke denken

Auch das Bedienkonzept ist anders als das vieler CMS. Drupal unterscheidet nicht zwischen „Frontend“ und „Backend“: Über das fein granulierte Rollen- und Rechtemanagement wird abgefragt, welche Berechtigungen anonyme oder eingeloggte Benutzer:innen haben, dann werden die entsprechenden Links/Menüs bereitgestellt. Berechtigungen werden administrativ entsprechend den Anforderungen gesetzt, so dass sich das System dem Einsatzzweck anpasst, nicht umgekehrt. Typische Redaktionsansichten erscheinen in einer Standardinstallation in einem eigenen Design (Theme), auf Wunsch kann das Aussehen mit einem Klick aber vollständig auf das „Frontend“-Erscheinungsbild angepasst werden.

Um einen Inhalt zu bearbeiten, navigiert eine Redakteurin auf die entsprechende Inhaltsseite, auf der (unter Berücksichtigung der eingestellten Berechtigungen) alle benötigten Funktionen zur Verfügung stehen (z. B. Bearbeiten oder Letzte Version wieder herstellen).

Wer von anderen Systemen die Organisation der Inhalte in einer Baumstruktur kennt, wird sich in Drupal neu orientieren müssen. Das System „denkt“ nicht in Hierarchien, sondern eher in Wiederverwendbarkeit. Nichtsdestotrotz kann jeder Inhalt einen eigenen Menüpunkt erhalten (oder mehrere). Dieser wird aber erst in dem Moment angelegt, in dem der Inhalt erstellt wird. Wer allerdings lieber einen Menübaum haben möchte, sei beruhigt: „Dafür gibt‘s doch ein Modul.“

Freiheit und Flexibilität

Das System geht grundsätzlich davon aus, dass Inhalte an mehreren Stellen auftauchen können. Die Eingabemasken für den Textkörper sehen die Eingabe einer Zusammenfassung vor, die standardmäßig für den Teaser auf Übersichtsseiten verwendet wird. In einer Grundinstallation erstellt Drupal chronologische oder stichwortbasierte Übersichtsseiten. Zusammenstellungen nach beliebigen anderen Kriterien lassen sich über Module realisieren.

Ein Kernstück des Systems ist die Taxonomie (Verschlagwortung). Begriffe innerhalb von (einfachen oder hierarchischen) Vokabularen können mit beliebigen Inhaltstypen verbunden werden und ermöglichen so verschiedene gefilterte (Über-)Sichten auf die Inhalte – oder auch auf die User. Inhaltstypen können selbst nach Belieben definiert werden, wobei die Felder für die Eingabemasken einfach ausgewählt werden.

Ein Beispiel: Es wird ein Inhaltstyp „Publikation“ angelegt mit den Feldern Titel, Untertitel, Verfasser, Verlag, Erscheinungsjahr, Inhaltsangabe, Publikationstyp. Das Feld „Verlag“ wird nicht als Freitextfeld angelegt, sondern als Referenz auf den Inhaltstyp „Verlagsprofil“, in dem weitere Informationen einschließlich Logo gepflegt werden. Der Weg zu einer Publikation kann nun über verschiedene Übersichtsseiten erfolgen: Alle Titel vom V-Verlag, Publikationen aus dem Jahr 2010, alle Beiträge von Mirja Musterling, neueste Publikationen vom Typ Fachartikel. Für die Steuerung der Zusammenstellungen können auch verborgene Felder angelegt werden.

Hierfür kommt Views zum Einsatz eins der beliebtetsten Core-Module. Es ermöglicht das individuelle „Zusammenklicken von Datenbankabfragen“ wie beispielsweise die oben beschriebenen. Hiermit werden auch Bausteine wie z. B. „verwandter Inhalt“ individuell zusammengestellt, gefiltert und priorisiert.

Hinzu kommen Feinheiten wie das Ausweisen einer Übersicht als „Archiv“ in Abhängigkeit vom Erstellungszeitpunkt - oder aber das Bereitstellen individueller Filterfunktionen, mit denen die Seitenbesucher:innen selbst steuern können, nach welchen Kriterien sie die Inhalte zusammengestellt bekommen möchten.

Hallo Welt!

Eine große Stärke von Drupal ist die internationale Verbreitung. Für die Mehrsprachigkeit werden seit Drupal 8 keine Zusatzmodule mehr benötigt, 181 Sprachen sind direkt installierbar, und Drupal schmückt sich gern damit, dass es mit 228 Nationen mehr Länder anerkennt als die internationale Staatengemeinschaft.

Da, wie gesagt, zwischen Frontend und Backend nicht unterschieden wird, ist mit jeder Sprache gleichzeitig auch die Übersetzung der Redaktionsoberfläche vorhanden. So kann z. B. jede/r in einem internationalen Redaktionsteam parallel in der eigenen Muttersprache arbeiten.

Alle, die mit Drupal arbeiten, können über die zentrale Übersetzungsplattform an der Verbesserung der Übersetzungen mitarbeiten und den aktuellen Stand auch wieder in ihre Installation einbeziehen.

Einsatz und Verbreitung

In den seltensten Fällen wird Drupal genutzt, um statisch angelegte Seiten auszuliefern (obwohl es dazu ohne Weiteres in der Lage ist). Zumeist sind es hochdynamische Plattformen, die auf User-generated Content ausgerichtet sind oder Websites von Regierungen und Verwaltungen, die den Schritt in Richtung Bürgerbeteiligung machen, ferner Medienhäuser, Nichtregierungsorganisationen oder Universitäten.

Diese Stärke zeigt das System bereits in seiner eigenen Infrastruktur: im Unterschied zu einigen anderen Systemen wird auf drupal.org kein systemfremdes Forum oder Ticketsystem eingesetzt, sondern eine mit Bordmitteln erstellte bedarfsangepasste Lösung.

Eine besondere Community

Augenfällig bei der Auseinandersetzung mit Drupal ist die ausgesprochen kontaktfreudige Community: Neben den großen internationalen Konferenzen (die DrupalCon findet zweimal jährlich in Nordamerika und Europa statt) sowie regionalen und überregionalen Camps (kleinere Konferenzen) oder Contribution-Events (auf einen Themenkomplex konzentrierte „Arbeitstreffen“) gibt es in den meisten größeren Städten weltweit User-Groups (mit Fokus auf Kurzvorträgen und Erfahrungsaustausch) sowie Stammtische.

Bemerkenswert ist die Initiative der europäischen Drupal-Community: Als die Drupal Association die DrupalCon Europe 2018 wegen einer Umstrukturierung absagte, organisierte die Gemeinschaft aus eigener Kraft mit viel fast ausschließlich ehrenamtlichem Engagement die Ersatzkonferenz Drupal Europe mit immerhin rd. 1.000 Teilnehmer:innen.

Die Erkenntnis, dass gegenseitige Weiterbildung und Unterstützung der beste Weg ist, um Open-Source-Projekte insgesamt voranzubringen, hat auch eine Kultur von Screencasts und vielfältigen gut „bespielten“ Foren befördert. Sehr hilfsbereite Experten und Spezialistinnen sind ständig auf den gängigen Diskussions- und Social-Media-Plattformen anzutreffen.

Technologie

Expert:innen installieren und verwalten eine Drupal-Instanz typischerweise über den PHP-Dependency-Manager Composer. Das gut dokumentierte Kommandozeilen-Tool (CLI, englisch command line interface) Drush (kurh für Drupal shell) beschleunigt administrative und weitere Arbeiten erheblich.

Dank des Datenbankabstraktionslayers kann es mit den üblichen Datenbanken wie MySQL, Postgre-SQL und SQLite verwendet werden. Zusatzmodule ermöglichen auch die Anbindung an z. B. MS-SQL und Oracle. Für komfortablere Suchfunktionen wird serverseitig gern Apache Solr oder Elastic Search verwendet, plus die vielversprechenden jüngeren Suchmaschinen wie z. B. Meilisearch. Natürlich gibt es auch hierfür Module.

Ab Version 8 (also seit 2015) enthält integriert wesentliche Bestandteile des Symfony-2-Frameworks. Das brachte große Erleichterungen im Konfigurationsmanagement mit sich (Stichwort Continuous Integration).

Die Abhängigkeit von Symfony hat hat die "Lebenszeit" einer Hauptversion seit 2020 signifikant verkürzt (im Vergleich zu 8 - 11 Jahren bei den Versionen 6 und 7). Dafür liefen aber die Aktualisierungen von Drupal 8 auf die Versionen 9 und 10 reibungslos und verursachten keinen nennenswerten Aufwand. Wenn Langzeit-Support (LTS = long term support) kritisch für die Entscheidung ist, hat Drupal hier definitiv eine Stärke.

Neu in Drupal 11

Die aktuelle Version führt folgende Highlights als bleibende (stable) ein:

  • Workspaces für die Vorbereitung komplexer inhaltlicher Änderungen, z. B. im Zuge einer Marketing-Kampagne
  • Single-directory components (SDC) zum Erstellen konsistenter, wiederverwendbarer Bausteine. SDC enthalten z. B. Programmierlogik, Templates, CSS, Javascript und automatisierte Tests für eine Teaservariante.
  • Verschiedene Verbesserungen für Decoupled-Setups

Darüber hinaus als experimentelle Featuresverfügbar (die normalerweise nach 6 Monaten als stable eingestuft werden):

  • Automatische Updates
  • Projekt-Browser, wie man ihn von anderen etablierten CMS kennt: Module direkt im Backend suchen und installieren

Nach wie vor ist es keine gute Idee, Experimente (z. B. mit einem neuen Modul) auf der Live-Website durchzuführen. Wer neue Funktionen ausprobieren möchte (typischerweise nach dem Prinzip "Versuch und Irrtum"), sollte dies in einer Kopie auf einer Staging-Umgebung machen. Ganz egal, welches CMS man einsetzt.

 

Credits

Lizenz

Lizensiert für CMS Garden unter CC BY-SA 3.0.

Verfasser*innen
Weitere Autor*innen

Aline Skibitzki, Joe Saylor (Drupal Association)

Nächste Termine