We are often asked why we choose Drupal over Joomla/Mambo or the others around. Well when we started out looking at this we had actually built a system in XML/XSL that did a pretty nice job for what we need on the CMS end of things and were using ofbiz for the back-end transactional/ERP style stuff however we still did not have the full framework that we wanted.
Our background in Java and other enterprise technologies meant that we avoided looking at any php based systems for a long time and indeed we had made a decision that Liferay was the best option for us but had not started to implement it fully when I decided that I would have a look at the php based options. I was fully prepared to dismiss every php app on the basis that they would never have the level of robustness that we needed to do proper enterprise development but thought I could learn something about the rapid development techniques that we could use in Java. So I started looking around at the options and specifically at every application listed on http://www.opensourcecms.com/ (great site).
-
Drupal First look
I installed Drupal quite early in the process, the install was simple and it was up and running quickly and I immediately liked the taxonomy system, but gave up after a few hours thinking that it was OK but did not feel right to me
-
Convinced on php!
Very quickly I became convinced that I should be taking php more seriously, after I fell in love with dotproject as a project system and still to this day think its an excellent system, but it only covered a small aspect of what we need(albeit a very important part). Next I got into Sugarcrm and loved what that does, a great application for CRM, but weak in so many other areas we needed, like dotproject it does what it says on the tin. But these two apps convinced me that PHP was a genuine option.
-
Reviewing CMS/Portals Frameworks
Then I looked at WebGUI, JOOMLA, MAMBO and Typo3 pretty much simultaneously over a few weeks, all of which I though had fantastic strengths and features, however the one thing that I am passionate about is taxonomies and we have always believed that do to the level of large scale rapid development we love doing you have to have a decent taxonomy system and none of these had exactly what I was looking for.
-
Back to looking at Drupal
I decided to have another look at Drupal as I did like its taxonomy system and it was the one I have spend the least amount of time looking at because it did not feel natural to me when I initially installed it. So I spent some time reading the forums and documentation and properly making an effort to learn the Drupal way of doing things, which to me was originally the biggest obstacle. To this day Drupal still has aspects that don't feel natural to me, the security model is not one I would personally choose, but I to realised where the real power of Drupal lies i.e. in the community and the fantastic modules they create and support they give. Once I got the hang of choosing which modules work nicely together to give me what I wanted and where to get support, I feel completely in love with Drupal.
-
Getting the team on-board
Then came the hard part, I had to get the development team on board, now we are talking about Java developers who had been learning Liferay and knew Ofbiz and our own XSL based cms inside out. So it was no easy process to actually get them to see the benefits of having a php application that is a fantastic base to develop from however does not actually by itself excel in any of the areas we need. It was only after a couple of small intranet projects were completed that everyone actually came to love Drupal, it took away so many of the aspects of development that were mundane and monotonous leaving them to focus on the interesting more complex parts. They were happy to write modules to do stuff it did not do as they knew that actually they were better off staying within the framework for these sites and over time came to love Drupal and push it to its limits. We all accepted as this stage that it was not a perfect solution for some large scale situations however it would be a perfect interface and management system frontend, as time has passed there are less and less of the situations it cant handle.
-
Decision Time
So we reviewed all our choices and discussed at length the pro's and con's of all the different options and choose Drupal as the base from which we all wanted to work, a decisions we have never once regretted.
Primary reasons on which we based our decision to go with Drupal were:
- Taxonomy support
- Security Awareness
- Active Community
- Flexibility for UI development
- Easy to extend
- Comprehensiveness of available modules/extensions
My advice to anyone looking at making a similar decision that when you are looking at Drupal don't just look at the application in isolation, look at the vast array of modules, look at how active the community is, look at how reactive the security team are and realise that Drupal works best when your involved in the community.












Drupal + Ofbiz
Do you continue to use Ofbiz in the back? If so, I'd love to see a post about the Drupal-Ofbiz integration!
Joomla vs Drupal
Interesting comparison. I saw this comparison in the Joomla forum too
http://forum.joomla.org/viewtopic.php?f=48&p=1320010
Both CMS are good cms system I believe but as I see what Joomla lacks is better hierarchies structure, taxonomy and node system.
I agree
I agree. Drupal has many things than confirms developers expectations.
There are a lot of cases where Drupal is natural choice in real business.
But what do you think about PHP on Java frameworks? For example from caucho Quercus or ning.com
Can they combine a bests parts of two worlds?
Andrey P.
A great mix
PHP is still not as robust in areas as Java so mixing the two can give a great result, particularly in utilising areas such as JMX (which I love :-) however you need to be careful that you have the requisite skills in both before seriously committing to it. As usual its all fine until it goes down ;-)
I think that most of the time interaction via services is the best way to use php and java together to get the best mix on scale and speed of development. However you need to ensure that the java and php architects work together and ideally have one person who is agnostic about the implmentation issues and actually owns the service architecture.
Fits my own convictions for using Java + PHP together
My favorite current example is the Solr project and Drupal's ApacheSolr module. All that Java goodness + web protocol + PHP CMS = great search options for my websites.
-Robert Douglass
Solr is a great example
of how Drupal can play nicely with Java, too many purists around who miss great oppurtunities to mix technologies to best effect in this way.