Symfony News

Symfony2 CMF RC1 released!

I think it was February 2010 at Symfony Live Paris, well over a year before the final release of Symfony2,
during the Q&A that I voiced by disappointment over the fact that so few (none?) of the big PHP applications
are based on a general purpose web framework. That all of these applications choose to waste their time on
building low level architecture pieces rather than focusing their energy on solving the higher level problems
that their end users actually care about. That they in the end limit their the extensibility of their
applications. That they also limit interoperability. I follow this up with a
blog post but I also kind of felt
that we framework authors needed to take a step towards the application developers. Luckily my co-workers at
Liip agreed so we decided to do something about this by organizing a meeting in September 2010 and sponsoring
travel expenses for many of the leading authors of CMS components for symfony 1.x. We came up with a game plan
and then we got to work.

Admittedly through out the first 2 years it was mainly Liip doing the work, partly funded by client
projects. But Liip is a web agency, we wanted tools to build better solutions for our clients. So from day one
we wanted to do this with the community. But through out this time we have had many people that have done very
important contributions. Some of who only stayed for a bit but most of which are still very much around. In
fact many of these contributors have been starting to reap the benefits of their investments building
production applications for over a year already. Going down memory lane always runs the risk of forgetting
someone but from the top of my head I want to thank Johannes and Uwe for being the first non Liipers to have
done significant contributions to Jackalope. Then there is of course also Benjamin who wrote the initial
version of the Doctrine DBAL integration for Jackalope, which meant we no longer required Java. In the same
way Henri and Petrius brought us the MidgardCR alternative implementation of PHPCR. Henri of course also
introduced us to create.js. Then Nacho Martin for singlehandedly getting SonataDoctrinePHPCRBundle off the
ground. And of course Thomas for having created the Sonata project in the first place. I also want to thank
Ideato for their various contributions, organizing hackdays, working on the very early concepts of the Routing
component which has since been adopted by ezPublish and Drupal. This really validates the goal of making it
easier for these well established applications to adopt a general purpose framework. I also want to thank
Freddy for his part in proofing that we were on the right path.

However these days it is no longer just a few people joining the effort temporarily. We have a
vibrant community where Liip is still very much involved but the
community is now doing the majority of the work. In many ways this might even be more important for the
survival of the initiative in the long run than getting every technical aspect just right. That being said,
the huge number of contributors, doing real world projects,
of course help find flaws in the concepts and validate what we got right. As such we can claim with confidence
that the CMF in its current state has proven itself in the real world in multiple projects done by multiple
different companies all over Europe. This in turn also means that its future is no longer dependent on a
single company let alone a single client. The community is alive and well and growing.

So its with great pleasure that I can announce that we have finally moved all the key components to release
candidate state. This means that while we still have a
few tasks we want to
wrap up, we believe we now have a coherent well tested system to enable to build custom CMS projects on top of
Symfony2. We will use the rest of the month to work to wrap up some open items in the storage layer and get as
many of the nice to have's in the Bundles done. Also while our documentation is already quite extensive, a lot
of details especially in the configuration were changed for better consistency in the last weeks which are not
yet reflected in the documentation. So there are plenty of tasks for people who want to join the effort now.
We certainly appreciate it and as a project we have always put great emphasis on investing into new potential
contributors. So come join our mailinglist, our
IRC channel or our issue queue!

So for the historians among you its possible to get a good overview of the different development stages
of the CMF by going through all the CMF related posts in the
Liip blog. Listening to the
podcast Pierre recorded during
our first meeting in the summer of 2010. Boy was I niav to believe we could release our first stable release
close to the first stable release of Symfony2 itself.

Let me end this post with some numbers (generated using

./ghs compile phpcr
Contributions: 1360
Contributors: 39
Forks: 69
Watchers: 323
Downloads total: 85639
Downloads monthly: 4100

./ghs compile jackalope
Contributions: 4457
Contributors: 40
Forks: 90
Watchers: 242
Downloads total: 77642
Downloads monthly: 4106

./ghs compile symfony-cmf
Contributions: 6383
Contributors: 146
Forks: 492
Watchers: 1215
Downloads total: 284072
Downloads monthly: 17038

To give get some perspective on those numbers lets compare to Symfony2. Remember that Symfony2 is the most
active PHP project on github of all time and the CMF started quite a bit later.

./ghs compile symfony
Contributions: 36266
Contributors: 1080
Forks: 4667
Watchers: 10094
Downloads total: 13041336
Downloads monthly: 831751

About us

What a Symfony developer should know about the framework: News, Jobs, Tweets, Events, Videos,...


Find us on Twitter

Find us on Facebook