DruplCampNYC 10 - Energy.gov Case Study

1,582 views

Published on

This summer, the US Department of Energy re-launched Energy.gov on Drupal. The technical requirements of the project were driven by an internal need to consolidate the publishing and editorial resources of dozens of program offices. This session will discuss the challenges of developing a platform that will serve the current and future needs of the department, and the tools and techniques we developed along the way. We will also be discussing the projects that will be contributed back to the Drupal community on behalf of the work done for this project.

The technical discussion will include:

New techniques for block creation.
New techniques for page creation with custom block layouts.
State machine-based publishing workflows.
Custom data visualization framework.
API-centric module development.

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

No Downloads
Views
Total views
1,582
On SlideShare
0
From Embeds
0
Number of Embeds
316
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

DruplCampNYC 10 - Energy.gov Case Study

  1. 1. Energy.gov Case Study DrupalCampNYC 10 December 10, 2011 Roger LópezSunday, December 11, 11
  2. 2. Energy.gov Roger López ‣ VP, Engineering at Treehouse Agency ‣ Drupal.org member since July 2006 ‣ @zroger DrupalCampNYC 2011, Roger LópezSunday, December 11, 11
  3. 3. Sunday, December 11, 11
  4. 4. Energy.gov Project Goals ‣ Consolidation of 100’s of sub-sites ‣ Sub-site creation should not require developer intervention. ‣ Content should be easily shared between sub-sites. ‣ Maintain a uniform style across all sub-sites. DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  5. 5. Energy.gov Drupal 7 ‣ Released January 5, 2011 ‣ Target launch date: August 4, 2011 ‣ Drupal 6 will stopped being supported in about 2-3 years DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  6. 6. Energy.gov What about contrib? ‣ Entities and fields ‣ DB API and EntityFieldQuery ‣ Image styles ‣ ... DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  7. 7. Energy.gov Organic groups ‣ Create groups ‣ Content is added to groups ‣ Users are members of groups ‣ Membership-based access control DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  8. 8. Sunday, December 11, 11
  9. 9. Sunday, December 11, 11
  10. 10. Energy.gov Group Type DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  11. 11. Energy.gov Group Membership DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  12. 12. Energy.gov OG Usage ‣ Group type ‣ Office vocabulary terms ‣ Group content ‣ Articles ‣ Pages ‣ Blocks* DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  13. 13. Energy.gov Not all terms are created equal ‣ Internal sites are groups ‣ External sites are not ‣ Otherwise the same DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  14. 14. Sunday, December 11, 11
  15. 15. Energy.gov OG Tasks DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  16. 16. Energy.gov http://drupal.org/project/og_tasks DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  17. 17. BlocksSunday, December 11, 11
  18. 18. Energy.gov Block Creator != Administrator DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  19. 19. Energy.gov User generated Blocks ‣ Node-like blocks ‣ Fields ‣ Templates ‣ Listing blocks ‣ User-defined filters ‣ Pre-defined styles DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  20. 20. Sunday, December 11, 11
  21. 21. Sunday, December 11, 11
  22. 22. screenshot of listing block example, with highlights like previous slideSunday, December 11, 11
  23. 23. screenshot of listing block example, with highlights like previous slideSunday, December 11, 11
  24. 24. Energy.gov Beans (Block Entities) DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  25. 25. Energy.gov Block Entities ‣ Block types ‣ Fieldable ‣ Simple data storage for settings ‣ Non-admin permissions ‣ Data entry is familiar to users DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  26. 26. Sunday, December 11, 11
  27. 27. Sunday, December 11, 11
  28. 28. Input form for a listing bean. Explain how non- field beans work.Sunday, December 11, 11
  29. 29. Sunday, December 11, 11
  30. 30. Energy.gov View modes ‣ Previously called “Build modes” ‣ Provides multiple display options ‣ Out of the box ‣ Full content ‣ Teaser ‣ RSS DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  31. 31. Energy.gov Named styles ‣ Block teaser ‣ Related items DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  32. 32. Energy.gov Editorial listings ‣ Hand-selected listings of nodes ‣ Multiple Node Reference field ‣ View mode set in the Node Reference field settings ‣ Additional fields ‣ More link, Header text, etc. DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  33. 33. Energy.gov Block Placement DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  34. 34. Energy.gov Pages vs Nodes ‣ Users think about Pages ‣ Pages with only blocks ‣ Publishing workflow doesn’t include block placements DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  35. 35. Energy.gov Block References ‣ Block reference fields to emulate regions ‣ “Landing page” node types for each page layout ‣ Can be combined with other methods (context, core block module, etc.) DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  36. 36. Sunday, December 11, 11
  37. 37. Sunday, December 11, 11
  38. 38. Sunday, December 11, 11
  39. 39. Block reference fieldsSunday, December 11, 11
  40. 40. Text fieldsSunday, December 11, 11
  41. 41. Sunday, December 11, 11
  42. 42. Sunday, December 11, 11
  43. 43. Sunday, December 11, 11
  44. 44. Block Reference fieldsSunday, December 11, 11
  45. 45. ContextSunday, December 11, 11
  46. 46. Energy.gov Workflows DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  47. 47. Energy.gov Standard Workflow DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  48. 48. Energy.gov Standard Workflow ‣ Draft DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  49. 49. Energy.gov Standard Workflow ‣ Draft ‣ Needs Review DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  50. 50. Energy.gov Standard Workflow ‣ Draft ‣ Needs Review ‣ Approved DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  51. 51. Energy.gov Standard Workflow ‣ Draft ‣ Needs Review ‣ Approved ‣ Published DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  52. 52. Energy.gov Standard Workflow ‣ Draft ‣ Needs Review ‣ Approved ‣ Published ‣ Unpublished DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  53. 53. Energy.gov Other Requirements ‣ Workflow setup in code ‣ Exportable, API, etc. ‣ Multiple concurrent revisions ‣ Draft revisions subject to workflow ‣ Published revision is not editable DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  54. 54. Energy.gov Options ‣ Workflow ‣ Rules ‣ Workbench moderation DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  55. 55. Energy.gov StateFlow DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  56. 56. Energy.gov Revisions ‣ New nodes start as Drafts ‣ Published revisions are not editable ‣ Editing a published node creates a new draft revision ‣ Publishing a revision archives the current revision DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  57. 57. Energy.gov DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  58. 58. Energy.gov New Draft DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  59. 59. Energy.gov New Draft Reviewed DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  60. 60. Energy.gov New Draft Reviewed Published DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  61. 61. Energy.gov New Draft Reviewed Published Edit New Draft DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  62. 62. Energy.gov New Draft Reviewed Published Edit New Draft Reviewed DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  63. 63. Energy.gov New Draft Reviewed Published Archived Edit New Draft Reviewed Published DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  64. 64. Sunday, December 11, 11
  65. 65. Energy.gov API First ‣ 100% implementable from code ‣ State Machine ‣ Customize by extending ‣ Workflow ‣ States ‣ Events DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  66. 66. Energy.gov http://drupal.org/project/state_machine DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  67. 67. Energy.gov Data Visualizations DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  68. 68. Energy.gov Libraries ‣ jqPlot ‣ jqplot.com ‣ The Jit ‣ thejit.org ‣ High Charts ‣ highcharts.com DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  69. 69. Energy.gov DataVis formatted data JSON DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  70. 70. Energy.gov DataVis DataVis formatted Adapter data JSON Javascript DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  71. 71. Energy.gov DataVis Drupal DataVis formatted Module Adapter data PHP JSON Javascript DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  72. 72. Energy.gov DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  73. 73. Energy.gov DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  74. 74. Sunday, December 11, 11
  75. 75. Energy.gov Resources ‣ Bean http://drupal.org/project/bean ‣ OG Tasks http://drupal.org/project/og_tasks ‣ DataViz Javascript Adapters http://github.com/treehouseagency/dataviz-adapters ‣ Data Visualization API for Drupal http://drupal.org/sandbox/LSU_JBob/1299606 ‣ StateFlow http://drupal.org/sandbox/fmitchell/1298244 DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11
  76. 76. Energy.gov Plugs ‣ Treehouse Agency Blog http://treehouseagency.com/blog ‣ DrupalCampNYC, 2011, Roger LópezSunday, December 11, 11

×