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/


Recommended