Master Plone 6 Training on Windows

Hello, I am Pavan, Computer Science Masters's student interested in working on the project "Add WebAuthn 2 support for Plone" for GSOC 2023.

To get started I wanted to complete master plone 6 training (I use windows) but I could not install plone due to Makefile commands like "venv/bin" instead of "venv/Scripts" I tried changing Makefile and also typing commands one after other in windows terminal by myself(I use git-bash). After going through the documentation I found other ways to complete installation for windows but before going ahead I wanted to check if is it possible complete master plone 6 training using the windows system or should I install Linux on windows with WSL and then use that for training and future works.

Thank you.

1 Like

From what I have seen is that many times using docker in windows causes problems as it is a very heavy application that uses a lot of memory and CPU power, so it is recommended to use Linux based system.

FWIW, using a VM (like virtual box or vmWare fusion/player etc) to setup a lightweight Linux dev instance is also a great way to get started.

The installation guide does recommend using WSL if you are on Windows. I'm working on getting a lightweight dev environment for Windows without WSL or Docker - it should be theoretically possible to do all of this but there's no instructions for it yet. Previously we used zc.buildout to get everything set up. Plone 6 has moved to a pure python venv for managing packages and this leaves a lot of work to be done by something like cookiecutter with Make to build all of the binaries and configs. It would be nice to have a Windows bash script alternative, and preferably making containerization optional.

I installed WSL at first, but it was quite confusing for me. So currently I am using Virtual box with Ubuntu and it is very easy to play around if you are familiar with linux commands.

2 Likes

This Windos batch example might help:

set PLONE_VERSION=6.0.5
python -m venv "Plone-%PLONE_VERSION%"
cd "Plone-%PLONE_VERSION%"
.\Scripts\python.exe -m pip install -U ^
    pip ^
    setuptools ^
    wheel ^
    -c "https://dist.plone.org/release/%PLONE_VERSION%/constraints.txt"
.\Scripts\pip install ^
    Products.CMFPlone ^
    Products.CMFPlacefulWorkflow ^
    plone.app.caching ^
    plone.app.iterate ^
    plone.app.upgrade ^
    -c "https://dist.plone.org/release/%PLONE_VERSION%/constraints.txt"
.\Scripts\mkwsgiinstance ^
    --dir instance ^
    --python .\Scripts\python.exe ^
    --user admin:secret
.\Scripts\runwsgi.exe .\instance\etc\zope.ini

Or its PowerShell equivalent:

$PLONE_VERSION="6.0.5"
python -m venv "Plone-${PLONE_VERSION}"
cd "Plone-${PLONE_VERSION}"
.\Scripts\python.exe -m pip install -U `
    pip `
    setuptools `
    wheel `
    -c "https://dist.plone.org/release/${PLONE_VERSION}/constraints.txt"
.\Scripts\pip install `
    Products.CMFPlone `
    Products.CMFPlacefulWorkflow `
    plone.app.caching `
    plone.app.iterate `
    plone.app.upgrade `
    -c "https://dist.plone.org/release/${PLONE_VERSION}/constraints.txt"
.\Scripts\mkwsgiinstance `
    --dir instance `
    --python .\Scripts\python.exe `
    --user admin:secret
.\Scripts\runwsgi.exe .\instance\etc\zope.ini