Last week, Lukas and me went to Italy to join the CMF Camp. Thanks a lot Ideato for hosting and organizing the event! Apart from meeting friendly people from Italy and Germany, eating lots of pizza and other great italian food, we discussed the Symfony content management framework and did a lot of coding on the second day. I try to give a summmary of what we have as of now and of the planned work needed for a first release, so that you can see what you could do to bring the project further. Check at the bottom for vacant “jobs” and other help you could provide.

Current state of the CMF effort

  • The PHPCR API is now pretty stable for the areas implemented in Jackalope (Read, Write, Query, NodeTypes, Versioning, Transactions). As recently announced on this blog, there is a tutorial on PHPCR as well and there are quite a few projects implementing the API.
  • Jackalope, the primary PHPCR implementation has matured quite a bit. There is now an SQL backend with the Doctrine DBAL library that allows you to use Jackalope on a plain simple LAMP machine.
  • The PHPCR-ODM layer provides a document mapping to PHPCR. In a symonfy project, this allows you to work with PHPCR like you work with the MongoDB ODM. While this layer is working, we still miss some mappings of PHPCR features.
  • The symfony-cmf repository contains a set of draft modules for the higher level things like request to page mapping or multilanguage documents.
  • There is a sandbox to demonstrate the cmf. It is working, but some of the components are subject to change.

Results of the Workshop

The most visible point is: We have now an updated roadmap for the CMF. We filled the issue tracker with lots of concrete tasks to do. Now is the time to start coding ! See the “Help wanted” section below

We also coded on quite a few things during the workshop. Just to let the participants feel the achievement, i list them here:

  • Doctrine PHPCR ODM reference annotation allowing to annotate documents with references to other documents was completed and a pull request is waiting for more reviews.
  • Routing and menu concept defined and some work started: ChainRouting and repository router as well as Cmf MenuBundle (and some improvements to the KnpMenuBundle).
  • TreeBundle as a pre-requisite for the full admin backend. Work started in TreeBundle.
  • Refactored PHPCR api tests so that PHPCR implementors can better use them to test their implementations. All Jackalope specifics have been moved out of the test suite.

Help wanted

Now you read all this and think: “Wow, i want to contribute too!” Or whatever. Anyways, if you can help, we are more than happy. You can simply start discussing on issues, comment if you know some bundle or library that could do the job so people don't have to re-invent the wheel… Or send your pull requests or contact the assigned person for the issue.

There is also a couple of open “jobs” if you are willing to provide a constant input:

  • Tickets in the issue tracker without an assigned person need somebody who works on them
  • The roadmap topics standard content and page assembly have no responsible yet. Can you coordinate one of these areas? Please announce on the symfony-cmf-devs mailinglist.

Last but not least, there will be another CMF meeting later this year. Just fill in the doodle if you are interested. (To actually hear the event announcement, make sure you subscribe to the symfony-cmf-devs mailinglist.

Want to read on? Ideato also wrote about the event:  Italian, English.