CMSstash

Drupal: Ein Enterprise Open Source CMS

Drupal gehört weltweit zu den meist genutzten Open-Source-CMS. Der Kern von Drupal ist auf das Notwendigste reduziert, während das System gleichzeitig über Module nahezu beliebig erweiterbar ist. Einen besonderne Schwerpunkt setzt Drupal auf Community-Funktionen und auf die Barrierefreiheit (Accessibility).

Screenshot der Drupal-Website

Drupal wurde initial von dem Antwerpener Studenten Dries Buytaert entwickelt und im Jahr 2000 erstmals publiziert. Ein Jahr später wurde aus Drupal ein Open Source Projekt. Heute gehören der Drupal-Community über eine Millionen Mitglieder an mit etwa 100.000 aktiven Unterstützern. Die Drupal-Organisation gehört heute zu den einflussreichen Stimmen in der Open-Source-Bewegung. Unzählige bekannte Unternehmen und Organisationen setzen Drupal für ihre Webseiten ein.

Drupal für Content Manager

Das Autoren-Dashboard von Drupal ist aufgeräumt, vollständig responsiv und barrierefrei, also auch für Menschen mit Behinderungen nutzbar. Das Design des Dashboards wirkt nicht super modern, ist aber klar strukturiert und relativ einfach zu verstehen.

In der Basis-Installation unterstützt Drupal zwei Arten von Inhalten: Statische Seiten und dynamische Artikel. Als Autor nutzt man zur Erstellung von Content einen klassischen HTML-Editor. Es gibt kein Digitales Asset Management in der Basis-Installation. Man kann jedoch über den HTML-Editor Bilder und Dateien zu einer Seite hinzufügen. An Alternativ-Texte für die Barrierefreiheit wurde dabei selbstredend auch gedacht.

Screenshot der Drupal-Website

Unter dem Menüpunkt "Structure" bietet Drupal ein sehr flexibles, allerdings auch komplexes System, die Struktur einer Seite zu verändern, natürlich abhängig vom verwendeten Theme. Über das Interface kann ein Autor die Inhalte beliebig platzieren und verschiedenen Seitenbereichen wie dem Footer, dem Header oder der Sidebar zuordnen. Das System erinnert etwas an das Widget-System von Wordpress, ist allerdings nicht so intuitiv bedienbar.

Natürlich gibt es noch unzählige weitere Features wie eine Theme-Auswahl, ein Modul-Bereich für Erweiterungen, eine umfangreiche Rollen-Konfiguration für Nutzer sowie diverse Standard-Reports. Die Komplexität des Systems bringt es mit sich, dass sich Autoren erst einmal in die Funktionsweise von Drupal hineindenken müssen. Wenn der Content allerdings nur in einem vordefinierten Rahmen erstellt werden soll, ist das System recht selbsterklärend.

Drupal für Entwickler

Drupal basiert auf dem LAMP-Stack, läuft also standardmäßig mit Linux, Apache, MySQL und PHP. Drupal kann allerdings auch mit anderen Technologien wie Nginx, IIS, PostgreSQL, SQLite etc. betrieben werden.

Die Installation von Drupal ist erstaunlich unkompliziert. Man lädt die Sytem-Dateien herunter, erstellt eine Datenbank, geht zur URL meine-url/core/install.php und füllt dort die Formulare für die Installation aus. Andere Systeme wie WordPress haben es verstanden, ihre einfache Installations-Routine (5-Minuten-Installation) als Alleinstellungsmerkmal zu vermarkten. Drupal bietet hingegen eine umfangreiche Anleitung mit nicht weniger als 10 Artikeln an, die jedes Detail hinter dem Installationsprozess erklären.

Besonders schön an der Installation ist das mitgelieferte "Bare-Bones"-Theme, das ein perfekter Startpunkt für die eigene Theme-Entwicklung ist. Überhaupt ist Drupal bei der Theme-Entwicklung erstaunlich modern. Mit Version 8 hat Drupal Twig als Template-Sprache und YAML für die Konfiguration eingeführt. Damit folgt das CMS einem Trend, auf den auch sehr viele junge Systeme setzen.

Drupal-Themes benötigen eine spezielle Ordner-Struktur und brauchen mindestens eine themename.info.yaml-Datei. Die Datei enthält Meta-Angaben wie den Namen des Themes, die Beschreibung, die unterstützten Theme-Regionen (wie Sidebar, Header, Footer, etc.) oder die verwendeten Bibliotheken. Die Templates von Drupal folgen wiederum der bekannten Twig-Syntax:

<div class="layout-container">
 {{ page.pre_content }}
 {{ page.breadcrumb }}
 <main class="page-content clearfix" role="main">
  <div class="visually-hidden"><a id="main-content" tabindex="-1"></a></div>
  {{ page.highlighted }}
  {% if page.help %}
   <div class="help">
    {{ page.help }}
   </div>
  {% endif %}
  {{ page.content }}
 </main>
</div>

Im Vergleich zu anderen geschichtsträchtigen PHP-Systemen folgt Drupal vielen aktuellen Trends und Standards, sodass die Umstellung auf oder zu anderen Systemen etwas einfacher fallen dürfte.

Drupal für Nicht-Entwickler

Die Basis-Installation und die Administration von Drupal erfordern keine Programmier-Kenntnisse. Die hohe Zahl an freien Themes und Erweiterungen sind weitere Argumente, auf Drupal zu setzen.

Zwar ist das Universum von Drupal nicht so groß wie das von Wordpress. Außerdem schlägt zum Beispiel bei der Theme-Präsentation ein höherer Nerd-Faktor durch (die Themes werden über einfache Link-Listen präsentiert). Dennoch hat Drupal auch diverse Vorteile. So gilt Drupal trotz diverser Einschränkungen und Relativierungen als das technisch sauberere und sicherere System. Allerdings ist die Komplexität höher und die Usability von Drupal etwas eigenwilliger, sodass das das System in der Regel eher bei Unternehmen und Organisationen und weniger bei Privatleuten zum Einsatz kommt.

Für Code-Einsteiger dürfte Drupal ein guter, aber auch anspruchsvoller Startpunkt sein. Das System ist ausgereifter und komplexer als WordPress und lässt sich kaum durch einfache Helper-Funktionen und Hacks anpassen.

Preise

Drupal ist komplett kostenlos und Open Source. Auch alle Themes und Module sind komplett kostenlos. Es gibt lediglich einen Marktplatz für Dienstleistungen, über den Agenturen, Berater und Freelancer ihre Leistungen rund um Drupal anbieten.

Empfehlung: Wo macht der Einsatz Sinn?

Drupal ist ein vergleichsweise komplexes und reifes System und ist vermutlich am besten für mittlere und große Unternehmen geeignet. Es gibt zahlreiche Commerce-Plugins und Erweiterungen für Online-Shops, sodass auch der Business-Bereich gut abgedeckt ist. Wenn Barrierefreiheit eine Anforderung ist, dann dürfte Drupal eine sehr gute Wahl sein.

Drupal wird von einer großen Zahl an mittleren und großen Unternehmen und Organisationen eingesetzt. Beispiele sind Fox, Oxfam, Lamborghini, Weather.com, der BBC-Store oder die Regierung von Bermuda.

Tägliche CMS-News für Entwickler, Designer, Projektmanager und Anwender gibt es von @CMSstash auf Twitter. Twitter kann auch gerne für Hinweise zu Texten genutzt werden.

Zuletzt aktualisert: 27.02.2018