Für die Abbildung auch komplexer Inhalte im Web haben längst schon offene Content-Management-Systeme ihren Siegeszug angetreten. Sie verdrängen dabei oft teure, aufwendige CMS-Monster. Neben dem Platzhirschen WordPress behaupten sich einige starke Alternativen, allen voran Drupal.

Mit einer großen weltweiten Nutzer- und Entwickler-Community hat sich Drupal, seit es vor zwölf Jahren als Open-Source-Projekt startete, zu einem modernen und performanten Content-Management-Framework entwickelt, das die Anforderungen aktueller Webanwendungen erfüllt und dabei mit intelligenten und ungewöhnlichen Ansätzen aufzuwarten weiß. Auftritte wie der des Weissen Hauses (whitehouse.gov) oder der von Amnesty International (amnesty.org) setzen auf Drupal.

Aktuell steht der nächste große Versionssprung vor der Tür. Obwohl sich das System zum Zeitpunkt dieses Artikels noch in der Alpha-Phase befindet und einige Monate vom offiziellen Release entfernt ist, beeindruckt die Version 8 des mächtigen CMS Drupal bereits mit einigen vielversprechenden neuen Features, mit denen sowohl Entwickler, als auch Enduser mehr als zufrieden sein können. Mit der neuen Version macht Drupal mehrere Schritte in verschiedenste Richtungen und versucht damit erneut, ganz getreu der Philosophie der Software, den neuesten Web-Technologien zu entsprechen. Wir wollen mit diesem Artikel einige dieser Neuerungen zusammenfassen.

Hello OOP!

Die möglicherweise bedeutendste Änderung ist die Vorstellung von Symfony 2 Komponenten im Code. Symfony ist ein modernes, PHP-basiertes MVC (Model-View-Controller) Web Application Framework. Die Adaptierung von modernen Konzepten und Standards macht Drupal flexibler und besser wartbar und zielt darauf ab, sowohl mehr HighEnd-Entwickler für die Software zu begeistern, als auch die gesamte Codestruktur zu verbessern. Damit soll die Anbindung von externen Anwendungen noch leichter werden.

CMI – Configuration Management Initiative

Um die Trennung von Inhalt und Konfiguration zu vollziehen wird Drupal 8 sämtliche Backendeinstellungen in .yaml-Dateien speichern. Diese Dateien kann man (manuell oder besser mithilfe eines Source Code Management Systems wie git) von seiner Entwicklungsumgebung aus verlässlich und bequem online stellen, ohne dass man Datenbankanpassungen vornehmen muss, was eine riesige Erleichterung für Entwickler bedeutet. Auch die Portierung von Konfigurationen zwischen verschiedenen Seiten soll damit leicht gemacht werden.

Multilingual Initiative

Sehr ernst nimmt Drupal das Thema Mehrsprachigkeit, die künftig zentraler Teil des Core Systems sein wird. Dank dafür gebührt dem riesigen Team von Mitwirkenden der Multilingual Initiative. Spannend dabei ist unter anderem die Inkludierung des Moduls Entity Translation im Core, womit die Übersetzung von Inhalten bis auf die kleinste Ebene (z.B. Inhaltsfelder) aufgeteilt werden kann. Außerdem steht ein neu überarbeitetes Translate-Interface zur Verfügung.

Twig – das neue Templatingsytem

Für Frontend-Entwickler und Themer ist die Aufnahme der Template Engine Twig eine der willkommensten und spannendsten Änderungen. Twig ist schnell und vor allem sehr sicher, weil die zur Verfügung gestellten Daten schon gesäubert dem Theme-Layer zur Verfügung gestellt werden. Twig ist auch für Frontend-Entwickler, die Drupal nicht kennen, ein Segen, weil man sich nicht mehr durch Drupal-spezifische, tief verschachtelte Arrays oder Objekte durchkämpfen muss, sondern sich einfach auf den Markup konzentrieren kann.

Views im Core

Für diejenigen, die das Topmodul Views nicht kennen: mit dessen Hilfe ist es extrem leicht, Datenbankabfragen in einer intuitiven grafischen Oberfläche zu erstellen und anzuzeigen. Views kommt mit vielen vordefinierten Templates für verschiedenste Darstellungsmöglichkeiten und bietet dazu noch eine breite Anzahl an APIs, von denen viele weitere Module Gebrauch für Erweiterungen machen. Mit der Implementierung von Views im Core von Drupal 8 werden alle Listenansichten im Administrator-Bereich auch zu Views, was zu einer enormen Flexibilität in der Anpassung für verschiedene User-Rollen führt.

 

Responsive Everywhere

Drupal 8 wird responsive “out of the box” sein. Seitenredakteure werden von der neuen responsive Toolbar Gebrauch machen können. Damit wird das Backend auch auf mobilen Geräten bequem navigierbar. Die Toolbar wurde zudem in der neuen Version auch mehr den Anforderungen von unerfahrenen Nutzern angepasst, damit ein Einstieg in das System besser gewährleistet werden kann. Eine weitere wichtige Neuigkeit in dem Bereich ist die Inkludierung des Moduls Breakpoints (https://drupal.org/project/breakpoints) im Core, mit dem man Modulen die jeweiligen Breakpoints der Seite offenlegt. So lässt sich z.B. je nach Gerät nur die passende Bild- oder Videogröße liefern und der Datentransfer optimieren.

Inline-Bearbeitung von Inhalten

Die, seit der DrupalCon in Denver entstandene Initiative „Spark“ zur Verbesserung des Redaktionsprozesses ist ebenfalls ein Teil vom Core in Drupal 8. Eines der wichtigsten Teile davon ist die Möglichkeit zur Inline-Editierung von Inhalten, die von einem WYSIWYG-Editor unterstützt wird. Sehr vielversprechend ist hier zudem die Möglichkeit, nicht nur den Hauptinhalt einer Seite, sondern auch Metadaten wie Listenansichten von Views direkt im Frontend zu editieren. Diese Maßnahme wird den Zeitaufwand eines Redakteurs um ein Vielfaches reduzieren.

„Spark“ liefert eine völlig überarbeitete Inhaltserstellungsseite, mit einem (endlich) inkludierten WYSIWYG-Editor, zwei-spaltigem Layout, einer „echten“ Vorschau und einigem anderen mehr.

REST

Drupal 8 inkludiert im Core die Möglichkeit, Datenressourcen als REST Services offen zu legen. Mit wenigen Mausklicks ist es möglich, Daten in verschiedensten Formaten wie json oder xml mit anderen Webservices auszutauschen. Damit eignet sich die Software perfekt als Datenquelle für mobile Apps und positioniert sich stark in einem Web-Umfeld, in dem der Datenfluss von allen Seiten immer stärker ineinandergreift.

Testing mit PHPUnit

Drupal inkludiert PHPUnit als Möglichkeit zum flexibleren und vor allem schnelleren Testing von Code-Komponenten. Das Drupal-spezifische Testing System SimpleTest wird weiterhin verfügbar sein, dennoch ist der Schritt hin zu PHPUnit ein gutes Zeichen, weil damit bereits vorhandene Standards eingearbeitet werden.

 

Wie bereits erwähnt ist die Software noch in einer späten Alpha-Phase. Realistisch betrachtet ist der offizielle Releasetermin erst Mitte 2014 zu erwarten. Bis dahin wird es mit Sicherheit noch Änderungen geben – allerdings geht es nunmehr um Optimierungen und die Beseitigung von Bugs. Wir werden weiterhin die Entwicklung beobachten und bald wieder davon berichten.