PHP & eZ Publish Summer Camp Odyssey 2015

by Borna Perak , Maja Nebes , Zvonimir Sušac -

When we announced PHP & eZ Publish Summer Camp 2015 in March, we must admit we had only been secretly hoping for such an amazing turnout - the Camp was sold out! Now it’s time for us to share with you the gained experience, shared knowledge, and all the fun we had during and between the workshops.

When we announced PHP & eZ Publish Summer Camp 2015 in March, we must admit we had only secretly been hoping for such an amazing turnout - 120 people from 19 countries, 22 speakers holding 23 sessions in 3 days and 3 tracks. The Camp was sold out! If you’ve followed us, you know what eZ Publish and PHP-focused workshops were held, you’ve read about the extras we had, and now it’s time for us to share with you the gained experience, shared knowledge, and all the fun we had during and between the workshops. Let’s begin this journey :)

Summer Camp: Origins

This year’s eZ Publish Summer Camp was our 4th in a row, with PHP Summer Camp being held for the 2nd time. We coupled them again because we think it is important to combine the know-how of both eZ & PHP (especially Symfony) communities, and decided to focus on practical skills, thus the hands-on workshops. We set the bar a bit higher that the previous year (like we always tend to do), learning from experience and your valuable feedback. It is important to keep 120 devs happy :)

A few of us went to the beautiful town of Rovinj, where the Camp was held once again, a couple of days before the official beginning of the Summer Camp to recheck everything once again, this time in person. Having to limit the number of participants in order to maintain the quality of the workshops drove us to try to make this Summer Camp experience useful and fun to everyone involved (including the organizers, that is - us :)).

With all the rooms booked, conference halls checked, goodie bags and lists prepared, we were ready for the opening of the Summer Camp.

Day 1: Close Encounters of the Developer Kind

The Camp had an unusual opening act: DebugMan triathlon at 7:30. 30-odd brave and determined participants began their day by entering a stage 1 of the DebugMan, swimming. Having successfully completed the 200 m swim (nobody drowned!), everybody received a cork as a proof (and something to show all of those who were still sleeping at the time ;)).


Meanwhile, registration (and an informal morning hangout) was under way. By 9:20, the time of the opening keynote, we had everyone registered and ready for the Camp. Our own Ivo gave an opening keynote once again, which is already known for having words “shortest” and “ever” in its name, and the Camp could officially begin.

The most of the participants set up their VM boxes before the beginning of the workshops. Unlike last year, this year we used Vagrant to set up a virtual development environment for our participants. We decided on the Vagrant-based VM this year because we wanted to make it easier for everyone to use repo and recorded video after Summer Camp. The Vagrant box contained the project for every workshop, and participants’ job was to git-pull the latest project changes and run the shell script to install what was necessary. The process proved to be a bit problematic to some people. Most of the problems could have been avoided with more time for testing and better instructions beforehand. Some problems were OS specifics (read: Windows :)), but our help desk, led by Edi with the help of Ivan and Hrvoje K., solved most of those problems quickly. There is space for the improvement concerning the VM installation and we’re already working on it.


The first day had an impressive lineup of speakers: eZ SystemsJérôme Vieilledent, Bertrand Dunogier, and Robin Muilwijk (via remote video connection) were speaking at the eZ Publish Summer Camp, while Saša Stamenković (KNP Labs), Michele Orselli (Ideato), Ryan Weaver (KNP University), Marek Matulka (SensioLabs UK), and Damir Brekalo (Trikoder) presented on the PHP side.

Thanks to the live voting, a simple responsive live voting web application developed by Netgen interns and used last year as well, the participants could rate the speakers and comment on the workshops. This year’s summer interns (undergraduate students) have refurbished the application, completely changing its UI and adding some additional features like commenting on the workshops, Twitter wall, dashboard etc. From what we’ve heard, the speakers loved the app because it gives them realistic and real-time feedback from the participants.

According to the participants’ votes, the highest-rated workshop the first day was - surprise! :) - Ryan’s “Classes, interfaces, dependency injection and OOP best practices”. He showed his expertise and great rhetoric once again (he was voted best speaker last year), and we take this opportunity to thank him once again for his pre-Summer Camp interview. It is also important to add that the participants rated all the speakers highly.

After the workshops, it was time for the Celebrity Debate. Leanna presented to us the real celebrities, Ryan and Bernhard, who played - themselves :) Things got heated, with the questions ranging from “testing or no testing” to “coffee or tea”. The audience engaged quickly, asking questions and giving their opinions and suggestions. Bernhard won by a hairbreadth, but we could say the real winners were the participants because we enjoyed watching them debate serious dev and every-day issues alike :)

celebrity debate

The evening was reserved for a complimentary wine tasting at the Kantinon tavern. You haven’t been to Istria unless you’ve tried the wine, right? :)

Day 2: Developception

On the second day, we were already deep into Camp topics. The discussions that started the previous day and extended through the evening (for some, even the night) continued at and around the workshops. Let us not forget the brave ones whose day started early in the morning with the stage 2 of the DebugMan - 9 km cycling, after which they received another token - a marble. They were told not to lose their marbles! ;)


eZ’s colors were defended by Jérôme, Bertrand, Jani Tarvainen (Exove), Ekkehard Dörre (Coolscreen / CJW Network), and Till Kubelke (Kuborgh), and the workshops on the PHP side were given by Symfony Core devs Jakub Zalas and Bernhard Schussek, Michał Marcinkowski (Lakion), and David Buchmann (Liip AG). The best-rated speaker of the day was Jakub with his workshop “Loose coupling in practice”. The live voting system showed that, just like the day before, all of the speakers got good grades.

After the workshops, it was time for the Unconference session. It was imagined as a session in which everyone who wanted to give a short presentation on some topic gets 5-10 minutes to do so. We heard more about some interesting projects on which our participants work. For example, we heard that there is a TYPO3 CMS integrated into Symfony framework. Jani showed us how he serves PHP via HTTP2/2 using H2O server. Piotr Pasich showed us why he uses Docker and why we should use it. In the end, Edi showed how we at Netgen instantiate new eZ Publish projects in only seven minutes. By the power of the live voting app, Piotr was chosen as the best Unconference session speaker. He won a great prize, a ticket to Web Summit in Dublin. Last we heard, he’s already bought a plane ticket ;)

Unlike the first night, when we enjoyed the talks with wine, the evening hangout included cocktails - real summer drinks :)

Day 3: Guardians of the Code. And of the Boat Trip.

The third day started with the DebugMan stage 3, running for 2 km. All of the participants received special caps upon completing the triathlon - they definitely deserved them!

debugman cap

The last official day of the Camp provided great workshops by our own Petar Španja, Kaliop’s Steven Bressey, and Ivo and Antonio Perić (Locastic) (they held a workshop on eZ + Sylius integration) on the eZ Publish / eZ Platform topics, and with Paweł Jędrzejewski (Sylius), Nicolas Grekas (Blackfire / SensioLabs), and Enrico Zimuel (Zend Technologies) on the PHP & Symfony topics. Participants decided that Paweł, with his workshop “Modelling by example”, was the best speaker that day and, by the ratings, the best speaker of the Summer Camp! :)

In the afternoon, we had a roundtable session that we like to call Meet the Experts. There were 6 topics offered with experts leading the discussions: Microframeworks and PSR-7, API development, Performance, Testing?!, Advanced paradigms, and eCommerce on Symfony. Well, 7 actually, because somewhere along the way they managed to form "The Beer table" :) The session continued until 19:30, which was not a surprise considering the topics and the free beer provided there :)

Summer Camp had an official closing at the Mexican restaurant La Concha where we had dinner and a raffle and gave out well-deserved prizes. Raffle prizes were 2 full passes to Croatian Summer Salsa Festival, a courtesy of Salsa Adria Productions, and 4 PhpStorm licenses, given by JetBrains.. Naturally, we honored our Silver Sponsors ETECTURE, CJW Network, Prime and Keyteq, and gave a special gift to our Gold Sponsor, eZ Systems, whose support helps us a great deal. The results of the live voting were presented and Paweł, as the best speaker, was given a memorable “kravata” - he says he likes it :)

Same as every evening, hanging out continued after hours, at the pier and across the town.

The 4th day was, as usual, reserved for the boat trip. This time, we took off to Poreč, where we had a guided tour. After having lunch on the boat (avoiding seagulls), we took a traditional group swim. We saw some spectacular dives and nobody was too eager on getting out of the sea :)

boat trip swim

What did YOU say?

A few days ago we sent a short questionnaire to all the participants. So far, we've got feedback from half of them, which is amazing. Thank you all for your answers! There is still time to fill out the questionnaire, as well as send any suggestions or additional questions to [email protected]. Your answers are valuable to us - they help us build an even better Summer Camp next year, keeping in mind all you’re saying.

For example, we found out you really appreciated the organization during the Camp, giving it an impressive 4,69 average. The speakers got an average of 4.17 which is roughly 0.12 better than last year. All of the afternoon sessions got an average above 4. Out of those who voted, 98% liked the morning and evening hangouts, 94% said they would come to the Summer Camp next year and 96% would recommend it to the others - thank you!

The lowest rated was the VM installation with 3,64. It is a problem we are aware of, and as was mentioned, we are already working to improve it for the next year in order to make it easier for you to prepare your machines for the workshops.

Also, our Marko and Hrvoje T. took amazing photos of the Camp. You can find all the photos (and tag yourself and others) in Facebook albums.

Thank you for participating and being overall amazing! :) See you next year!


This site uses cookies. Some of these cookies are essential, while others help us improve your experience by providing insights into how the site is being used.

For more detailed information on the cookies we use, please check our Privacy Policy.

  • Necessary cookies enable core functionality. The website cannot function properly without these cookies, and can only be disabled by changing your browser preferences.