Plone at the University of Washington

66
Plone at the University of Washington Melody Winkle Web Collective October 27, 2010 Plone Conference 2010

Transcript of Plone at the University of Washington

Page 1: Plone at the University of Washington

Plone at the University of Washington

Melody WinkleWeb Collective

October 27, 2010Plone Conference 2010

Page 2: Plone at the University of Washington
Page 3: Plone at the University of Washington

University of Washington

● Large research university● 3 campuses● 47,000 students● 30,000 faculty and staff● 140 departments● $1 billion in research funding● 900,000 pages indexed by Google

Page 4: Plone at the University of Washington

What was the Project?

● Move the central UW web site into Plone● Centrally supported pages

– For everybody's use

– Maintained by UW Marketing team

● Most sites at the UW are maintained by local development teams

Page 5: Plone at the University of Washington

Goals of Project

● Centrally support a CMS for common navigation and branding

● Looks like everybody is part of the university

● Web site creation and maintenance easy for users

● Provide features not available to people coding HTML in Notepad

Page 6: Plone at the University of Washington

Ultimate Goal for Plone support

● Provide Plone sites for any group who wants one

● Central support (hard to charge money)

Page 7: Plone at the University of Washington

The Idea of a Central CMS

● People still want autonomy, but support and buy in for central CMS has been strong

● People are clamoring for tools

Page 8: Plone at the University of Washington

Economic Realities

● People want to play but don't have resources

● Departments are losing resources● Need for central CMS became even

greater● People want to be part of the brand, but

they need help and tools to do it

Page 9: Plone at the University of Washington

Achievements

● Home Page maintained in Plone● Hundreds of central pages created, served

from Plone● More editors are being added to the site

Page 10: Plone at the University of Washington

Agile

● Project management methodology● Iterations● User stories

– features are expressed in user stories "As a web manager, I want to understand the best option for blogging in Plone so that editors will be able to easily create and maintain blogs."

Page 11: Plone at the University of Washington

More Agile

● Acceptance tests– Objective statement of functionality: "The

proposed blogging solution can support use of categories (controlled vocabularies)"

Page 12: Plone at the University of Washington

Agile Meetings

● Daily standup– People working on the site meet together

for 15 minutes (longer, discussed requirements)

● Demo Reviews– Live demonstration of finished stories

– Discussion

– Retrospective

Page 13: Plone at the University of Washington

Agile Meetings

● Iteration Planning– Choosing stories for the next go-round

– Estimating and prioritizing

Page 14: Plone at the University of Washington

Project Stats

● 12 iterations● 2 weeks in length● Launch prep

– Design changes

– Templating

– Performance work

Page 15: Plone at the University of Washington
Page 16: Plone at the University of Washington

Team for the Project

● UW Marketing team– Gina Hills - Associate Director, Web

Communications

– Tim Chang-Miller - Web Producer

– Jeff Hendrickson - Web Editor

– Chris Heiland - Web Developer

Page 17: Plone at the University of Washington

UW Marketing Team, cont

– Kilian Frey – Graphic Designer

– Dane Odekirk – Web Programmer

– Frank Fujimoto – Software Engineer, UW Information Technology

Page 18: Plone at the University of Washington
Page 19: Plone at the University of Washington

The Team, continued

● Web Collective team– Melody Winkle - Project manager

– Derek Hoshiko - Project manager

– Bryan Wilson – Developer

– Ross Patterson - Developer (consultant for Web Collective)

Page 20: Plone at the University of Washington

One Site vs Many

● One site for unified navigation● One site is more complex

– Bigger

– Many template exceptions

– Need to manage more permissions

Page 21: Plone at the University of Washington
Page 22: Plone at the University of Washington

Site Software

● Plone 3.3.5● Zope (latest)

Page 23: Plone at the University of Washington

Installed Products

● Theming– Web Couturier Dropdown menu 2.0

– Plone JQuery Tools Integration 1.0dev

● Navigation– Portlet Navigation Extended 1.0.2

● Editing– TinyMCE Editor Support 1.1rc9

Page 24: Plone at the University of Washington

Installed Products

● Syndication– Feedfeeder 2.0

– Products.fatsyndication 1.0.1

● Multimedia– Flowplayer 3.0b3

– plone.app.blob: ZODB Blob support 1.1

– plone.app.imaging 1.0

Page 25: Plone at the University of Washington

Installed Products

● Forms– Form Criteria 2.0dev

● Maps– Maps 2.0.3

● Authentication/Authorization– WebServerAuth 1.5

– LDAP support 1.1

– UW Plone LDAP 0.1

Page 26: Plone at the University of Washington

Installed Products

● Custom Products– UW Marketing Theme

– UW Marketing Site 0.2

Page 27: Plone at the University of Washington

Hardware

● Slicehost● 4 GB RAM● 2 instances● 1 ZEO

Page 28: Plone at the University of Washington

Architecture

Page 29: Plone at the University of Washington

Site Visits

● 350,000 visits/week for the live Zope pages

● 450,000 visits/week for the Home Page

Page 30: Plone at the University of Washington

Site Statistics

● 50 users● 15 groups● 3200 objects in the site

Page 31: Plone at the University of Washington

Workflow/Roles

● Simple Publication Workflow● Managers – core Marketing team● Other groups

– Editors

– Readers

Page 32: Plone at the University of Washington

XDV

● Theming was done with XDV● Theme HTML file● rules.xml file● Compile with XDV complier into XSLT file● XSLT file is used by Apache

Page 33: Plone at the University of Washington

Approaches to Theming

● collective.xdv● Deliverance● XDV with mod_transform

Page 34: Plone at the University of Washington

XDV

● Apache mod_transform● Used dv.xdv server● Workflow

– Make change locally

– Commit change

– Update on uwplone2

– Rerun theme buildout

Page 35: Plone at the University of Washington

What We're Doing with XDV

● Using mod_filter– Lets us specify different transform sets

based on location

– Hoping to use it for content types

– Got Plone to return the content type in the header

– Needed a new Apache module to use it

Page 36: Plone at the University of Washington

More with XDV

● Did a lot of work outside the rules.xml file● Complicated transforms● Editing XSL

Page 37: Plone at the University of Washington

Custom Features

● Tiles– Blades on Home Page

– Portal tiles

● Portal Types– Spotlight story (page)

– Tiles

– Portlets

● Portlets - 'Edit Portlet'

Page 38: Plone at the University of Washington

Tiles

● Blades on Home Page● Tiles on Portals

Page 39: Plone at the University of Washington
Page 40: Plone at the University of Washington
Page 41: Plone at the University of Washington
Page 42: Plone at the University of Washington
Page 43: Plone at the University of Washington

Portals

● Custom type● Top section● Middle tiles● Bottom portlets

Page 44: Plone at the University of Washington
Page 45: Plone at the University of Washington
Page 46: Plone at the University of Washington

Portlets

● Edit Portlets● Lots of portlets

Page 47: Plone at the University of Washington
Page 48: Plone at the University of Washington
Page 49: Plone at the University of Washington

Successes

● Two very strong developers● Communication

– Standup

– Face-to-face meetings, training

– Time with developers

– Web/sysadmin part of team

Page 50: Plone at the University of Washington

Successes

● Training– Bryan learning XDV a few weeks ahead,

but still teaching

– Chris, Tim learning Plone and XDV

– Good decisions in where to spend time around training

– UW team now responsible for site

Page 51: Plone at the University of Washington

Successes

● Attitudes– People all dedicated to the project

– Everybody worked together

● Quality– Pleasure to work on a big project with a

team that has high standards

Page 52: Plone at the University of Washington
Page 53: Plone at the University of Washington

Challenges

● Communication– more face time earlier

– remote debugging hard

– remote communication more difficult

– primer on terminology

Page 54: Plone at the University of Washington

Agile Process

● User stories were confounding● Bryan came in later to a massive backlog

and designs from DNA● Translation between design and stories

would have helped● Looking at the whole process more

broadly - avoid the tunnel vision

Page 55: Plone at the University of Washington

Learning Plone

● Demo at beginning– User Interface

– Back end

● Best way to learn is to use the tools

Page 56: Plone at the University of Washington

Content

● Helps to get real content in as soon as possible

● Start with content type that makes up 90% of content, rather than the specialized type

Page 57: Plone at the University of Washington

Design

● Design – initial design changed a lot● Many design iterations while developing

theme● Design changes were in response to

testing and political realities

Page 58: Plone at the University of Washington

Development

● Complex project– new features would cause earlier ones to

break

● Issues wouldn't get fixed until later

Page 59: Plone at the University of Washington

Testing

● Challenging to get features tested right away

● Unit tests didn't cover everything● More testing after rollouts● Longer debugging period

Page 60: Plone at the University of Washington

Launch

● More time for launch● Lots of content going in● Many design changes● Performance issues

Page 61: Plone at the University of Washington

What UW Team Wishes Plone Did● More portable portlets● More portable URLs – ResolveUID caused

some problems● Image handling

– Can't always delete images

– Credits field as option

● Easier editing– More drag-and-drop for layout

Page 62: Plone at the University of Washington

More Wishes for Plone

● Dropdown that would allow a editor to change the layout or theme their site/section uses would be ideal.

Page 63: Plone at the University of Washington

Future Plans

● Move to Plone 4● Move to in-house dedicated boxes● XDV for theming? mod_transform is fast,

but development workflow is hard because of complexity

Page 64: Plone at the University of Washington

Future Plans, cont.● XDV to theme non-Plone sites

– Drupal implementation

– Wordpress implementation

– Hand-coded header/footer

Page 65: Plone at the University of Washington

CMS at the UW● Plone just one of several● More sites on Drupal

– Cheaper, simpler hosting

– Harder on the users

● Joomla dying out● UW Medicine, Business on Sharepoint

Page 66: Plone at the University of Washington

Any Questions?

● http://www.washington.edu/● http://www.webcollective.coop/● [email protected]