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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
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)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 

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/