Endlich ist es soweit, die Drupalcon hat offiziell die Pforten geöffnet. Einen Überblick über meinen Sessionplan gab es ja schon im letzten Blogpost. Jetzt ist es Zeit für die Zusammenfassung des ersten Tages. Get it while its hot!

Automated Testing with Jasmine and PhantomJS

Drupal wird seit Version 7 mit einem integrierten Testframework geliefert. Neben sogenannten Unit-Tests kann dieses auch in begrenztem Rahmen Interfacetests durchführen. Zum Beispiel prüfen, ob das Markup für einen bestimmten Button ausgegeben wird oder eine Liste vollständig ist. Es ist jedoch nicht möglich Javascript und damit AJAX Funktionen damit zu testen. An diesem Punkt kommen Jasmine und PhantomJS ins Spiel.

Ronn Abueg und Aisha Kaliel gaben einen umfangreichen Überblick wie diese Kombination helfen kann manuelle Interfacetests zu automatisieren und das ganze sogar noch von einem Continuous Integration Server wie Jenkins erledigen zu lassen. Für mich schreit das regelrecht nach einer engeren Integration mit Drupal. Wir werden sehen was die Community zustande bringt.

zur Aufzeichnung

Asset Management in Drupal 8

Es braucht wohl die Bühnenpräsenz eines Sam Boyer, um der Community zu erklären, dass man – kurz vor Code Freeze – noch nicht so ganz genau weiß wie man das mit Asset Management endgültig angehen wird, und trotzdem mit einem Applaus davonkommt. Was wir bisher wissen: In Drupal 8 werden Assets, also vor allem Stylesheets und Skriptdateien, auf Basis von Assetic verwaltet, einer Komponente die auch in Symfony 2 zum Einsatz kommt. Die aktuelle, etwas unglückliche, Lösung mit drupal_add_cssdrupal_add_js und #weight Attributen wird entfernt und durch eine von 3 möglichen Optionen ersetzt.

  1. Ausschließlich über das #attached Attribut, wie jetzt auch schon aus der Forms API bekannt.
  2. Kombination aus #attached und direkten Zugriff auf die Assetic Klassen.
  3. Als Annotations auf Block Plugins und über #attached.

Genaueres weiß man noch nicht. Aber alle genannten Wege klingen sinnvoll und stellen eine deutliche Verbesserung des vorhandenen Systems dar.

Ein weiterer hochinteressanter Punkt ist die Integration von Filtersystemen, die Assets vorverarbeiten können. Damit soll Drupal mit Preprozessoren wie SASS oder CoffeScript direkt umgehen können. Es wird sogar darüber nachgedacht die notwendigen Executables direkt mit auszuliefern. Eine Idee, die momentan aber noch eine Menge Fragen bezüglich Sicherheit und Versionskompatibilität aufwirft. Profis werden vermutlich weiterhin lieber mit eigenen Tools arbeiten, aber im Bereich der Leute die gerade erst lernen damit umzugehen würde das für Drupal natürlich einen gewaltigen Vorteil darstellen.

zur Aufzeichung

The current state of Drupal 8 – Dries Keynote

Die große Keynote von Dries Buytaert war natürlich das Ereignis des Tages. Neben der adäquaten und angebrachten Dosis an Community-Bauchpinselei, sogar von Seiten des Weißen Hauses, lag der Fokus natürlich auf der Zukunft von Drupal. Weg vom reinen CMS, hin zum so genannten Web Experience Management oder kurz WEM. Also einem System, das kontextsensitiv auf die Bedürfnisse des Benutzers reagiert und Inhalt und Darstellung anpasst.

The right content, at the right place, at the right time.

Ein weiterer wichtiger Punkt lag auf dem Theme Interoperabilität und Konnektivität. Drupal soll mit anderen Best of Breed-Systemen interagieren, anstatt versuchen diese zu ersetzen. An diesem Punkt war der Gedankensprung zu fluxkraft nicht weit. Innovation aus Österreich!

Abgerundet wurde der Vortrag mit einem Featurevideo zu Drupal 8 und dem obligatorischen DrupalCon Gruppenfoto.

zur Aufzeichung

Backbone.js with Drupal 7 & 8

Viele wissen nicht, dass Backbone.js und Underscore.js es inzwischen in den Drupal Core geschafft haben. Intern vor allem für das Inline Editing Feature, Layouts und die mobile Toolbar eingesetzt, öffnen sie Tür und Tor für komplexe Javascript Anwendungen. Vadim Mirgorod gab einen Überblick worum es sich bei Backbone handelt, wie es sich zu anderen Javascript Application Frameworks abgrenzt und wie es sich mit Drupal nutzen lässt. Interessant war vor allem der Hinweis, dass Twig Templates (mit entsprechendem Plugin) auch von Backbone verarbeitet werden können. Server- und clientseitig dieselben Templates zu verwenden würde einiges vereinfachen und Drupal einzigartige Optionen zum Hosten von Single Page Applications verschaffen.

zur Aufzeichung

Status of the new entity API and typed data

Wie schon zu erwarten war die von Sascha Grossenbacher und Wolfgang Ziegler geleitete Core Conversation sehr (sehr, sehr, sehr) technisch. Umso aufregender die darin verpackten Informationen! Typed data ist nicht mehr und nicht weniger als das Bestreben ein einheitliches Interface für Datentypen in Drupal 8 zu erschaffen. Momentan koexistieren drei verschiedene Datentypsysteme (Token, CTools und Entity API/Rules), die nur schwer miteinander kommunizieren. Mit den geplanten Ansatz wären Panels, Rules und weitere Subsysteme die noch kommen mögen, automatisch voll interoperabel. Das mag auf den ersten Blick nicht all zu spektakulär erscheinen, wenn es wirklich funktioniert handelt es sich hier aber um eines der wichtigsten Features von Drupal 8.

zur Aufzeichnung

Scalable and modular architecture for CSS

Eines meiner Highlights des Tages. Für jemanden, der so viel im Frontend unterwegs ist wie ich ohnehin eine Pflichtveranstaltung. Jonathan Snook erklärt mit viel Witz und Ironie warum es sich bei Stylesheets nicht nur um digitales Malen nach Zahlen handelt, und was man beachten sollte um nicht alle paar Meter auf die Nase zu fallen. Der – in meinen Augen – wichtigste Satz der gefallen ist:

Don’t code CSS for the page, code CSS for the system.

SMACSS (Scalable and Modular Architecture for CSS) nennt sich der von Jonathan erklärte Ansatz und wird in Drupal 8 mit leichten Modifikation auch umgesetzt. Wer jetzt schon damit herumspielen möchte sei auf die aktuelle Beta Version von Omega verwiesen. Ein (oder das) Drupal Base Theme, welches – unter anderem – das HTML-Markup SMACSS konform aufpoliert.

Zur Aufzeichnung

Das Beste kommt zum Schluss

Schon während des Tages wurde Freiwillige gesucht (und auch sehr schnell gefunden), die gewillt waren sich an der Aktion Drupal 4 OK zu beteiligen. Gegen Abend war dann ein Team geformt dass gerade eine Informationsseite für die Opfer des Tornados in Oklahoma aus dem Boden stampft.

Mit einigem schlechten Gewissen – aber zuviele Köche verderben den Brei – haben sich einige der übrigen zur Lullabot-Party (mit Liveband) eingefunden, wo man dann auch noch prominente Gesicher der Drupal Community auf engem Raum bestaunen durfte.