Turning Your Custom Drupal Module into a Feature

Yesterday I was fixing a bug in an inherited Drupal 7 custom module, and I decided that I was going to add some tests to ensure that the bug was fixed and doesn’t get accidentially re-introduced in the future. The test though required me to have a particular content type and fields which are specific to this site, so weren’t present within the standard installation profile used to run tests.

I decided to convert the custom module into a Feature so that the content type and it’s fields could be added to it, and therefore present on the testing site once the module is installed.

To do this, I needed to expose the module to the Features API.

All that’s needed is to add this line to the mymodule.info file:

features[features_api][] = api:2

After clearing the cache, the module is now visible in the Features list - and ready to have the appropriate configuration added to it.

'The features list showing the custom module'

Was this useful?

Sign up here and get more like this delivered straight to your inbox every day.

About me

Picture of Oliver

I'm an Acquia-certified Drupal Triple Expert with 17 years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.