Plone at the University of Washington


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Plone at the University of Washington

  1. 1. Plone at the University of Washington Melody Winkle Web Collective October 27, 2010 Plone Conference 2010
  2. 2. 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
  3. 3. What was the Project?● Move the central UW web site into Plone● Centrally supported pages – For everybodys use – Maintained by UW Marketing team● Most sites at the UW are maintained by local development teams
  4. 4. 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
  5. 5. Ultimate Goal for Plone support● Provide Plone sites for any group who wants one● Central support (hard to charge money)
  6. 6. 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
  7. 7. Economic Realities● People want to play but dont 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
  8. 8. Achievements● Home Page maintained in Plone● Hundreds of central pages created, served from Plone● More editors are being added to the site
  9. 9. 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."
  10. 10. More Agile● Acceptance tests – Objective statement of functionality: "The proposed blogging solution can support use of categories (controlled vocabularies)"
  11. 11. 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
  12. 12. Agile Meetings● Iteration Planning – Choosing stories for the next go-round – Estimating and prioritizing
  13. 13. Project Stats● 12 iterations● 2 weeks in length● Launch prep – Design changes – Templating – Performance work
  14. 14. 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
  15. 15. UW Marketing Team, cont– Kilian Frey – Graphic Designer– Dane Odekirk – Web Programmer– Frank Fujimoto – Software Engineer, UW Information Technology
  16. 16. The Team, continued● Web Collective team – Melody Winkle - Project manager – Derek Hoshiko - Project manager – Bryan Wilson – Developer – Ross Patterson - Developer (consultant for Web Collective)
  17. 17. One Site vs Many● One site for unified navigation● One site is more complex – Bigger – Many template exceptions – Need to manage more permissions
  18. 18. Site Software● Plone 3.3.5● Zope (latest)
  19. 19. 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
  20. 20. Installed Products● Syndication – Feedfeeder 2.0 – Products.fatsyndication 1.0.1● Multimedia – Flowplayer 3.0b3 – ZODB Blob support 1.1 – 1.0
  21. 21. 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
  22. 22. Installed Products● Custom Products – UW Marketing Theme – UW Marketing Site 0.2
  23. 23. Hardware● Slicehost● 4 GB RAM● 2 instances● 1 ZEO
  24. 24. Architecture
  25. 25. Site Visits● 350,000 visits/week for the live Zope pages● 450,000 visits/week for the Home Page
  26. 26. Site Statistics● 50 users● 15 groups● 3200 objects in the site
  27. 27. Workflow/Roles● Simple Publication Workflow● Managers – core Marketing team● Other groups – Editors – Readers
  28. 28. 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
  29. 29. Approaches to Theming● collective.xdv● Deliverance● XDV with mod_transform
  30. 30. XDV● Apache mod_transform● Used dv.xdv server● Workflow – Make change locally – Commit change – Update on uwplone2 – Rerun theme buildout
  31. 31. What Were 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
  32. 32. More with XDV● Did a lot of work outside the rules.xml file● Complicated transforms● Editing XSL
  33. 33. Custom Features● Tiles – Blades on Home Page – Portal tiles● Portal Types – Spotlight story (page) – Tiles – Portlets● Portlets - Edit Portlet
  34. 34. Tiles● Blades on Home Page● Tiles on Portals
  35. 35. Portals● Custom type● Top section● Middle tiles● Bottom portlets
  36. 36. Portlets● Edit Portlets● Lots of portlets
  37. 37. Successes● Two very strong developers● Communication – Standup – Face-to-face meetings, training – Time with developers – Web/sysadmin part of team
  38. 38. 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
  39. 39. 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
  40. 40. Challenges● Communication – more face time earlier – remote debugging hard – remote communication more difficult – primer on terminology
  41. 41. 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
  42. 42. Learning Plone● Demo at beginning – User Interface – Back end● Best way to learn is to use the tools
  43. 43. 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
  44. 44. Design● Design – initial design changed a lot● Many design iterations while developing theme● Design changes were in response to testing and political realities
  45. 45. Development● Complex project – new features would cause earlier ones to break● Issues wouldnt get fixed until later
  46. 46. Testing● Challenging to get features tested right away● Unit tests didnt cover everything● More testing after rollouts● Longer debugging period
  47. 47. Launch● More time for launch● Lots of content going in● Many design changes● Performance issues
  48. 48. What UW Team Wishes Plone Did ● More portable portlets ● More portable URLs – ResolveUID caused some problems ● Image handling – Cant always delete images – Credits field as option ● Easier editing – More drag-and-drop for layout
  49. 49. More Wishes for Plone● Dropdown that would allow a editor to change the layout or theme their site/section uses would be ideal.
  50. 50. 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
  51. 51. Future Plans, cont.● XDV to theme non-Plone sites – Drupal implementation – Wordpress implementation – Hand-coded header/footer
  52. 52. 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
  53. 53. Any Questions?●●●