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

and Plone object is a DX object!

I got it installed with buildout in about 4 minutes.

What about a

curl https://plone.run | bash

?

4 Likes

Okay, I forgot to parse the CMFPlone changelog, which obviously contains a few interesting items. :slight_smile: I have edited the highlights in my original post.

1 Like

It looks good, i tested it with my custom local Plone 6 Dev System. I run the buildout via instructions above, copy my Data.fs and blobstorage... and voilà, my site is up and running, in less than 5 minutes!
Great Job, Thanks!

31 posts were split to a new topic: Should plone.restapi be installed by default?

Silly me: I forgot to create a release of plone.app.upgrade. So you would miss at least the upgrade step for the dexterity site root. Minor detail. :wink:
No problem for a new site, but for existing sites you need it.
plone.app.upgrade = 2.0.40 is now available, and the versions/constraints updated (beware of caching).

1 Like

I did a quick test with our long-running project Onkopedia.com. Buildout and migration process worked without issues. Some CSS/JS functionality specific to Plone 5 is possibly broken...requires further investigations...

I have done a big update to the pre alpha, so get your fresh new version here:

https://dist.plone.org/release/6.0-dev/

This contains Products.CMFPlone 6.0.0a1.dev1.
And for the Plone package it actually contains release 6.0.0a1, which I also uploaded to PyPI. I wanted to give this the same version number, but did not pay enough attention. Sorry!
Technically, this should pose no problems, it just may be a bit confusing. This is not an official first alpha.

We do want to release a proper first official alpha within a few days. So you can regard the current release as a 'pending' version. Please test it and report back.

Is there any initiative to create the "bin/test" script without buildout?

I did some small final updates to https://dist.plone.org/release/6.0-dev/ , especially a new plone.staticresources release.
A last test would be good.
I may do a real alpha within the next one or two hours!

I have updated the 6.0-dev directory with the latest releases, in preparation for the second alpha. No CMFPlone release yet.

1 Like

will es6 be included?

No, not yet. That is close though, and expected in alpha 3.

Is there an overview / change log of what has changed in CSS.
(I noticed that MENU and most of control panels are not styled anymore if using a Plone 5 theme).

Bootstrap 5 based. Some changes are happend.

1 Like

Some errors as well in my case (when I try to make a new theme):

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
   File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 724, in exec_module
  File "<frozen importlib._bootstrap_external>", line 857, in get_code
  File "<frozen importlib._bootstrap_external>", line 525, in _compile_bytecode

any idea ?

you should post all the traceback. Looking at the last line, can be stale .pyc around?

Update: Could be a missing init.py file… checking

Update: Looks like that could be the reason

1 Like