Development

The advanced help module allows developers to store their help documentation within their module directory in pure HTML files. These files can be easily translated by copying them into the right translations directory. The help system can appear in popups.

Advanced Help ties into Drupal's search system and is fully indexed. The entire contents can be searched for keywords. Help files can be placed in a hierarchy, allowing for top down navigation.

By itself, this module doesn't do much; it supports other modules, but it so very well. Views makes extensive use of Advanced Help to provide in-context help and detailed documentation.

This is a set of APIs and tools to improve the developer experience. Many other important modules rely on ctools to do some of the heavy lifting. Install on all sites because it will inevitably be needed sooner or later--usually sooner.

Provides a suite of functions that are a great help to developers. Fairly essential during development, but should not be activated on a production site.

This module extends the entity API of Drupal core to provide a unified way to deal with entities and their properties. Additionally, it provides an entity CRUD controller, to simplify the creation of new entity types.

Upgrades the version of jQuery that comes with Drupal core to a newer version of jQuery.

This is the common denominator for all Drupal modules, profiles and themes that integrate with external libraries.

This module provides a common repository for all libraries in sites/all/libraries, and sites/<domain>/libraries for contributed modules.

The migrate module provides a flexible framework for migrating content into Drupal from other sources. Includes support for creating core Drupal objects such as nodes, users, files, terms, and comments. It can be easily extended for migrating other kinds of content. Content is imported and rolled back using a bundled web interface (Migrate UI module) or through the included Drush commands (strongly recommended).

Strongarm provides an easy way to override the default variables in Drupal core and contributed modules.

An example of such a variable is site_frontpage. In Drupal this defaults to node, which ensures that the front page gets content as soon as some exists, but for many Drupal sites this setting is simply wrong. Strongarm gives the site builder a an opportunity to set the site_frontpage to whatever is best for their site.

One of the weaknesses of Drupal (at least up to and including version 7) is that content and configuration are mixed together in the database. This can make it difficult to migrate complex changes from one site to another. Many of these migration problems are partially resolved by Strongarm combinin Strongarm with Features,.

Tokens are small bits of text that can be placed into larger sections of text using simple placeholders, such as %site-name or [user].

The Token module provides a central API for other modules to use these tokens, and expose their own token values.

The Token module doesn't provide any visible functions to the user, but it is used by many other important modules.

You should install Token on each new site knowing it will be needed sooner or later--usually sooner.

Webform is a powerful WYSIWYG survey and form building tool. Email receipts can be automatically sent to form submitters and email notifications can be automatically sent to administrators. Webform has and extensive API for expanding its features. By combining Webform with custom modules, powerful interactive systems can be qjuickly built. Results can be exported into Excel or other spreadsheet applications. Webform provides basic statistical reports.