Stop clicking together your Features

Save valuable time (and sanity) by bypassing the process of picking and choosing which components go into which Features. Features Builder is a module that analyzes the build of your Drupal site and automatically builds Feature modules to capture the site's configuration.

Please lend a hand

Features Builder it now at a useful and stable point, but there's more to be done. If you'd like to contribute to the success of this project, please help out:

How does it work?

The main functionality is built around the idea of a "builder" which is responsible for identifying what configuration it's responsible for. Various administrative screens allow you to see what's available on your site, how the builders will package your configuration, and one-click operation to generate and install the Features modules.

What if I need to change the builders?

Here are a few ways to change the behaviors of the builders, unfortunately all require custom coding at this time. In order of complexity:

  • Implement hook_features_builder_components_BUILDER_alter(): This is a last-chance to adjust which components a builder will include in the Features module it's generating.
  • Implement hook_features_builders_info_alter(): Declare your own builder and tell Features Builder to use it instead. Don't forget you can extend existing builder classes.
  • Implement hook_features_builders_info(): Provide your own builder to the Features Builder system. Once again remember you can extend existing builder classes.

I hate the way you packaged the configuration! #$@&%*!

Super! This methodology was developed over years of developing (and deploying) Drupal projects and has proven to be a reliable and effective way to package a site's configuration. If you'd like to completely overhaul the way the builders function, that's cool too. Create your own module that implements hook_features_builders_info() to declare your own builders and use those instead of the builders included in the Features Builder Default sub-module.

Project information