Notes on Features (the Drupal module)

I’ve been noodling around with Features*, but I finally sat down and watched the Drupalize.me video series (I’ve gotten all the way thru Ch 8), then set up a tiny test site to try things out. I’ll probably be using this same project to try out Migrate, FWIW.

Some things I cleared up in my own head:

  • After you initially create a Feature, you should install it on the site where you created it! That makes it waaaaaaay easier to incorporate updates.
  • Recreate = make a new export zip file with all the code
  • Revert = go back to the code version of the feature (and hey, sometimes that includes NEW code from an export, because old stuff that you already set looks like an override when the new code comes in)
  • drush features-update [featurename] is like Recreate, but works directly on the code in the module folder.

Also, what I did for my test project was one local repository for the code, not in a site, one repo for the dev site, and one for the live site, all coordinated through an origin on GitHub. Which takes some wrangling with Tower (omg command line git) but can be done.

Also also, “is there Features support?” is one of my new module criteria. I’m not 100% sure how I feel about that.

* I think I first heard about Features at a PNW Drupal Summit in Vancouver BC in 2010. Took me until literally this year to actually really understand what the hell it’s for, and why it’s kinda magical. I wish there were more intros for button-clickers (site builders) out in the wild, because there’s a pretty big conceptual leap for non-developer types IMHO.