While useful to those new to Drupal, they all seem to focus on the modules that all Drupal developers know about, or should know about at least. I use modules like Admin Menu, Views, CCK and the Date modules as often as I breathe air, so I thought I’d go through my module repository and find those really useful, yet relatively unknown modules that can beef up a Drupal implementation, and solve some tricky problems without too much hassle.
No ad to show here.
I’ve looked up all of these modules on Drupal’s excellent Project Usage Overview page, an excellent source of reference when looking for new modules, and have listed their rating in terms of usage.
Although not completely accurate, the list does provide some interesting insight into how popular a module is. While Matt Petrowsky did an excellent job of going through the top fifty in his screencast, I wanted to find the outriders; those modules that didn’t make it into the list, but really deserve to.
The Countdown:
So here goes, starting with number five.
5. Quick Tabs (79)
This is an outstanding module for creating quick and easy tabbed blocks of content. It has wonderful integration with not just normal nodes of content, but also the output of Views, any pre-set blocks, or even another Quick Tabs block — allowing for some interesting sub-navigation possibilities.
Installation is wonderfully easy and there’s no real configuration to do. Simply choose the style of the tabs that you want (or set them to none if you want to theme your own), pick your content, and you’re on your way.
The only reason that this module slips to number five is that it doesn’t play terribly nicely with Internet Explorer 6. I’ve quite often had to drop an implementation of Quick Tabs if the client is insistent on keeping IE6 in the loop.
A quick gotcha: When using this module with a raw installation of the Zen theme, there’s a conflict between the zen.css main style sheet name (the main style sheet of the theme), and the style sheet that controls the Zen tab style, causing none of the tab styling to display. This is really easy to fix. Simply rename you main style-sheet file to something else (like main.css) and the problem goes away. You probably should be doing that as a matter of course anyway when using this theme.
4. Webform Block (154)
How this module is not more widely-used is beyond me. It is so useful. The Webform Module allows you to create your own forms, in any configuration you like to store information gathered from your users. This information is then collected in its own database table and can be configured to be displayed to, or even be downloaded by, a user with the correct permissions. In addition, multiple webforms can be configured to pass information between them. Ideal for contact forms, surveys and feedback forms.
Webform Block adds a small checkbox to the main configuration page of your webform (under the “Advanced” section) that allows you to display the form you’re building in a block. This becomes invaluable for tucking your feedback or contact forms neatly into the side column of a feature-rich page. It is a real time and space saver.
It doesn’t make the top three for me because there’s a small implementation problem where sometimes the flow of the user’s experience can be thrown out on occasion when they’re directed onto the actual webform node, but this can be easily solved by setting up a custom “Thank you” page, and redirecting the successful form there.
3. Menu Breadcrumb (120)
After a couple of teething problems a few months ago, this module has really come into its own and is rapidly becoming part of my standard installation kit for new Drupal sites.
It works with the primary navigation menu to display the correct breadcrumbs (and their links) to the user on the correct pages, making the breadcrumb feature of a Drupal site an actual and useful navigation tool. Up until this point, the standard Drupal breadcrumb wouldn’t really take the site’s structure into account terribly well. However, by combining it with the structure and hierarchy of the primary menu, Menu Breadcrumb goes a long way to providing a much better user experience.
The smallest of hints with Menu Breadcrumb: if you’re using Views to generate pages, then you have to use the in-built configuration process to generate a menu item (under the “Page Settings” section on the Page View configuration screen), otherwise Menu Breadcrumb will not recognise the page. Otherwise this is an outstanding module.
2. Image Cache Actions (109)
Image Cache Actions is a wonderful add-on for the extremely useful Image Cache Module. Image Cache provides you with the ability to crop and resize images on the fly inside Drupal. This is very useful for users who want to manage their own content, especially story nodes with attached images or photo galleries. Image Cache allows the content administrator to upload almost any size or dimensioned image file and the system will process that image, creating duplicates for display as thumbnails or main images dependent on the user’s requirements.
Image Cache Actions takes this process one step further by expanding on the range of options that you have when working with an image. Instead of simply cropping an image to a specific size, you can crop and resize, add rounded corners, and extend the canvas of the picture to display as a backdrop or frame and overlay another image as a watermark – all in one single action. The number of options available are too numerous to go into here (I recommend you install the module and try it out for yourself), and it’s possibly this level of configuration complexity that keeps it off the top spot.
1. Nice Menus (67)
It was a tough fight for number one in this list, and I think it’s really almost too close to call. However, the sheer simplicity of this module versus the kind of power it wields is what keeps it on the top spot for me.
Nice Menus takes any menu built within the Drupal CMS and turns it into a beautifully programmed fly-out menu configuration. Any hierarchy set up within the menu structure in Drupal’s native menu management interface is automatically replicated in a multilevel fly-out or drop-down structure.
Setup and configuration is very easy. Simply plug the module in, let it know how many menu blocks you will want (yes, you can have up to 99 separate menu blocks), and then configure your menu block on the block management page to pick up the menu you want to display in that block. You can also choose what style of menu you’re after, whether it’s going to drop down from the top or fly out from the left or right.
Configuration of the theme of the menu is not too hard for anybody relatively proficient in CSS as it’s all based on clearly labelled, multi-level unordered lists. The built-in style is pretty enough to use in a simple layout should you not feel so comfortable with digging into the CSS yourself — although there is a vibrant community surrounding CSS support for this module. This is probably an area where it would be good to see advancement: the addition of a number of pre-built theme templates to choose from to display the menu.
This is an outstanding module that will save you massive development time — it is possible to do all it does with the basic menu system, some CSS and a good dollop of JavaScript, but why reinvent the wheel? At the same time, it frees up essential real estate for page content. Being in a block, it also allows for very easy placement and manipulation, especially when it comes to SEO and accessibility techniques.
If you’ve never used Nice Menus, I urge you to get hold of it as soon as you can. It will change the way you create sites in Drupal.
That’s a wrap…
So that’s my roundup of some of the most useful, under-the-radar Drupal modules that I use almost every day in almost every project.
- Nice Menus can be found here.
- Image Cache Actions can be found here.
- Menu Breadcrumb can be found here.
- Webform Block can be found here.
- Quick Tabs can be found here.
This collection should help you out in your next Drupal implementation. If there are any others you feel should be represented here, please drop a comment below. Remember, they should be well outside the top fifty on Drupal’s Project Usage page.
One last point…
Sometimes it’s worthwhile to wait until the end of the credits to see the best bit of the movie.
There’s a module that I haven’t mentioned above as it doesn’t appear in Drupal’s Project list at all. I came across this just the other day and it’s going to make life a lot easier for me and hopefully for you as well.
For all those developers out there that dropped formal support for Internet Explorer 6 since the end of 2009, this module is for you. IE6Update automatically detects whether a user is coming to your site using that nasty out-of-date browser, and adds a discreet yellow bar at the top of the browser window prompting an update.
The best thing about this display is that it looks very similar to the “plug-in missing” announcement bar that Internet Explorer uses. It is therefore highly recognisable, familiar to the user, and discreet enough not to overwhelm your site. No more hand-coded fail safes and browser aware announcements. Simply plug and play!
And that really is the end. Now go play!