SlideShare a Scribd company logo

State of Plone 4 and 5

Maurits van Rees, https://2020.ploneconf.org/speakers/maurits-van-rees Maurits will cover what has happened the last year in Plone 4 and 5, and what are the future plans for Plone 5. Canonical information on this can be found at https://plone.org/download/release-schedule https://2020.ploneconf.org/talks/state-of-plone/view

1 of 16
Download to read offline
STATE OF PLONE 4 AND 5 PLONE CONFERENCEMaurits van Rees, Dec 7 2020
STATE OF PLONE 4 AND 5
Stability versus new features
Hello everyone. I will be presenting the State of Plone 4 and 5.

As a general theme throughout this talk I will focus on stability versus new features.
WHO AM I?
Maurits van Rees
Netherlands -> Belgium
Zest Software, Netherlands
15 years Plone
Security Team
Release Team
I have lived in The Netherlands for most of my life.

Two years ago I moved to Belgium, where I got married with Fiorella, the lovely lady on the right. And there is my daughter Nika and since 15 October I have a sonTobias.

Since the beginning of 2020 I am the second release manager.

The idea is that I focus on the current versions of Plone, getting regular, stable releases out.

Since then I made four Plone releases: 4.3.20, 5.1.7, 5.2.2 and 5.2.3. I will talk a bit about those.
https://plone.org/download/release-schedule
But one of the first things that I did, was to create a Plone release schedule. This was inspired by the Django release schedule. Django has it a bit easier, because its core
is only one package, where Plone has lots. So the Plone release schedule is by nature less predictable.

You can fine the schedule at https://plone.org/download/release-schedule 

This is the place to go when you are looking for information on what is the latest version within a Plone release, and is this Plone release still supported, and how long will
it be supported.

The 4.3, 5.0 and 5.1series get security support until the end of this year or until Plone 6 comes out. So how will that look?
https://plone.org/download/release-schedule
Let’s say Plone 6.0 is released in a few months.
5
New features
vs
stability
We want stable releases. But we also want new features. (Explain picture)

Rule: once we have a Plone 6.0 beta release, no new features should be added.

But most Plone 4 and 5 bugfix releases have had some small new features.

So does this rule only count for major new features, added via the PLIP process?

Does this rule count for dependencies? Do we want only bugfix releases for e.g. zest.releaser, pep517, Pillow? Or is it safe to use all the latest releases, as long as our
tests do not break?

And when is something a new feature anyway? I will show some examples.

I will now talk about Plone 4.3, 5.0, 5.1, 5.2, with notes about their stability.
4.3.0: April 2013
4.3.20: August 2020
Python 2.6
Maintenance support
Security: until Dec 2020 or Plone 6
PLONE 4.3
6
4.3 started seven years ago, which really meant it was time to say goodbye.

Recommended

Understanding pseudo-version and Go1.14+ with notes
Understanding pseudo-version and Go1.14+ with notesUnderstanding pseudo-version and Go1.14+ with notes
Understanding pseudo-version and Go1.14+ with notesMitali Bisht
 
Supported upgrade paths for forti os 5.0.11
Supported upgrade paths for forti os 5.0.11Supported upgrade paths for forti os 5.0.11
Supported upgrade paths for forti os 5.0.11samarpitsri
 
Whitepaper rce cve_2017_9841 | Remote Code Execution Laravel
Whitepaper rce cve_2017_9841 | Remote Code Execution LaravelWhitepaper rce cve_2017_9841 | Remote Code Execution Laravel
Whitepaper rce cve_2017_9841 | Remote Code Execution LaravelChandan Singh Ghodela
 
Managing Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionManaging Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionLuciano Rocha
 
Revisions
RevisionsRevisions
Revisionsswat_kh
 
The Different Versions of Dot NET
The Different Versions of Dot NETThe Different Versions of Dot NET
The Different Versions of Dot NETAlvin Gom
 

More Related Content

Similar to State of Plone 4 and 5

Python monorepos what, why and how (shared)
Python monorepos  what, why and how (shared)Python monorepos  what, why and how (shared)
Python monorepos what, why and how (shared)benjyw
 
White Paper: Release This! - Tools for a Smooth Release Cycle
White Paper: Release This! - Tools for a Smooth Release CycleWhite Paper: Release This! - Tools for a Smooth Release Cycle
White Paper: Release This! - Tools for a Smooth Release CyclePerforce
 
Joomla 2 5 - A Preview
Joomla 2 5 - A PreviewJoomla 2 5 - A Preview
Joomla 2 5 - A PreviewJeremy Wilken
 
Perl on Netbeans - User Guide - v0.5
Perl on Netbeans - User Guide - v0.5Perl on Netbeans - User Guide - v0.5
Perl on Netbeans - User Guide - v0.5Sudeep Hazra
 
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
 
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...Andrey Karpov
 
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)Robert Nelson
 
Joomla 1.0X to 1.5X migration. A Guide
Joomla 1.0X to 1.5X migration. A GuideJoomla 1.0X to 1.5X migration. A Guide
Joomla 1.0X to 1.5X migration. A GuideParth Lawate
 
Create a PHP Library the right way
Create a PHP Library the right wayCreate a PHP Library the right way
Create a PHP Library the right wayChristian Varela
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleGuerrilla
 
Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Anne Nicolas
 
Inptools Manual
Inptools ManualInptools Manual
Inptools ManualMawar 99
 
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T Puppet
 
SELJE - VFP Advanced.pdf
SELJE - VFP Advanced.pdfSELJE - VFP Advanced.pdf
SELJE - VFP Advanced.pdfEric Selje
 
The why and how of moving to php 7
The why and how of moving to php 7The why and how of moving to php 7
The why and how of moving to php 7Wim Godden
 
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...Andrey Karpov
 
Perl on NetBeans v0.4 - User Guide
Perl on NetBeans v0.4 - User GuidePerl on NetBeans v0.4 - User Guide
Perl on NetBeans v0.4 - User GuideSudeep Hazra
 

Similar to State of Plone 4 and 5 (20)

.net frameworks
.net frameworks.net frameworks
.net frameworks
 
Python monorepos what, why and how (shared)
Python monorepos  what, why and how (shared)Python monorepos  what, why and how (shared)
Python monorepos what, why and how (shared)
 
White Paper: Release This! - Tools for a Smooth Release Cycle
White Paper: Release This! - Tools for a Smooth Release CycleWhite Paper: Release This! - Tools for a Smooth Release Cycle
White Paper: Release This! - Tools for a Smooth Release Cycle
 
Joomla 2 5 - A Preview
Joomla 2 5 - A PreviewJoomla 2 5 - A Preview
Joomla 2 5 - A Preview
 
Perl on Netbeans - User Guide - v0.5
Perl on Netbeans - User Guide - v0.5Perl on Netbeans - User Guide - v0.5
Perl on Netbeans - User Guide - v0.5
 
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
 
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
You can now use PVS-Studio with Visual Studio absent; just give it the prepro...
 
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
 
Joomla 1.0X to 1.5X migration. A Guide
Joomla 1.0X to 1.5X migration. A GuideJoomla 1.0X to 1.5X migration. A Guide
Joomla 1.0X to 1.5X migration. A Guide
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
Create a PHP Library the right way
Create a PHP Library the right wayCreate a PHP Library the right way
Create a PHP Library the right way
 
Release This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release CycleRelease This! Tools for a Smooth Release Cycle
Release This! Tools for a Smooth Release Cycle
 
Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?Distro Recipes 2013: What’s new in gcc 4.8?
Distro Recipes 2013: What’s new in gcc 4.8?
 
Inptools Manual
Inptools ManualInptools Manual
Inptools Manual
 
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
PuppetConf 2016: Enjoying the Journey from Puppet 3.x to 4.x – Rob Nelson, AT&T
 
SELJE - VFP Advanced.pdf
SELJE - VFP Advanced.pdfSELJE - VFP Advanced.pdf
SELJE - VFP Advanced.pdf
 
The why and how of moving to php 7
The why and how of moving to php 7The why and how of moving to php 7
The why and how of moving to php 7
 
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
PVS-Studio Now Supports Any Build System under Windows and Any Compiler. Easy...
 
Perl on NetBeans v0.4 - User Guide
Perl on NetBeans v0.4 - User GuidePerl on NetBeans v0.4 - User Guide
Perl on NetBeans v0.4 - User Guide
 

More from PloneFoundation

Form Block / Formbuilder
Form Block / FormbuilderForm Block / Formbuilder
Form Block / FormbuilderPloneFoundation
 
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI serverPyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI serverPloneFoundation
 
Améliorer la gouvernance et la gestion interne de la ville avec Plone
Améliorer la gouvernance et la gestion interne de la ville avec PloneAméliorer la gouvernance et la gestion interne de la ville avec Plone
Améliorer la gouvernance et la gestion interne de la ville avec PlonePloneFoundation
 
Plone 6 Theming based on Barceloneta LTS
Plone 6 Theming based on Barceloneta LTSPlone 6 Theming based on Barceloneta LTS
Plone 6 Theming based on Barceloneta LTSPloneFoundation
 
Modernize Plone's Classic UI
Modernize Plone's Classic UIModernize Plone's Classic UI
Modernize Plone's Classic UIPloneFoundation
 
Volto: A Journey towards Personalization
Volto: A Journey towards PersonalizationVolto: A Journey towards Personalization
Volto: A Journey towards PersonalizationPloneFoundation
 
Bundle Splitting in Volto
Bundle Splitting in VoltoBundle Splitting in Volto
Bundle Splitting in VoltoPloneFoundation
 
Asking questions for the benefit of your future self - Growing with the Plone...
Asking questions for the benefit of your future self - Growing with the Plone...Asking questions for the benefit of your future self - Growing with the Plone...
Asking questions for the benefit of your future self - Growing with the Plone...PloneFoundation
 
Pyramid and the Pylons Project in the wild
Pyramid and the Pylons Project in the wildPyramid and the Pylons Project in the wild
Pyramid and the Pylons Project in the wildPloneFoundation
 

More from PloneFoundation (14)

Form Block / Formbuilder
Form Block / FormbuilderForm Block / Formbuilder
Form Block / Formbuilder
 
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI serverPyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
Pyruvate, a reasonably fast, non-blocking, multithreaded WSGI server
 
Améliorer la gouvernance et la gestion interne de la ville avec Plone
Améliorer la gouvernance et la gestion interne de la ville avec PloneAméliorer la gouvernance et la gestion interne de la ville avec Plone
Améliorer la gouvernance et la gestion interne de la ville avec Plone
 
Running Plone on AWS
Running Plone on AWSRunning Plone on AWS
Running Plone on AWS
 
State of Plone 2020
State of Plone 2020State of Plone 2020
State of Plone 2020
 
Plone 6 Theming based on Barceloneta LTS
Plone 6 Theming based on Barceloneta LTSPlone 6 Theming based on Barceloneta LTS
Plone 6 Theming based on Barceloneta LTS
 
Modernize Plone's Classic UI
Modernize Plone's Classic UIModernize Plone's Classic UI
Modernize Plone's Classic UI
 
Green Party Maps
Green Party MapsGreen Party Maps
Green Party Maps
 
Volto: A Journey towards Personalization
Volto: A Journey towards PersonalizationVolto: A Journey towards Personalization
Volto: A Journey towards Personalization
 
Bundle Splitting in Volto
Bundle Splitting in VoltoBundle Splitting in Volto
Bundle Splitting in Volto
 
Asking questions for the benefit of your future self - Growing with the Plone...
Asking questions for the benefit of your future self - Growing with the Plone...Asking questions for the benefit of your future self - Growing with the Plone...
Asking questions for the benefit of your future self - Growing with the Plone...
 
The State of Pillow
The State of PillowThe State of Pillow
The State of Pillow
 
Pyramid and the Pylons Project in the wild
Pyramid and the Pylons Project in the wildPyramid and the Pylons Project in the wild
Pyramid and the Pylons Project in the wild
 
Questions
QuestionsQuestions
Questions
 

Recently uploaded

killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이ssuser82c38d
 
Agile & Scrum, Certified Scrum Master! Crash Course
Agile & Scrum,  Certified Scrum Master! Crash CourseAgile & Scrum,  Certified Scrum Master! Crash Course
Agile & Scrum, Certified Scrum Master! Crash CourseRohan Chandane
 
The Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and TakeawaysThe Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and TakeawaysThousandEyes
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureHironori Washizaki
 
killing camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfkilling camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfssuser82c38d
 
LLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowLLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowNaoki (Neo) SATO
 
Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Fermin Galan
 
Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Jeffrey Haguewood
 
Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!alttaskcom
 
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...emili denli
 
P1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetP1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetMatthewTHawley
 
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...ISPMAIndia
 
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio, Inc.
 
OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20Shane Coughlan
 
Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019VICTOR MAESTRE RAMIREZ
 
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ..."Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...ISPMAIndia
 
AI Product Management by Abhijit Bendigiri
AI Product Management by Abhijit BendigiriAI Product Management by Abhijit Bendigiri
AI Product Management by Abhijit BendigiriISPMAIndia
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfssuser82c38d
 
Role of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptxRole of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptxMindInventory
 

Recently uploaded (20)

killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
killingcamp 광고삽입문제 풀이, killingcamp 광고삽입문제 풀이
 
Agile & Scrum, Certified Scrum Master! Crash Course
Agile & Scrum,  Certified Scrum Master! Crash CourseAgile & Scrum,  Certified Scrum Master! Crash Course
Agile & Scrum, Certified Scrum Master! Crash Course
 
The Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and TakeawaysThe Top Outages of 2023: Analyses and Takeaways
The Top Outages of 2023: Analyses and Takeaways
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
 
killing camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfkilling camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdf
 
LLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowLLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flow
 
Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227Orion Context Broker introduction 20240227
Orion Context Broker introduction 20240227
 
eLearning Content Development Company Code and Pixels.pdf
eLearning Content Development Company Code and Pixels.pdfeLearning Content Development Company Code and Pixels.pdf
eLearning Content Development Company Code and Pixels.pdf
 
Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)
 
Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!Welcome to AltTask - the nexus where innovation converges with empowerment!
Welcome to AltTask - the nexus where innovation converges with empowerment!
 
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
 
P1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetP1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 Smartsheet
 
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
 
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
Alluxio Monthly Webinar | Why a Multi-Cloud Strategy Matters for Your AI Plat...
 
OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20
 
Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019Implementing Docker Containers with Windows Server 2019
Implementing Docker Containers with Windows Server 2019
 
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ..."Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
 
AI Product Management by Abhijit Bendigiri
AI Product Management by Abhijit BendigiriAI Product Management by Abhijit Bendigiri
AI Product Management by Abhijit Bendigiri
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdf
 
Role of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptxRole of DevOps in SaaS product Development.pdf.pptx
Role of DevOps in SaaS product Development.pdf.pptx
 

State of Plone 4 and 5

  • 1. STATE OF PLONE 4 AND 5 PLONE CONFERENCEMaurits van Rees, Dec 7 2020 STATE OF PLONE 4 AND 5 Stability versus new features Hello everyone. I will be presenting the State of Plone 4 and 5. As a general theme throughout this talk I will focus on stability versus new features.
  • 2. WHO AM I? Maurits van Rees Netherlands -> Belgium Zest Software, Netherlands 15 years Plone Security Team Release Team I have lived in The Netherlands for most of my life. Two years ago I moved to Belgium, where I got married with Fiorella, the lovely lady on the right. And there is my daughter Nika and since 15 October I have a sonTobias. Since the beginning of 2020 I am the second release manager. The idea is that I focus on the current versions of Plone, getting regular, stable releases out. Since then I made four Plone releases: 4.3.20, 5.1.7, 5.2.2 and 5.2.3. I will talk a bit about those.
  • 3. https://plone.org/download/release-schedule But one of the first things that I did, was to create a Plone release schedule. This was inspired by the Django release schedule. Django has it a bit easier, because its core is only one package, where Plone has lots. So the Plone release schedule is by nature less predictable. You can fine the schedule at https://plone.org/download/release-schedule This is the place to go when you are looking for information on what is the latest version within a Plone release, and is this Plone release still supported, and how long will it be supported. The 4.3, 5.0 and 5.1series get security support until the end of this year or until Plone 6 comes out. So how will that look?
  • 5. 5 New features vs stability We want stable releases. But we also want new features. (Explain picture) Rule: once we have a Plone 6.0 beta release, no new features should be added. But most Plone 4 and 5 bugfix releases have had some small new features. So does this rule only count for major new features, added via the PLIP process? Does this rule count for dependencies? Do we want only bugfix releases for e.g. zest.releaser, pep517, Pillow? Or is it safe to use all the latest releases, as long as our tests do not break? And when is something a new feature anyway? I will show some examples. I will now talk about Plone 4.3, 5.0, 5.1, 5.2, with notes about their stability.
  • 6. 4.3.0: April 2013 4.3.20: August 2020 Python 2.6 Maintenance support Security: until Dec 2020 or Plone 6 PLONE 4.3 6 4.3 started seven years ago, which really meant it was time to say goodbye.
  • 7. January 2020 hotfix integrated Products.isurlinportal, hotfix-like Removed broken X-XSS-Protection header from classic and unstyled themes. PLONE 4.3.20 7 Added Products.isurlinportal, with security hardening of urls. You can install this package on all Plone 4.3 such, just like a regular security hotfix.
  • 8. 5.1.0, March 2018 5.1.7: October 2020 Maintenance support Security: until Dec 2020 or Plone 6 Last Plone with Zope 2 PLONE 5.1 8 Warning: the Zope 2 series is not getting fixes anymore.
  • 9. Same security fixes as 4.3. Lots of bug fixes, including Windows, frontend, translations. plone.namedfile: Range support PLONE 5.1.7 9 January hotfix, Products.isurlinport. Range requests are part of the HTTP specification. It means a browser can ask Plone to only send the first megabyte of a large file or video, and later it asks for the next megabyte. These improvements are also in 5.2. plone.scale: direction deprecated, use mode:
 direction = down -> mode = contain or scale-crop-to-fit
 direction = up -> mode = cover or scale-crop-to-fill
 direction = thumbnail -> mode = scale
  • 10. 5.1.4: plone.subrequest 1.8.6 has Python 3 fix. Broke subrequests with VirtualHost rewriting: UnicodeDecodeError. 5.1 STABILITY 10 Example from a customer. We have a control panel where a site administrator could add some links that we show in the footer. We inserted this html snippet using a Diazo rule, which uses plone.subrequest. This worked in English en Dutch, but went wrong in French and Greek. Solution: create a branch of plone.subrequest that is used for 5.1 and earlier, without the Python 3 fixes. So in the 5.1 series I only remember one stability problem that was caused by a new feature: Python 3 support. Other people may remember other problems. And certainly there have been problems in Plone 5 with for example the resource registries or the toolbar or the folder contents. The CMFPlone issue tracker lists about 700 issues. But I think most problems are introduced because someone fixes one bug and accidentally creates another. Sorry, that happens. As release team we cannot prevent this. But the problems I focus on in this keynote, are because new features are added to a Plone series that should be stable. TODO: move notes to later slide?
  • 11. 5.2.0: July 2019 5.2.3: November 2020 5.2.4: expected January 2021 Supports Python 2.7, 3.6, 3.7, 3.8 Uses Zope 4. Upgrade path: 4/5 to 5.2 Python 2 to 5.2 Python 3. Maintenance support until December 2021 or until Plone 6.1 comes out, whichever comes last. Security support until December 2022 or until Plone 7 comes out, whichever comes last. PLONE 5.2 11 This is currently the main version. If you use Plone 5.2 on Python 3, you are in a good position. Note that Python 2.7 has reached end of life, and will get harder to test and support.
  • 12. Fixes security problems in handling of XML, reported by MisakiKata. (And please upgrade collective.easyform.) Zope was upgraded from 4.1 to 4.5. This means the support for WebDav is back. zope.interface: more consistent resolution order (5.2.2), fix potential memory leak (5.2.3) plone.restapi was upgraded from 6.1 to 6.13, with lots of new features, like endpoints for managing add-ons. plone.app.theming: textarea in theming control panel for custom css. plone.app.discussion: Extended existing review workflow by states rejected and spam. PLONE 5.2.2 + 5.2.3 - WebDav should work about as good as it used to in Zope 2. For some people this is enough, for others not. I will talk more about Zope in a minute. - zope.interface was upgraded from 4.6.0 to 5.0.2. This has performance fixes that may have backwards incompatible changes. This makes the inheritance and method resolution order for interfaces more logical and more in line with how it works for 'normal' classes. In corner cases there can be subtle differences when there are several utility or adapter registrations for similar interfaces. For example, when looking for browser view X and there are two such views, Zope looks for the most specific matching interface, and this may have changed.
  • 13. In the discussion control panel you enable comment moderation. Then you get more options on the Moderate Comments page. You can use this to have one reviewer mark a comment as spam or reject it, and have another go through the spam and rejection lists for a second opinion. Or you could hook this up to automatic spam detection and have a human editor make the final judgement.
  • 14. Zope 4.4 had changes to the the logic around template engines, more fixes in 4.5. BAD: python:test(condition, ‘yes’, ‘no’) GOOD: python: ‘yes’ if condition else ‘no’ BAD: python:repeat[‘widget'].index() GOOD: repeat/widget/index repeat/widget/length is broken. (Fixed in Zope 4.5.3, Plone 5.2.3) 5.2 STABILITY - Zope 4.4 had changes to the the logic around template engines. There should now be less differences in behavior between various kinds of templates (Zope/ Acquisition-aware or not) or which template engine is used (zope.pagetemplate or chameleon). There were some problems due to this change, but all should have been fixed in Zope 4.5. Or so we thought. The 'test' keyword is gone. Replace python:test(condition, 'yes', 'no') with python: 'yes' if condition else 'no'. In repeat statements, python:repeat['widget'].index() must be replaced with repeat/widget/index path statement. repeat/widget/length is broken.
  • 15. plone.subrequest: 1.8.6 improved Python 3 compatibility, broke subrequests in 5.1 z3c.autoinclude 0.40: breaking change: drop Python 3.4 support new feature: add support for 3.8. no code change Zope: 4.1: used in Plone 5.2.1 4.2: WebDav (good) 4.3: WebDav independent of ZServer (good) 4.4: template engine fixes (bad) 4.5: more template fixes (good) 4.5.2: more template fixes , but break Python 2 (good/bad) 4.5.3: fix Python 2 (good) SEMANTIC VERSIONING? - plone.subrequest: these are bugfix releases, according to their version numbers. - z3c.autoinclude 0.40 is used in latest Plone 4.3, 5.1, 5.2. - z3c.autoinclude: drop 3.4: Plone does not care. - z3c.autoinclude: add 3.8: Good to have in Plone 5.2, totally safe in 4.3 too because there are no code changes. - Z3C_AUTOINCLUDE_DEBUG: should be safe, but it is a small risk. - Zope: Plone 5.2.1 used Zope 4.1. We could have stayed on that version, but then no bug fixes would have come in for the rest of the entire Plone 5.2 series. - Zope 4.4 added template engine fixes, which sounded innocent enough, but caused breakage. - 4.5 fixed several of those problems, and 4.5.1 fixed more. - 4.5.2 fixed even more, but had an unrelated breaking change on Python 2 for http headers. 4.5.3 fixed that.
  • 16. PLONE 5: FUTURE Stability versus features No new features at all? Zope 4.6+ TinyMCE 4.7 to 4.9? 5.x? jQuery 1.12 to 3? Plone 5.3? No. Optional newer mockup and plone.staticresources Best place for new features: Plone 6 - You could say: 5.2 is a stable branch, so no new features at all. Only bug fixes. If we would have done this from the start, then for 5.2 this would have meant: Zope 4.1.1 so no webdav, less fast zope.interface, no Range support, plone.restapi 6.1 instead of 6.13 so no add-ons endpoint. - And that is just from the past. Which future changes would we miss then? - Zope 4 will still get bug fixes and some new features - Will our TinyMCE still work on modern browsers in half a year? - Same for jQuery. - We could think about doing a 5.3 with more adventurous changes. But this distracts from work on Plone 6. And it would be confusing to Plone users to suddenly introduce a new Plone 5 series when Plone 6 is around the corner. - Keep an eye out for release notes in future 5.2 versions. I note the most dangerous changes there. - If someone asks: discussion on jQuery, mockup, staticresources: https://github.com/plone/plone.staticresources/pull/102, Framework team okay: https:// community.plone.org/t/fwt-meeting-minutes-2020-11-10/13086