1. Plone at the University of
Washington
Melody Winkle
Web Collective
October 27, 2010
Plone Conference 2010
2.
3. 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
4. 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
5. 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
6. Ultimate Goal for Plone support
● Provide Plone sites for any group who
wants one
● Central support (hard to charge money)
7. 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
8. 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
9. Achievements
● Home Page maintained in Plone
● Hundreds of central pages created, served
from Plone
● More editors are being added to the site
10. 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."
11. More Agile
● Acceptance tests
– Objective statement of functionality: "The
proposed blogging solution can support
use of categories (controlled
vocabularies)"
12. 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
13. Agile Meetings
● Iteration Planning
– Choosing stories for the next go-round
– Estimating and prioritizing
16. 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
17. UW Marketing Team, cont
– Kilian Frey – Graphic Designer
– Dane Odekirk – Web Programmer
– Frank Fujimoto – Software Engineer, UW
Information Technology
18.
19. The Team, continued
● Web Collective team
– Melody Winkle - Project manager
– Derek Hoshiko - Project manager
– Bryan Wilson – Developer
– Ross Patterson - Developer (consultant for
Web Collective)
20. One Site vs Many
● One site for unified navigation
● One site is more complex
– Bigger
– Many template exceptions
– Need to manage more permissions
34. XDV
● Apache mod_transform
● Used dv.xdv server
● Workflow
– Make change locally
– Commit change
– Update on uwplone2
– Rerun theme buildout
35. 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
36. More with XDV
● Did a lot of work outside the rules.xml file
● Complicated transforms
● Editing XSL
37. Custom Features
● Tiles
– Blades on Home Page
– Portal tiles
● Portal Types
– Spotlight story (page)
– Tiles
– Portlets
● Portlets - 'Edit Portlet'
38. Tiles
● Blades on Home Page
● Tiles on Portals
39.
40.
41.
42.
43. Portals
● Custom type
● Top section
● Middle tiles
● Bottom portlets
49. Successes
● Two very strong developers
● Communication
– Standup
– Face-to-face meetings, training
– Time with developers
– Web/sysadmin part of team
50. 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
51. 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
52.
53. Challenges
● Communication
– more face time earlier
– remote debugging hard
– remote communication more difficult
– primer on terminology
54. 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
55. Learning Plone
● Demo at beginning
– User Interface
– Back end
● Best way to learn is to use the tools
56. 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
57. Design
● Design – initial design changed a lot
● Many design iterations while developing
theme
● Design changes were in response to
testing and political realities
58. Development
● Complex project
– new features would cause earlier ones to
break
● Issues wouldn't get fixed until later
59. Testing
● Challenging to get features tested right
away
● Unit tests didn't cover everything
● More testing after rollouts
● Longer debugging period
60. Launch
● More time for launch
● Lots of content going in
● Many design changes
● Performance issues
61. 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
62. More Wishes for Plone
● Dropdown that would allow a editor to
change the layout or theme their
site/section uses would be ideal.
63. 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
65. 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
66. Any Questions?
● http://www.washington.edu/
● http://www.webcollective.coop/
● melodyw@webcollective.coop