Exploring Drupal 6

Written by: kris in Web Technology

Drupal is a free and open-source content management system (CMS) written in PHP.  It is used as a back-end system for many different types of websites, ranging from personal blogs to large corporate and political hubs.  Drupal was designed to allow custom features and behaviors to be added by third parties, thus often finding itself referred to as a content management framework.

Drupal is currently used by countless sites around the web, many notable examples being listed on Dries Buytaert’s website (he is the original created and project lead of Drupal).  Examples among this list are:

  • The Government of France
  • The Emmys
  • NASA
  • The Green Party of Canada
  • The National Hockey League (NHL)
  • Metallica
  • Disney
  • The Linux Foundation

Installing Drupal

Installing Drupal is very simple: all you have to do is unzip the archive and run index.php to go through the wizard.  The only downside we could see was that you have to rename a config file before finishing the wizard, but this is documented in the very brief ‘readme.’   Upon completion, the installer will let you know if anything went wrong (typically you will see something about your config file being unprotected, which translates to “change the permissions”).

Drupal vs. WordPress (Comparison)

  • Both have a very simple installation, however Drupal requires that you rename your config file prior to install.
  • Out of the box, both are great for blogging but only Drupal is immediately a great, full CMS.
  • Both have a large number of free extensions (plugins/modules) available from their respective sites.
  • Both have a large number of free themes available from their respective sites.
  • Drupal natively supports breadcrumbs (though some themes don’t use them) while WordPress requires a plugin for this.
  • WordPress has a very attractive and intuitive administration section.  While Drupal’s administration section is initially very intimidating and seems congested (though this is being looked at for Drupal 7).
  • Drupal allows you to create user roles and assign permissions in a granular fashion.  Basically, it’s a huge list of possible actions per module with check boxes that determine whether or not a user with a certain role can perform a given action.  WordPress has stock user roles which can not be altered.
  • In Drupal it is vey simple to add content and content-type presets.  While it is very simple to add content in WordPress, creating content templates is a little less intuitive.
  • The back-end on WordPress looks the same regardless of your current theme, while Drupal can have separate themes for the back-end and front-end or use the same for both.
  • Drupal comes with an extensive list of performance enhancing options such as aggressive caching, page compression, and css/js minification.  WordPress performance enhancers are downloadable but do not come standard with WordPress.

Conclusion
Comparing Drupal and WordPress is akin to comparing apples to oranges.  Where one is better suited for one project, the other beats it on another.  While Drupal is fully capable of powering a full-featured blog, WordPress is preferred due to its intuitiveness and the speed at which you can get your blog up and running.  However, when it comes to needing a full CMS package, Drupal easily impresses over WordPress, even if it does take a little getting used to.

What does Drupal Have to Offer?

  • Great modules such as :

Pathauto

  • Automatically generates readable URLs upon content submission.  This module is based on Path, which comes stock with Drupal and does essentially the same thing only you have enter the desired URL manually.
  • Example: ../?node=9/asd  turns into ../my-post

 
Views

  • Provides a flexible method for designers to control how lists and tables of content are presented.  This tool is essentially a smart query builder and can be used to generate reports, create summaries, and display collections of images and other content.

Content Construction Kit (CCK)

  • An API to create and manage fields for nodes and users.

Ad GeoIP

  • Advertising module that performs an IP lookup to determine the country and city of origin for visitors and allows you to specify different ad campaigns depending on locale.  This is especially helpful for avoiding content that could possibly be interpreted as offensive to a specifc region.
  • Performance Enhancers

Page Caching

  • Has 3 modes: Disabled, Normal, and Aggressive.  ‘Normal’ is typically the best to use since there are no side effects while ‘Aggressive’ may result in unwanted side effects.
  • Minimum Cache Lifetime can be set to anything from 0 minutes to 1 day.
  • Page Compression can be enabled to speed up downloads and save bandwidth (however, this option should be disabled if the server already does this).

Block Caching

  • Prevents blocks from being reconstructed on every page load.

Bandwidth Optimization

  • CSS and/or JavaScript minification can be enabled, however it is recommended that this not be enabled unless in a production environment since it will interfere with development.

Cache Data can be cleared with one button.

  • Open Source Development Community
  • Drupal has a massive following of developers and contributors (500,000 registered accounts and over 2000 people signed up for developer accounts as of April ’09).
  • http://groups.drupal.com lists a large number of Drupal user groups.

For More Info Please Consult the Slideshow

Sources:

http://www.drupal.org
http://www.wordpress.org
http://www.wikipedia.com/wiki/Drupal

Comments are closed.