Download presentation
Presentation is loading. Please wait.
Published byScarlett Hood Modified over 9 years ago
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 aversion to cute animals
2
Features in the Real World... The Good, The Bad & The Ugly Kristen Pol CruzTech, LLC (Freelance) Web, Drupal & SEO drupal@kristen.org Santa Cruz, CA
4
What 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
5
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
6
Clear as Mud?
7
mycoolmodule.module What is Features?
8
Common Use Case The Old Way... DEV SITE - Step #1: Configure your content types
9
Common Use Case The Old Way... DEV SITE - Step #2: Configure your views
10
Common Use Case The Old Way... DEV SITE - Step #3: Configure your imagecache presets
11
Common Use Case The Old Way... DEV SITE - Step #4: Configure your permissions
12
Common Use Case The Old Way... DEV SITE - Step #5: Configure some other stuff
13
How do I get all these changes to the staging and live site??? Step #1: Configure your content types Step #2: Configure your views Step #3: Configure your imagecache presets Step #4: Configure your permissions Step #5: Configure some other stuff Step #6: Pray that you didn't screw anything up Step #7: Figure out what is wrong and fix it
15
Step #1: Configure your content types Step #2: Configure your views Step #3: Configure your imagecache presets Step #4: Configure your permissions Step #5: Configure some other stuff Step #6: Create your feature module Common Use Case The New Way...
16
How do I get all these changes to the staging and live site??? Step #1: Copy feature module Step #2: Enable feature module Step #3: Smile!
17
Demo... 10:45
18
More Reasons... 11:00
19
Settings are Saved in Code Revisioning system See changes in module Tag revisions Revert back to old tags
20
Port your Module to Another Site Reusable features Requires careful thought Beware of dependencies Watch out for conflicts
21
Share Between Developers Sharing is nice! Coordination is required Different feature modules for different developers
22
Push Changes to Staging & Live Sites Streamline deployment Keep sites in better sync Less downtime
23
Know If Something Has Changed Spying is good Diff module is your friend Catch problems before they break your site
24
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...
25
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)
26
What Should NOT Be Saved? Do NOT save variables that change automatically in code or very BAD or very UGLY things may happen...
27
Push 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
28
The Good Config in code Reusable features Better collaboration Easier deployment Track changes
29
The Bad Cannot save everything Can have a gazillion checkboxes UI is slow for large features Javascript-only UI
30
The 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
31
Drush 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
32
Features 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
33
Q&A
34
Thank you...
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.