X All The Things: Enterprise Content Management

95
X All The Things Enterprise Content Management 7/20/2013

description

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.

Transcript of X All The Things: Enterprise Content Management

Page 1: X All The Things: Enterprise Content Management

X All The ThingsEnterprise Content Management

7/20/2013

Page 2: X All The Things: Enterprise Content Management

Who this is for

• Developers and site builders

• Project stakeholders

Page 9: X All The Things: Enterprise Content Management
Page 10: X All The Things: Enterprise Content Management
Page 11: X All The Things: Enterprise Content Management

The client

Page 12: X All The Things: Enterprise Content Management

“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

Page 13: X All The Things: Enterprise Content Management

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

Page 14: X All The Things: Enterprise Content Management
Page 15: X All The Things: Enterprise Content Management
Page 16: X All The Things: Enterprise Content Management
Page 17: X All The Things: Enterprise Content Management

Existing solution

• Custom-written commerce engine

• No dynamic CMS

• Content primarily stored in static HTML files

• Publishing content and pushing code are similar process

Page 18: X All The Things: Enterprise Content Management

New platform objectives

• Dynamic CMS

• Mobile first

• Integrates with existing ecommerce system

Page 19: X All The Things: Enterprise Content Management

Platform architecture

Page 20: X All The Things: Enterprise Content Management

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

Page 21: X All The Things: Enterprise Content Management

English: branda.com

Spanish: branda.com/es

German: branda.chFrench: branda.ch/frItalian: 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

Page 23: X All The Things: Enterprise Content Management

Revision all the things

Page 24: X All The Things: Enterprise Content Management

Content management

• “Content” includes any public-facing text or media

• Able to be saved to multiple revisions, including dra!s

• Subject to editorial workflow

Page 25: X All The Things: Enterprise Content Management

Revisions

• More like “versions”

• Keep old copies of content

• Ideally, work on multiple versions of content at once

Page 26: X All The Things: Enterprise Content Management
Page 27: X All The Things: Enterprise Content Management

Drupal revision support

• Keeps history of previous copies

• Can’t edit two copies independently

• No working dra!s

• Only applies to nodes

• Only published/unpublished states

Page 28: X All The Things: Enterprise Content Management
Page 29: X All The Things: Enterprise Content Management

Workflow requirements

• Add more states for content, like “dra!,” “needs review,” “approved”

• Restrict access to managing content by state

• Restrict access to transition the state of content

Page 30: X All The Things: Enterprise Content Management

Applying workflow to all content

• Nodes

• Menus

• Blocks

Page 31: X All The Things: Enterprise Content Management
Page 32: X All The Things: Enterprise Content Management
Page 33: X All The Things: Enterprise Content Management
Page 34: X All The Things: Enterprise Content Management
Page 35: X All The Things: Enterprise Content Management

Solution: nodes!

• Drupal provides revisions for entities and fields

• Nodes have publication status and access control

• Existing contrib modules for workflow play nice

Page 36: X All The Things: Enterprise Content Management

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

Page 37: X All The Things: Enterprise Content Management

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

Page 38: X All The Things: Enterprise Content Management
Page 39: X All The Things: Enterprise Content Management
Page 40: X All The Things: Enterprise Content Management

Solution: Nodeblock

• Block content managed as a node

• As a node, the block content becomes revisionable`

Page 41: X All The Things: Enterprise Content Management
Page 42: X All The Things: Enterprise Content Management
Page 43: X All The Things: Enterprise Content Management

Solution: State Flow

• Highly configurable workflow solution

• API-driven, developer-friendly

• Augments Drupal’s publishing controls and revision history

Page 44: X All The Things: Enterprise Content Management
Page 45: X All The Things: Enterprise Content Management

Revision tagging

• Each revision can be labelled

• All content revisions with a tag can be acted on

Page 46: X All The Things: Enterprise Content Management
Page 47: X All The Things: Enterprise Content Management
Page 48: X All The Things: Enterprise Content Management

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

Page 49: X All The Things: Enterprise Content Management
Page 50: X All The Things: Enterprise Content Management
Page 51: X All The Things: Enterprise Content Management

Potential Drupal 8 improvements

• Entities everywhere

• Content Staging Initiative and Site Preview System

Page 53: X All The Things: Enterprise Content Management

Layout all the things

Page 54: X All The Things: Enterprise Content Management

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

Page 55: X All The Things: Enterprise Content Management

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

Page 56: X All The Things: Enterprise Content Management
Page 57: X All The Things: Enterprise Content Management
Page 58: X All The Things: Enterprise Content Management
Page 59: X All The Things: Enterprise Content Management
Page 60: X All The Things: Enterprise Content Management

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

Page 61: X All The Things: Enterprise Content Management
Page 62: X All The Things: Enterprise Content Management
Page 63: X All The Things: Enterprise Content Management
Page 64: X All The Things: Enterprise Content Management
Page 65: X All The Things: Enterprise Content Management
Page 66: X All The Things: Enterprise Content Management

Other benefits

• Allows node-specific layouts, even within one content type

• Layouts can be shared across content types

Page 67: X All The Things: Enterprise Content Management

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

Page 68: X All The Things: Enterprise Content Management

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

Page 69: X All The Things: Enterprise Content Management
Page 70: X All The Things: Enterprise Content Management
Page 71: X All The Things: Enterprise Content Management

Solution: Embedabbles

• Allows block content to be placed into rich text contexts

• Effectively allows revisioning of block placement within that context

Page 72: X All The Things: Enterprise Content Management
Page 73: X All The Things: Enterprise Content Management
Page 74: X All The Things: Enterprise Content Management
Page 75: X All The Things: Enterprise Content Management
Page 76: X All The Things: Enterprise Content Management
Page 77: X All The Things: Enterprise Content Management
Page 79: X All The Things: Enterprise Content Management

Translate all the things

Page 80: X All The Things: Enterprise Content Management

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

Page 81: X All The Things: Enterprise Content Management

“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

Page 82: X All The Things: Enterprise Content Management

English (U.S.)

English (U.K.)

German

Page 83: X All The Things: Enterprise Content Management

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

Page 84: X All The Things: Enterprise Content Management
Page 85: X All The Things: Enterprise Content Management
Page 86: X All The Things: Enterprise Content Management

Solution: Content translation + i18n

Page 87: X All The Things: Enterprise Content Management
Page 88: X All The Things: Enterprise Content Management

Solution: Custom extension for subscriptions + UI enhancements

Page 89: X All The Things: Enterprise Content Management
Page 90: X All The Things: Enterprise Content Management

Solution: Domain with custom extensions

Page 91: X All The Things: Enterprise Content Management
Page 92: X All The Things: Enterprise Content Management

Potential Drupal 8 improvements

• More i18n functionality in core

• Translatable entities

• Simplify UI for managing content translations

Page 93: X All The Things: Enterprise Content Management

Thanks

Page 94: X All The Things: Enterprise Content Management

Questions?

Page 95: X All The Things: Enterprise Content Management

PHASE2TECHNOLOGY.COM