Your SlideShare is downloading. ×
0
X All The Things
Enterprise Content Management
7/20/2013
Who this is for
• Developers and site builders
• Project stakeholders
Software Architect
Email: tcosgrove@phase2technology.com
Tim Cosgrove
Twitter: @timcosgrove
Software architect
Email: jturgeon@phase2technology.com
Joe Turgeon
Twitter: @arithmetric
Photo Credit: Allie
hyperboleandahalf.blogspot.com
Photo Credit: Allie
hyperboleandahalf.blogspot.com
Photo Credit: Allie
hyperboleandahalf.blogspot.com
Photo Credit: Allie
hyperboleandahalf.blogspot.com
The client
“Brand Z”
• “Global leader in prestige beauty”
• Conglomerate of 26 brands
• $10 billion in sales annually with $1 billion...
Core business needs
• Common architecture and infrastructure to build many sites
• Rapid roll out of regional site variant...
Existing solution
• Custom-written commerce engine
• No dynamic CMS
• Content primarily stored in static HTML files
• Publ...
New platform objectives
• Dynamic CMS
• Mobile first
• Integrates with existing ecommerce system
Platform architecture
Core capabilities
• Drupal based distribution
• Ability to build sites for each brand
• Ability to create regional variant...
English: branda.com
Spanish: branda.com/es
German: branda.ch
French: branda.ch/fr
Italian: branda.ch/it
“Brand A”
“Brand A...
image:
http://hyperboleandahalf.blogspot.com/2010/06/this-is-why-ill-never-be-adult.html
Revision all the things
Content management
• “Content” includes any public-facing text or media
• Able to be saved to multiple revisions, includin...
Revisions
• More like “versions”
• Keep old copies of content
• Ideally, work on multiple versions of content at once
Drupal revision support
• Keeps history of previous copies
• Can’t edit two copies independently
• No working drafts
• Onl...
Workflow requirements
• Add more states for content, like “draft,” “needs review,”
“approved”
• Restrict access to managin...
Applying workflow to all content
• Nodes
• Menus
• Blocks
Solution: nodes!
• Drupal provides revisions for entities and fields
• Nodes have publication status and access control
• ...
Menus
• Drupal menus are not strictly content nor site structure
• Admin UI for managing menus differs from managing nodes/...
Solution: Menu Field
• Menu-like content as a field
• As a node, the menu becomes revisionable
• Built to mirror Drupal me...
Solution: Nodeblock
• Block content managed as a node
• As a node, the block content becomes revisionable`
Solution: State Flow
• Highly configurable workflow solution
• API-driven, developer-friendly
• Augments Drupal’s publishi...
Revision tagging
• Each revision can be labelled
• All content revisions with a tag can be acted on
Publication and preview system
• Preview whole groups of content updates together
• Publish, unpublish, and manage the wor...
Potential Drupal 8 improvements
• Entities everywhere
• Content Staging Initiative and Site Preview System
image:
http://hyperboleandahalf.blogspot.com/2010/06/this-is-why-ill-never-be-adult.html
Layout all the things
Flexible layouts
• Select different templates to use for the same content type
• Allow users to define complex inputs for t...
Multiple layouts in content
• Layouts are independent of content type
• Multiple layouts can be used in one content type
•...
Solution: Template Field
• Allows a single field to contain many pieces of data
• Each template has HTML, optional CSS & J...
Other benefits
• Allows node-specific layouts, even within one content type
• Layouts can be shared across content types
Control over blocks
• Content editors need to create blocks freely
• Need to be able to place blocks as part of page conte...
Solution: Block Reference
• Insert blocks into nodes as field content
• In combination with a content block solution, allo...
Solution: Embedabbles
• Allows block content to be placed into rich text contexts
• Effectively allows revisioning of block...
image:
http://hyperboleandahalf.blogspot.com/2010/06/this-is-why-ill-never-be-adult.html
Translate
all the things
Content internationalization
• “Content” includes any public-facing text or media
• Content used in the CMS should be spec...
“Subscription” vs “localization”
• Subscribed content adopts a specific piece of content from another
language
• Localized...
English (U.S.)
English (U.K.)
German
Each translation is distinct
• Translations may not be literal
• The version of content for a particular market/language s...
Solution:
Content translation + i18n
Solution: Custom extension for
subscriptions + UI enhancements
Solution: Domain with custom
extensions
Potential Drupal 8 improvements
• More i18n functionality in core
• Translatable entities
• Simplify UI for managing conte...
Thanks
Questions?
PHASE2TECHNOLOGY.COM
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
X All The Things: Enterprise Content Management
Upcoming SlideShare
Loading in...5
×

X All The Things: Enterprise Content Management

735

Published on

This presentation accompanies Tim Cosgrove's (timcosgrove) and Joe Turgeon's (arithmetric) presentation at Twin Cities Drupal Camp 2013.

What do you do when you need all content changes to run through workflow? Not just nodes... ALL THE THINGS!

What about translating all the things? Or maintaining revisions for all the things? Or making all the things use a common template system? When usually nodes get all the attention, how do you provide this kind of control across all the things on your Drupal site?

This is a case study about how Phase2 met these challenges for a consumer products company. We discussed the platform architecture for managing sites for multiple brands in multiple markets and languages, and the site components for providing control over all aspects of all page content.

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

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

No notes for slide

Transcript of "X All The Things: Enterprise Content Management"

  1. 1. X All The Things Enterprise Content Management 7/20/2013
  2. 2. Who this is for • Developers and site builders • Project stakeholders
  3. 3. Software Architect Email: tcosgrove@phase2technology.com Tim Cosgrove Twitter: @timcosgrove
  4. 4. Software architect Email: jturgeon@phase2technology.com Joe Turgeon Twitter: @arithmetric
  5. 5. Photo Credit: Allie hyperboleandahalf.blogspot.com
  6. 6. Photo Credit: Allie hyperboleandahalf.blogspot.com
  7. 7. Photo Credit: Allie hyperboleandahalf.blogspot.com
  8. 8. Photo Credit: Allie hyperboleandahalf.blogspot.com
  9. 9. The client
  10. 10. “Brand Z” • “Global leader in prestige beauty” • Conglomerate of 26 brands • $10 billion in sales annually with $1 billion in online sales • Operates in 150 countries with 50 online • Sites in about 30 languages
  11. 11. Core business needs • Common architecture and infrastructure to build many sites • Rapid roll out of regional site variants • Multilingual ability for regional sites • Allow for broadly divergent designs within a site
  12. 12. Existing solution • Custom-written commerce engine • No dynamic CMS • Content primarily stored in static HTML files • Publishing content and pushing code are similar process
  13. 13. New platform objectives • Dynamic CMS • Mobile first • Integrates with existing ecommerce system
  14. 14. Platform architecture
  15. 15. Core capabilities • Drupal based distribution • Ability to build sites for each brand • Ability to create regional variants for each site • Advanced content management • Flexible layout system
  16. 16. English: branda.com Spanish: branda.com/es German: branda.ch French: branda.ch/fr Italian: branda.ch/it “Brand A” “Brand A” US site “Brand A” Switzerland site “Brand B” English: brandb.com Spanish: brandb.com/es “Brand B” US site English: brandb.ca French: brandb.ca/fr “Brand B” Canada site
  17. 17. image: http://hyperboleandahalf.blogspot.com/2010/06/this-is-why-ill-never-be-adult.html
  18. 18. Revision all the things
  19. 19. Content management • “Content” includes any public-facing text or media • Able to be saved to multiple revisions, including drafts • Subject to editorial workflow
  20. 20. Revisions • More like “versions” • Keep old copies of content • Ideally, work on multiple versions of content at once
  21. 21. Drupal revision support • Keeps history of previous copies • Can’t edit two copies independently • No working drafts • Only applies to nodes • Only published/unpublished states
  22. 22. Workflow requirements • Add more states for content, like “draft,” “needs review,” “approved” • Restrict access to managing content by state • Restrict access to transition the state of content
  23. 23. Applying workflow to all content • Nodes • Menus • Blocks
  24. 24. Solution: nodes! • Drupal provides revisions for entities and fields • Nodes have publication status and access control • Existing contrib modules for workflow play nice
  25. 25. Menus • Drupal menus are not strictly content nor site structure • Admin UI for managing menus differs from managing nodes/blocks • Not based on entities/fields
  26. 26. Solution: Menu Field • Menu-like content as a field • As a node, the menu becomes revisionable • Built to mirror Drupal menu output • Flexible menu content, images and rich text
  27. 27. Solution: Nodeblock • Block content managed as a node • As a node, the block content becomes revisionable`
  28. 28. Solution: State Flow • Highly configurable workflow solution • API-driven, developer-friendly • Augments Drupal’s publishing controls and revision history
  29. 29. Revision tagging • Each revision can be labelled • All content revisions with a tag can be acted on
  30. 30. Publication and preview system • Preview whole groups of content updates together • Publish, unpublish, and manage the workflow state of whole groups of content en masse
  31. 31. Potential Drupal 8 improvements • Entities everywhere • Content Staging Initiative and Site Preview System
  32. 32. image: http://hyperboleandahalf.blogspot.com/2010/06/this-is-why-ill-never-be-adult.html
  33. 33. Layout all the things
  34. 34. Flexible layouts • Select different templates to use for the same content type • Allow users to define complex inputs for the output of structured content • Allow users to build basic templates themselves and to reuse them
  35. 35. Multiple layouts in content • Layouts are independent of content type • Multiple layouts can be used in one content type • Editors can define own layouts in CMS
  36. 36. Solution: Template Field • Allows a single field to contain many pieces of data • Each template has HTML, optional CSS & JS • Can be in code, or DB; can be overridden • Because it’s a field, can be revisioned
  37. 37. Other benefits • Allows node-specific layouts, even within one content type • Layouts can be shared across content types
  38. 38. Control over blocks • Content editors need to create blocks freely • Need to be able to place blocks as part of page content • Need to be able to embed blocks in other content
  39. 39. Solution: Block Reference • Insert blocks into nodes as field content • In combination with a content block solution, allows reusable block content to be laid out in arbitrary layouts
  40. 40. Solution: Embedabbles • Allows block content to be placed into rich text contexts • Effectively allows revisioning of block placement within that context
  41. 41. image: http://hyperboleandahalf.blogspot.com/2010/06/this-is-why-ill-never-be-adult.html
  42. 42. Translate all the things
  43. 43. Content internationalization • “Content” includes any public-facing text or media • Content used in the CMS should be specific to a language • Content should also be specific to a region • Related translations grouped and accessible from the source node
  44. 44. “Subscription” vs “localization” • Subscribed content adopts a specific piece of content from another language • Localized content begins as a copy from another language, but can be edited independently and diverge
  45. 45. English (U.S.) English (U.K.) German
  46. 46. Each translation is distinct • Translations may not be literal • The version of content for a particular market/language should be managed separately from other markets/languages
  47. 47. Solution: Content translation + i18n
  48. 48. Solution: Custom extension for subscriptions + UI enhancements
  49. 49. Solution: Domain with custom extensions
  50. 50. Potential Drupal 8 improvements • More i18n functionality in core • Translatable entities • Simplify UI for managing content translations
  51. 51. Thanks
  52. 52. Questions?
  53. 53. PHASE2TECHNOLOGY.COM
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×