Using Features to Manage Development

Features provides a centralized place to manage, configure and export components and write them to code. This convenience makes Features an excellent tool for managing changes between development environments and version control in conjunction with Git, SVN, or other version control systems.

This page lays out an example workflow for managing site development with Features:

Features: Moving Site Configuration to Code

Consider this scenario: you have created a custom content type on your local development server with several core and contributed field types specific to your application. Additionally, you have meticulously configured specific views for this content type, and created a custom user role that provides permission to add, edit, and delete content of this content type.

At this point, the content type lives in the database, not in code, so moving it to a remote server without overwriting the remote database presents quite a challenge. There are typically three ways to accomplish this:

Version Control and Configuration Management

In a typical Drupal development situation, a developer will work locally and push code and files to a remote server. In this setup, version control is crucial. What happens if a mistake is made and we need to roll back the code? What if multiple people are working on the same code? Implementing version control with a tool such as Git is a critical step in solving these common development workflow challenges.

Site Development with Features

A feature is a collection of Drupal configurations that are intentionally grouped together to satisfy a particular use case. These configurations can be used for content type declarations, views, module settings, and roles and permissions, among other things.

Webform and Views

Starting with webform 7.x-4.4, webform uses views to display the submissions list, results tables, and administrative list of webforms. Each of these may be customed using the views UI module.

The submission list and the results table may be customized for an individual webform by cloning the view and appending _NID to the end of the cloned view's machine name -- e.g. webform_submissions_123. This allows you to, for example, remove specific data columns from the RESULTS / TABLE tab for webform 123.


Subscribe with RSS Subscribe to RSS - Designers/themers