One of the great things about Drupal is its huge community of developers. Drupal.org hosts many, many modules to extend and enhance your website or application. Most people know about popular modules such as CCK, Views2, Panels, and XML Sitemap. But there are some really great modules that fly under the radar as well.
1. Secure Site
When developing a website, you occasionally show the client progress. Depending on your setup, you use either an internal development address, or a subdomain like development.company.com to make it accessible outside for clients. What if you want to hide it away from prying eyes or search engines? There have been times when curious people have stumbled across sites I’ve worked on by trying subdomains, but this little module will put a stop to that. Secure Site uses HTTP authentication and prompts the user for a username and password before proceeding. It can also be used to secure RSS feeds.
2. IE6 Update
There is a huge push in the design community to wipe IE6 off the face of the earth. While most believe they should not worry about IE6 compatibility, simply redirect them to Firefox, or block them from viewing the site entirely, this module offers a more reasonable solution. When enabled, anyone viewing in IE6 will have a status bar update across the top of the browser that politely says that they should consider upgrading their browser.
Masquerade lets you quickly switch between user accounts by entering their name without needing to know their password. It’s very helpful for testing the functionality of modules as different users and roles without using ‘test’ accounts. It’s also helpful to see what the user is seeing when they report issues with your site.
If you have a site with lots of useful content, AddThis adds a button to the bottom of a node. When you hover on it, it will pop up with options to share the content to popular sites like Digg, Technorati, Fark, Twitter, or direct email to a friend.
5. HTML Mail
By default, any email sent out of the Drupal application is plain text. As of Drupal 6, there is no setting to change this. If you ever tried sending an HTML email with Drupal, then you know that it would effectively kill any style you tried to add. HTML Mail will change the outgoing header types to text/html, and provide you with htmlmail.tpl.php so you can pretty up and personalize messages from your system.
Have you ever had a splash page or path in your website that isn’t anything like your site theme? ThemeKey will let you load a different theme for pages or paths.
7. Username AJAX Check
Ever get tired of registering for a site only to find out the username you want is already taken? Username AJAX Check is simple: as you type in a name when registering, it will check to see if that name is available before submitting the form.
8. Views Group By
Views 2 is a fantastic module, however, there are some things it can’t do such as grouping using SQL on a field and using COUNT(). Suppose you had a custom view that showed how many nodes you had of each type or how many users there are of a particular role. This module will provide that functionality.
This nifty module lets you send mail out through an SMTP server instead of using PHP to send mail. It works with SSL and services like Gmail. It’s great when used in conjunction with HTML Mail and other modules like Simplenews if you run newsletters on your Drupal website.
10. Job Queue
Job Queue provides functionality to queue up your cron jobs so they are executed in chunks instead of all at once, lessening workload on the server. If you are experiencing PHP timeouts when cron runs, or if you are having issues using Views Bulk Operations, give Job Queue a try.
Multiple Node Menu is a newly released and nifty module for working with multiple menu links. Please note that this this module is still experimental, so use it at your own risk.