Released: Friday April 8, 2022.
Changes since 6.0.0a3:
setuptools62.0.0 by default.
waitressto version 2.1.1 to mitigate a vulnerability in that package.
Zope5.5.1: Enhance cookie support.
- Remove RequireJS.
- Remove default resource jQuery. It is added to the global namespace via the bundle.
- Remove support for conditional comments in script and style tags. It's not supported since IE10.
- Remove dependency on mockup. Mockup is now a npm package only and as such a dependency of plone.staticresources.
- New resource registry to simplify CSS/JS registration.
- Only "bundles" are registered - support of "resources" and "bundle resources" is removed.
- Removed TTW compilation of bundles via r.js and less.js.
merge_withis no longer needed in HTTP/2 times and merging here unsupported.
- Unique key for delivery is based on hash of bundle file,
last_compilationproperty is deprecated.
- PLIP #3279: Implement modern images scales. Add huge (1600px), great (1200px), larger (1000px), teaser (600px). Amend preview and mini (remove height constraint).
- Add TinyMCE template plugin to the plugins vocabulary.
- Add TinyMCE alignment classes, to avoid style usage.
plone.voltois now a dependency of the
- PLIP 2780: Move features of
plone.recipe.zope2instance: by default do not create a temporary storage.
plone.scale: Removed deprecated
plone.app.linkintegrity: Track link integrity of referenced PDFs and other site objects in IFRAME SRC references.
plone.outputfilters: Resolve UIDs in SRC= attribute of of SOURCE and IFRAME elements.
plone.app.querystring: Add lazy attribute to vocabularies to prevent fetching any results.
- Deactivate copy button and modal in theming control panel.
- Remove all thememapper functionality from theming control panel, including Inspect/Modify theme and the Preview.
plone.app.users: Show unfiltered member fields for manager in user profile page.
- Remove implicit dependency on Mockup. Mockup is no longer a Python package, only an npm package.
- Update datetime pattern options for Patternslib pat-date-picker/pat-datetime-picker.
- Fixes for latest z3c.form.
- Reimplementation of ObjectSubForm and ISubformFactory, backported from older z3c.form.
- Use better types for inputs.
- Use browser native date and datetime-local input together with patternslib date-picker.
- Implement TimeWidget which renders
<input type="time" />.
- Use pat-validation in forms.
- Fixed for latest z3c.form
plone.z3cform: compatibility with latest z3c.form.
IImageScaleStoragemulti adapter, both from
plone.scale. Use this adapter in our scaling functions when we store or get an image scale.
Products.PlonePAS: Add separate
GenericSetupprofile to switch the Zope root
/acl_usersto use a simple cookie login form. Useful when Zope root login and logout need to synchronize authentication state between multiple plugins, which is not possible with HTTP Basic authentication.
- Restructure global sections and searchbox markup for mobile navigation as offcanvas sidebar.
- LiveSearch with support for images in search results.
plonetheme.barceloneta: sticky footer.
Note that changes may be mentioned only once, even when they involve multiple packages.
Some documentation about installation:
- Installation instructions from the Mastering Plone 6 training:
6. Installation and Setup of Plone 6 – Mastering Plone 6 Development — Plone Training 2022 documentation
- Volto frontend installation:
Frontend — Plone Documentation v6.0-dev
Community post on work in progress with
If you use Docker, we have some images:
plone/plone-backend(5.2 and 6.0)
If you don't do Docker, you will have to do the backend by hand.
The links above should give you information on how to install the prerequisites, like Python, also on Windows.
Here, we will focus on Unix-like systems (Linux, Mac OSX), but Windows should work as well.
The steps are:
- Install the Plone (Classic) backend with buildout or pip.
- Create the Plone Site in the browser.
- Install the Plone frontend (Volto) with node.
Change to a new directory and put a file
buildout.cfg in it:
[buildout] extends = https://dist.plone.org/release/6.0.0a4/versions.cfg parts = instance [instance] recipe = plone.recipe.zope2instance eggs = Plone user = admin:admin
Install it with:
python3.9 -m venv . bin/pip install -r https://dist.plone.org/release/6.0.0a4/requirements.txt bin/buildout bin/instance fg
If you don't want to use buildout, you can install the Plone Python packages with
Change to a new directory and then:
python3.9 -m venv . bin/pip install -U pip setuptools wheel bin/pip install Plone -c https://dist.plone.org/release/6.0.0a4/constraints.txt bin/mkwsgiinstance -u admin:admin -d . bin/runwsgi -v etc/zope.ini
Note: you may need to edit
etc/zope.conf to add a
See issue 3345
After you have installed the backend with buildout or pip, open a browser and go to http://localhost:8080/.
Click 'Create a new Plone site' to prepare for the new Volto frontend.
If you want Plone Classic instead, click 'Create Classic Plone site'.
(If this button is not available, then you did not install
plone.volto with buildout or pip. 'Create a new Plone site' will create a Classic site then.)
Note: For Volto, make sure the Path identifier is Plone. You can change this, but then you need to change some Volto frontend configuration as well.
Submit the form and your backend is ready.
If you want Classic Plone, you are done.
If you want the full Plone 6 with Volto, read on.
You should probably read one of documentation pages linked above.
But the following gives you the general idea.
First install nvm, the Node Version Manager
- On Linux:
apt-get install nvm
- On Mac:
brew install nvm
- Or use the installation procedure detailed in the nvm documentation
Create a Volto project:
nvm install --lts npm install --global yarn npm init yo @plone/volto
This will take long, and then ask for a project name.
It will create a directory with this name.
Go to that directory and start the frontend:
In your browser go to http://localhost:3000.
You are done. Welcome to Plone 6!