SlideShare a Scribd company logo
http://tiny.cc/9r0s3




                       Features++
           Doing more with features, tips for
             feature-driven development

By Jay Callicott
Mediacurrent Consultant
Drupalcamp Atlanta 2010
Oct 2, 2010
Features++ Outline

 Features Extra
 Strongarm settings
 Context & Features
 Panels & Features
 Adding stuff that isn't exportable
 Real World Examples!
Features Extra Module

 http://drupal.org/project/features_extra
 Export items that the features module
 does support
 Adds 'machine_name' option to taxonomy,
 nodequeue, etc
 Still in development =(
 Exportables
    Taxonomy (vocab & terms)
    Blocks
    Nodequeue
Features Extra Nodequeue




                           Adds a machine
                           name field
Stongarm settings

 http://drupal.org/project/strongarm
 Strongarm lets you override settings
 A must-have module!
    Allows you to export more settings
    Anything in variable table
 When exporting a content type, strongarm
 will automatically export many node type
 settings
Stongarm settings




 this can be overwhelming...
Stongarm + content type




 Auto-adding node
 type settings
Context & Features

 http://drupal.org/project/context
 Context is used primarily for block
 placement (admin/build/block
 replacement)
 Exports to features out of the box
 (Screenshots next)
Context Example Screenshot
Adding Context to a Feature
Panels & Features

 Panels export to features easily
     Falls under 'Panels' or 'Page Manager'
     in dropdown in components
 I like panels for node layouts!
     (screenshots next)
Panels Feature Example


context
placed
blocks
                         panel
                         regions &
                         views
Panels Feature Underneath...
Panel Feature Underneath




Using CCK, views, panel, strongarm
Adding a Panel to a Feature




             under "Panels" or "Page Manager"
How to export non-exportables

 Features doesn't export everything, but it's
 still a module!
 Next: simple example, creating a
 vocabulary with a feature
    If you don't trust features_extra this
    could be helpful...
How to export non-exportables

                                   Using hook_install() &
                                   hook_uninstall()




  (Remember features_extra can export taxonomy)
  Could export nodes (node_export) & use node_save to
  create on install
  Anything you can do in a module you can do in a feature
Real World Examples!

 Seeing is believing, some (more) real
 world screenshots of feature lists
Real World List Screenshots
Real World List Screenshots
Real World List Screenshots
Real World Screenshots


The trend is I
always have at least
1 feature for each
content type
The End
Resources                                    http://tiny.cc/9r0s3
  DevSeed Blog
     http://developmentseed.org/blog
  Features Project Page
     http://drupal.org/project/features
  Strongarm Project Page
     http://drupal.org/project/strongarm
  Features Extra Project Page
     http://drupal.org/project/features_extra
  My DrupalDojo Presentation
     http://drupaldojo.com/session/features-everywhere-
     feature-driven-development

Hit me up on twitter: http://twitter.com/drupalninja/

Questions??

More Related Content

Features++

  • 1. http://tiny.cc/9r0s3 Features++ Doing more with features, tips for feature-driven development By Jay Callicott Mediacurrent Consultant Drupalcamp Atlanta 2010 Oct 2, 2010
  • 2. Features++ Outline Features Extra Strongarm settings Context & Features Panels & Features Adding stuff that isn't exportable Real World Examples!
  • 3. Features Extra Module http://drupal.org/project/features_extra Export items that the features module does support Adds 'machine_name' option to taxonomy, nodequeue, etc Still in development =( Exportables Taxonomy (vocab & terms) Blocks Nodequeue
  • 4. Features Extra Nodequeue Adds a machine name field
  • 5. Stongarm settings http://drupal.org/project/strongarm Strongarm lets you override settings A must-have module! Allows you to export more settings Anything in variable table When exporting a content type, strongarm will automatically export many node type settings
  • 6. Stongarm settings this can be overwhelming...
  • 7. Stongarm + content type Auto-adding node type settings
  • 8. Context & Features http://drupal.org/project/context Context is used primarily for block placement (admin/build/block replacement) Exports to features out of the box (Screenshots next)
  • 10. Adding Context to a Feature
  • 11. Panels & Features Panels export to features easily Falls under 'Panels' or 'Page Manager' in dropdown in components I like panels for node layouts! (screenshots next)
  • 14. Panel Feature Underneath Using CCK, views, panel, strongarm
  • 15. Adding a Panel to a Feature under "Panels" or "Page Manager"
  • 16. How to export non-exportables Features doesn't export everything, but it's still a module! Next: simple example, creating a vocabulary with a feature If you don't trust features_extra this could be helpful...
  • 17. How to export non-exportables Using hook_install() & hook_uninstall() (Remember features_extra can export taxonomy) Could export nodes (node_export) & use node_save to create on install Anything you can do in a module you can do in a feature
  • 18. Real World Examples! Seeing is believing, some (more) real world screenshots of feature lists
  • 19. Real World List Screenshots
  • 20. Real World List Screenshots
  • 21. Real World List Screenshots
  • 22. Real World Screenshots The trend is I always have at least 1 feature for each content type
  • 23. The End Resources http://tiny.cc/9r0s3 DevSeed Blog http://developmentseed.org/blog Features Project Page http://drupal.org/project/features Strongarm Project Page http://drupal.org/project/strongarm Features Extra Project Page http://drupal.org/project/features_extra My DrupalDojo Presentation http://drupaldojo.com/session/features-everywhere- feature-driven-development Hit me up on twitter: http://twitter.com/drupalninja/ Questions??