How to Troubleshoot Apps for the Modern Connected Worker
Â
OOTB Presentation
1. OOTB Theming
Project
Cat-herding for Plone:
Organizing and Executing a
Successful Remote Sprint
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. 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. 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. 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.
7. âThe cat needs a jobâ
And apparently someone thought
I had free time on my hands
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
14. The Theming Story
(February 2008)
⢠Bar to entry: HIGH
⢠Documentation: LOW or NONEXISTENT
⢠Number of active themers: UNKNOWN
⢠Deliverance: SCARY
15.
16. The Revised Challenge
⢠Create more 3.0 themes
⢠Alleviate the day to day pain for
themers
But what did this look like in practice?
25. 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
26. 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
27. 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...
28. ⢠No one dies.
⢠Sometimes you hit your target.
29. âHardâ Metrics for
Gauging Success
⢠# of participants
⢠# of themes
⢠Email trafďŹc
⢠Installer improvements
⢠UI changes to Plone.org
30. 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
33. 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
34. 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
36. Email trends
⢠Marked drop in participation after the
ďŹrst milestone sprint
⢠Lower response rates to emails
⢠Feedback from the group at the end?
37.
38. 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
39. Installer Improvements
⢠Kudos to Steve McMahon
⢠As of Plone 3.1.4, all* dependencies are
satisďŹed by simply installing Plone.
⢠Not sure what the status is of Windows
installers.
*almost all
40. 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
42. Key Email Threads
(Future discussions of this nature
should be taken into the UI list at large;
OOTB list will be speciďŹc to OOTB
theming process only.)
44. ⢠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
46. ⢠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.)
47. â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
48. â... 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
49. â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
53. ⢠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
55. ⢠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
57. ⢠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
59. ⢠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
61. ⢠Creation of 16 themes, or 25% of the
existing 3.0 themes on plone.org
⢠SigniďŹcant participation and active
email exchange
⢠Installer improvements by SteveM
⢠Plone.org UI changes coming soon!
⢠Clarity in terms of next steps
62. 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
63. General Observations
⢠Energy is ďŹnite
⢠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. :)
65. ⢠UI improvements to plone.org to
highlight themes are forthcoming
⢠Documentation gaps have been
identiďŹed and will be assigned
⢠Deliverance work / tool integration
work is happening
⢠The OOTB project will continue, sans
milestones and with more personal
initiative