Drupal: Learn A Little & Why to Use Drupal

A Little About Drupal

Drupal is a highly scalable CMS (content management system) that can be used to create many types of websites. These include blogs, e-commerce, community websites, educational websites with login systems, media libraries and dynamic CMS's. Developers are continually developing modules that can help you achieve your goal. All code that is created by developers are completely free and available through drupal.org. Any functionality, that isn't available can be created using Drupal's API.

Basically, you can create any sort of website by simply downloading the Drupal core files, some extra modules to fit your needs and configure them.

Drupal has been used in small scale projects to the largest of scales. Check out the White House website; if think Drupal's good enough to showcase themselves, it's got to be good.
There are over 500,00 sites using Drupal, that can be tracked. That's over half a million websites.

Drupal is built with PHP and good ol' HTML. It has other stuff that it uses such as JavaScript (with many compatible frameworks, including JQuery), multi-lingual support, it's completely FREE and open-source, over 8000 modules, free support, over a 1000 free themes and a highly active community.

As of now, Drupal 6 is the co

The message that is coming with Drupal is, you take a lot and give a little back; whether that be through helping other users, donating $$$, creating themes, modules or even bug fixing.

Why I Use It

Tailored Websites

In the past, when I specked out requirements for clients, I would then proceed to create designs, draw up the database schema, setup the server and then proceed to build this tailored framework. I built functions to clean strings, send mail, handle redirects, lookups, etc all from scratch. I was creating code that was clean, secure and best of all, easily maintainable by myself.

Now. Think about this scenario.

I make 10 sites of the course of a year. Each one is tailored specifically to their market. So, say a e-commerce, blog, micro site, assets library and a full blown, global company site with multi-lingual support.
The sites get built, tested and signed off.

Another 6 months later, one of my clients asks me to add a new newsletter feature. The problem I foresee, is that my system is tailored so specifically, it would require me 'hack' the newsletter code into the backend and frontend. So creating the newsletter, the form to do that, validation of new elements, saving, database schema update - all of these things and more. Whilst doing this update, it takes me time to re-speck the site, apply changes and all this whilst I'm making my code insecure and messy. I obviously couldn't remake the site, as financially - it's stupid.

Why Drupal?

Think of the same scenario as above. 6 sites, blah, blah, blah. However this time because I have used a consistent (well tested) Drupal framework, I know the underlying code is the same through each site. This means, I already know the setup of the system and can use a common API, Drupal's development API in particular. So instead of programming this new configuration for the newsletter, I simply download a module and install it. Yep, that's it. I install it and configure it to my needs. The module not only offers this code base but fits seamlessly with the backend, database and frontend. I don't have to do a single thing apart from maybe fit the theme to my own.

The bottom-line is; I can get a websites functionality up in a fraction of the time of developing a custom made website. I simply install this 'Drupal Core' and download the extra functionality. Developers out there, like myself can further develop existing or new modules. When it comes to maintenance, I can search Drupal for existing solutions. When something is not available, I use a well known API to develop my custom module. Drupal's core, modules and themes are tested by a group of security experts, as well volunteers. I don't think there is a more active community for an open-source project, such as Drupal.

This means I am able to get help with certain aspects of Drupal at any time. It also means I don't have to worry about security and common functionality as much because I have a huge community of developers behind me.

Drupal is great. See here to get started with Drupal.

Tags: