Skip to main content
Drupal is a free and open source Content Management System (CMS) written in PHP with a wealth of features that helps developers, designers and websites administrators to make their life easier. Technically also tagged a Content Management Framework (CMF), Drupal is very popular, modular, flexible, customizable, user friendly and easy to learn but hard to master CMS. It helps you organize many types of content is a painless and easy way you always wanted.

1: What is Drupal?

Drupal now a very popular Content Management System (CMS), was originally written by Dries Buytaert in 2001 as a bulletin board system for his dorm. Now with massive support from a dynamic and every enthusiastic community after 7 years it is one of the most widespread Content Management System. More than 350,000 user accounts have been created on Drupal.org, and over 2000 people have signed up for developer accounts.

Drupal is praised by website administrators, designers and programmers for its solid base that allows modular development, easy extension and wide flexibility options. The separation of "core" and contributes/add-on modules makes Drupal a great CMS and also helps programmers to code better for Drupal. Currently at version 6.8, Drupal 5.x the previous version is also very popular due to reasons and parts of code for Drupal 7 is complete.

Photo by Matt Farina and picture of Dries Buytaert from http://www.buytaert.net

2: Why Drupal?

It's boasted that Drupal is modular, flexible, robust customizable and meets the need for any kind of website. But still there are other reasons to use Drupal, There are lots of free and open source Content Management Systems (CMS) available let's see some of the striking Drupal features:

Some great Drupal features;
  • Easy to install
  • Easy to learn and use (user friendly)
  • Separation of core and add-on makes website development clear and independent
  • Ability to run multiple Drupal sites with same code base
  • Out of the box flexibility lets you turn your Drupal installation to a blog, forum or any kind of website
  • Search Engine Friendly (SEF) out of the box
  • Easy to add features like search, user permissions, category/taxonomy and Really Simple Syndication (RSS) etc
  • A big community to support you
  • Many contributed modules that plug in effortlessly to add a feature you want
  • Effortless user and access control with roles and amazing user management
  • Many easily changeable themes for the look and feel you need for your website
  • A great software to design, code and work in

3: Drupal the four legged chair

Drupal basically stands on four main pillars. The concept that Drupal uses is simply extraordinary but the vocabulary used confuses many. A Drupal admin telling "Add a node of page content type and in menu section select primary menu then give the link home text" - might confuse many non Drupal users.

Drupal being automated and intuitive also helps people starting Drupal like the theme in single folder helps a lot just upload the theme to themes folder and go to the administration to enable and activate it. Here now let's will see how Drupal is composed of from a surface level.
  1. Modules
  2. Nodes
  3. Blocks
  4. Themes

Drupal's Basic Components
  1. Modules are the components of Drupal, that provide certain functionality or feature to the system. A user module can manage users and carry out the Create Read Update Delete (CRUD) operation of users. Drupal modules can provide many functionality add-ons like blog, forum, RSS, social book-marking to point some. From Drupal version 5.x and above the concept of separating Drupal core modules and contributed/add-on modules has been practiced which has led to greater clarity and independence. It also allows multiple sites to be hosted with the same code base/core that helps a lot when you upgrade Drupal to a newer version. Modules simply put is a piece of code packaged to extend the functionality of the website when implemented.

  2. Nodes are the building blocks of Drupal content, rendered by the system. It can also be termed an abstract data type as almost everything is a node in Drupal. All the content you add in Drupal are nodes be it blog, forum post, page, story, poll or others like your own content type called "news". Comments are not nodes on the other hand. As everything is a node it helps in central control and keep track of the website and its contents. The use of the effective data structure has led to ease of coding and adding data that affects multiple aspects. Like you can add a page which has a menu item and also edit its URL/path from the same form with just one submit. This has made Drupal really easy to use.

  3. Blocks are the placeholders to place content in them. Blocks will mainly be of two sorts, one generated by modules like the user login block and other custom user made blocks like a block where you want to place a picture with the img tag and some text. A typical block can hold anything like it can be a block of 5 latest blogs you posted or even a block that shows the tag cloud. Menus can also be considered special kinds of blocks that hold links to nodes or other URLs. Blocks are placed in block regions and sorted as per weight assigned to them. A block with weight 2 will appear below a block with weight 1 on the same block region. Regions on the other hand, depend on the currently active theme. Block architecture to present data in Drupal has greatly effected its flexibility and made it effortless to manage sites for the website administrators.

  4. Themes dictate the look and feel of the website. Themes have customizable block regions which show blocks in them and a content area to show the content of that particular URL linked to a node or any other constructed content or view. As themes keep the business and presentation logic separate, regardless of the content you can change theme in a painless manner. There can be many enabled themes but at a time only one active theme. It is a package of HTML/PHP templates, CSS files, images and may be javascript files also.

4: Digging deeper into Drupal

Drupal always has something new to offer. If you want to start off Drupal right away I suggest you Drupal How to for Beginners (Drupal 5 based), it was written by us at Young Innovations Pvt. Limited. Surprisingly got reviewed by CMSWire. Mr. John Conroy called it "Goldilocks Teaches Drupal".

You can also try Getting Started at Drupal.org, see the wide range of Drupal themes and modules at Drupal.org. You will also want to learn more things like 10 must have Drupal Modules, 5 Drupal Themes to Use, Dozen websites a Drupal user should not miss and more is available at my blog in the drupal category.

If you want to know what modules can be used for what purpose with user reviews see DrupalModules.com. In case you want to see how the Drupal themes look in a live site then check out Theme Garden. After taking a good tour of what Drupal is and how it functions, hope you do register at Drupal.org and be a part of one of the most active and vibrant online community.

To Sum Up

You don't know it until you try it. If you have not tried Drupal till now try it once. There are reasons it is being used by giants like NASA, United Nations for http://www.standagainstpoverty.org/ to name some and all the sites can be viewed at Dries's blog. Now with Acquia in the scene, Drupal has become more reliable and commercially supported by the man himself Dries Buytaert.

Lastly I believe Drupal is surely going to change the world with around 500 Drupal sites deployed everyday. Yes Drupal.org is being redesigned, have a look on flickr, how it would look after the redesign.

Wrote it for some other purpose but was not utilized there so, here it is in my blog :-). Happy New Year 2009 To everyone.

Comments