Drupal module: Master

The module provides utilities for controlling the module status of all modules in the whole installation by a single drush command. The configuration is done by defining "master modules". "Master modules" are (in most cases) custom modules or features, that provide dependencies to all modules that are needed to run the site. In combination with Features and maybe some custom code and scripts the whole site configuration can be managed via that approach.

Master status

drush master-status shows the state of all modules that are "master", required by master modules or are redundant (enabled but not required).

Master execute

drush master-execute ensures all master modules and their requirements by enabling them. It also disables and uninstalls all modules that are not required by the master.

Configuration

Configuration is mainly done in the settings.php by setting the "master_modules" variable. There is also support for different scopes (e.g. stage environments like local, integration, live, ...) by defining additional sets within the "master_modules" array. The default scope is called "base" and any other scope inherits from that scope.

In order to leverage this module's functionality, you first need to set up your master configuration. How you do that? Easy: you just export your current configuration, entering the drush master-export [--scopes=local,stage,live] command. It's basically the “status quo” of the whole network of modules on your Drupal installation.