are you in the right room? want to learn about features module are a beginner or intermediate...

34
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

Upload: scarlett-hood

Post on 18-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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
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

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

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

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

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

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

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

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

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

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

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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thank Thank you...you...