fromMarch 2011
Article:

Module Selection In The Wild

Finding Your Way To The Right Module
1

When building a Drupal site "from scratch", choosing which modules to use is a critical and sometimes tricky step.

Sometimes, the choices are easy, like in the case of "modules that help you select subsets of your site content and present it in various ways". The choice here is likely to be the incredibly powerful Views module (http://drupal.org/project/views) or its highly useful cousin Simple Views (http://drupal.org/project/simpleviews). This situation usually comes about when one or two modules solve a very clear problem and do it so well that there's not much need for other solutions.

In other cases, the choice may be exceedingly difficult. This often happens when a problem can be approached in so many different ways that the perfect solution for one site may not suit another at all. Take "modules that present a slideshow or rotating or dynamic set of images on your site". The Rotating Banner module does a fine job of this, but there are dozens of other modules that you could select from the contributed modules repository. This is a famously difficult choice and has spawned multiple discussions and heated debate over the years. See "Comparison of Rotator / Slider modules" at http://drupal.org/node/418616 and "Tabs and slideshow modules" at http://groups.drupal.org/node/20384 for a taste of the situation.

Here are some tips on finding and selecting modules. YMMV and, as the Romans say, "caveat downloader!"

Search for one or more keywords on Drupal.org and filter the search results to show only modules (click "Modules" under the "or filter by" header) to see what is available. Expanding your search to include documentation and discussions might help you gain insight and make choices during this process... but they could also be too much right in the beginning of your search.

Start comparing the Drupal.org module pages of potential candidates:

  • Version compatibility - Does it work with Drupal 7 (or the Drupal version you are using)?
  • Feature set - Does one module do more than another? What features are critical to you?
  • How recent is the latest release? Modules that are kept up-to-date regularly are a better bet than ones being neglected.
  • Maintenance status & Development status - "Actively maintained" & "Under active development" are good signs. Anything else, maybe not so much.
  • How active is the module's issue queue?

    Find the "issue statistics" link (in the right column) and compare how different module maintainers approach bug reports and feature requests for their modules. Ask yourself: If you run into problems, do you think you'll get help or an updated version?

  • How many sites are using it?

    "Reported installs" is a good indicator of module quality–the more sites running it, the more people trust and rely on it. In the early phases of a new major release like Drupal 7, it is worth having a look at the usage and stats for the previous version as well to get an idea of the module's history.

  • New modules - Modules that are very new (and maybe maintained by relative newcomers to Drupal) are harder to judge. If you select one, you'll have to go with your gut feeling about it, but do plenty of testing to be sure.

When you think you've found a module that looks like a good fit from the solutions available, there are some other resources you can take advantage of:

READ THE INSTRUCTIONS … seriously. Install it, check it, test it–by all means–but also read its Drupal.org documentation, README.txt and INSTALL.txt files. If you still have questions, you can try asking them on the #drupal or #drupal-support channels. Ask other Drupalistas you know personally, too. If you still need to reach out to a module maintainer, you'll always get better answers and advice if you've done your homework.

http://drupalmodules.com - This site collects user reviews and ratings of Drupal modules. Not everyone in the community agrees with what it has to say, but a second opinion probably can't hurt.

http://groups.drupal.org - There are thousands of Drupal groups around the world, some based on common interests within the enormous landscape that is the Drupal project, and others based on shared geography and/or languages. Be sure to check here for users with whom you have something in common–they can be a great source of advice if they are interested in similar kinds of solutions (education, photography, whatever). And if you discover a local, regional, or language-based user community, you might not only find valuable experiences you can build upon, but also Drupalistas with whom you have much in common.

In the end, however, if you're going to be the one who develops and runs your site, it is worth knowing and understanding the modules you put into it!

Comments

Also check for stable release.

While I like the article and use many of those points to select modules myself, it is IMHO missing one crucial bit of information:

Only stable releases (no alpha, beta, -dev) are security maintained.

That means the drupal.org security team will only get to work for modules, which have a stable release out, which lead to the funny situation that imagecache for D6 was not security release checked, because it was still in beta, despite > 30000 sites using it.

So this can well be a factor in choosing a module besides all those noted already.

Best Wishes,

Fabian