So this weekend I visited my hometown Berlin for the PHPUCEU. Actually this was in very close proximity to where I grew up, which was nice as I was staying at my parents place. Usually staying there requires a one hour ride to the hipster areas of Berlin to attend a conference. In this case it was just a 2 stop U-Bahn ride. That being said, this wasn't a "normal" conference. This was an unconference. As such attendees proposed talks they could give, but also talks that they would want to hear. Every morning every attendee would then have two votes for talks. The top voted talks would then be distributed across the 4 slots in the 3 available tracks. As such several of the sessions ended up being quite ad hoc with multiple people chipping in with what they new about the topic. What is also special about this event is that the sessions are just as long as the breaks to facilitate idea exchange about the session topics, but also about other topics. Overall I found this to be an absolutely thrilling experience.
Yesterday i tagged version Beta 1 of jackalope-jackrabbit, our PHP Content Repository (PHPCR) implementation. PHPCR is an API to manage tree-structured data, modelled after the Java Content Repository JCR specification. Time to summarize what jackalope can do today. For people already familiar with Jackalope, I summarize the recent changes at the bottom.
I have been on the conference tour for quite some time now and on top of that I travel about every 2nd weekend to some frisbee tournament around the globe. Yet I have never visited the UK. So far the most I have seen of the UK was transiting via direct bus from one London airport to another. So I was quite thrilled when my talk about the Symfony2 CMF was accepted for PHPNE in Newcastle. I was also quite keen to learn more about the PHP community over there. At any rate I flew in on Monday evening and made my way to the hotel in a light drizzle which perfectly matched my image of UK weather. But even in the dark one could make out the historical feel to the architecture in the city center. I cut the sightseeing short and crashed into bed. Next day I made my way to the conference venue which was set at a movie theatre. There were countless busy bee's from the organization team and in general this conference was organized top notch. Quite an impressive achievement given that this was the very first PHPNE. The theatre also provided top notch projectors and of course comfy seats.
In January, Lukas wrote a collection of things left to do. Later I wrote a tentative release schedule that turned out to be too optimistic. I just updated that document with new dates. Sorry about this.
There are two actually quite cool reasons for the delays. One is that we had two projects at Liip where we had to integrate the CMF into existing projects. It was fun, but we found quite a lot of issues and missing features in Doctrine PHPCR-ODM that we fixed resp. implemented. (The Symfony2 Form component is incredibly powerful, but requires the persistance layer to work very exactly and we did not want any more workarounds and hacks to a achieve functionality.) The other reason is that many other people started using the CMF too. Some found issues that need to be fixed, others even managed to contribute fixes themselves - but which took time to review and comment on. Also, a lot of new features have been built or are currently being built.
As you might remember Lukas and I started working on some changes to the elastica library and the Symfony 2 Bundle FOQElasticaBundle during a hackday. You might also remember that we were not entirely happy with our solution for the infinite nesting levels in the mappings configuration of the bundle. Also, we got some feedback from other developers upon our pull requests to both the library and the bundle. In order to be able to clean up our code and respond to the feedback I asked for some innovation budget and got it. Thanks for that! :)
Symfony CMF: what is left todo?
Just as Fabien did in his "Symfony 2.2 Schedule Update" I
would first like to wish everyone a happy 2013. But as Fabien did, I also want to get back to business now too.
Quite a few Liipers attended Symfony Live in Berlin last week. Next to myself there was
Dorian, Stefan and
Tobias. On the first day there were a selection of workshops
and talks about the general PHP ecosystem, while the talks on the second day focused more
on Symfony2 itself. The Driebit team did giid summaries of the
first and
second day on
their Symfony blog. The day after the conference featured the
hackday which by my estimates
had around 60-80 attendees, which means a quarter of all conference attendees showed up.
Pretty awesome! I demoed the Symfony CMF to well over a dozen
people who where all huddeling around me and my laptop since we didn't have a projector.
The following are just some quick notes about what I think went well at the last hackday in
Berlin and where we could potentially improve the next time around.
- ask people to plan a head (create an easy picks issue tag, prepare user stories etc)
- make sure its free, if necessary put up a donation hat, try to get sponsors to keep costs down and share the risks
- ask people to sign up, but make it clear this is just to help organization, anyone is ok to show up without signup
- have a whiteboard
- make sure there are plenty of power strips
- have paper and pens for people to setup signs about what they do for each table
- have great wifi (check if there are any local "geek institutions" like in Berlin there is the cbase and co.up) .. if you don't have great wifi ask people to not use the wifi on their mobile devices and not for personal use, encourage paired working
- ensure you have a projector or at least large monitor so that people can demo stuff to large groups
- provide drinks and snacks and organize lunch
- ideally have someone dedicated to all organizational stuff around the venue, food etc.
- do not wait for people to show up, people will be coming and going all day, get to work quickly
- open an IRC channel, wiki page and/or twitter hash tag for people to post ideas so that they can find like minded people
- experienced people should roam around, answering questions, approaching people that seem lost and generally encouraging people to engage others rather than do stuff on their own (if you can set it up .. have someone with a camera walk around and live project the video on a wall)
- offer alternative entertainment, foosball table, wii/x-box etc to let people just socialize
Anything that should be added to this list? Should we maybe move this to the documentation or some wiki?
A brief search on the web didn't really provide a super duper list to contribute to.
But I did find a few like this
and this.
So I decided to take 2 months off this summer, quite on short notice so I would like to thank the Liip management to be so flexible on this.
Of course I don't really ever take off from open source, so I have spent a fair bit of time working on the Symfony CMF.
Gathering feedback from the community via multiple blog posts, which taught me some things about OSS and then doing something with it like starting documentation, a simpler initial setup and adding some missing features.
I also gave talks about Symfony2 at user groups in Vienna, Odessa and Kiev and attended DrupalCon in Munich.
Oh and I gave another talk at Centralway as they seem to also be diving into the world of Symfony2.
During my time off I also spent a bit of time tweaking the integration example we have with Magnolia ahead of my presentation at the Magnolia Conference on PHPCR on the second day back from "vacation".
It seems like just as my "vacation" contained what others would consider work, my week back at "work" contained what others would call "vacation", i.e. I traveled to the Croatian island of Bol to attend ezSummerCamp to teach about Symfony and help interface the ezPublish community with that of Symfony2.
Finally I attended the Symfony2 CMF hackday in Fribourg.
What follows are some more details on what I learned along the way of all these trips and the things I worked on in between.
BDD stands for Behavior Driven Development and the idea is to test your application from end to end, like you would in a functional test but with tests that are written in human readable text. The problem of the usual functional testing is Javascript. You can easily test your API or webpage with PHPUnit but these tests will never execute any line of Javascript.
You may certainly have heard of the
bad things which have happened to Mat Honan. Some hackers deleted almost everything of him. iPhone, iPad, Macbook, Google, hacked his Twitter Account, etc… Almost everything could have been prevented if he had used Google's 2-step Verification. So if you have a Google Account and didn't enable it, go ahead and do it.