Features is a Drupal module that enables configuration from the database, like content types, views, and contexts, to be packaged into modules called "Features". Features consist of generated code that can be version controlled and deployed between environments. Features allow changes to be managed like code instead of only in the database. When a Feature is enabled, all its dependencies are installed as well. If the Feature is later changed, it becomes overridden and the developer must choose whether to revert or update the code.
2. About me
Drupal developer since version 4.6
Member of the Drupal Association -
you should be too!
Working in Manchester at PRWD
3. Intro
Features is a Drupal module created
by Development Seed
It enables Features to be created
which package CCK types, Views,
Contexts and more
It moves configuration from the
database to code
4. What is a Feature?
A Feature is a special kind of module
Features consist of generated code
Features are created via the admin UI
Features have version numbers
5. How a Drupal installation changes
Version
Level Changes
control?
Core Rarely Yes
Contrib Regularly Yes
Custom code Frequently Maybe
Database Constantly No
Problem: how to manage change
in the database?
18. Changes
If any component of the feature is changed, the
Feature is overridden. In this case, Ive
changed a View
19. Viewing a diff
I can now choose to revert the
changes or update the Feature code
20. Version control
Because Features are code, they can
be managed like source code
Updating a Feature is just like
updating a module
21. Deployment
Features are great for additive
changes
Not so great for destructive changes
Complex changes between Feature
versions are still tricky
22. Feature Servers
Imagine running your own
drupal.org-style module repository
Supports Available Updates
monitoring
Powerful integration with drush and
drush make
23. What features doesnt do
(yet)
Taxonomy
Node content and attachments
Menus
However, alternatives exist and more
modules are integrating with
Features
24. Pitfalls
Many contrib modules as yet
unsupported
Features isnt magic - its just a
system for generating code
Upgrades still need some manual
intervention
26. Thanks for listening
Features is maintained by Development
Seed and is available at
http://drupal.org/project/features
My site & blog are at
http://robknight.org.uk