SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
Plone as a
Development 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
WARNING
Although this presentation seems to be filled with factoids, it is actally filled
with lazily validated stats, graphs that are extrapolated far beyond
mathematical reason, and pirated imagery. It is highly likely that I have
misinterpreted historical results or became so blinded with anger about
certain things that I did not Google sufficiently or give good thoughts to
decent alternatives. Except any statements about Grok. I’m confident there.

More importantly, this is a very opinionated piece. Officially, much of this is
addressed by the Roadmap, which provides you with the important fluff you
need to sell Plone to your customers, clients, and neighborhood dentist. In
the theoretical future, the roadmap will direct “official” processes and
people will cheer and eat cake. For now: anarchy.

In the meanwhile, I can only assume that I will firmly disagree with whatever
comes out of this because I am an asshole by nature and go full steam ahead
with the contents of this presentation. There is no intention to ruffle feathers
or miscommunicate. I encourage all of YOU to get up and talk/blog/vlog
your vision for Plone, controvesy and all. Be loud, be proud, be Plone.
Plone 4.X
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

                   .....                                 .....
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




Plone on the Outskirts
Collective DM Commits/Month




         Core Commits/Month




Plone on the Outskirts
Collective DM Commits/Month




         Core Commits/Month




Plone on the Outskirts
Collective DM Commits/Month




         Core Commits/Month




Plone on the Outskirts
Collective DM Commits/Month




         Core Commits/Month




Plone on the Outskirts
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
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.




Plone 3 Introduced Regression
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
‣
Programming,
Motherfucker
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
✓ 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!

‣Beginner                  ‣Advanced

Finish Plone Contributor   Goodbye cpy!

Agreement process




         .....                    .....
!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

Mais conteúdo relacionado

Semelhante a Plone as a Development Platform

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
 
Modernizr, Yepnope, and Polyfills
Modernizr, Yepnope, and PolyfillsModernizr, Yepnope, and Polyfills
Modernizr, Yepnope, and PolyfillsAlex Sexton
 
Iz Pack
Iz PackIz Pack
Iz PackInria
 
Perl Myths 200802 with notes (OUTDATED, see 200909)
Perl Myths 200802 with notes (OUTDATED, see 200909)Perl Myths 200802 with notes (OUTDATED, see 200909)
Perl Myths 200802 with notes (OUTDATED, see 200909)Tim Bunce
 
Synerghetic-Initiation_Github
Synerghetic-Initiation_GithubSynerghetic-Initiation_Github
Synerghetic-Initiation_GithubSynerg'hetic
 
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
 
CPSeis & GeoCraft
CPSeis & GeoCraftCPSeis & GeoCraft
CPSeis & GeoCraftbillmenger
 
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
 
Cerebro general overiew eng
Cerebro general overiew engCerebro general overiew eng
Cerebro general overiew engCineSoft
 
10 Things You Probably Didn't Know About Plone
10 Things You Probably Didn't Know About Plone10 Things You Probably Didn't Know About Plone
10 Things You Probably Didn't Know About PloneJazkarta, Inc.
 
10 Things About Plone - Software Freedom Day 2008
10 Things About Plone - Software Freedom Day 200810 Things About Plone - Software Freedom Day 2008
10 Things About Plone - Software Freedom Day 2008Jazkarta, Inc.
 
Innovative it project management practices
Innovative it project management practicesInnovative it project management practices
Innovative it project management practicesTathagat Varma
 
NYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaNYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaMichael Bryzek
 
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
 
Backlog Refinement at Scale
Backlog Refinement at ScaleBacklog Refinement at Scale
Backlog Refinement at ScaleCprime
 
Log everything!
Log everything!Log everything!
Log everything!ICANS GmbH
 

Semelhante a Plone as a Development Platform (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...
 
Modernizr, Yepnope, and Polyfills
Modernizr, Yepnope, and PolyfillsModernizr, Yepnope, and Polyfills
Modernizr, Yepnope, and Polyfills
 
Iz Pack
Iz PackIz Pack
Iz Pack
 
Perl Myths 200802 with notes (OUTDATED, see 200909)
Perl Myths 200802 with notes (OUTDATED, see 200909)Perl Myths 200802 with notes (OUTDATED, see 200909)
Perl Myths 200802 with notes (OUTDATED, see 200909)
 
Synerghetic-Initiation_Github
Synerghetic-Initiation_GithubSynerghetic-Initiation_Github
Synerghetic-Initiation_Github
 
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
 
CPSeis & GeoCraft
CPSeis & GeoCraftCPSeis & GeoCraft
CPSeis & GeoCraft
 
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
 
Cerebro general overiew eng
Cerebro general overiew engCerebro general overiew eng
Cerebro general overiew eng
 
10 Things You Probably Didn't Know About Plone
10 Things You Probably Didn't Know About Plone10 Things You Probably Didn't Know About Plone
10 Things You Probably Didn't Know About Plone
 
10 Things About Plone - Software Freedom Day 2008
10 Things About Plone - Software Freedom Day 200810 Things About Plone - Software Freedom Day 2008
10 Things About Plone - Software Freedom Day 2008
 
Innovative it project management practices
Innovative it project management practicesInnovative it project management practices
Innovative it project management practices
 
NYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing deltaNYC Continuous Delivery Meetup - Introducing delta
NYC Continuous Delivery Meetup - Introducing delta
 
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...
 
Backlog Refinement at Scale
Backlog Refinement at ScaleBacklog Refinement at Scale
Backlog Refinement at Scale
 
Log everything!
Log everything!Log everything!
Log everything!
 

Último

Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 

Último (20)

Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 

Plone as a Development Platform

  • 1. Plone as a Development 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. WARNING Although this presentation seems to be filled with factoids, it is actally filled with lazily validated stats, graphs that are extrapolated far beyond mathematical reason, and pirated imagery. It is highly likely that I have misinterpreted historical results or became so blinded with anger about certain things that I did not Google sufficiently or give good thoughts to decent alternatives. Except any statements about Grok. I’m confident there. More importantly, this is a very opinionated piece. Officially, much of this is addressed by the Roadmap, which provides you with the important fluff you need to sell Plone to your customers, clients, and neighborhood dentist. In the theoretical future, the roadmap will direct “official” processes and people will cheer and eat cake. For now: anarchy. In the meanwhile, I can only assume that I will firmly disagree with whatever comes out of this because I am an asshole by nature and go full steam ahead with the contents of this presentation. There is no intention to ruffle feathers or miscommunicate. I encourage all of YOU to get up and talk/blog/vlog your vision for Plone, controvesy and all. Be loud, be proud, be Plone.
  • 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. 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
  • 6. Ticket Cleanup Process 1132 Open Tickets 8 per core contributor 3.4 new tickets/day s Attainable Goal: 4 Tickets per Contributor
  • 7. 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
  • 8. 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
  • 9. Collective DM Commits/Month Core Commits/Month Plone on the Outskirts
  • 10. Collective DM Commits/Month Core Commits/Month Plone on the Outskirts
  • 11. Collective DM Commits/Month Core Commits/Month Plone on the Outskirts
  • 12. Collective DM Commits/Month Core Commits/Month Plone on the Outskirts
  • 13. Collective DM Commits/Month Core Commits/Month Plone on the Outskirts
  • 14. What is Plone 5? Seriously this time!
  • 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. 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. 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
  • 18. 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. Plone 3 Introduced Regression
  • 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 ‣
  • 21. 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.
  • 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. 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. The patient suffers from a severe deficiency of Syntactic Sugar
  • 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 community important with intuitive code!
  • 27. Plone 5 has the potential to make Happy Developers!
  • 28. ... 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
  • 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 community of happy developers... ... makes firing easier
  • 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 Spanky Spanky Certified
  • 31. 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
  • 32. We Hear You (and we are serious about fixing it)
  • 33. Plone Pain Top 10 Update plone.api Planned in plone.api Planned for Plone 5 (ping esteele to help)
  • 34. 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
  • 35. 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
  • 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. Summary ‣Plone 4 ‣Plone 5 Modernizing the Plone Modernizing the Plone user experience developer experience ..... .....
  • 38. Plone Culture NG Plone 5 will happen... now what?
  • 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. 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. 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. 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. Resolve to Sprint this Weekend! ‣Beginner ‣Advanced Finish Plone Contributor Goodbye cpy! Agreement process ..... .....
  • 44. !MAGIC Plone has the potential to make happy developers, but only you have the power to make Plone
  • 45. Plone 5 code name: No Excuses EXCUSES
  • 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
  • 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