Categories
plugins symfony

Symfony CMS frameworks comparison (updated)

Unexpectedly we’ve figured out that there are at least 4 big symfony CMS frameworks (honestly until now we’ve heard only about Diem and Sympal). We are going to consider here specifically only CMS frameworks b/c there is also whole bunch of symfony CMS plugins: sfSimpleCMSPlugin, sfDynamicCMSPlugin, sfW3studioCmsPlugin, etc.

Basically symfony CMS framework is not really new framework but it is rather bunch of CMS related plugins on top of symfony framework (they include e.g. plugins to modify content, add comments, generate SEO friendly URLs, other content-related tasks).

In fact each such symfony CMS framework worth separate article but for now we just want to provide some basic overview, so here are ours players:

First of all it’s worth to mention that only SteerCMS is Propel-oriented, other 3 requires Doctrine. Also Diem, Sympal and SteerCMS provides not only actual CMS features but additionally extra functionality like email messaging, caching, commenting, internal search engine, etc. Apostrophe looks pretty young and it still needs more work to become really comparable to other 3 CMS frameworks (it still can be used as good light weighted alternative which you can embed into your existing project).

So we prepared this quick comparison matrix and planning to keep extending it as soon as we will figure out anything else we missed here. It’s also very welcome to put in comments anything which you think worth to add to this matrix:

Diem Sympal SteerCMS Apostrophe
ORM Doctrine Doctrine Propel Doctrine
Internal Search Yes Yes Yes Yes
Slots/Inline editing Yes Yes No Yes
Blog Yes Yes Yes No
Commenting Yes Yes Yes No
Menu Yes Yes No Yes
Breadcrumb Yes Yes No Yes
Extra Cache Yes Yes Yes No
Versioning Yes No No Yes
Command Line Yes Yes No Yes
Custom Features Multi sites mgmt Engine modules

By the way, when we create this matrix we were inspired by another one provided on Sympal’s site which compares Sympal to other CMSs (e.g. Joomla and Typo3).

We are also sorry in advance if we made mistake regarding any feature of provided CMS, we are promise to fix it it happened.

To Symfonians!

* updated comparison matrix (03/15/2010)

20 replies on “Symfony CMS frameworks comparison (updated)”

Hmm, why Diem Command Line – No?

It have many built-in tasks, most used
$php symfony dm:setup

And there’s Linux-terminal emulator in web-admin console, you can launch some Linux and SF commands from there.

# Commands Available:
# sf man ll ls pwd cat mkdir rm cp mv touch chmod free df find clear php
# symfony commands can be run by prefixing with sf
Exemple : sf cc (clear cache)

Regarding to comparsion, you can add Sympal got multi sites management.

Thanks for covering – the most important thing is that the symfony cmf environment is growing very quickly.

Two things I noticed, Sympal DOES have an internal search (occurred recently) and I believe that Apostrophe has versioning.

I personally work on sympal, but I’ve been very impressed with the progress of diem and apostrophe – I think we’re all sharing from each other.

Guys, thanks a lot for responding. added your proposals/changes to comparison matrix

In Austin at SXSW, but wanted to drop you a quick note to let you know that we have breadcrumb and menu functionality in the current release of Apostrophe. Also, there is a blog plug-in that we built that works in Apostrophe.

Also, we are re-engineering the blog plugin and wil release that along with a nice comment solution in the next month or so.

Thanks for including Apostrophe in your article!

As one of the development team I’d like to point out a few omissions:

1. Yes, Apostrophe has internal search, right out of the box. There’s a “search” box right in the upper right corner of the demo.

2. Apsotrophe has rich navigation controls, including menu and breadcrumb style controls. You can insert these anywhere you wish in your page templates.

3. A definition of what you mean by “menu” and “extra cache” would be helpful, it’s not clear how one should evaluate these claims.

4. Apostrophe includes a range of useful command line Symfony tasks. Again, it’s tough to say what is meant by a line item in your grid called “command line,” but we definitely support command line Symfony work.

5. Apostrophe supports “engines,” which allow normal Symfony modules written by the developer to be easily grafted into the CMS page tree at any point. All actions and templates produced by such “engine modules” can then feature CMS slots. It would be nice to see an entry in your grid for CMSes that support this kind of tight integration with Symfony.

6. Apostrophe also has a built-in media repository, with on-demand rendering of images at any desired size and integration with the YouTube video API. These would also be nice line items to have in your grid for fairness.

7. Apostrophe supports user management and can assign editing privileges to any user at any level in the page tree. This feature was implemented to allow management of large sites with many contributors, and is in heavy use here:

http://trinity.duke.edu/

So I am a little surprised to see your suggestion that Apostrophe is only for Symfony projects that need a lightweight CMS to drop in. Although Apostrophe supports being used that way, unlike some (this is a feature, not a bug – it should be a line item in the grid – “can be used as a plugin in an existing Symfony project” perhaps), Apostrophe is definitely for large client sites and we’ve successfully implemented it for a number of clients.

8. As for maturity, don’t forget that Apostrophe evolved from pkContextCMSPlugin, which was available to the Symfony community for nearly a year before the name change. We have released many production sites built on Apostrophe, for example:

http://trinity.duke.edu/
http://www.askemap.org/

Our blog plugin is not release quality yet, so I wouldn’t ask you to list it until it is. When it’s ready, you can bet it will be as flexible and easy to use as the rest of Apostrophe.

Symfony CMS development is an exciting area right now – fun to be a part of it! Thanks again for including Apostrophe in your article.

Hi Tom,

It’s really great you provided such extended feedback. We’re sorry that we missed to mention some of the features from Apostrophe. Honestly we did not find this information clearly mentioned in manual:

http://trac.apostrophenow.org/wiki/ManualOverview

We will surely fix it in our comparison matrix and would be happy to publish other information you’ll provide regarding Apostrophe on our site.

So firstly let me explain what we meant by “extra cache” using Diem sample – it has extra cache layer /diem/dmCorePlugin/lib/cache/ which in fact handles some additional options to cache content/widgets/etc. They partially covered caching details on this page:

http://diem-project.org/diem-5-0/doc/en/reference-book/performance

By “menu” we meant ability to auto-generate menu (horizontal/vertical/multi-level or so) from created pages

Very interesting idea with “engines”, we will definitely include it into our matrix.

Wish you all the best with development and evolving!

Hi, nice article. I have a question about these CMFs, I hope someone could help me:

I haven’t used any CMS before (but I use Symfony and love it 🙂 and I’ll have to build a site with a lot of features that a CMF can manage (forum, news, personal blogs, events). But it also requires especific features (messaging, courses and groups associated to a professor).

So, wich one of these CMFs would be better for this project? I’m thinking in Apostrophe, because it seems I can add it to an existing project with my own modules, can I do the same with the others?

Thanks

Hi Fabian,

I think you should consider a few things before making a decision.

1. Are you sure you want to use symfony for your project (if you need quickly working solution probably it makes sense to use Joomla bundled with forum/social components which have all needed infrastructure). Or if you are more experienced with Drupal you could go with it as well

2. What specific CMS features you are looking for? For most of mentioned CMS I did not like that fact that they use inline editing which at some point complicates content management (so if you need something to add articles probably makes sense to use your own code to handle that – which is very quick to develop)

3. As far as I know – Apostrophe is really one of the most populars such CMS and you can build it into your project (you can do it with the other provided CMSs as well though)

Hope it helps 🙂

I just wanted to mention that we released a blog and events plugin for Apostrophe a few months back… in case you were factoring that in your decision.

Also, we integrated with Disqus for comments.

hi there symfonians!

i know that symfony supports Oracle. i’ve already tried using it on some of my projects. i’ve also tried Diem and i like it it’s a very good CMF, but Diem doesn’t support Oracle database. i just wanted to know if there is already a CMF out there that supports Oracle so that i can give it a try.

thanks..

Hi Sherwin,

I don’t think there is CMF specifically focused on Oracle but I expect that when you change in Diem’s settings.yml type RDMBS to Oracle it should be working with little efforts. Doctrine abstraction should take care of DB type

thanks so much symfonian for responding my post!

i wonder how little that “efforts” you’re referring to? can you show me some example on how to really do this since i got an error during Diem installation when it asked me what kind of database will i be used. (pls. to exact message below)

what kind of database will be used? ( mysql | pgsql | sqlite)
i entered: oracle
then it says: Invalid

pls. help me with this..
thanks..

yeah, it works fine for me too using MySQL. but i wanna try Oracle with Diem. is it possible?

Leave a Reply

Your email address will not be published. Required fields are marked *