Plone as a Development Platform


Published on

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

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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 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 ‣ 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( )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, 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. ๏๏ dogs.html๏๏๏๏๏ link=ibaf&q=&imgurl= AAAAAAAABPs/lbG2f0wwuAE/s1600/Dog%252520Tired%252520Dog.jpg