{"id":1409,"date":"2013-05-22T17:28:40","date_gmt":"2013-05-22T17:28:40","guid":{"rendered":"https:\/\/www.zensations.at\/?p=1409"},"modified":"2023-08-09T00:58:06","modified_gmt":"2023-08-09T00:58:06","slug":"drupalcon-tag-1","status":"publish","type":"post","link":"https:\/\/www.zensations.at\/blog\/drupalcon-tag-1\/","title":{"rendered":"Drupalcon – Tag 1"},"content":{"rendered":"

Endlich ist es soweit, die Drupalcon hat offiziell die Pforten ge\u00f6ffnet. Einen \u00dcberblick \u00fcber meinen Sessionplan gab es ja schon im letzten Blogpost. Jetzt ist es Zeit f\u00fcr die Zusammenfassung des ersten Tages.\u00a0Get it while its hot!<\/strong><\/p>\n

Automated Testing with Jasmine and PhantomJS<\/h2>\n

Drupal wird seit Version 7 mit einem integrierten Testframework geliefert. Neben sogenannten Unit-Tests kann dieses auch in begrenztem Rahmen Interfacetests durchf\u00fchren. Zum Beispiel pr\u00fcfen, ob das Markup f\u00fcr einen bestimmten Button ausgegeben wird oder eine Liste vollst\u00e4ndig ist. Es ist jedoch nicht m\u00f6glich Javascript und damit AJAX Funktionen damit zu testen. An diesem Punkt kommen\u00a0Jasmine<\/a>\u00a0und\u00a0PhantomJS<\/a>\u00a0ins Spiel.<\/p>\n

Ronn Abueg<\/a>\u00a0und\u00a0Aisha Kaliel<\/a>\u00a0gaben einen umfangreichen \u00dcberblick wie diese Kombination helfen kann manuelle Interfacetests zu automatisieren und das ganze sogar noch von einem Continuous Integration Server wie\u00a0Jenkins<\/a>\u00a0erledigen zu lassen. F\u00fcr mich schreit das regelrecht nach einer engeren Integration mit Drupal. Wir werden sehen was die Community zustande bringt.<\/p>\n

zur Aufzeichnung<\/a><\/p>\n

Asset Management in Drupal 8<\/h2>\n

Es braucht wohl die B\u00fchnenpr\u00e4senz eines\u00a0Sam Boyer<\/a>, um der Community zu erkl\u00e4ren, dass man – kurz vor Code Freeze – noch nicht so ganz genau wei\u00df wie man das mit Asset Management endg\u00fcltig 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\u00a0Assetic<\/a>\u00a0verwaltet, einer Komponente die auch in Symfony 2 zum Einsatz kommt. Die aktuelle, etwas ungl\u00fcckliche, L\u00f6sung mit\u00a0drupal_add_css<\/code>,\u00a0drupal_add_js<\/code>\u00a0und\u00a0#weight<\/code>\u00a0Attributen wird entfernt und durch eine von 3 m\u00f6glichen Optionen ersetzt.<\/p>\n

    \n
  1. Ausschlie\u00dflich \u00fcber das\u00a0#attached<\/code>\u00a0Attribut, wie jetzt auch schon aus der Forms API bekannt.<\/li>\n
  2. Kombination aus\u00a0#attached<\/code>\u00a0und direkten Zugriff auf die Assetic Klassen.<\/li>\n
  3. Als Annotations auf Block Plugins und \u00fcber\u00a0#attached<\/code>.<\/li>\n<\/ol>\n

    Genaueres wei\u00df man noch nicht. Aber alle genannten Wege klingen sinnvoll und stellen eine deutliche Verbesserung des vorhandenen Systems dar.<\/p>\n

    Ein weiterer hochinteressanter Punkt ist die Integration von Filtersystemen, die Assets vorverarbeiten k\u00f6nnen. Damit soll Drupal mit Preprozessoren wie\u00a0SASS<\/a>\u00a0oder\u00a0CoffeScript<\/a>\u00a0direkt umgehen k\u00f6nnen. Es wird sogar dar\u00fcber nachgedacht die notwendigen Executables direkt mit auszuliefern. Eine Idee, die momentan aber noch eine Menge Fragen bez\u00fcglich Sicherheit und Versionskompatibilit\u00e4t aufwirft. Profis werden vermutlich weiterhin lieber mit eigenen Tools arbeiten, aber im Bereich der Leute die gerade erst lernen damit umzugehen w\u00fcrde das f\u00fcr Drupal nat\u00fcrlich einen gewaltigen Vorteil darstellen.<\/p>\n

    zur Aufzeichung<\/a><\/p>\n

    The current state of Drupal 8 – Dries Keynote<\/h2>\n

    Die gro\u00dfe Keynote von Dries Buytaert war nat\u00fcrlich das Ereignis des Tages. Neben der ad\u00e4quaten und angebrachten Dosis an Community-Bauchpinselei, sogar von Seiten des Wei\u00dfen Hauses, lag der Fokus nat\u00fcrlich auf der Zukunft von Drupal. Weg vom reinen\u00a0CMS<\/em>, hin zum so genannten\u00a0Web Experience Management<\/em>\u00a0oder kurz\u00a0WEM<\/strong>. Also einem System, das kontextsensitiv auf die Bed\u00fcrfnisse des Benutzers reagiert und Inhalt und Darstellung anpasst.<\/p>\n

    The right content, at the right place, at the right time.<\/p><\/blockquote>\n

    Ein weiterer wichtiger Punkt lag auf dem Theme Interoperabilit\u00e4t und Konnektivit\u00e4t. Drupal soll mit anderen\u00a0Best of Breed<\/em>-Systemen interagieren, anstatt versuchen diese zu ersetzen. An diesem Punkt war der Gedankensprung zu\u00a0fluxkraft<\/a>\u00a0nicht weit. Innovation aus \u00d6sterreich!<\/p>\n

    Abgerundet wurde der Vortrag mit einem Featurevideo zu Drupal 8 und dem obligatorischen DrupalCon Gruppenfoto.<\/p>\n

    \"\"<\/p>\n

    zur Aufzeichung<\/a><\/p>\n

    Backbone.js with Drupal 7 & 8<\/h2>\n

    Viele wissen nicht, dass\u00a0Backbone.js<\/a>\u00a0und\u00a0Underscore.js<\/a>\u00a0es inzwischen in den Drupal Core geschafft haben. Intern vor allem f\u00fcr das Inline Editing Feature, Layouts und die mobile Toolbar eingesetzt, \u00f6ffnen sie T\u00fcr und Tor f\u00fcr komplexe Javascript Anwendungen.\u00a0Vadim Mirgorod<\/a>\u00a0gab einen \u00dcberblick worum es sich bei Backbone handelt, wie es sich zu anderen Javascript Application Frameworks abgrenzt und wie es sich mit Drupal nutzen l\u00e4sst. Interessant war vor allem der Hinweis, dass Twig Templates (mit entsprechendem Plugin) auch von Backbone verarbeitet werden k\u00f6nnen. Server- und clientseitig dieselben Templates zu verwenden w\u00fcrde einiges vereinfachen und Drupal einzigartige Optionen zum Hosten von Single Page Applications verschaffen.<\/p>\n

    zur Aufzeichung<\/a><\/p>\n

    Status of the new entity API and typed data<\/h2>\n

    Wie schon zu erwarten war die von\u00a0Sascha Grossenbacher<\/a>\u00a0und\u00a0Wolfgang Ziegler<\/a>\u00a0geleitete Core Conversation sehr (sehr, sehr, sehr) technisch. Umso aufregender die darin verpackten Informationen!\u00a0Typed data<\/em>\u00a0ist nicht mehr und nicht weniger als das Bestreben ein einheitliches Interface f\u00fcr 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\u00e4ren Panels, Rules und weitere Subsysteme die noch kommen m\u00f6gen, automatisch voll interoperabel. Das mag auf den ersten Blick nicht all zu spektakul\u00e4r erscheinen, wenn es wirklich funktioniert handelt es sich hier aber um eines der wichtigsten Features von Drupal 8.<\/p>\n

    zur Aufzeichnung<\/a><\/p>\n

    Scalable and modular architecture for CSS<\/h2>\n

    Eines meiner Highlights des Tages. F\u00fcr jemanden, der so viel im Frontend unterwegs ist wie ich ohnehin eine Pflichtveranstaltung.\u00a0Jonathan Snook<\/a>\u00a0erkl\u00e4rt mit viel Witz und Ironie warum es sich bei Stylesheets nicht nur um digitales\u00a0Malen nach Zahlen<\/em>\u00a0handelt, und was man beachten sollte um nicht alle paar Meter auf die Nase zu fallen. Der – in meinen Augen – wichtigste Satz der gefallen ist:<\/p>\n

    Don’t code CSS for the page, code CSS for the system.<\/p><\/blockquote>\n

    SMACSS<\/a>\u00a0(Scalable and Modular Architecture for CSS<\/em>) nennt sich der von Jonathan erkl\u00e4rte Ansatz und wird in Drupal 8 mit leichten Modifikation auch umgesetzt. Wer jetzt schon damit herumspielen m\u00f6chte sei auf die\u00a0aktuelle Beta Version von Omega<\/a>\u00a0verwiesen. Ein (oder\u00a0das<\/strong>) Drupal Base Theme, welches – unter anderem – das HTML-Markup SMACSS konform aufpoliert.<\/p>\n

    Zur Aufzeichnung<\/a><\/p>\n

    Das Beste kommt zum Schluss<\/h2>\n

    Schon w\u00e4hrend des Tages wurde Freiwillige gesucht (und auch sehr schnell gefunden), die gewillt waren sich an der Aktion\u00a0Drupal 4 OK<\/a>\u00a0zu beteiligen. Gegen Abend war dann ein Team geformt dass gerade eine Informationsseite f\u00fcr die Opfer des\u00a0Tornados in Oklahoma<\/a>\u00a0aus dem Boden stampft.<\/p>\n

    Mit einigem schlechten Gewissen – aber zuviele K\u00f6che verderben den Brei – haben sich einige der \u00fcbrigen zur Lullabot-Party (mit Liveband) eingefunden, wo man dann auch noch prominente Gesicher der Drupal Community auf engem Raum bestaunen durfte.<\/p>\n

    \"\"<\/p>\n","protected":false},"excerpt":{"rendered":"

    Endlich ist es soweit, die Drupalcon hat offiziell die Pforten ge\u00f6ffnet. Einen \u00dcberblick \u00fcber meinen Sessionplan gab es ja schon im letzten Blogpost. Jetzt ist es Zeit f\u00fcr die Zusammenfassung des ersten Tages.\u00a0Get it while its hot! Automated Testing with Jasmine and PhantomJS Drupal wird seit Version 7 mit einem integrierten Testframework geliefert. Neben sogenannten […]<\/p>\n","protected":false},"author":12,"featured_media":1410,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[78,83],"tags":[125],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/posts\/1409"}],"collection":[{"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/comments?post=1409"}],"version-history":[{"count":1,"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/posts\/1409\/revisions"}],"predecessor-version":[{"id":1412,"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/posts\/1409\/revisions\/1412"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/media\/1410"}],"wp:attachment":[{"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/media?parent=1409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/categories?post=1409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zensations.at\/wp-json\/wp\/v2\/tags?post=1409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}