Symfony CMF: what is left todo?

  • Lukas Kahwe Smith

Learn more about our CMS service.

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.

Over the holidays several people in the community have been quite busy. Especially Emmanuel

and Daniel have been pushing things forward. As a result the

SonataAdminBundle integration has been improved considerably.

Daniel has made several contributions to PHPCR ODM. Henri also just published

an update on the work going on around create.js that we use to

provide inline editing. At the same time there are now several new contributors each month bringing a stream of

code and documentation improvements. I especially want to mention Tiago here, as he

did a lot of very important additions and corrections to the documentation.

At the same time Liipers have also worked on several topics. David is putting the final

touches on updating PHPCR and Jackalope

to match the recent changes done in the JCR 2.1 (ie. JSR-333) spec. Many of the changes

there were a result of feedback from the PHPCR team, so this update will bring some important improvements. Adrien has brought the integration

of create.js for content authoring to a usable state.

I have been busy with some smaller improvements to Jackalope Doctrine DBAL

and some bigger changes to PHPCR ODM. At the same time we are quite excited that both

ezPublish5 and

Drupal 8 will leverage the CMF Routing component to handle the needs for dynamic routing.

So things are progressing and for people willing to live a bit on the edge, all components are quite ready

for production use even today. However we are still stuck in alpha state, which means we try not to break BC unnecessary but it

still happens frequently. The next step is going to beta, at which point we will become more hesitant to break BC

and where we will always provide upgrade documentation and if possible also an update script. In my humble opinion

there is really no reason not to move all parts in the stack to beta more or less right now. Here is what I believe

to be part of our stack:

I added a (*) to PHPCR, since there will in fact not be a stable release before JSR-333 is ratified, which I expect

to happen sometime in 2013. However I do not expect anything else but minor tweaks if any.

As for the (**) here I mean that we also need stable releases of dependencies, like f.e. FOSRestBundle

and createphp. Also note that I specifically omitted SearchBundle as

I am not sure if it will be ready in time and its not really core functionality per se.

As our goal is to make a stable release around the time of the 2.2/2.3 core releases we however have to quickly

move past the beta label so that we can provide a reliable development platform. In order to get there

I think we need to do work on the following:

  1. Jackalope (MUST)
  • Merge the JSR-333 updates mentioned above.
  • Fix the left-over issues from the initial work to provide XML import/export
  • Wrap up the open PRs in the Doctrine DBAL implementation
  1. Create.js (MUST)
  • Fix the open issues in our integration
  • Create an example for inline block creation/ordering in the sandbox and standard edition
  • Improve support for non visible metadata (like tags, dates, publish states etc.)
  1. Documentation (MUST)
  • Continue to make improvements to the documentation
  1. KnpMenu (SHOULD)
  1. Sonata (SHOULD)
  • Add more standard blocks (f.e. slide show)
  • Add support for reordering child nodes in the tree UI
  • Add support for SonataCacheBundle to allow for caching of block content
  • Add support for SonataMediaBundle to allow for more flexible media asset management

Anything I missed?

Tell us what you think