Upgrade Plone 6.0 to 6.1
Contents
Upgrade Plone 6.0 to 6.1#
Plone 6.1 has seen the following major changes. Some may require changes in your setup.
Drop Python 3.8 and 3.9#
We only support Python 3.10, 3.11, and 3.12.
TinyMCE upgraded in Classic UI#
In Plone 6.0, the Classic UI frontend uses TinyMCE 5, a rich text editor for websites. TinyMCE 5 reached its end of support on April 20, 2023. For Plone 6.1, Classic UI upgraded TinyMCE from version 5 to 7.
If you upgrade a site using Classic UI from Plone 6.0 to 6.1, you do not need to take any action, unless you implemented custom plugins, or you use a plugin which got removed or moved to premium in TinyMCE versions 6 or 7. To upgrade your plugin implementation to TinyMCE 7, see the upgrade guides.
Enable the TinyMCE accordion plugin#
Go to the Site Setup > General > TinyMCE control panel to manage TinyMCE settings.
Under the Plugins and Toolbar tab, check accordion to enable the accordion plugin.
Under the same tab, add a menu entry
accordion
for TinyMCE in the control panel by editing theitems
key as shown.{ "insert": { "title": "Insert", "items": "link media | template hr | accordion" }, }
Click the Save button to save your settings.
In the Security > HTML filtering control panel, add two new tags to Valid tags.
summary
details
Also in the Security > HTML filtering control panel, add a new attribute to Custom attributes.
open
For a transform to valid markup of the Bootstrap 5 accordion, use an output filter.
z3c.form
and plone.app.z3cform
#
Todo
This is a placeholder.
Update deprecated imports
New widget templates
plone.app.multilingual
is a core add-on#
plone.app.multilingual
is the package that adds multilingual support to Plone, allowing the storage and display of content in multiple languages.
In Plone 6.0 and earlier, this was a dependency of Products.CMFPlone
, making it available for installation in all Plone sites.
In Plone 6.1 it is now a dependency of the Plone
package.
If your project or your add-on needs this package, and you only depend on Products.CMFPlone
until now, you should add plone.app.multilingual
as a dependency.
Then your project or add-on will keep working in both Plone 6.0 and 6.1.
The goal of turning more of the current core packages into core add-ons is to make the core smaller, and in some cases solve circular dependencies.
Discussion is a core add-on#
Discussion is a feature that allows your site visitors to comment on web pages for any content object.
The code behind this is in the plone.app.discussion
package.
In Plone 6.0 and earlier, this was a dependency of Products.CMFPlone
, making it available for installation in all Plone sites.
In Plone 6.1 it's a dependency of the Plone
package.
Discussion is disabled by default in Plone 6.1 and later. To enable discussion, you need to perform the following tasks.
In your Python
requirements.txt
orpyproject.toml
file, add the core add-onplone.app.discussion
to your dependencies.Run pip to install
plone.app.discussion
.Restart the Plone backend to load
plone.app.discussion
.Enable the Discussion Support add-on in the Add-ons control panel under .
If you use Plone Classic UI, you can then use the Discussion control panel to further configure this feature, for example, to enable comment moderation.
🍻
If you have an existing Plone 5.2 or 6.0 site and you migrate to 6.1, then migration code handles the change as follows.
If the
plone.app.discussion
Python package is in your setup, the migration does nothing. Existing discussion configuration and comments remain unchanged.If the
plone.app.discussion
Python package is not in your setup, and the site has no existing comments (discussions), then the migration code removes the Discussion configuration from your site. Apparently you were not using comments in your site, so the configuration is no longer needed.If the
plone.app.discussion
Python package is not in your setup, but the site has existing comments (discussions), then the migration code stops with an error. Apparently you were using comments in your site. Add theplone.app.discussion
package to your dependencies, and run the migration again.