Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Plone Symposium South America 2012


Published on

Published in: Technology
  • Be the first to comment

Plone Symposium South America 2012

  1. 1. Old Dogs & New Tricks 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. Plone 4.X
  3. 3. 4.[1,2,3] Features‣ 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 ..... .....
  4. 4. 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
  5. 5. Ticket Cleanup Process 1132 Open Tickets 8 per core contributor 3.4 new tickets/day sAttainable Goal: 4 Tickets per Contributor
  6. 6. 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
  7. 7. 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
  8. 8. Collective DM Commits/Month Core Commits/MonthMove to Github
  9. 9. What is Plone 5? Seriously this time!
  10. 10. ‣ Deco/Tiles‣ Usability meh dog says...‣ Performance‣1 content type to blah blah blah. RULE THEM ALL! GLITTER+PONIES = UNICORNS === Plone 5 2007
  11. 11. 2010? Deco Light? 2011? ??? 2012?CMSUI? The #1 framework of Grok? post apocalyptic times? Whatever the release manager says it is? 2012: Facing Reality
  12. 12. 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
  13. 13. Tale of a major Plone 2.5Regression
  14. 14. 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.The Complexity of Plone
  15. 15. So... what COULD justify the complexity of Plone?‣ Its moving to a more modern architecture. Its bridging both the old and the new approach right now, which adds some complexity until the transition is mostly complete. This is mostly to keep things backwards compatible. Plone does not abandon it s users.‣ [Plone 4] starts up 3-4 times faster than the current version. and uses about 20% less memory‣ Theres a much easier types system in the works (Dexterity), which will reduce the complexity and speed up the system a lot, while keeping the same level of functionality.‣ If you want to use it as a "platform," then the platform is a stack of over one million lines of code which implements a complete content management suite. No one knows it all. However, all those "acronyms" and "files" are evidence of a software which is factored in components so that no one need know it all. You can get as deep or shallow in it as you need. If theres something you need for some aspect of content management, its already there, you dont have to create it from scratch, and you can do it in a way thats consistent with a wide practice and review.
  16. 16. On UpgradingData migrations from Plone 2.5 to 4.2 were very successful. Data compatibility will remainimportant be important and we are dedicated not getting stuckagain (Python bumps, we bump).The worst of the modernization storm is over.
  17. 17. 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‣
  18. 18. 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.
  19. 19. @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
  20. 20. 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
  21. 21. The patient suffers from a severe deficiency of Syntactic Sugar
  22. 22. Scapegoat: Documentation
  23. 23. 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!
  24. 24. Plone 5 has the potential to makeHappy Developers!
  25. 25. ... 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
  26. 26. ‣ 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
  27. 27. Redefining Sexy Too many packages rely on too few maintainers; the code is so brilliant and innovative, people are afraid to touch it. We need to nurture a culture where code is usable and maintainable by the average Plone developer.
  28. 28. ✓ 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
  29. 29. 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
  30. 30. We Hear You(and we are serious about fixing it)
  31. 31. Plone Pain Top 10 Update plone.api Planned in plone.api Planned for Plone 5(ping esteele to help)
  32. 32. Plone PainDev docs in core, trac removed.Guidelines startedthen stalled - help requested! Part of CMF templates rewrite, newcode validatedPLIP Requested: ping esteele
  33. 33. 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
  34. 34. ‣ 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.
  35. 35. Summary‣Plone 4 ‣Plone 5Modernizing the Plone Modernizing the Ploneuser experience developer experience ..... .....
  36. 36. Plone Culture NGPlone 5 will happen... now what?
  37. 37. 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.
  38. 38. 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
  39. 39. 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.
  40. 40. 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
  41. 41. Resolve to Sprint this Weekend!‣Tutorial ‣DOJOBasic TODO List the Modernizing the PlonePlone way. Focus on contributor agreementtransition from TTW to process. Learn Dexterity,plone.api. Moderated. content rules and more. ..... .....
  42. 42. !MAGICPlone has the potential to make happy developers, but only you have the power to make Plone
  43. 43. Plone 5 code name: No ExcusesEXCUSES
  44. 44. Questions?
  45. 45. 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
  46. 46. Imagery
  47. 47. ๏๏ dogs.html๏๏๏๏๏ link=ibaf&q=&imgurl= AAAAAAAABPs/lbG2f0wwuAE/s1600/Dog%252520Tired%252520Dog.jpg