![Page 1: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/1.jpg)
Are You in the Right Are You in the Right Room?Room?
Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an aversion to cute animals
![Page 2: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/2.jpg)
Features in the Real World... Features in the Real World... The Good, The Bad & The UglyThe Good, The Bad & The Ugly
Kristen PolCruzTech, LLC (Freelance)
Web, Drupal & [email protected]
Santa Cruz, CA
![Page 3: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/3.jpg)
![Page 4: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/4.jpg)
What We'll CoverWhat We'll Cover What is the Features module Common use case How to create a feature module Reasons you should use it What can and cannot be saved What you should not save Pushing features to staging or live
![Page 5: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/5.jpg)
What is Features?What is Features?
“The features module enables the capture and management of features in Drupal. A feature is a collection of Drupal entities which taken together satisfy a certain use-case.”---- drupal.org/project/features
![Page 6: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/6.jpg)
Clear as Mud?Clear as Mud?
![Page 7: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/7.jpg)
mycoolmodule.modulemycoolmodule.module
What is Features?What is Features?
![Page 8: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/8.jpg)
Common Use CaseCommon Use CaseThe Old Way...The Old Way...
DEV SITE - Step #1: Configure your content typesDEV SITE - Step #1: Configure your content types
![Page 9: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/9.jpg)
Common Use CaseCommon Use CaseThe Old Way...The Old Way...
DEV SITE - Step #2: Configure your viewsDEV SITE - Step #2: Configure your views
![Page 10: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/10.jpg)
Common Use CaseCommon Use CaseThe Old Way...The Old Way...
DEV SITE - Step #3: Configure your imagecache DEV SITE - Step #3: Configure your imagecache presetspresets
![Page 11: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/11.jpg)
Common Use CaseCommon Use CaseThe Old Way...The Old Way...
DEV SITE - Step #4: Configure your permissionsDEV SITE - Step #4: Configure your permissions
![Page 12: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/12.jpg)
Common Use CaseCommon Use CaseThe Old Way...The Old Way...
DEV SITE - Step #5: Configure some other stuffDEV SITE - Step #5: Configure some other stuff
![Page 13: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/13.jpg)
How do I get all these changes How do I get all these changes to the staging and live site???to the staging and live site???
Step #1: Configure your content typesStep #1: Configure your content types
Step #2: Configure your viewsStep #2: Configure your views
Step #3: Configure your imagecache presetsStep #3: Configure your imagecache presets
Step #4: Configure your permissionsStep #4: Configure your permissions
Step #5: Configure some other stuffStep #5: Configure some other stuff
Step #6: Pray that you didn't screw anything upStep #6: Pray that you didn't screw anything up
Step #7: Figure out what is wrong and fix itStep #7: Figure out what is wrong and fix it
![Page 14: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/14.jpg)
![Page 15: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/15.jpg)
Step #1: Configure your content typesStep #1: Configure your content types
Step #2: Configure your viewsStep #2: Configure your views
Step #3: Configure your imagecache presetsStep #3: Configure your imagecache presets
Step #4: Configure your permissionsStep #4: Configure your permissions
Step #5: Configure some other stuffStep #5: Configure some other stuff
Step #6: Create your feature moduleStep #6: Create your feature module
Common Use CaseCommon Use CaseThe New Way...The New Way...
![Page 16: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/16.jpg)
How do I get all these changes How do I get all these changes to the staging and live site???to the staging and live site???
Step #1: Copy feature moduleStep #1: Copy feature module
Step #2: Enable feature moduleStep #2: Enable feature module
Step #3: Smile!Step #3: Smile!
![Page 17: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/17.jpg)
Demo...Demo...10:45
![Page 18: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/18.jpg)
More Reasons...More Reasons...
11:00
![Page 19: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/19.jpg)
Settings are Saved in CodeSettings are Saved in Code
Revisioning system See changes in module Tag revisions Revert back to old tags
![Page 20: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/20.jpg)
Port your Module to Port your Module to Another SiteAnother Site
Reusable features Requires careful thought Beware of dependencies Watch out for conflicts
![Page 21: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/21.jpg)
Share Between DevelopersShare Between Developers
Sharing is nice! Coordination is required Different feature modules for different developers
![Page 22: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/22.jpg)
Push Changes to Push Changes to Staging & Live SitesStaging & Live Sites
Streamline deployment Keep sites in better sync Less downtime
![Page 23: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/23.jpg)
Know If Something Know If Something Has ChangedHas Changed
Spying is good Diff module is your friend Catch problems before they break your site
![Page 24: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/24.jpg)
What Can Be Saved?What Can Be Saved?Anything* exportable or jiggered to work with features module...
CCK fields contexts content types dependencies imagecache presets menus menu links mini panels
panels permissions roles rules taxonomy variables (strongarm) views etc...
![Page 25: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/25.jpg)
What Cannot Be Saved?What Cannot Be Saved?
Anything already in code Content (nodes, comments, etc.) Blocks* Module settings that aren't exportable & aren't in variables table
* try features_extra module (in dev)
![Page 26: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/26.jpg)
What Should NOT Be Saved?What Should NOT Be Saved?
Do NOT save variables that change automatically in code or very BAD or very UGLY things may happen...
![Page 27: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/27.jpg)
Push to Staging & LivePush to Staging & Live Make sure your feature modules are updated Check in code to repository & create tag Put staging/live site in maintenance mode Back up staging/live database Add/update any contrib modules if necessary Push code to staging/live site Revert feature modules on staging/live site Do additional configuration as needed Test! Take out of maintenance mode
![Page 28: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/28.jpg)
The GoodThe Good
Config in code Reusable features Better collaboration Easier deployment Track changes
![Page 29: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/29.jpg)
The BadThe Bad
Cannot save everything Can have a gazillion checkboxes UI is slow for large features Javascript-only UI
![Page 30: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/30.jpg)
The UglyThe Ugly Browser can crash after you have clicked a gazillion checkboxes Saving certain variables can cause ugly things to happen Site can crash if you update feature modules before contrib modules
11:15
![Page 31: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/31.jpg)
DrushDrush
drush features drush features-update [feature-module(s)] drush features-update-all drush features-revert [feature-module(s)] drush features-revert-all drush features-diff [feature-module(s)] drush features-export ...
EXTRA
![Page 32: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/32.jpg)
Features HooksFeatures Hooks hook_features_api hook_features_export hook_features_export_alter hook_features_export_options hook_features_export_rebuild hook_features_export_render hook_features_export_revert hook_features_pipe_component_alter
EXTRA
![Page 33: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/33.jpg)
Q&AQ&A
![Page 34: Are You in the Right Room? Want to learn about Features module Are a beginner or intermediate drupaler who hasn't really used it yet Don't have an](https://reader035.vdocument.in/reader035/viewer/2022062519/5697bff21a28abf838cbbba4/html5/thumbnails/34.jpg)
Thank Thank you...you...