OOTB Presentation


Published on

Slides from the 2008 Plone conference, detailing the process of running the OOTB project and lessons learned.

Published in: Technology
  • Be the first to comment

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

No notes for slide

OOTB Presentation

  1. 1. OOTB Theming Project Cat-herding for Plone: Organizing and Executing a Successful Remote Sprint
  2. 2. Veda Williams • Plone Skinner for ONE/Northwest • 2 1/2 years of experience in Plone • I have implemented more than 40+ Plone themes • Plone skinning training - Naples ’07 • Active in making UI improvements to plone.org, etc.
  3. 3. Plone Strategic Planning Summit February 2008 • Goal: to produce a plan for the strategic future of Plone • Result: ~50 “champion topics” chosen and assigned to owners
  4. 4. The directive: Ship with more themes OOTB • Possibly organize theme sprints if/when Deliverance is delivered ;)* • Suggested champion: Veda Williams *Smiley face guilt trip from Alexander Limi
  5. 5. Cat-herding: What it means to be a champion • A champion is the person responsible for moving a focus area forward, and reporting progress. • Being a champion does *not* imply that he/she is going to do the actual work — it's about being the responsible person for that focus area. Of course, there are cases where the champion is in fact the person that implements the solution too.
  6. 6. Why Me? Someone apparently thought I knew how to herd cats
  7. 7. “The cat needs a job” And apparently someone thought I had free time on my hands
  8. 8. What was the *real* objective here? •“Shipping” themes with Plone implied additional functionality to be added to the installer •Deliverance was in a fairly raw state
  9. 9. What About Deliverance? People were talking about it like it was the next big thing
  10. 10. When in reality, it looked something like this...
  11. 11. The real problem in asking me to lead the charge?
  12. 12. I had never skinned a 3.0 site.
  13. 13. What was really going on out in the theming community?
  14. 14. The Theming Story (February 2008) • Bar to entry: HIGH • Documentation: LOW or NONEXISTENT • Number of active themers: UNKNOWN • Deliverance: SCARY
  15. 15. The Revised Challenge • Create more 3.0 themes • Alleviate the day to day pain for themers But what did this look like in practice?
  16. 16. Generate more themes for 3.0
  17. 17. Identify best practices
  18. 18. Identify gaps in knowledge
  19. 19. Use the collected information to lower the bar of difficulty
  20. 20. Improve the UI on plone.org to make the themes more findable
  21. 21. ...and ultimately?
  22. 22. Figure out how to let skinners sleep peacefully through the night
  23. 23. Starting a Rolling Sprint
  24. 24. OpenPlans planning site (still open for business) • http://www.openplans.org/projects/ ootb-plone-themes/ • Recruiting was understated -- 2 or 3 emails to the plone users or UI lists • Recruiting was mostly viral
  25. 25. Project Structure • Milestone-based • Assignment of themes • QA phase • Rework • Deployment on plone.org & pypi • Scattershot approach • Throw the project out there and hope people will contribute
  26. 26. The Scattershot Approach World of Warcraft: “A short range shot that deals 50% weapon damage and disorients the target for 4 seconds.” Which amounts to something like this...
  27. 27. • No one dies. • Sometimes you hit your target.
  28. 28. “Hard” Metrics for Gauging Success • # of participants • # of themes • Email traffic • Installer improvements • UI changes to Plone.org
  29. 29. Number of Participants • 49 members • 10 active contributors of themes • ~25 contributors to the discussion • New members rolling in every week • The project took on a life of its own
  30. 30. “We even got our own secret handshake”
  31. 31. Contribution rate • 20% contribution level to themes • 50% contribution level to the discussion
  32. 32. Number of Themes • 66 total Plone themes listed on plone.org as of September 30, 2008 • 10 themes from the OOTB project made available on plone.org • 5 themes available for download from PyPi or the Collective • 1 theme used for the new TTW book
  33. 33. You do the math. ~25% of the 3.0 themes on Plone.org are from the OOTB project or have been used for Plone training
  34. 34. Email Traffic • 65 unique threads • 300+ emails exchanged in a 10 month period
  35. 35. Email trends • Marked drop in participation after the first milestone sprint • Lower response rates to emails • Feedback from the group at the end?
  36. 36. Thoughts on Email Exchange • Initial questions were satisfactorily answered early on through email exchange • Many of the conversations happening on the OOTB list belonged on the UI list for Plone • To compensate for not exposing these conversations to the world at large, lessons learned need to get translated back to plone.org/documentation
  37. 37. Installer Improvements • Kudos to Steve McMahon • As of Plone 3.1.4, all* dependencies are satisfied by simply installing Plone. • Not sure what the status is of Windows installers. *almost all
  38. 38. UI Changes to Plone.org • Design revisions have been approved by Alexander Limi http://www.openplans.org/projects/ootb-plone-themes/round-one • Plone.org 3.0 migration is not yet complete, but we have a test bed • Steve McMahon will implement the changes • Designer of new plone.org UI is working these changes into the new design
  39. 39. Knowledge Transfer
  40. 40. Key Email Threads (Future discussions of this nature should be taken into the UI list at large; OOTB list will be specific to OOTB theming process only.)
  41. 41. What’s the best way to override a stylesheet?
  42. 42. • Paster recipe does this via empty stylesheets • Initial conversations on the OOTB list indicated that overriding should be done via cssregistry.xml • Further off-line discussions indicated that using empty stylesheets allows more than one Plone theme to be applied; cssregistry.xml is Zope-wide
  43. 43. When and how do we use the browser/ folder?
  44. 44. • Most themers supported using the skins directory, and leaving the browser folder images and stylesheets options available “in case” they are ever needed • OOTB recipe was created by Trey Beck to use only the skins directory for images and stylesheets, but not widely distributed. (I use this.)
  45. 45. “My dream would be to have ZopeSkel generate an empty plone product (nested python namespace, with basic zcml and __init__.py only, just like the 'plone' ZopeSkel template), and then to be able to inject the code needed for creating a skin directory (registered with portal_skins), or a zope 3 resource style image declaration, or a zope 3 skin layer, or the base code for a viewlet.” -- David Convent
  46. 46. “... why not to add one more question to theme's generation process like quot;Generate stylesheets and images as browser resources?quot;. This would let people like me who want to use DTML in stylesheets and store all the theme's mess ;) in skins/ without need of removing browser resources. If people answer [Yes] - we generate the skeleton as it is right now. If we one answers [No] we generate main.css in skins/SUBFOLDER and do not generate browser resources.” -- Denys Mishunov
  47. 47. “This also highlights the urgency (expressed many times already) of unifying the two approaches to visual customisation and scoping out the role of Deliverance in lifting aspects of theming out of this murky world and into something with a much shorter tool chain.” -- Martin Aspeli
  48. 48. Can we integrate the Sub-skins product with CSS Manager tool?
  49. 49. • Reminded us of the frequently requested “subsite” feature • Highlighted the push towards tool integration (paster + subskins + CSS Manager + gloworm = Deliverance??)
  50. 50. What about DTML Support?
  51. 51. • Stylesheets generated in a theme product should support DTML by default • Currently no stylesheets are added to the skins/stylesheets folder, and new users may not know how to use DTML
  52. 52. Is it ok to modify main_template?
  53. 53. • Use viewlets if at all possible, but yes, you can still do this. • I do this, and Limi probably still does. :) • For the purpose of OOTB themes, keep these changes to a minimum and comment your changes
  54. 54. How do we publish a product on plone.org?
  55. 55. • Some themes were added to PyPi but never made it back to plone.org • Highlighted the need to document this on plone.org in the “contribution” section
  56. 56. What documentation does an OOTB theme product need?
  57. 57. • Readme.txt / Install.txt need to cover dependencies, how to install • Install.txt not currently generated by paster recipe, but should be • Themes by Denys Mishunov contain great examples of what these could look like; also documented on the OOTB site
  58. 58. Was OOTB a success?
  59. 59. • Creation of 16 themes, or 25% of the existing 3.0 themes on plone.org • Significant participation and active email exchange • Installer improvements by SteveM • Plone.org UI changes coming soon! • Clarity in terms of next steps
  60. 60. Side Effects • Completed theming manual by Anne Bowtell • Completed theming chapter with David Convent for the new TTW book • I accepted nomination to be editor for the theming section of Plone.org/ documentation
  61. 61. General Observations • Energy is finite • Shorter sprints may work better than a rolling sprint • Email exchange needs to be exposed to the broader community • Interest in the project continues • The champion is not a bystander in the process. :)
  62. 62. Where are we going from here?
  63. 63. • UI improvements to plone.org to highlight themes are forthcoming • Documentation gaps have been identified and will be assigned • Deliverance work / tool integration work is happening • The OOTB project will continue, sans milestones and with more personal initiative
  64. 64. New Plone Theming Book (due out in early 2009)
  65. 65. Theming Sprint • October 11 & 12 • Varied topics • Sprinters welcome!
  66. 66. Themes Available for Selection on plone.org “Pick me! Pick me!”
  67. 67. Simplicity by David Little, 3.0
  68. 68. Nonzero by duffyd
  69. 69. Intense Simplicity by pigeonflight
  70. 70. Busy City by pigeonflight
  71. 71. Lazy Days by pigeonflight
  72. 72. Bitter Sweet by Volodomyr Rudnytskyy
  73. 73. iCompany theme by Denys Mishunov
  74. 74. Hosting theme by Denys Mishunov
  75. 75. Andreas01 by Speedbreeze
  76. 76. Python by Speedbreeze
  77. 77. Relic by Speedbreeze
  78. 78. Green Community
  79. 79. HedDex Greenfield Theme by Michael Krishtopa
  80. 80. Andreas09 by David Convent & Veda Williams
  81. 81. CHZenLike by Christoph Handl
  82. 82. Hamnavoe by David LLittle
  83. 83. Image Credits • explodingdog.com drawings • Texas Monthly and Dick Cheney • Serta Mattresses • Southern Culture on the Skids • http://www.monsterevo.co.uk (tumbleweed) • Tiger Temple Thailand
  84. 84. Let’s Celebrate! “I think your cat is drunk.”