Drupal Development Using Features

Drupal Development Using Features

“One of Drupal’s most powerful capabilities is the ability to manage content and site configurations using a database. Therein, however, also lays the direct problem of changing the site configurations without overriding content.” What? If you’re like me (no development experience), you’re just as lost as I was at the beginning of Lunch and Learn at LevelTen, where we discussed Drupal features. Luckily for me (and for you), Randall Knutson, one of the developers, did an excellent job breaking down the tech information into jargon I can understand. First, we need to separate the terms “configuration” and “content.” Basically, configuration is how it works and content is what’s in it. “It,” in this case, could be a particular section, or module, of a website. Think of content being a clock face and configuration being the wheels turning in the background that make everything work. Therefore, you use site configurations to configure the way your content appears. All right; back to the issue. Using Drupal, it is possible to manage both content and configuration on the database and then push those changes to your live server. That’s nice, but a huge problem is that pushing the configuration changes to your live site requires pushing the entire database, which could result in overriding the existing content. The solution is to split your content and your configuration by moving the configuration from the database to a file. But, it’s not that easy; with your configuration in files, you can’t do browser-based configuration. This is where Drupal features come in. The Drupal website says, “Features provides a UI and API for taking different site building components from modules with exportables and bundling them together in a single feature module.” Basically, this means features allow the management of certain parts of the website. Using features, you can now configure different areas of your website and push those changes to your live server without pushing the entire database, which could override content. Examples of features:
  • A blog
  • A pressroom
  • An image gallery
  • An e-commerce store
If you’re more of a visual learner, check out the slide show Randall put together for his presentation. The images provided make it a little easier to understand.