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.
Features provides a UI and API for taking different site building components from modules with exportables and bundling them together in a single feature module. A feature module is like any other Drupal module except that it contains additional information in its info
file so that configuration can be checked, updated, or reverted programmatically.
Examples of features might be:
- A blog
- A pressroom
- An image gallery
Drupal 8+
Most Drupal 8+ sites should not need Features. See Stop Using Features: A Guide To Drupal 8 Configuration Management or the Drupal GovCon session Advanced Configuration Management in Drupal 8. For environment-specific configuration, use the Config Split module. If you are building a Distribution you can still use Features to export specific configuration into your profile or modules.
The Drupal 8.x-3.x version of Features requires the Configuration Update Manager module.
The 7.x-2.x version
The 2.x branch greatly changes (and hopefully improves) the user interface of the Create/Recreate Features screen. In addition, it adds new functionality including:
- Ability to write your feature export directly to the Drupal file system (like drush fu).
- Ability to remove auto-detected items from your export.
- Ability to work with conflicting features.
The 7.x-2.x version is very compatible with feature exports created from the 7.x-1.x version. However, User Permission features will need to be re-exported, and Field features will be split into Field_Base and Field_Instance exports the next time you export. See New Field Bases and Instances in Features for more info.
There are currently no plans to port this new interface or new functionality to Drupal 6.
Regression in 7.x-2.12
There was a regression in the 7.x-2.12 release. See #3183346: [regression] Overridden features are reverting upon update.
If updating from an earlier 7.x-2.x release, do not update to 7.x-2.12. Instead, update to 7.x-2.13 or a later release. See the release notes for 7.x-2.13.
The 7.x-1.x version
The 1.x branch is no longer supported and is seeking a maintainer here: https://www.drupal.org/node/2706631
Documentation
Drupal 8+
- The handbook on Features for Drupal 8 contains up to date documentation of how to develop and configure features.
- Blog post by on Features for Drupal 8 by Mike Potter.
- DrupalCon Los Angeles presentation on Features for Drupal 8 by Mike Potter.
Drupal 7
- Getting started guide contributed by Clemens Tolboom, Itangalo
README.txt
For everyoneAPI.txt
For developers, site buildersfeatures.api.php
For developers
Related Modules
Drupal 8
- Configuration Development provides automated import and export of configuration between the active configuration storage and exported modules.
- Config Menu Link, a drop-in replacement for core's Custom Menu Link module, enables export of menu links, including to Features.
- Configuration Tools is a package of modules that help to manage Drupal 8 configuration files.
- Configuration Update Manager provides a report that allows you to see the differences between the configuration items provided by the current versions of your installed modules, themes, and install profile, and the configuration on your site. From this report, you can also import new configuration provided by updates, and revert your site configuration to the provided values.
- Configuration Synchronizer: Provides methods for safely importing site configuration from updated modules and themes.
Drupal 7
- ***NEW***: Features Menu UUID adds a uuid column to menu links, and provides an alternative to the flawed menu links integration you get in features out of the box.
- Features Override
- Strongarm - export system Variables
- FTools - misc tools for Features (most functionality incorporated into Features 7.x-2.x)
- Features Plumber (not needed with Features 7.x-2.x)
- Features Extra
Other resources
Drupal 7
- Video introduction and tutorial by Mustardseed Media
- Features 2.0 session @ BADcamp 2012 by mpotter
- Features presentation @ DrupalCon SF 2010 by jmiccolis
- Features presentation @ ADUG meetup by q0rban
Notes for contributors
If you want to help in the issue queue:
- Thoughtful comments, including code reviews, can be more valuable than patches! Likewise, a patch without sufficient explanations is not likely to be accepted.
- Look for "pinned" issues in "needs review"! These may not always be critical for functionality, but getting them done will unblock other issues.
Project information
- Minimally maintained
Maintainers monitor issues, but fast responses are not guaranteed. - Maintenance fixes only
Considered feature-complete by its maintainers. - Module categories: Administration Tools, Developer Tools
- Ecosystem: Features
- 134,142 sites report using this module
- Created by yhahn on , updated
- Drupal 10 is here!
The 8.x-3.13 release is Drupal 10 ready!
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
Releases
Fixed PHP 8.2 compatibility
Development version: 8.x-3.x-dev updated 12 Dec 2023 at 18:10 UTC
Improved support for PHP 8.1 and PHP 8.2
Development version: 7.x-2.x-dev updated 26 Jul 2023 at 22:40 UTC