continuous delivery with content management and ugc

12
Continuous Delivery with Content Management Systems (CMS) and User-Generated Content (UGC) Matthew Skelton 23 rd October 2013 #londoncd meetup group @matthewpskelton

Upload: matthew-skelton

Post on 13-May-2015

797 views

Category:

Technology


2 download

DESCRIPTION

Like salmon swimming upstream, user-generated content (UGC) and changes from content management systems (CMS) need to flow in the opposite direction to most software product changes. What strategies exist for reconciling the bidirectional flow (applications & features vs. content)? How can we bring upstream-moving content into our deployment pipeline, in which everything flows down towards Production?

TRANSCRIPT

Page 1: Continuous Delivery with Content Management and UGC

Continuous Delivery with Content Management

Systems (CMS) and User-Generated

Content (UGC)

Matthew Skelton23rd October 2013

#londoncd meetup group

@matthewpskelton

Page 2: Continuous Delivery with Content Management and UGC

CMS and UGC

• Content Management System–WordPress, Drupal, CQ5, Magnolia,

Sitecore, SharePoint (?!)

• User-Generated Content– Reviews, photos, ratings

Page 3: Continuous Delivery with Content Management and UGC

What’s the Problem?

Photo: Ingy the Wingy http://www.flickr.com/photos/ingythewingy/5740856803/

Much contemporary CMS-managed content and UGC is not simply static but changes application functionality

Page 4: Continuous Delivery with Content Management and UGC

Made in Production ®

• Non-technical content authors– New pages, widgets, workflow

• End users– Graph connections, tagging

Page 5: Continuous Delivery with Content Management and UGC

New Functionality

• Ideal: flow down new functionality and behaviour from Dev

• Reality: CMS and UGC introduce new behaviour and functionality directly in Production

Page 6: Continuous Delivery with Content Management and UGC

What do Humble & Farley say?

“In most cases, don’t use dumps of the production dataset for testing purposes. Create custom datasets by carefully selecting a smaller subset of production data” p.344

... but not much more than this

Page 7: Continuous Delivery with Content Management and UGC

Example Strategies

1. Remove the Problem– Avoid CMS– Decouple UGC

2. Embrace the Problem– Testing– More testing

Page 8: Continuous Delivery with Content Management and UGC

Remove the Problem

• Ditch the CMS– Use plain HTML fragments + tooling– Flow down the pipeline– Package Management for

dependency graph

• Decouple UGC– JavaScript client-side integration

Page 9: Continuous Delivery with Content Management and UGC

Embrace the Problem

• Front-end tests in Production– Use Staging?

• Identify new pages/features, extract, bring back– Track content with UUIDs

• Pre-live environment with data regularly synched from Prod

Page 10: Continuous Delivery with Content Management and UGC

Content Flow: ‘Upstream’

Photo: Karen Miller, http://www.flickr.com/photos/tmtht/4029281127/

Page 11: Continuous Delivery with Content Management and UGC

Other Approaches?

• Performance Testing?– Data dumps

• ‘Content Platform’?– ETL approaches

• (No correct answers)

Page 12: Continuous Delivery with Content Management and UGC

Discussion Time!

Matthew Skelton@matthewpskelton

London Continuous Delivery meetup group:@londoncdhttp://londoncd.org.uk/