I've spent the last number of years developing my own CMS (content management system) as well as using many others. Several years ago I looked at Drupal for about 10 mins then moved on. I didn't give it a respectful look, or the time it would take to give it a fair review. The only other decent CMS I had worked with was Joomla. While its pretty good it really did many things back*sswards from what I prefer. Ive been thrown into many a project using it and continue to pound my head into a brick wall when ever I have to do something out of the ordinary with it. So I usually fall back to my own trusty CMS to do all the work I do for client projects. This was generally the two choices I have made.
Fast forward to today or I should say over the last month or so. I had been called into help a company update their website that was done using Drupal. The original programmer didn't have the time to devote to it and I gave the company a nice deal, since I would be learning Drupal on the fly. Most CMS's are very similar in nature, they provide a nice easy interface for a user to enter content to show up on their website.
This was my chance to give Drupal a real try. I was very skeptical at first thinking I was going to have to convert the whole project over to my CMS. I started reading and I realized that I had not given it a chance when I first had looked.
As a programmer, the first thing you run into is how easily you can customize a program to meet your clients needs. In my research of Drupal I found it has a VERY extensive API. It's not just a CMS, its more of a CMS programming framework. Once you get your head wrapped around that issue is when you realize the true power.
Drupal lets you do code add on for almost anything. Need to add items to the main content, add it. Need to change how a article behaves, you can change it. Need to over-ride a theme for a specific page, you can over ride it. Almost anything can be added in to change how things work within drupal.
Drupal has a very cool module system. With Drupal contributed modules you can easily add to its functionality, a module search will reveal 100s of different varying modules and you can create your own custom modules to override items to add to it.
Drupal is community driven! I should say Drupal IS COMMUNITY! I have had some great help along the way from the community. They have internal forums, IRC channels, Twitter groups, screen casts, books. A huge amount of information can be found to help you. I have been very impressed with the community as a whole. 100s of people devote their time and are willing to help where they can.
There is a bit of a learning curve. That is unless you have someone to train you. I didn't have that option so was able to learn it fairly quickly since I had a project to work on. It was fairly slow start, but after I got the concepts down I have found I am doing even more complex things with it.
Again. a pleasant surprise. I am certain I will be blogging even more about it in the future.