With the recent announcement of Facebook that their HHVM is now more and more compatible with most of the popular framework, I was intrigued to finally try it out. We’re currently building a Symfony2 based application, which has pretty high performance requirements (but we can mostly achieve them with varnish), so I went and did some performance tests on that real-life app.
This weekend I had the opportunity to attend and speak at Symfony Camp UA in Kiev. This event was organized already for the 5th time and draws many developers from the region. While I did spend the entire week before doing an intensive Russian course in Odessa (just for fun, no Liip has no plans to open an office in Russia), I did my talk on REST in English. Next to mine the only other talk in English was delivered by Pawel, who spoke about Sylius. It was great to finally meet Pawel in person! At any rate all other talks were in Russian. It was semi possible to follow the Russian talks if the slides contained enough code but in the end I spend most of the time talking to people sitting on the comfy chairs in front of the conference room. There were two questions that came up multiple times, so I figure I also answer them quickly here.
This is a guest post by Tim Bezhashvyly.
Jackalope and PHPCR have been a reoccuring topic on this blog. Back in 2009 we here at Liip began exploring the possibility of integrating Jackarabbit, the reference implementation of the Java Content Repository specification, with PHP. The vision was two fold: First up we wanted to make it possible to directly interact with content stored in AdobeCQ (called Day Communiqué at the time) or Magnolia. Additionally we also felt it would be a great asset to the PHP CMS world to be able to leverage all the power of JCR from PHP, hence PHPCR. The initial attempts made use of the Zend Java Bridge to communicate directly from PHP to Java. However eventually we realized that it would be more feasible to use the native HTTP API provided by Jackrabbit. But things only really took off when the Symfony CMF initiative decided to adopt our work. Now four years later we finally have the first stable releases of PHPCR, Jackalope and the hibernate inspired object mapper PHPCR ODM.
Symfony2 comes with an ACL mechanism that can help you whenever you need to add some permissions in your system. Some typical use cases could be to determine if a user has the permission to edit a blog post, if he can add a comment to it or if he can delete it or simply view it. In such cases ACL system seem to be the way to go in order to implement all these rules and future existing ones in a flexible manner.
So the Symfony2 RAD Edition one took much longer to get released than anticipated and its not yet exactly where we wanted to be either, as can be seen by the open tickets. At any rate we wanted to stop letting this hang and put it out there. We still have a most of the assigned Liip internal innovation budget left to work on this for this year but we of course also appreciate feedback and assistance from the community. However it will be one of the tricky challenges to figure out exactly how collaboration should work best.
A few weeks ago the first european conference dedicated to the Laravel PHP framework (Laracon 2013) took place in Amsterdam at the beautiful Bimhuis venue.
We released RC1 of the Symfony CMF last week. Now it is time now to upgrade older installations to the latest and greatest. I decided to keep a record of what i had to do and write it down for others to follow the steps. There are notes in the CHANGELOG.md files of each CMF bundle, but a common blogpost is more convenient. The whole update took me a bit less than a day of work. Now that we are in release candidate state with the project, further upgrades should need no more changes, or only small ones.
We continued our exploration of e-commerce applications in the Symfony2 ecosystem at this months hackday with some playtime with OroCRM. OroCrm is currently in alpha phase and is unique in that its primary focus is to provide CRM tools for B2C rather than B2B of traditional CRM solutions. They plan to integrate with different webshop solutions to for example automatically open a lead if a customer leaves the site without checking out but had filled the shopping cart with a certain number of products. Since the venture is started by Yoav, one of the founders of Magento, their first target is of course Magento which we also leverage at Liip as our primary e-commerce platform. What is also interesting is that the OroCRM created a business application platform on top of Symfony2. The goal is to facilitate the creation of other business applications which can then be easily integrated together. One concrete example of this is AkeneoPim. Note that the platform uses the liberal MIT license while the CRM uses the OSL 3.0 license, same as Magento. Its quite similar to the LGPL with additional provisions that terminate the license for anyone initiating patent litigation against other users of the application.