Top 10 Favorite Drupal Modules

Derek Timmerman

Category: Development

11.14.2012

Here in the NJI Media development shop, we heart Drupal. Our experience has proven Drupal to be an exceptionally reliable and robust platform, which is both friendly to our client content needs and adaptable to our development requirements. In recognition of this, we’d like to share with top 10 favorite Drupal modules with you.

 

1. Views

Drupal 6, Drupal 7

What: The Views module generates dynamic listings of content (called views), which can be displayed as pages, blocks, or RSS feeds. When you create a view, you’re able to configure what types of content to retrieve, how much content to retrieve, whether to paginate the content, how the content is to be sorted, and much more.

Why: If your site has a blog section, news section, or any sort of recent posts section, then you’ll certainly benefit from Views. Views eliminates the need to write complex SQL or Drupal Entity queries. Furthermore, it’s exceptionally well maintained and is extremely reliable.

Where: When we built the latest version of Speaker.gov, we used Views to power the Latest News and Blog sections.

2. Nodeblock

Drupal 5, Drupal 6, Drupal 7

What: Nodeblock creates blocks that contain content from nodes. You choose what content types you want available as blocks, and when a node from one of these types is created, a new nodeblock will also be created.

Why: Although any block you create has a Body field by default, the Nodeblock module allows you to better separate content from structure. In addition, you can edit custom fields on nodeblock nodes, which can’t be done on non-nodeblock blocks.

Where: We found Nodeblocks to be very useful when we built the Its Time to Act microsite for Business Roundtable. Nodeblocks were implemented for content on the About and Share Our Effort sections.

3. Nodequeue

Drupal 5, Drupal 6, Drupal 7 (beta)

What: Nodequeue allows you to create and manage curated lists of content (called nodequeues), for use in conjunction with the Views module. When you connect a nodequeue with a view, the result is a dynamically generated listing of content that you have the ability to rearrange on the fly.

Why: Nodequeues are essential for any portions of your site which require you to curate what content should appear, along with the order that said content appears in. Nodequeues are perfect for featured content areas, such as featured post sections and slide decks.

Where: Nodequeues are an essential part of the Drupal site we created for the National Beer Wholesalers Association, particularly so on the 75th Anniversary Timeline that we recently developed.

4. Context

Drupal 6, Drupal 7 (beta)

What: Context enables developers to manage when and where theme elements such as blocks, block regions, and menus should appear. These useful configurations are called contexts. In each context, you manage the conditions of the context (the thing that triggers the context into happening) and the reactions of the context (the thing that happens when the condition is triggered).

Why: Context is superior to Drupal’s default block visibility settings for controlling whether a block should or shouldn’t appear in a given scenario. Instead of editing those visibility settings on a block-by-block basis, you can manage everything from one central location. You can use Context to show sidebar regions on certain URL paths, to display sub-menus on certain content types, and so on.

Where: When we were tasked with developing the Energy & Commerce Committee’s new website, we found Context to be very useful in managing the many blocks and block regions that the design called for. All of the site’s blocks are placed via context, such as the blocks that appear on the Hearings & Votes page.

5. Menu Attributes

Drupal 6 (beta), Drupal 7 (release candidate)

What: Menu Attributes allows you to configure HTML attributes on Drupal Menu items.

Why: Adding attributes to menu items can be useful for styling purposes (via class and ID attributes) and SEO purposes (e.g. rel=”nofollow” attributes).

Where: Menu Attributes are useful when you have a navigation menu that includes regular text links along with stylized button links. When we built FreedomProject.org, we relied on Menu Attributes to assist in theming the header and footer menu links.

6. Page Title

Drupal 6, Drupal 7

What: Page Title allows you to manipulate the values ofelements on a page-by-page basis.

Why: The ability to control page titles on a granular level is a boon for SEO optimization. Whenever you run into a scenario where the displayed title of a page (<h1>) doesn’t necessarily match up with the HTML title of a page (<title>), Page Title is there to help you out.

7. Views Bulk Operations

Drupal 6, Drupal 7

What: Views Bulk Operations is a toolkit for performing mass editing and maintenance operations on your site’s views. With VBO-enabled views, you can perform actions on retrieved nodes such as publishing them, unpublishing them, changing the values of designated fields, and so on.

Why: VBO takes the risk out of making mass edits. Although custom SQL queries are always an option, VBO is a good fit for most of the smaller tasks and actions you’ll need to perform on your content en masse.

8. Features

Drupal 6, Drupal 7

What: Features allows you to export content type, theme, and site configurations into self-contained packages called features. Each feature you create is a custom Drupal modules, that when enabled in a new environment, will instantly create all the Drupal settings contained in it. A feature might be a grouping of your site’s content types, a collection of views that make up your site’s blog section, or a collection of blocks to be used in a sidebar region.

Why: One complaint that non-Drupal developers levy against the Drupal platform is the occasional frustration that one might experience when deploying configurations and settings to a staging or production environment. By using the Features module, you no longer have to rely on database swapping or recreating settings by hand. Instead, you can configure your site as desired in a development environment, package all your configurations as features, and import those features in new environments as needed.

9. Devel

Drupal 6, Drupal 7

What: Devel is a module suite that gives Drupal developers access to debugging information, dummy content generation, and a collection of incredible helper functions such as dpm() – which pretty prints variables into the Drupal messages area – and ddebug_backtrace() – which prints a function call stack.

Why: Devel’s debug helper functions allow you to power through tricky theming situations without having to throw print_r() ‘s all over the place.

10. Pathauto

Drupal 6, Drupal 7

What: Pathauto allows you to create custom URL path alias structures for your content.

Why: Drupal’s default URL structure, which creates URLs that look like /node/12345, isn’t very user or SEO friendly. By enabling Pathauto, you can designate more appropriate URL structures to be created automatically, such as /name-of-content-type/title-of-node.

 

These are our top 10 favorite Drupal modules. If you think we left anything out or would like to share your own favorite Drupal modules, let’s keep the discussion going in the comments section or on Twitter (@njimedia).

And as always, if you’d like to chat about an upcoming design or development project, please don’t hesitate to drop us a line. We’d love to work with you.

fortune favors

the bold

We collaborate with tenacious organizations and ambitious people.