OOTB Presentation

Post on 07-Nov-2014

2.160 views 0 download

Tags:

description

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

Transcript of OOTB Presentation

OOTB Theming Project

Cat-herding for Plone:Organizing and Executing a Successful Remote Sprint

• 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.

Veda Williams

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

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

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.

Why Me?Someone apparently thought I knew how to herd cats

“The cat needs a job”

And apparently someone thought I had free time on my hands

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

What About Deliverance?People were talking about it like it was the next big thing

When in reality, it looked something like this...

The real problem in asking me to lead the charge?

I had never skinned a 3.0 site.

What was really going on out in the theming community?

The Theming Story(February 2008)

• Bar to entry: HIGH

• Documentation: LOW or NONEXISTENT

• Number of active themers: UNKNOWN

• Deliverance: SCARY

The Revised Challenge

• Create more 3.0 themes

• Alleviate the day to day pain for themers

But what did this look like in practice?

Generate more themes for 3.0

Identify best practices

Identify gaps in knowledge

Use the collected information to lower the

bar of difficulty

Improve the UI on plone.org to make the themes more findable

...and ultimately?

Figure out how to let skinners sleep peacefully through the night

Starting a Rolling Sprint

• 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

OpenPlans planning site (still open for business)

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

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...

• No one dies.

• Sometimes you hit your target.

“Hard” Metrics for Gauging Success

• # of participants

• # of themes

• Email traffic

• Installer improvements

• UI changes to Plone.org

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

“We even got our own secret handshake”

Contribution rate

• 20% contribution level to themes

• 50% contribution level to the discussion

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

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

Email Traffic

• 65 unique threads

• 300+ emails exchanged in a 10 month period

Email trends

• Marked drop in participation after the first milestone sprint

• Lower response rates to emails

• Feedback from the group at the end?

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

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

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

Knowledge Transfer

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.)

What’s the best way tooverride a stylesheet?

• 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

When and how do we use the browser/ folder?

• 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.)

“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

“... why not to add one more question to theme's generation process like "Generate stylesheets and images as browser resources?". 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

“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

Can we integrate the Sub-skins product with

CSS Manager tool?

• Reminded us of the frequently requested “subsite” feature

• Highlighted the push towards tool integration (paster + subskins + CSS Manager + gloworm = Deliverance??)

What about DTML Support?

• 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

Is it ok to modifymain_template?

• 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

How do we publish a product on plone.org?

• 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

What documentation does an OOTB theme

product need?

• 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

Was OOTB a success?

• 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

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

• 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. :)

General Observations

Where are we going from here?

• 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

New Plone Theming Book(due out in early 2009)

Theming Sprint• October 11 & 12

• Varied topics

• Sprinters welcome!

Themes Available for Selection on plone.org

“Pick me! Pick me!”

Simplicity by David Little, 3.0

Nonzero by duffyd

Intense Simplicity by pigeonflight

Busy City by pigeonflight

Lazy Days by pigeonflight

Bitter Sweet by Volodomyr Rudnytskyy

iCompany theme by Denys Mishunov

Hosting theme by Denys Mishunov

Andreas01 by Speedbreeze

Python by Speedbreeze

Relic by Speedbreeze

Green Community

HedDex Greenfield Theme by Michael Krishtopa

Andreas09 by David Convent & Veda Williams

CHZenLike by Christoph Handl

Hamnavoe by David LLittle

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

Let’s Celebrate!“I think your cat is drunk.”