plone at the university of washington
TRANSCRIPT
Plone at the University of Washington
Melody WinkleWeb Collective
October 27, 2010Plone Conference 2010
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
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
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
Ultimate Goal for Plone support
● Provide Plone sites for any group who wants one
● Central support (hard to charge money)
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
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
Achievements
● Home Page maintained in Plone● Hundreds of central pages created, served
from Plone● More editors are being added to the site
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."
More Agile
● Acceptance tests– Objective statement of functionality: "The
proposed blogging solution can support use of categories (controlled vocabularies)"
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
Agile Meetings
● Iteration Planning– Choosing stories for the next go-round
– Estimating and prioritizing
Project Stats
● 12 iterations● 2 weeks in length● Launch prep
– Design changes
– Templating
– Performance work
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
UW Marketing Team, cont
– Kilian Frey – Graphic Designer
– Dane Odekirk – Web Programmer
– Frank Fujimoto – Software Engineer, UW Information Technology
The Team, continued
● Web Collective team– Melody Winkle - Project manager
– Derek Hoshiko - Project manager
– Bryan Wilson – Developer
– Ross Patterson - Developer (consultant for Web Collective)
One Site vs Many
● One site for unified navigation● One site is more complex
– Bigger
– Many template exceptions
– Need to manage more permissions
Site Software
● Plone 3.3.5● Zope (latest)
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
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
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
Installed Products
● Custom Products– UW Marketing Theme
– UW Marketing Site 0.2
Hardware
● Slicehost● 4 GB RAM● 2 instances● 1 ZEO
Architecture
Site Visits
● 350,000 visits/week for the live Zope pages
● 450,000 visits/week for the Home Page
Site Statistics
● 50 users● 15 groups● 3200 objects in the site
Workflow/Roles
● Simple Publication Workflow● Managers – core Marketing team● Other groups
– Editors
– Readers
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
Approaches to Theming
● collective.xdv● Deliverance● XDV with mod_transform
XDV
● Apache mod_transform● Used dv.xdv server● Workflow
– Make change locally
– Commit change
– Update on uwplone2
– Rerun theme buildout
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
More with XDV
● Did a lot of work outside the rules.xml file● Complicated transforms● Editing XSL
Custom Features
● Tiles– Blades on Home Page
– Portal tiles
● Portal Types– Spotlight story (page)
– Tiles
– Portlets
● Portlets - 'Edit Portlet'
Tiles
● Blades on Home Page● Tiles on Portals
Portals
● Custom type● Top section● Middle tiles● Bottom portlets
Portlets
● Edit Portlets● Lots of portlets
Successes
● Two very strong developers● Communication
– Standup
– Face-to-face meetings, training
– Time with developers
– Web/sysadmin part of team
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
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
Challenges
● Communication– more face time earlier
– remote debugging hard
– remote communication more difficult
– primer on terminology
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
Learning Plone
● Demo at beginning– User Interface
– Back end
● Best way to learn is to use the tools
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
Design
● Design – initial design changed a lot● Many design iterations while developing
theme● Design changes were in response to
testing and political realities
Development
● Complex project– new features would cause earlier ones to
break
● Issues wouldn't get fixed until later
Testing
● Challenging to get features tested right away
● Unit tests didn't cover everything● More testing after rollouts● Longer debugging period
Launch
● More time for launch● Lots of content going in● Many design changes● Performance issues
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
More Wishes for Plone
● Dropdown that would allow a editor to change the layout or theme their site/section uses would be ideal.
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
Future Plans, cont.● XDV to theme non-Plone sites
– Drupal implementation
– Wordpress implementation
– Hand-coded header/footer
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
Any Questions?
● http://www.washington.edu/● http://www.webcollective.coop/● [email protected]