Example of two clients and a zeo server with a pip installation of Plone 6

Notes:

  • don't use a pyenv virtualenv because zcml path will conflict when creating the zope instance. The cookiecutter template already create a virtualenv, so just use pyenv to set the python interpreter
  • The cookiecutter template will create a zope instance with wsgi binding to localhost 8080. If you're using a remote server, just change the listen= line in zope.ini
  • The cookiecutter template create a volto site
  • If you create a plone classic ui site, in the addons control panel there's collective.MockMailHost available. I think this is a leftover, it also says that if installed, it cannot be uninstalled
  • Nice that cookiecutter create an addon with the name of the site, the code is in src and seems to have all what you need preconfigured (maybe generated with plonecli?):
behaviors
browser
configure.zcml
content
dependencies.zcml
indexers
__init__.py
interfaces.py
locales
permissions.zcml
profiles
profiles.zcml
__pycache__
serializers
services
setuphandlers
subscribers
testing.py
tests
upgrades
vocabularies

Buildout is quite mature and works very well but when coredev buildout will adopt mxdev/cookiecutter the situation will improve I think.