Mehr als ein CMS

Ein Content Management System zeichnet sich durch die Organisation, Versionierung und möglichst vielfältige Ausgabemöglichkeiten aus. Bei Drupal steht der Content zwar noch im Mittelpunkt, aber insbesondere beim Ausbau des Systems spielt die Plattform mit ihren Muskeln. Gerade im Enterprise-Bereich ist das von Nutzen, wenn Drittsysteme angekoppelt oder integriert werden sollen, z.B. exotische Datenbanken oder komplexe Deployment-Infrastrukturen. Damit ist das Anwendungsspektrum von Drupal sehr breit, weshalb es gerne als Web Application Framework beschrieben wird.


 

Was heißt Drupal?

Ursprünglich als Forensystem geplant, sollte Drupal eigentlich den Namen Dorp (niederl. für Dorf) tragen. Dummerweise hatte sich der belgische Initiator Dries Buytaert aber bei der Domain-Registrierung vertippt. Unter drop.org – Dries gefiel der zufällig entstandene Name – entstand nun das Message Board, und wuchs ab 2001 unter dem Namen Drupal (abgeleitet von niederl. Druppel – Tropfen) zu einem der erfolgreichsten Open-Source-CMS.

Für solch eine Plattform ist vor allem wichtig, dass sie robust ist, stabil und performant läuft. Darum ging man für Drupal 8 einen schlauen Weg: Im Inneren des Systems geben gleich mehrere moderne Open-Source-Projekte den Takt vor. Ein richtiger Schritt, denn genau so wird heutzutage effizient entwickelt. Keine Räder mehr neu erfinden, sondern aus den Beiträgen Hunderter anderer Entwickler profitieren. Für Drupal 8 pickte man sich die Rosinen aus Frameworks und Tools: Symfony2, Zend, Twig, PHPUnit, EasyRDF, vfsStream und viele andere kleine Helfer werden über den Dependency Manager Composer zusammengeführt. Damit stehen haufenweise nützliche Libraries zur Verfügung und die Schnittstellen sind standardisiert – komplexe Enterprise-Weiterentwicklung können also nahtlos angeschlossen werden.

Was bisher geschah

Anfang 2015 wird Drupal 14 Jahre alt. Da ist es nicht verwunderlich, dass es seinen Kinderschuhen längst entwachsen ist und mit erwachsenen Enterprise-Features dasteht. Was hat sich seit dem getan?

Drupal-Historie
VersionDatumContributorsFeatures
Drupal 1
drop.org
Januar 2001

Community Weblog mit Theme-barem Block-Layout

Drupal 2 März 2001 Code-Updates
Drupal 3 August 2001 Nodes, Module, feinere Block-Konfiguration, neue Themes
Drupal 4 Juni 2002 ~ 100 Mitwirkende CSS, XTemplate, UI-Verbesserungen durch AJAX-Formulare, beliebig viele Blöcke, Taxonomy Tagging, IP-Blocking, RSS-Feed-Generator und -Konfigurator, Chameleon-Theme
Drupal 5 Januar 2007 ~ 500 Mitwirkende Feingranulare Konfiguration, Inhalte, Benutzer und Kommentare in Tabellenansicht, Status-Report der Drupal-Konfiguration, webbasierter Installer, Garland-Theme, benutzerdefinierte Content Types als Erweiterung, URL Filter, CSS Präprozessor, jQuery, .info-Dateien, Preview
Drupal 6 Februar 2008 ~ 700 Mitwirkende Neuer Web-Installer, neues Menüsystem, Drag-and-drop für Menüs und Blöcke, Multilinguale Features inkl. Sprachenerkennung, OpenID, Caching, JavaScript-UI
Drupal 7 Januar 2011 ~ 1000 Mitwirkende Admin-GUI auch als Overlay, benutzerdefinierte Content Types jetzt im Core, Entity API, Bartik- und Seven-Themes, weitere Caching-Optionen
Drupal 8 TBD ~ 2000 Mitwirkende Views, HTML5, Web Services, WYSIWYG-Editor, Responsive Themes, Mehrsprachigkeit

Die Idee hinter der Entwicklung von Drupal 8 ist einfach und brillant: Die sinnvollsten, von der Community entwickelten Add-ons wurden aufpoliert und in den neuen Applikationskern integriert. Diese Module erweitern die Funktionalität von Drupal signifikant und erheben das System in einen State-of-the-art-Zustand. Für Drupal 8 heißt das z.B. WYSIWYG-Editor, HTML5, Mobile und Web Services.

Das war nicht immer so. Bis inklusive Drupal 7 herrschte NIH-Politik. Not Invented Here - Zurückhaltung bei der Integration externer Ressourcen, quasi eine eigenbrötlerische Software-Entwicklung. Bei derartigen Projekten schwimmen viele Gefahren mit: hohe Entwicklungsaufwände, unflexible Insellösungen, reduziertes Feature-Set und generell höhere Fehleranfälligkeit durch die Begrenzung der Ressourcen.

Mit seinen zahlreichen integrierten Open-Source-Komponenten läutet Drupal 8 einen Paradigmenwechsel ein. Das neue Motto lautet PFE, Proudly Found Elsewhere, mit Fokus auf der weltweiten Community, deren Entwickler in vielerlei Hinsicht am Feature-Paket der neuen Version beteiligt waren, ob als Drupal-Contributor oder Mitwirkende in einem der anderen OS-Projekte.

Die neuen Features von Drupal 8

Standardausgabe als HTML5

Standardmäßig gibt Drupal 8 das Markup nicht mehr als XHTML, sondern – zeitgemäß – als HTML5 aus. Zusammen mit CSS3 und Modernizr ist höchstmögliche Browser-Kompatibilität gesichert. Die neuen semantischen und formularspezifischen Tags ziehen sich durch alle die Ausgabe betreffenden Komponenten der Core und ermutigen damit auch Modul-Entwickler, diese Elemente einzusetzen. Im Vordergrund stehen neben der semantischen Inhaltsstrukturierung auch Aspekte der Barrierefreiheit – Accessible Rich Internet Applications (ARIA) – und deutlich komfortablere HTML-Formulare.

Beispiel für das HTML5-Input-Formularfeld für Telefonnummern (neues Feld für Inhaltstypen): Der Smartphone-Browser blendet automatisch die Nummern-Tastatur ein

Mobile-first und Responsive Design

Alle Themes der Basis-Installation sind von Haus aus responsive und bilden damit bereits jetzt das ideale Fundament für die Entwicklung eigener Themes.

Mobile-First beschränkt sich nicht aufs Frontend. Zwar ist das Interface noch nicht vollständig responsive, aber mit dem Smartphone einloggen und Texte bearbeiten funktioniert schon in der Betaversion tadellos. Tatsächlich werden alle Administrationsseiten sauber auf mobilen Endgeräten dargestellt, Drupal 8 lässt sich also schon vollständig mit dem Handy konfigurieren.

Drupal-8-Backend in Responsive Design: Die Beta ist noch nicht perfekt, aber das Admin-Menü schiebt sich schon an die linke Fensterkante

Bequeme Content-Bearbeitung

Das Drupal-7-WYSIWYG-Editor-Modul hat ausgesorgt. Drupal 8 kommt in der Basisinstallation mit dem CKEditor daher und lässt sich, wie man es vom Modul kannte, feingranular konfigurieren: Buttons, Button-Gruppen, HTML-Korrekturen, Bilderintegration – und all das ist weiterhin schön in Textformaten gruppiert, die sich verschiedenen Redakteursrollen zuweisen lassen.

WYSIWYG-Bearbeitung ohne zusätzliche Module: Drupal 8 wird mit dem CKEditor ausgeliefert

  • Praktisch: Inhalte können mit einem Mausklick als Entwurf gespeichert werden.
  • Schade: Eine Standard-Schaltfläche für Speichern-und-weiterbearbeiten gibt's immer noch nicht.
  • Aufgeräumt: Die Metadaten und Optionen wurden an die rechte Fensterkante platziert und klappen akkordeonartig auf – so hat man immer das Wichtigste im Blick.
Strukturierter Inhalt: WYSIWYG contra WYSIWYM

What You See Is What You Get ist ein umstrittenes Konzept, denn es lenkt den Fokus des Autoren oder Redakteurs zu stark auf das Aussehen und die Formatierung des Textes. Viel wichtiger aber ist es, Inhalte sauber zu strukturieren. Insbesondere für SEO-Aspekte, denn mit HTML5 bekommen wir ein Set neuer semantischer Tags an die Hand, die Suchmaschinen helfen, Textinformationen noch passender zu Suchanfragen zuzuordnen.

What You See Is What You Mean beschreibt den Schritt weg von der Wahl der Schriftart und -größe, hin zur sauberen Paragraphendeklaration (Überschriften, Fließtext, Bildunterschriften, Randnotizen und selbst definierte Typen). Im CKEditor in Drupal 8 versteckt sich mit dem Blockansicht-Button schon der erste kleine Schubser in die richtige Richtung: Textblöcke werden umrahmt und mit ihrem semantischen Format beschriftet.

Zwar nicht revolutionär, aber bei Redakteuren mit verschiedenen Wissensständen nützlich: In-place-editing (Spark sei Dank). Content-Pfleger müssen sich nun nicht mehr durch die Admin-Oberfläche klicken, sondern surfen zur Seite, die bearbeitet werden soll und klicken auf ein kleines Icon, das den Fließtext sofort in eine editierbare Textbox verwandelt. Damit stehen zwar nicht alle Formatierungsoptionen des WYSIWYG-Editors zur Verfügung, das System eignet sich aber hervorragend für kleine Korrekturen.

Die Integration des Spark-Moduls macht's möglich: Frontend-In-place-editing für kleine Korrekturen endlich auch in Drupal

Mehrsprachigkeit out-of-the-box

Keine Module müssen mehr installiert werden, um eine Drupal-Website mehrsprachig bereitzustellen. Von der Bedienung ähnelt das Ganze einer mit entsprechenden Modulen bestückten Drupal-7-Installation (Neben View, Edit, Delete erscheint ein Translate-Button), fühlt sich aber robuster integriert an. Ist die entsprechende Core-Komponente aktiviert, erscheinen an allen Stellen, wo man es erwarten würde entsprechende Sprach-Drop-down-Menüs.

Nach Aktivierung der Core-Komponente Language sind Übersetzungen für alle Drupal-8-Elemente individuell konfigurierbar

Eingebaute Views

Gehen die darzustellenden Inhalte einer Drupal-Website über flache, einfache Webseiten hinaus, kam bisher das Views-Modul ins Spiel. Mit ihm lässt sich Content selektieren, filtern, sortieren und in verschiedene Darstellungskontexte bringen. Wie eine Art flexibler Datenbank-Viewer. So lassen sich ruckzuck Listen, Tabellen, Menüs oder sogar Galerien zusammenklicken.

In Drupal 8 ist das Views-Modul jetzt in der Core integriert. An seiner etwas unübersichtlichen Darstellung und Konfiguration hat sich zwar nicht viel geändert, aber dank vorkonfigurierter Views erfolgt der Einstieg in das komplexe Thema etwas einfacher: Frontpage, People, Files, Archive u.a. wurden als Views umgesetzt und lassen sich jetzt präzise anpassen.

Das Views-Modul mit seinen flexiblen Ausgabemöglichkeiten ist bei Drupal 8 schon im Basispaket enthalten

Neue Templating-Sprache: Twig

In Drupal 7 ist das Templating eine raubeinige Angelegenheit. Die in den Templates bereitgestellten Daten- und Konfigurationsobjekte werden mit reinem PHP ausgelesen und/oder bearbeitet. Dabei kann es im Quellcode schon etwas chaotischer zugehen, denn der Vermischung von Business-Logik und Darstellung steht nichts im Wege.

Sauberes Templating geht anders. Gemäß dem klassischen Model-View-Controller-Muster ist das Template nur für die Ausgabe und nichts anderem vorgesehen. Drupal 8 löst den Konflikt durch die Einbettung des Open-Source-Templating-Frameworks Twig. Eine Templating-Sprache – dem berühmten Bruder Smarty nicht unähnlich –, die für aufgeräumte Dateien und höhere Sicherheit (Autoescaping) sorgt, aber das Model streng genommen verkompliziert, da sie eine weitere Abstraktionsebene einführt. Damit das nicht auf Kosten der Performance geschieht, kompiliert Twig die Templates und stellt den optimierten PHP-Code in den Cache. Dank Twig wird auch das Beseitigen von Fehlern einfacher: Twig debug stellt einige Kommandos bereit, mit denen wertvolle Debugging-Infos ausgegeben werden.

Frontend-seitig stellt die Standardinstallation die neuesten jQuery- und jQuery-UI-Bibliotheken bereit. Und dass Modernizr bei der Seitendarstellung die Browser-Kompatibilität sicherstellt, ist inzwischen selbstverständlich.

Dateibasiertes Konfigurations-Management

Vorbei sind die Zeiten, in denen man die Konfigurations-Tabellen in der Datenbank zusammensuchte, um getrennte Production-Deployments für Content und Setup zu aktivieren. Die gesamte Konfiguration von Drupal 8 steckt nun in logisch aufgebauten Dateien und ist somit auch endlich per Subversion oder GIT versionierbar. So lassen sich z.B. Inhaltstypen, Views oder Felder getrennt voneinander im- und exportieren.

Im Configuration Management sieht man auf einen Blick, welche Konfigurationsdateien sich seit dem letzten Export verändert haben

Web Services zu Ihren Diensten

Als Web Application Framework liegt ein starker Fokus von Drupal auf Erweiterbarkeit. Die standardmäßige Integration von Web Services erlaubt Entwicklern, sich noch einfacher in das Content-Framework einzuklinken. Die Core-Komponenten HTTP Basic Authentication und RESTful Web Services ebnen den Weg vor, die Datenserialisierung erfolgt im XML- oder JSON-Format.

Wie (wann?) geht' weiter?

Nach dem offiziellen Start der Beta-Phase am 1.Oktober 2014 geht es nun mit großen Schritten Richtung finales Release. Version 8.0.0 wird veröffentlicht, sobald alle kritischen Bugs und Fehler beseitigt wurden. (Welche das sind, sieht man in der Issues-Liste auf drupal.org – zum Zeitpunkt dieses Artikels sind das noch drei Paging-Seiten). Das genaue Datum kann also niemand nennen. Und das ist auch gut so, denn damit können wir sicher sein, dass das fertige Produkt hochgesteckten Ansprüchen gerecht wird.

Was tun, um möglichst früh auf den Drupal-8-Zug aufzuspringen?

Als Modul-Entwickler

Vor allen Dingen beeilen! Die Drupal-8-APIs sind so gut wie fertig, ab jetzt sind Modul-Entwickler gefragt, um nicht nur ihre alten Erweiterungen zu aktualisieren, sondern auch neue Ideen umzusetzen. Über 500 aktive Module für Drupal 8 listet das Repository bei drupal.org bereits.

Also schnell die Beta runterladen, installieren und sofort den Modul-Prototypen entwickeln. Anleitungen gibt's z.B. bei Sitepoint oder im offiziellen Module Developer's Guide. Zum Testen steht unter Drupal 8 übrigens nicht nur das das alte SimpleTest bereit, sondern auch PHPUnit.

Als Template-Entwickler

Web Developer Matt Korostoff hat sich das Drupal-8-Templating-System mit Twig sehr detailliert angesehen und stellt einen ausführlichen Artikel bereit. Er erklärt hier Schritt für Schritt, wie eine autarke Subtheme erstellt wird. Thema Konfigurationsdateien: Wer noch nicht mit dem YAML-Dateiformat vertraut ist, findet in diesem Agenturblog eine verständliche Einführung.

Als Site-Builder

Während bei Drupal 7 essentielle Funktionalitäten nach der Release-Fertigstellung noch nicht sofort verfügbar waren (Paradebeispiel Views), kommt Drupal 8 out-of-the-box mit allen Bordmitteln, damit Site-Builder sofort loslegen können. Ergo, Beta runterladen, installieren und einfach mal eine Site mit neuen Inhaltstypen bauen. Und natürlich im Modul-Repository herumstöbern.

Als Redakteur

Redakteure haben's gut, denn für sie wird alles einfacher dank Frontend-In-place-editing und einem stabilen WYSIWYG-Editor.

Als Projektmanager

Drupal steht in seiner achten Inkarnation als modernes, technisch top-aktuelles CMS da. Wo man sich früher für eine der vielen Distributions entscheiden musste oder die Basis-Installation stundenlang mit den passenden Module bestückte, lässt sich mit Drupal 8 out-of-the-box schon deutlich mehr machen. Was die Time-to-market direkt beeinflusst. Mit der Beta bereits Kunden-Websites zu bauen wird natürlich nicht empfohlen, aber eine Sandbox sollte in der IT-Abteilung jetzt schon existieren, um 2015 ganz vorne mit den Drupal-Agenturen mitpitchen zu können.

Fazit

Der Paradigmenwechsel von NIH Not Invented Here zu PFE Proudly Found Elsewhere tut Drupal 8 gut. Schon die Beta-Version lässt sich flüssig bedienen und bietet Einblicke, wie man in Zukunft Drupal-Websites konstruiert. Die Basisinstallation ist mit Features vollgepackt, die bei der Vorgängerversion mühsam aus dem Modul-Repository herausgepickt werden mussten. So wird ein neuer, zeitgemäßer Status quo geschaffen, auf dem Modulentwicklungen und zukünftige Distributionen aufsetzen können. Das Interface macht einen sehr erwachsenen Eindruck und Entwickler freuen sich über den modernen Applikationskern mit vielen Libraries und Schnittstellen, die die Anbindung von Drittsystemen im Enterprise-Feld zu einer kleinen Programmierübung machen. Wer sich also mit der Entwicklung von CMS-Websites beschäftigt, kommt an Drupal 8, das neue Standards setzt, nicht vorbei.

Drupal 8 ausprobieren – ohne eigene Installation

Wer gerne selber einen Blick ins neue System werfen möchte, muss sich weder XAMPP installieren noch wertvollen Speicherplatz beim Hosting Provider verschwenden. Einfach simplytest.me oder trydrupal8.com ansurfen – mit nur einem Mausklick wird eine persönliche Testinstallation gestartet.

Laden ...
Fehler!