Published in 1885,
    Shared on
 Christian Science Publishing Society
About Blend
Christian Science Church
• Started with eZ via Christian Science
  Monitor

• Replace 40 co-mingled WPMU sites,
  Java/XML based CMS
Christian Science
    Publishing Society
• Handles all publishing operations of
  the church

• Christian Science Monitor
• Christian Science Journal
 • Monthly publication
 • First edition in 1883
Christian Science
     Publishing Society
• Christian Science Sentinel
 • Weekly Publication
 • First edition in 1898
• Christian Science Herald
 • 14 languages
 • Various schedules
 • First edition in 1903
Publishing Environment
                    Combined Print Magazine Sales 1991-2011
380,000,000




347,500,000




315,000,000




282,500,000




250,000,000
           1991   1993   1995   1997     1999   2001   2003   2005   2007     2009      2011

                                       Total Unit Sales
                                                                     Source: MPA, magazine.org
Value in Back Archives
Value in Back Archives
Value in Back Archives
Value in Back Archives
Project Overview
Project Overview
• Bring every article published in
  these periodicals online.
Project Overview
• Bring every article published in
  these periodicals online.

• Permissive business model to grant
  subscribers access and allow for
  content sharing and free content
  selected by editors.
Project Overview
• Bring every article published in
  these periodicals online.

• Permissive business model to grant
  subscribers access and allow for
  content sharing and free content
  selected by editors.

• Deep search functionality to support
  archivists as well as casual
  searchers.
Methodology
Methodology
• All back issues destructively
  scanned and OCR’d.

• Each article manually converted to
  PRISM XML, OCR errors removed,
  and marked up.

• eZ imports PRISM XML to digitally
  re-assemble issues.

• Scans provided for access to
  original content placement.
Features
Features
Features
Features
Features
Project
Management
Blend’s Approach
Blend’s Approach
• “Only work successful projects”
Blend’s Approach
• “Only work successful projects”
• Client selection
Blend’s Approach
• “Only work successful projects”
• Client selection
• Plan well, fail early (Agile)
Blend’s Approach
• “Only work successful projects”
• Client selection
• Plan well, fail early (Agile)
• Partnership and transparency
Agile as a Consultant
Agile as a Consultant
• Agile: “Keep iterating until it’s right”
• Consulting: “Tell me how much to
  budget and when we’ll be done”
Agile as a Consultant
• Agile: “Keep iterating until it’s right”
• Consulting: “Tell me how much to
  budget and when we’ll be done”

• Loads of discussion, not used much
  in practice
Agile as a Consultant
• Agile: “Keep iterating until it’s right”
• Consulting: “Tell me how much to
  budget and when we’ll be done”

• Loads of discussion, not used much
  in practice

• Massive pressure to bill hours
  instead of build process
Agile as a Consultant
• Agile: “Keep iterating until it’s right”
• Consulting: “Tell me how much to
  budget and when we’ll be done”

• Loads of discussion, not used much
  in practice

• Massive pressure to bill hours
  instead of build process

• Payoff in the long run
Phases
• Project broken down in to
  manageable major phases

• Each ~6 weeks - 6 months
• Worked as individual projects, with
  eye towards dependencies

• Each phase launch-ready
Phases
Work Breakdown
Sprints
• Biweekly Deliverables
• Client involved in approval and
  testing

• Meetings to demo deliverables
Instrumentation
Instrumentation
• Issue tracking
Instrumentation
• Issue tracking
• Burndown
Instrumentation
• Issue tracking
• Burndown
• Time tracking
Client Involvement
• Ideally, single point of contact to
  serve as project manager

• Client involved with testing and
  feedback

• Client directly participates in issue
  tracker
Technical
Challenges
Scale
Scale
Dates
• eZ Date datatype: 1970
• Older PHP date functions: 1901 (32-
  bit int)

• Communication with Solr for range
  functions, etc.

• BlendArchiveDate: drop-in
  replacement for eZDate
Porous Paywall
Porous Paywall
Porous Paywall
Porous Paywall
Porous Paywall
Static Assets
• 3TB of PDFs and JPG scans
• Never change
• Not indexed
Static Assets
Static Assets
Background Processing


  Worker
              Gearman
              Daemon
   Client
Background Processing
Background Processing
Background Processing
Cache
  “There are only two hard
things in computer science:
 cache invalidation, naming
   things, and off-by-one
           errors.”
                 -- Tim Bray
Cache Block Invalidation
Hosting Architecture
Questions?
        Joe Kepley
     Blend Interactive

http://blendinteractive.com
    http://github.com/
      blendinteractive
   http://joind.in/7526

        @joekepley

Published in 1885 and shared on facebook

Editor's Notes