Digett's Favorite Drupal 7 Contrib Modules

January 4, 2012
Drupal Vase by Valarie Geckler

We've been using Drupal 7 for all new sites for the past few months now, so we’ve put together a base site that we mirror to begin development on each new site. These are the contrib modules that we use on our base site.  The modules in the Foundational and Everysite lists are always enabled by default.

Foundational Modules

The modules in this list are ones that we consider foundational. That means that they are either helper modules that are dependencies for other modules or we consider them indispensable for any good Drupal site to run well. I’m not going to explain these because they are so well know and/or self- explanatory. If you have questions feel free to leave them in the comments and I will do my best to answer.

Everysite Modules

These are the modules that we install on every site but are not foundational to the way Drupal should work. Our preferences will show through here more as there are other similar modules that you may substitute for some of these.

  • Administration menu - Although not perfect we prefer this to Drupal's default toolbar simply for the dropdowns and the ease of flushing caches. Try it if you haven't.
  • Custom Contextual Links - We use this module to add client interface into the contextual links on nodes and blocks. Then clients don't need to be overwhelmed with the admin menu toolbar.
  • Chrome Frame - After we ended out support of IE6 compatibility this module became necessary to encourage IE users to upgrade to IE9 or install Chrome Frame.
  • Google Analytics - The role options make it worth using this module over simply adding GA code to the template.
  • Media - Media has replaced IMCE and all other image modules for us in Drupal 7.
  • Menu block - Critical for secondary and tertiary menus in the sidebar.
  • Meta tags quick - Since the Meta tags module is still in alpha we started using this one and "it just works." We may go back to Meta tags once it's stable but that remains to be seen.
  • Mollom - Just use it. It's the best and free for small clients.
  • Nice Menus - Provides more flexibility in dropdown menus than the default Drupal menus. I don't necessarily like the default CSS file, but we made our own that makes more sense for our designs.
  • Page Title - Necessary SEO module.
  • Redirect - Might not want to enable this until the site is production ready or you will end up with a bunch of unnecessary 301 redirects, but it's critical for a production site.
  • Search 404 - Brilliant module that performs a search based on the URL that returned the 404. The search engines still get the 404 returned so there is no SEO impact, but the user gets an intelligent response instead of a generic "page cannot be found."
  • Webform - We use this for our contact forms and to integrate lead capture forms with third parties.
  • Weight - An amazing module that integrates with views and provides easy sorting for clients on content like homepage rotators, etc.
  • XML sitemap - Self-explanatory SEO module.

Optional but Likely Modules

  • Display suite - Useful for any custom content displays. It can almost replace the need for template overrides.
  • Field collection - Check out our previous post on Field modules.
  • Field group - Check out our previous post on Field modules.
  • Link - This is useful for a content type that contains a link elsewhere.
  • Search configuration - We often create content types that we use for design, such at a "homepage rotator" content type. We don't want the site search to include that type of content in the search, and this module gives us the ability to exclude certain content types (among other things).
  • String Overrides - Powerful module that uses the translation function to replace a string in Drupal with the string of your choice.
  • Views Slideshow - It's rare that we design a site that doesn't have some kind of rotating promo or slider content. This powerful views module based on the jQuery cycle plug-in can reproduce nearly any slideshow/slider effect you can imagine.
  • Workbench - We use this to help site content managers keep track of the content they've created and manage moderation. There is occasionally a need for some of the access and moderation add-on modules also.

Development Modules

Check out these modules. They sure can make development and deployment much easier and more consistent.

Preferred Themes

We generally build Drupal 7 sites using one of these two themes as a starting point. The decision between the two come down to the question, "Does this site need to be mobile friendly or is it purely a desktop site?"

If you have modules that you can't live without, please share in the comments.  Or if you also love one of the modules above cast your vote in the comments and let others know why.

Image: "Drupal Vase" painted and photographed by Valarie Geckler

Comments

Why do you consider

Why do you consider jquery_update.module a foundational module?

I've found no need for it on any D7 sites. Matter of fact, in some instances with some other modules, I've found it troublesome.

@questioner: Good question.

@questioner: Good question. I consider jQuery Update foundational because we use jQuery for some of our UI design magic and some jQuery UI plugins are not compatible with older versions of jQuery and jQuery UI. While a case could be made that this module isn't necessary at this time, I believe it will eventually become necessary as jQuery continues to progress and Drupal 7 is stuck with an old version in core. So for updatability we prefer to get on this path now. Also, I've personally never found it troublesome on any of our sites, at least not in D7 (D6 was a different story).

@questioner: Also... we love

@questioner: Also... we love the option in the jQuery update module to load from the Google CDN instead of locally. Especially if you are using your jQuery for front-end design elements. The CDN can result in faster load times for visitors.

The optional but likely

The optional but likely modules are stellar! Those field modules just totally opened up a new world to me :)

The most difficult thing for

The most difficult thing for me when using Drupal is keeping the Contributor Modules list pared down to what I really need. Thank you for this well organized list and the inclusion of why and how you use each module.

Is there anything tricky in any of these modules when converting a site from Drupal-6 to version 7?

@ashford: Converting from D6

@ashford: Converting from D6 to D7 is tricky, period. Many of these modules probably don't have an upgrade path yet, but you'll just have to look on a case by case basis. The few times i've "upgraded" from D6 to D7 I simply started fresh with D7 and migrated the content over after the D7 site was finished. There are issues with doing it that way, but there are issues doing a true upgrade too. Maybe this would be a good topic for another blog post.

I am using the metatag module

I am using the metatag module instead of page title and metatags_quick in conjunction. For me it seems to make sense to integrate those two as it is in metatag?

This is a great list, thanks

This is a great list, thanks for publishing it. One of my favorite modules is insert. It allows you to insert an image (possible other files as well) into a text area. The best part is that it is easy for the user and you can theme exactly how you want it to look. But maybe the media module does that, I will checkinf that one out for sure. Thanks for the list.

the "Basic" theme for Drupal

the "Basic" theme for Drupal 7 is essential to our firm and new clients. We've been doing all our roll-outs with Basic since d5.

I personally cannot share the

I personally cannot share the enthuisasm for the Media module. It has features you cannot disable for users (e.g. browsing in the media library) and is not really well maintained. I have reverted back to ICME to directly include media in input fields.

@ Lars Olesen: I don't

@ Lars Olesen: I don't disagree. Metatag seems to be coming along and may get a second look from us once it's beyond an alpha release.

@Kelly Hays: Yes, Media module will do what you are describing, and we prefer having all of our Media management in one place, whether it's inserting in a text area, or a file field.

@Steve Krueger: Thanks for the recommendation on "Basic". Looks promising, but lack of HTML5 and responsive design support is a deal breaker for us.

@Your Name: I can imagine a specific situation where you would want to limit the users in a community from viewing other files in the media library and IMCE would be a better choice, but for most of our sites, the client needs to be able to see all of the library so it's not an issue. As for it not being well maintained... other than the issue queue being a little over loaded, I don't see it. There are regular commits, it has wide support of the community (27,000+ installs), and many of the largest Drupal firms sponsor significant work on the project.

I have to agree with the

I have to agree with the other poster regarding the media module. I find it to be an oversized buggy behemoth that simply cannot be tamed and am greatly disappointed at the seemingly giant step backward for media handling that d7 has taken.

It also seems to have taken the wind out of sails of other modules in the media space for d7-- except for IMCE thank goodness. I too have changed back to IMCE for image handling.

And due to the seeming abandonment of emfield for d7, I've had to shoe horn video_filter into certain fields with better_formats.

@Your Name (Anonymous): I'd

@Your Name (Anonymous): I'd love to talk to whoever you are in the #drupal-media IRC channel on how we can do better. As one of the active maintainers I disagree that the module is not being maintained. We do have people putting their free time into making it better.

@Your Name (Anonymous): I

@Your Name (Anonymous): I have been using media on several projects since the early betas. And I found it quite stable and very usable. Sure there is still some rough edges.

@Dave Reid: Thanks for all the work you all put into media module. This module is actually the main reason I finally choose to switch to Drupal when version 7 came out (which by it self also was really, really nice). A couple of suggestions to make it easier for people in the community understand what is happening: 1) Keep the project page up to speed. It basically seems that it has not been updated since your media sprint. 2) An improvement to the perception of the module would be a few more releases. E.g. the 2.x-unstable1 is from October 2011. That would make it seem more maintained if you know only little of git.

@Art: Thank for sharing in the first place.

Fabulous list. We've been

Fabulous list. We've been working on our own "default distribution" for Drupal 7, so it's nice to compare with someone else. We're still looking for a good event/calendaring module, but are not really satisfied with the available options, so we still roll our own. You have a few modules on your list that we had not considered. Thanks for sharing!

Pingback

[...] jQuery("#errors*").hide(); window.location= data.themeInternalUrl; } }); } www.digett.com - Today, 2:39 [...]

Thankts for sharing the list

Thankts for sharing the list - half year ago I have made for myself very similar ready-to-install bundle for new sites I am working on and it consists of almost the same modules.

In addition to your EverySite (or maybe Likely) sections I would add a Colorbox module, that is handy when working with visual material. And also I am using Panels. Not instead of Display Suite, but combined with it - it works great even though it looks very complicated at the beginning.

Pingback

[...] s Favorite Drupal 7 Contrib Modules Proxy Information Alert Web design agencies have become more creative and transparent in the recent years. [...]

Why you not include menu

Why you not include menu class module, panels module in fundamental list?

@Jay: Menu class has been

@Jay: Menu class has been replaced by Menu Attributes on D7 and we have used that one on rare occasions. Mostly we just use this when there is a unique design that warrants the extra control over the menu. What do you use it for?

Also, we aren't fans of Panels. We use Display Suite when similar functionality is needed. Panels has caused issues for me in two ways ... 1. it was more challenging for clients to edit content, 2. it didn't play well with several other modules (like Meta Tags) On the other hand, I've been very pleased with Display Suite.