10 Essential Drupal modules
It has taken some time to find the Drupal modules that really work well for us. Drupal.org can be a little hard to navigate for newcomers, making it hard to decipher what’s really important. It would be great if Drupal would publish a most downloaded module list.
In that light, we thought we would post a list of the 10 Drupal modules we use on pretty much every project. These work best for our web clients and we think they are essential to any Drupal install. (NOTE: this refers to Drupal 6.x modules)
- Pathauto - Having custom URLs is essential to ease of use from the clients point of view. Even if it is arguable whether more descriptive URLs help with search engine ranking, the usability benefit of having custom URLs trumps all.
- WYSIWYG API – As coders, we would be more comfortable entering content with clean code. But for most clients this is unrealistic. TinyMCE has become the WYSIWYG editor of choice for us. Using the WYSIWYG API we can set up unique profiles for different user groups and have as much (or as little) functionality available as the job requires. The WYSIWYG API also supports a host of other editors including FCKEditor, jWYSIWYG, markItUp, NicEdit and Whizzywig.
- Scheduler - Scheduler is most useful on blogs or news oriented sites where users may be preparing stories weeks in advance. This adds a couple of fields to a node that specify the start and end dates. This module is dependent on the Drupal cron module running regularly so take that into account.
- IMCE - An image browser. This module allows the user to navigate through files on the server in specific directories configured by the administrator. This module is essential for use with WYSIWYG in order to add images easily to any content area. NOTE: for proper integration with TinyMCE you will need to use the IMCE Wysiwyg API Bridge.
- SMTP Authentication Support – This may not be required on every setup, but in our hosting environment the default PHP mail function is disabled. That means we need to use SMTP to send mail. The core Drupal install doesn’t support SMTP for sending mail, but with this module you will be able to enter a server address as well as authentication details if required.
- Administration Menu – This is a great one for Drupal newbies. When logged in as an administrator you will get a thin black menu at the top of your site. This allows you to navigate to any area of the site. This comes in especially handy in the early stages of developing a template when the menu system may not be built yet. NOTE: Take into account that the admin menu shifts your whole design down a couple pixels. We have found this can interfere with background images that are lined up with content. Add a slightly modified style on body.admin-menu to compensate.
- XML Sitemap – Provides a complete sitemap in the standardized XML format specific for consumption by search engines. Currently it can automatically send (with cron) to Google, Yahoo, Microsoft Live and Ask.com.
- Webform - This allows us to create forms with custom fields. We frequently find that clients want “just one more field” than the default Drupal contact form provides. This module is essential any time you are looking for feedback from the user. Form submission can be emailed to multiple addresses as well as stored in the database. You can even download an Excel document with the data.
- SpamSpan - This module provides email obfuscation. It is important to prevent email harvesting bots from grabbing emails from content on the site. We try to use contact forms for most emailing, but it is inevitable that a client will enter an email somewhere on the site.
- Views - It looks like at least a basic version of this module is going to be included in Drupal 7 core. Views allows you to display any collection of nodes in a variety of ways. It also provides a deep level of templating to customize specifically how different aspects of the view shows up.

March 27th, 2009 at 12:58 pm
CCK is missing…
March 27th, 2009 at 4:20 pm
Although we use CCK on 90% of sites I just didn’t include it in this list because I would consider it essential. Believe it or not we have done a couple sites that didn’t need it just because they were basic.
But I definitely agree it could have been on this list as well. I’ll most likely post a follow up article with those “almost” essential modules.
March 29th, 2009 at 6:44 am
hi, obviously it is not as important but it is very interesting:
http://drupal.org/project/alfresco
Regards,
March 29th, 2009 at 5:58 pm
check link SMTP Authentication Support