0
Plone as aDevelopment Platform                                                 By[ a highly opinionated talk about the fut...
WARNINGAlthough this presentation seems to be filled with factoids, it is actally filledwith lazily validated stats, graph...
Plone 4.X
4.[1,2,3] Feature Trend‣   Modernizing the User Experience   ‣   Modernizing The Architecture                             ...
New Processes                 PLIPS                                               Releases45                              ...
Ticket Cleanup Process     1132 Open Tickets      8 per core contributor         3.4 new tickets/day                      ...
Breakdown of Bugs                             (color coded by how irritated IFeature Requests      376                    ...
In January 2012,       Add Ons29 new add-ons     2012* were registered  on Plone.org.    2011  That is almost             ...
Collective DM Commits/Month         Core Commits/MonthPlone on the Outskirts
Collective DM Commits/Month         Core Commits/MonthPlone on the Outskirts
Collective DM Commits/Month         Core Commits/MonthPlone on the Outskirts
Collective DM Commits/Month         Core Commits/MonthPlone on the Outskirts
Collective DM Commits/Month         Core Commits/MonthPlone on the Outskirts
What is Plone 5?  Seriously this time!
‣ Deco/Tiles‣ Usability                       meh dog says...‣ Performance‣1   content type to                     blah bl...
2010?  Deco Light?                      2011?                ???                                           2012?CMSUI?    ...
In order to reach                   ‣   plone.org/roadmap    where we are going                                  ‣   Short...
Does the steep learning curve pay off? Is              this complexity still justified today?              I need a platfo...
Framework Core Values‣   XML Configuration             ‣   Code next to config‣   Easy debugging               ‣   Syntactic...
Programming,Motherfucker
Teaching                                       Python Web                                       ‣   Task: Make a TODO list...
@route( /contact )@render( contact.pt )class Contact(View):  def getContactInfo(self):     return {phone= 999-999-9999 }@r...
Using Recommended Practices:‣   Getting the site root‣   6 files and 20 lines of code to add a    new stylesheet‣   Touchin...
The patient suffers from a severe deficiency of  Syntactic Sugar
Scapegoat: Documentation
Developer Driven                                  Development                                 ‣   Think about the API first...
Plone 5 has the potential to makeHappy Developers!
... makes hiringA thriving communityof happy developers...        easier                         ‣ Plone will never be hip...
‣ Plone developers cost much more                          than the competition because they                          are ...
✓ Internationalized ✓ Unit tests ✓ End-user documentation ✓ Internal documentation ✓ Existed and maintained for at   least...
Who does Plone work for?"If you want a platform to be successful, you needmassive adoption, and that means you needdevelop...
We Hear You(and we are serious about fixing it)
Plone Pain Top 10 Update plone.api Planned in  plone.api Planned for   Plone 5(ping esteele   to help)
Plone PainDev docs in core,  trac removed.Guidelines startedthen stalled - help    requested! Part of CMF  templates rewri...
KSS, inline editing pulled out. Lots  more too do Debug tools in   plone.api   plannedPLIP Requested:  ping esteele 2 new ...
‣   Make Archetypes Optional    ‣   Widget parity*    ‣   Default Plone types in Dexterity*‣   Continue to factor out unne...
Summary‣Plone      4           ‣Plone     5Modernizing the Plone   Modernizing the Ploneuser experience         developer ...
Plone Culture NGPlone 5 will happen... now what?
Committing               Not Just for Developers‣   Decide to commit to Plone the community. Too    many people sitting on...
Resolve to Initiate‣   Policy: All employees sign up for Plone on day 1      ‣   Paperwork: Contributor agreement, plone.o...
Resolve to Travel‣   Host a sprint. Ploners LOVE to travel. It s science.‣   Send 1 [non-technical] person to a conference...
Resolve to Encourage‣   Test new versions of Plone. Stage, don t deploy.    Upgrade and run your tests. Report back.‣   Ma...
Resolve to Sprint this Weekend!‣Beginner                  ‣AdvancedFinish Plone Contributor   Goodbye cpy!Agreement proces...
!MAGICPlone has the potential to make  happy developers, but only  you have the power to make        Plone
Plone 5 code name: No ExcusesEXCUSES
Questions?
Get Educated‣   Plone Roadmap‣   Plone API Roadmap‣   HOWTO: Getting Started Developing with Plone‣   Tutorial: Hello Worl...
Imagery
๏   seniordogsacrossamerica.com๏   http://nagonthelake.blogspot.com/2011/06/nancy-levines-portraits-of-senior-    dogs.htm...
Upcoming SlideShare
Loading in...5
×

Plone as a Development Platform

634

Published on

Updates specific to the developer community and forward progress on developer friendliness

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
634
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Plone as a Development Platform"

  1. 1. Plone as aDevelopment Platform By[ a highly opinionated talk about the future of Plone from a Framework Team member, developer, project manager, consultant, loud mouth, and general advocate of change aka ] Elizabeth Leddy
  2. 2. WARNINGAlthough this presentation seems to be filled with factoids, it is actally filledwith lazily validated stats, graphs that are extrapolated far beyondmathematical reason, and pirated imagery. It is highly likely that I havemisinterpreted historical results or became so blinded with anger aboutcertain things that I did not Google sufficiently or give good thoughts todecent alternatives. Except any statements about Grok. I’m confident there.More importantly, this is a very opinionated piece. Officially, much of this isaddressed by the Roadmap, which provides you with the important fluff youneed to sell Plone to your customers, clients, and neighborhood dentist. Inthe theoretical future, the roadmap will direct “official” processes andpeople will cheer and eat cake. For now: anarchy.In the meanwhile, I can only assume that I will firmly disagree with whatevercomes out of this because I am an asshole by nature and go full steam aheadwith the contents of this presentation. There is no intention to ruffle feathersor miscommunicate. I encourage all of YOU to get up and talk/blog/vlogyour vision for Plone, controvesy and all. Be loud, be proud, be Plone.
  3. 3. Plone 4.X
  4. 4. 4.[1,2,3] Feature Trend‣ Modernizing the User Experience ‣ Modernizing The Architecture 4.1 ‣ Commenting ‣ Performance++ ‣ Theming (Diazo) ‣ Repackaging Party ‣ Search ‣ Keep up with Zope releases ‣ ‣ Collections Content type creation 4.2 ‣ ‣ Standardizing APIs HTML 5 4.3 (Dexterity ) ‣ Python 2.7 ‣ Events ..... .....
  5. 5. New Processes PLIPS Releases45 Only YOU can make this 4.3* smaller!30 4.2 4.115 4.00 4.0 4.1 4.2 4.3 4.4* 0 100 200 300 400 Proposed Accepted Days from Last Release to Alpha Merged Incomplete Days from Alpha to Release * PLIP monster wants PLIPS
  6. 6. Ticket Cleanup Process 1132 Open Tickets 8 per core contributor 3.4 new tickets/day sAttainable Goal: 4 Tickets per Contributor
  7. 7. Breakdown of Bugs (color coded by how irritated IFeature Requests 376 am that they are open) Bugs Ongoing PLIPs 24 729 Future 25 230 4.x 603 Distribution of Tickets (color coded by how much attention they get) Ticket Status
  8. 8. In January 2012, Add Ons29 new add-ons 2012* were registered on Plone.org. 2011 That is almost 2010one new add-on 0 125 250 375 500 per day. New Updated
  9. 9. Collective DM Commits/Month Core Commits/MonthPlone on the Outskirts
  10. 10. Collective DM Commits/Month Core Commits/MonthPlone on the Outskirts
  11. 11. Collective DM Commits/Month Core Commits/MonthPlone on the Outskirts
  12. 12. Collective DM Commits/Month Core Commits/MonthPlone on the Outskirts
  13. 13. Collective DM Commits/Month Core Commits/MonthPlone on the Outskirts
  14. 14. What is Plone 5? Seriously this time!
  15. 15. ‣ Deco/Tiles‣ Usability meh dog says...‣ Performance‣1 content type to blah blah blah. RULE THEM ALL! GLITTER+PONIES = UNICORNS === Plone 5 2007
  16. 16. 2010? Deco Light? 2011? ??? 2012?CMSUI? The #1 framework of Grok? post apocalyptic times? Whatever the release manager says it is? 2012: Facing Reality
  17. 17. In order to reach ‣ plone.org/roadmap where we are going ‣ Short Term Vectors of Influence for Plone 5 ‣ Improved calendaring and Community collections Realized Path ‣ Improved content development Excitement Direction experience (Roadmap) Beer TextMedium Term ‣ Dedication ‣ CMS-UI & Deco LiteBitterness Resistance to change ‣ WSGI & Ajax Plone 4 ‣ CMF forms -> Browser Views we must forgive where we have been Roadmap
  18. 18. Does the steep learning curve pay off? Is this complexity still justified today? I need a platform. Customers need a CMS. You cant just start and say "If you want to see the complexity of Plone, you have to ask for it" when you dont know the system good enough to plan.Plone 3 Introduced Regression
  19. 19. Framework Core Values‣ XML Configuration ‣ Code next to config‣ Easy debugging ‣ Syntactic Sugar‣ Extensibility/Pluggability ‣ The custom folder‣ 100% test coverage ‣ Happy end users‣ Best in class code ‣ Clear and simple APIs‣ More documentation ‣ Better documentation ..... Hard things easy ‣ Easy ..... things easy‣
  20. 20. Programming,Motherfucker
  21. 21. Teaching Python Web ‣ Task: Make a TODO list ‣ Audience: New to Pythonmeh dog says... ‣ 3 frameworks, 3 hours per framework ‣ web2py, flask, Django Interfaces? I’ll just use PHP then.
  22. 22. @route( /contact )@render( contact.pt )class Contact(View): def getContactInfo(self): return {phone= 999-999-9999 }@route( /support-request )def ProcessSupport(View): # submit to 3rd party here return redirect(url_for(ThankYou))Simple Syntax
  23. 23. Using Recommended Practices:‣ Getting the site root‣ 6 files and 20 lines of code to add a new stylesheet‣ Touching so many files and modules: impossible to move quickly without referencing documentation constantly Hypoglycemia
  24. 24. The patient suffers from a severe deficiency of Syntactic Sugar
  25. 25. Scapegoat: Documentation
  26. 26. Developer Driven Development ‣ Think about the API first ‣ Obsess about developer efficiency ‣ Use documented examples/ recipes to prove ease of use ‣ Contribute shortcuts from your everyday process and share them with coworkers and Make documentation less communityimportant with intuitive code!
  27. 27. Plone 5 has the potential to makeHappy Developers!
  28. 28. ... makes hiringA thriving communityof happy developers... easier ‣ Plone will never be hip: move on ‣ Dangerously high levels of frustration in the blood ‣ Foster interest in long term career achievement ‣ At least it s not Java plone means getting hands dirty and drinking away your sorrows once you finish the day supton, #plone, January 2012
  29. 29. ‣ Plone developers cost much more than the competition because they are highly skilled + scarce ‣ Ramp up is too time consuming ($$$) ‣ Clients have the right to a saturated developer market should they move on to a different company ‣ Developers have the right to feel prepared to move on within PLONE ‣ Diversity in quality of developers A large communityof happy developers... ... makes firing easier
  30. 30. ✓ Internationalized ✓ Unit tests ✓ End-user documentation ✓ Internal documentation ✓ Existed and maintained for at least 6 months ✓ Installs and uninstalls cleanly ✓ Code structure follows best practice ✓ Usable by SpankySpanky Certified
  31. 31. Who does Plone work for?"If you want a platform to be successful, you needmassive adoption, and that means you needdevelopers to develop for it. The best way to kill aplatform is to make it hard for developers to build onit. Most of the time, this happens because platformcompanies ... dont know that they have a platform(they think its an application)." Joel Spolsky
  32. 32. We Hear You(and we are serious about fixing it)
  33. 33. Plone Pain Top 10 Update plone.api Planned in plone.api Planned for Plone 5(ping esteele to help)
  34. 34. Plone PainDev docs in core, trac removed.Guidelines startedthen stalled - help requested! Part of CMF templates rewrite, newcode validatedPLIP Requested: ping esteele
  35. 35. KSS, inline editing pulled out. Lots more too do Debug tools in plone.api plannedPLIP Requested: ping esteele 2 new tutorials made, return of tutorial focus
  36. 36. ‣ Make Archetypes Optional ‣ Widget parity* ‣ Default Plone types in Dexterity*‣ Continue to factor out unnecessary packages ‣ KSS ‣ Archetypes‣ Javascript date formatting*‣ plone.api*‣ Move all config settings to the registry* *: Needs PLIP-lementors Initiating release sequence...Plone 5 TODOs Plone 5 released.
  37. 37. Summary‣Plone 4 ‣Plone 5Modernizing the Plone Modernizing the Ploneuser experience developer experience ..... .....
  38. 38. Plone Culture NGPlone 5 will happen... now what?
  39. 39. Committing Not Just for Developers‣ Decide to commit to Plone the community. Too many people sitting on the fence results just leaves us with a busted fence.‣ Commit your project or company, no matter how small, to just 1 internal Plone culture improvement proposal this week. Can t code? Even better.
  40. 40. Resolve to Initiate‣ Policy: All employees sign up for Plone on day 1 ‣ Paperwork: Contributor agreement, plone.org account ‣ Persist Plone culture (e.g. pre-install IRC)‣ Training: teach new developers how and when to file bugs and properly contribute fixes‣ Mentorship: it s not just for finding the bathroom
  41. 41. Resolve to Travel‣ Host a sprint. Ploners LOVE to travel. It s science.‣ Send 1 [non-technical] person to a conference ‣ Level Up: Let them stay to sprint ‣ Bonus Round: Present a case study of your work‣ Form an alliance (or two). Explain projects, frustrations, share contacts. Meet their team in person.
  42. 42. Resolve to Encourage‣ Test new versions of Plone. Stage, don t deploy. Upgrade and run your tests. Report back.‣ Make a policy to stop forking! It s a short term fix with long term problems. Enforce it.‣ Set aside time for a company sponsored PLIP
  43. 43. Resolve to Sprint this Weekend!‣Beginner ‣AdvancedFinish Plone Contributor Goodbye cpy!Agreement process ..... .....
  44. 44. !MAGICPlone has the potential to make happy developers, but only you have the power to make Plone
  45. 45. Plone 5 code name: No ExcusesEXCUSES
  46. 46. Questions?
  47. 47. Get Educated‣ Plone Roadmap‣ Plone API Roadmap‣ HOWTO: Getting Started Developing with Plone‣ Tutorial: Hello World‣ Tutorial: Basic TODO List‣ HOWTO: Contributing to Plone Core
  48. 48. Imagery
  49. 49. ๏ seniordogsacrossamerica.com๏ http://nagonthelake.blogspot.com/2011/06/nancy-levines-portraits-of-senior- dogs.html๏ http://davisfreeman.com/blog/tag/portraits๏ flickr.com/photos/mrtopf/372006971/๏ wordl.net๏ manyniches.com/windows-phone/happy-developers/๏ sodahead.com/fun/have-you-ever-been-dog-tired/question-2352589/? link=ibaf&q=&imgurl=http://3.bp.blogspot.com/-OLnmi8bqkHE/TZvcjjU2liI/ AAAAAAAABPs/lbG2f0wwuAE/s1600/Dog%252520Tired%252520Dog.jpg
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×