The Harvard School of Engineering and Applied Sciences (SEAS) wanted to launch a dynamic network of websites that attracts prospective students and promotes academic activities both internally and externally. SEAS engaged Jazkarta, a Boston-based open source technology consultancy specializing in Plone, on a project to build a set of websites that achieve these goals. Jazkarta redesigned SEAS' existing public website, constructed an intranet site that allows SEAS to provide up-to-date information to their community of faculty, staff and students, and developed a facility for deploying faculty and lab subsites within the site infrastructure.
Mike Trachtman, Project Manager at Jazkarta, will present a case study of the project that covers development processes, designing highly available and scalable Plone site architectures, integrating/creating Plone components to satisfy functional requirements of .EDU websites, and repeatable deployment of customized Plone software solutions.
The Ultimate Guide to Choosing WordPress Pros and Cons
Plone at Harvard SEAS: Implementing an Open Source CMS
1. Plone at Harvard SEAS
Michael Trachtman, Project Manager, Jazkarta
PLONE
SYMPOSIUM EAST
PENN STATE
open source technology solutions
2009
2. Plone at Harvard SEAS
• Overview
• Requirements and Solutions
• Implementation
• Status and Takeaways
• Q&A
3. Overview
PLONE
SYMPOSIUM EAST
PENN STATE
open source technology solutions
2009
4. About Jazkarta
• Open source technology consultancy
• Working with nonprofits and .EDUs
• Oxfam
• CMRLS
• Harvard
• We like chowda
5. About Harvard SEAS
• SEAS - School of Engineering and Applied
Sciences
• Part of FAS
• Founded 1847/1950
• 350 graduate students, 300 undergrads,
~70 faculty
7. seas user community
FACULTY &
STUDENTS RESEARCHERS
HARVARD COMMUNITY
SEAS COMMUNITY
8. Current Setup
• www.seas.harvard.edu
• HTML hand-edited, backed by dynamic
scripting
• Site stats, October 2007:
• www: 530,000 page serves per day (5-10
rps)
• subsites: 99,000 page serves per day
(2-5 rps)
9. Business Objectives
• Develop with flexible CMS that is easy to
use for non-technical community
• Provide integrated directory
• Offer robust site and directory search
tool
• Use familiar open source tools
10. Team Roles
• SEAS • Jazkarta
• Dean’s Office, • Project
Communications Management
and IT
• Information
• Sponsor and Design
Stakeholder
• Visual Design
• Resource
• Software
Procurement Architecture
and Development
11. Process
• Agile management and development principles
(iterative, transparent, adaptive)
• Weekly status and bi-weekly on-sites
• ClueMapper (“Super Trac”) for planning/
documentation/ticketing
• Google Docs for shared resources
• Functional test plans
• LDAP schema references
12. Cluemapper
• “Super-TRAC”
• Multi-project, single instance, TTW project
onboarding
• Shared authentication system for Trac and
Subversion
• Integrated time-tracking, pastebin
• WYSIWYG wiki editing
• http://www.cluemapper.org
13. Timeline
January 2008 - Kickoff
April 2008 - Designs Completed
November 2008 - BETA
January 2009 - Intranet Launched
April 2009 - First Subsites Launched
July 2009 - Public Site Launch
14. Requirements and
Solutions
PLONE
SYMPOSIUM EAST
PENN STATE
open source technology solutions
2009
15. help!
HOW DO I OBTAIN A
DIgITAL COPy OF
THE SEAS LOgO/
SEAL?
How do I
plan an event
at SEAS?
How do I get a website what research is
for myself or my lab? happening in the
applied physics
department?
16. Choosing a Platform
• University supportive of open source
• Familiar to IT office - Drupal and Plone
• Required easy content editing, workflow,
access control, news and event
management
• Integration capabilities with LDAP-based
directory (authentication and non-
biographical information)
18. Intranet
• Repository for shared information
• Targeted at internal users
• Directory and site search
• Internal news, events and important
announcements
• Public and protected information
• Department landing pages - who does what?
• FAQs, How-tos, policies and procedures
21. Public Site
• Site redesign with a focus on research
• Organized resources by research area
• User-targeted content (prospective
students, alumni, partners)
• Highlight activity via news and events
• Directory and site search
24. Subsites
• Relieve load for communications and IT
• Provide microsites for faculty, research groups
and special events like conferences
• Accessible for the technically challenged; easy =
fresh
• Separate visual theme with some customizability
with adherence to university standards
• Distinct access control specifications
• Shared infrastructure and online procurement
25.
26. Implementation
PLONE
SYMPOSIUM EAST
PENN STATE
open source technology solutions
2009
27. Implementation
• Story development • Development and
Deployment
• Information and
Visual Design • Content Migration
• Software • Testing and
Architecture Acceptance
28. Story development
• Defined stories, ran a card sort
• Grouped stories into high-level groups
for classification and prioritization
• Developed iteration plans based on task
estimation
29. Information and Visual Design
• Focus on Research - strip out the
marketing speak
• Reinforce Harvard brand
• Information architecture pre-established
• Delivered wireframes and comps
• Iterative
31. software architecture
CLIENT browser
FRONT END
presentation
caching
web server
web server
Deliverance
theming
load balancing
pound
app server
app server
app server
app server
BACK END
directory
application directory
server
database
database
server
database
server
32. Server Architecture
• VMWare virtual environment
• Web servers load balanced with hardware
• Varnish for caching Plone content
• Software load balancers for ZEO clients
• Heartbeat for failover
• Supervisor for process control
33. Development and Deployment
• Deployment configurations via Buildout
• Separation of theming from application
programming using Deliverance
• Repeatable deployment across server
infrastructure via Fabric
• Repeatable load testing setup (jMeter)
36. Content Migration
• Handled exclusively by the SEAS team
• New designs and different approach to
targeting users required new content
• Plone training - general user training +
train the trainer
students: find available programs of study, research opportunities
faculty & researcher: connect with research opps
harvard comm: understand functional structure, key aims and mission
seas comm: understand functional structure, key aims and mission
students: find available programs of study, research opportunities
faculty & researcher: connect with research opps
harvard comm: understand functional structure, key aims and mission
seas comm: understand functional structure, key aims and mission
students: find available programs of study, research opportunities
faculty & researcher: connect with research opps
harvard comm: understand functional structure, key aims and mission
seas comm: understand functional structure, key aims and mission
students: find available programs of study, research opportunities
faculty & researcher: connect with research opps
harvard comm: understand functional structure, key aims and mission
seas comm: understand functional structure, key aims and mission
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control
4 phyiscal hosts, each with 16 cores and 64 GB of RAM
6 Virtual servers, 1 CPU per server, 4 GB of RAM per server
VMWare virtual environment
Web servers load balanced in hardware
Varnish for caching Plone content
Software load balancers for ZEO clients
Heartbeat for failover
Supervisor for process control