The Christian Science Monitor
Liferay + Alfresco Case Study
The CS Monitor at a Glance
• International Newspaper
• Founded in 1908 by Mary Baker Eddy
– Founder and Discoverer of Christian Science
• Secular Content, one Christian Science Article / edition
• Publishes a print based product Sunday through
Thursday.
• Publishes to the web Sunday through Thursday with
updates and breaking news through the weekend.
• 7 Pulitzer Prizes
Agenda
• Introduction
• High Level Requirements
– Website and Content Production
– Costs
– Application/Content (Site) Delivery Platform
– Enterprise Content Repository
• CS Monitor Program Overview
• Technical Architecture
High Level Requirements: Sites
• It has to be easy to manage our sites
– Manage pages / classes of pages
– Add applications to a page
– Choose and schedule (Dynamic) content
– Change look and feel.
– Continuous publishing (no editions, no additional manual labor
required)
• Tiered production skill-sets
– Low (as in NO) tech skill-set required to alter a page or modify
content assets.
– Template based content and application configuration
– HTML. CSS. and template modification
– Application installation / configuration
– Application Development
Tier the work
N ew C ode
N ew Application
Hand Crafted Html
Scripting
Compose New Tempates
Configure Existing Components
High Level Requirements: Website
and Content Production
• Build a web uniform web platform to
consolidate / replace existing site
infrastructure.
– www.csmonitor.com
– www.TFCCS.com (The First Church of Christ, Scientist)
– www.Spirituality.com
– www.christianScience.com
– www.mbelbh.org
– www.myopendoors.org
– www.TMCYouth.org
– www.TMCShare.org
– Many other small ‘situational’ sites
High Level Requirements: Costs
• Lower Cost (vs. traditionally paid)
– Commodity hardware (No Big Iron)
– No upfront software costs (Open Source)
– Put the investment where it counts (Our people)
– Centralized / Common Approach
• Small IT and IT Related staff proportional to the number
and complexity of sites. Approach needs to be similar in
order for the staff to provide a high quality of support.
High Level Requirements: Platform
• Common Hardware Infrastructure
– Maximum Leverage of Hardware Assets
– Addition Hardware benefits the whole (Farm)
– High Availability
– Scalable
– Capable of leveraging outside compute
resources when we know we need it (CDN)
• Common Software Platform
– Pluggable
– Support for a range of site archetypes
• ‘Situational’ websites (HTML, some PHP, Generally static)
• Fully Featured commerce and personalized user experience
– Support for both Java and Scripting Languages (PHP)
– Consistent Framework
– Configuration / Deployable Management
High Level Requirements: Enterprise
Content Repository
• Organization wide repository for content Assets
– Article / Story
– Book Manuscript
– Audio
– Video
– Image
– Compilations
– Transcripts
– Hard Assets (Searchable Catalog)
• Security / Ownership
– Assets are owned by business units but can be shared with other business
units (think Bank Account – One Vault)
• Basic Workflow integration
• Versioning
• File Plan / Content Retention
• Ability to scale storage
• High Availability
End State High Level Data Flow
Publishing /
Prepre ss
Publishing /
Editorial
Publishing / Print
Publishing /
Editorial
Business Units
Editorial Publishing System Publications
BusinessEditorial
Units
Business Units
Business Units K4
Multi Media
Producers
Rights
Management
Web Teams Enterprise Content Staff
WCM Repository
Non Web
Non Web
Non Web
Renditions
Renditions
Renditions
Content
Enhancers Content / Application
Delivery Platform
We would like to see a lot more input in to
the repository and a good deal of additional
outputs or draws on the repository than is
possible for me to demonstrate here .
Spirituality .com
TFCCS .com
Public Sites Intra /extranet What we are looking for is re -use of assets .
Where We are: High Level Data Flow
(Content)
• CS Monitor Program
Prepre ss
CS Monitor Publishing System Print – Bring Hosting Infrastructure in house
Publications
K4
• Cost Savings
• Freedom to scale up the use of the infrastructure
– Intermediate Redesign
Rights
Management • Introduction of the Liferay Platform
Web Staff Lite Enterprise
Content Repository
Staff
• Increased ad Revenue
• Wider format
• Ability to change outputs produced by legacy content management
system
Content / Application
Delivery Platform
– Web Publishing based on XML
• Introduction of the Alfresco platform
• Removed the need for site production staff to code HTML in order to
post a story (XFORMS).
CS Monitor • Template based presentation
• Requires 1/3 of the staff to do daily production.
• Staff is free to work on special projects
– Replace Quark QPS with K4
• Modernize the publishing system (Quark in place for ~ 10 years.)
• Tools based on Adobe Creative suite
– Build out of basic Application Infrastructure
• Basic Content Repository Capability
• Services pattern and initial services
Why Liferay
• Application Aggregation Layer
• Strong Usability
– Strong Drag and Drop
– Theme Selection
– Layout Selection
– Virtual Page Structure
• Profile
• Personalization
• Single Sign on
• Relevant Portlets
– Forums
– Chat
Why Alfresco?
• Content Production Side
– Solid Repository based on modern technology
– Strong extensibility JCR Support
– Custom Workflow model LDAP integration
– JBPM Integration CIFS Interface
• Delivery Side
– Consistent technology choice
– Lucene Queries are powerful
• Other
– XForms Integration WCM is a promising platform
Choosing A Platform: Dealing with the
Overlap
Enterprise Portal Framework
Applications Portal
Content
Management
Configuration
Management Identity
Management
Publishing
System
Dealing with Overlap
• Many of these products do similar things
– Choose the tool for the space that covers most of
your needs.
– Core vs. Context seems to be a good approach
• Responsibility of Liferay
– Act as our aggregation layer
• Bring applications together on a layout to form a page
• Define the layout
• Inform the look and feel via theme
• Aggregate identity
• Let the applications contain the domain ‘intelligence’
Dealing with Overlap
• Responsibility of Alfresco
– Primary Role is as a repository
– Handle workflow
– Support basic collaboration
– Support deployment and ‘publishing’
Jboss /Liferay (JRAY )
PHP Applications
Static sites etc
Stage and Production
Production Presentation
Life of the K 4 / Adobe Desktop Client Lifecycle of
K 4 Web Client
Content Font Server
the Content
Merlin Wires
Publishing Core Web Core
Alfresco repository to
Alfresco CM /WCM
repository /web sersever
Input into publishing System : Watched folders
Output into publishing System : Raw format and XML
Ranking
Syndication
Alfresco repository to Emails
repository /site publishing
FOLDER Etc
mechanism
Entire Life of
the Content
CIFS Projection
of repository CSM PERL
CM Core FOLDER FOLDER
WEB System
FOLDER
CIFS Projection
of repository
Physical Schematic
tx e
Ci ri Ne tsca l r L o a d
a t o
l
Ba l n ce rs wi h fa i ve r
NS -XX
t
Pu b si e -p -a p p -XX
Pro d u cti n Ap p l a ti n
o c
i o some .other. static . site .com
Se rve r
Jb o ss / L i e ra y Po rta l
f static .csmonitor . com
(JRAY )
www.csmonitor . com
n tp e
Ho sti g m u l i l JRAY
co n fi u ra ti n s .
g o www. another.com
u n
JRAY Cl ste ri g a cro ss
co m m o n se rve rs
f
Ad d se rve r i n e e d e d
c s
Ea ch p h ysi a l se rve r i
e n
ca p a b l o f h o sti g
se ve ra l Jb o ss / JRAY
e i
a
Go o g l Ap p l n ce
n
i sta n ce s .
i o
c
Ea ch a p p l a ti n se rve r HTTP Re q u e st
M X1 a n d M X2 Sh a re d IP Ad d re ss
n e
h a s a si g l Ap a ch e
a
vi SM TP / DNS Na m e
c
se rve r wh i h se rve s a s
n r n
p o i t fo r vi tu a l h o sti g
t
Pu b si e -p -d b -XX
c
a n d ve ry b a si re wri e t
M ySQL Se rve r
e
ru l s .
10G
f s c s
L i e ra y i a g n o sti to wh a t i o n th e b a cke n d s o
. Da ta i d e p l ye d th ro u g h th e
i o
c n u s fe t
a p p l a ti n a n d e a ch n o d e i th e cl ste r i n o ti i d to u p d a te i s ca ch e
g l l
a t g o
Hi h Ava i b i y M ySQL co n fi u ra ti n b a se d o n DRDB a n d He a rtb e a t .
CSMONITOR g o s
Co n fi u ra ti n i M a ste r n am
/ M a ste r . Acti g M a ste r cl i s th e sh a re d IP Ad d re ss .
SOME OTHER CLUSTER
Platform Schematic
ROOT CONTEXT
REQ
Pipeline
Service APIS POSIT Framework
Content S erv ic es
Cont ent Rank ing
Profi le S ervic es
S cheduling
Targeti ng
P rov iders
S erv ic es
Content
S ervic e
S ervic e
Portlet Portlet Portlet Portlet Alfresco Repository
Liferay
JCR AFL
JNDI
JBOSS
Redhat Linux
Open Source Under the Hood
OSCache
JSF Chiba POSIT
Liferay
Spring Alfresco Portlet
Hibernate Quartz JCR
MySQL JBoss
Redhat Linux
Looking at a solution for PHP and Javascript integration
Note the technologies below are not integrated with our stack
caucho
Rhino
Q&A
Questions?
Thanks!
Russ Danner
Christian Science Monitor
dannerr@csps.com