Skip to content

Commit 5fb84db

Browse files
authored
Merge branch '6.0' into create-an-emergency-user
2 parents 634806d + 8dd933b commit 5fb84db

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1909
-767
lines changed

.github/workflows/build_deploy.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,9 @@ jobs:
4343
with:
4444
node-version: ${{ env.node-version }}
4545

46-
- uses: pnpm/action-setup@v3
47-
name: Install pnpm
48-
with:
49-
version: 8
50-
run_install: false
46+
- name: Enable corepack
47+
shell: bash
48+
run: corepack enable
5149

5250
- name: Get pnpm store directory
5351
shell: bash
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
Your instance starts in foreground mode.
3+
This should be used only for troubleshooting or local demonstration purposes.
4+
5+
Now you can visit `http://localhost:8080` in your browser.
6+
Click the button {guilabel}`Create Classic UI Plone site`.
7+
8+
Enter {guilabel}`username` of `admin`, and {guilabel}`password` of `admin`.
9+
10+
Enter values in the form, and click the button {guilabel}`Create Plone Site`.
11+
12+
You will be redirected to your new Classic UI Plone site.
13+
14+
To stop the Plone instance in foreground mode, type {kbd}`ctrl-c`.
15+

docs/_inc/_install-python-plone60.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Installing Python is beyond the scope of this documentation.
2+
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.
3+
% TODO: uncomment this line after upgrading to plone-sphinx-theme and latest Sphinx which supports replacements inside includes.
4+
% Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE60}.
5+
6+
Plone 6.0 requires Python version 3.8, 3.9, 3.10, 3.11, or 3.12.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Installing Python is beyond the scope of this documentation.
22
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.
33
% TODO: uncomment this line after upgrading to plone-sphinx-theme and latest Sphinx which supports replacements inside includes.
4-
% Plone requires Python version {SUPPORTED_PYTHON_VERSIONS}.
4+
% Plone requires Python version {SUPPORTED_PYTHON_VERSIONS_PLONE61}.
55

6-
Plone requires Python version 3.8, 3.9, 3.10, 3.11, or 3.12.
6+
Plone 6.1 requires Python version 3.10, 3.11, or 3.12.

docs/_static/classic-ui.png

286 KB
Loading

docs/_static/volto-ui.png

213 KB
Loading

docs/admin-guide/add-ons.md

Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description": "Install Plone add-ons"
5+
"property=og:description": "Install Plone add-ons"
6+
"property=og:title": "Install Plone add-ons"
7+
"keywords": "Plone 6, add-on, package, plugin, extension, install"
8+
---
9+
10+
(install-plone-add-ons-label)=
11+
12+
# Install Plone add-ons
13+
14+
This chapter explains how to install {term}`add-ons <add-on>` as Python packages to extend the functionality of the Plone backend or Classic UI.
15+
16+
```{note}
17+
The Volto frontend has its own system of add-ons using Node.js packages.
18+
See {doc}`/volto/development/add-ons/index`.
19+
```
20+
21+
22+
## Cookieplone
23+
24+
Use the following instructions if you installed Plone with either Cookieplone or `cookiecutter-plone-starter`.
25+
26+
27+
### Install an add-on
28+
29+
Add a line with the name of your add-on in the file {file}`backend/requirements.txt`.
30+
This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/).
31+
32+
```
33+
collective.easyform==4.2.1
34+
```
35+
36+
```{tip}
37+
Including the add-on version, or "pinning a version", ensures that it won't unintentionally get upgraded in the future.
38+
```
39+
40+
Also add the add-on to `zcml_package_includes` in the file {file}`backend/instance.yaml` to make sure its configuration will be loaded.
41+
42+
```yaml
43+
default_context:
44+
zcml_package_includes: project_title, collective.easyform
45+
```
46+
47+
Stop the backend with {kbd}`ctrl-c`.
48+
49+
To actually download and install the new add-on, run the following command.
50+
51+
```shell
52+
make backend-build
53+
```
54+
55+
```{note}
56+
If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead.
57+
```
58+
59+
Now restart the backend.
60+
61+
```{seealso}
62+
{doc}`run-plone`
63+
```
64+
65+
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.
66+
67+
Then click the {guilabel}`Install` button next to your add-on to complete installation of the add-on.
68+
69+
Some add-ons have configuration options.
70+
To configure such add-ons, return to the {guilabel}`Site Setup` control panel.
71+
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.
72+
73+
74+
### Install an add-on from source
75+
76+
An add-on can be installed from a source control system such as GitHub.
77+
78+
Add a line with the name of your add-on in the file {file}`backend/requirements.txt`.
79+
This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/).
80+
81+
```
82+
collective.easyform
83+
```
84+
85+
```{note}
86+
When installing an add-on from source, it's best not to pin a version.
87+
This way you always get the version that's currently available in the source control system.
88+
```
89+
90+
Next add the add-on to `zcml_package_includes` in the file {file}`backend/instance.yaml` so that its configuration will load.
91+
92+
```yaml
93+
default_context:
94+
zcml_package_includes: project_title, collective.easyform
95+
```
96+
97+
Finally, add the package's source to the file {file}`mx.ini`.
98+
99+
```cfg
100+
[collective.easyform]
101+
[email protected]:collective/collective.easyform.git
102+
branch=dev-branch-name
103+
extras=test
104+
```
105+
106+
```{seealso}
107+
The {file}`mx.ini` file configures a tool called {term}`mxdev`.
108+
See the [documentation of `mxdev` in its README.md](https://github.com/mxstack/mxdev/blob/main/README.md) for complete information.
109+
```
110+
111+
Stop the backend with {kbd}`ctrl-c`.
112+
113+
To actually download and install the new add-on, run the following command.
114+
115+
```shell
116+
make backend-build
117+
```
118+
119+
```{note}
120+
If you installed Plone using `cookiecutter-plone-starter`, run `make build-backend` instead.
121+
```
122+
123+
Now restart the backend.
124+
125+
```{seealso}
126+
{doc}`run-plone`
127+
```
128+
129+
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.
130+
An upgrade step might need to be performed in the Plone control panel.
131+
Follow the upgrade information, if present.
132+
Else click the {guilabel}`Install` button to complete installation of the add-on.
133+
134+
135+
## Buildout
136+
137+
Use the following instructions if you installed Plone with Buildout.
138+
139+
### Install an add-on
140+
141+
Update the file {file}`buildout.cfg`.
142+
This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/).
143+
144+
```cfg
145+
[buildout]
146+
extends =
147+
https://dist.plone.org/release/6-latest/versions.cfg
148+
149+
parts =
150+
instance
151+
152+
[instance]
153+
recipe = plone.recipe.zope2instance
154+
user = admin:admin
155+
http-address = 8080
156+
eggs =
157+
Plone
158+
collective.easyform
159+
160+
[versions]
161+
collective.easyform = 4.2.1
162+
```
163+
164+
```{tip}
165+
Including the add-on version, or "pinning a version", ensures that it won't unintentionally get upgraded in the future.
166+
```
167+
168+
To actually download and install the new add-on, run the following command.
169+
170+
```shell
171+
bin/buildout
172+
```
173+
174+
Then restart your instance.
175+
176+
```{seealso}
177+
{doc}`run-plone`
178+
```
179+
180+
181+
### Install an add-on from source
182+
183+
You can install an add-on from a source control system such as GitHub.
184+
185+
Update the file {file}`buildout.cfg`.
186+
This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/).
187+
188+
```cfg
189+
[buildout]
190+
extends =
191+
https://dist.plone.org/release/6-latest/versions.cfg
192+
extensions = mr.developer
193+
auto-checkout =
194+
collective.easyform
195+
196+
parts =
197+
instance
198+
199+
[instance]
200+
recipe = plone.recipe.zope2instance
201+
user = admin:admin
202+
http-address = 8080
203+
eggs =
204+
Plone
205+
collective.easyform
206+
207+
[sources]
208+
collective.easyform = git https://github.com/collective/collective.easyform.git
209+
```
210+
211+
To actually download and install the new add-on, run the following command.
212+
213+
```shell
214+
bin/buildout
215+
```
216+
217+
Then restart your instance.
218+
219+
```{seealso}
220+
{doc}`run-plone`
221+
```
222+
223+
```{seealso}
224+
This approach uses the [`mr.developer`](https://pypi.org/project/mr.developer/) Buildout extension.
225+
```

docs/admin-guide/add-site.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description": "How to add a Plone site to an existing Zope instance"
5+
"property=og:description": "How to add a Plone site to an existing Zope instance"
6+
"property=og:title": "Add a Plone site"
7+
"keywords": "Plone 6, create, add, factory, distributions"
8+
---
9+
10+
(add-a-plone-site-label)=
11+
12+
# Add a Plone site
13+
14+
This section explains how to add a Plone site to an existing Zope instance.
15+
It assumes that you have already {doc}`installed </install/index>` and started Plone.
16+
17+
Some installation methods create a Plone site for you already.
18+
Follow these instructions if you used an installation method that did not do this, or if you need a second Plone site in the same instance for some reason.
19+
20+
```{versionadded} Plone 6.1
21+
The user interface for creating a new Plone site was changed in Plone 6.1.
22+
You can access it the same way in Plone 6.0, but the appearance and options are different.
23+
```
24+
25+
Visit the Plone backend in a web browser.
26+
Usually it is running at http://localhost:8080/.
27+
28+
The launch screen prompts you to choose one of the available {term}`distributions` to create a new site.
29+
You can read {doc}`/conceptual-guides/choose-user-interface` to help inform your choice between Volto and Classic UI.
30+
31+
````{card}
32+
```{image} /backend/upgrading/version-specific-migration/images/distribution-chooser.png
33+
:alt: Launch screen for choosing a distribution
34+
:target: /_images/distribution-chooser.png
35+
```
36+
+++
37+
_Launch screen for choosing a distribution_
38+
````
39+
40+
Hover over your choice and click the {guilabel}`Create` button.
41+
42+
Now complete the form with initial configuration for your site.
43+
You can configure the following settings.
44+
45+
Path Identifier
46+
: The ID of the site.
47+
This ends up as part of the URL unless hidden by an upstream web server.
48+
49+
Title
50+
: The name of the site in the HTML `title` element.
51+
This will be shown as part of the title of the browser tab on each page.
52+
53+
Site Description
54+
: A brief description that will be served in an HTML `meta` tag.
55+
56+
Site Logo
57+
: Upload an image as the main site logo.
58+
59+
Language
60+
: The main language of the site.
61+
62+
Timezone
63+
: The default timezone setting of the portal.
64+
65+
Finally, click the {guilabel}`Submit` button.
66+
67+
Have fun with your new Plone site!
68+
69+
```{important}
70+
The launch screen for adding a site is hosted by the Plone backend server.
71+
Regardless of the frontend you select, you will be redirected to the backend's user interface after you create the site.
72+
If you select the Volto frontend, you can switch to it by changing the port number in the URL, usually `3000`, and visiting it at http://localhost:3000, for example.
73+
```

docs/admin-guide/configure-zope.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description": "Configure Zope options"
5+
"property=og:description": "Configure Zope options"
6+
"property=og:title": "Configure Zope"
7+
"keywords": "Plone 6, Zope, instance, app server, config, Cookieplone, Buildout, pip, cookiecutter-plone-starter, cookiecutter-zope-instance, plone.recipe.zope2instance"
8+
---
9+
10+
(configure-zope-label)=
11+
12+
# Configure Zope
13+
14+
Plone runs in an application server called {term}`Zope`.
15+
16+
You can configure your Zope instance's options, including the following.
17+
18+
- persistent storage: blobs, direct file storage, relational database, ZEO, and other storage mechanisms
19+
- ports
20+
- threads
21+
- cache
22+
- logging
23+
- debugging and profiling for development
24+
25+
26+
## Cookieplone
27+
28+
If you installed Plone using Cookieplone, `cookiecutter-plone-starter`, or pip, then Zope is configured using {term}`cookiecutter-zope-instance`.
29+
For a complete list of features, usage, and options, read [`cookiecutter-zope-instance`'s README](https://github.com/plone/cookiecutter-zope-instance#readme).
30+
31+
32+
## Buildout
33+
34+
If you installed Plone using Buildout, then Zope is configured using `plone.recipe.zope2instance`.
35+
For a complete list of features, usage, and options, read [`plone.recipe.zope2instance`'s README](https://pypi.org/project/plone.recipe.zope2instance/).

0 commit comments

Comments
 (0)