Symfony Great Except Documentation

by Roger Collins on April 5, 2010

in Programming

When I developed my first commercial website about a decade ago there were no decent website development frameworks like Symfony so I created my own.  It even had a simple ORM known simply as the Entity class.  It made the rest of the development effort faster and more scalable.

My decision was informed by a masters in computer science and 15 years of software development projects.  I knew good architecture was crucial for complex projects. It might have been one of the most important things we did to make New Afternic a success in the beginning.

However, when I recently discovered Symfony I was thrilled.  Symfony is like a Cadillac Escalade, fully loaded, compared to my Yugo.  I had considered learning a new language (Ruby) just to get a good framework, but Symfony seemed to offer a framework similar to Ruby’s but using PHP.

After using it for a over a month now, I can say that Symfony really does include all the features I wanted and more.  It is well organized.  And it seems pretty stable.  However, if I started this project over from scratch, I’d strongly consider switching to Ruby for one reason alone: documentation.  The documentation is scattered in tutorials, APIs, YML file references, plugin references, Doctrine website APIs, Doctrine YML file references, etc.  And worst of all, none of it is complete.

Let me give a recent example.  Say you’re working on your schema and you’re defining a special column so you wonder what are the valid options for specifying a column?  I still don’t know where to find documentation that answers that straightforward question.

Its hard to complain about an otherwise fantastic framework that is free, but I hate to see such a brilliant project and so much hard work fail to get adopted faster due to a problem that is so much easier to fix than developing the framework in the first place.  Complete some documentation.  In my humble opinion as a newbie, documentation is by far its biggest weakness.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • Twitter

{ 4 comments… read them below or add one }

Jonathan H. Wage April 5, 2010 at 5:13 pm

I agree with you except for where you said, “is so much easier to fix than developing the framework in the first place”. I really disagree. Keeping the documentation up-to-date and complete is probably the hardest thing to do in an open source project. Especially to be the ones who are writing the software AND the documentation. I think in other projects/languages the documentation has much more contributors providing help. We don’t have so much right now and it is very difficult to keep things in sync as the projects move forward at a rapid pace.

If it were so easy, then someone would already be doing it. Especially when we don’t have anybody contributing. Maybe you can help?

Arturo April 6, 2010 at 11:49 am

The definitive guide to symfony was a great reference for sf1.0, but I think it won’t be updated for 1.3/1.4. Too bad indeed.

Lets see if we get a definitive guide to sf2.0 book.

BTW I love the framework too.

Roger Collins April 21, 2010 at 11:28 am

Jonathan,

Thank you for commenting. I see your point and can’t really disagree about how hard documentation is to create and maintain. My bad for down playing the effort.

I’d be glad to help with the documentation project. I’m a complete newbie when it comes to open source contributing though so I wouldn’t try to lead the effort.

Off the cuff, I’d recommend copying the process and tools that PHP is using. That doc is awesome for most pieces although I have noticed some extensions getting a little short changed on documentation even there – supporting your point about open source documentation in general.

Cheers,
Roger

Scott August 13, 2010 at 10:54 am

A consultant we had when we started sold us on symfony when it was in Version 1.0. The consultant went on to bigger and better things and i was left learning symfony from scratch.

I have a love hate relationship with it for sure. Some parts are great some parts just drive me nuts.

I’ve played with Cake PHP a little bit recently and love it. It’s not as robust as symfony but it’s just much easier to get from point A to B and done without having to have a PhD in computer science.

The one thing that i noticed is that Cake’s documention is in a WIKI style. So if they find something wrong with it they can CHANGE IT!

As Jonathan Says “Keeping the documentation up-to-date and complete is probably the hardest thing to do in an open source project”

I could be wrong but people find mistakes in the docs and then post the fixes for it in their own blogs which you may or may not find with your google search.

If the actual docs maybe were Wiki Style more developers would contribute to the Documentation.

Leave a Comment

Previous post:

Next post: