THE LEADER IN DRUPAL PLATFORM DESIGN AND DEVELOPMENT
Wednesday, September 19, 12
ENERGY.GOV
Wednesday, September 19, 12
WHO IS PHASE2?
Wednesday, September 19, 12
PLATFORM SPECIALISTS
Wednesday, September 19, 12
PLATFORM SPECIALISTS
Wednesday, September 19, 12
DRUPAL COMMUNITY
55 12 50+ 4Involved Drupal
Professionals
Speakers atDrupalCon
Denver
Key ModulesMaintained
DistributionsMaintained
Wednesday, September 19, 12
THE NEW ENERGY.GOVWednesday, September 19, 12
PRIMARY PROJECT GOALS• Consolidation of 100’s of office sites
• Technology
• Hosting
• Design
• Content
• Maintenance
Wednesday, September 19, 12
TECHNOLOGY GOALS• Choose the right technology for the future.
• Transform technology exercises into content exercises, especially the creation of office sites.
• Empower the content creators
Wednesday, September 19, 12
FUTURE-PROOFING THE STACK
Wednesday, September 19, 12
“”Tim O’Reilly
An invention has to make sense in the world it finishes in, not in the world it started.
Wednesday, September 19, 12
DRUPAL 7• January 5, 2011
Drupal 7 released
• April 8, 2011Energy.gov development started
• August 3, 2011Energy.gov launched
• August 2013Drupal 8 released / Drupal 6 EOL
Wednesday, September 19, 12
NEW IN DRUPAL 7• Entities and fields
• DB API and EntityFieldQuery
• Image styles
• UX improvements for administrators
• Scalability & Performance enhancements
Wednesday, September 19, 12
DRUPAL CONTRIB• Organic Groups
• Context
• Field modules (Address, Link, Date, Refereneces, etc.)
• Media
• and many, many more
Wednesday, September 19, 12
SUPPORTING TECHNOLOGY• Apache SOLR
• Memcached
• Jenkins
Wednesday, September 19, 12
OFFICE SITES
Wednesday, September 19, 12
OFFICESWednesday, September 19, 12
OFFICE SITE REQUIREMENTS• Creation & maintenance without additional
development or infrastructure.
• Separate teams for each office.
• Shared content between offices.
Wednesday, September 19, 12
ORGANIC GROUPS
Wednesday, September 19, 12
ORGANIC GROUPS• Create groups
• Content is added to groups
• Users are members of groups
• Membership-based access control
• Any fieldable entity can be a group or a member of a group.
Wednesday, September 19, 12
GROUP TYPEWednesday, September 19, 12
GROUP MEMBERSHIPWednesday, September 19, 12
OFFICES AS ORGANIC GROUPS• Each office is a taxonomy term in the
“Offices” vocabulary
• Each office can be enabled as a group
• Group-enabled offices are fully managed from this platform.
• Non-group offices contain links and information about the external site.
Wednesday, September 19, 12
OFFICESWednesday, September 19, 12
OFFICE CREATION• Create the Office taxonomy term
• Create the “Home page” node
• Create the “News page” node
• Create the “Contact Us” node
• ...
Wednesday, September 19, 12
OG TASKSWednesday, September 19, 12
EMPOWERING CONTENT CREATORS
Wednesday, September 19, 12
HURDLES• Page vs Node
• Block creation vs Block placement
• Revisions vs Drafts
Wednesday, September 19, 12
PAGES VS NODES
Wednesday, September 19, 12
PAGES VS NODES• Users think about Pages
• Pages with only blocks
• Publishing workflow doesn’t include block placements
Wednesday, September 19, 12
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.)
Wednesday, September 19, 12
BLOCK PLACEMENT WITHIN A PAGE NODEWednesday, September 19, 12
BLOCK PLACEMENT WITHIN A PAGE NODEWednesday, September 19, 12
BLOCK REFERENCES ALONG SIDE OTHER FIELDSWednesday, September 19, 12
Block reference fields
BLOCK REFERENCES ALONG SIDE OTHER FIELDSWednesday, September 19, 12
Text fields
BLOCK REFERENCES ALONG SIDE OTHER FIELDSWednesday, September 19, 12
BLOCK REFERENCES ON THE PAGE FORMWednesday, September 19, 12
BLOCK REFERENCES ON THE PAGE FORMWednesday, September 19, 12
BLOCK REFERENCES COMBINED WITH CONTEXTWednesday, September 19, 12
Block Reference fields
BLOCK REFERENCES COMBINED WITH CONTEXTWednesday, September 19, 12
Context
BLOCK REFERENCES COMBINED WITH CONTEXTWednesday, September 19, 12
BLOCK CREATION VS
BLOCK PLACEMENT
Wednesday, September 19, 12
USER GENERATED BLOCKS• Node-like blocks
• Fields
• Templates
• Listing blocks
• User-defined filters
• Pre-defined styles
Wednesday, September 19, 12
USER-GENERATED BLOCKSWednesday, September 19, 12
USER-GENERATED BLOCKSWednesday, September 19, 12
USER-GENERATED BLOCKSWednesday, September 19, 12
USER-GENERATED BLOCKSWednesday, September 19, 12
BEANS(BLOCK ENTITIES)
Wednesday, September 19, 12
BLOCK ENTITIES• Block types
• Fieldable
• Simple data storage for settings
• Non-admin permissions
• Data entry is familiar to users
Wednesday, September 19, 12
Wednesday, September 19, 12
Wednesday, September 19, 12
Input form for a listing bean. Explain how non-field beans work.
Wednesday, September 19, 12
Wednesday, September 19, 12
VIEW MODES• Previously called “Build modes”
• Provides multiple display options
• Out of the box
• Full content
• Teaser
• RSS
Wednesday, September 19, 12
NAMED STYLESBlock TeaserRelated Items
Wednesday, September 19, 12
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.
Wednesday, September 19, 12
DATA VISUALIZATIONS
Wednesday, September 19, 12
LIBRARIES• jqPlot
http://jqplot.com/
• The Jithttp://thejit.org/
• High Chartshttp://highcharts.com/
Wednesday, September 19, 12
DataVis formatted
data
JSON
Wednesday, September 19, 12
DataVis formatted
data
JSON
DataVisAdapter
Javascript
Wednesday, September 19, 12
DataVis formatted
data
JSON
DrupalModule
PHP
DataVisAdapter
Javascript
Wednesday, September 19, 12
Wednesday, September 19, 12
Wednesday, September 19, 12
Wednesday, September 19, 12
REVISIONS VS DRAFTS
Wednesday, September 19, 12
STANDARD WORKFLOW• Draft
• Needs Review
• Approved
• Published
• Unpublished
Wednesday, September 19, 12
OTHER REQUIREMENTS• Workflow setup in code
• Exportable, API, etc.
• Multiple concurrent revisions
• Draft revisions subject to workflow
• Published revision is not editable
Wednesday, September 19, 12
OPTIONS• Workflow
• Rules
• Workbench moderation
Wednesday, September 19, 12
STATEFLOW
Wednesday, September 19, 12
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
Wednesday, September 19, 12
Wednesday, September 19, 12
API FIRST• 100% implementable from code
• State Machine
• Customize by extending
• Workflow
• States
• Events
Wednesday, September 19, 12
LARGE SCALE DRUPAL - CONTENT STAGING INITIATIVEWednesday, September 19, 12
ITERATING
Wednesday, September 19, 12
POST-LAUNCH ADDITIONS• Bean usage report
• Node Bundles
• Event Calendars
• Group Privacy
• Automatic Sitemap
• Improved Media Library
Wednesday, September 19, 12
RESOURCES• Bean
http://drupal.org/project/bean
• OG Taskshttp://drupal.org/project/og_tasks
• DataViz Javascript Adaptershttp://github.com/treehouseagency/dataviz-adapters
• Data Visualization API for Drupalhttp://drupal.org/project/data_visualization
Wednesday, September 19, 12
RESOURCES (CONT.)• State Machine
http://drupal.org/project/state_machine
• Content Staging Initiativehttp://groups.drupal.org/large-scale-drupal-lsd-projects-and-plans/content-staging
Wednesday, September 19, 12
Director of Engineering
ROGER LÓPEZ
QUESTIONS?
Wednesday, September 19, 12
phase2technology.com@phase2tech
Wednesday, September 19, 12
Top Related