An introduction to features and how to keep your site configuration in code helping you and your team during development and making maintaining a site a breeze
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Introduction to Drupal features
1. Using features/
exportables in production
@drupalvolcon Antwerp April 20, 2010
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
2. Stijn De Meyere
freelance drupal dev as villaviscom.be
working closely with nascom.be
@stijndm
sken.be
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
3. The problem
Development local/online
Staging
Production
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
4. The problem
Different databases
No version control
Did we do that?
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
5. Solution
As much settings as possible in code
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
6. Features
drupal.org/project/features
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
7. Features
Allows you to export settings that live in the
database to code
A feature is a module, but more
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
9. Features extra
drupal.org/project/features_extra
Taxonomy (vocabularies)
Nodequeue
Blocks
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
10. Fun and easy
Easy creation
Easy additions
Diff (drupal.org/project/diff)
Easy maintenance with Drush (drush features-
update [feature-name] (drupal.org/project/
drush)
Acts as a module (because it is a module)
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
11. Fun and easy
Except the first export
Oh, and don’t forget ...
What to do whith stuff already in code?
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
12. When is a module a
feature
When the .info file has one of these:
features[context][] =
features[variable][] =
features[user][] =
features[node][] =
features[views][] =
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
13. Why is this important
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
14. Why is this important
All (most of) our settings are in code
Source control
Easy deployment (upload, revert)
Operate and support
Getting rid of thix (and minimizing
template.php)
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
16. Display Suite
Has features support, but not for individual
objects
Individual display and fields export
(settings are in variables)
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
17. Formatters
Custom CCK formatters, hand coded or with
the help of drupal.org/project/
custom_formatters
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
18. Feature server
fserver
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
19. Fserver
code.developmentseed.org/featureserver/
node/163
Make you site act as a module/feature server
Update notifications
Automated release in combination with
Project module (drupal.org/project/project)
Stijn De Meyere @stijndm www.sken.be VILLAVISCOM