Skip to Navigation

10 Must Have Drupal Modules

Printer-friendly version

As a Web Developer here at Forum One, I've had the opportunity to work with a lot of modules in the Drupal Community. Some modules I've used are great and make working with Drupal a dream, others... not so much. I'd like to use this blog entry to focus on the must have modules I use on nearly all my Drupal projects. First off, you should know that I almost always start with Acquia's packaged distribution of Drupal called Acquia Drupal. There are plenty of useful modules in Acquia Drupal and I could write an entire blog entry praise those modules, but I'd like focus on my most used modules that aren't part of Acquia Drupal. So here, in alphabetical order, here are Norman's most-used Drupal modules:

Better Formats

I've always hated the fact that the default input format  was always set to Filtered HTML for all users, and changing the default input format to Full HTML would change it for all users. Allowing anonymous users to submit Full HTML content = BAD. The only solution, with Drupal core is to keep the input format set to Filtered HTML and change the input format to Full HTML before submitting your content. Better Formats fixes all that.  Better Formats is a module used to extend Drupal's core input format system. Better Formats is a great module because you can change the default input format per role for nodes, blocks, and comments. So administrators can have Full HTML by default and anonymous users can have Filtered HTML by default. Any Drupal site with untrusted users should have Better Formats installed.

Custom Breadcrumbs

I'm sure I'm not  the only person who hate's Drupal's breadcrumbs. Unless you stick every single node you create into the menu system, Drupal's default breadcrumbs are pretty useless. Enter Custom Breadcrumbs (6.x-2.0-beta2 to be specific). Custom Breadcrumbs let's you create your own breadcrumb paths for nodes, views, panels, taxonomy terms and even a specific path. The current release version of Custom Breadcrumbs is decent, but the beta version is definitely a must have for Drupals sites more than two levels deep.

ImageCache, Imagecache Actions, and ImageCache Profiles

Need an image to display in different sizes on different parts of your website but you don't want to upload multiple versions of the same image? The solution is the ImageCache module. ImageCache actually comes with Acquia Drupal, and by itself is pretty convenient, but when used with Imagecache Actions, it's nearly unstoppable. For those who aren't familiar with ImageCache, it's a module that allows you to setup presets for image processing (beit scaling,cropping, rotating, sharpening, or changing an image to gray scale). Used alone, it's pretty handy; you can create thumbnail versions of uploaded images and so forth. However, withImageCache and Imagecache Actions you have bonus features like adding a canvas background color, changing the opacity of your image, changing the file format, ovelaying other images, and adding rounded corners ( and that's just scratching the surface). The only disadvantage I can think of with using Imagecache Actions, is that many of the canvas features do not work with ImageMagick leaving you stuck with GD2. ImageCache Profiles is another handy ImageCache extension because it let's you use ImageCache on user profile images so you can actually have different sized avatars on profile pages and list pages. In my opinion, these three modules are a must have for any Drupal site.

Node Auto Term [NAT]

Taxonomy terms are great for categorizing nodes on your Drupal site. The disadvantage to Taxonomy terms is that unlike nodes, you can't attach CCK fields to them. Many of our clients want more than just a list of nodes that match a given taxonomy term. They want a fancy image to represent the category, a blurb about the category, and a pony. NAT is useful for doing that (sans the pony). With Node Auto Term, you can create a content type and configure it to create a taxonomy term each time a node of that type is created. The taxonomy term will be bound to that node, and your node can have your fancy image, blurb, etc and your taxonomy term can be used to categorize other nodes. Using views, you can interchangingly use either the node id or the term id to load information on the category itself or load nodes related to that category. This module is a must have for anyone who needs their taxonomy term pages to do more than list items that are related to that term.

Nodequeue

I'm sure we've all seen the "Promoted to front page" and "Sticky at top of lists" check boxes in a node's Publishing options. These features work great with simple clients who have simple needs. However, if you ever want to control the order of items featured on the homepage or in lists, then you're better off using  the Nodequeue module. Nodequeue is great for creating specilized lists to feature in various places of your site. You can have queues for nodes to feature to on the homepage, events to feature on the events page, events to feature on a category page, etc. You can make a node featured on one page and not featured on another. There is a moderate learning curve with this module, and a few quirks you'll discover (using the "Reverse in admin view" feature), but overall it's a solid and very useful module to have. The flexibility and control you have in this module is what makes it so much better than Drupal's default publishing options, and that's why it's a must-have module.

Panels

The Panels module is a hot topic here at Forum One. Either you love it or you hate it. I tend to fall into the group of developers who love Panels. What is Panels? It's a module that allows you create pages with custom layouts. You can override node pages, taxonomy term pages, other system pages or create your own pages. My favorite feature of panel pages is their ability to retain a context that you can pass to any block, view, or widget that you add to that panel page. The learning curve for Panels is pretty high, but once you really understand it, it's a very useful. Be warned, Panels is a very powerful tool, and in the wrong hands you could end up shooting yourself in the foot, but in the right hands it removes the need for a bunch of custom template files and/or regions. Panels is a must have if you have a good pair of steel toed boots and site that has many different layouts on different pages.

Quick Tabs

Okay, Quick Tabs isn't necessarily a must-have, but my experience with it was wonderful. It's not nearly as complicated as figuring out Drupal's menu tabs, and the key advantage of Quick Tabs, is the ability to hide tabs that have no content. I don't even want to talk about the preprocessor hackery I had to do to hide empty Drupal menu tabs. With Quick Tabs, hiding a tab is as easy as checking a box that says "Hide empty tabs." Quick Tabs is a must have if you plan on having tabbed content areas on your site and the default menu system just doesn't do it fo you.

Vertical Tabs

Vertical Tabs, like ImageCache, is part of Drupal 7 core. However it is available for Drupal 6.  I have have it on my most used  modules list because, well, it's so pretty.

I mean, look at it »

It really cleans up the submission form for nodes, blocks, and content types. Only content administrators will reap the benefits of this module, but it's aesthetically pleasing and functional. And that makes Vertical Tabs a must-have module in my book.

Thanks for reading.

 

 

 

Comments

What are thoughts on SEO

What are thoughts on SEO modules available for Drupal platform? Are there enough developments came across?

Drupal

Drupal hasn't been the best at in the past, but today it's quite SEO friendly. Here's a people search site with custom drupal seo additions. Good stuff.

Drupal makes everything look

Drupal makes everything look easy, it has the muscles but it's kinda hard to configure.

less crumby crumbs

thanks for the breadcrumbs recommendation, as a fellow hater, I'm glad to see some ability to parametrize breadcrumb trails. Its saving me a lot of time on a health insurance forum I'm trying to put together. One thing that really helped was the option to use php code snippets to form the breadcrumb titles and paths. And multiple language support is icing on the cake!

Vertical Tabs

Wow, never heard of the Vertical Tabs module. Gorgeous. Thanks!

Just have a look! Its informative

First i have to thanks for this post which will be so useful for me i have seen 10 Must have Drupal Modules here:
http://geshan.blogspot.com/2008/07/10-must-have-drupal-modules.html
With Regards
Sophie Johnson
datarecoverysoftware.com

Will check out NAT

Sounds very useful for the cases you described. Another similarly named one that I've gotten a lot of of value is Node Autotitles, which lets you build the title of a node from tokens, including other fields within it.

Its great for consistently formatting titles, for exapmle for Event nodes, you could put the date, location into the title by default. Or for user profiles, make the title match the author's name.

custom breadcrumb is not

custom breadcrumb is not working on "panel page".....can u tell me what can be the problem???

If you installed Custom

Norman Bucknor's picture

If you installed Custom Breadcrumbs 6.x2.0-beta, you should enable the "Custom Breadcrumbs for Panels" module (which depends on Panels, Chaos tools, Page manager, and Custom Breadcrumbs). Once the module is enabled, you can add custom breadcrumbs for Panel pages by going to "Site Building > Custom Breadcrumbs > Panels" in Drupal's administration menu.

Also, if your Panel page is a Node override, you'll need to add the "Node Content" to your panel in order to trigger the appropriate hooks.

Hope that helps,

Norman

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

Mollom CAPTCHA (play audio CAPTCHA)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.