Drupal 8: Content Management runderneuert

Mit der neuen Version möchte sich Drupal als Dreh- und Angelpunkt für jede Art von Web-Content fit für die Zukunft machen.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Drupal 8: Content Management runderneuert
Lesezeit: 6 Min.
Von
  • Karsten Violka
Inhaltsverzeichnis

Mit rund 100.000 aktiven Mitgliedern zählt die Drupal-Community zu den größten Open-Source-Communities der Welt. In den knapp fünf Jahren, seit Drupal-Erfinder Dries Buytaert den Entwicklungszweig für die Version 8 eröffnete, haben über 3000 Entwickler zu Drupal 8 beigetragen. Drupal ist neben Wordpress und Joomla der prominenteste Web-Baukasten; zu den Vorzeige-Projekten gehören die Websites des Weißen Hauses, von Oxfam und The Economist.

Das "Content Management Framework" Drupal wendet sich an Entwickler, die mit Hilfe der Drupal-Bausteine und -APIs Websites, Redaktionssysteme und Anwendungen maßschneidern. Selbst Site-Builder ohne Programmierkenntnisse können damit komplexe Web-Projekte und Informationssysteme allein per Konfiguration erstellen. Erfahrene Anwender werden sich in der neuen Version schnell zurechtfinden: Die grundlegenden Konzepte wie frei konfigurierbare Inhaltstypen, Entities, Fields und Views sind altbekannt.

Projektleiter Dries Buytaert hatte eine Vision für Drupal 8: Um für das Web der Zukunft relevant zu bleiben, soll Drupal 8 nicht mehr nur als klassisches CMS HTML-Seiten generieren, sondern zum Dreh- und Angelpunkt für jede Art von Web-Content, für "digitale Erlebnisse" werden. So lassen sich die Inhalte via REST und JSON ohne HTML-Ballast an Smartphone-Apps und moderne Web-Applikationen ausspielen. REST-Schnittstellen und integrierte Clients zum Zugriff auf externe Webservices vereinfachen die Anbindung an andere Anwendungen.

Viele Funktionen, die zuvor als Zusatz-Module entwickelt wurden, sind in den Core gewandert. Dazu gehört das Modul "Views", ein mächtiger Query-Builder, mit dem sich Datenbankabfragen und Übersichtsseiten konfigurieren lassen. Endlich enthält der Core mit CKEditor einen integrierten WYSWIYG-Editor – das haben viele Nutzer vermisst.

Drupal 8 wurde zu weiten Teilen in objektorientiertem PHP neu implementiert. Dabei haben die Entwickler viele selbst gestrickte Lösungen gegen bewährte Open-Source-Bibliotheken ausgetauscht. Drupal 8 lässt sich samt Fremdkomponenten vollständig mit dem PHP-Paketmanager Composer installieren.

Das PHP-Framework Symfony, das Drupal 8 als Basis dient, verwenden auch andere bekannte Projekte wie Magento und phpBB. Drupal 8 so ist Teil der "PHP-Renaissance", die der etwas in Verruf geratenen Skriptsprache mit Objektorientierung und projektübergreifenden Standards (PHP Standards Recommendations, PSR) neues Leben eingehaucht hat.

Die Administrationsoberflächen und mitgelieferten Themes sind jetzt responsive, passen sich also automatisch an unterschiedliche Displaygrößen an. Dank "in-place-editing" können Redakteure einzelne Felder direkt im Frontend bearbeiten. Der HTML-Code, den Drupal ausspuckt, ist jetzt aufgeräumt und frei von div-Wüsten. Das CSS der Basis-Themes folgt den Standards SMACSS und BEM.

Für die Entwicklung von Themes hat die Templatesprache Twig die wenig eleganten PHP-Templates abgelöst. Das verspricht auch mehr Sicherheit, weil Theme-Entwickler nicht mehr via PHP direkt auf die Datenbank zugreifen können.

Sehr viel Entwicklungsarbeit ist die neuen Übersetzungsfunktionen geflossen. Inhalte lassen sich jetzt sehr flexibel auf der Ebene einzelner Felder übersetzen. Diese neue Architektur der "Entity translation" macht Drupal zu einem der leistungsfähigsten Systeme für mehrsprachigen Content.

Entwicklerteams profitieren besonders vom neuen Konfigurationsmanagement. Wie die meisten CM-Systeme speichert Drupal Konfigurationsdaten und Inhalte in derselben Datenbank. Um geänderte Einstellungen von einem Entwickler- auf das Produktiv-System zu bringen, waren bisher Klimmzüge nötig. Drupal 8 kann seine Konfiguration in YAML-Dateien exportieren, die sich leicht versionieren und auf andere Server übertragen lassen.

Mit dem neuen Caching-System adressieren die Entwickler das komplizierte Problem der Cache-Invalidierung: Damit ein Seiten-Cache zwischengespeicherte Inhalte verwerfen kann, die nicht mehr aktuell sind, muss Drupal akribisch Buch darüber führen, welche Inhalte auf jeder Seite vertreten sind. Ändert sich beispielsweise die Überschrift eines Artikels, muss auch die Übersichtsseite neu generiert werden.

In Drupal 8 können Entwickler auf API-Ebene einzelnen Elementen Metadaten über ihre "Cachebarkeit" hinzufügen. Damit lassen sich auch individuelle Seiten für einzelne Besucher besser cachen und damit schneller ausliefern.

Die Caching- und Render-Strategien sind nicht fest verdrahtet, sondern lassen sich mit eigenen Klassen erweitern. So kann Drupal 8 auch die von Facebook bekannte Big-Pipe-Strategie implementieren: Der Server liefert ein statisches Seitengerüst, das sofort dargestellt wird, während aufwändige Inhalte nach und nach per JavaScript nachgeladen werden. Zudem soll sich das neue Caching-System besser mit externen Caching Reverse Proxies wie Varnish und Content Delivery Networks (CDNs) koppeln lassen.

Mit dem Erscheinen von Drupal 8 endet der Support für die 2008 veröffentlichte Version 6. Die Entwickler liefern aber noch bis zum 24.2.2016 Sicherheits-Updates für Drupal 6. Die neue Version 8 wird bis zur Fertigstellung von Drupal 10 gepflegt – das dürfte noch einige Jahre in der Zukunft liegen. In dieser Zeit sollen vierteljährlich kleinere Core-Updates mit einer neuen Ziffer hinter dem Punkt erscheinen, die rückwärtskompatibel sind, aber auch kleinere neue Features mitbringen dürfen.

Versierte Drupal-Entwickler können sofort mit Drupal 8 loslegen, allerdings wird es noch eine Weile dauern, bis viele Erweiterungs-Module für die neue Version erhältlich sind. Ältere Drupal-Installationen lassen sich in der Regel nicht ohne größeren Aufwand aktualisieren, was den radikalen Umbauten geschuldet ist. Zwar importiert das mitgelieferte Modul Migrate Konfiguration und Inhalte aus älteren Drupal-Versionen, aber für komplexere Projekte wird ein Upgrade doch meist auf eine Neuimplementierung hinauslaufen.

Die neue Ausgabe ist kompatibel zur PHP-Version 7, die voraussichtlich am 26. November veröffentlicht wird. Erste Tests der Vorabversion von Drupal 8 mit dem neuen PHP zeigen einen beeindruckenden Perfomance-Sprung. (odi@ct.de) (odi)