CMSstash

Das CMS Drupal: Open Source für Enterprise

Autor: Sebastian Schürmanns

Drupal gehört weltweit zu den meist genutzten Open-Source CMS. Mit einer riesigen Entwickler-Gemeinde und einer großen Organisation im Hintergrund zählt Drupal zu einer handvoll Open Source Systemen, die auch regelmäßig im Enterprise Bereich zum Einsatz kommen. Einen besonderen Schwerpunkt setzt Drupal dabei auf die Barrierefreiheit und auf Community-Funktionen.

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ört die Drupal-Organisation zu den einflussreichsten Stimmen in der Open-Source-Bewegung. Die Drupal-Community zählt über eine Millionen Mitglieder und etwa 100.000 aktive Unterstützer. Unzählige bekannte Unternehmen und Organisationen setzen Drupal für ihren Web-Auftritt ein.

Bei dem Alter und der Größe von Drupal fehlt es natürlich nicht an Kritik. Zu den kritischen Punkten gehörte in der Vergangenheit vor allem die fehlende Abwärtskompatibilität neuer Drupal-Versionen. Hinzu kommen beispielsweise Mängel in der Usability sowie speziell im Sommer 2018 massive Sicherheitslücken, die hunderttausende Drupal-Installationen angreifbar machten. Im September 2018 ist mit Drupal 8.6 dann eine neue Version erschienen, die als umfangreichstes Update der letzten Jahre gilt.

Drupal für Content Manager

Im Vergleich zu neueren Systemen wirken die Admin- und Autoren-Oberflächen von Drupal nicht unbedingt modern, die UIs sind jedoch barrierefrei und vollständig responsiv. Wie bei allen großen Systemen muss auch Drupal die Herausforderung lösen, seinen enormen Feature-Reichtum in eine intuitive Nutzeroberflächen unterzubringen. Hinzu kommt bei Drupal noch die Sicherstellung einer ausreichenden Performance, um eine effektive Arbeit mit Inhalten zu gewährleisten.

Für Autoren bietet Drupal zwei Bearbeitungs-Modi an: Einen klassischen Formular-basierten Ansatz im Autoren-Dashboard sowie ein Inline-Editing in der Frontend-Vorschau. Das Frontend-Editing ist allerdings vergleichsweise umständlich und daher nur für kleinere Änderungen geeignet, da der Modus für jede Änderung durch mehrere Klicks erneut aktiviert werden muss. Die aufgetretenen Performance-Probleme beim Laden der entsprechenden Inline-Formulare und bei der Speicherung von Änderungen kann ggf. auch auf die lokale Test-Installation zurückgeführt werden. Man sollte die Praxistauglichkeit des Frontend-Editings jedoch auf jeden Fall testen, bevor man es für eine komplette Redaktion ausrollt.

Der Inline-Editing-Modus von Drupal

So oder so werden Autor für größere Änderungen eher in die traditionelle Formular-Ansicht wechseln, die auch für die Erstellung neuer Seiten vorgesehen ist. Der Aufbau der Formulare ist wiederum frei konfigurierbar und kann den Erfordernissen der Seite individuell angepasst werden. Dieses sehr flexible Field-Management ist Systemen wie WordPress in dieser Form nicht bekannt, bei jüngeren Systemen wie Craft, ExpressionEngine oder Statamic jedoch sehr verbreitet.

Der klassische Bearbeitungs-Modus von Drupal für Autoren

Eine Besonderheit von Drupal stellte bislang die fehlende Media-Library dar. Dieses Manko hat Drupal in Version 8.6 mit einem funktionstüchtigen Medien-Management behoben. Es bleibt allerdings erstaunlich, dass ein System dieser Größe so lange auf ein so zentrales Feature für die Autoren in der Core-Version verzichtet hat.

Während die Autoren-Tools von Drupal nicht unbedingt eine Offenbarung sind, entfaltet das System unter den anderen Menüpunkten seine volle Stärke: Unter "Structure" bietet Drupal zum Beispiel ein sehr flexibles, allerdings auch komplexes System, um die Struktur einer Seite abhängig vom Theme zu konfigurieren. Über das Interface kann ein Admin 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 weniger intuitiv bedienbar. Seit neuestem gibt es auch einen experimentellen Layout-Builder, der separat aktiviert werden muss und im WYSIWYG-Modus ein Layout von Seitentypen erlaubt.

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 und Administratoren erst einmal in die Funktionsweise von Drupal hineindenken müssen.

Drupal ist sich seiner Schwächen in der Author-Experience und in der UI-Gestaltung durchaus bewusst. Seit Version 8 sind daher die Autoren als Zielgruppe stärker in den Fokus gerückt, es gibt Initiativen für die Modernisierung der Admin-UI und auch die neue Medien-Bibliothek ist durch den Bedeutungszuwachs der Anwender-Perspektive entstanden. Mit Blick auf den Markt muss man allerdings feststellen, dass viele andere Enterprise-CMS diesen Perspektiv-Wechsel schon deutlich früher vollzogen haben.

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. Für eine akzeptable Performance wird das PHP-Modul PHP-OPcode-Caching empfohlen. In den letzten Jahren hat Drupal zahlreiche Bibliotheken von dem PHP-Framework Symfonie übernommen, außerdem kommen Libraries des Zend-Frameworks zum Einsatz, für Datenbank-Queries wird Doctrine genutzt. Bei der Frontend-Technologie setzt Drupal noch auf JQuery und Backbone.js. Es gibt allerdings strategische Initiativen, die auf eine Modernisierung der UI auf Basis des React-Frameworks hinarbeiten.

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. Dabei bietet Drupal 8.6 neben der Minimal-Version und der Standard-Version nun auch eine Demo-Installation mit einem recht eleganten Koch-Theme an, mit dem die Features von Drupal erprobt werden können.

Die Installation von Drupal ist zwar unkompliziert, dauert aber seine Zeit. Auf localhost sollte man daher die Execution-Time für Scripte deutlich erhöhen, 5 Minuten sind das Minimum. Der gesamte Prozess kann leicht 15 bis 20 Minuten in Anspruch nehmen, was bereits die Schwergewichtigkeit des Systems offenbart. Dieser Eindruck verfestigt sich auch später bei der Admin-Oberfläche, die bei einer lokalen Installation ohne OPcode-Caching nicht die nötige Performance für eine effektive Arbeit liefert.

Die Theme-Entwicklung ist bei Drupal erstaunlich modern. Mit Version 8 hat Drupal Twig als Template-Sprache und YAML für die Konfiguration eingeführt und folgt damit einem verbreiteten Trend.

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>

Durch die Verwendung zahlreicher verbreiteter Technologien sollte der Einstieg in Drupal für Entwickler nicht allzu schwer sein. Allerdings ist das System natürlich sehr komplex und schlägt sich wie viele andere CMS aus dem PHP-Bereich mit vielen Alt-Lasten herum.

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 für den Einsatz von Drupal. Allerdings ist das Universum von Drupal nicht so groß wie das von WordPress und auch die Präsentation der Themes auf der Drupal-Webseite spricht eher für einen Fokus auf die Entwickler-Gemeinde. Dennoch dürfte es auch für Nicht-Entwickler dank der sehr hohen Flexibilität von Drupal mit einigem Aufwand möglich sein, eine eigene und teils individualisierte Drupal-Webseite zu erstellen.

Für Code-Einsteiger dürfte Drupal ein guter, aber auch anspruchsvoller Startpunkt sein. Das System ist in der Entwicklung klarer und sauberer als manch anderes Alt-System. Im Vergleich zu WordPress ist es allerdings auch komplexer 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 kostenfrei. Es gibt lediglich einen Marktplatz für Dienstleistungen, über den Agenturen, Berater und Freelancer ihre Leistungen rund um Drupal anbieten. Der größte Anbieter von Services und Produkten auf Basis des Drupal-Frameworks ist Acquia, ein von Dries Buytaert gegründetes Unternehmen, das regelmäßig in den WCMS-Analysen von Gartner und Forrester auftaucht.

Empfehlung: Wo macht der Einsatz Sinn?

Drupal ist ein komplexes und ausgereiftes System, das sich für den Einsatz im Mittelstand und im Enterprise-Bereich eignet. Es gibt zahlreiche Commerce-Plugins und Erweiterungen für Online-Shops, sodass auch der Business-Bereich und der Handel gut abgedeckt werden. Wenn Barrierefreiheit eine Anforderung ist, dann dürfte Drupal eine sehr gute Wahl sein. Allerdings sind auch die Schwächen von Drupal in der Author-Experience offensichtlich und gerade für den Mittelstand gibt es inzwischen zahlreiche neuere Alternativen, die bei der UI eine deutlich bessere Figur machen. Viele Enterprise-Features, die langjährige Erfahrung und die hohe Verbreitung sind jedoch immer noch starke Argumente für die Verwendung von Drupal. Für einfache Web-Auftritte ist Drupal natürlich zu komplex.

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.

Auch andere Experten lesen gerne gute Inhalte und freuen sich, wenn Du diesen Artikel zum Beispiel über Twitter teilst. Auf Twitter gibt es außerdem von @CMSstash tägliche Updates.

Zuletzt aktualisert: 15.10.2018