Drupal Deployment

An Introduction to Features Module




JAMES SANSBURY * DO IT WITH DRUPAL 2011
The Problem
‣   Content and Configuration are sleeping together
‣   Content and Configuration are sleeping together
‣   No standard for storing configuration
‣   Content and Configuration are sleeping together
‣   No standard for storing configuration
    ‣ Variable table
‣   Content and Configuration are sleeping together
‣   No standard for storing configuration
    ‣ Variable table


    ‣ Custom data store
‣   Content and Configuration are sleeping together
‣   No standard for storing configuration
    ‣ Variable table


    ‣ Custom data store


    ‣ Even [gasp] entities
Oh noes!
Solutions
Solutions

‣   Update hooks
Solutions

‣   Update hooks
‣   SQL Queries
Solutions

‣   Update hooks
‣   SQL Queries
‣   Patterns (http://drupal.org/project/patterns)
Solutions

‣   Update hooks
‣   SQL Queries
‣   Patterns (http://drupal.org/project/patterns)
‣   Exportables
Enter the Features Module
What is Features Module?
What is Features Module?


Features module
What is Features Module?


Features module is a module
What is Features Module?


Features module is a module that creates modules
What is Features Module?


Features module is a module that creates modules
called ‘features’.
What is Features Module?




        [FAIL
Features module is a module that creates modules
called ‘features’.




        ]
What is Features module?
What is Features module?

‣   Exports configuration to code
What is Features module?

‣   Exports configuration to code
‣   Creates a module for that code (called a feature)
What is Features module?

‣   Exports configuration to code
‣   Creates a module for that code (called a feature)
‣   Monitors discrepancies
What is Features module?

‣   Exports configuration to code
‣   Creates a module for that code (called a feature)
‣   Monitors discrepancies
‣   Provides tools to resolve those discrepancies
What is a “feature” module?
What is a “feature” module?

‣   A module
What is a “feature” module?

‣   A module
‣   Glue code
What is a “feature” module?

‣   A module
‣   Glue code
‣   Satisfies a specific use case
Let’s try it!
Step back.
Step back.
Namespace.
Use version control.
Be careful.
Be careful. Easy can still be powerful.
And we all lived happily ever after.
Tools to help you along the way

‣   The Kit specification: lb.cm/kit
‣   Drupal.org features: lb.cm/drupal-org-features
‣   Boxes: lb.cm/boxes
‣   Debut: lb.cm/debut
‣   Features Override: lb.cm/features-override
‣   Features Plumber: lb.cm/features-plumber
‣   UUID Features: lb.cm/uuid-features
‣   Features issues: lb.cm/features-issues
Questions?

Drupal Deployment

  • 1.
    Drupal Deployment An Introductionto Features Module JAMES SANSBURY * DO IT WITH DRUPAL 2011
  • 2.
  • 4.
    Content and Configuration are sleeping together
  • 5.
    Content and Configuration are sleeping together ‣ No standard for storing configuration
  • 6.
    Content and Configuration are sleeping together ‣ No standard for storing configuration ‣ Variable table
  • 7.
    Content and Configuration are sleeping together ‣ No standard for storing configuration ‣ Variable table ‣ Custom data store
  • 8.
    Content and Configuration are sleeping together ‣ No standard for storing configuration ‣ Variable table ‣ Custom data store ‣ Even [gasp] entities
  • 9.
  • 10.
  • 11.
    Solutions ‣ Update hooks
  • 12.
    Solutions ‣ Update hooks ‣ SQL Queries
  • 13.
    Solutions ‣ Update hooks ‣ SQL Queries ‣ Patterns (http://drupal.org/project/patterns)
  • 14.
    Solutions ‣ Update hooks ‣ SQL Queries ‣ Patterns (http://drupal.org/project/patterns) ‣ Exportables
  • 15.
  • 16.
  • 17.
    What is FeaturesModule? Features module
  • 18.
    What is FeaturesModule? Features module is a module
  • 19.
    What is FeaturesModule? Features module is a module that creates modules
  • 20.
    What is FeaturesModule? Features module is a module that creates modules called ‘features’.
  • 21.
    What is FeaturesModule? [FAIL Features module is a module that creates modules called ‘features’. ]
  • 22.
  • 23.
    What is Featuresmodule? ‣ Exports configuration to code
  • 24.
    What is Featuresmodule? ‣ Exports configuration to code ‣ Creates a module for that code (called a feature)
  • 25.
    What is Featuresmodule? ‣ Exports configuration to code ‣ Creates a module for that code (called a feature) ‣ Monitors discrepancies
  • 26.
    What is Featuresmodule? ‣ Exports configuration to code ‣ Creates a module for that code (called a feature) ‣ Monitors discrepancies ‣ Provides tools to resolve those discrepancies
  • 27.
    What is a“feature” module?
  • 28.
    What is a“feature” module? ‣ A module
  • 29.
    What is a“feature” module? ‣ A module ‣ Glue code
  • 30.
    What is a“feature” module? ‣ A module ‣ Glue code ‣ Satisfies a specific use case
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
    Be careful. Easycan still be powerful.
  • 39.
    And we alllived happily ever after.
  • 40.
    Tools to helpyou along the way ‣ The Kit specification: lb.cm/kit ‣ Drupal.org features: lb.cm/drupal-org-features ‣ Boxes: lb.cm/boxes ‣ Debut: lb.cm/debut ‣ Features Override: lb.cm/features-override ‣ Features Plumber: lb.cm/features-plumber ‣ UUID Features: lb.cm/uuid-features ‣ Features issues: lb.cm/features-issues
  • 41.

Editor's Notes