Distribution developers guide
Drupal 7 will no longer be supported after January 5, 2025. Learn more and find resources for Drupal 7 sites
This documentation needs work. See "Help improve this page" in the sidebar.
Relevant specifications
As you develop your distribution, you can take steps to ensure that what you build is compatible with the features provided by other distribution developers.
- The Kit feature specification provides specific guidelines for ensuring your distribution's features integrate with diverse sites and the features provided by other distributions.
- The Open App specification provides specific guidelines for ensuring your distribution's features integrate with diverse sites and the features provided by other distributions.
Efforts are underway to expand the Kit specification, see #1456518: Governance of the Kit Spec. One extension of the Kit specification is Debut, which provides extended guidelines for feature integration.
See also #1554852: Define Drupal Distribution Experience (#DDX) commitment.
Key tools
- The Features module is the leading tool for capturing bundles of configuration in Drupal distributions.
- Drush make is a powerful command line tool for automating parts of the distribution process.
Additional tools
- Apps "provides facilities to download modules and all of their dependencies in one easy step".
- Feature set "allows site builders and install profile maintainers to expose a simplified administration page that allows users to enable and disable complete sets of functionality without having to expose the features admin page or the modules administration page to end users".
See also links to articles and tutorials on the additional distribution documentation handbook page.
Best practices
- Distinguish between "hard" and "soft" configuration. When building a distribution, some configuration should be left for site admins to override rather than being hard set. See Hard and Soft configuration in Drupal Distributions for details.
Packaging your distribution
See the section on packaging a distribution on Drupal.org for detailed instructions.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion