Dieses Jahr fand zum ersten Mal seit 2013 wieder eine „Summer Edition“ des Developers Paradise statt, dieses Mal organisiert von Inchoo in Kroatien. Das für die Region ungewöhnlich launische April-Wetter hat dem „fun in the sun“ Teil des Mottos leider einen leichten Strich durch die Rechnung gemacht, dem Teil „lots of code and fun“ wurde es aber vollkommen gerecht, so dass das Event dennoch von allen Anwesenden als voller Erfolg bewertet wurde. Integer_net war mit drei Teilnehmern vertreten, Cristina Pisca, Sandro Wagner und Fabian Schmengler.
Nach langer Reise und Vergrößerung der Gruppe auf den Zwischenstationen München und Zagreb kamen wir Sonntagnachmittag in Opatija an. Das Developers Paradise fing erst am Montag an, also konnten wir noch etwas Kräfte sammeln. Die waren aber auch dringend nötig um die kommenden Tage zu überstehen.
#RoadToDevParadise pic.twitter.com/GMUgDhOB9k
— Tobias Vogt (@tobi_pb) 24. April 2016
Unter dem Twitter Hashtag #RoadToDevParadise teilten viele der Teilnehmer ihre Reisestationen, nach dem Vorbild von #RoadToImagine. Die Weitestgereisten kamen aus Neuseeland, Brasilien und Kanada, die Mehrheit der ca. 250 Anwesenden aus ganz Europa, von Portugal bis Russland und von Norwegen bis Bulgarien.
Das Milenij Hotel „4 Opatijska Cvijeta“ (4 Opatijsche Blumen), in dem die Konferenz stattfand und alle Teilnehmer untergebracht waren, liegt sehr schön direkt am Wasser in der Bucht von Opatija und bat hervorragenden Service.
- Das neueste der vier Gebäude des Hotels
- Seeseite
- Blick auf den Hafen
Hackathon
Am Montag startete für ca. 40 Teilnehmer das Vorprogramm in Form eines Hackathons, organisiert vom „Hackathon-Schamanen“ Damian. In Gruppen von 3-5 Entwicklern wurde an verschiedenen Projekten rund um Magento 2 gearbeitet. Unsere Themen: Static Content Performance Improvement sowie Magento 2 on ReactPHP.
Beide Projekte haben insbesondere eins gezeigt: Wo (noch) die Grenzen des Möglichen liegen. Die Dateisystemzugriffe beim Static Content Deployment zu reduzieren war nicht so möglich wie erhofft, ebenso das Ersetzen der Request- und Response-Objekte mit Daten aus dem ReactPHP Event Loop.
Optimierungen beim Static Content Deployment waren dennoch möglich und sind bereits als Pull Request implementiert: Zusätzliche Parameter zur Auswahl, welche Dateien generiert werden sollen, sowie ein Prüfsummen-Check um existierende aber geänderte Dateien zu erkennen.
Für den Austausch von Request- und Response-Klassen sind die Interfaces leider noch nicht ausgereift und an vielen Stellen wird an den Interfaces vorbei operiert. Magento Lead Architect Anton Kril hat mir versichert, dass hieran auf jeden Fall noch gearbeitet wird, vor Version 2.4 sollte man aber nicht damit rechnen. Mein Team aus Entwicklern von Evozon konnte schließlich einen Workaround mit Anpassungen direkt in $_GET, $_POST und $_SERVER implementieren. Zu den tatsächlichen Optimierungen, die die Stärke von ReactPHP ausnutzen sollten, sind wir leider nicht mehr gekommen. Das Bootstrapping von Magento einmalig für alle Requests auszuführen, den Request-spezifischen Status aber wieder zurückzusetzen, bleibt also als mögliches späteres Hackathon-Projekt offen.
Weitere hervorzuhebende Themen: Admin Menu Manager erlaubt die Umorganisation der Admin-Menüs nach persönlichen Präferenzen, Reviews API implementiert die im Core noch fehlende API für Ratings und Reviews (Pull Request Material), EAV Cleaner wurde nach Magento 2 portiert.
Opatija
Wer nicht beim Hackathon war, oder sich eine Stunde Pause gönnen wollte, konnte zwischendurch an einer der Stadtführungen teilnehmen. Dort lernten wir, dass Opatija im 19. Jahrhundert als Erholungsort für den österreichischen Adel gegründet wurde, was sich heute noch am Baustil erkennen lässt, und dass nach neueren Messungen nicht Krk sondern Cres die größte kroatische Insel ist – es leben dort allerdings hauptsächlich Schafe. Es war eine lehrreiche und unterhaltsame Führung, aber zu viel um hier alles wiederzugeben. Nur so viel: Die Historie von Opatija ist voller tragischer Liebesgeschichten.
- Villa Angiolina
- Park Angiolina
- Hotel Kvarna
- Opatija zeigt seine prominenten Besucher
- Blick auf die Berge, das Meer im Rücken
- Blick auf die größten kroatischen Inseln Cres und Krk
- Die Frau mit der Taube wartet auf ihren Seemann
- Eine Schlechtwetterfront zieht auf
- Im Sommer soll das Meer hier nahezu still sein
Am Abend gab es dann die Pre-Party im Hotelkeller. Obwohl der DJ ein Gefühl für Übergänge wie ein Backstein hatte, war die Stimmung ausgelassen. Man freute sich, bekannte Gesichter wieder oder auch zum ersten Mal persönlich zu sehen, für ungestörtere Gespräche konnte man sich immer noch nach oben in die Lobby zurückziehen.
Dienstag: Talks, Talks, Talks
Ohne Gnade kam dann der Dienstag mit vollem Konferenzprogramm von 9 bis 18 Uhr. Dank Katarina von Inchoo gab es vorher noch einen kleinen Mage::run zum Wachwerden und dafür kam entgegen allen Voraussagen auch die Sonne heraus.
Test run done!Joins us for the real run tomorrow at 7, we start at the congress centre 🙂 #DevParadise pic.twitter.com/s6cnctsdHc
— Katarina Dijakovic (@kdijakovic) 25. April 2016
Auch für den Rest des Tages noch einmal großes Lob an Inchoo für die reibungslose Organisation. Da es nur einen Track gab waren alle Talks von Anfang bis Ende gut besucht (die Qualität und Themenauswahl könnte aber auch eine Rolle dabei gespielt haben).
Ein Schnelldurchlauf mit Tweets:
- Max Yekaterynenko von Magento mit weniger bekannten Fakten und Trivia aus der Geschichte von Magento 2 seit der ersten Ankündigung von Yoav Kutner auf dem ersten Developers Paradise 2010.
Some of the coolest Magento 2 internal team names: Arctic owls, Dragons, FireDrakes, Voodoo – seen in slides from @maksek_ua #DevParadise
— Fabian Schmengler (@fschmengler) 26. April 2016
Ha ha ha the truth abotu why 0.42 was the beta version of #Magento2 : It the the answer to everyone questions about the product #DevParadise
— Talesh Seeparsan (@_Talesh) 26. April 2016
- Gabriel Somoza über Best Practices für Magento 2 und moderne PHP-Entwicklung allgemein. Leider hatte dieser Vortrag mehr Inhalt als verfügbare Zeit. Die vollständigen Slides gibt es allerdings schon online.
- Es folgte mein eigener Vortrag zu unserem Vorgehen beim Portieren der IntegerNet_Solr Extension nach Magento 2. Wenn der Vorredner überzieht, passiert so etwas 😉
@fschmengler ahh shut up, bot. I am not on stage yet
— Fabian Schmengler (@fschmengler) 26. April 2016
Dem einen oder anderen scheint es aber gefallen zu haben.
This porting extensions to #Magento2 talk by @fschmengler is pure gold #DevParadise
— Dusan Lukic (@LDusan) 26. April 2016
- Peter Samoilov von Aheadworks berichtete über den Auf- bzw. Umbau ihres Magento 2 Teams. Er gab dabei sehr interessante Einblicke in die Welt der großen Extension-Provider. Offenbar sind gute PHP-Entwickler ohne Magento-Erfahrung meist besser für Magento 2 geeignet als gute Magento-1-Entwickler ohne Erfahrung mit anderen PHP-Frameworks.
Peter Samoilov fired 60% of developers during transition from M1 to M2 #DevParadise #Magento2 #funfacts
— Sinisa Nedeljkovic (@sinisan86) 26. April 2016
- Atwix CTO Yaroslav Rogoza fuhr ein Zahlenfeuerwerk an Benchmarks auf.
@rogyar with some performance benchmarks that seem at least somewhat from real world #DevParadise pic.twitter.com/Ho4qWad4hp
— Nils Preuß (@tutnix) 26. April 2016
- Beim SEO- und Katzenbilder-Talk von Joni Kautto habe ich mir eine Pause gegönnt, das ist doch zu wenig mein Thema.
- Peter Jaap Blaakmeer gab einen umfassenden und brauchbaren Überblick über die Nutzung von Composer. Auch wenn die meisten Anwesenden bereits grundlegend mit dem Thema vertraut waren:
Advanced audience: everybody already used composer with Magento 1 #DevParadise
— Fabian Schmengler (@fschmengler) 26. April 2016
- Bill Curtis von Sweet Tooth erklärt die Web API von Magento 2. Ein sehr technisches Thema, aber schön verständlich präsentiert. Die Search Criteria sind übrigens auch für Entwickler interessant, die nicht mit der Web API arbeiten:
What I like about search criteria in Magento: the service contracts (PHP API) use the same interface #DevParadise pic.twitter.com/SUien1hoO8
— Fabian Schmengler (@fschmengler) 26. April 2016
- Marco Lopes von Session Digital zeigte an einem Praxixbeispiel, wie Behavior Driven Development und Domain Driven Design zu besserem Code führt.
Find the boundaries of your domain. Good advice by @mpmlopes, independent of BDD #DevParadise pic.twitter.com/SDroyKm7dW
— Fabian Schmengler (@fschmengler) 26. April 2016
„Our code is almost plain English“ – says @mpmlopes #DevParadise pic.twitter.com/30KP1NDnFH
— Norbert Nagy (@nagno123) 26. April 2016
- Dann, gerade passend nach den drei sehr technischen Talks, Ignacio Riesco:
Basketball strategy applied to ecommerce. Wisdom from @ignacioriesco at #DevParadise pic.twitter.com/jKv2STXoAp
— Olena Sadoma (@OlenaSadoma) 26. April 2016
- Mauro Lorenzutti über das Warum und Wie von CMS-Integrationen in Magento (WordPress und Typo 3) – interessant war es für mich, da die Anforderung einer Typo3-Integration in Deutschland doch recht häufig kommt.
- Nils Preuß hat sich den Import von Magento 2 bereits intensiv zur Brust genommen und teilt seine Ergebnisse.
Excellent feedback : @tutnix is offering suggested solutions instead of just saying what’s missing #DevParadise pic.twitter.com/Eu6sYmXWHG
— Talesh Seeparsan (@_Talesh) 26. April 2016
- Magento Lead Architect Anton Kril teilte unveröffentliche technischen Details zu Magento Enterprise 2.1 mit uns, insbesondere zum Staging Feature, das im Gegensatz zum Staging von EE 1.x tatsächlich brauchbar sein dürfte.
Nice! We are getting some insider #M2EE 2.1 preview details at #DevParadise
— Talesh Seeparsan (@_Talesh) 26. April 2016
- Oleksii Bedzir von Vaimo nahm sich vor, uns in einer halben Stunde ALLES über Load Testing beizubringen und schaffte es in der Zeit wirklich, jede Menge praxistaugliche Informationen zu vermitteln. Ich warte gespannt auf die Veröffentlichung der > 50 Slides!
Oleksii suggestion is load testing in production env. Because setting up another env like prod is costs more. Interesting idea #DevParadise
— Nils Preuß (@tutnix) 26. April 2016
- Und zum Abschluss des Tages eine Lichtgestalt der Magento-Community, die gar nicht mehr mit Magento arbeitet. Guido Jansen lieferte einen unterhaltsamen Vortrag über Cross Cultural Website Optimization, mit interessanten Nutzer-Statistiken aus verschiedenen Ländern von Euroflorist.
Alle Talks wurden auf Video aufgezeichnet und werden demnächst – inklusive der Slides – veröffentlicht!
Nach dem Dinner ging es fast nahtlos weiter mit der nächsten Party in einer Bar nahe des Hotels. Perfekt um das Networking aus den Kaffeepausen zu vertiefen oder einfach zu feiern. Entsprechend lang wurde der Abend. Merke: Entwickler können sich auch um 5 Uhr morgens nach viel Bier noch über Nerd-Themen unterhalten.
Mittwoch: Talks, Fortsetzung
How can you tell if the party was any good? Just show up for breakfast and take this photo #DevParadise pic.twitter.com/xxydMwpAGP
— Aron Stanic (@aronstanic) 27. April 2016
Am Mittwoch haben es entsprechend nicht mehr ganz so viele pünktlich zum Frühstück geschafft wie am Dienstag, hier zähle ich mich dazu. Der erste Vortrags-Slot von Ivan Chepurnyi war daher etwas undankbar, vor allem für ein Thema wie Indexing. Sorry, Ivan, das hätte ich mir sonst gerne angesehen!
#DevParadise day 3 Kicking off with @IvanChepurnyi, room is filling up faster than I expected. pic.twitter.com/xoqdsLGDaW
— Talesh Seeparsan (@_Talesh) 27. April 2016
- Hrovje Jurisic hat sich das Thema CSS Preprocessing in Magento 2 vorgenommen und damit einen wunden Punkt getroffen. Mehr dazu beim Rückblick meines Frontend-Kollegen Sandro
- Dann Ben Marks. Ben Marks braucht kein Thema. Er hat nach einer kurzen Einführung das Zepter ans Publikum übergeben, mit der Frage „What do you not like about Magento 2?“. Und ja, das eine oder andere kam da zusammen, Ben ist also wieder mit einem Koffer voller Notizen für Magento nach Hause geflogen.
- Branko Toić mit einem Thema für Hoster und Sysadmins: HTTP/2 ist da und wir sollten es nutzen! Auch wenn die Performance-Vorteile bei Magento 2 aus rätselhaften Gründen weniger als erwartet sind.
- Ein weiterer Talk aus dem Hause Session Digital, von Norbert Nagy, führte in die Funktionsweise des Full Page Caches in Magento 2 ein.
- Jisse Reitsma gab unter dem vielsagenden Titel „Running Magento 2“ eine Vielzahl an Tipps für ein performantes Setup.
- Talesh Seeparsan stellte die OWASP Top Ten vor und zeigte, wie man seinen Magento Code vor diesen Sicherheitslücken bewahrt. Ein Thema, das jedem Entwickler bewusst sein sollte.
#DevParadise @_Talesh talk about OWASP rises awareness of developers that didn’t know about. Good job to bring it in.
— Ivan Chepurnyi (@IvanChepurnyi) 27. April 2016
- Benno Lippert erklärte Product Information Management Tools und wann man sie nutzen sollte.
Das für den Nachmittag geplante Programm im „Adrenalin Park“ musste wetterbedingt abgesagt werden, als Plan B wurde eine Weinverkostung und ein Besuch des Kasinos angeboten, das haben wir allerdings lieber übersprungen um es etwas ruhiger anzugehen und auch noch ein wenig Opatija anzuschauen, wo sich die Sonne doch noch einmal blicken ließ. Immerhin sollte zum krönenden Abschluss am Abend die dritte Party gefeiert werden.
- Manchmal trinken wir doch zusammen ein Bier
Donnerstag: Durch Schnee und Eis
Immerhin vier Mann fanden sich am Donnerstagmorgen noch zum abschließenden Mage::run (Bartek, Daniel, Peter Jaap, you rock!)
#MageRun #DevParadise the sequel pic.twitter.com/UOmJeMoVR6
— Peter Jaap (@PeterJaap) 28. April 2016
Für mich hieß es dann allerdings auch schon für den Checkout bereit machen, um halb zehn fuhr das Taxi nach Zagreb. Im Inland war unterdessen scheinbar der Winter eingebrochen, so ging es durch alle Arten von Luftfeuchtigkeit zurück nach Hause.
Die abschließende Panel-Diskussion haben wir daher leider verpasst, sie scheint doch sehr interessant gewesen zu sein.
Mein Fazit
Nach meinem ersten Developers Paradise 2013 auf Mallorca hatte ich hohe Erwartungen an das Event, und ich muss sagen, sie sind übertroffen worden:
Das Zitat würde ich wieder unterschreiben. Inchoo hat es nicht nur geschafft, mit einem Feuerwerk von Vorträgen das Developers Paradise zu einer Top Konferenz für Entwickler zu machen, sondern auch trotz unplanmäßigem Wetter eine gute Umgebung für das Drumherum zu schaffen (ein, zwei Ausrutscher möge man verzeihen…)
Und so konnte ich, obwohl ich dieses Jahr anders als noch 2013 schon einen guten Teil der Besucher persönlich kannte, weitere interessante neue Leute kennenlernen, darunter auch andere, die in meiner Welt bisher nur als Twitter-Avatar existierten.
Neue Erkenntnisse darüber hinaus:
- Kroatien ist eine Reise wert
- Wenn man sich eine Kofferwaage online kauft, sollte man auf die Maßeinheit achten
- Anton Kril ist nicht nur nicht Alan Kent, sondern auch ein begnadeter Bauchredner
- Jisse Reitsma lebt nicht in einem Palast
- Ostdeutsche klicken öfter auf Blumen-Werbung als Westdeutsche und nicht mal Guido Jansen weiß, warum
- Load Testing gab es schon im 17. Jahrhundert. Für Schiffe.
- Wer „Slide Trolling“ gegen jemanden betreibt, der den vorletzten Talk hat, ist selber schuld 🙂
„And here I go again on my own“ Last part of #DevParadise journey, songs stuck in head, 1 sad and 1 happy eye pic.twitter.com/nlqNhy1O5t
— Fabian Schmengler (@fschmengler) 28. April 2016
In diesem Sinne freue ich mich auf hoffentlich weitere Fortsetzungen in den kommenden Jahren!

Author: Fabian Schmengler
Fabian Schmengler ist Diplom-Informatiker und Magento Entwickler bei integer_net. Seine Schwerpunkte sind Backend-Entwicklung, Konzeptionierung und Test-Automatisierung. Seit 2011 ist er Magento Certified Developer, seit 2014 Magento Certified Solution Specialist.