SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
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
Plone 4.X
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

                   .....                                 .....
New Processes
                 PLIPS                                               Releases
45
                                                             Only YOU can make this
                                                  4.3*
                                                                    smaller!
30                                                 4.2


                                                   4.1
15

                                                   4.0
0
     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
Ticket Cleanup Process


     1132 Open Tickets
      8 per core contributor
         3.4 new tickets/day
                               s




Attainable Goal: 4 Tickets per Contributor
Breakdown of Bugs
                             (color coded by how irritated I
Feature 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
In January 2012,       Add Ons
29 new add-ons     2012*
 were registered
  on Plone.org.    2011


  That is almost
                   2010

one new add-on             0     125   250      375    500

   per day.                    New           Updated
Collective DM Commits/Month




      Core Commits/Month




Move to Github
What is Plone 5?
  Seriously this time!
‣ Deco/Tiles

‣ Usability
                       meh dog says...

‣ Performance

‣1   content type to                     blah blah blah.


 RULE THEM ALL!        GLITTER+PONIES
                         = UNICORNS
                         === Plone 5
     2007
2010?
  Deco Light?                      2011?




                ???
                                           2012?
CMSUI?
                                        The #1
                                     framework of
   Grok?                            post apocalyptic
                                         times?

    Whatever the release manager says it is?


     2012: Facing Reality
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 Lite
Bitterness
                        Resistance to change
                                                            ‣   WSGI & Ajax

   Plone 4                                                  ‣   CMF forms -> Browser Views
                    we must forgive

     where we have been
                                                                Roadmap
Tale of a major
 Plone 2.5
Regression
Does the steep learning curve pay off? Is

           this complexity still justified today?

           I need a platform. Customers need a CMS.

           You can't just start and say "If you want

           to see the complexity of Plone,

           you have to ask for it" when you don't
           know the system good enough to plan.




The Complexity of Plone
So... what COULD justify the
                 complexity of Plone?
‣ It's moving to a more modern architecture. It's 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
‣ There's 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 there's something you need for some aspect of

  content management, it's already there, you don't have to create it from scratch, and you can do it in a

  way that's consistent with a wide practice and review.
On Upgrading
Data migrations from Plone 2.5 to

 4.2 were very successful. Data

    compatibility will remain

important be important and we

 are dedicated not getting stuck

again (Python bumps, we bump).

The worst of the modernization

         storm is over.
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
‣
Teaching
                                       Python Web
                                       ‣   Task: Make a TODO list
                                       ‣   Audience: New to Python
meh dog says...                        ‣   3 frameworks, 3 hours

                                           per framework
                                       ‣   web2py, flask, Django
 Interfaces? I’ll just use PHP then.
@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
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
The patient suffers from a severe deficiency of

  Syntactic Sugar
Scapegoat: Documentation
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            community
important with intuitive code!
Plone 5 has the potential to make

Happy Developers!
... makes hiring
A thriving community
of 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
‣ 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 community
of happy developers...
                          ... makes firing
                               easier
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.
✓ 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 Spanky


Spanky Certified
Who does Plone work for?

"If you want a platform to be successful, you need

massive adoption, and that means you need

developers to develop for it. The best way to kill a

platform is to make it hard for developers to build on

it. Most of the time, this happens because platform

companies ... don't know that they have a platform

(they think it's an application)."   Joel Spolsky
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 Pain
Dev docs in core,
  trac removed.
Guidelines started
then stalled - help
    requested!

 Part of CMF
  templates
 rewrite, new
code validated


PLIP Requested:
  ping esteele
KSS, inline editing
 pulled out. Lots
  more too do

 Debug tools in
   plone.api
   planned


PLIP Requested:
  ping esteele



 2 new tutorials
 made, return of
  tutorial focus
‣   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.
Summary

‣Plone      4           ‣Plone     5
Modernizing the Plone   Modernizing the Plone

user experience         developer experience




        .....                   .....
Plone Culture NG
Plone 5 will happen... now what?
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.
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
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.
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
Resolve to Sprint this Weekend!

‣Tutorial                ‣DOJO

Basic TODO List the      Modernizing the Plone

Plone way. Focus on      contributor agreement

transition from TTW to   process. Learn Dexterity,

plone.api. Moderated.    content rules and more.

        .....                     .....
!MAGIC

Plone has the potential to make
  happy developers, but only
  you have the power to make

        Plone
Plone 5 code name: No Excuses




EXCUSES
Questions?
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
Imagery
๏   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

Contenu connexe

Similaire à Plone Symposium South America 2012

Plone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric SteelePlone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric SteeleT. Kim Nguyen
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009julien.ponge
 
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...Fabrice Bernhard
 
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012Fabrice Bernhard
 
Iz Pack
Iz PackIz Pack
Iz PackInria
 
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...hamidsamadi
 
Must-have Plugins for Confluence & JIRA - Atlassian Summit 2010
Must-have Plugins for Confluence & JIRA - Atlassian Summit 2010Must-have Plugins for Confluence & JIRA - Atlassian Summit 2010
Must-have Plugins for Confluence & JIRA - Atlassian Summit 2010Atlassian
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoPeter Bittner
 
Pharo 2.0: An Exciting Milestone
Pharo 2.0: An Exciting MilestonePharo 2.0: An Exciting Milestone
Pharo 2.0: An Exciting MilestoneMarcus Denker
 
Modernizr, Yepnope, and Polyfills
Modernizr, Yepnope, and PolyfillsModernizr, Yepnope, and Polyfills
Modernizr, Yepnope, and PolyfillsAlex Sexton
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Mirco Hering
 
Cerebro general overiew eng
Cerebro general overiew engCerebro general overiew eng
Cerebro general overiew engCineSoft
 
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016ManageIQ
 
NYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaNYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaMichael Bryzek
 
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo
 
TTW FTW: Plone as the new wordpress
TTW FTW: Plone as the new wordpressTTW FTW: Plone as the new wordpress
TTW FTW: Plone as the new wordpressDylan Jay
 
GitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your ReposGitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your ReposWeaveworks
 

Similaire à Plone Symposium South America 2012 (20)

Old Dogs and New Tricks
Old Dogs and New TricksOld Dogs and New Tricks
Old Dogs and New Tricks
 
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric SteelePlone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
 
Plone Futures
Plone FuturesPlone Futures
Plone Futures
 
IzPack - fOSSa 2009
IzPack - fOSSa 2009IzPack - fOSSa 2009
IzPack - fOSSa 2009
 
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...
Modernisation of legacy PHP applications using Symfony2 - PHP Northeast Confe...
 
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
Modernisation of Legacy PHP Applications to Symfony2 - Symfony Live Berlin 2012
 
Iz Pack
Iz PackIz Pack
Iz Pack
 
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
 
Must-have Plugins for Confluence & JIRA - Atlassian Summit 2010
Must-have Plugins for Confluence & JIRA - Atlassian Summit 2010Must-have Plugins for Confluence & JIRA - Atlassian Summit 2010
Must-have Plugins for Confluence & JIRA - Atlassian Summit 2010
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
Collabograte
CollabograteCollabograte
Collabograte
 
Pharo 2.0: An Exciting Milestone
Pharo 2.0: An Exciting MilestonePharo 2.0: An Exciting Milestone
Pharo 2.0: An Exciting Milestone
 
Modernizr, Yepnope, and Polyfills
Modernizr, Yepnope, and PolyfillsModernizr, Yepnope, and Polyfills
Modernizr, Yepnope, and Polyfills
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
Cerebro general overiew eng
Cerebro general overiew engCerebro general overiew eng
Cerebro general overiew eng
 
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
DevOps with OpenShift - Fabien Dupont - ManageIQ Design Summit 2016
 
NYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaNYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing delta
 
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
 
TTW FTW: Plone as the new wordpress
TTW FTW: Plone as the new wordpressTTW FTW: Plone as the new wordpress
TTW FTW: Plone as the new wordpress
 
GitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your ReposGitOps Core Concepts & Ways of Structuring Your Repos
GitOps Core Concepts & Ways of Structuring Your Repos
 

Plus de Elizabeth Leddy

10 secrets to sustainable open source communities
10 secrets to sustainable open source communities10 secrets to sustainable open source communities
10 secrets to sustainable open source communitiesElizabeth Leddy
 
A Small Group of Thoughtful, Committed [plone] People
A Small Group of Thoughtful, Committed [plone] PeopleA Small Group of Thoughtful, Committed [plone] People
A Small Group of Thoughtful, Committed [plone] PeopleElizabeth Leddy
 
I Wish I knew How to Quit You
I Wish I knew How to Quit YouI Wish I knew How to Quit You
I Wish I knew How to Quit YouElizabeth Leddy
 

Plus de Elizabeth Leddy (6)

10 secrets to sustainable open source communities
10 secrets to sustainable open source communities10 secrets to sustainable open source communities
10 secrets to sustainable open source communities
 
A Small Group of Thoughtful, Committed [plone] People
A Small Group of Thoughtful, Committed [plone] PeopleA Small Group of Thoughtful, Committed [plone] People
A Small Group of Thoughtful, Committed [plone] People
 
I Wish I knew How to Quit You
I Wish I knew How to Quit YouI Wish I knew How to Quit You
I Wish I knew How to Quit You
 
Fuck youbackground
Fuck youbackgroundFuck youbackground
Fuck youbackground
 
F*ck you, Do Something
F*ck you, Do SomethingF*ck you, Do Something
F*ck you, Do Something
 
2011: Year of the fish
2011: Year of the fish2011: Year of the fish
2011: Year of the fish
 

Dernier

Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 

Dernier (20)

Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 

Plone Symposium South America 2012

  • 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
  • 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. New Processes PLIPS Releases 45 Only YOU can make this 4.3* smaller! 30 4.2 4.1 15 4.0 0 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. Ticket Cleanup Process 1132 Open Tickets 8 per core contributor 3.4 new tickets/day s Attainable Goal: 4 Tickets per Contributor
  • 6. Breakdown of Bugs (color coded by how irritated I Feature 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. In January 2012, Add Ons 29 new add-ons 2012* were registered on Plone.org. 2011 That is almost 2010 one new add-on 0 125 250 375 500 per day. New Updated
  • 8. Collective DM Commits/Month Core Commits/Month Move to Github
  • 9. What is Plone 5? Seriously this time!
  • 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. 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. 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 Lite Bitterness Resistance to change ‣ WSGI & Ajax Plone 4 ‣ CMF forms -> Browser Views we must forgive where we have been Roadmap
  • 13. Tale of a major Plone 2.5 Regression
  • 14. Does the steep learning curve pay off? Is this complexity still justified today? I need a platform. Customers need a CMS. You can't just start and say "If you want to see the complexity of Plone, you have to ask for it" when you don't know the system good enough to plan. The Complexity of Plone
  • 15. So... what COULD justify the complexity of Plone? ‣ It's moving to a more modern architecture. It's 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 ‣ There's 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 there's something you need for some aspect of content management, it's already there, you don't have to create it from scratch, and you can do it in a way that's consistent with a wide practice and review.
  • 16. On Upgrading Data migrations from Plone 2.5 to 4.2 were very successful. Data compatibility will remain important be important and we are dedicated not getting stuck again (Python bumps, we bump). The worst of the modernization storm is over.
  • 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. Teaching Python Web ‣ Task: Make a TODO list ‣ Audience: New to Python meh dog says... ‣ 3 frameworks, 3 hours per framework ‣ web2py, flask, Django Interfaces? I’ll just use PHP then.
  • 19. @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
  • 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. The patient suffers from a severe deficiency of Syntactic Sugar
  • 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 community important with intuitive code!
  • 24. Plone 5 has the potential to make Happy Developers!
  • 25. ... makes hiring A thriving community of 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. ‣ 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 community of happy developers... ... makes firing easier
  • 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. ✓ 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 Spanky Spanky Certified
  • 29. Who does Plone work for? "If you want a platform to be successful, you need massive adoption, and that means you need developers to develop for it. The best way to kill a platform is to make it hard for developers to build on it. Most of the time, this happens because platform companies ... don't know that they have a platform (they think it's an application)." Joel Spolsky
  • 30. We Hear You (and we are serious about fixing it)
  • 31. Plone Pain Top 10 Update plone.api Planned in plone.api Planned for Plone 5 (ping esteele to help)
  • 32. Plone Pain Dev docs in core, trac removed. Guidelines started then stalled - help requested! Part of CMF templates rewrite, new code validated PLIP Requested: ping esteele
  • 33. KSS, inline editing pulled out. Lots more too do Debug tools in plone.api planned PLIP Requested: ping esteele 2 new tutorials made, return of tutorial focus
  • 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. Summary ‣Plone 4 ‣Plone 5 Modernizing the Plone Modernizing the Plone user experience developer experience ..... .....
  • 36. Plone Culture NG Plone 5 will happen... now what?
  • 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. 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
  • 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. 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. Resolve to Sprint this Weekend! ‣Tutorial ‣DOJO Basic TODO List the Modernizing the Plone Plone way. Focus on contributor agreement transition from TTW to process. Learn Dexterity, plone.api. Moderated. content rules and more. ..... .....
  • 42. !MAGIC Plone has the potential to make happy developers, but only you have the power to make Plone
  • 43. Plone 5 code name: No Excuses EXCUSES
  • 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
  • 47. 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