SlideShare ist ein Scribd-Unternehmen logo
1 von 86
Downloaden Sie, um offline zu lesen
OOTB Theming
   Project
  Cat-herding for Plone:
Organizing and Executing a
 Successful Remote Sprint
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.
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 difculty
Improve the UI on
plone.org to make the
themes more ndable
...and ultimately?
Figure out how to let skinners
sleep peacefully through the night
Starting a Rolling Sprint
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
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 Trafc

• 65 unique threads
• 300+ emails exchanged in a 10 month
  period
Email trends
• Marked drop in participation after the
  rst 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
  satised 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 specic to OOTB
        theming process only.)
What’s the best way to
override 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 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
“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 modify
main_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
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. :)
Where are we going from here?
• 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
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 Greeneld 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.”

Weitere ähnliche Inhalte

Ähnlich wie OOTB Presentation

Making the New Notes - Community, Cooperation, Concepts
Making the New Notes - Community, Cooperation, ConceptsMaking the New Notes - Community, Cooperation, Concepts
Making the New Notes - Community, Cooperation, ConceptsMaximilian Odendahl
 
Setting up the New Stuff: Planning & Implementing Library 2.0
Setting up the New Stuff: Planning & Implementing Library 2.0Setting up the New Stuff: Planning & Implementing Library 2.0
Setting up the New Stuff: Planning & Implementing Library 2.0David King
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slidesSameer Al-Sakran
 
Search-Driven Programming
Search-Driven ProgrammingSearch-Driven Programming
Search-Driven ProgrammingEthan Herdrick
 
Management practices for the digital era by Cecil Dijoux
Management practices for the digital era by Cecil DijouxManagement practices for the digital era by Cecil Dijoux
Management practices for the digital era by Cecil DijouxInstitut Lean France
 
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...Jazkarta, Inc.
 
Making your design vision a reality
Making your design vision a realityMaking your design vision a reality
Making your design vision a realityGrant Thomas-Lepore
 
Understand Open Source ecosystems
Understand Open Source ecosystemsUnderstand Open Source ecosystems
Understand Open Source ecosystemsKnowmades.com
 
HTML5 + JS: The Future of Open Education
HTML5 + JS: The Future of Open EducationHTML5 + JS: The Future of Open Education
HTML5 + JS: The Future of Open EducationBryan Berry
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...Scott Abel
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryScott Abel
 
Untangling11
Untangling11Untangling11
Untangling11Derek Jacoby
 
NASA Etoys In Space Usability Evaluation
NASA Etoys In Space Usability EvaluationNASA Etoys In Space Usability Evaluation
NASA Etoys In Space Usability EvaluationMike Lee
 
Recent Developments With ZopeSkel
Recent Developments With ZopeSkelRecent Developments With ZopeSkel
Recent Developments With ZopeSkelcbcunc
 
Transitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTransitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTechWell
 
Best Of Plone Conference
Best Of Plone ConferenceBest Of Plone Conference
Best Of Plone ConferenceEleonora Borelli
 
Limiting WIP @ SM Summit_5.17.22
Limiting WIP @ SM Summit_5.17.22Limiting WIP @ SM Summit_5.17.22
Limiting WIP @ SM Summit_5.17.22Julie Wyman
 
Low Code Development: Workflow
Low Code Development: WorkflowLow Code Development: Workflow
Low Code Development: WorkflowInnoTech
 
DjangoCon09: No! Bad Pony!
DjangoCon09: No! Bad Pony!DjangoCon09: No! Bad Pony!
DjangoCon09: No! Bad Pony!Russell Keith-Magee
 
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM
 

Ähnlich wie OOTB Presentation (20)

Making the New Notes - Community, Cooperation, Concepts
Making the New Notes - Community, Cooperation, ConceptsMaking the New Notes - Community, Cooperation, Concepts
Making the New Notes - Community, Cooperation, Concepts
 
Setting up the New Stuff: Planning & Implementing Library 2.0
Setting up the New Stuff: Planning & Implementing Library 2.0Setting up the New Stuff: Planning & Implementing Library 2.0
Setting up the New Stuff: Planning & Implementing Library 2.0
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slides
 
Search-Driven Programming
Search-Driven ProgrammingSearch-Driven Programming
Search-Driven Programming
 
Management practices for the digital era by Cecil Dijoux
Management practices for the digital era by Cecil DijouxManagement practices for the digital era by Cecil Dijoux
Management practices for the digital era by Cecil Dijoux
 
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
 
Making your design vision a reality
Making your design vision a realityMaking your design vision a reality
Making your design vision a reality
 
Understand Open Source ecosystems
Understand Open Source ecosystemsUnderstand Open Source ecosystems
Understand Open Source ecosystems
 
HTML5 + JS: The Future of Open Education
HTML5 + JS: The Future of Open EducationHTML5 + JS: The Future of Open Education
HTML5 + JS: The Future of Open Education
 
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
[Workshop] Analyzing Your Deliverables: Developing the Optimal Documentation ...
 
Analyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation LibraryAnalyzing Your Deliverables: Developing the Optimal Documentation Library
Analyzing Your Deliverables: Developing the Optimal Documentation Library
 
Untangling11
Untangling11Untangling11
Untangling11
 
NASA Etoys In Space Usability Evaluation
NASA Etoys In Space Usability EvaluationNASA Etoys In Space Usability Evaluation
NASA Etoys In Space Usability Evaluation
 
Recent Developments With ZopeSkel
Recent Developments With ZopeSkelRecent Developments With ZopeSkel
Recent Developments With ZopeSkel
 
Transitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTransitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to Practice
 
Best Of Plone Conference
Best Of Plone ConferenceBest Of Plone Conference
Best Of Plone Conference
 
Limiting WIP @ SM Summit_5.17.22
Limiting WIP @ SM Summit_5.17.22Limiting WIP @ SM Summit_5.17.22
Limiting WIP @ SM Summit_5.17.22
 
Low Code Development: Workflow
Low Code Development: WorkflowLow Code Development: Workflow
Low Code Development: Workflow
 
DjangoCon09: No! Bad Pony!
DjangoCon09: No! Bad Pony!DjangoCon09: No! Bad Pony!
DjangoCon09: No! Bad Pony!
 
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation SlidesDSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
 

KĂźrzlich hochgeladen

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

KĂźrzlich hochgeladen (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
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.
  • 6. Why Me? Someone apparently thought I knew how to herd cats
  • 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
  • 9. What About Deliverance? People were talking about it like it was the next big thing
  • 10. When in reality, it looked something like this...
  • 11. The real problem in asking me to lead the charge?
  • 12. I had never skinned a 3.0 site.
  • 13. What was really going on out in the theming community?
  • 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?
  • 19. Identify gaps in knowledge
  • 20. Use the collected information to lower the bar of difculty
  • 21. Improve the UI on plone.org to make the themes more ndable
  • 23. Figure out how to let skinners sleep peacefully through the night
  • 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
  • 31. “We even got our own secret handshake”
  • 32. Contribution rate • 20% contribution level to themes • 50% contribution level to the discussion
  • 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
  • 35. Email Trafc • 65 unique threads • 300+ emails exchanged in a 10 month period
  • 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.)
  • 43. What’s the best way to override a stylesheet?
  • 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
  • 45. When and how do we use the browser/ folder?
  • 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
  • 50. Can we integrate the Sub-skins product with CSS Manager tool?
  • 51. • Reminded us of the frequently requested “subsite” feature • Highlighted the push towards tool integration (paster + subskins + CSS Manager + gloworm = Deliverance??)
  • 52. What about DTML Support?
  • 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
  • 54. Is it ok to modify main_template?
  • 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
  • 56. How do we publish a product on plone.org?
  • 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
  • 58. What documentation does an OOTB theme product need?
  • 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
  • 60. Was OOTB a success?
  • 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. :)
  • 64. Where are we going from here?
  • 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
  • 66. New Plone Theming Book (due out in early 2009)
  • 67. Theming Sprint • October 11 & 12 • Varied topics • Sprinters welcome!
  • 68. Themes Available for Selection on plone.org “Pick me! Pick me!”
  • 69. Simplicity by David Little, 3.0
  • 71. Intense Simplicity by pigeonflight
  • 72. Busy City by pigeonflight
  • 73. Lazy Days by pigeonflight
  • 75. iCompany theme by Denys Mishunov
  • 81. HedDex Greeneld Theme by Michael Krishtopa
  • 82. Andreas09 by David Convent & Veda Williams
  • 84. Hamnavoe by David LLittle
  • 85. 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
  • 86. Let’s Celebrate! “I think your cat is drunk.”