Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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

3

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

14

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


Download ppt "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."

Similar presentations


Ads by Google