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.

Anzeige

Job-Angebote für CMS-Experten

www.cmsstash.de

Mit einer Stellenanzeige auf CMSstash erreichen Unternehmen bis zu 4.000 CMS-Experten pro Monat. Und das zu sehr günstigen Konditionen .... Konditionen ansehen

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 nutzt inzwischen sehr viele Libraries des PHP-Framework Symfony und will daher auch seine Release-Zyklen künftig an die Zyklen von Symfony anpassen. 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. Bei der Frontend-Technologie nutzt Drupal noch JQuery und Backbone.js. Es gibt allerdings strategische Initiativen, die auf eine Modernisierung der UI auf Basis des React-Frameworks hinarbeiten. 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.

Ähnlich wie viele andere Content Management Systeme hat auch Drupal in den letzten Jahren seine Architektur auf Services und auf eine REST-API umgestellt, sodass inzwischen auch Headless-Distributionen von Drupal verfügbar sind.

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.

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

Roadmap

Die Veröffentlichung von Drupal Version 9 ist für den 3. Juni 2020 geplant. Drupal 9 soll auf Symfony Version 4 oder 5 basieren. Der Übergang von Drupal 8 zu Drupal 9 ist fließend und rückwärtskompatibel geplant, wobei alte Funktionalitäten mit Einführung einer stabilen neuen Version den deprecated-Status erhalten. Durch den fließenden Übergang wird es mit Version 9 keine hervorgehobenen Feature-Änderungen geben, sondern die Änderungen werden schrittweise bereits in Version 8 eingezogen. 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 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 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.

Regelmäßige Neuigkeiten über Content-Management-Systeme und Website-Publishing gibt es von CMSstash auf Twitter.

Zuletzt aktualisert: 06.01.2019