Skip to content

Commit

Permalink
Update conceptual guide for distributions, where the significant chan…
Browse files Browse the repository at this point in the history
…ges are:

- Use the actual package names of the built-in distributions
- Move the comparison to other CMSs to the end of the page, putting Plone-only content first.
  • Loading branch information
stevepiercy committed Nov 4, 2024
1 parent f9b845c commit e25b72d
Showing 1 changed file with 25 additions and 19 deletions.
44 changes: 25 additions & 19 deletions docs/conceptual-guides/distributions.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,15 @@ A Plone distribution is a pre-packaged version of Plone that includes specific f
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.


## Similar Concept in Other CMS

- **Drupal:** Drupal has distributions for blogs, e-commerce sites, and intranet portals.

- **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.

- **Joomla:** Joomla has a similar concept in the form of "Joomla Templates," which are pre-designed templates for Joomla websites.

- **TYPO3:** TYPO3 has a similar concept in the form of "TYPO3 Distributions," which are pre-configured installations of TYPO3 for specific types of websites.
## Built-in distributions

Plone comes with two built-in distributions, which correspond to the two Plone user interfaces.

## Built-in distributions
[`plone.volto`](https://github.com/plone/plone.volto)
: Create a Plone site with the Volto frontend.

Plone comes with two built-in distributions, which correspond to the two Plone user interfaces:
- `default` (Volto)
- `classic` (Classic UI)
[`plone.classicui`](https://github.com/plone/plone.classicui)
: Create a Plone site with the Classic UI frontend.


## Third-party distributions
Expand All @@ -48,8 +41,8 @@ For example, a Plone consulting agency can create a distribution demonstrating i
This would contain the add-ons that they usually add in each project, including example content.
With this, the agency can create a fully configured Plone site filled with content for a potential client.

Or, an agency or implementer can create a distribution for specific project.
This would create a site with all add-ons activated and configured for this project, including example content, and optionally users and groups.
Alternatively, an agency or implementer can create a distribution for specific project.
This could create a site with all add-ons activated and configured for this project, including example content, and optionally users and groups.
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.

Custom Plone distributions can be distributions for use by others.
Expand All @@ -63,17 +56,30 @@ Examples of third-party Plone distributions include:

## Related packages

The implementation of distributions in the Plone codebase is found in the following Python packages:
The implementation of distributions in the Plone codebase is found in the following Python packages.

- [`plone.distribution`](https://github.com/plone/plone.distribution) provides the framework for defining distributions.
- [`plone.exportimport`](https://github.com/plone/plone.exportimport) imports and exports content, users, and other objects between Plone sites.
`plone.distribution` uses it.
- [`plone.volto`](https://github.com/plone/plone.volto) is the distribution to create a Plone site with the default frontend, Volto.
- [`plone.volto`](https://github.com/plone/plone.volto) is the distribution to create a Plone site with the Volto frontend.
- [`plone.classicui`](https://github.com/plone/plone.classicui) is the distribution to create a Plone site with the Classic UI frontend.

```{note}
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.
This means that in Plone 7, `Products.CMFPlone` will have less code and pull in fewer dependencies.
`plone.classicui` may have more code and pull in more dependencies.
This means that in Plone 7, `Products.CMFPlone` will have less code and pull in fewer dependencies, whereas `plone.classicui` may have more code and pull in more dependencies.
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.
```

## Comparison with other CMSs

Drupal
: Drupal has distributions for blogs, e-commerce sites, and intranet portals.

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.

Joomla
: Joomla has a similar concept in the form of "Joomla Templates," which are pre-designed templates for Joomla websites.

TYPO3
: TYPO3 has a similar concept in the form of "TYPO3 Distributions," which are pre-configured installations of TYPO3 for specific types of websites.

0 comments on commit e25b72d

Please sign in to comment.