Drupal 7 Tutorial: Features Module

Preview:

Citation preview

FEATURES MODULE Drupal 7 Webinar

Presented By

Prasad ShirgaonkarCurriculum Developer, Acquia Learning Services"

• Designs and conducts Training programs on Drupal and Acquia Products!

• Over 20 years of Industry experience, 7 years on Drupal!

• In past, worked on 200+ Drupal projects @prasadshir

The Config Management Challenge

How to copy or move site configurations between environments?

Drupal Development Workflow

GIT$

DB$

CODE$

DB$

CODE$

DB$

CODE$

Drupal Site Components

Code%

• Modules%•  Themes%

Config%ura3ons%

•  Content%Types%•  Views%

Content%•  Nodes%•  Terms%

Drupal Site Components

Code Files

Database

Database

Code%

• Modules%•  Themes%

Config%ura3ons%

•  Content%Types%•  Views%

Content%•  Nodes%•  Terms%

Initial Development

DB#

CODE#

GIT#

DB#

CODE#

DB#

CODE#

DB#

CODE#

In#Sync!#

Continuous Workflow

DB#

CODE#

DB#

CODE#

Changed#

How do we manage site configurations?

FeaturesThere’s a module for that!

drupal.org/project/features

Features Module• Enables the capture

and management of features in Drupal. !

• A feature is a collection of Drupal entities which taken together satisfy a certain use-case.!

• Converts and stores site configurations in code rather than in DB!

Features Applications• Move your site configurations from database

to code making them easier to • Move between environments• Check-in in a version control system• Distribute independently as ‘features’ and

re-use across different sites

Demo

More Discussion

Understanding intricacies and extending Features

Features Terminology• Revert • Changes your site

configuration in DB to match up with the definitions in the feature module code.

• Code —> DB

!

• Update • Produces a

modified version of your feature module code, which matches up with the configuration found in the DB.

• DB —> Code

What can be ‘feature’ized• Core

• Content Types

• Vocabularies

• User Roles

• Permissions

• Fields

• Text Formats

• Menus

• Image Styles

• Contrib

• Views

• Panels

• Rules

• Contexts

• Display Suite

What cannot be ‘feature’ized• Content • Nodes• Terms• Users• Custom Blocks

Advanced Usage• Strongarm Module • Use for exporting Variables like site name,

slogan etc

• Diff Module • For comparing difference between code and DB

• Drush Integration • features-list (fl), features-components (fc),

features-diff (fd) • features-export (fe), features-revert (fr), features-

update (fu)

Resources• Features Module on D.O.

https://drupal.org/project/features• Features Module Documentation

https://drupal.org/documentation/modules/features

• Strongarm Module https://drupal.org/project/strongarm

• Diff Modulehttps://drupal.org/project/diff

Q + AYour questions please!