Features and Exportables on Drupal 7


4 min read

In the three weeks since we began our first client project on Drupal 7 we’ve made great headway in upgrading several key contrib projects to D7. If you are willing to live on the edge, Drupal 7 is ready for building features, creating install profiles, and deploying drush make-based distributions.

c3b6ff25249e  0krsMutCYSD xEap3

Build Kit for Drupal 7

Build Kit is an install profile for getting started quickly with Features and other distro building tools. It’s based around the distro approach we take with every build we do, whether it’s for a product like Open Atrium or for a specific project like Pakistan Flood Response. There are three basic principles to the approach:

  1. Every project is described by a makefile. Jeff explains how makefiles keep you sane.
  2. Every project is an install profile. Whether for a product or a client site, starting from a blank slate should always be an option. Adrian explains why passing around a database is so 1999.
  3. Build with exportables and manage them with Features. Nuvole’s Andrea Pescetti explains how to integrate Features into your workflow.

Build Kit can get you up and running on this development workflow in Drupal 7 today. All you need is [drush_make](http://drupal.org/project/drush_make), cvs, and this line in your terminal:

`$ drush make "http://drupalcode.org/viewvc/drupal/contributions/profiles/
buildkit/distro.make?view=co&pathrev=DRUPAL-7--2-0-BETA1" buildkit`

Keeping up with contrib

The first half of Build Kit is its install profile makefile where we keep track of the latest upgrade work in contrib. Some key projects worth noting:

  • CTools sprint-master. We’re using work from the Panels/CTools upgrade sprint in SF that we had a chance to participate in earlier this month. Earl Miles and Sam Boyer coordinated contributions from nearly a dozen developers without a hitch.
  • Features 1.0-alpha3. Features is upgraded with all components working and adjusted for D7 (e.g. the imagecache component now integrates with D7 core image styles). A great patch from das-peter and luke_b from Cando Image lets you export fields for any entity type like nodes, taxonomy terms, and users. Special thanks to the Commerce Guys for their sponsorship to push Features on Drupal 7.
  • Views 3.x. The latest work in D7 is largely stable but with a few isolated rough spots. Build Kit is tracking patches for field formatters, field filters, and taxonomy integration.
  • Tao and Rubik. Our go to base theme and admin theme both have working upgrades and have moved to Drupal.org. Rubik has gotten simpler visually to better integrate with the overlay module (if that’s how you roll) and has a few new icons to match the D7 administrative menu structure.

Other projects upgraded to D7 included in Build Kit are Admin, Context, Diff, Devel, and Strongarm.

D7 core patches

Build Kit has a second makefile — what we call a distro makefile — to keep track of D7 core patches that are critical to building with an exportables-based approach. There are a handful of issues that will keep exportables from taking off in D7 and we’re keeping track of solutions to those problems:

We’ll be keeping these patches up to date as we work and removing them entirely from Build Kit once these issues are resolved upstream in Drupal core.

What we're doing.