werkraum auf der Inspiring Conference 2014
Am 28. und 29.03.2014 fand die alljährliche TYPO3-Flow Konferenz statt und ich war im Namen werkraums wieder am Start, nachdem ich letztes Jahr leider absagen musste und Thomas unsere TYPO3-Agentur alleine vertreten musste.
Wie jedes Jahr war es wieder ein herausragendes Event von A-Z. Schöne Lokation im Kesselhaus Kolbermoor und fantastisch organisiert von TechDivision.
Ich möchte im folgenden kurz die Sessions aus meiner Sicht zusammenfassen und die Erkenntnise im Bezug auf unsere Karlsruher Entwickleragentur darstellen.
Robert Lemke - Keynote
Robert sprach in seiner Keynote über den aktuellen Stand der Neos-Entwicklung. Derzeit live ist die Version 1.0.2. Version 1.1 befindet sich bereits in der beta und wird wohl in Kürze stable werden.
Er nannte Downloadzahlen von TYPO3 Flow und TYPO3 Neos, die das große Interesse an diesen Produkten belegten aber auch zeigten, dass durch Marketing noch einiges Möglich sein müsste.
Sebastian Kurfürst - A head start into TypoScript 2.0
Wie der Titel schon verrät hat Sebastian eine Einführung in die neue Version der TYPO3-Scriptsprache gegeben. TypoScript wurde bisher für diverse Konfigurationen im TYPO3 CMS verwendet. Version 2.0 ist “nur” noch für die Konfiguration der Views zuständig. Und es ist mächtiger geworden: Vererbung durch Prototyping um nur ein Schlagwort zu nennen. Allerdings bedeutet dies auch, dass man sich neu darin einarbeiten muss. Doch das scheint lohnend. Es gibt eine Query-Language, die sich stark an jQuery anlehnt. Wenn man das neue Node-Konzept betrachtet, das den bisherigen Seitenbaum mit seinen Inhalten ablöst, ähnelt dieses auch einem DOM-Tree, den man mit jQuery-Methoden komfortabel selektieren kann.
Und da durch das flexible Node-Typen-Konzept viele Extensions/Plugins überflüssig scheinen, ist eine mächtige Query-Language natürlich lohnend.
Ich nehme an, TypoScript 2.0 wird uns in der kommenden Zeit sehr oft begleiten. Zeit sich damit zu beschäftigen.
Martin Helmich - Running TYPO3 Flow on HipHop VM
Martin stellte in seiner Session “HipHop VM” vor, welches von Facebook stammt. HipHop VM kann PHP-Script ausführen und dies durch Kompilieren in Maschinencode sehr schnell. Es war spannend zu hören, was Martin alles machen musste, bis er Flow auf HipHop VM lauffähig hatte. Aber das Ergebnis war beeindruckend: Im Schnitt wurden Requests um den Faktor 4 schneller beantwortet. Martin glaubt, dass hier noch deutlich mehr drin wäre, Faktor 10 wurde genannt. Auch der Speicherverbrauch war geringer.
Aus Sicht von werkraum wird das Thema dann interessant, wenn unser Lieblingshoster Domain Factory so eine Serverkonfiguration anbieten kann.
Tim Numan & Jesper Paardekooper - How Flow helps us save the world
Tim und Jesper arbeiten an einem Webprojekt, welches Emissionen von Firmen erfasst, analysiert und Produkten zuordnen kann. Sie haben Ihr Projektsetup vorgestellt und dabei ist mir eine Deckungsgleichheit mit werkraum aufgefallen: Sie nutzen TYPO3 Flow als Backend, welches durch eine REST-API (RESTful HTTP) angesprochen werden kann. Dieser Ansatz bietet sich geradezu an und daher ist es kein Zufall, dass viele, die bisher ein produktives Flow Projekt erstellt haben, diesen Weg gewählt haben, so wie wir auch.
Anders als wir nutzt Tim, der sich ums Frontend kümmert aber eine andere Technologie für das Frontend: Angular. Was mich dabei abgeschreckt hat waren die vielen Tools, die dabei notwendig sind um das zu bewerkstelligen. Mir scheinen hier viele Abhängigkeiten zu entstehen. Wir haben unsere Frontends bisher mit den beiden Sencha-Produkten “Sencha Touch 2” und “Ext JS” umgesetzt. Da wir dabei bisher auch immer wieder mit Schwierigkeiten zu kämpfen hatten, sollte man hier die Augen nach Alternativen offen halten. EmberJS könnte eine sein und die Jungs von Twitter Bootstrap haben auch etwas neues rausgebracht. Ein spannendes Jahr für AJAX-basierte JS-Frontends steht wohl an.
Henrik Møller Rasmussen - Domain Event - the hidden gem of DDD
Mein persönlicher TOP-Vortrag der Konferenz. Sehr professionell und verständlich vorgetragen. Inhaltlich beschreibt Henrick Techniken aus der DDD-Welt (Domain Driven Design) die noch einen Schritt über die Aggregates, Domain Models, Repsitories, ... hinausgehen. Dies mag bei klassischen Website-Projekten nicht unbedingt erforderlich sein, aber für Web-Anwendungen, wie sie vermehrt von werkraum umgesetzt werden, sind überzeugende Konzepte dabei. Prinzipiell geht es darum, die Domain Models möglichst klein, übersichtlich und damit leicht verständlich und testbar zu halten. Dies geschieht, in dem man z.B. einen Shop-Artikel in verschiedene Artikel-Models zerlegt. Diese liegen dann in unterschiedlichen Packages oder Verzeichnissen, die Thematisch gruppiert sind und nur für diesen Themenbereich "zuständig" sind. Die einzelnen Aritkel-Models sind allerdings nicht verlinkt. Sämtliche Kommunikation geht über einen Service, den es pro Themenbereich gibt. Außerdem gibt es einen Event-Bus, über den die Themenbereiche asynchron gegenseitig auf Events lauschen können.
Unmittelbar nach dem Vortrag habe ich mir das Buch, von dem Henrick inspiriert wurde bei Amazon bestellt: Implementing Domain-Driven Design. Danke Henrick, du hast nun mich inspiriert!
Karsten Dambekalns - Migrating from TYPO3 CMS to TYPO3 Neos
Ob es möglich sein wird, Websites von TYPO3 CMS zu TYPO3 Neos migrieren haben wir uns bei werkraum auch bereits gefragt. Karsten hat eine Antwort gegeben: ja, wenn auch mit Aufwand, der projektabhängig ist. Am Beispiel der Migration des Centurion Magazines von TYPO3 CMS zu TYPO3 Neos stellte er die Planung und Durchführung der Migration dar und berichtete seine Erfahrungen.
Am Ende der Migration hat sich herausgestellt, daß das Migrations-Package eine Grundlage für andere Entwickler sein könnte, die eine Migration planen. Sollten wir bei werkraum tatsächlich eine Seite auf Neos umziehen, ist das sicher der erste Ansatzpunkt für Informationen.
Robert Lemke - Look Ma, no Plugins!
Schon vor dieser Session führte ich mit mehreren Leute auf der Konferenz Gespräche über das Node-Konzept und ob man wirklich Extension dafür aufgeben kann und sollte. Robert festigte die klare Empfehlung: ja, für fast alle Fälle macht das Sinn.
An einer weiteren Webseite von American Express demonstrierte er die Extension-freie Webseite. Am meisten beeindruckt hat mich das einfache Setup und die dadurch schnelle Umsetzung von Kundenwünschen.
Sebastian Bergmann - The Driven Developer
Während der gesamten Session dachte ich mir, was eine ausführliche Einleitung, wann geht es los? Aber es blieb bei der “Einleitung”, einer Geschichtsstunde mit vielen Namen, Jahreszahlen, Zitaten und NASA-Stories. Leider wenig praktisches. Vielleicht konnten andere mehr daraus mitnehmen, ich leider nicht.
Christopher Hlubek - A practical guide to BDD with Behat and Flow
Wer im Geschichtsunterricht von Sebastian's Session aufgepasst hat weiß, dass BDD (Behavior Driven Design) eine Weiterentwicklung von TDD (Test Driven Design) ist.
Christopher demonstrierte, wie man BDD mit Behat in Flow verwenden kann. Das interessante daran ist, dass man die Tests in menschlicher Sprache verfasst und Behat diese trotzdem ausführen kann. OK, das geht nur mit ein wenig Code, aber es geht.
BDD-Tests sind geeignet, um das Verhalten der Webseite zu überprüfen. Z.B. kann man prüfen, ob beim Besuch der Warenkorb-Seite eine Meldung erscheint, die aussagt, dass der Warenkorb leer ist.
Auf werkraum bezogen sollten wir diese Tests mit ins Portfolio aufnehmen, vor allem bei den nächsten Neos-Websites.
Dominique Feyer - Node kingdom
Wie schon Robert in seiner Session demonstrierte lassen sich mit Nodes viele Funktionen abbilden, die man bisher mit Extension gelöst hat. Dominique ging sehr ausführlich darauf ein und zeigte an praktischen Beispielen, wie man Node-Typen anlegt. Danke für diesen Vortrag, denn dieses Thema ist aus meiner Sicht das wichtigste, wenn man sich mit Neos beschäftigt.
Henrik Møller Rasmussen - CQRS != Event Sourcing
Die zweite Session von Henrik ergänzend zu seiner Session über Domain Events. In Vorbereitung auf diese Session habe ich CQRS nachgeschlagen und fragte mich gleich: wie soll das in Flow möglich sein? Henrik hat es gezeigt am Beispiel seiner Platform Famly.dk.
Kurz zusammengefasst: CQRS beschreibt, wie man das “Lesen” und “Schreiben” von Daten vollständig trennt und so enorme Geschwindigkeits-Steigerungen beim Lesen erreichen kann. Dies geschieht, da viele Berechnungen und Aggregationen schon auf SQL-Ebene stattfinden können.
Er grenzte das Thema zu Event Sourcing ab und erklärte die Begriffe anschaulich.
CQRS wird mit Sicherheit ein Thema bei uns werden.
Marco Klawonn - Fakerperformance
Unterhaltsamer Vortrag von Marco. Er beschreibt Techniken, um den User während Wartezeiten von diesen abzulenken. Durchaus denkbar, dass man in die Situation kommt, in der eine Wartezeit sich nicht vermeiden lässt: z.B. wenn ein externes System eingebunden ist und man auf dessen Antwortzeit keinen Einfluss hat.
Marco zeigte uns anhand vieler reeller Beispiele, wie man in solchen Fällen den User beschäftigt. Manche Techniken sind sicherlich zweifelhaft, z.B. einen Fake-Catcha der beim 1. Mal immer fehlschlägt. Aber die Beispiele waren vielfältig genug um sich davon inspirieren zu lassen. Hoffentlich kommen wir nie in diese Not.
Christian Jul Jensen - Building Opeepl: Trials and triumphs of a Flow 2.0 project
Kann oder sollte man Flow für produktive Projekte einsetzen? Die Antwort haben wir bei werkraum schon durch 3 erfolgreiche Flow-Projekte gegeben: ja, auf jeden Fall.
Julle’s Session gibt seine Erfahrungen wieder, die meist positiv waren. Er gab Tipps, was man beachten sollte, wenn man Flow einsetzt. Er warnte auch vor ein paar Fallen, in die man geraten kann. Das macht seine Session auch so wertvoll. Mangelnde Erfahrung mit einem neuen System stellt oft ein schwer kalkulierbares Risiko bei dessen Einsatz dar.
Wir hier in Karlsruhe sind diese Risiken schon mehrfach eingegangen, und bis auf wenige Ausnahmen hat es sich auch meist gelohnt.
Julle hat uns durch Teilen seiner Erfahrungen vor ein paar Eisbergen gewarnt, von denen wir zukünftig wissen und nicht volle Fahrt hinein donnern werden.
Sebastian Kurfürst - Polyglot Neos: Localisation in Neos 1.2
Die letzte Session beschäftigte sich mit einem der bald kommenden Features in Neos: Content-Localisation. Mehrsprachige Webseiten sind ab dann mit Neos möglich.
Das Node-Konzept wird dafür mithilfe eines Contextes, in dem die Sprachdimension konfiguriert werden kann, gekoppelt. Der Clou dabei: dieses Dimensionen-Konzept wird flexibel konfigurierbar sein, d.h. man kann Nodes nicht nur in verschiedenen Sprachvarianten haben, sondern auch in anderen Varianten, z.B. nach Altersgruppe oder nach Plattform des Besuchers (Smartphone, Tablet, …). Die Möglichkeiten, die sich dadurch ergeben sind enorm.
Derzeit arbeitet das Neos-Team an der UI für dieses Feature. Erste Screens durften wir schon sehen.
Thanks for the inspiration!
Dies waren meine Eindrücke, die ich von der Inspiring Conference mit nach Karlsruhe nehmen konnte. Eine Konferenz die ihrem Namen voll gerecht worden ist.
Hat dir der Artikel gefallen?
Werkraum News:

Aus den Tiefen des Codes in die Gipfel der Pfälzer Berge
Ein Teamevent mit fesselnden Sessions, gefolgt von einem atemberaubenden Wanderabenteuer.

Dein Code, Deine Zukunft: Programmiere Dir Deine IT-Karriere
Starte Deinen Weg in der IT-Welt mit dem dualen Informatik-Studium bei werkraum und der International University

TYPO3 Conference 2023: Expertenwissen, Auszeichnungen und unvergessliche Momente
In Düsseldorf gab es dieses Jahr inspirierende Vorträge, es wurde über die Zukunft des Web diskutiert und herausragende Leistungen anerkannt.