You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
2
+
3
+
Then click the {guilabel}`Install` button next to your add-on to complete installation of the add-on.
4
+
5
+
Some add-ons have configuration options.
6
+
To configure such add-ons, return to the {guilabel}`Site Setup` control panel.
7
+
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.
@@ -18,168 +18,206 @@ The Volto frontend has its own system of add-ons using Node.js packages.
18
18
See {doc}`/volto/development/add-ons/index`.
19
19
```
20
20
21
+
(install-an-add-on-from-pypi-label)=
21
22
22
-
## Cookieplone
23
+
## Install an add-on from PyPI
23
24
24
-
Use the following instructions if you installed Plone with Cookieplone.
25
+
This section describes how to install an add-on that is released on {term}`PyPI`.
25
26
26
27
27
-
### Install an add-on
28
+
(configure-add-on-installation-pypi-label)=
29
+
30
+
### Configure add-on installation
31
+
32
+
First, configure your project according to the instructions in the tabbed interface below.
33
+
Select the tab according to the method you used to create your project.
34
+
35
+
`````{tab-set}
36
+
````{tab-item} Cookieplone
37
+
:sync: cookieplone
28
38
29
39
Add the name of your add-on in the file {file}`backend/pyproject.toml` in the section `dependencies`.
30
40
This example adds [`collective.easyform`](https://pypi.org/project/collective.easyform/).
31
41
32
42
```{code-block} toml
33
43
:emphasize-lines: 6
34
44
dependencies = [
35
-
"Products.CMFPlone==6.1.1",
45
+
"Products.CMFPlone==6.1.4",
36
46
"plone.api",
37
47
"plone.classicui",
38
48
"plone.app.caching",
39
-
"collective.easyform==4.4.0",
49
+
"collective.easyform==4.5.1",
40
50
]
41
51
```
42
52
43
-
```{tip}
44
-
Including the add-on version, or "pinning a version", ensures that it won't unintentionally get upgraded in the future.
45
-
```
46
-
47
-
Also add the add-on to `zcml_package_includes` in the file {file}`backend/instance.yaml` to make sure its configuration will be loaded.
53
+
To configure the add-on to load, in the file {file}`backend/instance.yaml`, under the key `default_context`, for the key `zcml_package_includes`, set its value to the add-on's name.
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.
89
+
```{tip}
90
+
You can control which version of an add-on to install through "version pinning."
69
91
70
-
Then click the {guilabel}`Install` button next to your add-on to complete installation of the add-on.
92
+
- Specify the add-on version to avoid its unintentional upgrade.
93
+
- Leave it off to always install the latest version.
94
+
```
71
95
72
-
Some add-ons have configuration options.
73
-
To configure such add-ons, return to the {guilabel}`Site Setup` control panel.
74
-
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.
75
96
97
+
(install-the-add-on-pypi-label)=
76
98
77
-
### Install an add-on from source
99
+
### Install the add-on
78
100
79
-
An add-on can be installed from a source control system such as GitHub.
101
+
If the backend is running, stop it with {kbd}`ctrl-c`.
80
102
81
-
Add a line with the name of your add-on in the file {file}`backend/requirements.txt`.
82
-
This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/).
103
+
To actually download and install the new add-on, run the following command.
83
104
84
-
```
85
-
collective.easyform
86
-
```
105
+
`````{tab-set}
106
+
````{tab-item} Cookieplone
107
+
:sync: cookieplone
87
108
88
-
```{note}
89
-
When installing an add-on from source, it's best not to pin a version.
90
-
This way you always get the version that's currently available in the source control system.
109
+
```shell
110
+
make backend-build
91
111
```
112
+
````
92
113
93
-
Next add the add-on to `zcml_package_includes` in the file {file}`backend/instance.yaml` so that its configuration will load.
The {file}`mx.ini` file configures a tool called {term}`mxdev`.
111
-
See the [documentation of `mxdev` in its README.md](https://github.com/mxstack/mxdev/blob/main/README.md) for complete information.
129
+
```{include} /_inc/_add-on-complete-install.md
112
130
```
113
131
114
-
Stop the backend with {kbd}`ctrl-c`.
115
132
116
-
To actually download and install the new add-on, run the following command.
133
+
(install-an-add-on-from-source-label)=
117
134
118
-
```shell
119
-
make backend-build
120
-
```
135
+
## Install an add-on from source
121
136
122
-
Now restart the backend.
137
+
This section describes how to install an unreleased add-on from a source control system, such as GitHub.
123
138
124
-
```{seealso}
125
-
{doc}`run-plone`
126
-
```
127
139
128
-
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.
129
-
An upgrade step might need to be performed in the Plone control panel.
130
-
Follow the upgrade information, if present.
131
-
Else click the {guilabel}`Install` button to complete installation of the add-on.
140
+
(configure-add-on-installation-source-label)=
132
141
142
+
### Configure add-on installation
133
143
134
-
## Buildout
144
+
First, configure your project according to the instructions in the tabbed interface below.
145
+
Select the tab according to your Python package manager.
135
146
136
-
Use the following instructions if you installed Plone with Buildout.
147
+
```{tip}
148
+
For projects created with Cookieplone, select the tab labeled:
137
149
138
-
### Install an add-on
150
+
- {guilabel}`pip` if your project has the file {file}`backend/mx.ini`
151
+
- {guilabel}`uv` if your project doesn't have this file
152
+
```
139
153
140
-
Update the file {file}`buildout.cfg`.
141
-
This example uses [`collective.easyform`](https://pypi.org/project/collective.easyform/).
Add the local directory to your uv project as an editable package.
158
166
159
-
[versions]
160
-
collective.easyform = 4.2.1
167
+
```shell
168
+
cd backend
169
+
uv add --editable ../collective.easyform
161
170
```
162
171
163
-
```{tip}
164
-
Including the add-on version, or "pinning a version", ensures that it won't unintentionally get upgraded in the future.
172
+
To configure the add-on to load, in the file {file}`backend/instance.yaml`, under the key `default_context`, for the key `zcml_package_includes`, set its value to the add-on's name.
To actually download and install the new add-on, run the following command.
180
+
````{tab-item} pip
181
+
:sync: pip
168
182
169
-
```shell
170
-
bin/buildout
183
+
Add the name of your add-on in the file {file}`backend/pyproject.toml` in the section `dependencies`.
184
+
This example adds [`collective.easyform`](https://pypi.org/project/collective.easyform/).
185
+
186
+
```{code-block} toml
187
+
:emphasize-lines: 6
188
+
dependencies = [
189
+
"Products.CMFPlone==6.1.4",
190
+
"plone.api",
191
+
"plone.classicui",
192
+
"plone.app.caching",
193
+
"collective.easyform",
194
+
]
171
195
```
172
196
173
-
Then restart your instance.
197
+
To configure the add-on to load, in the file {file}`backend/instance.yaml`, under the key `default_context`, for the key `zcml_package_includes`, set its value to the add-on's name.
0 commit comments