Skip to content

Commit 8052b2a

Browse files
committed
reorganize distribution docs
1 parent 4001a5a commit 8052b2a

File tree

7 files changed

+464
-59
lines changed

7 files changed

+464
-59
lines changed

docs/backend/upgrading/version-specific-migration/upgrade-to-61.md

Lines changed: 11 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -123,32 +123,14 @@ If you have an existing Plone 5.2 or 6.0 site and you migrate to 6.1, then migra
123123
124124
Plone 6.1 introduces the concept of a Plone {term}`distribution`.
125125
A Plone distribution is a Python package that defines specific features, themes, add-ons, and configurations that get activated when creating a Plone site.
126-
Now it is available in core Plone as the recommended way for creating a Plone site.
126+
Now it is available in core Plone as the recommended way for {doc}`creating a new Plone site </install/add-site>`.
127127
128-
When you install the [`Plone` 6.1 Python package](https://pypi.org/project/Plone/), you get several new packages and two distributions:
129-
130-
- [`plone.distribution`](https://github.com/plone/plone.distribution) is the new main package that offers the basis for distributions.
131-
- [`plone.exportimport`](https://github.com/plone/plone.exportimport) imports and exports content, users, and other objects between Plone sites.
132-
`plone.distribution` uses it.
133-
- [`plone.volto`](https://github.com/plone/plone.volto) is the distribution to create a Plone site with the default frontend Volto.
134-
This package was already present in Plone 6.0, but was upgraded to a distribution.
135-
- [`plone.classicui`](https://github.com/plone/plone.classicui) is a new package and is the distribution to create a Plone site with the Classic UI frontend.
136-
137-
When you start Plone, the launch screen prompts you to choose a distribution when creating a new Plone site.
138-
139-
````{card}
140-
```{image} /backend/upgrading/version-specific-migration/images/distribution-chooser.png
141-
:alt: Launch screen for choosing a distribution
142-
:target: /_images/distribution-chooser.png
128+
```{seealso}
129+
For more information, see {doc}`/conceptual-guides/distributions`.
143130
```
144-
+++
145-
_Launch screen for choosing a distribution_
146-
````
147-
148-
After you select a distribution, you will fill out a brief form to configure your new Plone 6.1 site, similar to the process for Plone 6.0.
149131
150132
Distributions are optional.
151-
If your project only uses the `Products.CMFPlone` Python package, you can still create a Plone site in the usual way.
133+
If your project only uses the `Products.CMFPlone` Python package, you can still create a Plone site in the old way.
152134
Consider, however, the following differences from distributions and from Plone 6.0.
153135
154136
- The configuration form is simpler and shorter.
@@ -157,45 +139,22 @@ Consider, however, the following differences from distributions and from Plone 6
157139
158140
There are a few things you should consider when upgrading a project to, or making an add-on compatible with, Plone 6.1:
159141
160-
- In general, you don't need no change anything.
142+
- In general, you don't need to change anything.
161143
Your existing site will keep working.
162144
But adding a new site may change in the ways described earlier.
163145
- Do you want to use the `Products.CMFPlone` package (0 distributions), either `plone.volto` or `plone.classicui` (1 distribution), or `Plone` (2 distributions)?
164-
- When your site used the default Volto frontend, you will already have `plone.volto` as a dependency.
146+
- If your site uses the default Volto frontend, you will already have `plone.volto` as a dependency.
165147
This can stay the same.
166-
- When your site uses only the `Products.CMFPlone` package, the frontend is Classic UI.
148+
- If your site uses only the `Products.CMFPlone` package, the frontend is Classic UI.
167149
This can stay the same, but you may want to depend on `plone.classicui`.
168150
With that package you can still create a new site and have the same content as before.
169-
- When your site is using the `Plone` package, you will have the two new distributions available.
151+
- If your site uses the `Plone` package, you will have the two new distributions available.
170152
This is fine.
171-
If you know you only need `plone.volto` or only need `plone.classicui`, you can switch to that.
153+
If you know you only need `plone.volto` or only need `plone.classicui`, you can switch to only that one.
172154
You can also limit the options for selecting a distribution by setting the environment variable `ALLOWED_DISTRIBUTIONS` with fewer options.
173155
Set `ALLOWED_DISTRIBUTIONS=default` for the distribution targeting the default Volto frontend (`plone.volto`).
174156
Set `ALLOWED_DISTRIBUTIONS=classic` for the distribution with the Classic UI frontend (`plone.classicui`).
175157
- If you switch from `Plone` to `plone.volto` or `plone.classicui`, you might want to install extra core add-ons, for example `plone.app.upgrade` or `plone.app.caching`.
176-
- If your add-on is only for Volto, you may want to add `plone.volto` as a dependency.
177-
- If your add-on is only for Classic UI, you may want to add `plone.classicui` as a dependency.
158+
- If your add-on is only for Volto, you might want to add `plone.volto` as a dependency.
159+
- If your add-on is only for Classic UI, you might want to add `plone.classicui` as a dependency.
178160
Note though that `plone.classicui` is not available for Plone 6.0.
179-
180-
You can create your own distributions to suit your needs.
181-
182-
- Create a distribution demonstrating your favorite setup for Plone.
183-
This would contain the add-ons that you usually add in each project, including example content.
184-
With this you can create a fully configured Plone site filled with content for a potential client.
185-
Or they can try it themselves if the distribution is available publicly.
186-
- Create a distribution for an internal or client project.
187-
This would create a site with all add-ons activated and configured for this project, including example content, and optionally users and groups.
188-
During the development phase of a new project, all developers would use this to create a fresh site locally so that everyone has the same configuration and content.
189-
Before the project goes live, you can use the distribution to create the initial setup.
190-
191-
```{note}
192-
For Plone 7, the [Plone roadmap](https://plone.org/why-plone/roadmap) guides development toward a clearer separation between the Classic UI frontend and the core `Products.CMFPlone` backend.
193-
This means in Plone 7 `Products.CMFPlone` will have less code and pull in fewer dependencies.
194-
`plone.classicui` may have more code and pull in more dependencies.
195-
This is the direction in which the backend is heading, and the introduction of the `plone.classicui` distribution package is an important step along this path.
196-
```
197-
198-
For detailed information, see the source code of the new packages.
199-
200-
- [`plone.distribution`](https://github.com/plone/plone.distribution/)
201-
- [`plone.exportimport`](https://github.com/plone/plone.exportimport/)
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description": "A Plone distribution is a pre-packaged version of Plone that includes specific features, themes, modules, and configurations."
5+
"property=og:description": "A Plone distribution is a pre-packaged version of Plone that includes specific features, themes, modules, and configurations."
6+
"property=og:title": "Plone distributions"
7+
"keywords": "Plone 6, distribution, plone.distribution"
8+
---
9+
10+
(plone-distributions-label)=
11+
12+
# Plone distributions
13+
14+
```{versionadded} Plone 6.1
15+
```
16+
17+
A Plone distribution is a pre-packaged version of Plone that includes specific features, themes, modules, and configurations.
18+
It is a convenient way to get a specific type of website up and running quickly, as the distribution includes everything needed to run that type of site.
19+
20+
21+
## Similar Concept in Other CMS
22+
23+
- **Drupal:** Drupal has distributions for blogs, e-commerce sites, and intranet portals.
24+
25+
- **WordPress:** WordPress has a similar concept in the form of "WordPress Multisite," which allows users to run multiple websites from a single installation of WordPress.
26+
27+
- **Joomla:** Joomla has a similar concept in the form of "Joomla Templates," which are pre-designed templates for Joomla websites.
28+
29+
- **TYPO3:** TYPO3 has a similar concept in the form of "TYPO3 Distributions," which are pre-configured installations of TYPO3 for specific types of websites.
30+
31+
32+
## Built-in distributions
33+
34+
Plone comes with two built-in distributions, which correspond to the two Plone user interfaces:
35+
- `default` (Volto)
36+
- `classic` (Classic UI)
37+
38+
39+
## Third-party distributions
40+
41+
You can create your own distributions to suit your needs.
42+
43+
```{seealso}
44+
For a how-to guide, see {doc}`/developer-guide/create-a-distribution`.
45+
```
46+
47+
For example, a Plone consulting agency can create a distribution demonstrating its favorite setup for Plone.
48+
This would contain the add-ons that they usually add in each project, including example content.
49+
With this, the agency can create a fully configured Plone site filled with content for a potential client.
50+
51+
Or, an agency or implementer can create a distribution for specific project.
52+
This would create a site with all add-ons activated and configured for this project, including example content, and optionally users and groups.
53+
During the development phase of a new project, all developers would use this to create a fresh site locally so that everyone has the same configuration and content.
54+
55+
Custom Plone distributions can be distributions for use by others.
56+
Examples of third-party Plone distributions include:
57+
58+
- [SENAITE](https://www.senaite.com)
59+
- [Quaive](https://quaivecloud.com/)
60+
- [Portal Modelo](https://www.interlegis.leg.br/produtos-servicos/portal-modelo/)
61+
- [Portal Padrão](https://identidade-digital-de-governo-plone.readthedocs.io/en/latest/)
62+
63+
64+
## Related packages
65+
66+
The implementation of distributions in the Plone codebase is found in the following Python packages:
67+
68+
- [`plone.distribution`](https://github.com/plone/plone.distribution) provides the framework for defining distributions.
69+
- [`plone.exportimport`](https://github.com/plone/plone.exportimport) imports and exports content, users, and other objects between Plone sites.
70+
`plone.distribution` uses it.
71+
- [`plone.volto`](https://github.com/plone/plone.volto) is the distribution to create a Plone site with the default frontend, Volto.
72+
- [`plone.classicui`](https://github.com/plone/plone.classicui) is the distribution to create a Plone site with the Classic UI frontend.
73+
74+
```{note}
75+
For Plone 7, the [Plone roadmap](https://plone.org/why-plone/roadmap) guides development toward a clearer separation between the Classic UI frontend and the core `Products.CMFPlone` backend.
76+
This means that in Plone 7, `Products.CMFPlone` will have less code and pull in fewer dependencies.
77+
`plone.classicui` may have more code and pull in more dependencies.
78+
This is the direction in which the backend is heading, and the introduction of the `plone.classicui` distribution package is an important step along this path.
79+
```

docs/conceptual-guides/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ This part of the documentation provides explanation of concepts to deepen and br
1515
```{toctree}
1616
:maxdepth: 2
1717
18+
distributions
1819
package-management
1920
make-build-backend-walk-through
2021
```

0 commit comments

Comments
 (0)