Blog Posts

Symfony CMF: what is left todo?

Symfony CMF: what is left todo? 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

2) 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.)

3) Documentation (MUST)

  • Continue to make improvements to the documentation

4) KnpMenu (SHOULD)

5) 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?

Related Entries:
- Doctrine PHPCR-ODM now handles versioning
- News for the symfony2 cmf: Second PHPCR implementation, hackday announcement and PHPCR to become "official"
- Summer vacation in open source land
- There and back again
- Discussions and Pizza at PHPDay Italy

About the author

Comments [8]

Rong JC, 11.01.2013 11:52 CEST

Hi, I am pretty interested in the CMF. However, i failed to find any comprehensive documents on the structure and detail of the CMF which i s pretty bad as an open source project. Most of the doucmentations focus on how to configure and install the CMF which is good. however, without proper detail of the CMF, it will be hard for programmers to start developing on it. It will be good if there is documentations on how to use it, Symfony's documentation is awesome hope there is something for CMF too.

lukas, 11.01.2013 11:56 CEST

I assume the intro section on http://symfony.com/doc/master/cmf/index.html is not sufficient?

There are a number of slides linked on cmf.symfony.com. We are one by one migrating the content of these slides into the documentation. You might especially be interested in:
http://cmf.symfony.com/slides/bigpicture.html#1
http://cmf.symfony.com/slides/why_symfony_cmf.html#1

david, 16.01.2013 23:08 CEST

I agree with the lists and plans above.

JSR-333 changes are now merged. would be cool however if we manage to finish https://github.com/phpcr/phpcr-utils/pull/31 to have CND support for all PHPCR implementations.

The XML import/export would really need a loving brain.

We have to find and implement a solution for https://github.com/symfony-cmf/Routing/issues/42 as well. I keep asking crell until he can give his input, then do it.

lukas.smith, 26.01.2013 17:39 CEST

I have been updating the mailinglist with the progress:
https://groups.google.com/forum/?fromgroups=#!topic/symfony-cmf-devs/bKfArrPNp2w

drm / Gerard, 07.02.2013 21:19 CEST

Hey Lukas,

Awesome work. I still keep a keen eye out for the CMF and I am very happy to see a release path forming!

Without much hands-on experience and hacking, I can't contribute really. What would help most, I guess, is a sandbox running more or less out-of-the-box, and maybe some show cases of projects already running on it to help convince company management positions to either start using it or investing time for open source development.

That said, I still lurk the dev list and hope to start using at least parts of it some time this year. 2013 is full of promise ;)

Keep up the awesome and relentless work!

lukas.smith, 07.02.2013 21:26 CEST

Thanks! Exciting times for all of us in the CMF project. We just started a client project (the client approached us about the CMF) and its quite amazing what a single developer from our team was able to integrate into the customers Symfony2 app within a week.

Oh and we already have a sandbox. You can see it running here:
http://cmf.liip.ch

The code with setup instructions (including an optional vagrant box) is here:
https://github.com/symfony-cmf/cmf-sandbox

Sebastian Blum, 11.03.2013 14:03 CEST

Hallo Lukas,

ich hatte am Wochenende endlich mal Zeit, mir den Code von Symfony CMF durchzusehen und mich etwas einzuarbeiten.

Ich kann dazu nur eins sagen: HUT AB, Genial gemacht.

viele Grüße, Sebastian

Lukas, 11.03.2013 14:24 CEST

Danke .. die ganze Community hat ja auch schon einiges an Zeit rein investiert. Jetzt muessen wir auf der Zielgraden nur noch das ganze zu einem gut Dokumentierten Stable-Release hinbekommen.

Add a comment

Your email adress will never be published. Comment spam will be deleted!