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#

  1. Go to the Site Setup > General > TinyMCE control panel to manage TinyMCE settings.

  2. Under the Plugins and Toolbar tab, check accordion to enable the accordion plugin.

  3. Under the same tab, add a menu entry accordion for TinyMCE in the control panel by editing the items key as shown.

    {
      "insert": {
        "title": "Insert",
        "items": "link media | template hr | accordion"
      },
    }
    
  4. Click the Save button to save your settings.

  5. In the Security > HTML filtering control panel, add two new tags to Valid tags.

    • summary

    • details

  6. Also in the Security > HTML filtering control panel, add a new attribute to Custom attributes.

    • open

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

  1. In your Python requirements.txt or pyproject.toml file, add the core add-on plone.app.discussion to your dependencies.

  2. Run pip to install plone.app.discussion.

  3. Restart the Plone backend to load plone.app.discussion.

  4. Enable the Discussion Support add-on in the Add-ons control panel under Site Setup ‣ General.

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

  6. 🍻

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 the plone.app.discussion package to your dependencies, and run the migration again.