2. Overview
• What Seems to be the Problem?
• Potential Solutions
• Features / Exportables Approach
• How to use Features Module
3. The Problem
Configuration is stored in the database
dev1
stage production
dev2
dev3
4. The Problem
Configuration is stored in the database
Which makes the following difficult:
Integration / Deployment / Roll-back /
Merging Staging Revert
5. How could we solve it?
• Replicate changes with admin interface
• Database-level merge
• Create a module for your site and use the
hook_update to program database updates.
• Capture admin actions in re-playable “macros”
• Deploy module / Patterns module
6. The “Features” Approach
Export configuration into code
• Code can be version controlled (svn / git etc.).
• Code can be diffed (to see what has changed).
• We can deploy our code using version control.
• We can revert back to old code if we need to.
• Configuration lives in code, content in the db.
11. Step 3. Download and
Enable Feature
Download to: sites/all/modules/features/my-feature/
12. Benefits of using
Features
• Your configuration is now version-controlled.
• Functionality can be packaged in a generic
way and shared / re-used.
• Less checkbox clicking
• Scriptable deployment (using Drush)
• Continuous Integration is possible