Content Management mit Drupal

Interview mit Drupal Gründer Dries Buytaert

Drupal Gründer Dries Buytaert verrät in diesem Interview durch welche Besonderheiten sich Drupal von anderen CMS abhebt, was Entwickler beachten sollten, damit nachträglich integrierte Module reibungslos mit dem System bzw. anderen Modulen arbeiten und er wirft einen Blick auf die gegenwärtige Entwicklung von Drupal 8.

Der gebürtige Belgier Dries Buytaert ist Gründer und Project Lead des Drupal-Projekts und Präsident der Drupal Association. Darüber hinaus ist er der Mitbegründer und Chief Technology Officer von Acquia, einem Unternehmen, das Drupal-Produkte und damit verbundene Dienstleistungen vertreibt.

- Durch welche Besonderheiten hebt sich Drupal von anderen CMS ab?

Drupal bietet ein einheitliches, einfach zu bedienendes System, mit dem Anwender Inhalte, Communities und E-Commerce nahtlos zu ihren Kunden bringen können. Da Drupal im Kern "socia" ist, müssen Anwender sich nicht mehr mit mehreren verschiedenen Social-Business-Software-Suiten, Web-Content-Management-Plattformen oder E-Commerce-Systemen auseinandersetzen. Vielmehr haben sie mit Drupal eine einzige Marketing-Schnittstelle.

Außerdem ermöglicht es Drupal, dass neue digitale Marketing-Initiativen und Websites innerhalb kurzer Zeit an den Start gehen und so schnell wachsenden Communities und den begehrtesten Gadgets eine kontinuierlich innovative Plattform bieten können.

Diese hohe Innovationsfähigkeit verdankt Drupal vor allem seiner vitalen Community. Nach unseren Schätzungen ist die Drupal-Community das größte Open-Source Projekt, gemessen an der Anzahl der aktiv Mitwirkenden; wir haben ungefähr 17.000 aktive Entwickler weltweit. Dank dieser engagierten Community müssen Anwender nicht auf die Entwicklung neuer Produkte alle sechs bis neun Monate warten, um über die neueste Technologie zu verfügen.

Heute nutzen Unternehmen und Organisationen jeder Größe Drupal, von kleinen Non-Profit-Organisationen bis hin zur New Yorker Börse. Drupal unterscheidet sich in erster Linie von anderen Systemen, indem es bessere Möglichkeiten bietet, die komplexen Anforderungen und Leistungserfordernisse von großen Unternehmenssystemen zu erfüllen.

Was Drupal für Unternehmen so interessant macht, ist der modulare Aufbau, der die Implementierung besonders einfach macht, und die Tatsache, dass bereits tausende von Lösungen von der Entwickler-Community geschaffen wurden. Wenn es für ein Problem noch keine passende Drupal-Lösung gibt, entwickelt die Community diese schnell und unbürokratisch nach den Bedürfnissen des Nutzers. Dieser Ansatz ist komplett neu und bedeutet einen wichtigen Schritt nach vorne, weg von traditionellen proprietären Content Management Systemen.

- Woran orientieren sich Entwickler, welche Module sind besonders nützlich und welche weniger?

Bei vielen anderen CMS kommen häufig "All-in-one"-Module o.ä. zum Einsatz, die sich durch das Anklicken eines Kontrollkästchen differenzieren lassen, zum Beispiel in eine Fotogalerie oder einen Event-Kalender oder ein Wiki. Das Modul nimmt notwendigerweise einen bestimmten Anwendungsfall an; wenn diese Annahme falsch ist, muss der Anwender eine andere Auswahl treffen, um die entsprechenden Anforderungen zu erfüllen.

Im Gegensatz dazu folgen die meisten gut geschriebenen Drupal-Module der Unix-Philosophie: Es ist besser, sich nur einer Sache zu widmen, diese aber besonders gut zu machen. Ein gutes Modul konzentriert sich auf ein spezifisches Problem, so dass ein anderes Modul auf dieser optimierten Funktionalität aufbauen kann. Demnach ist Drupal eine Sammlung spezialisierter Komponenten, die die gewünschte Funktionalität und Arbeitsprozesse optimal abbilden und eine konsistente Funktionsweise über mehrere Website-Funktionen hinweg garantieren.

Die Drupal-Entwickler-Community legt zudem großen Wert auf die Einhaltung von Best Practices und Richtlinien, wie Coding-Standards, Security Audits und automatisierte Testabdeckung. Drupal.org bietet auch verschiedene Metriken zur besseren Beurteilung der relativen Qualität der Module, einschließlich Beliebtheitsgrad, Betreueraktivität und Bug-Tracker-Statistiken. Da wir das geballte Wissen unserer Community nutzen, kann Drupal die Nützlichkeit von Modulen sehr genau beurteilen.

- Was sollten Entwickler beachten, damit nachträglich integrierte Module reibungslos mit dem System bzw. anderen Modulen arbeiten und sich Fehlerquellen vermeiden lassen?

Die meisten Modul-Implementierungen und -Upgrades verlaufen ziemlich reibungslos, da die Mehrheit der Entwickler die üblichen Bezeichnungen und APIs von Drupal verwendet. Um jedoch mögliche Probleme mit Modulen zu vermeiden, ist es sinnvoll, folgende Best Practices zu beachten:

  • Implementierung von neuen oder aktualisierten Modul-Codes in einen "QA"-Server für Vorabtests. Wenn Probleme auftreten, können diese frühzeitig erkannt und behoben werden, ohne dass sie auf der Live-Website zum Tragen kommen.
  • Speicherung von Modul-Codes in Versionskontrollen wie Git oder Subversion, um Funktionen einfach und flexibel zwischen den unterschiedlichen Umgebungen übertragen zu können. Dies ermöglicht einen Rückgriff auf ältere Versionen des Codes sowie eine Übersicht über die vorgenommenen Änderungen.
  • Erstellung von automatisierten Tests für kritische Website-Funktionen mit Hilfe von Tools wie Selenium, Behat und/oder integrierten Drupal Test-Modulen. Dadurch kann ein Skript vor jeder Code-Eingabe ausgeführt werden, um mögliche Verzögerungen abzufangen.

- Welche Möglichkeiten hinsichtlich Responsive Webdesign bietet Drupal?

Es gibt bereits zahlreiche Drupal-Seiten, die unabhängig vom Gerät und der Bildschirmgröße funktionieren, dank des "Responsive Webdesign", das sich beispielsweise aus HTML5, CSS3, Javascript etc. zusammensetzt. So lassen sich zum Beispiel mobile Ladezeiten durch das Entfernen oder Verkleinern von Bildern optimieren, die Anzeige einer Website an die Größe des Bildschirms oder das genutzte Gerät anpassen, Navigationselemente vereinfachen und vieles mehr. Die nächste große Drupal-Version wird Features enthalten, die sich noch mehr an der mobilen Nutzung orientieren.

- Verraten Sie uns etwas über kommende Features?

In der Drupal Community sind Distributionen – also Zusammenstellungen von Software, die als Komplettpaket weitergegeben werden – ein wichtiges Thema. Diese bieten vorkonfigurierte Features und Funktionen für jeweils spezifische Site-Typen. So gibt es unter anderem Drupal Distributionen für Geschäftsanwendungen, e-Learning, Social Communities, Eventmanagement, Publishing und Customer Relationship Management. Die Vielzahl der Möglichkeiten macht Drupal für ganz neue Zielgruppen interessant.

In diesem Zusammenhang möchte ich vor allem auf ein Projekt kurz eingehen: die Verbesserung der Autorenfunktion "Spark". Dies ist eine Distribution von Drupal, die die Autorenprozesse für Drupal 7 verbessert, wo sie auf echten Sites getestet werden können. Ziel ist es, erzielte Verbesserungen direkt in Drupal 8 einfließen zu lassen. Unser Hauptfokus liegt hierbei auf Tools für Inline Content Editing und Responsive Layout Building.

Außerdem entwickeln wir gerade Drupal 8. In zahlreichen Initiativen arbeitet die Community beispielsweise an nativen Web-Services, Configuration Management-Lösungen, nativem Mobile-Support, verbesserten Sprach-Features, nativem HTML5-Output und verbesserten Autorentools. Die neue Drupal-Version soll die größten Pain Points beseitigen und damit ein extrem leistungsfähiges, an mobilen Anwendungen orientiertes Content Management System schaffen, das Drupal für die nächsten drei bis fünf Jahre an die Spitze der Web-Innovationen bringt.

Die Entwicklung von Web-Standards und mobiler Support sind ebenfalls ein wichtiger Schwerpunkt der Community-Aktivitäten. Es wird hier viel geforscht, viele Prototypen werden hergestellt, die dann in Features wie Responsive Grid Systeme, Responsive Image Support und in bessere Unterstützungsmöglichkeiten für native mobile Anwendungen münden.

Im Moment investiert die Drupal Communitiy viel Zeit darauf, das anwenderfreundlichste CMS für Mobile und Responsive Design zu schaffen. Wir haben bereits viele Initiativen hinsichtlich Web Services, HTML5 und Design auf den Weg gebracht, die Drupal zu einer großartigen Plattform für die Erstellung nativer mobiler Anwendungen macht. Für Drupal 8 haben wir ein ganzes Team, das sich um die "Mobile"-Initiative kümmert – ein gemeinschaftliches Projekt, das drei Hauptziele hat: einfache Administration bei mobilen Anwendungen, Responsive Webdesign und starke Front-end-Performance.

Quelle: Autorin: Claudia Baumann, Contentmanager