Das CMS Drupal: Open Source und Decoupled

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, auf Community-Funktionen und seit einigen Jahren auch auf Headless-Szenarien.

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. Dries Buytaert hat 2007 mit Acquia ein eigenes Unternehmen aufgebaut, das heute eine auf Drupal basierende Digital Experience Plattform (DXP) anbietet und von Gartner regelmäßig zu den Leadern im Bereich DXP und Enterprise Web Content Management gezählt wird.

Zu den kritischen Punkten von Drupal gehörte in der Vergangenheit vor allem die fehlende Abwärtskompatibilität neuer Drupal-Versionen, die immer wieder auftauchenden Sicherheitslücken und das nicht unbedingt modern wirkende Autoren- und Administrations-Interface. Die fehlende Abwärtskompatibilität hat Drupal inzwischen gelöst: Seit Drupal 8 gibt es keine grundlegenden Brüche in der Architektur mehr, sondern nur noch aufeinander aufbauende Entwicklungs-Zyklen. Somit war der Umstieg von Drupal 8 auf Drupal 9 erstmals als bruchfreies Upgrade möglich, da Drupal 9 lediglich eine Weiterentwicklung von Drupal 8.9 war.

Drupal für Content Manager

Für Autoren bietet Drupal zwei Bearbeitungs-Varianten 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, da der Modus für jede Änderung durch mehrere Klicks erneut aktiviert werden muss. Zumindest bei der lokalen Test-Installation war die Performance im Frontend-Editing-Modus nur mäßig, man sollte daher die Praxistauglichkeit noch einmal testen, bevor der Modus für eine komplette Redaktion ausgerollt wird.

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 an die Erfordernisse der Webseite 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 lange Zeit die fehlende Media-Library dar. Dieses Manko hat Drupal in Version 8.6 mit der Integration eines Medien-Management behoben, auch wenn die Implementierung lückenhaft bleibt. Dass ein System wie Drupal so lange auf ein derart zentrales Autoren-Feature verzichtet hat, wirkt auf Außenstehende etwas erstaunlich.

Während die Author Experience von Drupal nicht unbedingt eine Offenbarung ist, entfaltet das System unter den administrativen Menüpunkten seine volle Stärke: Mit dem Feature "Menu" unter "Structure" kann der Administrator verschiedene Menüs und Navigations-Elemente erstellen. Mit "Blocks" kann er (abhängig vom Theme) Inhaltselemente auf einer Seite positionieren, also beispielsweise dem Header, dem Footer oder der Sidebar zuordnen. Das System erinnert etwas an das Widget-System von WordPress, ist allerdings weniger intuitiv. Zusätzlich kann der Administrator einen Layout-Builder aktivieren, der die Erstellung von Seitenvorlagen im WYSIWYG-Stil ermöglicht.

Daneben 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.

Was würde Dries Buytaert anders machen, wenn er Drupal im Jahr 2021 noch einmal starten würde? "I would lead with a strong user experience". Drupal ist sich seiner Schwächen auf der Anwenderseite also durchaus bewusst. Die Admin- und Autoren-Oberflächen wirken eher historisch, auch wenn sie responsiv und relativ barrierearm sind. Der enorme Feature-Reichtum macht die Bedienung komplex und der große Ressourcen-Hunger von Drupal kann die Bearbeitungsworkflows träge machen.

An Versuchen, die User Experience zu verbessern, mangelt es nicht. Zuletzt wurde im Sommer 2020 eine neue strategische Inititiative gestartet, die unter dem Titel "Easy out of the box" mehrere unvollendete Initiativen abschließen soll. Dazu gehört vor allem das neue Administrations-Theme "Claro", das derzeit als experimentelles Theme mitgeliefert wird und künftig das Standard-Theme ablösen soll. Weitere Schwerpunkte sind die Verbesserung der Media Library und der erwähnte Layout Builder, der derzeit noch separat aktiviert werden muss. Andere Initiativen wie der Rückbau von JQuery oder die Umstellung des Admin-Interfaces auf React sind offenbar nicht weiterkommen. Solche Problem kennen zwar auch andere Systeme älteren Datums. Allerdings haben zahlreiche Enterprise-CMS die Author-Experience deutlich früher in den Fokus gerückt.

Drupal für Entwickler

Mit Version 8 ist Drupal auf einen sechsmonatigen Release-Zyklus umgestiegen. Seitdem gibt es keine inkompatiblen Versions-Brüche mehr, sondern nur noch Deprecations. Folglich war Drupal 9 die erste Major-Version, die kompatibel und upgrade-fähig zu Drupal 8 war. Über eine strategische Initiative sollen in Zukunft auch automatische Updates bei Drupal eingeführt werden, ein Feature, das viele andere Systeme bereits haben.

Mit Version 8 hat Drupal Twig als Template-Sprache und YAML für Konfigurationen eingeführt. Für Datenbank-Abfragen setzt Drupal auf die weit verbreitete Doctrine-Bibliothek. Ansonsten sind inzwischen ganz überwiegend Libraries des PHP-Framework Symfony im Einsatz. Bei der Backend-Technologie setzt Drupal anders als WordPress oder TYPO3 also erfreulicherweise auf weit verbreitete Standards. Bei der Frontend-Technologie ist allerdings nach wie vor JQuery im Einsatz. Neben dem klassischen LAMP-Stack mit Linux, Apache, MySQL und PHP kann Drupal auch mit Nginx, IIS, PostgreSQL und SQLite betrieben werden. Für eine akzeptable Performance wird das PHP-Modul PHP-OPcode-Caching empfohlen.

Die Installation von Drupal ist einfach und kann inzwischen auch über Composer erfolgen. Bei dem traditionellen Weg lädt man die Sytem-Dateien herunter, besucht die Basis-URL und füllt dort die Formulare für die Installation aus. Zu Test-Zwecken bietet sich die Auswahl einer SQLite-Datenbank an, so kann man auf die Einrichtung einer MySQL-Datenbank verzichten. Am Ende des Installations-Prozesses hat man die Wahl zwischen einer Minimal-Version, einer vor-konfigurierten Standard-Version und einer Demo-Installation mit einem Beispiel-Theme.

Insgesamt ist der Installations-Prozess kaum aufwändiger als bei WordPress und deutlich weniger anspruchsvoll als beispielsweise bei TYPO3. Anders als beim Test von Version 8 war auch die Installations-Geschwindigkeit von Version 9 vergleichsweise schnell.

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>

Auf den allgegenwärtigen Headless-Trend hat Drupal im Vergleich zu den anderen großen Open Source CMS die vielleicht konsequenteste Antwort geliefert. Denn während die Headless-Architektur bei WordPress oder bei TYPO3 eher wie ein Zusatz-Feature wirkt, gehört das "Decoupled Drupal" inzwischen zum Credo der Community. Durch verschiedene ausgereifte APIs kann Drupal ohne großen Zusatzaufwand sowohl als Headless-Repository, als Hybrid-System oder eben als klassisches CMS eingesetzt werden. Einige weitere Informationen dazu sind für Premium-Leser in der Übersicht über Headless-CMS zusammengestellt.

Drupal für Nicht-Entwickler

Die Basis-Installation und die Administration von Drupal erfordern keine Programmier-Kenntnisse und mit einigem technischen Geschick dürfte auch ein Nicht-Entwickler auf Basis der vielen freien Themes und Erweiterungen eine Webseite hinbekommen. Während sich WordPress jedoch schon immer an Endnutzer gerichtet hat und mit dem geplanten Full-Site-Editing zu einem ausgereiften Website-Builder mutieren will, dürfte Drupal wohl auch in Zukunft seinen Blick eher auf die Entwickler-Gemeinde richten.

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.

Roadmap

In den letzten Jahren standen bei Drupal vor allem technische Themen im Fokus, um mit den gallopierenden Entwicklungen im CMS-Markt Schritt zu halten: Der Ausbau der APIs und das Thema Decoupled Drupal, die Umstellung der Entwicklungs-Zyklen, die Sicherstellung einer Abwärtskompatibilität und die Erneuerung der technischen Basis mit Standards wie Symfony, Twig oder YAML. Mit Version 8 und 9 sind viele dieser Projekte abgeschlossen worden. Auch auf der aktuellen Roadmap stehen einige technische Initiativen, beispielsweise die API für Navigationselemente (Decoupled Menus) und die geplanten automatischen Updates. Daneben findet man die erwähnte Initiative "Easy out of the box" und eine Initiative für ein neues Standard-Frontend-Theme mit dem Namen Olivero. Die Veröffentlichung von Drupal Version 10 ist für den Sommer 2022 vorgesehen. Details über die aktuellen, geplanten und gerade abgeschlossenen Initiativen findet man auf der Drupal-Webseite.

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 ebenfalls eine passende Wahl sein. Sehr stark ist Drupal inzwischen beim Thema Headless, Hybrid und Decoupled, sodass man bei solchen Szenarien das System in die Shortlist aufnehmen kann. Die bekannten Schwächen von Drupal liegen vor allem in der Author-Experience. Dennoch bleiben die vielen Enterprise-Features, die langjährigen Erfahrungen und die hohe Verbreitung gute Argumente für die Verwendung von Drupal. Für einfachere Web-Auftritte ist Drupal dagegen deutlich zu komplex und schwerfällig.

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.

Alternativen zu Drupal

Es gibt vergleichsweise viele Content Management Systeme für den größeren Mittelstand. Zu den klassischen Alternativen von Drupal zählen vor allem TYPO3, Joomla, WordPress oder auch Redaxo. Unter den jüngeren Systemen kommen zum Beispiel Neos, Sulu oder auch Craft in Frage. Bei der Umstellung auf ein neues CMS ist jedoch auch ein Wechsel auf eine andere Architektur oder ein Upgrade auf ein komplexeres CMS denkbar. All das hängt vom konkreten Einsatz-Szenario im Unternehmen ab. CMSstash kann einen ersten Markt-Überblick liefern. Für einen erfolgreichen Auswahl-Prozess ist jedoch eine individuelle Analyse nötig. Wer dabei auf eine externe Unterstützung zurückgreifen will, der kann sich an unseren Kooperationspartner SUTSCHE wenden. SUTSCHE gehört zu den wenigen Dienstleistern, die nicht implementieren und so die CMS-Auswahl unabhängig im Interesse des Kunden begleiten können.

© by Sebastian Schürmanns, 2017 - 2021. All Rights Reserved. Built with Typemill.