Drupal 7 Tutorial: Features Module

22
FEATURES MODULE Drupal 7 Webinar

Transcript of Drupal 7 Tutorial: Features Module

Page 1: Drupal 7 Tutorial: Features Module

FEATURES MODULE Drupal 7 Webinar

Page 2: Drupal 7 Tutorial: Features Module

Presented By

Page 3: Drupal 7 Tutorial: Features Module

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

Page 4: Drupal 7 Tutorial: Features Module

The Config Management Challenge

How to copy or move site configurations between environments?

Page 5: Drupal 7 Tutorial: Features Module

Drupal Development Workflow

GIT$

DB$

CODE$

DB$

CODE$

DB$

CODE$

Page 6: Drupal 7 Tutorial: Features Module

Drupal Site Components

Code%

• Modules%•  Themes%

Config%ura3ons%

•  Content%Types%•  Views%

Content%•  Nodes%•  Terms%

Page 7: Drupal 7 Tutorial: Features Module

Drupal Site Components

Code Files

Database

Database

Code%

• Modules%•  Themes%

Config%ura3ons%

•  Content%Types%•  Views%

Content%•  Nodes%•  Terms%

Page 8: Drupal 7 Tutorial: Features Module

Initial Development

DB#

CODE#

GIT#

DB#

CODE#

DB#

CODE#

DB#

CODE#

In#Sync!#

Page 9: Drupal 7 Tutorial: Features Module

Continuous Workflow

DB#

CODE#

DB#

CODE#

Changed#

Page 10: Drupal 7 Tutorial: Features Module

How do we manage site configurations?

Page 11: Drupal 7 Tutorial: Features Module

FeaturesThere’s a module for that!

Page 12: Drupal 7 Tutorial: Features Module

drupal.org/project/features

Page 13: Drupal 7 Tutorial: Features Module

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!

Page 14: Drupal 7 Tutorial: Features Module

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

Page 15: Drupal 7 Tutorial: Features Module

Demo

Page 16: Drupal 7 Tutorial: Features Module

More Discussion

Understanding intricacies and extending Features

Page 17: Drupal 7 Tutorial: Features Module

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

Page 18: Drupal 7 Tutorial: Features Module

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

Page 19: Drupal 7 Tutorial: Features Module

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

Page 20: Drupal 7 Tutorial: Features Module

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)

Page 21: Drupal 7 Tutorial: Features Module

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

Page 22: Drupal 7 Tutorial: Features Module

Q + AYour questions please!