Your SlideShare is downloading. ×
0
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Gov features
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Gov features

888

Published on

Published in: Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
888
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide




































































  • Transcript

    • 1. Using Features http://drupal.org/project/features
    • 2. Jeff Miccolis, Development Seed http://twitter.com/miccolis http://twitter.com/developmentseed
    • 3. In four parts 1.The problem 2.The solution 3.Distributing Features 4.Questions
    • 4. 1. The Problem
    • 5. Drupal’s strength is its weakness.
    • 6. No distinction between configuration & content.
    • 7. The Workflow Problem
    • 8. Development: where the action happens.
    • 9. Staging: where it’s reviewed.
    • 10. Production: http://www.mysite.com
    • 11. This is a story... http://developmentseed.org/blog/2009/jul/09/development- staging-production-workflow-problem-drupal
    • 12. Round one goes fine. Developer, designer & client get the site out the door.
    • 13. Round two is a PITA. New views build on development Rebuild on staging Rebuild on development Rebuild on staging Rinse, Repeat. Rebuild on production.
    • 14. Round two is a PITA. Requires extensive note taking Prone to human error Loads of repeated tasks
    • 15. 2. The Solution IMHO
    • 16. Make a distinction between configuration & content
    • 17. ...and write the configuration to code.
    • 18. What’s in code goes in version control.
    • 19. fig 1: Configuration components of a feature. This belongs in your codebase.
    • 20. Features module semantics
    • 21. Feature: module that contains collection of Drupal parts that do something specific.
    • 22. Features: Drupal module that allows for the capture of configuration into code.
    • 23. feature: something you want your website to do.
    • 24. features: a set of things you want your website to do.
    • 25. Yes, I’m sorry. It seemed like a good idea at the time.
    • 26. The Features module makes Feature modules, which have...
    • 27. Core exportables Content types Permissions Input filters Menu items
    • 28. Contrib support Contexts Views ImageCache Ctools
    • 29. Ctools is special Strongarm, Panels, Feeds, Data, etc...
    • 30. Features is a system to capture these components,
    • 31. ...these components are the configuration that describes how your site behaves.
    • 32. Features should be used throughout the development process,
    • 33. ...it won’t fight back, once you get the hang of it.
    • 34. Create a Feature
    • 35. Status of Features
    • 36. Status of Feature
    • 37. Create, Update, Revert
    • 38. Drush commands features List all the available features for your site. features export Export a feature from your site into a module. features update Update a feature module on your site. features revert Revert a feature module on your site.
    • 39. How this can work in development:
    • 40. Alex makes a feature.
    • 41. Alex makes a feature. Jeff adds a couple views.
    • 42. Alex makes a feature. Jeff adds a couple views. Young adds theme overrides.
    • 43. Alex makes a feature. Jeff adds a couple views. Young adds theme overrides. Alex fixes Jeff’s and Young’s bugs
    • 44. Alex makes a feature. Jeff adds a couple views. Young adds theme overrides. Alex fixes Jeff’s and Young’s bugs Rolled out.
    • 45. Alex makes a feature. Jeff adds a couple views. Young adds theme overrides. Alex fixes Jeff’s and Young’s bugs Rolled out. Jeff makes views adjustments
    • 46. Alex makes a feature. Jeff adds a couple views. Young adds theme overrides. Alex fixes Jeff’s and Young’s bugs Rolled out. Jeff makes views adjustments Rolled out.
    • 47. Alex makes a feature. Jeff adds a couple views. Young adds theme overrides. Alex fixes Jeff’s and Young’s bugs Rolled out. Jeff makes views adjustments Rolled out. Alex makes views adjustments, to fix Jeff’s...
    • 48. Alex makes a feature. Jeff adds a couple views. Young adds theme overrides. Alex fixes Jeff’s and Young’s bugs Rolled out. Jeff makes views adjustments Rolled out. Alex makes views adjustments, to fix Jeff’s... Young touches up the views styling
    • 49. Alex makes a feature. Jeff adds a couple views. Young adds theme overrides. Alex fixes Jeff’s and Young’s bugs Rolled out. Jeff makes views adjustments Rolled out. Alex makes views adjustments, to fix Jeff’s... Young touches up the views styling Rolled out.
    • 50. Views changes are made only once. Each change has a commit log.
    • 51. Less room for dumb errors. More accountability.
    • 52. It’s easier to do things right.
    • 53. Not having a distinction between configuration and code is bigger that just this one aspect.
    • 54. 3. Distributing Features
    • 55. Can I always share my configuration?
    • 56. How can I get that nifty update status thing behind the firewall?
    • 57. Feature Servers
    • 58. http://code.developmentseed.org/ featureserver/
    • 59. Feature Server allows you to create projects, make new releases... subscribe to updates via the Update status module...
    • 60. It is simple by design... For greater integration with version control systems or for automatic packaging consider using the Project module.
    • 61. Based on Drupal’s implicit standards. * update status xml * exportables * drush make
    • 62. 4. Questions?

    ×