SlideShare a Scribd company logo
1 of 95
10 Reasons why you should be using features


   Florian Lorétan
                                  24. aug 16:00
                                  Microsoft
Florian Lorétan
.net
10 Reasons
why you should be using
           Features
     or why you've been missing out so far
CCK
:-o
views
:-|
...
:-o
features
:-)
features?
features?
Reason




#1
Features puts configuration into code
What can be exported: exportables
   Default Views
   Imagecache Presets
   Ctools
       Panels
       Open Layers
   Rules
   Blocks (via context)
   Variables (via strongarm)
Default
Default
Overridden
 Default
Default
Overridden
 Default
Default
What can be exported: non-exportables
   Content Types, including fields and fieldgroups
   Roles & Permissions
   Menus
   Vocabularies
   Nodes, Terms & Users (using UUIDs) *
Default
Overridden
 Default
Default
Overridden
 Default
Default
What can't be exported
   Input formats
   Things that can only be
    identified using sequential numeric IDs
Reason




#2
Features lets you
organize your project
Reason




#3
drush

``
drush features-list
drush features-export
drush features-diff
drush features-revert
drush features-revert-all
drush features-update
drush features-update-all
drush features-list         features
drush features-export       fe
drush features-diff         fd
drush features-revert       fr
drush features-revert-all   fr-all
drush features-update       fu
drush features-update-all   fu-all
drush features-list         features
drush features-export       fe
drush features-diff         fd
drush features-revert       fr
drush features-revert-all   fr-all
drush features-update       fu
drush features-update-all   fu-all
Reason




#4
With features,
configuration can be version-controlled
Reason




#5
Features can be shared
         Central
        Repository
Features can be shared
            Central
           Repository




 Default
Features can be shared
            Central
           Repository




 Default                Default
Features can be shared
            Central
           Repository




 Default                Overridden
                         Default
Features can be shared
            Central
           Repository




 Default                Default
Features can be shared
                Central
               Repository




  Default
Needs Review                Default
Features can be shared
            Central
           Repository




 Default                Default
Reason




#6
Features make deployment easy




     Central
    Repository
Features make deployment easy




     Central
    Repository
Features make deployment easy




     Central
    Repository
Features make deployment easy




     Central
    Repository
Reason




#7
Features makes major upgrades possible
Drupal          Images
Modules         mp3
Themes          Attachments


Content types   Nodes
Roles           Users
Vocabularies    Terms
Functionality    Content

Drupal          Images
Modules         mp3
Themes          Attachments


Content types   Nodes
Roles           Users
Vocabularies    Terms
Drupal          Images
Modules         mp3
Themes          Attachments


Content types   Nodes
Roles           Users         DB
Vocabularies    Terms
Drupal          Images
Modules         mp3
Themes          Attachments


Content types   Nodes
Roles           Users         DB
Vocabularies    Terms
Reason




#8
Reason




#9
Fourth Law of Software Development:


       “When you let your clients change things,
                     they break.”
Fourth Law of Software Development:


       “When you let your clients change things,
                     they break.”
Fourth Law of Software Development:


       “When you let your clients change things,
                     they break.”
                         override
Reason




#10
You?
:-)
questions?
http://cph2010.drupal.org/node/15028

More Related Content

Similar to 10 Reasons why you should be using features for your Drupal project

Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
Roopa Nadkarni
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
Lauren Roth
 

Similar to 10 Reasons why you should be using features for your Drupal project (20)

Features
FeaturesFeatures
Features
 
Drupal
DrupalDrupal
Drupal
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
Drupal in 30 Minutes
Drupal in 30 MinutesDrupal in 30 Minutes
Drupal in 30 Minutes
 
Drupal as a Programmer-Friendly CMS at ConFoo
Drupal as a Programmer-Friendly CMS at ConFooDrupal as a Programmer-Friendly CMS at ConFoo
Drupal as a Programmer-Friendly CMS at ConFoo
 
D7presentation
D7presentationD7presentation
D7presentation
 
Online Drupal Training Syllabus
Online Drupal Training SyllabusOnline Drupal Training Syllabus
Online Drupal Training Syllabus
 
Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8Top 8 Improvements in Drupal 8
Top 8 Improvements in Drupal 8
 
Anatomy of Drupal
Anatomy of DrupalAnatomy of Drupal
Anatomy of Drupal
 
Automation in Drupal
Automation in DrupalAutomation in Drupal
Automation in Drupal
 
Open Source CMS Certification
Open Source CMS CertificationOpen Source CMS Certification
Open Source CMS Certification
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
 
Recipes for Drupal distributions
Recipes for Drupal distributionsRecipes for Drupal distributions
Recipes for Drupal distributions
 
Drupal -Introduction to Drupal
Drupal -Introduction to DrupalDrupal -Introduction to Drupal
Drupal -Introduction to Drupal
 
44 Slides About 22 Modules
44 Slides About 22 Modules44 Slides About 22 Modules
44 Slides About 22 Modules
 
Drupal 8 - Core and API Changes
Drupal 8 - Core and API ChangesDrupal 8 - Core and API Changes
Drupal 8 - Core and API Changes
 
Domas monkus drupal module development
Domas monkus drupal module developmentDomas monkus drupal module development
Domas monkus drupal module development
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
IoT with Vaadin Elements
IoT with Vaadin ElementsIoT with Vaadin Elements
IoT with Vaadin Elements
 
Automating Drupal Deployment
Automating Drupal DeploymentAutomating Drupal Deployment
Automating Drupal Deployment
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

10 Reasons why you should be using features for your Drupal project

Editor's Notes

  1. Add animation for
  2. Screenshot from terribly confusing website
  3. Image source: http://www.superaction.com/website108/108/classic/
  4. Image source: http://www.superaction.com/website108/108/classic/
  5. Image source: http://www.superaction.com/website108/108/classic/