From dda3bd49661eae122a581d4a40ca7dbd86406ccf Mon Sep 17 00:00:00 2001 From: David Glick Date: Fri, 25 Oct 2024 14:55:29 -0700 Subject: [PATCH 01/41] Start Admin Guide --- .../containers/examples/haproxy-plone-zeo.md | 0 .../containers/examples/index.md | 0 .../containers/examples/nginx-plone.md | 0 .../examples/nginx-volto-plone-postgresql.md | 0 .../examples/nginx-volto-plone-zeo.md | 0 .../containers/examples/nginx-volto-plone.md | 0 .../examples/traefik-volto-plone-varnish.md | 0 .../containers/images/backend.md | 0 .../containers/images/frontend.md | 0 .../containers/images/index.md | 0 .../containers/images/zeo.md | 0 .../containers/index.md | 2 +- docs/admin-guide/index.md | 43 ++++ docs/admin-guide/install-buildout.md | 105 ++++++++ .../install-cookieplone.md} | 19 +- docs/admin-guide/install-pip.md | 88 +++++++ .../install-plonestarter.md} | 18 +- .../index.md => admin-guide/upgrade.md} | 4 +- docs/classic-ui/theming/barceloneta.md | 2 - .../make-build-backend-walk-through.md | 2 +- docs/conceptual-guides/package-management.md | 2 +- docs/conf.py | 6 +- docs/contributing/index.md | 2 +- docs/glossary.md | 4 + docs/index.md | 2 +- docs/install/create-project-classic-ui.md | 229 ------------------ docs/install/index.md | 81 ++++--- docs/manage/backend.md | 2 +- 28 files changed, 322 insertions(+), 289 deletions(-) rename docs/{install => admin-guide}/containers/examples/haproxy-plone-zeo.md (100%) rename docs/{install => admin-guide}/containers/examples/index.md (100%) rename docs/{install => admin-guide}/containers/examples/nginx-plone.md (100%) rename docs/{install => admin-guide}/containers/examples/nginx-volto-plone-postgresql.md (100%) rename docs/{install => admin-guide}/containers/examples/nginx-volto-plone-zeo.md (100%) rename docs/{install => admin-guide}/containers/examples/nginx-volto-plone.md (100%) rename docs/{install => admin-guide}/containers/examples/traefik-volto-plone-varnish.md (100%) rename docs/{install => admin-guide}/containers/images/backend.md (100%) rename docs/{install => admin-guide}/containers/images/frontend.md (100%) rename docs/{install => admin-guide}/containers/images/index.md (100%) rename docs/{install => admin-guide}/containers/images/zeo.md (100%) rename docs/{install => admin-guide}/containers/index.md (97%) create mode 100644 docs/admin-guide/index.md create mode 100644 docs/admin-guide/install-buildout.md rename docs/{install/create-project-cookieplone.md => admin-guide/install-cookieplone.md} (94%) create mode 100644 docs/admin-guide/install-pip.md rename docs/{install/create-project.md => admin-guide/install-plonestarter.md} (93%) rename docs/{upgrade/index.md => admin-guide/upgrade.md} (90%) delete mode 100644 docs/install/create-project-classic-ui.md diff --git a/docs/install/containers/examples/haproxy-plone-zeo.md b/docs/admin-guide/containers/examples/haproxy-plone-zeo.md similarity index 100% rename from docs/install/containers/examples/haproxy-plone-zeo.md rename to docs/admin-guide/containers/examples/haproxy-plone-zeo.md diff --git a/docs/install/containers/examples/index.md b/docs/admin-guide/containers/examples/index.md similarity index 100% rename from docs/install/containers/examples/index.md rename to docs/admin-guide/containers/examples/index.md diff --git a/docs/install/containers/examples/nginx-plone.md b/docs/admin-guide/containers/examples/nginx-plone.md similarity index 100% rename from docs/install/containers/examples/nginx-plone.md rename to docs/admin-guide/containers/examples/nginx-plone.md diff --git a/docs/install/containers/examples/nginx-volto-plone-postgresql.md b/docs/admin-guide/containers/examples/nginx-volto-plone-postgresql.md similarity index 100% rename from docs/install/containers/examples/nginx-volto-plone-postgresql.md rename to docs/admin-guide/containers/examples/nginx-volto-plone-postgresql.md diff --git a/docs/install/containers/examples/nginx-volto-plone-zeo.md b/docs/admin-guide/containers/examples/nginx-volto-plone-zeo.md similarity index 100% rename from docs/install/containers/examples/nginx-volto-plone-zeo.md rename to docs/admin-guide/containers/examples/nginx-volto-plone-zeo.md diff --git a/docs/install/containers/examples/nginx-volto-plone.md b/docs/admin-guide/containers/examples/nginx-volto-plone.md similarity index 100% rename from docs/install/containers/examples/nginx-volto-plone.md rename to docs/admin-guide/containers/examples/nginx-volto-plone.md diff --git a/docs/install/containers/examples/traefik-volto-plone-varnish.md b/docs/admin-guide/containers/examples/traefik-volto-plone-varnish.md similarity index 100% rename from docs/install/containers/examples/traefik-volto-plone-varnish.md rename to docs/admin-guide/containers/examples/traefik-volto-plone-varnish.md diff --git a/docs/install/containers/images/backend.md b/docs/admin-guide/containers/images/backend.md similarity index 100% rename from docs/install/containers/images/backend.md rename to docs/admin-guide/containers/images/backend.md diff --git a/docs/install/containers/images/frontend.md b/docs/admin-guide/containers/images/frontend.md similarity index 100% rename from docs/install/containers/images/frontend.md rename to docs/admin-guide/containers/images/frontend.md diff --git a/docs/install/containers/images/index.md b/docs/admin-guide/containers/images/index.md similarity index 100% rename from docs/install/containers/images/index.md rename to docs/admin-guide/containers/images/index.md diff --git a/docs/install/containers/images/zeo.md b/docs/admin-guide/containers/images/zeo.md similarity index 100% rename from docs/install/containers/images/zeo.md rename to docs/admin-guide/containers/images/zeo.md diff --git a/docs/install/containers/index.md b/docs/admin-guide/containers/index.md similarity index 97% rename from docs/install/containers/index.md rename to docs/admin-guide/containers/index.md index 5aef61ee6..d5475b532 100644 --- a/docs/install/containers/index.md +++ b/docs/admin-guide/containers/index.md @@ -14,7 +14,7 @@ myst: The Plone 6 images have all the system requirements, prerequisites, and Plone 6 already installed, except those requirements needed for running the container engine itself. Using containers is the easiest way to deploy Plone 6. -Containers may also be used when {doc}`creating a Plone project <../create-project>` and {doc}`contributing to Plone `. +Containers may also be used when {doc}`creating a Plone project `. The Plone 6 container images are compliant with the [Open Container Initiative (OCI)](https://opencontainers.org/). They should work with any OCI-compliant container engine for developing, managing, and running Plone 6 images. diff --git a/docs/admin-guide/index.md b/docs/admin-guide/index.md new file mode 100644 index 000000000..0d701262e --- /dev/null +++ b/docs/admin-guide/index.md @@ -0,0 +1,43 @@ +--- +myst: + html_meta: + "description": "How to install, operate, configure, and deploy Plone 6" + "property=og:description": "How to install, operate, configure, and deploy Plone 6" + "property=og:title": "Admin Guide" + "keywords": "Plone 6, admin, install, configuration, deploy" +--- + +(admin-index-label)= + +# Admin Guide + +In this part of the documentation, you can find how to install, operate, configure, and deploy Plone. + + +```{toctree} +:caption: Install +:maxdepth: 1 + +install-cookieplone +install-buildout +install-pip +install-plonestarter +``` + +```{toctree} +:caption: Operate +:maxdepth: 1 + +upgrade +``` + +```{toctree} +:maxdepth: 1 +:caption: Deploy + +containers/index +``` + + +To do: +- move and update Manage section diff --git a/docs/admin-guide/install-buildout.md b/docs/admin-guide/install-buildout.md new file mode 100644 index 000000000..dbf8a2b3b --- /dev/null +++ b/docs/admin-guide/install-buildout.md @@ -0,0 +1,105 @@ +--- +myst: + html_meta: + "description": "Install Plone with Buildout" + "property=og:description": "Install Plone with Buildout" + "property=og:title": "Install Plone with Buildout" + "keywords": "Plone 6, install, Classic UI, buildout" +--- + +(install-buildout-label)= + +# Install Plone with Buildout + +This chapter describes how you can install Plone using {term}`Buildout`. + +This is one way to install Plone with the Classic UI. +Using Buildout will be the most familiar approach for admins who have experience with Plone 3, 4, or 5. + +```{seealso} +For other installation options, see {ref}`get-started-install-label`. +``` + +(install-buildout-prerequisites)= + +## Prerequisites + +- Python 3.10 or greater + +On Debian-based Linux systems you can install Python with the following command: + +```shell +sudo apt install python3.12 python3.12-dev python3.12-venv +``` + +## Installation + +Select a directory of your choice: + +```shell +mkdir -p /opt/plone && cd /opt/plone +``` + +Create a Python virtual environment: + +```shell +python3 -m venv . +``` + +Install the minimal Python packages needed in order to run Buildout: + +```shell +bin/pip install -r https://dist.plone.org/release/6-latest/requirements.txt +``` + +Create a `buildout.cfg` file in your directory with the following contents: + +```cfg +[buildout] +extends = + https://dist.plone.org/release/6-latest/versions.cfg + +parts = + instance + +[instance] +recipe = plone.recipe.zope2instance +user = admin:admin +http-address = 8080 +eggs = + Plone +``` + +Run buildout: + +```shell +bin/buildout +``` + +## Run Plone in foreground mode + +Start the instance for a quick test in foreground mode: + +```shell +bin/instance fg +``` + +Your instance starts in foreground mode, which is only advisable for troubleshooting or for local demonstration purposes. + +Now you can call the url `http://localhost:8080` in your browser and you can add a **Classic UI Plone site**. + +## Start Plone as a background service + +Start the instance: + +```shell +bin/instance start +``` + +## Stop Plone as a background service + +Stop the instance: + +```shell +bin/instance stop +``` diff --git a/docs/install/create-project-cookieplone.md b/docs/admin-guide/install-cookieplone.md similarity index 94% rename from docs/install/create-project-cookieplone.md rename to docs/admin-guide/install-cookieplone.md index 5f2122aff..651a1941d 100644 --- a/docs/install/create-project-cookieplone.md +++ b/docs/admin-guide/install-cookieplone.md @@ -1,25 +1,28 @@ --- myst: html_meta: - "description": "Create a Plone project with the Volto frontend (development or pre-release)" - "property=og:description": "Create a Plone project with the Volto frontend (development or pre-release)" - "property=og:title": "Create a Plone project with the Volto frontend (development or pre-release)" + "description": "Install Plone with Cookieplone" + "property=og:description": "Install Plone with Cookieplone" + "property=og:title": "Install Plone with Cookieplone" "keywords": "Plone, Plone 6, Volto, create, project, install, Cookieplone" --- -(create-project-cookieplone-label)= +(install-cookieplone-label)= -# Create a project with Volto (development or pre-release) +# Install Plone with Cookieplone -This chapter describes how you can create a web application using the latest **development release** version of Plone with **Volto 18 or later** for the frontend, while having full control over its development and deployment. +This chapter describes how you can create a web application using the {term}`Cookieplone` template. + +This template is the recommended way to start a new Plone project using the Volto frontend. +It also includes tools for development and deployment. ```{seealso} -For other installation options, see {doc}`/install/index`. +For other installation options, see {ref}`get-started-install-label`. ``` ```{versionadded} Volto 18.0.0-alpha.43 -{term}`Cookieplone` is now the method to create a Plone project with unstable versions of Volto, version 18.0.0-alpha.43 and above. +{term}`Cookieplone` was added as the recommended template to create a Plone project with Volto starting in Volto 18.0.0-alpha.43 and above. ``` diff --git a/docs/admin-guide/install-pip.md b/docs/admin-guide/install-pip.md new file mode 100644 index 000000000..5dcb2ae4a --- /dev/null +++ b/docs/admin-guide/install-pip.md @@ -0,0 +1,88 @@ +--- +myst: + html_meta: + "description": "Install Plone with pip" + "property=og:description": "Install Plone with pip" + "property=og:title": "Install Plone with pip" + "keywords": "Plone 6, install, Classic UI, pip" +--- + +(install-pip-label)= + +# Install Plone with pip + +This chapter describes how you can install Plone using {term}`pip`. + +This is one way to install Plone with the Classic UI. +It provides a basic installation without many additional tools to help with development. + +```{seealso} +For other installation options, see {ref}`get-started-install-label`. +``` + +## Prerequisites + +- Python 3.10 or greater + +On Debian-based systems you can install Python with following command: + +```shell +sudo apt install python3.12 python3.12-dev python3.12-venv +``` + +## Installation + +Select a directory of your choice: + +```shell +mkdir -p /opt/plone +cd /opt/plone +``` + +Create a Python virtual environment: + +```shell +python3 -m venv . +``` + +Install Plone and a helper package: + +```shell +bin/pip install -c https://dist.plone.org/release/6.0-latest/constraints.txt Plone pipx +``` + +## Create a Zope instance + +Create a file `instance.yaml` with the following contents: + +```yaml +# please change the password to a secure token! +default_context: + initial_user_name: "admin" + initial_user_password: "admin" + wsgi_listen: "localhost:8080" + debug_mode: false + verbose_security: false + db_storage: "direct" + environment: { + "zope_i18n_compile_mo_files": true, + } +``` + +Now run the {term}`cookiecutter` tool to create configuration for a Zope instance: + +``` +bin/pipx run cookiecutter -f --no-input --config-file instance.yaml gh:plone/cookiecutter-zope-instance +``` + +## Start Plone in foreground mode + +Start the instance for a quick test: + +```shell +bin/runwsgi -v instance/etc/zope.ini +``` + +Your instance starts in foreground mode, which is only advisable for troubleshooting or for local demonstration purposes. + +Now you can call the url `http://localhost:8080` in your browser and you can add a **Classic UI Plone site**. diff --git a/docs/install/create-project.md b/docs/admin-guide/install-plonestarter.md similarity index 93% rename from docs/install/create-project.md rename to docs/admin-guide/install-plonestarter.md index 7e7ab358f..7e8a25317 100644 --- a/docs/install/create-project.md +++ b/docs/admin-guide/install-plonestarter.md @@ -1,23 +1,27 @@ --- myst: html_meta: - "description": "Create a Plone project with the Volto frontend (stable release)" - "property=og:description": "Create a Plone project with the Volto frontend (stable release)" - "property=og:title": "Create a Plone project with the Volto frontend (stable release)" + "description": "Install Plone with cookiecutter-plone-starter (deprecated)" + "property=og:description": "Install Plone with cookiecutter-plone-starter (deprecated)" + "property=og:title": "Install Plone with cookiecutter-plone-starter (deprecated)" "keywords": "Plone, Plone 6, Volto, create, project, install, cookiecutter" --- (create-a-project-label)= -# Create a project with Volto (stable release) +# Install Plone with cookiecutter-plone-starter (deprecated) -This chapter describes how you can create a web application using the current **stable release** version of Plone with **Volto 17 or earlier** for the frontend, while having full control over its development and deployment. +This chapter describes how you can create a web application using the {term}`cookiecutter-plone-starter` template. -```{seealso} -For other installation options, see {doc}`/install/index`. +```{deprecated} +This way of installing Plone is now deprecated. +It was the recommended way to start a new Plone project with **Plone 6.0** and **Volto 17 or earlier**. +For other installation options, see {ref}`get-started-install-label`. ``` +This template creates a web application using Plone with the Volto frontend, along with tools for development and deployment. + (install-packages-system-requirements-label)= diff --git a/docs/upgrade/index.md b/docs/admin-guide/upgrade.md similarity index 90% rename from docs/upgrade/index.md rename to docs/admin-guide/upgrade.md index b211116b6..be78a1e7f 100644 --- a/docs/upgrade/index.md +++ b/docs/admin-guide/upgrade.md @@ -3,13 +3,13 @@ myst: html_meta: "description": "Plone 6 upgrade Guide" "property=og:description": "Plone 6 upgrade guide" - "property=og:title": "Plone 6 upgrade guide" + "property=og:title": "Upgrade Plone" "keywords": "Plone, upgrade" --- (upgrade-guide-label)= -# Upgrade guide +# Upgrade Plone Plone has several components, each of which have their own upgrade guides: diff --git a/docs/classic-ui/theming/barceloneta.md b/docs/classic-ui/theming/barceloneta.md index 0080106f1..18c767c81 100644 --- a/docs/classic-ui/theming/barceloneta.md +++ b/docs/classic-ui/theming/barceloneta.md @@ -25,8 +25,6 @@ To create an add-on package with a Plone Classic UI theme, you need to install t - [Python (>=3.8)](https://www.python.org/) - [plonecli](https://pypi.org/project/plonecli/) -Read more about how to install prerequisites in {doc}`/install/create-project`. - (classic-ui-theming-barceloneta-create-a-classic-ui-theme-add-on-package-label)= diff --git a/docs/conceptual-guides/make-build-backend-walk-through.md b/docs/conceptual-guides/make-build-backend-walk-through.md index a39bc9cba..3c0ce4347 100644 --- a/docs/conceptual-guides/make-build-backend-walk-through.md +++ b/docs/conceptual-guides/make-build-backend-walk-through.md @@ -11,7 +11,7 @@ myst: # `make build-backend` details -This chapter assumes you have previously followed {doc}`/install/create-project`. +This chapter assumes you have previously followed {doc}`/admin-guide/install-plonestarter`. The `Makefile` at the root of your project invokes commands in `backend/Makefile`. Here are excerpts from `backend/Makefile` to show details of the `make build-backend` command. diff --git a/docs/conceptual-guides/package-management.md b/docs/conceptual-guides/package-management.md index 7e5dd4084..7e19bf175 100644 --- a/docs/conceptual-guides/package-management.md +++ b/docs/conceptual-guides/package-management.md @@ -61,4 +61,4 @@ You or your development tools, such as GNU Make, must perform that step. ```{todo} Why do we use pnpm? -``` \ No newline at end of file +``` diff --git a/docs/conf.py b/docs/conf.py index 43fd357ff..ca61b9e21 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -245,8 +245,12 @@ "contributing/plone-api": "/plone.api/contribute/index.html", "contributing/plone-restapi": "/plone.restapi/docs/source/contributing/index.html", "contributing/volto": "/volto/contributing/index.html", - "install/install-from-packages": "/install/create-project.html", + "install/containers/index": "/admin-guide/containers/index.html", + "install/create-project-cookieplone": "/admin-guide/install-cookieplone.html", + "install/create-project": "/admin-guide/install-plonestarter.html", + "install/install-from-packages": "/admin-guide/install-cookieplone.html", "manage/frontend": "/volto/addons/index.html", + "upgrade/index": "/admin-guide/upgrade.html", } diff --git a/docs/contributing/index.md b/docs/contributing/index.md index a5c78b3f0..84ad3a044 100644 --- a/docs/contributing/index.md +++ b/docs/contributing/index.md @@ -13,7 +13,7 @@ myst: This part of the documentation describes how to contribute to Plone, including all its projects and repositories under the Plone GitHub organization. -If instead you want to create a web application project using Plone, see {doc}`/install/create-project`. +If instead you want to create a web application project using Plone, see {ref}`get-started-install-label`. To contribute to any project in Plone, you must follow the policies of the [Plone Foundation](https://plone.org/foundation), [Plone GitHub organization](https://github.com/plone/) and the specific project. diff --git a/docs/glossary.md b/docs/glossary.md index d637dca9b..c1fe40db8 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -21,6 +21,10 @@ AWS Barceloneta The default theme for Plone 5. +Buildout + [Buildout](https://github.com/buildout/buildout/) is a Python-based tool for building and assembling applications from multiple parts, based on a configuration file. + It was the most common way of installing Plone 3, 4, and 5, and can still be used with Plone 6. + CMS Content Management System diff --git a/docs/index.md b/docs/index.md index 0ab3dbaca..2a7b9cba6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -32,8 +32,8 @@ Read the [documentation for the previous version, Plone 5](https://5.docs.plone. overview/index install/index +admin-guide/index manage/index -upgrade/index deployment/index volto/index plone.restapi/docs/source/index diff --git a/docs/install/create-project-classic-ui.md b/docs/install/create-project-classic-ui.md deleted file mode 100644 index 1826a1056..000000000 --- a/docs/install/create-project-classic-ui.md +++ /dev/null @@ -1,229 +0,0 @@ ---- -myst: - html_meta: - "description": "Create a Plone project with Classic UI (stable release)" - "property=og:description": "Create a Plone project with Classic UI (stable release)" - "property=og:title": "Create a Plone project with Classic UI (stable release)" - "keywords": "Plone, Plone 6, Classic UI, create, project, install, cookiecutter, Cookieplone" ---- - - -(create-a-project-classic-ui-label)= - -# Create a project with Classic UI (stable release) - -This chapter describes how you can create a web application using the current **stable release** version of Plone with **Classic UI** for the frontend, while having full control over its development and deployment. - -```{seealso} -For other installation options, see {doc}`/install/index`. -``` - - -## System requirements - -Plone 6 has both hardware requirements and software prerequisites. - - -### Hardware requirements - -```{include} /_inc/_hardware-requirements.md -``` - -### Prerequisites for installation - -```{include} ../volto/contributing/install-operating-system.md -``` - -- Python {SUPPORTED_PYTHON_VERSIONS} -- {term}`pipx` -- {term}`GNU make` -- {term}`Git` - - -#### Python - -```{include} /_inc/_install-python.md -``` - - -#### pipx - -Install {term}`pipx`. - -```shell -pip install pipx -``` - - -#### Make - -```{include} ../volto/contributing/install-make.md -``` - - -#### Git - -```{include} ../volto/contributing/install-git.md -``` - - -## Generate the project - -After satisfying the prerequisites, generate the project. - -```shell -pipx run cookieplone backend_addon -``` - -You will be presented with a series of prompts. -You can accept the default values in square brackets (`[default-option]`) by hitting the {kbd}`Enter` key, or enter your preferred values. -For ease of documentation, we will use the default values. - -```{tip} -See the cookiecutter's README for how to [Use options to avoid prompts](https://github.com/collective/cookiecutter-plone-starter/?tab=readme-ov-file#use-options-to-avoid-prompts). -``` - -```{important} -For {guilabel}`Project Slug`, you must not use any of the Plone core package names listed in [`constraints.txt`](https://dist.plone.org/release/6.0-latest/constraints.txt). -Note that pip normalizes these names, so `plone.volto` and `plone-volto` are the same package. -``` - -```console -% pipx run cookieplone backend_addon -╭─────────────────────────────────── cookieplone ────────────────────────────────────╮ -│ │ -│ .xxxxxxxxxxxxxx. │ -│ ;xxxxxxxxxxxxxxxxxxxxxx; │ -│ ;xxxxxxxxxxxxxxxxxxxxxxxxxxxx; │ -│ xxxxxxxxxx xxxxxxxxxx │ -│ xxxxxxxx. .xxxxxxxx │ -│ xxxxxxx xxxxxxx: xxxxxxx │ -│ :xxxxxx xxxxxxxxxx xxxxxx: │ -│ :xxxxx+ xxxxxxxxxxx +xxxxx: │ -│ .xxxxx. :xxxxxxxxxx .xxxxx. │ -│ xxxxx+ ;xxxxxxxx +xxxxx │ -│ xxxxx +xx. xxxxx. │ -│ xxxxx: .xxxxxxxx :xxxxx │ -│ xxxxx .xxxxxxxxxx xxxxx │ -│ xxxxx xxxxxxxxxxx xxxxx │ -│ xxxxx .xxxxxxxxxx xxxxx │ -│ xxxxx: .xxxxxxxx :xxxxx │ -│ .xxxxx ;xx. ... xxxxx. │ -│ xxxxx+ :xxxxxxxx +xxxxx │ -│ .xxxxx. :xxxxxxxxxx .xxxxx. │ -│ :xxxxx+ xxxxxxxxxxx ;xxxxx: │ -│ :xxxxxx xxxxxxxxxx xxxxxx: │ -│ xxxxxxx xxxxxxx; xxxxxxx │ -│ xxxxxxxx. .xxxxxxxx │ -│ xxxxxxxxxx xxxxxxxxxx │ -│ ;xxxxxxxxxxxxxxxxxxxxxxxxxxxx+ │ -│ ;xxxxxxxxxxxxxxxxxxxxxx; │ -│ .xxxxxxxxxxxxxx. │ -│ │ -╰────────────────────────────────────────────────────────────────────────────────────╯ -╭─────────────────────────────────── Plone Addon ────────────────────────────────────╮ -│ Creating a new Plone Addon │ -╰────────────────────────────────────────────────────────────────────────────────────╯ - [1/7] Addon Title (Addon): - [2/7] A short description of your addon (A new addon for Plone): - [3/7] Author (Plone Community): - [4/7] Author E-mail (collective@plone.org): - [5/7] GitHub Username or Organization (collective): - [6/7] Python package name (collective.addon): - [7/7] Support headless Plone? - 1 - Yes - 2 - No - Choose from [1/2] (1): - -> Initialize Git repository -╭───────────────────────────── New addon was generated ──────────────────────────────╮ -│ │ -│ Addon │ -│ │ -│ Now, enter the repository run the code formatter with: │ -│ │ -│ make format │ -│ │ -│ start coding, and push to your organization. │ -│ │ -│ Sorry for the convenience, │ -│ The Plone Community. │ -│ │ -│ https://plone.org/ │ -╰────────────────────────────────────────────────────────────────────────────────────╯ -``` - - -## Install the project - -Change to your project directory. - -```shell -cd collective.addon -``` - -To install the project's dependencies, use the following command. - -```shell -make install -``` - -This will take a few minutes. -☕️ - -When the process completes successfully, it will exit with no message. - -```{include} /_inc/_install-pillow.md -``` - - -## Start Plone - -To start Plone, issue the following command. - -```shell -make start -``` - -The Plone backend server starts up and emits messages to the console. - -```console -2024-09-25 16:47:15,699 INFO [chameleon.config:39][MainThread] directory cache: //instance/var/cache. -2024-09-25 16:47:16,387 WARNING [ZODB.FileStorage:412][MainThread] Ignoring index for //instance/var/filestorage/Data.fs -2024-09-25 16:47:16,508 INFO [plone.restapi.patches:16][MainThread] PATCH: Disabled ZPublisher.HTTPRequest.ZopeFieldStorage.VALUE_LIMIT. This enables file uploads larger than 1MB. -2024-09-25 16:47:17,018 INFO [plone.volto:23][MainThread] Aliasing collective.folderish classes to plone.volto classes. -2024-09-25 16:47:17,760 INFO [Zope:42][MainThread] Ready to handle requests -Starting server in PID 20912. -2024-09-25 16:47:17,772 INFO [waitress:486][MainThread] Serving on http://[::1]:8080 -2024-09-25 16:47:17,772 INFO [waitress:486][MainThread] Serving on http://127.0.0.1:8080 -``` - -You can stop the site with {kbd}`ctrl-c`. - - -## Create Classic UI Plone site - -While the Plone backend server is running, open a browser and visit the following URL. - -http://localhost:8080 - -```{image} /_static/plone-classic-ui-landing-page.png -:class: figure -:alt: Plone Classic UI landing page -``` - -Click the button {guilabel}`Create Classic UI Plone site` to do exactly that. - -Use the username and password of `admin` to authenticate. -You will be redirected to the Create a Plone site page. - -```{image} /_static/plone-classic-ui-site-page.png -:class: figure -:alt: Plone Classic UI site page -``` - -Enter values for {guilabel}`Path identifier`, {guilabel}`Title`, {guilabel}`Language`, and {guilabel}`Default timezone`. -The default values are usually good. - -Click the button {guilabel}`Create Plone site`. - -You will be redirected to the Plone site you just created. diff --git a/docs/install/index.md b/docs/install/index.md index 1f8c95ce7..30ed2eaa6 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -1,59 +1,72 @@ --- myst: html_meta: - "description": "Install Plone 6" - "property=og:description": "Install Plone 6" - "property=og:title": "Install Plone 6" + "description": "Get started with Plone 6" + "property=og:description": "Get started with Plone 6" + "property=og:title": "Get started" "keywords": "Plone 6, install, overview" --- -(install-index-label)= +(get-started-label)= -# Install +# Get started -In this part of the documentation, you can find how to install Plone to either create a Plone project or contribute to a Plone package. -You can also {ref}`try a Plone demo `. +This part of the documentation helps you find the best way to get started with Plone, depending on what you want to do. +```{contents} I'd like to... +:local: true +``` + + +(get-started-try-plone-label)= + +## Try a Plone demo + +Choose a version to demo. + +- [Plone 6 with Volto frontend](https://demo.plone.org/) +- [Plone 6 with Classic UI](https://classic.demo.plone.org/login?came_from=/en) -(install-index-getting-started-label)= -## Get started +(get-started-install-label)= -Choose an option to get started with Plone. -If you are following a [Plone training](https://training.plone.org/), it should specify which option to choose. +## Install Plone -{doc}`create-project` -: This option is for developers who want to create a web application using the current **stable release** version of Plone with **Volto 17 or earlier** for the frontend. +First, choose a Plone frontend. [TODO: add link to explanation of how to choose] +(If you are following a [Plone training](https://training.plone.org/), it should specify which option to choose.) -{doc}`create-project-classic-ui` -: This option is for developers who want to create a web application using the current **stable release** version of Plone with **Classic UI** for the frontend. +{doc}`/admin-guide/install-cookieplone` +: This is the recommended way to install Plone for a new project with the Volto frontend. -{doc}`create-project-cookieplone` -: This option is for developers who want to create a web application using the latest **development release** version of Plone with **Volto 18 or later** for the frontend. - The "development" version also means "pre-release", and includes alpha and beta versions and release candidates. - It allows developers to work with the cutting edge of Plone. - A development version is not stable, and features may change with little notice. +{doc}`/admin-guide/install-buildout` +: This is one way to install Plone with the Classic UI. + Using Buildout will be the most familiar way for admins who have experience with Plone 3, 4, or 5. -{doc}`Contribute to a Plone package ` +{doc}`/admin-guide/install-pip` +: This is one way to install Plone with the Classic UI. + It provides a basic installation without many additional tools to help with development. + +{doc}`/admin-guide/install-plonestarter` +: This was the recommended way to install Plone 6.0 for a new project with the Volto frontend. + +{doc}`Install Plone as a contributor ` : This option is for developers who want to contribute to Plone and its packages. -(install-index-try-plone-label)= +(get-started-learn-more-label)= -## Try a Plone demo +## Learn more about Plone -Choose a version to demo. +The {doc}`/conceptual-guides/index` explain concepts to help you understand Plone. -- [Plone 6 with Volto frontend](https://demo.plone.org/) -- [Plone 6 with Classic UI](https://classic.demo.plone.org/login?came_from=/en) +The community has created a set of [Plone trainings](https://training.plone.org/) which are hosted separately from the documentation. -```{toctree} -:maxdepth: 2 -:hidden: true +(get-started-contribute-label)= -create-project -create-project-classic-ui -create-project-cookieplone -containers/index -``` +## Contribute to Plone + +See the {doc}`Contributor Guide ` to learn how to participate in the Plone community and contribute to our open source software. + + +(install-index-getting-started-label)= diff --git a/docs/manage/backend.md b/docs/manage/backend.md index 8f24599d2..a8a16d59d 100644 --- a/docs/manage/backend.md +++ b/docs/manage/backend.md @@ -12,7 +12,7 @@ myst: # Manage Plone backend This part of the documentation describes how to perform common management tasks in the Plone backend. -This chapter assumes you have previously followed {doc}`/install/create-project`. +This chapter assumes you have previously followed {doc}`/admin-guide/install-plonestarter`. ## Manage add-ons and packages From 2603852183bed15299396ce4c523f2a83f5247a0 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sun, 27 Oct 2024 15:14:41 -0700 Subject: [PATCH 02/41] Add run-plone to admin guide --- docs/admin-guide/index.md | 1 + docs/admin-guide/run-plone.md | 93 +++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 docs/admin-guide/run-plone.md diff --git a/docs/admin-guide/index.md b/docs/admin-guide/index.md index 0d701262e..92302425d 100644 --- a/docs/admin-guide/index.md +++ b/docs/admin-guide/index.md @@ -28,6 +28,7 @@ install-plonestarter :caption: Operate :maxdepth: 1 +run-plone upgrade ``` diff --git a/docs/admin-guide/run-plone.md b/docs/admin-guide/run-plone.md new file mode 100644 index 000000000..ca341af06 --- /dev/null +++ b/docs/admin-guide/run-plone.md @@ -0,0 +1,93 @@ +--- +myst: + html_meta: + "description": "Run Plone" + "property=og:description": "Run Plone" + "property=og:title": "Run Plone" + "keywords": "Plone 6, run, start, command" +--- + +(run-plone-label)= + +# Run Plone + +This chapter shows the commands to run Plone after it is installed. + +There are different commands to run Plone, depending on which method you used to install Plone. + +## Run Plone in foreground mode + +Running Plone in foreground mode will show output in the terminal. This is recommended while developing a Plone site. + +with Cookieplone: +: ```shell + make backend-start + ``` + +with Buildout: +: ```shell + bin/instance fg + ``` + +with pip: +: ```shell + bin/runwsgi instance/etc/zope.ini + ``` + +with `cookiecutter-plone-starter`: +: ```shell + make start-backend + ``` + +## Run Volto + +If you are using the Volto frontend, you need to run the frontend in a separate process. + +with Cookieplone: +: ```shell + make frontend-start + ``` + +with `cookiecutter-plone-starter`: +: ```shell + make start-frontend + ``` + +## Start Plone as a background service + +with Buildout: +: ```shell + bin/instance start + ``` + +## Stop Plone as a background service + +with Buildout: +: ```shell + bin/instance stop + ``` + +## Run a debug console + +The debug console gives you a Python prompt with the Plone site's configuration loaded. +Use this for troubleshooting. + +with Cookieplone: +: ```shell + make -C backend console + ``` + +with Buildout: +: ```shell + bin/instance debug + ``` + +with pip: +: ```shell + bin/zconsole debug instance/etc/zope.ini + ``` + +with `cookiecutter-plone-starter`: +: ```shell + make -C backend debug + ``` From 323429e1b54fb5fd4f5dab199000dbf23d99caf0 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sun, 27 Oct 2024 15:17:15 -0700 Subject: [PATCH 03/41] Add info about how to stop --- docs/admin-guide/run-plone.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/admin-guide/run-plone.md b/docs/admin-guide/run-plone.md index ca341af06..728daaee6 100644 --- a/docs/admin-guide/run-plone.md +++ b/docs/admin-guide/run-plone.md @@ -39,6 +39,9 @@ with `cookiecutter-plone-starter`: make start-backend ``` +For any of these commands, press {kbd}`ctrl-c` to stop the process. + + ## Run Volto If you are using the Volto frontend, you need to run the frontend in a separate process. @@ -53,6 +56,9 @@ with `cookiecutter-plone-starter`: make start-frontend ``` +For any of these commands, press {kbd}`ctrl-c` to stop the process. + + ## Start Plone as a background service with Buildout: @@ -91,3 +97,5 @@ with `cookiecutter-plone-starter`: : ```shell make -C backend debug ``` + +For any of these commands, press {kbd}`ctrl-d` to stop the process. From 2645edd72fa9a3688c58f6f2414f279f7e873606 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sun, 27 Oct 2024 16:08:31 -0700 Subject: [PATCH 04/41] Add chapter about backend add-ons to admin guide --- docs/admin-guide/add-ons.md | 200 ++++++++++++++++++++++++++++++++++++ docs/admin-guide/index.md | 1 + 2 files changed, 201 insertions(+) create mode 100644 docs/admin-guide/add-ons.md diff --git a/docs/admin-guide/add-ons.md b/docs/admin-guide/add-ons.md new file mode 100644 index 000000000..61d8b532a --- /dev/null +++ b/docs/admin-guide/add-ons.md @@ -0,0 +1,200 @@ +--- +myst: + html_meta: + "description": "Install Plone Add-ons" + "property=og:description": "Install Plone Add-ons" + "property=og:title": "Install Plone Add-ons" + "keywords": "Plone 6, addon, add-on, package, plugin, extension, install" +--- + +(install-plone-addons-label)= + +# Install Plone Add-ons + +This chapter explains how to install {term}`add-ons ` as Python packages to extend the functionality of the Plone backend or Classic UI. + +```{note} +The Volto frontend has its own system of add-ons using Node.js packages. See {doc}`/volto/addons/index`. +``` + +## with Cookieplone + +Use the following instructions if you installed Plone with Cookieplone or `cookiecutter-plone-starter`. + +### Install an add-on + +Add a line with the name of your add-on in `backend/requirements.txt`. +This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/). + +``` +collective.easyform==4.2.1 +``` + +```{tip} +Including the add-on version ensures that it won't accidentally get upgraded in the future. +``` + +Also add the add-on to `zcml_package_includes` in {file}`backend/instance.yaml` to make sure its configuration will be loaded: + +```yaml +default_context: + zcml_package_includes: project_title, collective.easyform +``` + +Stop the backend with {kbd}`ctrl-c`. + +To actually download and install the new add-on, run: + +```shell +make backend-build +``` + +```{note} +If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead.` +``` + +Now restart the backend. + +In your web browser, and assuming you are currently logged in as `admin`, visit the URL http://localhost:8080/Plone/prefs_install_products_form. + +Then click the {guilabel}`Install` button next to your add-on to complete installation of the add-on. + +Some add-ons have configuration options. +To configure such add-ons, return to the {guilabel}`Site Setup` control panel. +At the bottom of the page, you should see the heading {guilabel}`Add-on Configuration`, and a control panel to configure the add-on that you just installed. + + +### Install an add-on from source + +An add-on can be installed from a source control system such as GitHub. + +Add a line with the name of your add-on in `backend/requirements.txt`. +This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/). + +``` +collective.easyform +``` + +```{note} +When installing an add-on from source, it's best to not pin a version, to make sure we use the version that's currently available in the source control system. +``` + +Also add the add-on to `zcml_package_includes` in {file}`backend/instance.yaml` to make sure its configuration will be loaded: + +```yaml +default_context: + zcml_package_includes: project_title, collective.easyform +``` + +Finally, add the package's source to {file}`mx.ini`: + +```cfg +[collective.easyform] +url=git@github.com:collective/collective.easyform.git +branch=dev-branch-name +extras=test +``` + +```{seealso} +The {file}`mx.ini` file configures a tool called {term}`mxdev`. +See the [documentation of `mxdev` in its README.md](https://github.com/mxstack/mxdev/blob/main/README.md) for complete information. +``` + +Stop the backend with {kbd}`ctrl-c`. + +To actually download and install the new add-on, run: + +```shell +make backend-build +``` + +```{note} +If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead.` +``` + +Now restart the backend. + +In your web browser, and assuming you are currently logged in as `admin`, visit the URL http://localhost:8080/Plone/prefs_install_products_form. +An upgrade step might need to be performed in the Plone control panel. +Follow the upgrade information, if present. +Else click the {guilabel}`Install` button to complete installation of the add-on. + + +## with Buildout + +Use the following instructions if you installed Plone with Buildout. + +### Install an add-on + +Update {file}`buildout.cfg`. +This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/). + +```cfg +[buildout] +extends = + https://dist.plone.org/release/6-latest/versions.cfg + +parts = + instance + +[instance] +recipe = plone.recipe.zope2instance +user = admin:admin +http-address = 8080 +eggs = + Plone + collective.easyform + +[versions] +collective.easyform = 4.2.1 +``` + +```{tip} +Including the add-on version ensures that it won't accidentally get upgraded in the future. +``` + +To actually download and install the new add-on, run: + +```shell +bin/buildout +``` + +### Install an add-on from source + +An add-on can be installed from a source control system such as GitHub. + +Update {file}`buildout.cfg`. +This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/). + +```cfg +[buildout] +extends = + https://dist.plone.org/release/6-latest/versions.cfg +extensions = mr.developer +auto-checkout = + collective.easyform + +parts = + instance + +[instance] +recipe = plone.recipe.zope2instance +user = admin:admin +http-address = 8080 +eggs = + Plone + collective.easyform + +[sources] +collective.easyform = git https://github.com/collective/collective.easyform.git +``` + +To actually download and install the new add-on, run: + +```shell +bin/buildout +``` + +```{seealso} +This approach uses the [`mr.developer`](https://pypi.org/project/mr.developer/) Buildout extension. +``` diff --git a/docs/admin-guide/index.md b/docs/admin-guide/index.md index 92302425d..dbc026aac 100644 --- a/docs/admin-guide/index.md +++ b/docs/admin-guide/index.md @@ -29,6 +29,7 @@ install-plonestarter :maxdepth: 1 run-plone +add-ons upgrade ``` From af5ced1da17241d0f2556431141a166651e49f6d Mon Sep 17 00:00:00 2001 From: David Glick Date: Sun, 27 Oct 2024 16:43:09 -0700 Subject: [PATCH 05/41] Add overrides & zope config, remove old manage section --- docs/admin-guide/add-ons.md | 4 + docs/admin-guide/configure-zope.md | 33 ++++ docs/admin-guide/index.md | 6 +- docs/admin-guide/override-core.md | 167 ++++++++++++++++ docs/index.md | 1 - docs/manage/backend.md | 299 ----------------------------- docs/manage/frontend.md | 18 -- docs/manage/index.md | 20 -- 8 files changed, 206 insertions(+), 342 deletions(-) create mode 100644 docs/admin-guide/configure-zope.md create mode 100644 docs/admin-guide/override-core.md delete mode 100644 docs/manage/backend.md delete mode 100644 docs/manage/frontend.md delete mode 100644 docs/manage/index.md diff --git a/docs/admin-guide/add-ons.md b/docs/admin-guide/add-ons.md index 61d8b532a..c6c8e6fb3 100644 --- a/docs/admin-guide/add-ons.md +++ b/docs/admin-guide/add-ons.md @@ -159,6 +159,8 @@ To actually download and install the new add-on, run: bin/buildout ``` +Then restart your instance. + ### Install an add-on from source An add-on can be installed from a source control system such as GitHub. @@ -195,6 +197,8 @@ To actually download and install the new add-on, run: bin/buildout ``` +Then restart your instance. + ```{seealso} This approach uses the [`mr.developer`](https://pypi.org/project/mr.developer/) Buildout extension. ``` diff --git a/docs/admin-guide/configure-zope.md b/docs/admin-guide/configure-zope.md new file mode 100644 index 000000000..0f05786ca --- /dev/null +++ b/docs/admin-guide/configure-zope.md @@ -0,0 +1,33 @@ +--- +myst: + html_meta: + "description": "Configure Zope options" + "property=og:description": "Configure Zope options" + "property=og:title": "Configure Zope" + "keywords": "Plone 6, Zope, instance, app server, config, cookiecutter-zope-instance" +--- + +(configure-zope-label)= + +# Configure Zope + +Plone runs in an application server called {term}`Zope`. + +You can configure your Zope instance's options, including the following. + +* persistent storage: blobs, direct filestorage, relation database, ZEO, and so on +* ports +* threads +* cache +* logging +* debugging and profiling for development + +## with Cookieplone + +If you installed Plone using Cookieplone, `cookiecutter-plone-starter`, or pip, then Zope is configured using {term}`cookiecutter-zope-instance`. +For a complete list of features, usage, and options, read [`cookiecutter-zope-instance`'s README](https://github.com/plone/cookiecutter-zope-instance#readme). + +## with Buildout + +If you installed Plone using Buildout, then Zope is configured using `plone.recipe.zope2instance`. +For a complete list of features, usage, and options, read [`plone.recipe.zope2instance`'s README](https://pypi.org/project/plone.recipe.zope2instance/). diff --git a/docs/admin-guide/index.md b/docs/admin-guide/index.md index dbc026aac..3d19b17f3 100644 --- a/docs/admin-guide/index.md +++ b/docs/admin-guide/index.md @@ -29,7 +29,9 @@ install-plonestarter :maxdepth: 1 run-plone +configure-zope add-ons +override-core upgrade ``` @@ -39,7 +41,3 @@ upgrade containers/index ``` - - -To do: -- move and update Manage section diff --git a/docs/admin-guide/override-core.md b/docs/admin-guide/override-core.md new file mode 100644 index 000000000..38f80abd4 --- /dev/null +++ b/docs/admin-guide/override-core.md @@ -0,0 +1,167 @@ +--- +myst: + html_meta: + "description": "Override core Plone packages" + "property=og:description": "Override core Plone packages" + "property=og:title": "Override core Plone packages" + "keywords": "Plone 6, core, package, version, override" +--- + +(override-core-plone-packages-label)= + +# Override core Plone packages + +Plone includes a lot of Python packages. +Sometimes it is necessary to override one or more package versions in order to fix a bug. + + +## with Cookieplone + +Use the following instructions if you installed Plone with Cookieplone or `cookiecutter-plone-starter`. + +### Override a core Plone package + +Add a version override to {file}`mx.ini`. +This example uses `plone.api`. + +``` +[settings] +version-overrides = + plone.api==2.0.0a3 +``` + +```{seealso} +The {file}`mx.ini` file configures a tool called {term}`mxdev`. +For an explanation of why Plone uses `mxdev`, see {ref}`manage-backend-python-packages-label`. +``` + +Stop the backend with {kbd}`ctrl-c`. + +To actually download and install the new package version, run: + +```shell +make backend-build +``` + +```{note} +If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead.` +``` + +Now restart the backend. + + +### Install a core Plone package from source + +`mxdev` can also be used to install core Plone packages from a source control system such as GitHub. + +Add the Plone package you want to check out in {file}`mx.ini`. +This example uses `plone.restapi`. + +```cfg +[plone.restapi] +url = git@github.com:plone/plone.restapi.git +branch = main +extras = test +``` + +Stop the backend with {kbd}`ctrl-c`. + +To actually download and install the new package version, run: + +```shell +make backend-build +``` + +```{note} +If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead.` +``` + +Now restart the backend. + + +## with Buildout + +Use the following instructions if you installed Plone with Buildout. + +### Override a core Plone package + +Update {file}`buildout.cfg`. +This example uses `plone.api`. + +```cfg +[buildout] +extends = + https://dist.plone.org/release/6-latest/versions.cfg + +parts = + instance + +[instance] +recipe = plone.recipe.zope2instance +user = admin:admin +http-address = 8080 +eggs = + Plone + +[versions] +plone.api = 2.0.0a3 +``` + +```{note} +The version pins specified in the `[versions]` section will take precedence over the pins inherited from `https://dist.plone.org/release/6-latest/versions.cfg`. +``` + +To actually download and install the new package version, run: + +```shell +bin/buildout +``` + +Then restart your instance. + + +### Install a core Plone package from source + +A core Plone package can be installed from a source control system such as GitHub. + +Update {file}`buildout.cfg`. +This example uses `plone.restapi`. + +```cfg +[buildout] +extends = + https://dist.plone.org/release/6-latest/versions.cfg +extensions = mr.developer +auto-checkout = + plone.restapi + +parts = + instance + +[instance] +recipe = plone.recipe.zope2instance +user = admin:admin +http-address = 8080 +eggs = + Plone + +[sources] +plone.restapi = git https://github.com/plone/plone.restapi.git + +[versions] +plone.restapi = +``` + +```{tip} +Setting an empty version ensures that the copy of `plone.restapi` from source control will be used, instead of the version pin inherited from https://dist.plone.org/release/6-latest/versions.cfg. +``` + +To actually download and install the new add-on, run: + +```shell +bin/buildout +``` + +```{seealso} +This approach uses the [`mr.developer`](https://pypi.org/project/mr.developer/) Buildout extension. +``` diff --git a/docs/index.md b/docs/index.md index f76575d8a..9f4594162 100644 --- a/docs/index.md +++ b/docs/index.md @@ -33,7 +33,6 @@ Read the [documentation for the previous version, Plone 5](https://5.docs.plone. overview/index install/index admin-guide/index -manage/index deployment/index volto/index classic-ui/index diff --git a/docs/manage/backend.md b/docs/manage/backend.md deleted file mode 100644 index a8a16d59d..000000000 --- a/docs/manage/backend.md +++ /dev/null @@ -1,299 +0,0 @@ ---- -myst: - html_meta: - "description": "Manage Plone backend" - "property=og:description": "Manage Plone backend" - "property=og:title": "Manage Plone backend" - "keywords": "Plone 6, manage, backend, add-ons, packages, mxdev" ---- - -(manage-plone-backend-label)= - -# Manage Plone backend - -This part of the documentation describes how to perform common management tasks in the Plone backend. -This chapter assumes you have previously followed {doc}`/admin-guide/install-plonestarter`. - - -## Manage add-ons and packages - -Plone uses `mxdev` to manage packages and constraints. - -```{seealso} -For an explanation of why Plone uses `mxdev`, see {ref}`manage-backend-python-packages-label`. -``` - - -(mxdev-usage-overview-label)= - -### `mxdev` usage overview - -The default set of files for `mxdev` is shown below. -They are located in the `backend` directory of your project. - -{file}`requirements.txt` - -```ini --c constraints.txt --e src/project_title - -zope.testrunner - -# Add required add-ons -# collective.easyform -``` - -{file}`constraints.txt` - -```ini --c https://dist.plone.org/release/{PLONE_BACKEND_PATCH_VERSION}/constraints.txt -``` - -{file}`mx.ini` - -```ini -; This is a mxdev configuration file -; it can be used to override versions of packages already defined in the -; constraints files and to add new packages from VCS like git. -; to learn more about mxdev visit https://pypi.org/project/mxdev/ - -[settings] -; example how to override a package version -; version-overrides = -; example.package==2.1.0a2 - -; example section to use packages from git -; [example.contenttype] -; url = https://github.com/collective/example.contenttype.git -; pushurl = git@github.com:collective/example.contenttype.git -; extras = test -; branch = feature-7 -``` - -You can edit these three files in your project as you need. -Then you can generate package requirements and constraints files, and then install those packages, with one command. - -```shell -make build-backend -``` - -`make build-backend` invokes `mxdev`, which generates the files {file}`requirements-mxdev.txt` and {file}`constraints-mxdev.txt`. -It then invokes `pip` to install packages with the new requirements file. - -To reload the packages, stop your Plone site with {kbd}`ctrl-c`, and start it with the following command. - -```shell -make start-backend -``` - -```{seealso} -See the [documentation of `mxdev` in its README.md](https://github.com/mxstack/mxdev/blob/main/README.md) for complete information. -``` - - -(manage-add-an-add-on)= - -### Add an add-on - -Add a line with the name of your add-on in `requirements.txt`. -This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/). - -``` -collective.easyform -``` - -Add it to {file}`instance.yaml` to let Zope know that this add-on should be loaded: - -```yaml -default_context: - zcml_package_includes: project_title, collective.easyform -``` - -Stop the backend with {kbd}`ctrl-c`. -Then apply your changes and start the backend. -You do not need to stop the frontend. - -```shell -make build-backend -make start-backend -``` - -In your web browser, and assuming you are currently logged in as `admin`, visit the URL http://localhost:8080/Plone/prefs_install_products_form. - -Then click the {guilabel}`Install` button next to your add-on to complete installation of the add-on. - -Some add-ons have configuration options. -To configure such add-ons, return to the {guilabel}`Site Setup` control panel. -At the bottom of the page, you should see the heading {guilabel}`Add-on Configuration`, and a control panel to configure the add-on that you just installed. - - -(manage-pin-the-version-of-an-add-on)= - -### Pin the version of an add-on - -Pin the version in {file}`constraints.txt`. - -``` -collective.easyform==3.1.0 -``` - -Add the add-on to {file}`requirements.txt`: - -``` -collective.easyform -``` - -Add it to {file}`instance.yaml` to let Zope know that this add-on should be loaded: - -```yaml -default_context: - zcml_package_includes: project_title, collective.easyform -``` - -Stop the backend with {kbd}`ctrl-c`. -Then apply your changes and start the backend. - -```shell -make build-backend -make start-backend -``` - -In your web browser, and assuming you are currently logged in as `admin`, visit the URL http://localhost:8080/Plone/prefs_install_products_form. -An upgrade step might need to be performed in the Plone control panel. -Follow the upgrade information, if present. -Else click the {guilabel}`Install` button to complete installation of the add-on. - - -(manage-check-out-an-add-on)= - -### Check out an add-on - -Add the add-on in {file}`requirements.txt`: - -``` -collective.easyform -``` - -In {file}`mx.ini`, specify the information to check out the add-on: - -```ini -[collective.easyform] -url=git@github.com:collective/collective.easyform.git -branch=dev-branch-name -extras=test -``` - -Add it to {file}`instance.yaml` to let Zope know that this add-on should be loaded: - -```yaml -default_context: - zcml_package_includes: project_title, collective.easyform -``` - -Stop the backend with {kbd}`ctrl-c`. -Then apply your changes and start the backend. - -```shell -make build-backend -make start-backend -``` - -In your web browser, and assuming you are currently logged in as `admin`, visit the URL http://localhost:8080/Plone/prefs_install_products_form. -An upgrade step might need to be performed in the Plone control panel. -Follow the upgrade information, if present. -Else click the {guilabel}`Install` button to complete installation of the add-on. - - -(manage-pin-the-version-of-a-plone-package-against-constraints-label)= - -### Pin the version of a Plone package against constraints - -A version can **not** be pinned in `constraints.txt` when the package is mentioned in the constraints of Plone. -Any other package version could be pinned in `constraints.txt`. - -Pin the version of a Plone package in {file}`mx.ini`: - -```ini -[settings] -# constraints of Plone packages -version-overrides = - plone.api>=2.0.0a3 -``` - -Apply your changes and restart backend: - -```shell -make build-backend -make start-backend -``` - -In your web browser, and assuming you are currently logged in as `admin`, visit the URL http://localhost:8080/Plone/prefs_install_products_form. -An upgrade step might need to be performed in the Plone control panel. -Follow the upgrade information, if present. - - -(manage-checkout-a-plone-package-label)= - -### Check out a Plone package - -This section covers how to check out a Plone Core package for development. - -Add the Plone package you want to check out in {file}`mx.ini`. - -```ini -[plone.restapi] -url = git@github.com:plone/plone.restapi.git -branch = main -extras = test -``` - -Stop the backend with {kbd}`ctrl-c`. -Then apply your changes and start the backend. - -```shell -make build-backend -make start-backend -``` - -In your web browser, and assuming you are currently logged in as `admin`, visit the URL http://localhost:8080/Plone/prefs_install_products_form. -An upgrade step might need to be performed in the Plone control panel. -Follow the upgrade information, if present. - - -(manage-build-and-start-your-instance-label)= - -### Build and start your instance - -Whenever you make changes to your backend configuration—for example, install an add-on, or override a Plone core package—then a build and restart is needed. -First stop your Zope instance/Plone site with {kbd}`ctrl-c`. -Then build and run the Plone backend. - -```shell -make build-backend -make start-backend -``` - -In a web browser, visit http://localhost:8080/ to see that Plone is running. - -Your instance is running in the foreground. - -```{seealso} -For an explanation of the command `make build-backend`, see {doc}`/conceptual-guides/make-build-backend-walk-through`. -``` - - -(manage-configuration-with-cookiecutter-zope-instance-label)= - -## Configuration with `cookiecutter-zope-instance` - -You can configure your instance's options, including the following. - -- persistent storage: blobs, direct filestorage, relational database, ZEO, and so on -- ports -- threads -- cache -- debugging and profiling for development - -```{seealso} -For a complete list of features, usage, and options, read [`cookiecutter-zope-instance`'s `README.rst`](https://github.com/plone/cookiecutter-zope-instance#readme). -``` diff --git a/docs/manage/frontend.md b/docs/manage/frontend.md deleted file mode 100644 index 9d3c275c9..000000000 --- a/docs/manage/frontend.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -myst: - html_meta: - "description": "Manage Plone frontend" - "property=og:description": "Manage Plone frontend" - "property=og:title": "Manage Plone frontend" - "keywords": "Plone 6, manage, frontend, add-ons, packages" ---- - -(manage-plone-frontend-label)= - -# Manage Plone frontend - -This part of the documentation describes how to perform common management tasks in the Plone frontend. - -```{seealso} -{doc}`/volto/addons/index` -``` diff --git a/docs/manage/index.md b/docs/manage/index.md deleted file mode 100644 index 4e7fb946e..000000000 --- a/docs/manage/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -myst: - html_meta: - "description": "Manage add-ons, packages, and processes in Plone" - "property=og:description": "Manage add-ons, packages, and processes in Plone" - "property=og:title": "Manage add-ons, packages, and processes in Plone" - "keywords": "Plone 6, manage, backend, frontend, Volto, Classic UI, add-ons, packages, processes, cookiecutter, Zope" ---- - -# Manage Plone - -This part of the documentation describes how to perform common management tasks in Plone. - - -```{toctree} -:maxdepth: 2 - -backend -frontend -``` From 4b688a79626dba325c4602575483ab95cff16aaf Mon Sep 17 00:00:00 2001 From: David Glick Date: Mon, 28 Oct 2024 17:31:49 -0700 Subject: [PATCH 06/41] move docs back to their old paths to avoid need for redirects --- docs/admin-guide/index.md | 8 ++++---- docs/conf.py | 6 +----- .../containers/examples/haproxy-plone-zeo.md | 0 .../{admin-guide => install}/containers/examples/index.md | 0 .../containers/examples/nginx-plone.md | 0 .../containers/examples/nginx-volto-plone-postgresql.md | 0 .../containers/examples/nginx-volto-plone-zeo.md | 0 .../containers/examples/nginx-volto-plone.md | 0 .../containers/examples/traefik-volto-plone-varnish.md | 0 .../{admin-guide => install}/containers/images/backend.md | 0 .../containers/images/frontend.md | 0 docs/{admin-guide => install}/containers/images/index.md | 0 docs/{admin-guide => install}/containers/images/zeo.md | 0 docs/{admin-guide => install}/containers/index.md | 0 .../create-project-cookieplone.md} | 0 .../install-plonestarter.md => install/create-project.md} | 0 docs/install/index.md | 4 ++-- docs/{admin-guide/upgrade.md => upgrade/index.md} | 0 18 files changed, 7 insertions(+), 11 deletions(-) rename docs/{admin-guide => install}/containers/examples/haproxy-plone-zeo.md (100%) rename docs/{admin-guide => install}/containers/examples/index.md (100%) rename docs/{admin-guide => install}/containers/examples/nginx-plone.md (100%) rename docs/{admin-guide => install}/containers/examples/nginx-volto-plone-postgresql.md (100%) rename docs/{admin-guide => install}/containers/examples/nginx-volto-plone-zeo.md (100%) rename docs/{admin-guide => install}/containers/examples/nginx-volto-plone.md (100%) rename docs/{admin-guide => install}/containers/examples/traefik-volto-plone-varnish.md (100%) rename docs/{admin-guide => install}/containers/images/backend.md (100%) rename docs/{admin-guide => install}/containers/images/frontend.md (100%) rename docs/{admin-guide => install}/containers/images/index.md (100%) rename docs/{admin-guide => install}/containers/images/zeo.md (100%) rename docs/{admin-guide => install}/containers/index.md (100%) rename docs/{admin-guide/install-cookieplone.md => install/create-project-cookieplone.md} (100%) rename docs/{admin-guide/install-plonestarter.md => install/create-project.md} (100%) rename docs/{admin-guide/upgrade.md => upgrade/index.md} (100%) diff --git a/docs/admin-guide/index.md b/docs/admin-guide/index.md index 3d19b17f3..8d8dd9907 100644 --- a/docs/admin-guide/index.md +++ b/docs/admin-guide/index.md @@ -18,10 +18,10 @@ In this part of the documentation, you can find how to install, operate, configu :caption: Install :maxdepth: 1 -install-cookieplone +/install/create-project-cookieplone install-buildout install-pip -install-plonestarter +/install/create-project ``` ```{toctree} @@ -32,12 +32,12 @@ run-plone configure-zope add-ons override-core -upgrade +/upgrade/index ``` ```{toctree} :maxdepth: 1 :caption: Deploy -containers/index +/install/containers/index ``` diff --git a/docs/conf.py b/docs/conf.py index ca61b9e21..43fd357ff 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -245,12 +245,8 @@ "contributing/plone-api": "/plone.api/contribute/index.html", "contributing/plone-restapi": "/plone.restapi/docs/source/contributing/index.html", "contributing/volto": "/volto/contributing/index.html", - "install/containers/index": "/admin-guide/containers/index.html", - "install/create-project-cookieplone": "/admin-guide/install-cookieplone.html", - "install/create-project": "/admin-guide/install-plonestarter.html", - "install/install-from-packages": "/admin-guide/install-cookieplone.html", + "install/install-from-packages": "/install/create-project.html", "manage/frontend": "/volto/addons/index.html", - "upgrade/index": "/admin-guide/upgrade.html", } diff --git a/docs/admin-guide/containers/examples/haproxy-plone-zeo.md b/docs/install/containers/examples/haproxy-plone-zeo.md similarity index 100% rename from docs/admin-guide/containers/examples/haproxy-plone-zeo.md rename to docs/install/containers/examples/haproxy-plone-zeo.md diff --git a/docs/admin-guide/containers/examples/index.md b/docs/install/containers/examples/index.md similarity index 100% rename from docs/admin-guide/containers/examples/index.md rename to docs/install/containers/examples/index.md diff --git a/docs/admin-guide/containers/examples/nginx-plone.md b/docs/install/containers/examples/nginx-plone.md similarity index 100% rename from docs/admin-guide/containers/examples/nginx-plone.md rename to docs/install/containers/examples/nginx-plone.md diff --git a/docs/admin-guide/containers/examples/nginx-volto-plone-postgresql.md b/docs/install/containers/examples/nginx-volto-plone-postgresql.md similarity index 100% rename from docs/admin-guide/containers/examples/nginx-volto-plone-postgresql.md rename to docs/install/containers/examples/nginx-volto-plone-postgresql.md diff --git a/docs/admin-guide/containers/examples/nginx-volto-plone-zeo.md b/docs/install/containers/examples/nginx-volto-plone-zeo.md similarity index 100% rename from docs/admin-guide/containers/examples/nginx-volto-plone-zeo.md rename to docs/install/containers/examples/nginx-volto-plone-zeo.md diff --git a/docs/admin-guide/containers/examples/nginx-volto-plone.md b/docs/install/containers/examples/nginx-volto-plone.md similarity index 100% rename from docs/admin-guide/containers/examples/nginx-volto-plone.md rename to docs/install/containers/examples/nginx-volto-plone.md diff --git a/docs/admin-guide/containers/examples/traefik-volto-plone-varnish.md b/docs/install/containers/examples/traefik-volto-plone-varnish.md similarity index 100% rename from docs/admin-guide/containers/examples/traefik-volto-plone-varnish.md rename to docs/install/containers/examples/traefik-volto-plone-varnish.md diff --git a/docs/admin-guide/containers/images/backend.md b/docs/install/containers/images/backend.md similarity index 100% rename from docs/admin-guide/containers/images/backend.md rename to docs/install/containers/images/backend.md diff --git a/docs/admin-guide/containers/images/frontend.md b/docs/install/containers/images/frontend.md similarity index 100% rename from docs/admin-guide/containers/images/frontend.md rename to docs/install/containers/images/frontend.md diff --git a/docs/admin-guide/containers/images/index.md b/docs/install/containers/images/index.md similarity index 100% rename from docs/admin-guide/containers/images/index.md rename to docs/install/containers/images/index.md diff --git a/docs/admin-guide/containers/images/zeo.md b/docs/install/containers/images/zeo.md similarity index 100% rename from docs/admin-guide/containers/images/zeo.md rename to docs/install/containers/images/zeo.md diff --git a/docs/admin-guide/containers/index.md b/docs/install/containers/index.md similarity index 100% rename from docs/admin-guide/containers/index.md rename to docs/install/containers/index.md diff --git a/docs/admin-guide/install-cookieplone.md b/docs/install/create-project-cookieplone.md similarity index 100% rename from docs/admin-guide/install-cookieplone.md rename to docs/install/create-project-cookieplone.md diff --git a/docs/admin-guide/install-plonestarter.md b/docs/install/create-project.md similarity index 100% rename from docs/admin-guide/install-plonestarter.md rename to docs/install/create-project.md diff --git a/docs/install/index.md b/docs/install/index.md index 30ed2eaa6..84c4707db 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -35,7 +35,7 @@ Choose a version to demo. First, choose a Plone frontend. [TODO: add link to explanation of how to choose] (If you are following a [Plone training](https://training.plone.org/), it should specify which option to choose.) -{doc}`/admin-guide/install-cookieplone` +{doc}`create-project-cookieplone` : This is the recommended way to install Plone for a new project with the Volto frontend. {doc}`/admin-guide/install-buildout` @@ -46,7 +46,7 @@ First, choose a Plone frontend. [TODO: add link to explanation of how to choose] : This is one way to install Plone with the Classic UI. It provides a basic installation without many additional tools to help with development. -{doc}`/admin-guide/install-plonestarter` +{doc}`create-project` : This was the recommended way to install Plone 6.0 for a new project with the Volto frontend. {doc}`Install Plone as a contributor ` diff --git a/docs/admin-guide/upgrade.md b/docs/upgrade/index.md similarity index 100% rename from docs/admin-guide/upgrade.md rename to docs/upgrade/index.md From 39d03f43437ea6f184fee2756b9f05fdc3b801ad Mon Sep 17 00:00:00 2001 From: David Glick Date: Wed, 30 Oct 2024 15:45:09 -0700 Subject: [PATCH 07/41] start choose-user-interface chapter --- docs/_static/classic-ui.png | Bin 0 -> 293282 bytes docs/_static/volto-ui.png | Bin 0 -> 218233 bytes docs/classic-ui/index.md | 36 ++--------- .../choose-user-interface.md | 61 ++++++++++++++++++ docs/conceptual-guides/index.md | 1 + docs/glossary.md | 25 ++++--- docs/install/index.md | 4 +- 7 files changed, 84 insertions(+), 43 deletions(-) create mode 100644 docs/_static/classic-ui.png create mode 100644 docs/_static/volto-ui.png create mode 100644 docs/conceptual-guides/choose-user-interface.md diff --git a/docs/_static/classic-ui.png b/docs/_static/classic-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..595d0b0fe313614f1112fa6f90fd8edaf17937cd GIT binary patch literal 293282 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 jiR1F(++;9BtxFd6kt~ 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 z�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 plE;_ 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 UIg|O{o@4+5Pgg&ebxsLQ0Puq5XaE2J literal 0 HcmV?d00001 diff --git a/docs/classic-ui/index.md b/docs/classic-ui/index.md index 8fd0f5a9c..9150d958e 100644 --- a/docs/classic-ui/index.md +++ b/docs/classic-ui/index.md @@ -11,40 +11,12 @@ myst: # Classic UI -```{todo} -Perhaps some of this introduction should be an include, so we don't have to repeat ourselves? -``` - -Plone 6 ships with two user interfaces or frontends. - -The default frontend of Plone 6 is Volto. -It is based on the React JavaScript framework. - -The other frontend is based on Twitter Bootstrap 5. -This frontend is now called {term}`Classic UI`. - - -## Which frontend? - -Choosing one frontend over another depends on several factors. - -Classic UI would be a better choice for the following situations. - -- Reason 1 -- Reason 2 -- Reason N - -The default frontend Volto would be a better choice for the following situations. - -- Reason 1 -- Reason 2 -- Reason N - - -## Contents - This chapter is a developer reference manual for working with Classic UI. +```{seealso} +Plone has two user interfaces, Volto and Classic UI. To understand the difference, see {doc}`/conceptual-guides/choose-user-interface`. +``` + ```{toctree} :maxdepth: 2 diff --git a/docs/conceptual-guides/choose-user-interface.md b/docs/conceptual-guides/choose-user-interface.md new file mode 100644 index 000000000..7096af64a --- /dev/null +++ b/docs/conceptual-guides/choose-user-interface.md @@ -0,0 +1,61 @@ +--- +myst: + html_meta: + "description": "Explanation of how to choose between Plone's user interfaces, Volto and Classic UI" + "property=og:description": "Explanation of how to choose between Plone's user interfaces, Volto and Classic UI" + "property=og:title": "Choose a user interface" + "keywords": "Plone 6, Conceptual guides, UI, frontend, Volto, Classic UI, distribution" +--- + +# Choose a user interface + +Plone 6 offers two different user interfaces: Volto and Classic UI. + +The choice of user interface has implications for editors, admins, and developers. + +::::{grid} 2 +:::{grid-item-card} Volto + +```{image} /_static/volto-ui.png +:alt: Plone homepage in Volto +``` + +For editors and other end users: + +* The user interface is a fast, modern single-page web application. +* Editors create a page by arranging blocks of different types into a layout. +* There is not a comprehensive User Manual yet. + +For developers and integrators: + +* The frontend is a {term}`React`-based application written in JavaScript and TypeScript. +* The backend is a Python process which provides a REST API for the frontend. +* Python skills are not required, but can be helpful for extending the backend. +* Content is stored as structured JSON. +* Customization of themes is well-documented and relatively easy for developers who have experience with React. + + +::: +:::{grid-item-card} Classic UI + +```{image} /_static/classic-ui.png +:alt: Plone homepage in Classic UI +``` + +For editors and other end users: + +* The user interface is similar to Plone 5. +* Editors create a page using a WYSIWYG editor (TinyMCE). +* Additional widgets can be added to predefined locations, using {term}`portlets`. +* There is a comprehensive User Manual for Plone 5, but it has not been updated for Plone 6. + +For developers and integrators: + +* The frontend and backend run in a single Python process, so hosting is a bit simpler. +* The frontend is implemented as server-side templates using the {term}`ZPT` language. +* Interactive functionality is implemented in JavaScript using {term}`Mockup`. +* Content is stored as HTML. +* Customization of themes is not well-documented. + +::: +:::: diff --git a/docs/conceptual-guides/index.md b/docs/conceptual-guides/index.md index 727810e41..de6081f2e 100644 --- a/docs/conceptual-guides/index.md +++ b/docs/conceptual-guides/index.md @@ -15,6 +15,7 @@ This part of the documentation provides explanation of concepts to deepen and br ```{toctree} :maxdepth: 2 +choose-user-interface package-management make-build-backend-walk-through ``` diff --git a/docs/glossary.md b/docs/glossary.md index 5d8b61ccf..9738f355b 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -168,8 +168,8 @@ Rapido application It contains the features you implement. It is a folder containing templates, Python code, and YAML files. -block - Blocks display a chunk of HTML which can be inserted in your Plone pages. +blocks + Blocks are the fundamental components of a page layout in {term}`Volto`. element Elements are the dynamic components of your blocks. @@ -411,18 +411,19 @@ Traefik Proxy Volto [Volto](https://github.com/plone/volto) is a React-based frontend for Plone. - It is the default user interface for Plone 6. + It is one of two supported user interfaces for Plone 6. - The other frontend is {term}`Classic UI`. + ````{seealso} + {doc}`/conceptual-guides/choose-user-interface` + ```` Classic UI - Classic UI is a secondary frontend for Plone 6. - It is integrated with [Products.CMFPlone](https://github.com/plone/Products.CMFPlone/). - Its theme is named [Barceloneta](https://github.com/plone/plonetheme.barceloneta/). - It is based on Twitter Bootstrap 5. - It uses {term}`Mockup` as its JavaScript stack. + Classic UI is a frontend for Plone 6 that is based on {term}`ZPT` and {term}`Mockup`. + It is one of two supported user interfaces for Plone 6. - The other frontend is {term}`Volto`. + ````{seealso} + {doc}`/conceptual-guides/choose-user-interface` + ```` Mockup [Mockup](https://github.com/plone/mockup/) is a package that, together with {term}`Patternslib`, builds the UI toolkit for {term}`Classic UI`, a frontend for Plone. @@ -792,4 +793,8 @@ lazy loaded reference implementation A reference implementation is a program that implements all requirements from a corresponding specification. The reference implementation often accompanies a technical standard, and demonstrates what should be considered the "correct" behavior of any other implementation of it. + +portlets + Portlets are widgets that can be inserted in predefined locations in {term}`Classic UI`. + Portlets are most commonly used to add sidebars to the left or right of the main page content. ``` diff --git a/docs/install/index.md b/docs/install/index.md index 1f8c95ce7..9022c883b 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -19,7 +19,9 @@ You can also {ref}`try a Plone demo `. ## Get started -Choose an option to get started with Plone. +First, read {doc}`/conceptual-guides/choose-user-interface` to choose between Volto and Classic UI. + +Then, choose one of the following install methods. If you are following a [Plone training](https://training.plone.org/), it should specify which option to choose. {doc}`create-project` From 87562cf93186ee049813fa4b8d639ea68931e1c4 Mon Sep 17 00:00:00 2001 From: David Glick Date: Wed, 30 Oct 2024 16:06:35 -0700 Subject: [PATCH 08/41] fixes --- docs/conceptual-guides/make-build-backend-walk-through.md | 4 ++-- docs/conceptual-guides/package-management.md | 2 +- docs/install/containers/index.md | 2 +- docs/install/create-project.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/conceptual-guides/make-build-backend-walk-through.md b/docs/conceptual-guides/make-build-backend-walk-through.md index 3c0ce4347..859852ac8 100644 --- a/docs/conceptual-guides/make-build-backend-walk-through.md +++ b/docs/conceptual-guides/make-build-backend-walk-through.md @@ -11,7 +11,7 @@ myst: # `make build-backend` details -This chapter assumes you have previously followed {doc}`/admin-guide/install-plonestarter`. +This chapter assumes you have previously followed {doc}`/install/create-project`. The `Makefile` at the root of your project invokes commands in `backend/Makefile`. Here are excerpts from `backend/Makefile` to show details of the `make build-backend` command. @@ -55,4 +55,4 @@ The command `make build-backend`: - This generates the `mxdev` files as described above in {ref}`mxdev-usage-overview-label`. - Installs Plone core packages and add-ons from the files generated by `mxdev`. -You can configure your Zope instance as described in the section {ref}`manage-configuration-with-cookiecutter-zope-instance-label`. +You can configure your Zope instance as described in the section {doc}`/admin-guide/configure-zope`. diff --git a/docs/conceptual-guides/package-management.md b/docs/conceptual-guides/package-management.md index 7e19bf175..baaef4a35 100644 --- a/docs/conceptual-guides/package-management.md +++ b/docs/conceptual-guides/package-management.md @@ -53,7 +53,7 @@ The generated files indicate from where the constraints were fetched, and commen You or your development tools, such as GNU Make, must perform that step. ```{seealso} -{doc}`/manage/backend` +{doc}`/admin-guide/add-ons` ``` diff --git a/docs/install/containers/index.md b/docs/install/containers/index.md index d5475b532..6c925d4a9 100644 --- a/docs/install/containers/index.md +++ b/docs/install/containers/index.md @@ -14,7 +14,7 @@ myst: The Plone 6 images have all the system requirements, prerequisites, and Plone 6 already installed, except those requirements needed for running the container engine itself. Using containers is the easiest way to deploy Plone 6. -Containers may also be used when {doc}`creating a Plone project `. +Containers may also be used when {doc}`creating a Plone project `. The Plone 6 container images are compliant with the [Open Container Initiative (OCI)](https://opencontainers.org/). They should work with any OCI-compliant container engine for developing, managing, and running Plone 6 images. diff --git a/docs/install/create-project.md b/docs/install/create-project.md index 7e8a25317..2d8a46500 100644 --- a/docs/install/create-project.md +++ b/docs/install/create-project.md @@ -14,7 +14,7 @@ myst: This chapter describes how you can create a web application using the {term}`cookiecutter-plone-starter` template. -```{deprecated} +```{deprecated} Plone 6.1 & Volto 18 This way of installing Plone is now deprecated. It was the recommended way to start a new Plone project with **Plone 6.0** and **Volto 17 or earlier**. For other installation options, see {ref}`get-started-install-label`. From b44b1fac97d216842b14b5a787c6018c71be9c99 Mon Sep 17 00:00:00 2001 From: David Glick Date: Wed, 30 Oct 2024 16:10:24 -0700 Subject: [PATCH 09/41] add note about bootstrap --- docs/conceptual-guides/choose-user-interface.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/conceptual-guides/choose-user-interface.md b/docs/conceptual-guides/choose-user-interface.md index 7096af64a..47b02f95c 100644 --- a/docs/conceptual-guides/choose-user-interface.md +++ b/docs/conceptual-guides/choose-user-interface.md @@ -54,6 +54,7 @@ For developers and integrators: * The frontend and backend run in a single Python process, so hosting is a bit simpler. * The frontend is implemented as server-side templates using the {term}`ZPT` language. * Interactive functionality is implemented in JavaScript using {term}`Mockup`. +* The visual design is based on the {term}`Barceloneta` theme from Plone 5, but updated to use Twitter Bootstrap 5. * Content is stored as HTML. * Customization of themes is not well-documented. From 36ca9b0a1e4f39d3fc820c1e428dfa4d457d78b1 Mon Sep 17 00:00:00 2001 From: David Glick Date: Thu, 31 Oct 2024 08:51:41 -0700 Subject: [PATCH 10/41] Twitter Bootstrap -> Bootstrap --- .../upgrading/version-specific-migration/upgrade-to-52.md | 2 +- .../upgrading/version-specific-migration/upgrade-to-60.md | 4 ++-- docs/classic-ui/icons.md | 2 +- docs/classic-ui/index.md | 6 +++--- docs/classic-ui/theming/through-the-web.md | 2 +- docs/classic-ui/whatsnew.md | 4 ++-- docs/conceptual-guides/choose-user-interface.md | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/backend/upgrading/version-specific-migration/upgrade-to-52.md b/docs/backend/upgrading/version-specific-migration/upgrade-to-52.md index 23fa88805..be670bb57 100644 --- a/docs/backend/upgrading/version-specific-migration/upgrade-to-52.md +++ b/docs/backend/upgrading/version-specific-migration/upgrade-to-52.md @@ -81,7 +81,7 @@ This is [PLIP 1351](https://github.com/plone/Products.CMFPlone/issues/1351). #### For end users This has no changes for Editors. -Admins will notice that the ZMI has a new Twitter Bootstrap-based theme, and some control panels have moved. +Admins will notice that the ZMI has a new Bootstrap-based theme, and some control panels have moved. #### For developers diff --git a/docs/backend/upgrading/version-specific-migration/upgrade-to-60.md b/docs/backend/upgrading/version-specific-migration/upgrade-to-60.md index 34ce02e2a..51651cf6a 100644 --- a/docs/backend/upgrading/version-specific-migration/upgrade-to-60.md +++ b/docs/backend/upgrading/version-specific-migration/upgrade-to-60.md @@ -128,9 +128,9 @@ zodb-temporary-storage = off (v60-templates-bootstrap-5-label)= -## Changed templates to Twitter Bootstrap 5 markup +## Changed templates to Bootstrap 5 markup -All templates in core Plone have been updated to use Twitter Bootstrap 5 markup. +All templates in core Plone have been updated to use Bootstrap 5 markup. Add-on authors are encouraged to do the same. If you have customized a core template, you should check if your change is still needed, and update it to fit the new markup. Any CSS and JavaScript that relies on a specific structure, or certain IDs or classes, should be checked as well. diff --git a/docs/classic-ui/icons.md b/docs/classic-ui/icons.md index fdaf6feb6..269b455cf 100644 --- a/docs/classic-ui/icons.md +++ b/docs/classic-ui/icons.md @@ -23,7 +23,7 @@ Examples include the following. ## Bootstrap Icons -Twitter Bootstrap 5 is the default CSS framework in Plone 6. +Bootstrap 5 is the default CSS framework in Plone 6. Plone uses its icons. Check out all the available Bootstrap icons at [icons.getbootstrap.com](https://icons.getbootstrap.com/). diff --git a/docs/classic-ui/index.md b/docs/classic-ui/index.md index 9150d958e..dfc6949ce 100644 --- a/docs/classic-ui/index.md +++ b/docs/classic-ui/index.md @@ -1,10 +1,10 @@ --- myst: html_meta: - "description": "Classic UI is a secondary user interface for Plone, but updated to use Twitter Bootstrap 5. It is familiar to users of Plone 5." - "property=og:description": "Classic UI is a secondary user interface for Plone, but updated to use Twitter Bootstrap 5. It is familiar to users of Plone 5." + "description": "Classic UI is a secondary user interface for Plone, but updated to use Bootstrap 5. It is familiar to users of Plone 5." + "property=og:description": "Classic UI is a secondary user interface for Plone, but updated to use Bootstrap 5. It is familiar to users of Plone 5." "property=og:title": "Classic UI" - "keywords": "Plone 6, Classic UI, Twitter Bootstrap 5" + "keywords": "Plone 6, Classic UI, Bootstrap 5" --- (classic-ui-index-label)= diff --git a/docs/classic-ui/theming/through-the-web.md b/docs/classic-ui/theming/through-the-web.md index 2a9646bd6..99a519131 100644 --- a/docs/classic-ui/theming/through-the-web.md +++ b/docs/classic-ui/theming/through-the-web.md @@ -47,7 +47,7 @@ Add screenshots. ## CSS variables -Plone uses Twitter Bootstrap's CSS variables. +Plone uses Bootstrap's CSS variables. They are used to tweak colors, fonts, spacing, and other CSS attributes. ```{todo} diff --git a/docs/classic-ui/whatsnew.md b/docs/classic-ui/whatsnew.md index dee9a7195..675c6464b 100644 --- a/docs/classic-ui/whatsnew.md +++ b/docs/classic-ui/whatsnew.md @@ -11,8 +11,8 @@ myst: # What's new in Plone 6 Classic UI -- HTML markup is now based on [Twitter Bootstrap 5](https://getbootstrap.com/). -- Twitter Bootstrap 5 icons are now included. +- HTML markup is now based on [Bootstrap 5](https://getbootstrap.com/). +- Bootstrap 5 icons are now included. - Bootstrap JavaScript is available by default. - JavaScript has been modernized. - RequireJS has been removed. diff --git a/docs/conceptual-guides/choose-user-interface.md b/docs/conceptual-guides/choose-user-interface.md index 47b02f95c..9c9fe38cf 100644 --- a/docs/conceptual-guides/choose-user-interface.md +++ b/docs/conceptual-guides/choose-user-interface.md @@ -54,7 +54,7 @@ For developers and integrators: * The frontend and backend run in a single Python process, so hosting is a bit simpler. * The frontend is implemented as server-side templates using the {term}`ZPT` language. * Interactive functionality is implemented in JavaScript using {term}`Mockup`. -* The visual design is based on the {term}`Barceloneta` theme from Plone 5, but updated to use Twitter Bootstrap 5. +* The visual design is based on the {term}`Barceloneta` theme from Plone 5, but updated to use Bootstrap 5. * Content is stored as HTML. * Customization of themes is not well-documented. From 50873f107ca74d964399defee895b4ace7bdd223 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Fri, 1 Nov 2024 06:14:08 -0700 Subject: [PATCH 11/41] Fix duplicate glossary entry --- docs/glossary.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index 1a8c8a9a3..8baf0d4d1 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -296,7 +296,6 @@ TC39 They established a [process](https://tc39.es/process-document/) where the proposals are discussed, developed, and eventually approved (or dropped). The process has five Stages (0 to 4) where reaching the Stage 4 means the proposal is finished, and it becomes part of the JavaScript specification. -mrs-developer `mrs-developer` Also called "missdev", a tool similar to buildout's `mr.developer`. It automatically downloads and keeps up to date copies of software and add-ons under development based on definitions stored in `mrs.developer.json`. @@ -697,7 +696,6 @@ Content Delivery Network CDN A Content Delivery Network (CDN) is a network of servers located in various geographic regions that work together to deliver web content to users quickly and efficiently. - unique identifier UID UID is an acronym meaning "unique identifier". From ad103a9717e96ad36d224cbd94a9fa321ac54376 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 2 Nov 2024 03:45:10 -0700 Subject: [PATCH 12/41] Revise Admin guide, adding commented link to new Volto add-ons index. --- docs/admin-guide/index.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/admin-guide/index.md b/docs/admin-guide/index.md index 8d8dd9907..6e89c4d82 100644 --- a/docs/admin-guide/index.md +++ b/docs/admin-guide/index.md @@ -3,13 +3,13 @@ myst: html_meta: "description": "How to install, operate, configure, and deploy Plone 6" "property=og:description": "How to install, operate, configure, and deploy Plone 6" - "property=og:title": "Admin Guide" + "property=og:title": "Admin guide" "keywords": "Plone 6, admin, install, configuration, deploy" --- (admin-index-label)= -# Admin Guide +# Admin guide In this part of the documentation, you can find how to install, operate, configure, and deploy Plone. @@ -31,6 +31,9 @@ install-pip run-plone configure-zope add-ons +% TODO: uncomment the following link when https://github.com/plone/volto/pull/6397 is merged. +% https://volto--6397.org.readthedocs.build/development/add-ons/install-an-add-on.html +% /volto/development/add-ons/index override-core /upgrade/index ``` From 8ee93391e56240e3b92837ccc027cb65b90b836a Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 2 Nov 2024 03:51:57 -0700 Subject: [PATCH 13/41] Comments not supported in toctree, move after it --- docs/admin-guide/index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/admin-guide/index.md b/docs/admin-guide/index.md index 6e89c4d82..9ac48e4ed 100644 --- a/docs/admin-guide/index.md +++ b/docs/admin-guide/index.md @@ -31,12 +31,13 @@ install-pip run-plone configure-zope add-ons -% TODO: uncomment the following link when https://github.com/plone/volto/pull/6397 is merged. -% https://volto--6397.org.readthedocs.build/development/add-ons/install-an-add-on.html -% /volto/development/add-ons/index override-core /upgrade/index ``` +% TODO: uncomment and add the following link to the Operate toctree when https://github.com/plone/volto/pull/6397 is merged. +% https://volto--6397.org.readthedocs.build/development/add-ons/install-an-add-on.html +% /volto/development/add-ons/index + ```{toctree} :maxdepth: 1 From dda4f2f7f2073414f3420b9a33be2b7635be614f Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 2 Nov 2024 04:06:06 -0700 Subject: [PATCH 14/41] Split SUPPORTED_PYTHON_VERSIONS into two replacement variables for Plone 6.0 and 6.1. --- docs/_inc/_install-python.md | 2 +- docs/admin-guide/install-buildout.md | 4 ++-- docs/conf.py | 3 ++- docs/contributing/core/index.md | 4 ++-- docs/contributing/documentation/setup-build.md | 4 ++-- docs/install/create-project-cookieplone.md | 2 +- docs/install/create-project.md | 2 +- 7 files changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/_inc/_install-python.md b/docs/_inc/_install-python.md index 4f0add878..29bf96a84 100644 --- a/docs/_inc/_install-python.md +++ b/docs/_inc/_install-python.md @@ -1,6 +1,6 @@ Installing Python is beyond the scope of this documentation. However, it is recommended to use a Python version manager, {term}`pyenv`, that allows you to install multiple versions of Python on your development environment without destroying your system's Python. % TODO: uncomment this line after upgrading to plone-sphinx-theme and latest Sphinx which supports replacements inside includes. -% Plone requires Python version {SUPPORTED_PYTHON_VERSIONS}. +% Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE60}. Plone requires Python version 3.8, 3.9, 3.10, 3.11, or 3.12. diff --git a/docs/admin-guide/install-buildout.md b/docs/admin-guide/install-buildout.md index dbf8a2b3b..d5ef7ca5e 100644 --- a/docs/admin-guide/install-buildout.md +++ b/docs/admin-guide/install-buildout.md @@ -4,7 +4,7 @@ myst: "description": "Install Plone with Buildout" "property=og:description": "Install Plone with Buildout" "property=og:title": "Install Plone with Buildout" - "keywords": "Plone 6, install, Classic UI, buildout" + "keywords": "Plone 6, install, Classic UI, Buildout" --- (install-buildout-label)= @@ -24,7 +24,7 @@ For other installation options, see {ref}`get-started-install-label`. ## Prerequisites -- Python 3.10 or greater +- Python (SUPPORTED_PYTHON_VERSIONS_PLONE61) On Debian-based Linux systems you can install Python with the following command: diff --git a/docs/conf.py b/docs/conf.py index 43fd357ff..8644bb392 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -359,7 +359,8 @@ def source_replace(app, docname, source): "{PLONE_BACKEND_MINOR_VERSION}": "6.0", "{PLONE_BACKEND_PATCH_VERSION}": "6.0.13", "{NVM_VERSION}": "0.39.5", - "{SUPPORTED_PYTHON_VERSIONS}": "3.8, 3.9, 3.10, 3.11, or 3.12", + "{SUPPORTED_PYTHON_VERSIONS_PLONE60}": "3.8, 3.9, 3.10, 3.11, or 3.12", + "{SUPPORTED_PYTHON_VERSIONS_PLONE61}": "3.10, 3.11, or 3.12", } diff --git a/docs/contributing/core/index.md b/docs/contributing/core/index.md index a8fea1426..5ea3833ca 100644 --- a/docs/contributing/core/index.md +++ b/docs/contributing/core/index.md @@ -40,7 +40,7 @@ However, the following links and sections below may be helpful. ```{include} ../../volto/contributing/install-operating-system.md ``` -- Python {SUPPORTED_PYTHON_VERSIONS} +- Python {SUPPORTED_PYTHON_VERSIONS_PLONE60} - {term}`GNU make` - {term}`Git` - A C compiler @@ -50,7 +50,7 @@ However, the following links and sections below may be helpful. Installing Python is beyond the scope of this documentation. However, it is recommended to use a Python version manager, {term}`pyenv` that allows you to install multiple versions of Python on your development environment without destroying your system's Python. -Plone requires Python version {SUPPORTED_PYTHON_VERSIONS}. +Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE60}. ### Make diff --git a/docs/contributing/documentation/setup-build.md b/docs/contributing/documentation/setup-build.md index db25b73fe..eb9452579 100644 --- a/docs/contributing/documentation/setup-build.md +++ b/docs/contributing/documentation/setup-build.md @@ -22,7 +22,7 @@ Installation of Plone 6 Documentation includes prerequisites and the repository ```{include} ../../volto/contributing/install-operating-system.md ``` -- {ref}`setup-build-installation-python-label` {SUPPORTED_PYTHON_VERSIONS} +- {ref}`setup-build-installation-python-label` {SUPPORTED_PYTHON_VERSIONS_PLONE60} - {ref}`setup-build-installation-gnu-make-label` - {ref}`setup-build-installation-graphviz-label` @@ -33,7 +33,7 @@ Installation of Plone 6 Documentation includes prerequisites and the repository Installing Python is beyond the scope of this documentation. However, it is recommended to use a Python version manager, {term}`pyenv` that allows you to install multiple versions of Python on your development environment without destroying your system's Python. -Plone requires Python version {SUPPORTED_PYTHON_VERSIONS}. +Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE60}. (setup-build-installation-gnu-make-label)= diff --git a/docs/install/create-project-cookieplone.md b/docs/install/create-project-cookieplone.md index 3fed3af77..29237e3d0 100644 --- a/docs/install/create-project-cookieplone.md +++ b/docs/install/create-project-cookieplone.md @@ -43,7 +43,7 @@ Plone 6 has both hardware requirements and software prerequisites. ```{include} ../volto/contributing/install-operating-system.md ``` -- Python {SUPPORTED_PYTHON_VERSIONS} +- Python {SUPPORTED_PYTHON_VERSIONS_PLONE61} - {term}`pipx` - {term}`nvm` - {term}`Node.js` LTS 20.x diff --git a/docs/install/create-project.md b/docs/install/create-project.md index 2d8a46500..e4b30d081 100644 --- a/docs/install/create-project.md +++ b/docs/install/create-project.md @@ -45,7 +45,7 @@ Plone 6 has both hardware requirements and software prerequisites. ```{include} ../volto/contributing/install-operating-system.md ``` -- Python {SUPPORTED_PYTHON_VERSIONS} +- Python {SUPPORTED_PYTHON_VERSIONS_PLONE60} - {term}`pipx` - {term}`nvm` - {term}`Node.js` LTS 20.x From 6a1211b3c419feaf735e53a4ac093e4beb2da964 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 2 Nov 2024 04:32:47 -0700 Subject: [PATCH 15/41] Add include for installing Python. Add install Buildout as a pre-requisite. --- docs/_inc/_install-python-plone61.md | 8 ++++++++ docs/admin-guide/install-buildout.md | 17 ++++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 docs/_inc/_install-python-plone61.md diff --git a/docs/_inc/_install-python-plone61.md b/docs/_inc/_install-python-plone61.md new file mode 100644 index 000000000..ce7e2c497 --- /dev/null +++ b/docs/_inc/_install-python-plone61.md @@ -0,0 +1,8 @@ +Installing Python is beyond the scope of this documentation. +However, it is recommended to use a Python version manager, {term}`pyenv`, that allows you to install multiple versions of Python on your development environment without destroying your system's Python. +% TODO: uncomment this line after upgrading to plone-sphinx-theme and latest Sphinx which supports replacements inside includes. +% Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE61}. + +Plone 6.0 requires Python version 3.8, 3.9, 3.10, 3.11, or 3.12. + +Plone 6.1 requires Python version 3.10, 3.11, or 3.12. diff --git a/docs/admin-guide/install-buildout.md b/docs/admin-guide/install-buildout.md index d5ef7ca5e..f3685eb7e 100644 --- a/docs/admin-guide/install-buildout.md +++ b/docs/admin-guide/install-buildout.md @@ -22,16 +22,23 @@ For other installation options, see {ref}`get-started-install-label`. (install-buildout-prerequisites)= -## Prerequisites +## Prerequisites for installation -- Python (SUPPORTED_PYTHON_VERSIONS_PLONE61) +- For Plone 6.0, Python {SUPPORTED_PYTHON_VERSIONS_PLONE60} +- For Plone 6.1, Python {SUPPORTED_PYTHON_VERSIONS_PLONE61} +- Buildout -On Debian-based Linux systems you can install Python with the following command: -```shell -sudo apt install python3.12 python3.12-dev python3.12-venv +### Python + +```{include} /_inc/_install-python-plone61.md ``` +### Buildout + +See [Getting started with Buildout](http://www.buildout.org/en/latest/getting-started.html). + + ## Installation Select a directory of your choice: From ee90925be1024cc7e9ab966adfee32ef8f223a60 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 2 Nov 2024 05:05:30 -0700 Subject: [PATCH 16/41] Update include for installing Python, to avoid repetition. Update after walk-through of process, adding missing bits and pieces. --- docs/_inc/_install-python-plone61.md | 4 --- docs/admin-guide/install-buildout.md | 46 +++++++++++++++++++--------- 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/docs/_inc/_install-python-plone61.md b/docs/_inc/_install-python-plone61.md index ce7e2c497..71ced9e9c 100644 --- a/docs/_inc/_install-python-plone61.md +++ b/docs/_inc/_install-python-plone61.md @@ -2,7 +2,3 @@ Installing Python is beyond the scope of this documentation. However, it is recommended to use a Python version manager, {term}`pyenv`, that allows you to install multiple versions of Python on your development environment without destroying your system's Python. % TODO: uncomment this line after upgrading to plone-sphinx-theme and latest Sphinx which supports replacements inside includes. % Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE61}. - -Plone 6.0 requires Python version 3.8, 3.9, 3.10, 3.11, or 3.12. - -Plone 6.1 requires Python version 3.10, 3.11, or 3.12. diff --git a/docs/admin-guide/install-buildout.md b/docs/admin-guide/install-buildout.md index f3685eb7e..d6b56ee76 100644 --- a/docs/admin-guide/install-buildout.md +++ b/docs/admin-guide/install-buildout.md @@ -14,7 +14,7 @@ myst: This chapter describes how you can install Plone using {term}`Buildout`. This is one way to install Plone with the Classic UI. -Using Buildout will be the most familiar approach for admins who have experience with Plone 3, 4, or 5. +Using Buildout will be the most familiar approach for administrators who have experience with Plone 3, 4, or 5. ```{seealso} For other installation options, see {ref}`get-started-install-label`. @@ -26,7 +26,6 @@ For other installation options, see {ref}`get-started-install-label`. - For Plone 6.0, Python {SUPPORTED_PYTHON_VERSIONS_PLONE60} - For Plone 6.1, Python {SUPPORTED_PYTHON_VERSIONS_PLONE61} -- Buildout ### Python @@ -34,31 +33,33 @@ For other installation options, see {ref}`get-started-install-label`. ```{include} /_inc/_install-python-plone61.md ``` -### Buildout - -See [Getting started with Buildout](http://www.buildout.org/en/latest/getting-started.html). - ## Installation -Select a directory of your choice: +Select a directory of your choice. ```shell -mkdir -p /opt/plone && cd /opt/plone +mkdir -p /plone && cd /plone ``` -Create a Python virtual environment: +Create a Python virtual environment. ```shell python3 -m venv . ``` -Install the minimal Python packages needed in order to run Buildout: +Install the minimal Python packages needed in order to run Buildout. ```shell bin/pip install -r https://dist.plone.org/release/6-latest/requirements.txt ``` +Install Buildout into the Python virtual environment. + +```shell +bin/pip install zc.buildout +``` + Create a `buildout.cfg` file in your directory with the following contents: ```cfg @@ -77,12 +78,15 @@ eggs = Plone ``` -Run buildout: +Run Buildout. ```shell bin/buildout ``` +This may take a few minutes. + + ## Run Plone in foreground mode Start the instance for a quick test in foreground mode: @@ -91,21 +95,33 @@ Start the instance for a quick test in foreground mode: bin/instance fg ``` -Your instance starts in foreground mode, which is only advisable for troubleshooting or for local demonstration purposes. +Your instance starts in foreground mode. +This should be used only for troubleshooting or local demonstration purposes. + +Now you can visit `http://localhost:8080` in your browser. +Select {guilabel}`Create Classic UI Plone site`. + +Enter {guilabel}`username` of `admin`, and {guilabel}`password` of `admin`. + +Fill out the form as needed, and click {guilabel}`Create Plone Site`. + +You will be redirected to your new Plone instance. + +To stop the Plone instance in foreground mode, type {kbd}`CTRL-C`. -Now you can call the url `http://localhost:8080` in your browser and you can add a **Classic UI Plone site**. ## Start Plone as a background service -Start the instance: +Start the instance. ```shell bin/instance start ``` + ## Stop Plone as a background service -Stop the instance: +Stop the instance. ```shell bin/instance stop From a9163ca0d4a3c1482f72b4a0c35312d697576b20 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sat, 2 Nov 2024 05:41:52 -0700 Subject: [PATCH 17/41] The buildout instructions install only Plone 6.0.x --- docs/admin-guide/install-buildout.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/admin-guide/install-buildout.md b/docs/admin-guide/install-buildout.md index d6b56ee76..826b6ec02 100644 --- a/docs/admin-guide/install-buildout.md +++ b/docs/admin-guide/install-buildout.md @@ -24,13 +24,14 @@ For other installation options, see {ref}`get-started-install-label`. ## Prerequisites for installation -- For Plone 6.0, Python {SUPPORTED_PYTHON_VERSIONS_PLONE60} -- For Plone 6.1, Python {SUPPORTED_PYTHON_VERSIONS_PLONE61} +- For Plone 6.0, Python {SUPPORTED_PYTHON_VERSIONS_PLONE60} +% TODO: These instructions install Plone 6.0.x. Uncomment next line and change the subsequent include when Plone 6.1 is released and "latest". +% - For Plone 6.1, Python {SUPPORTED_PYTHON_VERSIONS_PLONE61} ### Python -```{include} /_inc/_install-python-plone61.md +```{include} /_inc/_install-python-plone60.md ``` From f40a97390621167beb87979925814ff609f12000 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sat, 2 Nov 2024 10:43:00 -0700 Subject: [PATCH 18/41] Remove redundant installation of buildout --- docs/admin-guide/install-buildout.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/admin-guide/install-buildout.md b/docs/admin-guide/install-buildout.md index 826b6ec02..2089e7096 100644 --- a/docs/admin-guide/install-buildout.md +++ b/docs/admin-guide/install-buildout.md @@ -55,12 +55,6 @@ Install the minimal Python packages needed in order to run Buildout. bin/pip install -r https://dist.plone.org/release/6-latest/requirements.txt ``` -Install Buildout into the Python virtual environment. - -```shell -bin/pip install zc.buildout -``` - Create a `buildout.cfg` file in your directory with the following contents: ```cfg From 0ce3e0679b35664f5008e5e79e2dbb1f801bc54e Mon Sep 17 00:00:00 2001 From: David Glick Date: Sat, 2 Nov 2024 10:51:51 -0700 Subject: [PATCH 19/41] Recommend Plone 6.1 Python versions for core development --- docs/contributing/core/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/contributing/core/index.md b/docs/contributing/core/index.md index 5ea3833ca..b97749a44 100644 --- a/docs/contributing/core/index.md +++ b/docs/contributing/core/index.md @@ -40,7 +40,7 @@ However, the following links and sections below may be helpful. ```{include} ../../volto/contributing/install-operating-system.md ``` -- Python {SUPPORTED_PYTHON_VERSIONS_PLONE60} +- Python {SUPPORTED_PYTHON_VERSIONS_PLONE61} - {term}`GNU make` - {term}`Git` - A C compiler @@ -50,7 +50,7 @@ However, the following links and sections below may be helpful. Installing Python is beyond the scope of this documentation. However, it is recommended to use a Python version manager, {term}`pyenv` that allows you to install multiple versions of Python on your development environment without destroying your system's Python. -Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE60}. +Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE61}. ### Make From 242ba6f000a2dbe87cd38a781d402cedfbb23d57 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 01:22:10 -0800 Subject: [PATCH 20/41] Make includes for Python version more consistent and explicit --- docs/_inc/{_install-python.md => _install-python-plone60.md} | 2 +- docs/_inc/_install-python-plone61.md | 2 ++ docs/install/create-project-cookieplone.md | 2 +- docs/install/create-project.md | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) rename docs/_inc/{_install-python.md => _install-python-plone60.md} (87%) diff --git a/docs/_inc/_install-python.md b/docs/_inc/_install-python-plone60.md similarity index 87% rename from docs/_inc/_install-python.md rename to docs/_inc/_install-python-plone60.md index 29bf96a84..4ecb3f935 100644 --- a/docs/_inc/_install-python.md +++ b/docs/_inc/_install-python-plone60.md @@ -3,4 +3,4 @@ However, it is recommended to use a Python version manager, {term}`pyenv`, that % TODO: uncomment this line after upgrading to plone-sphinx-theme and latest Sphinx which supports replacements inside includes. % Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE60}. -Plone requires Python version 3.8, 3.9, 3.10, 3.11, or 3.12. +Plone 6.0 requires Python version 3.8, 3.9, 3.10, 3.11, or 3.12. diff --git a/docs/_inc/_install-python-plone61.md b/docs/_inc/_install-python-plone61.md index 71ced9e9c..9533139b3 100644 --- a/docs/_inc/_install-python-plone61.md +++ b/docs/_inc/_install-python-plone61.md @@ -2,3 +2,5 @@ Installing Python is beyond the scope of this documentation. However, it is recommended to use a Python version manager, {term}`pyenv`, that allows you to install multiple versions of Python on your development environment without destroying your system's Python. % TODO: uncomment this line after upgrading to plone-sphinx-theme and latest Sphinx which supports replacements inside includes. % Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE61}. + +Plone 6.1 requires Python version 3.10, 3.11, or 3.12. diff --git a/docs/install/create-project-cookieplone.md b/docs/install/create-project-cookieplone.md index 29237e3d0..465bfbfdc 100644 --- a/docs/install/create-project-cookieplone.md +++ b/docs/install/create-project-cookieplone.md @@ -53,7 +53,7 @@ Plone 6 has both hardware requirements and software prerequisites. #### Python -```{include} /_inc/_install-python.md +```{include} /_inc/_install-python-plone61.md ``` diff --git a/docs/install/create-project.md b/docs/install/create-project.md index e4b30d081..473311032 100644 --- a/docs/install/create-project.md +++ b/docs/install/create-project.md @@ -60,7 +60,7 @@ Plone 6 has both hardware requirements and software prerequisites. #### Python -```{include} /_inc/_install-python.md +```{include} /_inc/_install-python-plone60.md ``` From cec89fe2ff6126bdb7ec8462f14e2ab3d8533eb9 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 01:57:13 -0800 Subject: [PATCH 21/41] Use an include for creating a Classic UI instance in foreground mode --- docs/_inc/_create-classic-ui-instance.inc | 15 +++++++++ docs/admin-guide/install-buildout.md | 25 +++++--------- docs/admin-guide/install-pip.md | 40 +++++++++++++---------- docs/contributing/core/index.md | 15 ++------- 4 files changed, 48 insertions(+), 47 deletions(-) create mode 100644 docs/_inc/_create-classic-ui-instance.inc diff --git a/docs/_inc/_create-classic-ui-instance.inc b/docs/_inc/_create-classic-ui-instance.inc new file mode 100644 index 000000000..417e28cbb --- /dev/null +++ b/docs/_inc/_create-classic-ui-instance.inc @@ -0,0 +1,15 @@ + +Your instance starts in foreground mode. +This should be used only for troubleshooting or local demonstration purposes. + +Now you can visit `http://localhost:8080` in your browser. +Click the button {guilabel}`Create Classic UI Plone site`. + +Enter {guilabel}`username` of `admin`, and {guilabel}`password` of `admin`. + +Enter values in the form, and click the button {guilabel}`Create Plone Site`. + +You will be redirected to your new Classic UI Plone site. + +To stop the Plone instance in foreground mode, type {kbd}`CTRL-C`. + diff --git a/docs/admin-guide/install-buildout.md b/docs/admin-guide/install-buildout.md index 2089e7096..3e34244f9 100644 --- a/docs/admin-guide/install-buildout.md +++ b/docs/admin-guide/install-buildout.md @@ -37,10 +37,11 @@ For other installation options, see {ref}`get-started-install-label`. ## Installation -Select a directory of your choice. +Select a directory of your choice, and change it to your working directory. ```shell -mkdir -p /plone && cd /plone +mkdir -p /plone +cd /plone ``` Create a Python virtual environment. @@ -55,7 +56,7 @@ Install the minimal Python packages needed in order to run Buildout. bin/pip install -r https://dist.plone.org/release/6-latest/requirements.txt ``` -Create a `buildout.cfg` file in your directory with the following contents: +Create a {file}`buildout.cfg` file in your directory with the following contents. ```cfg [buildout] @@ -67,6 +68,7 @@ parts = [instance] recipe = plone.recipe.zope2instance +# user = username:password - Use a secure token in a production environment. user = admin:admin http-address = 8080 eggs = @@ -82,7 +84,7 @@ bin/buildout This may take a few minutes. -## Run Plone in foreground mode +## Start Plone in foreground mode Start the instance for a quick test in foreground mode: @@ -90,19 +92,8 @@ Start the instance for a quick test in foreground mode: bin/instance fg ``` -Your instance starts in foreground mode. -This should be used only for troubleshooting or local demonstration purposes. - -Now you can visit `http://localhost:8080` in your browser. -Select {guilabel}`Create Classic UI Plone site`. - -Enter {guilabel}`username` of `admin`, and {guilabel}`password` of `admin`. - -Fill out the form as needed, and click {guilabel}`Create Plone Site`. - -You will be redirected to your new Plone instance. - -To stop the Plone instance in foreground mode, type {kbd}`CTRL-C`. +```{include} /_inc/_create-classic-ui-instance.inc +``` ## Start Plone as a background service diff --git a/docs/admin-guide/install-pip.md b/docs/admin-guide/install-pip.md index 5dcb2ae4a..e6597a1d0 100644 --- a/docs/admin-guide/install-pip.md +++ b/docs/admin-guide/install-pip.md @@ -20,45 +20,51 @@ It provides a basic installation without many additional tools to help with deve For other installation options, see {ref}`get-started-install-label`. ``` -## Prerequisites +(install-pip-prerequisites)= -- Python 3.10 or greater +## Prerequisites for installation -On Debian-based systems you can install Python with following command: +- For Plone 6.0, Python {SUPPORTED_PYTHON_VERSIONS_PLONE60} +% TODO: These instructions install Plone 6.0.x. Uncomment next line and change the subsequent include when Plone 6.1 is released and "latest". +% - For Plone 6.1, Python {SUPPORTED_PYTHON_VERSIONS_PLONE61} -```shell -sudo apt install python3.12 python3.12-dev python3.12-venv + +### Python + +```{include} /_inc/_install-python-plone60.md ``` + ## Installation -Select a directory of your choice: +Select a directory of your choice, and change it to your working directory. ```shell -mkdir -p /opt/plone -cd /opt/plone +mkdir -p /plone +cd /plone ``` -Create a Python virtual environment: +Create a Python virtual environment. ```shell python3 -m venv . ``` -Install Plone and a helper package: +Install Plone and a helper package, {term}`pipx`. ```shell bin/pip install -c https://dist.plone.org/release/6.0-latest/constraints.txt Plone pipx ``` + ## Create a Zope instance -Create a file `instance.yaml` with the following contents: +Create a file {file}`instance.yaml` in your directory with the following contents. ```yaml -# please change the password to a secure token! default_context: initial_user_name: "admin" +# Use a secure token for the password in a production environment. initial_user_password: "admin" wsgi_listen: "localhost:8080" debug_mode: false @@ -69,20 +75,20 @@ default_context: } ``` -Now run the {term}`cookiecutter` tool to create configuration for a Zope instance: +Now run the {term}`cookiecutter` tool to create configuration for a Zope instance. ``` bin/pipx run cookiecutter -f --no-input --config-file instance.yaml gh:plone/cookiecutter-zope-instance ``` + ## Start Plone in foreground mode -Start the instance for a quick test: +Start the instance for a quick test. ```shell bin/runwsgi -v instance/etc/zope.ini ``` -Your instance starts in foreground mode, which is only advisable for troubleshooting or for local demonstration purposes. - -Now you can call the url `http://localhost:8080` in your browser and you can add a **Classic UI Plone site**. +```{include} /_inc/_create-classic-ui-instance.inc +``` diff --git a/docs/contributing/core/index.md b/docs/contributing/core/index.md index b97749a44..e5efe59f3 100644 --- a/docs/contributing/core/index.md +++ b/docs/contributing/core/index.md @@ -124,14 +124,8 @@ Once that's done, you can start an instance of Plone with the following command. ./bin/instance fg ``` -To visit your Plone instance, you can open the link http://0.0.0.0:8080 in a web browser. - -You will be presented with several options. -Click the button {guilabel}`Create Classic UI Plone site`. - -Enter values in the form, and click the button {guilabel}`Create Plone Site`. - -You will be redirected to your new Classic UI Plone site. +```{include} /_inc/_create-classic-ui-instance.inc +``` ```{warning} Ignore the warning about accessing the Plone backend through its Classic UI frontend. @@ -141,11 +135,6 @@ They will not work with buildout. To contribute to Volto, you will need to start over, and follow {doc}`../volto`. ``` -To login, the default credentials are the following. - -- username: `admin` -- password: `admin` - (contributing-core-work-with-git-label)= From 16285023d5bf0ef0ec297878257f9e43820bd49e Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 02:35:14 -0800 Subject: [PATCH 22/41] Update create-project.md, removing note about not documenting how to install Plone via buildout, and specifying Plone 6.0. --- docs/conf.py | 1 - docs/install/create-project.md | 24 +++++++++--------------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 8644bb392..d79793765 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -358,7 +358,6 @@ def source_replace(app, docname, source): source_replacements = { "{PLONE_BACKEND_MINOR_VERSION}": "6.0", "{PLONE_BACKEND_PATCH_VERSION}": "6.0.13", - "{NVM_VERSION}": "0.39.5", "{SUPPORTED_PYTHON_VERSIONS_PLONE60}": "3.8, 3.9, 3.10, 3.11, or 3.12", "{SUPPORTED_PYTHON_VERSIONS_PLONE61}": "3.10, 3.11, or 3.12", } diff --git a/docs/install/create-project.md b/docs/install/create-project.md index 473311032..57bf59213 100644 --- a/docs/install/create-project.md +++ b/docs/install/create-project.md @@ -10,16 +10,16 @@ myst: (create-a-project-label)= -# Install Plone with cookiecutter-plone-starter (deprecated) +# Install Plone with `cookiecutter-plone-starter` (deprecated) -This chapter describes how you can create a web application using the {term}`cookiecutter-plone-starter` template. - -```{deprecated} Plone 6.1 & Volto 18 -This way of installing Plone is now deprecated. -It was the recommended way to start a new Plone project with **Plone 6.0** and **Volto 17 or earlier**. +```{deprecated} Plone 6.1 and Volto 18 +This method to install Plone is now deprecated. +It was the recommended way to start a new Plone project with Plone 6.0 and Volto 17 or earlier. For other installation options, see {ref}`get-started-install-label`. ``` +This chapter describes how you can create a web application using the {term}`cookiecutter-plone-starter` template. + This template creates a web application using Plone with the Volto frontend, along with tools for development and deployment. @@ -27,7 +27,7 @@ This template creates a web application using Plone with the Volto frontend, alo ## System requirements -Plone 6 has both hardware requirements and software prerequisites. +Plone 6.0 has both hardware requirements and software prerequisites. (install-packages-hardware-requirements-label)= @@ -159,15 +159,9 @@ Now the instructions to install Yarn should work. (install-packages-install-label)= -## Install Plone 6 - -We install Plone 6 with {term}`pipx`, {term}`Cookiecutter`, {term}`mxdev`, {term}`make`, and other developer tools. +## Install Plone 6.0 -```{note} -We do not maintain documentation for installing Plone 6 or later with `buildout`. -For Plone 5, `buildout` was the preferred installation method. -You can read the [documentation of how to install Plone 5 with `buildout`](https://5.docs.plone.org/manage/installing/installation_minimal_buildout.html), and adapt it to your needs for Plone 6. -``` +We install Plone 6.0 with {term}`pipx`, {term}`Cookiecutter`, {term}`mxdev`, {term}`make`, and other developer tools. Create a new directory to hold your project, and make it your current directory. From b9e86b0f19fd14f1aa5537cf1867da92216c3f5e Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 02:38:33 -0800 Subject: [PATCH 23/41] Rename _create-classic-ui-instance.inc to .md --- ...e-classic-ui-instance.inc => _create-classic-ui-instance.md} | 0 docs/admin-guide/install-buildout.md | 2 +- docs/admin-guide/install-pip.md | 2 +- docs/contributing/core/index.md | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename docs/_inc/{_create-classic-ui-instance.inc => _create-classic-ui-instance.md} (100%) diff --git a/docs/_inc/_create-classic-ui-instance.inc b/docs/_inc/_create-classic-ui-instance.md similarity index 100% rename from docs/_inc/_create-classic-ui-instance.inc rename to docs/_inc/_create-classic-ui-instance.md diff --git a/docs/admin-guide/install-buildout.md b/docs/admin-guide/install-buildout.md index 3e34244f9..f0f87cc2e 100644 --- a/docs/admin-guide/install-buildout.md +++ b/docs/admin-guide/install-buildout.md @@ -92,7 +92,7 @@ Start the instance for a quick test in foreground mode: bin/instance fg ``` -```{include} /_inc/_create-classic-ui-instance.inc +```{include} /_inc/_create-classic-ui-instance.md ``` diff --git a/docs/admin-guide/install-pip.md b/docs/admin-guide/install-pip.md index e6597a1d0..62ede6906 100644 --- a/docs/admin-guide/install-pip.md +++ b/docs/admin-guide/install-pip.md @@ -90,5 +90,5 @@ Start the instance for a quick test. bin/runwsgi -v instance/etc/zope.ini ``` -```{include} /_inc/_create-classic-ui-instance.inc +```{include} /_inc/_create-classic-ui-instance.md ``` diff --git a/docs/contributing/core/index.md b/docs/contributing/core/index.md index e5efe59f3..565f405b0 100644 --- a/docs/contributing/core/index.md +++ b/docs/contributing/core/index.md @@ -124,7 +124,7 @@ Once that's done, you can start an instance of Plone with the following command. ./bin/instance fg ``` -```{include} /_inc/_create-classic-ui-instance.inc +```{include} /_inc/_create-classic-ui-instance.md ``` ```{warning} From bc07aa74b9be6a675bde31f2b1db7e66713622ed Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 02:48:08 -0800 Subject: [PATCH 24/41] Tidy up run-plone.md, removing "with "s. Make casing of `ctrl-c` consistent. --- docs/_inc/_create-classic-ui-instance.md | 2 +- docs/admin-guide/run-plone.md | 31 ++++++++++++------------ 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/docs/_inc/_create-classic-ui-instance.md b/docs/_inc/_create-classic-ui-instance.md index 417e28cbb..2c768d90e 100644 --- a/docs/_inc/_create-classic-ui-instance.md +++ b/docs/_inc/_create-classic-ui-instance.md @@ -11,5 +11,5 @@ Enter values in the form, and click the button {guilabel}`Create Plone Site`. You will be redirected to your new Classic UI Plone site. -To stop the Plone instance in foreground mode, type {kbd}`CTRL-C`. +To stop the Plone instance in foreground mode, type {kbd}`ctrl-c`. diff --git a/docs/admin-guide/run-plone.md b/docs/admin-guide/run-plone.md index 728daaee6..d90e363be 100644 --- a/docs/admin-guide/run-plone.md +++ b/docs/admin-guide/run-plone.md @@ -4,7 +4,7 @@ myst: "description": "Run Plone" "property=og:description": "Run Plone" "property=og:title": "Run Plone" - "keywords": "Plone 6, run, start, command" + "keywords": "Plone 6, run, start, command, Cookieplone, Buildout, pip, cookiecutter-plone-starter" --- (run-plone-label)= @@ -17,24 +17,25 @@ There are different commands to run Plone, depending on which method you used to ## Run Plone in foreground mode -Running Plone in foreground mode will show output in the terminal. This is recommended while developing a Plone site. +Running Plone in foreground mode will show output in the terminal. +This is recommended while developing a Plone site. -with Cookieplone: +Cookieplone: : ```shell make backend-start ``` -with Buildout: +Buildout: : ```shell bin/instance fg ``` -with pip: +pip: : ```shell bin/runwsgi instance/etc/zope.ini ``` -with `cookiecutter-plone-starter`: +`cookiecutter-plone-starter`: : ```shell make start-backend ``` @@ -44,14 +45,14 @@ For any of these commands, press {kbd}`ctrl-c` to stop the process. ## Run Volto -If you are using the Volto frontend, you need to run the frontend in a separate process. +If you use the Volto frontend, you need to run the frontend in a separate process and terminal session. -with Cookieplone: +Cookieplone: : ```shell make frontend-start ``` -with `cookiecutter-plone-starter`: +`cookiecutter-plone-starter`: : ```shell make start-frontend ``` @@ -61,14 +62,14 @@ For any of these commands, press {kbd}`ctrl-c` to stop the process. ## Start Plone as a background service -with Buildout: +Buildout: : ```shell bin/instance start ``` ## Stop Plone as a background service -with Buildout: +Buildout: : ```shell bin/instance stop ``` @@ -78,22 +79,22 @@ with Buildout: The debug console gives you a Python prompt with the Plone site's configuration loaded. Use this for troubleshooting. -with Cookieplone: +Cookieplone: : ```shell make -C backend console ``` -with Buildout: +Buildout: : ```shell bin/instance debug ``` -with pip: +pip: : ```shell bin/zconsole debug instance/etc/zope.ini ``` -with `cookiecutter-plone-starter`: +`cookiecutter-plone-starter`: : ```shell make -C backend debug ``` From 72bfeee9528c66581af7a90f225f99b6222e5af6 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 03:05:24 -0800 Subject: [PATCH 25/41] Tidy up configure-zope.md --- docs/admin-guide/configure-zope.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/admin-guide/configure-zope.md b/docs/admin-guide/configure-zope.md index 0f05786ca..e703cd211 100644 --- a/docs/admin-guide/configure-zope.md +++ b/docs/admin-guide/configure-zope.md @@ -4,7 +4,7 @@ myst: "description": "Configure Zope options" "property=og:description": "Configure Zope options" "property=og:title": "Configure Zope" - "keywords": "Plone 6, Zope, instance, app server, config, cookiecutter-zope-instance" + "keywords": "Plone 6, Zope, instance, app server, config, Cookieplone, Buildout, pip, cookiecutter-plone-starter, cookiecutter-zope-instance, plone.recipe.zope2instance" --- (configure-zope-label)= @@ -15,19 +15,21 @@ Plone runs in an application server called {term}`Zope`. You can configure your Zope instance's options, including the following. -* persistent storage: blobs, direct filestorage, relation database, ZEO, and so on -* ports -* threads -* cache -* logging -* debugging and profiling for development +- persistent storage: blobs, direct file storage, relational database, ZEO, and other storage mechanisms +- ports +- threads +- cache +- logging +- debugging and profiling for development -## with Cookieplone + +## Via Cookieplone If you installed Plone using Cookieplone, `cookiecutter-plone-starter`, or pip, then Zope is configured using {term}`cookiecutter-zope-instance`. For a complete list of features, usage, and options, read [`cookiecutter-zope-instance`'s README](https://github.com/plone/cookiecutter-zope-instance#readme). -## with Buildout + +## Via Buildout If you installed Plone using Buildout, then Zope is configured using `plone.recipe.zope2instance`. For a complete list of features, usage, and options, read [`plone.recipe.zope2instance`'s README](https://pypi.org/project/plone.recipe.zope2instance/). From 8facc740134c5e9c2b99157478e6037ec15563dc Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 03:24:59 -0800 Subject: [PATCH 26/41] Shorten headings --- docs/admin-guide/configure-zope.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/admin-guide/configure-zope.md b/docs/admin-guide/configure-zope.md index e703cd211..04b009522 100644 --- a/docs/admin-guide/configure-zope.md +++ b/docs/admin-guide/configure-zope.md @@ -23,13 +23,13 @@ You can configure your Zope instance's options, including the following. - debugging and profiling for development -## Via Cookieplone +## Cookieplone If you installed Plone using Cookieplone, `cookiecutter-plone-starter`, or pip, then Zope is configured using {term}`cookiecutter-zope-instance`. For a complete list of features, usage, and options, read [`cookiecutter-zope-instance`'s README](https://github.com/plone/cookiecutter-zope-instance#readme). -## Via Buildout +## Buildout If you installed Plone using Buildout, then Zope is configured using `plone.recipe.zope2instance`. For a complete list of features, usage, and options, read [`plone.recipe.zope2instance`'s README](https://pypi.org/project/plone.recipe.zope2instance/). From 7f7ba8c51d0435f527b69f767933231f2b8e6524 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 03:40:06 -0800 Subject: [PATCH 27/41] Tidy up add-ons.md --- docs/admin-guide/add-ons.md | 80 +++++++++++++++++++++++-------------- 1 file changed, 51 insertions(+), 29 deletions(-) diff --git a/docs/admin-guide/add-ons.md b/docs/admin-guide/add-ons.md index c6c8e6fb3..e8b631e61 100644 --- a/docs/admin-guide/add-ons.md +++ b/docs/admin-guide/add-ons.md @@ -1,29 +1,33 @@ --- myst: html_meta: - "description": "Install Plone Add-ons" - "property=og:description": "Install Plone Add-ons" - "property=og:title": "Install Plone Add-ons" - "keywords": "Plone 6, addon, add-on, package, plugin, extension, install" + "description": "Install Plone add-ons" + "property=og:description": "Install Plone add-ons" + "property=og:title": "Install Plone add-ons" + "keywords": "Plone 6, add-on, package, plugin, extension, install" --- -(install-plone-addons-label)= +(install-plone-add-ons-label)= -# Install Plone Add-ons +# Install Plone add-ons -This chapter explains how to install {term}`add-ons ` as Python packages to extend the functionality of the Plone backend or Classic UI. +This chapter explains how to install {term}`add-ons ` as Python packages to extend the functionality of the Plone backend or Classic UI. ```{note} -The Volto frontend has its own system of add-ons using Node.js packages. See {doc}`/volto/addons/index`. +The Volto frontend has its own system of add-ons using Node.js packages. +% TODO: update the following link after https://github.com/plone/volto/pull/6397 is merged to point to `/development/add-ons/index`. +See {doc}`/volto/addons/index`. ``` -## with Cookieplone -Use the following instructions if you installed Plone with Cookieplone or `cookiecutter-plone-starter`. +## Cookieplone + +Use the following instructions if you installed Plone with either Cookieplone or `cookiecutter-plone-starter`. + ### Install an add-on -Add a line with the name of your add-on in `backend/requirements.txt`. +Add a line with the name of your add-on in the file {file}`backend/requirements.txt`. This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/). ``` @@ -31,10 +35,10 @@ collective.easyform==4.2.1 ``` ```{tip} -Including the add-on version ensures that it won't accidentally get upgraded in the future. +Including the add-on version, or "pinning a version", ensures that it won't unintentionally get upgraded in the future. ``` -Also add the add-on to `zcml_package_includes` in {file}`backend/instance.yaml` to make sure its configuration will be loaded: +Also add the add-on to `zcml_package_includes` in the file {file}`backend/instance.yaml` to make sure its configuration will be loaded. ```yaml default_context: @@ -43,19 +47,23 @@ default_context: Stop the backend with {kbd}`ctrl-c`. -To actually download and install the new add-on, run: +To actually download and install the new add-on, run the following command. ```shell make backend-build ``` ```{note} -If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead.` +If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead. ``` Now restart the backend. -In your web browser, and assuming you are currently logged in as `admin`, visit the URL http://localhost:8080/Plone/prefs_install_products_form. +```{seealso} +{doc}`run-plone` +``` + +In your web browser, and assuming you are currently logged in as an administrator, visit the URL http://localhost:8080/Plone/prefs_install_products_form. Then click the {guilabel}`Install` button next to your add-on to complete installation of the add-on. @@ -68,7 +76,7 @@ At the bottom of the page, you should see the heading {guilabel}`Add-on Configur An add-on can be installed from a source control system such as GitHub. -Add a line with the name of your add-on in `backend/requirements.txt`. +Add a line with the name of your add-on in the file {file}`backend/requirements.txt`. This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/). ``` @@ -76,17 +84,18 @@ collective.easyform ``` ```{note} -When installing an add-on from source, it's best to not pin a version, to make sure we use the version that's currently available in the source control system. +When installing an add-on from source, it's best not to pin a version. +This way you always get the version that's currently available in the source control system. ``` -Also add the add-on to `zcml_package_includes` in {file}`backend/instance.yaml` to make sure its configuration will be loaded: +Next add the add-on to `zcml_package_includes` in the file {file}`backend/instance.yaml` so that its configuration will load. ```yaml default_context: zcml_package_includes: project_title, collective.easyform ``` -Finally, add the package's source to {file}`mx.ini`: +Finally, add the package's source to the file {file}`mx.ini`. ```cfg [collective.easyform] @@ -102,19 +111,23 @@ See the [documentation of `mxdev` in its README.md](https://github.com/mxstack/m Stop the backend with {kbd}`ctrl-c`. -To actually download and install the new add-on, run: +To actually download and install the new add-on, run the following command. ```shell make backend-build ``` ```{note} -If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead.` +If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead. ``` Now restart the backend. -In your web browser, and assuming you are currently logged in as `admin`, visit the URL http://localhost:8080/Plone/prefs_install_products_form. +```{seealso} +{doc}`run-plone` +``` + +In your web browser, and assuming you are currently logged in as an administrator, visit the URL http://localhost:8080/Plone/prefs_install_products_form. An upgrade step might need to be performed in the Plone control panel. Follow the upgrade information, if present. Else click the {guilabel}`Install` button to complete installation of the add-on. @@ -126,7 +139,7 @@ Use the following instructions if you installed Plone with Buildout. ### Install an add-on -Update {file}`buildout.cfg`. +Update the file {file}`buildout.cfg`. This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/). ```cfg @@ -150,10 +163,10 @@ collective.easyform = 4.2.1 ``` ```{tip} -Including the add-on version ensures that it won't accidentally get upgraded in the future. +Including the add-on version, or "pinning a version", ensures that it won't unintentionally get upgraded in the future. ``` -To actually download and install the new add-on, run: +To actually download and install the new add-on, run the following command. ```shell bin/buildout @@ -161,11 +174,16 @@ bin/buildout Then restart your instance. +```{seealso} +{doc}`run-plone` +``` + + ### Install an add-on from source -An add-on can be installed from a source control system such as GitHub. +You can install an add-on from a source control system such as GitHub. -Update {file}`buildout.cfg`. +Update the file {file}`buildout.cfg`. This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/). ```cfg @@ -191,7 +209,7 @@ eggs = collective.easyform = git https://github.com/collective/collective.easyform.git ``` -To actually download and install the new add-on, run: +To actually download and install the new add-on, run the following command. ```shell bin/buildout @@ -199,6 +217,10 @@ bin/buildout Then restart your instance. +```{seealso} +{doc}`run-plone` +``` + ```{seealso} This approach uses the [`mr.developer`](https://pypi.org/project/mr.developer/) Buildout extension. ``` From d8900d0a22f46465bbfa8e21165b721ca7f55cad Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 03:58:06 -0800 Subject: [PATCH 28/41] Tidy up override-core.md --- docs/admin-guide/override-core.md | 49 +++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/docs/admin-guide/override-core.md b/docs/admin-guide/override-core.md index 38f80abd4..0723576be 100644 --- a/docs/admin-guide/override-core.md +++ b/docs/admin-guide/override-core.md @@ -4,24 +4,25 @@ myst: "description": "Override core Plone packages" "property=og:description": "Override core Plone packages" "property=og:title": "Override core Plone packages" - "keywords": "Plone 6, core, package, version, override" + "keywords": "Plone 6, core, package, version, override, Cookieplone, cookiecutter-plone-starter, Buildout" --- (override-core-plone-packages-label)= # Override core Plone packages -Plone includes a lot of Python packages. -Sometimes it is necessary to override one or more package versions in order to fix a bug. +Plone includes a few hundred Python packages. +Sometimes you will need to override one or more package versions to fix a bug. -## with Cookieplone +## Cookieplone Use the following instructions if you installed Plone with Cookieplone or `cookiecutter-plone-starter`. + ### Override a core Plone package -Add a version override to {file}`mx.ini`. +Add a version override to the file {file}`mx.ini`. This example uses `plone.api`. ``` @@ -37,24 +38,28 @@ For an explanation of why Plone uses `mxdev`, see {ref}`manage-backend-python-pa Stop the backend with {kbd}`ctrl-c`. -To actually download and install the new package version, run: +To actually download and install the new package version, run the following command. ```shell make backend-build ``` ```{note} -If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead.` +If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead. ``` Now restart the backend. +```{seealso} +{doc}`run-plone` +``` + ### Install a core Plone package from source -`mxdev` can also be used to install core Plone packages from a source control system such as GitHub. +You can also use `mxdev` to install core Plone packages from a source control system such as GitHub. -Add the Plone package you want to check out in {file}`mx.ini`. +Add the Plone package you want to check out in the file {file}`mx.ini`. This example uses `plone.restapi`. ```cfg @@ -66,7 +71,7 @@ extras = test Stop the backend with {kbd}`ctrl-c`. -To actually download and install the new package version, run: +To actually download and install the new package version, run the following command. ```shell make backend-build @@ -78,14 +83,18 @@ If you installed Plone using `cookiecutter-plone-starter`, run `make build-backe Now restart the backend. +```{seealso} +{doc}`run-plone` +``` + -## with Buildout +## Buildout Use the following instructions if you installed Plone with Buildout. ### Override a core Plone package -Update {file}`buildout.cfg`. +Update the file {file}`buildout.cfg`. This example uses `plone.api`. ```cfg @@ -111,7 +120,7 @@ plone.api = 2.0.0a3 The version pins specified in the `[versions]` section will take precedence over the pins inherited from `https://dist.plone.org/release/6-latest/versions.cfg`. ``` -To actually download and install the new package version, run: +To actually download and install the new package version, run the following command. ```shell bin/buildout @@ -119,12 +128,16 @@ bin/buildout Then restart your instance. +```{seealso} +{doc}`run-plone` +``` + ### Install a core Plone package from source A core Plone package can be installed from a source control system such as GitHub. -Update {file}`buildout.cfg`. +Update the file {file}`buildout.cfg`. This example uses `plone.restapi`. ```cfg @@ -156,12 +169,18 @@ plone.restapi = Setting an empty version ensures that the copy of `plone.restapi` from source control will be used, instead of the version pin inherited from https://dist.plone.org/release/6-latest/versions.cfg. ``` -To actually download and install the new add-on, run: +To actually download and install the new add-on, run the following command. ```shell bin/buildout ``` +Then restart your instance. + +```{seealso} +{doc}`run-plone` +``` + ```{seealso} This approach uses the [`mr.developer`](https://pypi.org/project/mr.developer/) Buildout extension. ``` From e2f617cca90690cef22980b51a16cb105a5873ff Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 04:06:34 -0800 Subject: [PATCH 29/41] Change passive to active voice --- docs/install/containers/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/containers/index.md b/docs/install/containers/index.md index 6c925d4a9..0d75813d8 100644 --- a/docs/install/containers/index.md +++ b/docs/install/containers/index.md @@ -14,7 +14,7 @@ myst: The Plone 6 images have all the system requirements, prerequisites, and Plone 6 already installed, except those requirements needed for running the container engine itself. Using containers is the easiest way to deploy Plone 6. -Containers may also be used when {doc}`creating a Plone project `. +You may also use containers when {doc}`creating a Plone project `. The Plone 6 container images are compliant with the [Open Container Initiative (OCI)](https://opencontainers.org/). They should work with any OCI-compliant container engine for developing, managing, and running Plone 6 images. From 0675809af3218b72cb43e1479b9834943734010b Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Sun, 3 Nov 2024 04:24:09 -0800 Subject: [PATCH 30/41] Tidy up docs/install/index.md by reformatting Try a Plone demo section, improving parity between Volto and Classic UI as frontends in Plone 6, and adding mention of PloneConf. --- docs/install/index.md | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/docs/install/index.md b/docs/install/index.md index 84c4707db..890ae545e 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -4,7 +4,7 @@ myst: "description": "Get started with Plone 6" "property=og:description": "Get started with Plone 6" "property=og:title": "Get started" - "keywords": "Plone 6, install, overview" + "keywords": "Plone 6, install" --- (get-started-label)= @@ -24,30 +24,41 @@ This part of the documentation helps you find the best way to get started with P Choose a version to demo. -- [Plone 6 with Volto frontend](https://demo.plone.org/) -- [Plone 6 with Classic UI](https://classic.demo.plone.org/login?came_from=/en) +https://volto.demo.plone.org/ +: Plone 6 with Volto frontend + +https://demo.plone.org/ +: Plone 6 with Volto frontend and some add-ons, including Volto Light Theme, with content that demonstrates all the content types of Plone and blocks in Volto + +[https://classic.demo.plone.org/](https://classic.demo.plone.org/login?came_from=/en) +: Plone 6 with Classic UI frontend (get-started-install-label)= ## Install Plone -First, choose a Plone frontend. [TODO: add link to explanation of how to choose] -(If you are following a [Plone training](https://training.plone.org/), it should specify which option to choose.) +First, choose a Plone user interface, or frontend. + +```{TODO} +Add link to explanation of how to choose a frontend. +``` + +If you are following a [Plone training](https://training.plone.org/), it should specify which option to choose. {doc}`create-project-cookieplone` : This is the recommended way to install Plone for a new project with the Volto frontend. {doc}`/admin-guide/install-buildout` -: This is one way to install Plone with the Classic UI. +: This is one way to install Plone with the Classic UI frontend. Using Buildout will be the most familiar way for admins who have experience with Plone 3, 4, or 5. {doc}`/admin-guide/install-pip` -: This is one way to install Plone with the Classic UI. +: This is one way to install Plone with the Classic UI frontend. It provides a basic installation without many additional tools to help with development. {doc}`create-project` -: This was the recommended way to install Plone 6.0 for a new project with the Volto frontend. +: Installing Plone 6.0 with `cookiecutter-plone-starter` was the recommended way to install for a new project with the Volto frontend, but it is now deprecated in Plone 6.1. {doc}`Install Plone as a contributor ` : This option is for developers who want to contribute to Plone and its packages. @@ -60,6 +71,7 @@ First, choose a Plone frontend. [TODO: add link to explanation of how to choose] The {doc}`/conceptual-guides/index` explain concepts to help you understand Plone. The community has created a set of [Plone trainings](https://training.plone.org/) which are hosted separately from the documentation. +Plone trainings take place at every annual Plone Conference. (get-started-contribute-label)= @@ -67,6 +79,3 @@ The community has created a set of [Plone trainings](https://training.plone.org/ ## Contribute to Plone See the {doc}`Contributor Guide ` to learn how to participate in the Plone community and contribute to our open source software. - - -(install-index-getting-started-label)= From c4954cf23fbe9c9476648962d625bc9a08485f66 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sun, 3 Nov 2024 14:23:37 -0800 Subject: [PATCH 31/41] Use include for Python section of docs setup --- docs/contributing/documentation/setup-build.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/contributing/documentation/setup-build.md b/docs/contributing/documentation/setup-build.md index eb9452579..d6d663426 100644 --- a/docs/contributing/documentation/setup-build.md +++ b/docs/contributing/documentation/setup-build.md @@ -31,10 +31,8 @@ Installation of Plone 6 Documentation includes prerequisites and the repository ### Python -Installing Python is beyond the scope of this documentation. -However, it is recommended to use a Python version manager, {term}`pyenv` that allows you to install multiple versions of Python on your development environment without destroying your system's Python. -Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE60}. - +```{include} /_inc/_install-python-plone60.md +``` (setup-build-installation-gnu-make-label)= From 52e2cd948567e6b8d6ddf2cdeac6a53a18818d47 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sun, 3 Nov 2024 14:27:00 -0800 Subject: [PATCH 32/41] Use a myst-parser comment for TODO in /install/index.md --- docs/install/index.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/install/index.md b/docs/install/index.md index 890ae545e..c82a8db06 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -39,10 +39,7 @@ https://demo.plone.org/ ## Install Plone First, choose a Plone user interface, or frontend. - -```{TODO} -Add link to explanation of how to choose a frontend. -``` +% TODO: once https://github.com/plone/documentation/pull/1749 is merged, link to it If you are following a [Plone training](https://training.plone.org/), it should specify which option to choose. From 97301306ed78484f3ddbf242c4e25ddb9f96e7e1 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Mon, 4 Nov 2024 02:11:44 -0800 Subject: [PATCH 33/41] Minor tweaks to glossary.md, with a cross-reference from element to blocks. --- docs/glossary.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index f1200cb14..5dce1384a 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -172,7 +172,7 @@ blocks Blocks are the fundamental components of a page layout in {term}`Volto`. element - Elements are the dynamic components of your blocks. + Elements are the dynamic components of your {term}`blocks`. They can be input fields, buttons, or computed HTML. They can also return JSON if you call them from a JavaScript app. @@ -419,7 +419,7 @@ Traefik Proxy Volto [Volto](https://github.com/plone/volto) is a React-based frontend for Plone. - It is one of two supported user interfaces for Plone 6. + It is one of two supported user interfaces, or frontends, for Plone 6. ````{seealso} {doc}`/conceptual-guides/choose-user-interface` @@ -427,7 +427,7 @@ Volto Classic UI Classic UI is a frontend for Plone 6 that is based on {term}`ZPT` and {term}`Mockup`. - It is one of two supported user interfaces for Plone 6. + It is one of two supported user interfaces, or frontends, for Plone 6. ````{seealso} {doc}`/conceptual-guides/choose-user-interface` @@ -803,6 +803,6 @@ reference implementation The reference implementation often accompanies a technical standard, and demonstrates what should be considered the "correct" behavior of any other implementation of it. portlets - Portlets are widgets that can be inserted in predefined locations in {term}`Classic UI`. + Portlets are widgets that can be inserted in predefined locations in pages in {term}`Classic UI`. Portlets are most commonly used to add sidebars to the left or right of the main page content. ``` From d241fe5bd6dcf2779bd1aa689136f9ce78d0480b Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Mon, 4 Nov 2024 02:17:32 -0800 Subject: [PATCH 34/41] Rephrase the first sentence. --- docs/install/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/install/index.md b/docs/install/index.md index 9022c883b..b9729b834 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -19,9 +19,10 @@ You can also {ref}`try a Plone demo `. ## Get started -First, read {doc}`/conceptual-guides/choose-user-interface` to choose between Volto and Classic UI. +First choose a user interface for your Plone project. +You can read {doc}`/conceptual-guides/choose-user-interface` to help inform your choice between Volto and Classic UI. -Then, choose one of the following install methods. +Then choose one of the following installation methods. If you are following a [Plone training](https://training.plone.org/), it should specify which option to choose. {doc}`create-project` From 033e16039918857c0c2223dd8dd84a571d0fedc4 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Mon, 4 Nov 2024 02:19:39 -0800 Subject: [PATCH 35/41] Polish up classic-ui/index.md --- docs/classic-ui/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/classic-ui/index.md b/docs/classic-ui/index.md index dfc6949ce..b42ccd08e 100644 --- a/docs/classic-ui/index.md +++ b/docs/classic-ui/index.md @@ -11,10 +11,11 @@ myst: # Classic UI -This chapter is a developer reference manual for working with Classic UI. +This chapter is a developer reference manual for working with {term}`Classic UI`. ```{seealso} -Plone has two user interfaces, Volto and Classic UI. To understand the difference, see {doc}`/conceptual-guides/choose-user-interface`. +Plone has two user interfaces, Volto and Classic UI. +To understand their differences, see {doc}`/conceptual-guides/choose-user-interface`. ``` ```{toctree} From 7b6505195288616cefa8bcd3e9d7a8f7dc331012 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Mon, 4 Nov 2024 03:00:59 -0800 Subject: [PATCH 36/41] Added some spit and polish around the excellent content that we have needed for over two years. Thank you, and amen, @davisagli! - Add note about migration between UIs. - Explain purpose of this document. - Switch MyST markup from colon to backtick to support colon-based options. - Eliminated spacing around and between the two columns. - Set breakpoints to display columns side-by-side on only widest displays, else it gets smooshed up into an illegible mess. - Added a target to make the images clickable so they can be viewed in all their glory. - Update Glossary with missing terms and add references. --- .../choose-user-interface.md | 67 ++++++++++--------- docs/glossary.md | 16 +++-- 2 files changed, 47 insertions(+), 36 deletions(-) diff --git a/docs/conceptual-guides/choose-user-interface.md b/docs/conceptual-guides/choose-user-interface.md index 9c9fe38cf..d06b2e855 100644 --- a/docs/conceptual-guides/choose-user-interface.md +++ b/docs/conceptual-guides/choose-user-interface.md @@ -1,62 +1,67 @@ --- myst: html_meta: - "description": "Explanation of how to choose between Plone's user interfaces, Volto and Classic UI" - "property=og:description": "Explanation of how to choose between Plone's user interfaces, Volto and Classic UI" + "description": "Explanation of how to choose between Plone's two user interfaces, Volto and Classic UI" + "property=og:description": "Explanation of how to choose between Plone's two user interfaces, Volto and Classic UI" "property=og:title": "Choose a user interface" - "keywords": "Plone 6, Conceptual guides, UI, frontend, Volto, Classic UI, distribution" + "keywords": "Plone 6, Conceptual guides, UI, user interface, frontend, Volto, Classic UI, distribution" --- # Choose a user interface -Plone 6 offers two different user interfaces: Volto and Classic UI. +This guide explains the differences between Plone's two user interfaces, Volto and Classic UI, to help inform you to choose one when developing your new project in Plone, or whether to migrate from Classic UI to Volto. +There is no migration path available from Volto to Classic UI. The choice of user interface has implications for editors, admins, and developers. -::::{grid} 2 -:::{grid-item-card} Volto +`````{grid} 1 1 1 2 +:gutter: 1 +:margin: 0 +:padding: 0 +````{grid-item-card} Volto ```{image} /_static/volto-ui.png -:alt: Plone homepage in Volto +:alt: Plone home page in Volto +:target: /_static/volto-ui.png ``` For editors and other end users: -* The user interface is a fast, modern single-page web application. -* Editors create a page by arranging blocks of different types into a layout. -* There is not a comprehensive User Manual yet. +- The user interface is a fast, modern, single-page web application. +- Editors create a page by arranging {term}`blocks` of different types into a layout. +- There is not a comprehensive {doc}`/volto/user-manual/index` yet, and only a few pages exist. For developers and integrators: -* The frontend is a {term}`React`-based application written in JavaScript and TypeScript. -* The backend is a Python process which provides a REST API for the frontend. -* Python skills are not required, but can be helpful for extending the backend. -* Content is stored as structured JSON. -* Customization of themes is well-documented and relatively easy for developers who have experience with React. +- The frontend is a {term}`React`-based application written in JavaScript and TypeScript. +- The backend is a Python process which provides a {term}`REST API` for the frontend. +- Python skills are not required, but can be helpful for extending the backend. +- Content is stored as structured JSON. +- Customization of themes is well-documented and relatively easy for developers who have experience with React. +```` -::: -:::{grid-item-card} Classic UI - +````{grid-item-card} Classic UI ```{image} /_static/classic-ui.png -:alt: Plone homepage in Classic UI +:alt: Plone home page in Classic UI +:target: /_static/classic-ui.png ``` For editors and other end users: -* The user interface is similar to Plone 5. -* Editors create a page using a WYSIWYG editor (TinyMCE). -* Additional widgets can be added to predefined locations, using {term}`portlets`. -* There is a comprehensive User Manual for Plone 5, but it has not been updated for Plone 6. +- The user interface is similar to Plone 5. +- Editors create a page using a {term}`WYSIWYG` editor, {term}`TinyMCE`. +- Additional widgets can be added to predefined locations, using {term}`portlets`. +- There is a comprehensive [User Manual for Plone 5](https://5.docs.plone.org/working-with-content/index.html), but it has not been updated for Plone 6. For developers and integrators: -* The frontend and backend run in a single Python process, so hosting is a bit simpler. -* The frontend is implemented as server-side templates using the {term}`ZPT` language. -* Interactive functionality is implemented in JavaScript using {term}`Mockup`. -* The visual design is based on the {term}`Barceloneta` theme from Plone 5, but updated to use Bootstrap 5. -* Content is stored as HTML. -* Customization of themes is not well-documented. +- The frontend and backend run in a single Python process, so hosting is a bit simpler. +- The frontend is implemented as server-side templates using the {term}`ZPT` language. +- Interactive functionality is implemented in JavaScript using {term}`Mockup`. +- The visual design is based on the {term}`Barceloneta` theme from Plone 5, but updated to use Bootstrap 5. +- Content is stored as HTML. +- Customization of themes is not well-documented. -::: -:::: +```` +````` diff --git a/docs/glossary.md b/docs/glossary.md index 5dce1384a..bdf58b60b 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -104,9 +104,9 @@ pm2 [PM2](https://pm2.keymetrics.io/) is a daemon process manager. REST API - ```{todo} - REST API in general. REST API of Plone. - ``` + A REST API (also called a RESTful API or RESTful web API) is an application programming interface (API) that conforms to the design principles of the representational state transfer (REST) architectural style. + REST APIs provide a flexible, lightweight way to integrate applications and to connect components in microservices architectures. + Plone uses [`plone.restapi`](https://github.com/plone/plone.restapi/) for its REST API. S3 [Amazon Web Services S3](https://aws.amazon.com/s3/). @@ -445,11 +445,17 @@ Patternslib Accessibility, SEO, and well-structured HTML are core values of Patterns. Slate - [Slate.js](https://docs.slatejs.org/) is a highly customizable platform for creating rich-text editors, also known as `WYSIWYG` editors. + [Slate.js](https://docs.slatejs.org/) is a highly customizable platform for creating rich-text editors, also known as {term}`WYSIWYG` editors. It enables you to create powerful, intuitive editors similar to those you've probably used in Medium, Dropbox Paper, or Google Docs. `volto-slate` - `volto-slate` is an interactive default text editor for Volto, developed on top of {term}`Slate`, offering enhanced WYSIWYG functionality and behavior. + `volto-slate` is an interactive default text editor for Volto, developed on top of {term}`Slate`, offering enhanced {term}`WYSIWYG` functionality and behavior. + +WYSIWYG + WYSIWYG is an acronym for "what you see is what you get", referring to software that allows content to be edited in a form that resembles its appearance when printed or displayed as a finished product. + +TinyMCE + The rich text {term}`WYSIWYG` editor used in {term}`Classic UI`. elementEditor A generic {term}`volto-slate` plugin architecture that can be used to create other editor interactions that follow the pattern of having a button that toggles a format (an inline element). From 6130a994d4850c21d149683d44fbdb4daf04ee70 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Mon, 4 Nov 2024 03:01:34 -0800 Subject: [PATCH 37/41] One too many spaces on the indent --- docs/glossary.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index bdf58b60b..618398f6e 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -104,9 +104,9 @@ pm2 [PM2](https://pm2.keymetrics.io/) is a daemon process manager. REST API - A REST API (also called a RESTful API or RESTful web API) is an application programming interface (API) that conforms to the design principles of the representational state transfer (REST) architectural style. - REST APIs provide a flexible, lightweight way to integrate applications and to connect components in microservices architectures. - Plone uses [`plone.restapi`](https://github.com/plone/plone.restapi/) for its REST API. + A REST API (also called a RESTful API or RESTful web API) is an application programming interface (API) that conforms to the design principles of the representational state transfer (REST) architectural style. + REST APIs provide a flexible, lightweight way to integrate applications and to connect components in microservices architectures. + Plone uses [`plone.restapi`](https://github.com/plone/plone.restapi/) for its REST API. S3 [Amazon Web Services S3](https://aws.amazon.com/s3/). From cf0b656dadca6941b0aad78b382c8d30bfadfaf0 Mon Sep 17 00:00:00 2001 From: David Glick Date: Mon, 4 Nov 2024 15:50:20 -0800 Subject: [PATCH 38/41] fix merge --- docs/install/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/install/index.md b/docs/install/index.md index f4e2f8369..f3218e913 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -41,6 +41,7 @@ https://demo.plone.org/ First, choose a Plone user interface, or frontend. You can read {doc}`/conceptual-guides/choose-user-interface` to help inform your choice between Volto and Classic UI. +Then choose one of the following installation methods. If you are following a [Plone training](https://training.plone.org/), it should specify which option to choose. {doc}`create-project-cookieplone` From 8f2cec82100d47d9c9b50bddc1b437d2be4ee9f5 Mon Sep 17 00:00:00 2001 From: David Glick Date: Mon, 4 Nov 2024 15:58:17 -0800 Subject: [PATCH 39/41] Clarify the distinction in layout capabilities --- docs/conceptual-guides/choose-user-interface.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/conceptual-guides/choose-user-interface.md b/docs/conceptual-guides/choose-user-interface.md index d06b2e855..084fef5cb 100644 --- a/docs/conceptual-guides/choose-user-interface.md +++ b/docs/conceptual-guides/choose-user-interface.md @@ -28,7 +28,7 @@ The choice of user interface has implications for editors, admins, and developer For editors and other end users: - The user interface is a fast, modern, single-page web application. -- Editors create a page by arranging {term}`blocks` of different types into a layout. +- Editors can create sophisticated page layouts by arranging {term}`blocks` of different types. - There is not a comprehensive {doc}`/volto/user-manual/index` yet, and only a few pages exist. For developers and integrators: @@ -51,7 +51,7 @@ For editors and other end users: - The user interface is similar to Plone 5. - Editors create a page using a {term}`WYSIWYG` editor, {term}`TinyMCE`. -- Additional widgets can be added to predefined locations, using {term}`portlets`. +- Additional widgets can be added to predefined locations, using {term}`portlets`. More sophisticated page layout requires the use of add-ons. - There is a comprehensive [User Manual for Plone 5](https://5.docs.plone.org/working-with-content/index.html), but it has not been updated for Plone 6. For developers and integrators: From 71eaab9b8b20435ca01556319aa4321f90be2f15 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Mon, 4 Nov 2024 17:29:14 -0800 Subject: [PATCH 40/41] Update docs/conceptual-guides/choose-user-interface.md --- docs/conceptual-guides/choose-user-interface.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/conceptual-guides/choose-user-interface.md b/docs/conceptual-guides/choose-user-interface.md index 084fef5cb..3a99f2b31 100644 --- a/docs/conceptual-guides/choose-user-interface.md +++ b/docs/conceptual-guides/choose-user-interface.md @@ -51,7 +51,8 @@ For editors and other end users: - The user interface is similar to Plone 5. - Editors create a page using a {term}`WYSIWYG` editor, {term}`TinyMCE`. -- Additional widgets can be added to predefined locations, using {term}`portlets`. More sophisticated page layout requires the use of add-ons. +- Additional widgets can be added to predefined locations, using {term}`portlets`. + More sophisticated page layout requires the use of add-ons. - There is a comprehensive [User Manual for Plone 5](https://5.docs.plone.org/working-with-content/index.html), but it has not been updated for Plone 6. For developers and integrators: From c80bab5be285bb7da9d31b95587d201c187e4f66 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Mon, 4 Nov 2024 20:44:53 -0800 Subject: [PATCH 41/41] Update tip submodules/volto --- submodules/volto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/volto b/submodules/volto index 278ca6c38..ac52b6bc7 160000 --- a/submodules/volto +++ b/submodules/volto @@ -1 +1 @@ -Subproject commit 278ca6c387ba60f98849a76dea2233113abda5ba +Subproject commit ac52b6bc748d75e81ace38b8007bc2ed1a32d92a

4;c*I%>| zJym^k>F1vuO`mYBUb9eQ(AC!MuA;A5G)ERCX?=UlAfsuS?gep9dQ_HHm0j6h+d`US zI=`|4gja;F!$*D~jC?AsO>yfL^&dCT@;ty#BbAl{2KWP^5r~{mv0rLjz#8FIZlY*l z{w+Bhx1O9R@6P#4e}PtuNa_16F18T55HaS_uBvs3SBTI5TQT zZ*|1 z1r3rOc=cwT2>FOErCE+N{c`M!08w}GWDy}1^ScSl2cHI{u0VDkg*P?)w7YEw&9Yp3 z{J742{W&f6kd{n(LhN9DO2L0>HzK9PFiLLU!Y#-z7mvGzoNazH8MIL8(54`080|Z1 z!uRrI`85wTkbpzClO-x&n%ge2>s9ecgCYE!eGmVXX(HGz8t-leTjBP%C`)Etj^DN= z9w9|eyAs-6JPVxkF95HW@|Yvag&1TA==9SkLr#QBb!^OTZp`zC8FttxvNbCGjD{zg z=_lTy^;Vr5Vz~UMC`gbD#ub*9Rdz-+5wMmN*WDm0n%AJID+^r1AtQi}a2J z^jiG1L~fm7Dy}S=<;)<&>z8&02>#r2)QRvBZRYQ_+zI+t7*sl@bh`i1t?m5TFp<)% zYoz#Eg>8EDG-0{mNQUdvL)ra>T&*LS?ZvUSz%*Qa(d;86!F0>vp7N_l^(&=}x1fi? z1qP4)6yic$&urnlTu_5%Y;+MEwVSPCCqI9vByHR?CKw+Wj;~b(XGDkee*BDzX3Mb2 zK4bu1X=s^~n(K1AogvKkl)KnPq(_xxAEBdzMT8@&Wm%ReQ(o-AHyL^6r{;MWv$OEvf11l7i&M@ zYK%soOP&3Gi4@S0o1gYPfypF4j^WDmx0jV`ntX4(8ViIQw7+5OeR!oMam+ICVFKSR zqMyo+v%+`AYmf_U{`=ifPIQ!X&x64qIo7~~%N}x;Xgl2>k#^_uC;&<6*^=cTRH=S~ zWDpU8{u%)-$dM-o<`c>V-%>_B_#jm#uXUFy4QAk%0u@zqj^F;R|N# zpQ8>IbTKn~Drcf+s`Wn%AruRi?slFcRH9>+;O84Fstu3#y=>b3CJM&8U?31{6h!RJ z__ueb2vReyjO1z*W_|sD!Q5IJ#QXZbH%rCoJE=r0@e$^i2sInnKm_L(h~boMR#iwiQ9xddZ6(*j^pUq`o}ARH?l&jz}90M2v?lYXtnoswax^7{Gf zN8K4xAASJgQeBGs-yGC&Kk|#(-HQEZm{_8BH8@kT4a5FY(w8gZSRo7Vt+1PSo?Atp zl{%Di>7N$EMQF5v$X$~Y+hNlc1M&)j=m4d`7ScX4KzhP4@>9DXVOTP}Zq|a+A`}S;D~28T2f5k5MV*wu6ym zX_I^1V6$1>r%_X`Z7JtXT!`E5+@~8omoN8>s>jq!xnw%Tr;3;{FCj)>y?)xfHPim7 zkD_Ku*7sst-8RkIQ6J;;UxF$uP&Bu<(DB7{e|sFqbC@slI);Xg)gtqx>rKz} zEO@Rud0lduKA5~V-wQ6;HxjoOi4|pp?!53X+bge&aF$zvY~Bd-^!BGymr8-?nA9wk<*ef5`4pm|d4D)_Zj3-C5uz zXTu}eBcw8$@qxt=myr=tQcCe;np!)Q%XeJaDsAAUkbLU8d&{-clU+nuUOxp$b)7+; z5?&~q#RK8Vr6iBO472`Px_^8ak*Ecz#*0{PIr)OX0F8vG2nB>b4A|eSYY*N=pkK=! ztd0n}R-q_#5-Y9@Ws?Al<=@}PAgQRCrKkD0BITkzls#c4y`hJ&Hsn0p*rA0A8oM4b zdgfgr9^r8+!ZU=g8`Xo;JxOHe^k!1!3!MNF=X_h9E3?0W0M;NnSuWXmeU@K^cHVEM z!2nh;pkJ;No6!(wk^Xkt9wtx_WS{^%A>wyYXn^UDB}k^rTG8$i4RH6|hU4SH!QUd(H-mkNS{~Kuac95bfFb@w1@=!#n4Tg=w~2u zdIy5A7(TpK3F@B2A6kIWth|J#=?$)Y3_9?TT#pp6_Shx7S6R#yY*!Fu(~G5LSLDvb zkBBmHe9fyC@#wz%$qKO%d^krRncA;_L#h*KO?C76fSe$gQl4M&!-FDK9uhzh8LBdU zaGdEmk}Dc*5|(u_G#R}0rkyGFHmeBT2_Jiu0M;F1IoGE72{ZdT2 zshcMoUy;{Q0u(qP$@sV=c<{#aA5F6RYKze z!5+0igUgz9j%O{dwdFNsJHuv3n#ZX9xo{J=p4>7L=HLK!+TbTqSd`80g{?CEI+zOV zXQkb3TO$&9mE*$zY!*}0z&vi(%$Dz~`MJTJT9^@_YF7Rl2(QKVdkyv_Mi&hTf9x&@ zwGsOqF-1eEpDi3+3RtI{q#zh=X)gYl-~MRE8Fc$d1Q>F z-vv1~xkByYk4Y~<8u(fIbr(F%)X3I9aOqcA?2bRa z?>wm8t-v}Z$k&?hwNYepe(%5wr0S!4Dw^M~V2xJMS;-ZV{b9|Tw=Hv|c099zaIJFO z?c*tGAF65*CcyI>jF2^wW%hB(0hf*XP_09mhC^6JFXO*6e4est-a@_E&Kxh!0W}=~ z4flT)oH*af$ppfi2)m|3_953gCMU$VuJ|gomw1#>_87J_y&K4Gm!U%2^B0W?4K(BJ z$MJ|QYQd`eqMr};@$YSK}8FyKvC7HmvJ{%G7`Ej{iG07rj5wOM+8@19xt!^=isq#3b* z-piDqug=B0mp4B|pz5FAne>Q(cMV1`EJ(53pxaZzj0M8wv1l=n$5&az@yN|EZ$(NC*%ML4FN!OQP=_us@$>3(kpI?dXtu2s! zd|}Z%u6x;^e?4ko;G?6GAX{Ec9M!@(;JDMDAP9$*Ubzs~^Pa3-Mo0F;ms(`chh1Iy z{T~}Okamc{W@XRH4uXFC+Uenm9O?%F8&}}a;&po7s>iAXxjSWGxzBle*Ec&x;Cr2Q{B{BM2pi0Br^Cn)V=V|3q$K3 zp(oASpGmz`aD_2j40IEI)voi+Rzn9K)JUN`9K=ya9fR-ukxBxbO=M*VdlP@no;;Rk zt0a3D>(GwoIu6z+6egVfR__RPQy93q#Hy)50SH-O>`~7lLc6vQmsK1xY&lB|onl0N zNZ~q+c*Xyu?}ALEO|aH%h(uF?x82Ypi5D5XD`=fbueXq#PROi9QK&nN4&#>^nj_w1 zH~q@eW5&1o;!)@=IQZiZ{v8S6AqwFW z3S2K^SRPD&^xn+R?pB2>-glxt`0xgYY~|8V0rT8DC2f<3NHMd>>?;&}@br@}RRYwc zzw`8aY}$W5kHZ|$;ntNKotmFcRDG%sb28=}D-{2FEm*l+4bcmC#~mh--S7^1`}A9} zOV-etEpg)D~`<{GXdh7vcf zj)=f4;6qC88%HHtx)LdKk3p>S2hkpeeh-_FC5nIb>Kygoxj3Seui*^#{nJyb{z zEXch@PUh%6yEa$NPa?{H>5QHPcd}`0az&K$;Ui}ut1F&d{c#%nlJR^74sBWdO?Jh z)P7}pC+~540IeMgP#Pn}J!>o3-MrIlU0a;W%@Z0jTZZ<97=O55kUoQIqPt6s3<3tx zf7SZ1PMJAu?>F`6&-EveZSkh(UM2k7XceNsZuZncN#8 z)i|9SK&2M4NsGrEu3xfHwA-#VeIxBwcMWs|OZau6$5nY^i1!(^luC{MqAulL60#JO z9oqZWJnjM>ji_j0!{6CQL=i1w9kffCxOsWY1(U5A^<5zC(GNNE9F_&%;=4QowJh(S<$t4Qb zX3t)CS@EH3OG^2}r?{z&XrWwokHHFti|1vw2>8zk*r-2^DXZd>p@PKu$^O8_lme(! z?a|}M&?^%@MJ5-!gHVlM)kkJORrm#)Kd&63*9YxHrDRlfc4+=vfmPmkWwQOt&iYq?a@gt(< z%ogwJxD}68bfZqFEj%#j!^R4B5!{w$nI9&LYnp)>KFUzk{5{$iH9gew!vKweA}`?` z?9~h6e5>x_1P4?azW5cN2OiwFLn`@Eoec@Qf8v>a{nthX*R=>Z2@u+kxCU?dfV#N- zWrF|M!?qA*CMY-?Dte%ZmYJY7rYidup=F+WDyj7* zoE0^XRi-*DMX|UnS9L-ez0Pjez`W*R=LS%A29Shy1x*w@9VpF8M{&D{%cP!EG|yi2 zWYBHx8roe)ubHq0D}LtEZ4~XPB9lyT+Sis5d0A8mHZdGe>t;>ZL#tIIwk8G+4DH-H zUQ%kMh00d+RlhvL|CWJms^n?BDHRaw)}^lQm9TFSTsHXV^wPo|U);MTW=QI|1T|@F zzIdFfO>KBUd|UKH#Mk->E)}y>JLLcg>S^QGFcz&4_nm@_kc~)Sa*irIfTO3h!nf~9 zAslJecrO&>f9mzXh%_>O;9A0;GI_su$YVCJz_q2ob#CdB&Al1tcX zNt=!Xhxav$pnJ*%FXi&HlBMpi3iABS9}Y6ShJ);%BsY4$pTy-G7bo!!DgxY#zq^~f ztE}Mi4`7uJP>mZ&Yi?Ey!6^_%4kpwHRc6Ph_4E>FI$Fb7xd)9qxmrBNoep9XYeq&% z04P_TjqHl0pZ41-`Tx_?0@;tBHlnZifG4X8B~|gq3K_lGN=^fx`tCHxvAO$BG^4mC zQh>_L`uQEtFZijbFFn=CtH`F3)rP_>@A=WFY`N&DpgRR-Jo@Nyg(lE$8wftJ{2hy0FL&IH+m_Qv56%~IAeYTT$ ztQ}vk+1F(D?Mi4?Ra1-fEfqh8T}v^aOPA1fL56VFz3O3V5Mo(l^rrpU*o>n- ztxC{sy&+F(QM1-&CeVGA6$y8I7Y$`!#RbQW+!KnB>0^AyPc`kC3J^^#8NXXfJ7Wqz zRRink%ZYpo`daxe!=`|$4FMAB|$clX|4MFuOCV9 z^^l&g(2wPzxJT3d3{dW0%*o)QB~sYD|1MIlzF@cSJ;zwkOL^8^g1c$XuIt6*o~JKS z@HJNL=#nozKi57osp=Z%q}{N;<+<{m&tUqgTw#K~^lxW?=MS7FPm}#?K%yqO=0H5w zs`EfWAZ*NG98bXrK)W60oH z`swSL;=4%Y9|j;Z6HVugQ+bR>v!E%>XgH3&EW`HsevLGmq=BRWXE0ctpw?ES{A@6U zl;vdQGlXq@hv;=qm+^xs{}S!CEJCf%l`Mjar4OXsuOHv;gPLB22r3SNR0)3}M&{d1 z0G?_`8oQV>q|7C4fct<{_GifJubo{DJg<+7oo1~U;%8($*0|6Z zJl<|>>ZJ3A1jV@y19W`hj9D?ZyY04>m){$eRJAC^Q`*nxz&sRm7+W}NMmRB^zHFHq zczXcC_Qpe^{*6?zB*1OKvXeOBL#=kzYX;;sKCLK-JA4+@Hesyo9hJ3c-|-TT&p4Wo zKBPx$e-u(!1Iay_Axl%^lqb&;*Mn+C;9&P6#g%$98*JjE_FOz}Oxj54#nvq*>q+x! z9YPLJG0(rLG}aryMwE3YLN;ULzx2N$;m$5q2Ky;Qz1Xt1d9`;pg?lh)O8a>M-E8@; z&+C>I(yQq5LCwZh9>V|ftlLjO8!$Y$y(=DA9|)+LLl4{eqGf)gLC6M&8P^=QbH8Cs zkP{1W?nvc%q%$CmUe|KnBJ9ZwwKdZ#jt-C7E$j4tcx#jxU2z9!C9=)mc8h;KeR9fV z=C6#v&d-h8R%7d&HzX&Uu<~H8!D;#J93quD!j21+%(KNWc&sL(uW&Ik9k zU-fH2gY6NCFr;Ues~I_v_tIu4E{xqG6eO9x-4=a_Dii8iINeD0w=u;njm&FqrT;+q zr?Nr%ekexa4JQixXgF^ez8mwHzH9+oo7p*qN4vO=!Tnocwe}7fz43f~V6o$>^z?3= zcE?L{QQNoFRF*Om_F?yXEK55u6~fN-&#L{IGa2+xyMBOyv;e+6vJn(6H5F&X+S^wy z7i$;i%BWX;JYbQmBwhQ1C3NnR<{s-)SfhA#_b0Ad z##Gz4rdvHN0|`AX$W;A;=HsC8`RJHiGeI*{s|4(!ab2dp;?Nzi9G;}C&9^Usou5ch z$KN&L_qid}vdopi8BKd4#-Uw=;rIVQe@RjdF1w$Y|E?IbJhJoA_QBbWCZqJH)6ZYX z;Mu!gRqZ}@0$TqN=EdnK*r_Xz2;0T$Vb+~NhkDDbx0JPZc|G5lu-IZr)K+B_n)pts zYzSpn1R&pj)V0Zo*7G(=lvpu@2BE1~vI0ZCpD%kmOOTlI;HX6&<@%pC zznu~H>ls#&g!#5A+qAU=Z`GJiflIL3_5Bl4y>Moa9Du{02C^PQ{bgXMm{r0B40_F? zrcl>XN~zcQQ{IDRK`7@1JTfA;?cHWCp;OtaTA6FscUCVFOISd8E+g4>Ak@I!$J5Nk zzE3H_m(*XVXuMcGp11c^Jeh%a^ljFYOei7)5S|m0rz>2vgN(huEZQC$>=1k(Ekzg5)@#%EqXld>mHBb3q-z5y> zaHJjm00oB?&_Ijtob%CJ6=5OT3JC%bBYywlx>092_5^+-dV~Fr0M6IRv;&HpDaGu| za?T62RvYCCQISVeg$9Sy&^ir3^@WMtwx&yxb|6F#Q}P7}pBBB##Cap7A&1J`@dHf+ zxMFL48Qlh%X~NFDc3GHJ#XvN!+OjO=55{+i^EQDN6TPoPK#ycI0x57 z3f4a=%0nj4jRkmsUmtu6QX2zvn~U2QpOK{67HzYulUU261A>~xDSvYLEJdeJA~J72 zttNS|f!?xOt+KmfPZ7(r_&l(5Owln1Y^7WCpJbp-))vAl8>B!qCp@J(zb~FMw_Uw_ z5#MM+z)!%Sv?k;N{QNEkpgZ(b2-6()%nG=qvmdUfoiREPUY{@xyy5<{>i|b=Rw+>C zoGcNJGLC2^2sV$)J`E2m5-Dcyg3PZ(fdsLwR5Sl^&mSfm7agYtR96Rk?InBb5xS1_ zrC;)KDkwkp{%jH$t)J2e_FFi1tFoRLOQ?k_F;} z806CuY_artP{q}{w^!E_nz+UT@0VbeTpRbg0>O9tqTegwfwfKXS)CT% z&i30nU_D9Dui75lU4RHJ+B4j6K`AC{fqDRu@@|2y_IP(SiKEK3n{qkr*d zZUQx0<-qaVNe5Mm>tI)yJ7OJu8>=bzIZJXdGewUKXzXrY<{AU>63qp3VSt-w{%-$R zv%tt1z#yt}E&d`k5SyiRbAH0JUD#jhu<0;0vi%zYNx*!S%|4kb_55;JCxyd0_#fM@ zOcfe^-^II65+p-grgWfGmhu4=1qf>3BSz2V)vubKWZ_pbz|YSUac$*eN`u45T6Q#@ zgzosY(x(13bS2b#Ods_lhFzLqBNwvJDrD2@@D7hx9qo7To1C~lbxOeIHQz$glajLu zTBO3fyhjc9uL3z6i*#8^0C)dJmQWeCG>zpV??j8dqvhm|b`i{bUE2tz8HBD)cZLt( zsy3V>`Lgk1#Z`eSyS9f!hIgfZo3@UXDK%s#9uAXxI$ZDp2tW0B^uk1nOkVFMFl-Hm zHy`{+$?5M27}K(l1=!53BCzd?^}+ji2OJ*CyyI>On?|7++l_Q*{6PYj1Ao*ueJg8g z-H$pgOQG`m^qDlm^^SPFv9)0YSLQyK_5dYt<6GgMhUgq+h&4GodW{or(}fZ~Y98Q| zrfZ^^{j@XjyT9V4u!EI2?ZZZg3LbD@OF+DM{-5?yUdA)z+I@n*nLakbK6Fo9UH3oF(=>VX{V9XzFOjS-)1Jdj-8H?bC_O+23W*L^|%mKc84s|rhS)27+6cOGP=Rfiw z`sG=Of{B~_g%g5u!cYf!FPoZ^b9iFUa@R=C4xGQZf`4~1Ty1jnOxbGur&^RY;hw~$ ze<`@zIW2|c@)Ek=y=wd>K-L%tblz zp=-UKp?=;q1`~~tZBOKL^EUfX<)FLNw0B;Ob1VS{_LZD>jJ9T z^*nIGx~ZOO|Pbk$X@#Q}{f zsqeu~$H%_4Hnk~Gl*J~_eb7^G?IiRJkl)q<6=_*xygb6_qiY(^y9#gx+IN^`R*5n< z6gW&YX^r)rAl&5yCvQ+O%TSZurBEr}S96C&y6&K&7m>?0v*>=!H|Y`38dJk>zsUhG zNIW`S>l(XgPAK;~1IC3dmKG{{un9qG%`W-+0>IGJyjD?>5U{vkQd1;-2?Hdy*$K?p!&CN&W1=fZWxyWd@T9d9YuMy*I z@Kl$dQ2~z2zM4wk@oCsF^M{kCsRc|!hY)ZgD9QdZ8A&-f&q0TH@g(khQ%u^DWZr~R zS&dQW^HhxPj4enVzPBL8c0g|yn~ZM+sg>@Lv;6xynCSO4iGpltlnNMA zd6s?t1eRdrvlb`r$6a8frbi2T4i{9;K37EWmhMUuvSi8*D^nH<3${D{jd0k`%wB4F z7su5@E3x$aoWA`ghTL~Uc-4wqj{h8>8?P{i zksq8e{h`_%&lp1h|kGX)H=mnv|k7rdp{wK3t)h{%{pWT z-}m6^LMmY!CYnqhw6jm7eABABcpM)prGn#vdL#nj_r^Ygay_5O^fNhNKjsQv=q81F zX~vnTjtf(<5uD<|>O$*fP42P2^K2DK4Q0j+Ri3xo%sfOzLpaAA9GUN5Smz&MVjzED zKHyx#3*@l9keeERa{TcD^mYQ1;K=N-&IGxelj4}Umldc8vXXN!&RQ$_e1RkIgRGr| zf-@y>ypwe|kfr1VUs(FE`%XO&z7}Hc67?%gBC4uXIU~~Xkk1*k?9HLo*g~u=;zf$4 zzw#v!$ikOfDP(n*7z!>o*ko@F<5Y7%_&B$;1vj#!7KepZ{>Tl!PiS$9<3r3>?^jFD z#`!gYaSN^0f5_HHa*Mkk#Y4wcX?#&TUNH7;z!%eRiYgwY~b_Y z;*Lq$w+1+cE%{K?2yYTKAcftq`V81L9lr1C(q^PfD>LJ5_I+}f9RGpEp10N*K1m#G zh~W&qHQ@%kE&VL{bDr#BA3kO?o~2|y`DTICdY-FDmjgKvawEX+j|M#x<|C)I z_u2u(%gmskkUHuunWx+yr2MrlNlZ}@H_x~SI$Oxju|W70IVz~rafhL%Zu}I~G^Yc| zC?lll!;e1rp34k?Jw?KyWbInXsigELBqC>yRXP*!miUd2XuPn62ARaIOWR&*88mQ7Z*CW#Qc6wTFE}ji8Rl^igp}6$x8Y z@#re{kGX>21Dmdmi+Hg^2RjwZ{>Zp$k702f;mrnQ`bA1Ey~_3b`0rm9pFT`+(34KH z(I9qybOH%=Tyj?xr8i|BndJU&Z?M)EM71gKtq&!3KrEw()RHrWsexUkK%Bvc&#Jb;w$bjqMVR9;66xM-t0imPfz6z zcz0Q>vZYLU%=?@v@vlDoc7(Cv`^_{sw-}Is@|(K=ma)N!l!e=C2M~+(PE3|KkTcy7kN`v+F@f0& z)JLDmAZ+%un0kP#pd=(q^wXwU2CILY73?E@<&9}r;I5+D4E&*dctCiiM%ErDK}f%O zDqR9XUB$^{AU#?8M6Y?^osx_zsM60bjsjH#l(;HM?JxI?KoL;Gom{qlo`^?(hJfH< zK8OHkfkLMj&bH%3h3`8rK5M@7++)jrU*%j$$~_QMecu-XeN^5MELzW=6uRFZJ>1m) zO8UUrrwZouuaanB>uXU>jYIKHvUZOwwBHlb0EF+&mL|6*JCkQU4mw=eIg}U>l>bVU zXNrOPA|AdUOkf1K8Ge~K3rp0VFP#3>hYh|a-M04!9v`==w4w3GbvsKhgyMs#^UeH_ zXmnK{!Qm7 zv#;LZRip;F7hQ@>Ew7Cw12})tO$#GNyMzm%d z%F3rZaEbPho3+}3zj6GEH2#MOmwyX>u}&>_G&q_YahWJ~dIGyWGAsnBpY^a9&*=$f zQZ;HM{rQL0YA*GAV^rvBK$0#&=_CWy2tD=xE+y+W=Yzt(f;iN?A~`JcRWJU z!6Nq3Wn$oa1_)d@{LjMx_m();F1{7S1LkEZ;`obte2YXMF<_GY@I~Y&E@uutpCHsx^EGneU9tGR& z9^!~SWvq!F0foM)25454{?!ntd=_!L>#kG$25z@4C;|Lt;ASN5%P5z?y}jh0-8X10 zabG*hB0*143J#7bn7Yk>g83LkNw{3pbx z{jq(THa%wi14|HB?7tPUavm~nh6vE8t`6H@^P{O~sTG@Wjk8j3%ZVT}EP-NL?g#%w z?SKQ6QVkWIFLv{S_TMzFB2VAKEj7$Rkxx_cl+)L`ZgGk|e$5*%z(ZAz+}wwjF}RLpP+oU-tFP8{-b^G@`i z{_Q0nfeW%Wk@qM)VB^^H+ZhL*5x0taFjl}5PY=1+-|{nt>HN~S0M9@4dmr$7$|0>S z!BIp7?&Cz?Lm-^hwYrPM@?IkqH_LtNMffF_3mK38a^g=Kyw+)u;^R9|5}~Sa4jf|R zTS<1;lSyKq>SiQ=#djuPzjA5ynq5M?@0|U@6%8(=^W=`y)Qcj*e9@lw7Vm&WIowwt zRPIFw%!(T{g@Fort0r-5bi=--NYg5OUx_$IzUhx^*}(598gDfXkB|W$9yTD)?j6?} z$hhN?{@8)Z>#siks0{q8JGmkfK^@(WA-JD8>)@{yTbH^n5{+mqSCC|&!LIuzct6J7 zVlEj1I2QrWV{G+mci&4Cp*p)+r>i#=D6puFMZT4xcM%7;%NKJKl{o!QPT!+&Xyib3 zjkfPT=vuA};*{J2O_u$w-7}|&p(D4ziENGFvn0Rmr@L8=zfxNidh76u`TaX{uK?g- za)g&_fl-+~u@QJ%BM z67Pgq&Q#_vYKHG8WF%T*M+2=iaX%I`rUaS_08Dud{Z_9x#zq%!?>^*B23Tu=OI7GG@N!RA z@(jU^Y1Q!hT`n0M zpB(~YMkJpd~aln0K{h?2b^F7!-jduqL)MYBOq~0qn+CZxFhv`r zJWV7^5Sp-nEpg~B4S?5}e88D|<4qcFh9$Fw&@?*MB!sH$9{A*Q@`towMHHmd9gJST zoOGYcbNHK?Z3ahna5--CrZB@ETGCjum5-|70kBqW6$J5~kRR;x!fL)LeS~7+s%YPzAs`XJuJUj)*Q2gLEtF=y4NDvI6)h#tS;(P}47 ztau6asc5a1z~n=*2gExN9*%6gR@mOp1_8w{Z}>IRs2UN+XhsZ$*tfws40aL3QM8Ec zULxIzK6ILwNcGiBjF3x3*n*Jtuky_w&%O%=_*db>m;OKY-aD$PylVpu7)R_<1Pe_- zr6YnM9Y&f|5eQ9+ARt|&6Cj|Y(vhxo>C$^|B1J)ZuR$VGL+AlQlKact_nmKihj-@t z8hwHDFFHi!6!mvzBau|_EREm&w%!Gri-e7Q zr;ng0NWODz*S>i3u?Y!dH_PDA1CGyo1^)Jnpw?R8n@;oCo`UXnzleQ7N{E_Woc0IF z;5MNfgijwuhpJA!{2Qx+Kb5lq>NN(o`MkOXc=RnG4M1K3?uRbANZPCOu-}oIl=N1M z_!r*%{TDIO0VlrI&`-*DD)p!&*Ul4bBz`vZv)X=`)JAV_VSz))avbB|pOGkO|4nx( zt({~9X(L9a)UM*2otckc39lIQl@R>(#43KVS4XhO+O=9$Vos6ue@~LXU-D|uy?nct zn|O@0{YbYiz2O|qxx&+LZduy*eQxc-Yp_ z|GCKfkEr?m#m`0FhlJ7pKWa`*FN@@jk<|_RCPG0Gh+}~MCF1i7{@m71|%UmXpcQ;BtxYRfA;et=$ z97^?qSnE;Mu^%f}eK^19mE^7Mt?OO$9dMl(FNY-B8lL`-1vUTK=-cstRyO~IQyG)+ zCh9$LEatyM6Ku^eWN`_GQ> ze*%wjMPTI1A2NmDU$@+!68DN8?RE54w%5F%2J7<5%$HC+!?pY2^CvHoEtLu_mk6C4 zAzx`wm9z8whxQvPS_uyG%!A}N8^i@;as3M)D3dSI^Nw0R%3dC;=VT2WAy06`YJQzp zKOnA59V=s#+rB+x8k=zRvrOs)TS>Lvcg zia%Jwqbzy_kw3F}IiBRH2Z8yEU+)_*uEer0L$Cgxh>-#>8q z(SQK`KiGNUHMlfqK2(g`O*Q#Uq4XJEZT`binS7yo4Y~1YRY%>V@v$!Hs;s2dw4W|n zym;oXX8PfOoE3rRyfQIBSJ<00t~%z2e)RYUU%O!etbCz#HMZ}t6?lKPh2H~UT*g!X zaJJ07M}bLeX0HA7gF#+HW-cCfQGS5ZhRn=lDJSj!7Y}GT4oUjK7KbH=p9gnX8Tx6t zKl?cu`A?raBzAsA>yMf5f1gS&EEB=bZGlt&kcp*zo8It%qWYx)@y~R^O}}DE8$sIt zOTUto-l0F9Rb9N}F{C@mk#ZpQ+E74VdwJA(;f1&JqoK2`lr;hT|5T8NO6rs^&2PS%>)K(2mGbqQ^ELT0>uT;?0oz?gjm zIQY`@FFov5irdvDY)e%Gi44K2zIHdJ&zoIh_jAY8ZS^Zx#|EMKG80|L{VsK+)OMT4 z8pfC&bt$!rxO?sMbVf4qV16Jc3$WV!$QNd2`Qo$j0TmC16z4`ehYUC?bp|SM$1bUSpsGC2Gi9Y`t(reVyKW*wT z-AZR%xAulL^fpU=X}2g(2>UayliWqpo;Y;n$sVciZ_N6aato)yRtqMCSK#{j@>)!T znA|az|Y0X(k442 zvDI64u+cf<$yS$a%`cLDWsQKtWQ7P%SE28Uh2LB2G$xc(tdlNN9=VK0B;;Ov|KUfu z;166iw20R25^h`m^Hd$JU)qFyZGHx2A_zyl-uHQ`!c)$RF$VTlHQ>Q--ooBP7P)lK(6FJ~)K+Bj0h_AmVtPi{3+#Z& z!SJbW{zT8E_lvLZoZ(=2ptY@QUp;sKU|PXEWt5jW$4i`eu$eJ0xABne%CHsqRn76I zojguw6CbAr^aF{lLDuE=Kh?fJv z8N5T{Oc8sX#{DV+U4w&p4)xo^Wn&ic<=$UZPp2{+J6W`Sr02a^9k9cJ!RR8?x60af z?`hjb%XG)Ki&<+T8$Op%jiyI#`i&UDd3b79N?uGH$dW%~L**AWpRk&AY-g}iVL}`@ z)@*cem45TnG4iz(>h z-;Lqu@{^Giyx^?1h6;Vk?|%g@V;N|7WMjN+KrNod>fYZSuHY!9=;N8ioZNzr`VHW* zk)gL|{WImY%b6T7-EmXP!rdXhGEwKcZIDC)b|4IKfXZwW>jefsT~@Vx`WlFiJ-0M& zGG>@2llN9%^>ukFohZ$){-v{02TuZXc(l=ZrQJ%TXjpwXt*-4UN!%JxA21E#iK+FJ zN*e0qYZT|&GtM#u=fL4pxj7EbBEogtDyzeu6kMcC`<+o3#8KvQVPiwd*<=63dFDyZ z(_K+CAH-Y3jxKIztWIt>{;uFLRor$dcjr?FxuUn2RRvKP=_Sx5MLc+6CW5Kk>`x8i z)raS$p`^(w`rfU^J(nXne{{Awf!CNT;%g*#N{uFPfys=Xp;-J`7Zvjtv#ARb<;I}IPzQ7U@ z^Wf>{t@1+e{P*ep(`E}=zC18<`4agRH+m<3DG4Wk?bqwqzw-~M2$&;S7H)q1je7X2 z)&3jZkb^8KJcq>Q7lEP3*=l{q*7E~wkt+RLw>;I{K|LA(X(kFz zP~ysu%6w}PN0}@~{@IwgKSHC;>De~y6lR&=*k)_%)OAZo->!V9e^6815Ux_pXtrp=9WTntkec{Dp{Tph7L5H7jDQraVbK$N4^OLy*! zNR>pv8OXMhFmhEbZmbWQ-_1|A4_{s9rH8K+<8C2gYW6zh(htO@Eic=ZX$1B!$ni7? z2zMeUd-Z!Dlm`qhrD?rxnLKt^Saz z$GT3z$Y*bE#qcI5wvXi3zqIY5++0C=LJ!_k!trntnT~s}i;b^Tr4AD9DyM`xZn3&I zw$d7Cb@NwH`OjZ1Z1oN$-1?D$lD>BGr0c)60RM8q3*MwDU?g6+VLgPKIcDUHf*41hl-g#u4^ z2AN@q5eEItI+mW7+VcFY7X+nC!#5X?Kibbn6CbRglQkACmt7u3!e7gN?a@}4RT(tNz zoUtDAELv=la;Ysx=^nhEb-POSc&Q9nM*#i{O4xCC?W>C#hs3oA7Q)&qsq}0k>Y>X^ z74C?39M5#T3-!X%j-ktggVnhZuz3%TsdpP%v?Gc~+>Oz*csuDsXXO5Mh0*2*Z1P9- zys;0`U+^`YZa8k)m?(-}D!#NoY8IA%tAv8ET0Ngs9*P#peoN3XbQ!XJVPPZ&5bAxX z&T^T$74wfvDgM|z2FBZ zb=lwu0I88jzrtbN6@zzC=@h%IOZ^rRoE=mU7Dc+xJjJojQxIchF{!MKNes;t{$?a*FQtxMZg zXU!)lwW?d@DT~6ONft1qj)%OdV%=uk-7||4!-}Uw_ZQL>a&FwW-7aL0EQ0=ylFHh&v8$zR&R>mf3(`xXsN1am}*}aXgKcSx+XJtRnB|S03;!6Pj zUNy`)t}g+$z({3EJFq8x>6RVa2sv*U$S4e|tIz`8-&x z`Ef|OXtv|MJeJeT0oUT#UwA{&vo(0T@LnpX{LQH)?|j8)0W;15=b3WaE(LHGFV$1q zrBFdk;eLu8k6kl7#uDgsP5kmo6r+qWk8)4ww$uL7Re|4`C@i`u%XX~A2kmVjHm%-g z87v%e-3T;M7OxE5y(TAi6LTU3HMilEn74#bp6O%rNpSl(w`q^~I5RCq|KG|L>#THw z0vY?}wKP?S3V5Ax90qm>Og+{D^U2SCJ)UvMY(t;TH}Po)#}Ns(k^h2Cj7SM;0CjF| z!VI&S>bgCoqZ7j&<{gFN`??7eC;(l=SVK?oeepuMe(4pg!Egt8eQ~3w7E`u$@vjm} z*RXCGp3^R-84sZWxv+;j!cDZ@26pAzf$1Txm7^$8@_ub6|7D;3#VkE$@eUog)S)R) zQ)XZqpY=)Eez`Frn*7@<4Y<{@rKuX89eX6eu*;0ogO0@!w{sZEYER3OOGh0bO~B&c z%A1Ql2`qOxDvmGKJ9r`XJH;xgk3+yQH1v4nTf&1IlDDyV8hoPn&X^S_at^{8!^Q_O zvL#B|RMOhy(zU+`qss;|L7SSnBg9F05Qe!^I*~qj(Shxjto9qL%(t1{UwIfbw+I0? zNY@Fww5^NBkF3`+|dpOj)N{kYQS?jKNjwDaP**&uw9t<=&6y|jPH?t zS_4}RQJgOR;?y?f8e6tS9bA_Crkw}Qa%GA_nUwPM6uf z&Q><^5h_aa6IotBiDBn z)4bK+BBIT#zWcgfh0t7mA*;6m3SC9Mw#0rn-?QlOm79CtB83IE$JN=M@e76tn79T z{+IrJizKG--T`;vb}Iu6r@l&IYQB5?dcr-?8nZA7AugGO5yE;H0xTXfePM58K!Qzo zuP17aBce9EX9KQ34STOCGXuI%bp?7y*^DPqu&|-uN_!+hg1rs9AxYRpE%G7ul=Dk4 z#rJP_@Y9tOprb4vS9U@QttnfQ5rnTaxme?d zwIbccYEb-iTp~^9w!X(ZBptOh)m{SVI-Z0Rou^zzhE5E(<@8^`&}gb?xaV6?Ls)c$ zv6D_&BH!Pzo)l^o*k1d1*3v*{%aU(3``jAnefi<`siMEG@G#=#&*kO3P#+q;Nck z;7}iJ7ppP2A0rpGjxD3G|9*4^HAR!#oU6ZL$aq(&^vg}<9TmAD-=YAXBTFksnUDbh zg;(Dc$+V{TNOof(OIb+-6%L+>@xj)noyw5HWU;?zLKccJ@c8DFe2=(3 zEo(gukZCV{ptU0*=^zA(Iu&9TPR%u#?D75W7T}W7FWXnW8-`t8$5k(+2E|P8Hxls} zE70=2_Y$AQGmve&E6Cj?Djo!29P-k`cyw~~vp79kT+$K=&Q2XC&46W6Gu zQ*-WeO+{= z2_oQ)=!{s&Z5&mQv@+2rd8?S^7WetQ7nNVkD->ls9x{c#3VgOi$rjqAq<41#w_3}W zU;RBULz1ho?rBAdk74$tp&X;;ZU*wZu9Ps0X)P-O|}E50dC5)seDlX!`(}k3uUJaz>?Vd{RqL=F`iXXMeUFzxoEKVZudiAK=S%TKtj!U zm39dktbUaUINr52r~4nk`(Mc5Un)JJDT9LyxQ0m;xAaBaz7N{QxU=2}I+O}^FJo{W zefK28DJq9|yj{4!P)oltJIV#~p~ZTnBszoC;8_*rxfxT+hL|WolLPg&1pJvjjBIW- z(MoFc*JjK0vOgmho0jFs6^U^kr_t8(-wYyG)W*RTif+LIXpcVf4C8^hwFeICis%os zjGq5cTnD>O#vCEW@h0-qoZJ%6#=@PvR)W zySVZhuD6^R$%r))l>qz>aK2u_(Dwr@w`)2$bEB>~wpg!FlvLD~i;*!m1et&6t-=;- z%W0%kVGmM&m4ohfu4=xS1f|7}uXwr}>PtbTAYIG;ne|zoBjWlSlV=+C4!M}DV@zH* zly^C78uz*!PDFm$Poitn2+82q$at*mzmTg&F0Iw+4>!yjmkZ9azMKI3K{)qPes6<1Y^RTUT)hQb(HDSe%hkE| z>ldT$p#4PtV{z)g$%P0|A`i~VN?&~@=#g(bXQOwn!i`zv*%~E9mkkNBR@@XUZ0%TK zFHRUy6GNBv4?UwC4j;xDa40Oen^E=uug)AbO>@t~;pJ?Q>=D5<7i{kP| z;@p#;kH3YS3*ZK9yZhH0rZz7q)A%~(cij=iL^+`9P(3fxFBH;KPgDWK1KGFd3aELAM8{0LiB6-%@EOjt%PFLSheeWokh+q}wr| zakjtOv;)Y2n1WS%muNFB8vnidath{cLp?)ndkL6+VIyH*Rq7R`b4VbRa)I}fvitne ziClmZ8~1eYPO1dm{QgjXI8Z4&Hqi+n$yk_}fBw~t9Ga-BP25FI0z9AXB2f0`!%uGU85hJQcD25>xSZ#dC^L?R-kZ{<5K|vhOVl zhn&2$n`#z3PW9|=ev4Eeo_3R1wdo67giWi5KRVAf8dPVhjvMt!i{1e|@y$f{*?<>W z^3U2qM=RVhubpJxC@e<@-)DX zSTun!vNS1kcthID2Y5mJ>@x8)z*k0#lHZEKe({vz1wJIn4YHCCzFlWMoo5^GR|k1) zd-q-$)03#Nu=}6Pd0-F%aJvqPM}Te5f52lf=$6-%03c5MnT9edliU;Zm2oY-E7a83 zjRdFe&l35K8GW4*>a)+}$gnw3UzqY3ox}itjAH0x*TVhV7*ZvpEaI~Uw4YNPaA<}7 zT>u_9CJD@ExKD@JEpV` zOU_Lt(>|JKkffMQZ3YjzHS(aes1{rZ&{1nw)GKQQVKKmuru%7f8U*A%t7|8PYn{`6 z5N8MKp21gIN;!kiQT2@|L#mAelK$(vANQbzL|Y4n;xBkuAjJ-dwa(K(?FBw)||KHV)>-(|8R=A;C^ z-SwD;e0}z<+Ouv9VF2xWZS^UPbX43tXp| zWQA@(KCDBZ3zJo%L{*Ge(t5b49whB39^_#MxYO<_&y)^<2-=P$eCm2km&^0hLW+RA z8fDLlsc%d(Rnj{j#93LwdBI#8p0m%hUzfvjCjpzrglC8AoV_fRw{>%!;Y{If0d4sx zqeaNA;cR+)HYagF8KlwcRFvN{&pLCsblIMPk#0$j{dLG;Ccad&at;Pa7M~#>(F0$LmWfY(ibjumxrz^)z=PWdE-EIw$sm^fZ zu##`SZL}rg2&U^xy)D;E606NqHS?^?c_d1;&w987RM85Be!#Ta7A_N@XqJZ=*#|C0 z%_?56I>=4T&mUd-QoC}|-ZgAXbi@Ymnc8~Wsc4#|;Ntl=sVSyjjD9oO%>4zh^F^yY zE~e3YS6{XObi|WUBEx1iz_>B21xkT{i6wqa4u$n}U1nwB}DMNHgLltaQ z;U#5gacZ-y(F7pY2LS#w9+F#~H-|r-&(|k{`C|gh+egl2N6w1humjAeUA=QH6@*0g z(r^`Qj)M;1fo^O1+s{!)?KdOd#Vyuiih&!$a7LDiF8A3qwx{${vl~GgF^|5tR4~IE zZ>&wFqGhvi`3di)t;@-<3ue&C5zrt_ex=Q?;sd4C(|9>yB-w*@+c<{#!blKy2uyGF zEZtc{19(_Aa%x-1s8t0u0_`9<`WmJ~fMHD#8haF(GvKXuxKSBsz=T$2(xQgfU~vj= zjs_6yH5j-QOcr!@Y_-z{s(7fU~094S?L^%IEIYE~~$j zxEzIkmlz8<$Cb-EDlV#j{h1|N3Bo?%*5JURk?U%Xwa(42P+F%i%Pr>un3c)Y<~Ln5 z=+!$d$p$S*Ss)cZf~p}=Q2MsTt#KEd+1nccC!OIv3Fs2NTd~vmUj%a6WSj4E@k~3( zMKc9bfgF#_4}P~QLixH8bP$}%>mz8sP_BuH>(AEY?rLg}u;Uy;>y&==#s$e{0PDL% zb#A%EC+9fg5)M;tkwbHivO%;ipZ-K?4yVQPZZqOOfGwCFJmd#*xoU{bcqGj)7G}zR zqbDWDJ?0Z*4dkUHJ16++F}HJIp{`T{&m6LnJeSyGAG`VTa9)#bDjh(7zMlMrJWviD zuE2N~R07w=ml_r0-hle#xR z-Cqnk)GBwtAi0UTdfD7>bQ&(o)yom_5BtpwRj2UlTUo^v15W{Hznv1f(hamad|TrXdtT$4EL1-4Rd@c=Y5f|c>2 z=N03seX_`hyMnKT+Rfo<4D2SIdL*i2MQ8n4@7vz#O@>wQsBYnAo}bMGwsA;TcJ3&R zJ^?YuU-RM9a)qG#pD52QPPk5c%+nwO z$Fq`s;-Z~>fP6+?gslKRW*(bC;_q?F#0$zuSmof8p@!`~2QgUJ_bw-Z0oA4U`@-b+ zvOxjY@IWny7f`~Z&&qOfnNQU|y_0JOs2#I@An-_pdqOE$-;7qe0LNl*n+%`z;ImHj z^g($#@^$1$mOV|L_}#xk9EUhA8{Hy=2#vE(fwrUim7I(3X`#`SoS^Y!H%=2nID{xx z6pbA?BewF|RQY8cY}??TrI&fMMe2skw8T=BCD(C?xxuvahVbKVk$DwLaR*B{C>;GD zS;kM8+s0F692i)&Gs102*z2i!{aW+MfnQJZXpP%xl+18sB}ACo{POplrc_6C=QG-~ z;%m|*ChR2Eyr9&S59Zk(h^eE^J(Ua?*s^i!+&Lc~z`12c>ljtX!1O$pMEzdq(^<`? zz{qViT&^f3&6m5zvhc+#X*4S&420rmJE<5vbzUw=wArge+yTtj%wy)Y_Q*|+cc(vg z&I!cILdGt}yv>wH0fse9X%hitN#WNU#G_||hUcu{O2QY=A zMn<|68h|OqS4=+c_H^r~zTrbj9tQO-LDqocDq+`%-@$*qxaP!~LI6|T;HOih0@Es1 z7hOSOx^^YHZAOd{-f=F&ddjsSvQ>4DUJ*C`n&jy-;zb@$*j1`h27k7Zx2%QCmMdB!VO150}ddae|&ER`qmr~T@IXr37XKrxp zTRE5)^0vm@M1_jkm)`jt8fML}0R!xDa*qU}>(gIZW?ekMo~k; zT*X@I;Op5^P6=-Vw$qGHz(#IWb08S$tl0i+Q(P~roe>FgE~ni6dq`SjUkx$8x4$Xz zzl3KrXg)auep&Se7pv+CW|9IT+a%p`KDaiT04tQ(fq2%X>_wFW7NYuD2mi3tlfUu7PrM;1~xOI8vZ|F)S z<6J4YsJwFTcSU(%4%0xFltzE)!+agpM@JK_qwFU$x6mt~5^_(qi$|Pi86B|=N*QJi z6OVw8lhh-wfVQ6O(LY|~eX!on0So*-6;!1NT{1hnYC#@>X~5aT^c%8!NQ3IMybUkV z2A5iyqgYlBTQ9KqvIgN1O(DQQx%+KX&WJYIHLsHXB`Z{Ha8{CELg7&^2R1Txv zg8X>Fk&#tUj#R^)qen91taG+VDzHTpuSA>^IGD`xVSO%aFRa07-C!S#w}mPjEvN}g z!ASnYd%_zhX}_wCVFfB)2H3gAse&%W>C&-i?W+MiRwPKQ zZwUO&u=+f`ry6h0+UpSywsMKxndggO^q@?d!3n(tD7k3(HvNA|BZ<_Y%8N|Ics77) zF@Oc5h4J~e4yt5@=W8SNlfm!JzwSp`A~gNs}5^)(njbj3R~h`1qFbI=r~+`p?5jo@hQ zi(UcJOQ0;@tGX$)A6QIcVqf@ueD@l1?hKg!Sk{0_dy=UZBp%6$R}viqvE`$h5;@LM zM_C&;q6;5!1+{}*-+{TqbxhVJAT`B14;nhu?_!{Bsg?T>RwLS$ z&<4}FO$`MGZ8!Jwuw|{LnjHwi%>=N!IX74PyxDAIQ{W)hxEWy3CqTj5-pq5sQ!Nzv z`<$t=5agUV$T@@WvaQi2v_0Bdt?&1zpfK9A5S~UN@TY_%U-Ha#|9r69<%) z3L@OFYz5ynP@}ogtV+)nm{YUMFPQ`pmb4!EYrmuP3ON7TdjgDsBD;aqk5tj3yWg!y z%BKjDOHsP>*?_+|358PZ$TMeVweErT)sps0sO)b!v?!jFGp7I^0HTj8`Czz_@u4Ki z@(~y{C`_vo-B<)>+;u^^YCUb2*(ZnWdR3LH?NRTVG;B***JDuD!LoiG0A!)u+ zJwK3`p0{70L>o@fXGe|R5)!H)PFot<=@(uf8A%llQogEu~(0? zH|N^`Iilbu^O#e}X17?O^V$6p4=~)Mpo%)G=Gh%)(h8DmBFlw~S3AvG&GUXOw07C4 zSylJt*|8zDssliUqH!zAcJ6@uB=>6zkSu6q`fq1(HeF0q1GQ8yfOz-X+w`?dF3$@j z7+Q3j1(XC8Ao<-A{!XkHS)Wyy+hqghUM6vgS^`Gt74$7mvB6)vxY)sMRHvMx&KSs> zqH|y8?sMSka^hrqs@J`j5~1flOI@}t`oM0e6HSSM|Eey%0p=`9;WQeR+w*u$mkiOo zaV#p^ni83>R_?A~2f`$ANz#SWWNO71hx75oZ;zB>HK$B`N>M?`w_F8PEUNsiG#Od0 z9i>tLQO!_%D=g{YERRfy+YaF2A2vqdE!1uHcC*>3Cg#g(TVcO~>8V)Bz9%eD)eo zWaIDsKun51hwL29$uLBNA-M_|Y`LOW*&u_NPni#0ydWRs3#MnyMm~M&Qg}gw06O!Q zPW>SxwE4UbV2#wle>z(cfp9Ug8O3@v|%zl(< zu0Q+x>BVSb{jqgGzdeHc3l9Kcn&*Ci9WR)XEqQCt*JvDPCGRdy{58vf!~ulX8e+0W z3%-%W@N|aG8l`tWNl51K$<7W}p+XIE8$nfKC1bv}26#|&g9KSBZL#qMVDwQbphMZp zHO6y-rr8l6rxb;knv2r3CdTYMunm*gVfXGP!J$ytvBi<}#6xe9@Vf%GT$sF`{+1)* zYBoyhTQ4CF)(zrhfMP%EBS{56(NkxLCW*(3`-_I6gD3^Vny@b~+rPO6rl#W`t#y2P zcrVCQP}Ip*e}mJD?ja$^pwO1u35ghoy70KbRWLx$fu2~;kb3yhotER)jT@dxo`lCBxR-e z>bLHT0*P8Fnp@vW!-J(^WPR$*qlmlui>ZrFzZVZ?k_@k$4={Ax0ie%LdhE(RwjQ29 zb)2E=S`g@R0V~5_Ns*v1I|TkX`m|X|YdXNrjwBb3@tW|s|E3*dRT=;(&c9=eE(YXF zWz=t5B=N}vCr!D#l#u3FX5zJdmVYPzAINyWDA45gXQfz|uLCA1;V8ep9nfVYmr_m0 z*}Z!~s|1Sa!`!LZBs#KX(p^D`PTeBqu;Lyd&m;};JD+{;f)e1rkVLCnKuCeftWxOu za)q3i{}n7!XyYC$RTlOwi5mw3ocg~5KENboOA|v z7a4XotAc`t1pNC}^W;urgLX?D~;5jiqdwo>97_mmu6dQL&UM@7-R--K0 z4NA+Zk!~M^Utq1C0d+q6ysr`HX#3?a+eKZKE!&tX5G$xd{cdHIM0csyol_*puydv` zGK%u}g>@rcw<(taaFa{l3QY-0Y;F(yTDrU1#yCmjYkL%4iUxC;?&(-Sx)|j@N}_mE zSTSxr=J4Hw;sBfI;DwnLmdNos0Jl4IHw=VBsDJ?~i(ddj@XKp_02-0n+zZ&bc=OAP zySq~Xk20r^KMucf!Qffhh8lXrB;im8CnIMiwSVbnW%INS0Gn1KQH1I#diYU(e}0!Z z)tkyG4RxPYhia#(YyzoZv_+g%Cbur-hZw>yoT6wNC;#Hc-PxeuAvR_3TX4^b!j~%q z59aUZ?jDzj;SYUGxe$1>hq5V((Un8#hXa5=C`^-V(v`J#oAf%o@&DtEDO>kz?$jI*) zfYAeFn)t5bD2O96uc`-se^giaz)^jYB8U9#$%3_Emq|AneKZt2_75IWX?*=C@HiS3A35tS*(TRyC8e0tRFPuA6 zwxn7gQD>zg>g*H>Mgr8_4)*RYhEyWEYC>oB3gQcg0y@j;dnPal!Nfh><^Fi$W%vV= z^}U9Kiis!D6~@Z1p5IBqI&95fPZmViqknmBW+E?hNKi>nfbv)tQc{x!dVFrfy^)Fg z2M%0zt*!Iw)T%dpT$fy>#Q5tsr*UIa2)lx@0p9rhF{N16?y;xHw2~Qp^$B?V=@M;U zv-_7L=WkqS^XXw#&uk~+e_iEa60*$`+@^`l60uB@R2A7{%Lr@b>#1Tp`9LA4Y1gucp_vC|6EOx(tpvaePwS-aF30;Tzt6C(R7GD$$h7_ zjCg!L^ulpHBFTV$WpNI{h-`G1 zI+)+Cj%CR^k zJl(zTAHA2wSY)PPe}^G9-)AFt3ry}TMvTqIUJU%g#WNIMTsFQKZfO{^YOPhfV1>F> z_Z>gWZ8a@odAE~C+#z@B%z{T@v+z=)dz~ zF-z?je#Ri*S)eV6mCPi#-sP7=#84>}04R=Y;iaD3xDGi$C%qcb)0un?HhrMVY*`md z#;lDo#NUopy~+_0q<%s_^DZl=_-u=N++E1R#h!gG-tggr{Z!V|>g3WkZeTK>Bzk{M zij(Kdtz{Lf0(s`ue79*;VdCZoN}1fM=0_pWM6;byp^)>PA;%u(dS=G&Ne&-(u8d4^ zgCJJEejKnmHhgxtO>(D}fe=smQO|jrFO$jn@#SDqUIX-qB4l@~@i-)xr}WCF{J;)L4 z=~90_#&!jPN17PdazV-@bNT1LSdfRBb?1!>_XC&AgNDo(WyuvS%;_M%Ji8`gpuXi* zL3E8z&!*@dV1o!E)J^%YN7O|TEdg>@tN3caIxI#QVO}#_@|%;pME0G(_|~R(9`%BK zmdr{xzE*1LW@@KJf_nY8@vRXt43pz3pDW(Ay}~9Nb#s&&QZYK8O$qDd+ZftHmpAlv z8;CsKzhnz!@N=DCEsaE*Es+@esD|Aai^oEAt{-C|YoY~9(Hpi@|C;zrZUF7)1*qGV zXF2P1{SxTw$cfus{F}}htdWr3gAki*GoxM@Gr~oep!u++w+xQ%fjCY#(p`CA{AZz*Z zb8n+#byGASq?IE-#6Z>%ZcfG;Yp zmkF-Ul0%>by*$UooxUUp8GBbxt}7JXgh8e72b~-{)?pFjj;k%y!O7JHm9r66{Q=h= zd#pbH&q9SJk=e7Du}ic!7tVAF3)7bOycuTE1P zR@8dq+R>At3NsY)epvI~8kx&(ju=vPd(_hn4{5UZDr{qNn_ThX8*rc2(R=zK4~V3B z_799$A5RYK;8$OUL{|yWxYEfWb1$O;gnHt=E&+gAswy4gZ7 z+D1WcpE&4K)&9ajEeRW>>#mayr$U$ky7YLCIt`6%q4;eNKLE`hzjQ>gR6 zi?9_UH{VGRiO67lJc)Ea+bS?IkeO^97+&K)pN^>@TlYHnnmI9m3c;W@3+rMePyj%w z#npY?8sh7U6WaTJQ?(K9*$``v3Sdi5QaZIh6&SJJ2NuD^oEfv)+;TIj?V5W+EEbI{cB{yO@aGq;6uySbq%{w~;kH(U8h4RLCst z0YVGqkB%Y?D$2sYeYPA>E^G*|kGvjdQrCuHRf&N;9_14uKBzVm`4$z_A0L9&GVX$GHV*Oo2_msXK_~P@kQr30!_v2F5;Wvh8 zA~S|!4R7;^_aw-LdG923lm<(}r_I(UTO|kw-y$>j8U&R!4P0AxSm_>Yj&Q%_=G<;U zWc}vC#?rc3)oi+Hshw_1cF#S?>#tc~I>iRyy;IK&#zLXK9M|I6zztC)LOm-2SyPn{ zt_z#oyZ-nxoL-?RKd-gn+c7UhBn>WBcw&}s1VM-ol7~(Ob|*W1U(|%&#jSc93BD3V zh1$%akJ2LoeAYPVgm#RG>T}L92JX{kL*rapjInM_CTkAY$Yux#iNrHv_*qKL0PO_{ zgI@;UDkr$l89S)c8NxUHwTI=NP@W5(>8Hy~7RA19K!rjqq4J&jQ2z=;hdD|E>u(H~ z?=rngbX`}JsjWl36ns)&IfXdqy?2u3f_cK?D^P zMMb2jbOn?uAkBi(d+#Cv1cKDi5wM{sNbjIj>AhD$kQ#buAxQ5*T7VGp-f^GvJbRzx zc|1SAF~0rB;Xq8*TK84vRo0x$%7<+v6-h> zj>0ay4!+XHHo@q=y48`#@Ezr8zv=43j5}IIgSJ~P!8ptZ=~^d==#F?nsi)zTWAj*mS*Wg?U8J? z(^vRnK5~N1XZ{_VUCq)@wF_h0sOwcetTgv&)%4y<&(c$@^0!}Jy=Z{OwsfAHKX!