Recipe For a Feature Server


3 min read

Yesterday, Eric talked about how feature servers can “help organizations manage and update features”: on different of sites and I pulled together a screencast of an initial proof-of-concept. While we’ve been talking about these ideas in the office for a while, the actual implementation is very new and I was surprised at how quickly it went — in all, the feature server took less than a day to build.

Here’s a look at the feature server with a prepackaged theme (more on that below):


h3. What it does

  • Lets you create projects and releases and manage them by hand on a Drupal site.
  • Produces an update XML feed compatible with the update module in core.

h3. What it doesn’t do

  • Version control integration and automated packaging. The “project module”: does an awesome job of this, and if you’re serious about tying your features into VC it’s what you’ll want to look at.
  • Anything with dependency / build management systems (a problem that “Adrian Rossouw”: and others are spearheading in the community).
  • Info file based parsing, dependency detection, and display.

h3. The ingredients

Adrian pointed out to me that this very simple version of a feature server could be a feature itself. It turns out he was right — it is largely generic site building with some additional custom components:



  • Node types: Project, Release
  • CCK fields to capture the metadata that the update XML feed needs
  • Views: Projects, Releases, Update XML
  • Context: project section
  • Menu: project menu link


  • Views style plugin for generating the update XML
  • Views field handler for generating an md5 hash from the package file (needed for XML feed)
  • A little glue code to smooth things out

h3. Adding lipstick and polish to the pig

The recipe makes for a pretty tight install profile — very few dependencies (Context, Features, CCK, Filefield, Views), add in a few helper modules (Admin, Diff), and you’re ready to go. Our goal is to have you adding your first projects/releases and branding out your feature server to fit your company, organization, or identity on a lazy Saturday afternoon.

To that end I’ve started work on a simple and minimal theme that allows for Twitter-like style customization — limited, but effective. You can choose from a set of predefined/prepackaged styles or get creative with your own background and color (more settings to be added soon).



We hope to get this in your hands in a few weeks — hopefully in time for you to start sharing the features you build for “another project we’re working on”:

What we're doing.