PhpRiot
News Archive
PhpRiot Newsletter
Your Email Address:

More information

Symfony2 CMF and the lack of contributors

Note: This article was originally published at Planet PHP on 31 July 2012.
Planet PHP

So the other day I was ranting on twitter that there are very few contributors for Symfony CMF. Actually I should qualify this. Surprisingly we have quite a few people helping on the low level architecture pieces like PHPCR. For the inline editing the IKS project is ensuring a healthy doze of development pushing [create.js http:://createjs.org] etc. But on the Bundle level there is very little happening. This to me is quite puzzeling since thanks to our sandbox and the fact that PHPCR ODM for the most part work exactly like the ORM and Mongo ODM, any Symfony2 developer should feel right at home. Lets ignore for now the classic response of "no time", people replied pointing out various reasons like maybe A) the community just need something simpler, B) Drupal and ezPublish are already providing what they need C) they have already developed something RDBMS based in house because the CMF wasn't ready or D) there isn't even documentation to get started. So let me quickly respond to each point.

A) No doubt if all you need is a couple of pages (like an about page and a legal disclaimer) then any CMS solution would be overkill. At the same time throwing together a RDBMS schema to handle such needs is easy enough (if it even has to be RDBMS). Now what to watch out for though is if needs start to grow. Like suddenly you need to also do versioning and then add a few subpages etc. So carefully examine the long term needs and then consider if to invest into the future. Building on the CMF might give you some features for free that you otherwise might forgo. Furthermore the Doctrine DBAL implementation is solid enough for those simple needs, but actually running Jackrabbit for this is also quite simple: all you need is the JVM, download a jar and run a single command to have Jackrabbit running and storing content into the file system.

B) ezPublish will come out this fall, but the bulk of the content management will be inside the old ezPublish 4 code. It remains to be seen how good the integration of their content repository will be to enable using the content from Symfony2. I would be surprised if they will also implement the Doctrine persistence API. They will of course continue to push forward. Similar Drupal 8 still has a fair way to go. They plan for a feature freeze in december, code freeze in spring and a final release in the late summer. So its not like any of this is around the corner. Finally neither will be as "cleaned up" for truely custom CMS needs, but both will provide more out of the box features than the CMF will offer by the end of 2013.

C) If you already went ahead and developed your own CMS on top of Symfony2 than so it goes. If you think you can today sit down and quickly implement an RDBMS based schema, then I think you would be wasting your clients money. The Doctrine DBAL implementation is mature enough to be viable today. The main missing piece is full text search support either via an RDBMS or via Solr/ElasticSearch. Each feature should be implementable in about 15-20 man days .. less time than it would take you to try and come up with a schema of your own, which will be much more limited in capability

D) I think this was the most mentioned point and the one that I personally also feel is the most "valid". Indeed documentation is very sparse. That being said, anyone that bothered to come into the IRC channel or ask questions on the mailinglist got personal support within hours. Freddy's success shows that it doesn't take a lot of time to become productive with the CMF. But of course this doesn't scale and it also requires too much effort for those doing a casual review of the available options. We did actually have some docs and so I finally set up rendering of these docs. I also did a big update to migrate the installation instructions to composer and added lots of links to related documentation. So while there is still a lot to do, there is now instant gratification for anyone that helps writing docs.