Symfony2 CMF Project

Why does the world need this?

cmf.symfony.com

Drupal is awesome!

No REALLY!

Drupal is awesome!

Drupal is awesome if you are an end user!

Powerful admin interface

Drupal is awesome if you are a sales guy!

Well known brand

Drupal sucks if you are a developer!

Drupal is CMS 1st, development framework 2nd

This is a legitimate prioritization for their users

Drupal developer nightmares ..

Note the Drupal guys agree and are actually collaborating with Symfony2 to improve

Do we also suffer from NIH?

CMF = Content Management Framework

The Symfony CMF project makes it easier for developers to add CMS functionality to applications built with the Symfony2 PHP framework. Key development principles for the provided set of bundles are scalability, usability, documentation and testing

Data in a CMS is mostly unstructured

RDBMS are not a good fit, hurray for NoSQL

like fitting a square into a circle

CMS often organize content as a tree/graph

Most NoSQL not a good fit, hurray for Graph DBs

content graph

CMS should be able to store content versions

multiple versions

Complexity shouldn't overwhelm developers

Need a solution that can scale both from small to large projects and we want to get somewhere within 12 months!

Enter Doctrine PHPCR ODM

PHP Content Repository + Doctrine ODM

PHPCR (aka PHP-ified JCR specification)

Works like MongoDB or CouchDB ODM, but also includes a tree/graph, versioning API

JCR vs. RDBMS/NoSQL

PHPCR provides a standardized API that can be used by any PHP content management system to interface with any content repository.

PHPCR implementations

PHPCR has been submitted to the JCR spec at the request of David Nüschler, JCR spec lead

Not all data fits well in PHPCR/JCR

Door swings both ways, so remember

like fitting a square into a circle

Interest is huge!

Play with it today!

CMF sandbox

Next steps

Constantly moving... The best entry point to see what is going on right now is the CMF Roadmap

Eat your own dog food

Many companies are committed to the effort

CMF supporters

Github projects

Resources