Symfony2 CMF Project
Why does the world need this?
Drupal is awesome!
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 ..
- .. no clean separation of configuration, logic and content
- .. no clean deployment and staging concept
- .. inconsistent cache layers
- .. function callback AOP is not every ones cup of tea
- .. lots of legacy baggage
- .. NIH (not invented here) syndrom
Note the Drupal guys agree and are actually collaborating with Symfony2 to improve
Do we also suffer from NIH?
- Collaboration with Drupal and others to share basic content management code
- Based ourselves as much on standard tools and specs
- Leverage existing bundles and technologies of the Symfony and web developer community
- Deliver value within a reasonable time
- Both Drupal 8 and ezPublish 5 use the CMF routing component
CMF = Content Management Framework
- In other words: its a toolbox to create your own custom CMS
- Not a one size fits all, but increase code sharing
- Imagine Diem, Sympal, Apostrophe all build on the same content foundation
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
What is Content Management?
- Content structure
- Navigation structure
- Routes (URLs)
The CMF solutions to these requirements are discussed in the "Big picture" slide set
Data in a CMS is mostly unstructured
RDBMS are not a good fit, hurray for NoSQL
CMS often organize content as a tree/graph
Most NoSQL not a good fit, hurray for Graph DBs
CMS should be able to store content versions