Plone 6.0.0 pre alpha available

WARNING:

This is a PRE ALPHA release.
Do NOT use this on production, unless you are a Plone core developer and know what you are doing.

But we are happy when you test a Plone add-on with these versions, or try it out on a local development machine.

Location

You can find the release files in this folder: https://dist.plone.org/release/6.0-dev/

This is an experiment.
The folder name may change.
The folder may disappear.
The versions may be updated without notice.
Think of it as a nightly build.

If the experiment works, we might actually add a 5.2-dev as well, to make it easier to test an upcoming Plone 5.2 release.

Why no alpha release?

There is no integration with Volto yet, the new frontend for Plone, built in React.
Since Plone 6 is Volto, the Plone Steering Circle was against an alpha release without Volto integration.

But to make Volto integration easier, some form of a release is useful.
When a pure React developer needs to install the Plone backend with Buildout and several source checkouts, this may be a big hurdle.
Having a central versions/constraints list eases this.

It also eases trying out 'pip install Plone'.

Files

The most important files in the folder are:

  • requirements.txt: pip requirements file to get Buildout working
  • versions.cfg: versions file for Buildout
  • constraints.txt: constraints file for 'pip install Plone'
  • Plone-6.0.0a1.dev0-py3-none-any.whl, Products.CMFPlone-6.0.0a1.dev0.tar.gz, etc: intermediary releases, only available here, NOT on PyPI.

The intermediary releases signal that this is an unofficial, pre-alpha release.
These development version numbers are not accepted when uploading to PyPI, but otherwise they work just fine.

Buildout

Sample buildout config:

[buildout]
extends = https://dist.plone.org/release/6.0-dev/versions.cfg
# find-links is needed for the internal Plone and Products.CMFPlone releases:
find-links = https://dist.plone.org/release/6.0-dev/
parts = instance

[instance]
recipe = plone.recipe.zope2instance
eggs = Plone
user = admin:admin
zodb-temporary-storage = off

Install it with:

python3.9 -m venv .
bin/pip install -r https://dist.plone.org/release/6.0-dev/requirements.txt
bin/buildout
bin/instance fg

Pip

You might need a rather old version of pip.
See discussion here:

python3.9 -m venv .
bin/python -m pip install "pip==19.2.3"
bin/pip install -U setuptools wheel
bin/pip install Plone -c https://dist.plone.org/release/6.0-dev/constraints.txt -f https://dist.plone.org/release/6.0-dev/

Latest pip can work as well, but you may need to use the legacy resolver:

bin/pip install Plone -c https://dist.plone.org/release/6.0-dev/constraints.txt -f https://dist.plone.org/release/6.0-dev/ --use-deprecated legacy-resolver

Having a dev / pre-alpha release helps in testing this out as well.

Highlights

Some highlights of this release are:

  • Removed Python 2 and Archetypes compatibility.
  • Support only for Python 3.7, 3.8 and 3.9.
  • Zope 5.3
  • Removed CMFQuickInstallerTool dependency.
  • Removed Products.CMFFormController dependency and removed all remaining form controller scripts (cpy/vpy).
  • Removed dependency on Products.TemporaryFolder.
    Note: in your plone.recipe.zope2instance buildout part, you must set zodb-temporary-storage = off,
    otherwise you get errors when starting Plone.
  • Extensive overhaul of Plone ui elements based on Bootstrap 5 components.
  • Introduction of icon resolver with use of icon_expr definitions.
  • Barceloneta LTS theme
  • Add control panel for relations
  • Add plone.api.relation module to ease using relations.
  • Use Dexterity for the Plone Site root object.
15 Likes