Key Drupal modules that often form part of our builds:
Perhaps one of the most powerful modules that Drupal has. It essentially allows you to define actions based on certain triggers, all via a very usable graphical UI.
"The rules module allows site administrators to define conditionally executed actions based on occurring events (known as reactive or ECA rules). It's a replacement with more features for the trigger module in core and the successor of the Drupal 5 workflow-ng module."
When launching a new site, the Migrate module gives developers the power to keep content on an old site and one that is about to be launching synchronised.
"Out-of-the-box, support for creating core Drupal objects such as nodes, users, files, terms, and comments are included - it can easily be extended for migrating other kinds of content. Content is imported and rolled back using an included web interface."
If you want your application to be able to interface with other 3rd party tools and applications then the Services module will come in handy...
"A standardized solution of integrating external applications with Drupal. Service callbacks may be used with multiple interfaces like REST, XMLRPC, JSON, JSON-RPC, SOAP, AMF, etc. This allows a Drupal site to provide web services via multiple interfaces while using the same callback code."
Search API module
When paired with enterprise class search solutions like Apache Solr, the Search API module offers developers huge amounts of flexibility.
"This module provides a framework for easily creating searches on any entity known to Drupal, using any kind of search engine. For site administrators, it is a great alternative to other search solutions, since it already incorporates facetting support and the ability to use the Views module for displaying search results, filters, etc. "
When a Drupal Developer discovers Drush for the first, you can pretty much guarantee they will wonder how they ever lived without it!
"Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt."
Organic Groups module
Organic Groups form the backbone of any site of community driven website that we build.
"Enable users to create and manage their own 'groups'. Each group can have subscribers, and maintains a group home page where subscribers communicate amongst themselves... Groups may be selective or not. Selective groups require approval in order to become a member, or even invitation -only groups. There are lots of preferences to configure groups as you need."
When used properly, the Flag module can save developers tremendous amounts of time by offering functionality that allows users to flag, or star pieces of content on a site.
"Flag is a flexible flagging system that is completely customizable by the administrator. Using this module, the site administrator can provide any number of flags for nodes, comments, or users. Some possibilities include bookmarks, marking important, friends, or flag as offensive."
The Workbench module does a great job at making the administration area within Drupal seem a lot less "scary". It enables administrators to configure things like workflows, fine-tune access to content and a range of other editorial tasks.
"Workbench provides overall improvements for managing content that Drupal does not provide out of the box."
Features allow developers to parcel up bits of functionality and content into packages known as Features. This is especially useful for silently deploying changes to a website without the need for any downtime.
"The features module enables the capture and management of features in Drupal. A feature is a collection of Drupal entities which taken together satisfy a certain use-case."
It's virtually impossible to build a site these days without at some point using the Views module. At it's most basic level, the Views modules allows site builders to display content on a website with a user friendly tool.
"This tool is essentially a smart query builder [SQL] that, given enough information, can build the proper query, execute it, and display the results. It has four modes, plus a special mode, and provides an impressive amount of functionality from these modes."
Devel is a mini-suite of modules that allows developers and curious admins to see "under the hood" of a Drupal website.
"Helper functions for Drupal developers and inquisitive admins. This module can print a summary of all database queries for each page request at the bottom of each page. The summary includes how many times each query was executed on a page, and how long each query took."
Entity API module
This is one of those modules that is only really of interest to developers, but to developers it provides incredibly useful functions that allow Drupal entities to be manipulated.
"This module extends the entity API of Drupal core in order to provide a unified way to deal with entities and their properties. Additionally, it provides an entity CRUD controller, which helps simplifying the creation of new entity types."
Entity Cache module
If you are prepared to invest the time to eek out every bit of performance from your Drupal install, then using Entity cache module should be on your todo list.
"Entity cache puts core entities into Drupal's cache API."
The Webform module makes dealing with forms and the results that they collect very straightforward.
"Webform is the module for making surveys in Drupal. After a submission, users may be sent an e-mail "receipt" as well as sending a notification to administrators. Results can be exported into Excel or other spreadsheet applications. Webform also provides some basic statistical review and has and extensive API for expanding its features."
Field collection module
We've heard some Drupal developers describe the field_collection module as been like the Leonardo DiCaprio movie Inception. (Don't worry, you're not meant to "get it"!)
"A field collection is internally represented as an entity, which is embedded in the host entity. Thus, if desired field collections may be viewed and edited separately too."
Facet API module
Using the Facet API in conjunction with the powerful search functionality that Apache Solr provides, can result in a highly polished search experiences for your websites users.
"The Facet API module allows site builders to easily create and manage faceted search interfaces. In addition to the UI components that come out of the box, themers and module developers can build their own widgets that can optionally be contributed back to Drupal.org."