Symphony, Joomla and Drupal


Currently, we have 3 established systems that can be used to build very good websites.

These are Symphony, Joomla and Drupal.
Symphony is a framework that has scaffolding, ORM(Object Relational Mapper), command line builder tool and integrated unit testing. It allows rapid development and prototyping of php based websites. Symphony is an attractive option for a company that would like to offer professional development services to their clients. The problem with it is that it quickly gets very expensive. Because even the simple site ecommerce or forum site requires a lot of development.

Joomla consists of Joomla framework and Joomla CMS. Joomla CMS is built on top of Joomla framework and consists of Joomla Frontend and Administrator web applications. Joomla comes with several basic components out of the box, which can be used to create simple CMS websites. Joomla is a very popular CMS because it’s very easy to install components to the site that add complete functionality. For example, if you wanted to add an ecommerce site, all you have to do is install com_virtuemart. The site will not necessarily look pretty, but you will be able to sell products within a few hours. After some modification you can have a pretty nice looking ecommerce sites. This out of the box functionality comes at the expense of flexibility, control and ease of maintenance. These issues become a problem as your business grows and you need to implement processes to optimize your implementation process.

Drupal is a CMS that is much more flexible then joomla. Drupal modules are smaller and more granular. This allows the developers great flexibility but comes at the expense of steep learning curve and black box effect. One of the other issue, that makes it difficult to involve many developers on Drupal projects is the fact that Drupal stores information about it’s structure in the database. This becomes a problem in the following scenario: when 2 developers are working locally on a drupal project and one of them added a field to a CCK node, while the other create a CCK node, then these 2 database are out of sync. Synchronizing these databases is a major hurdle. The steep learning curve makes it difficult to introduce junior developers to a project, putting additional demand on Senior Drupal Developers, thereby increasing their cost.

Obviously, none of these options are perfect and there isn’t one system that will satisfy everyone, but I think that something in the middle would be very useful.

Look at the question and tell me what you think is in the “?“.

whatis.png

What would this system look like?

What would this system allow you to do?

What functionality would it have?

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts
Opening images in Preview from Mac OS X Command Line
Create beautiful source code output with vim2html

Write a Comment

Take a moment to comment and tell us what you think. Some basic HTML is allowed for formatting.




Reader Comments

I lost the comments for this blog post :(