Overview• What Seems to be the Problem?• Potential Solutions• Features / Exportables Approach• How to use Features Module
The Problem Conﬁguration is stored in the databasedev1 stage productiondev2dev3
The Problem Conﬁguration is stored in the database Which makes the following difﬁcult:Integration / Deployment / Roll-back / Merging Staging Revert
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
The “Features” Approach Export conﬁguration into code• Code can be version controlled (svn / git etc.).• Code can be diﬀed (to see what has changed).• We can deploy our code using version control.• We can revert back to old code if we need to.• Conﬁguration lives in code, content in the db.
Step 3. Download and Enable FeatureDownload to: sites/all/modules/features/my-feature/
Beneﬁts of using Features• Your conﬁguration 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