Upgade 5.2 to 6

Is there a step-by-step upgrade guide from 5.2 to 6? I'm not really getting anywhere with Upgrading Plone 5.2 to 6.0 – Backend – Plone Upgrade Guide – Version-specific migration procedures and tips — Plone Documentation v6.0.

What happens?

Did you try to install a new Plone 6 and then copy the old var folder to the new one

Off topic: What is the reason for upgrading? Is 6 faster than 5.2.11 in classic mode ?

We are now running Plone 5.2 on Debian 11. I would like to do an inplace upgrade.

Sooner or later plone will not support debian11, pyhton 2.7, etc....., so better upgrade now and be up to date before it is too late.

So far we have changed the buildout configuration to upgrade, but this now ends in an error when we try to upgrade to 6.0


An internal error occurred due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
File "/opt/plone/zinstance/local/lib/python2.7/site-packages/zc/buildout/buildout.py", line 2173, in main
user_defaults, command, args)
File "/opt/plone/zinstance/local/lib/python2.7/site-packages/zc/buildout/buildout.py", line 370, in init
data_buildout_copy, override, set()))
File "/opt/plone/zinstance/local/lib/python2.7/site-packages/zc/buildout/buildout.py", line 1826, in _open
File "/opt/plone/zinstance/local/lib/python2.7/site-packages/zc/buildout/buildout.py", line 1802, in _open
fp, filename_for_logging, _default_globals)
File "/opt/plone/zinstance/local/lib/python2.7/site-packages/zc/buildout/configparser.py", line 188, in parse
section_condition = eval(expr, context)[0]
File "", line 1, in
NameError: name 'python38' is not defined

You may need to use a newer Python version. Supported Python versions are 3.8, 3.9, 3.10, and 3.11.

Please read the upgrade guide thoroughly and/or contact a Plone solution provider of your choice if time is of the essence.

I recently did a similar upgrade, and you are supposed to upgrade to python 3 at the 5.2 level before going to Plone 6.

I went from 5.1.6 to 5.2.10 (5.2.10 seems to be the last version that can install python 2.7 as part of the unified installer)

Once at 5.2.10 with python 2.7 I made a second 5.2.10 install that used python 3.8 and followed the steps in this doc to upgrade my zodb database

  • Prepare Your Buildout For Migrating The Database To Python 3
  • Verify The Integrity of the Database in Python 2
  • Migrate Database using zodbupdate

Once at 5.2.10 python3, I tried to go right to Plone 6 but ended up having to go back and upgrade to 5.2.11 first. You are already at this level, so i'm guessing you want to go 5.2.11 with python 2.7 -> 5.2.11 with python 3 -> Plone 6

Just one side note. I decided to stay at 5.2.11 with Python 3.8 for now, as I did not like the changes to the classic interface (mainly album thumbnails missing) and I was not ready to research volto. But it is good to know when I do need to go to v6, that this upgrade will work. I think my plone site started at either v2 or v3, so I ran into a lot of odd issues I had to work around for the python 2 to python 3 upgrade

Also, one other note. the guide for upgrading the zodb from python 2 to 3 has this note

Do not try to start Plone in Python 3 with the old database before migrating it! Trying to that will destroy the database and result in a traceback like this:

So if you have already tried to start that database without upgrading it, you might have to go back to a previous copy of it. (though from your error it looks like you didn't have python 3.8 installed, so maybe it didn't get far enough to harm the database)

As someone not developing my own plugins I found the 5.2 to 6.0 guide you mentioned fairly useless. it was one of the first things I looked at, but It really did not help my upgrade at all. it seems more like a "whats changed" guide than an upgrade guide.