“What is Drupal?”, for newbies

I often come across this question from my friends and peers and most of the time I deflect it by saying “it lets you create your website easily, why don’t you look up on Wikipedia?”. Few days ago, one of my friends pointed me that most of the articles start with “Drupal is a Content Management System(CMS) …” which becomes pretty much confusing when one has no idea about what a CMS is. In this post, I have tried to explain what a CMS is and why we need it and how Drupal stands out among various other available CMSs.

Let us say you need to create a webpage for your website. Ideally, it would mean you create HTML content that will be delivered to someone who requests it through their web browser. Eventually you grow big and decide to add 100 more pages to your website and therefore create 100 more HTML pages. But then you realize that there is a lot of duplicate content. The footer which contains the copyright information is essentially the same on all pages, therefore if you ever need to edit it then it would mean to edit these 101 pages. This will be a lot of redundant work.

The main problem with the HTML pages is that they are static, they can not be changed based on what user requests. Thats why we need to have two different pages, even if they are almost similar and just differ by a single line. But then we also need to send the HTML content to the web browsers. That is where scripting languages such as PHP, ASP, JSP come as a savior. These languages are capable of creating dynamic content. The data is usually stored in the database and whenever a request comes for a page, HTML content will be created from this data on-the-fly and will be sent back to the requesting user. Now, you just need to store that copyright information just once, hence changing it becomes much easier.

Now, you also want to control which users have permission to access certain portion of the website and you create a login page for that part of the website, store cookies and write other code to maintain the session for the user. You might also want to publish a webpage on the fly, i.e.  save content to the database right from the user browser. You need some kind of access control mechanism and believe me it will be a hell lot of work to do.

That is where web-based Content Management System come into picture. They take out all the programming part from the publishing part of your website. You just need to write the content that has to be published on your website, make some settings on how it will be displayed, whether anyone or only authenticated users can see that content and you are done (of course, this is overly simplified but believe me once you know this everything will look so obvious to you).

With a CMS, one can easily create a website which :

  1. allows large number of people to contribute and share data.
  2. easily manages user access control lists.
  3. have reduced duplicate content.

Drupal is one of the several available CMS is the market which is written in PHP and uses MySQL or PostgreSQL as database to store the website content. Drupal is released under GNU General Public License.

What can you achieve with Drupal?

You can easily create and manage,

  • personal homepage
  • company website
  • blog
  • shopping websites (just like Ebay or Amazon)
  • Social networking sites like Twitter or Facebook

With Drupal, you can create any kind of website, Imagination is the limit. Just FYI, White House uses Drupal to manage its official website: whitehouse.gov

As with every other product, there are several other alternatives to Drupal such as Joomla, TYPO3, Nucleus, WordPress, etc. You can find the whole list of available CMS here: List of Content Management Systems. But what makes Drupal stand out is :

  1. its ease of use
  2. a large community of developers which keeps everything secure and up to date.
  3. a large pool of modules and themes. A module in Drupal lets you do things which aren’t supported by default in Drupal.

Here is a small 1 minute video on “What is Drupal”, this video has already won six Telly awards:

Drupal Website Hosting

There are a lot of web hosting providers in the market and I know you will research well before buying anything. Most of them provide a one-click Drupal installation which saves you a lot of trouble while installing Drupal. I recommend you to look for such a web host, well all is up to you anyway.

You are now ready to eat up the Wikipedia article on Drupal. You can visit official Drupal website to look for great tutorials and downloads. Here are a few important links:

Official Drupal website: http://drupal.org
Modules Resource: http://drupal.org/project/modules
Themes Resource: http://drupal.org/project/themes
Wikipedia article: http://en.wikipedia.org/wiki/Drupal

Do not forget to vote for this post on DZone or Digg if you liked it, or you can leave a comment or two.

3 thoughts on ““What is Drupal?”, for newbies

  1. Pingback: Webmaster Crap » Blog Archive » “What is Drupal?”, for newbies | Public Mind

Leave a Reply