Plone Distributions
Package supporting the (easy) implementation of a Plone distribution.
What is a Plone distribution
A Plone distribution is a pre-packaged version of Plone that includes specific features, themes, modules, and configurations. 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.
Examples of Plone distributions include:
Similar concepts in 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.
plone.distribution versions
| Releases | Description | Status | Supported Plone Versions |
|---|---|---|---|
| 4.x | Core package of Plone | In development | 6.2 |
| 3.x | Core package of Plone | Maintenance | 6.1 |
| 2.x | Add-on package, uses plone.exportimport for content creation. | Maintenance | 6.0 |
| 1.x | Add-on package, uses collective.exportimport for content creation. | Deprecated | 6.0 |
Create a new distribution
See the official documentation at Create a Plone distribution.
This project is supported by
License
The project is licensed under the GPLv2.
Changelog
4.0.0 (2026-05-16)
Internal:
- Make final release, no further changes.
4.0.0a2 (2025-12-29)
Bug fixes:
- Remove deprecated
plone.volto:default-homepageprofile fromREADME.mdrecommendations. @Thanush-03 #99
Documentation:
- Fix Sphinx build. @stevepiercy #133
- Remove duplicate documentation from
README.mdand link to authoritative source. @stevepiercy #136
4.0.0a1 (2025-11-26)
Breaking changes:
- Replace
pkg_resourcesnamespace with PEP 420 native namespace. Support only Plone 6.2 and Python 3.10+. #3928
3.2.1 (2025-09-05)
Bug fixes:
- Fix frontend resource paths to work properly with VHM. @wesleybl #98
3.2.0 (2025-06-18)
New features:
- Support specifying a base GenericSetup profile during distribution registration. @ericof #116
Bug fixes:
- Set the site hook when accessing the migration tool for a site. @ericof #117
- Fix POSKeyError in tests by adding a transaction.savepoint after importing default content with plone.exportimport. @ericof #119
Internal:
- Add configuration for ruff as code formatter. @ericof
- Update .vscode settings. @ericof
- Update config files using plone.meta @ericof
3.1.2 (2025-04-05)
New features:
- Add attribute
packagetoplone.distribution.core.Distributionto store which package registered a specific distribution. @ericof #114
3.1.1 (2025-03-11)
Bug fixes:
- frontend: relative backend requests @lyralemos #98
- Replace
pkg_resourceswithimportlib.metadata@gforcada #4126
3.1.0 (2025-02-06)
New features:
- frontend: show id of Plone instance. @ksuess #109
3.0.0 (2025-01-29)
New features:
- Include revisions only when passing
--include-revisions. @mauritsvanrees #39
Bug fixes:
- Fix warning for unclosed file at startup. #4090
3.0.0b2 (2024-12-19)
Bug fixes:
- Fix logic for suggested id for new site. It could suggest an id that was already taken. @mauritsvanrees #97
Tests
- Fix test that failed because an extra distribution was found. @mauritsvanrees #104
3.0.0b1 (2024-11-25)
Bug fixes:
- Fix bug where launch screen was blank in Chrome. @davisagli #101
3.0.0a1 (2024-10-31)
Breaking changes:
- Move internal classic distribution to plone.classicui [@mauritsvanrees][@ericof] #79
New features:
- Move internal default distribution to plone.volto [@mauritsvanrees][@ericof] #80
Internal:
- Clarify RestTraverser code. [maurits]
2.0.0b1 (2024-05-17)
New features:
- Redesign the site creation page [@danalvrz] #63
2.0.0a1 (2024-05-16)
Breaking changes:
-
plone.distribution is now based on plone.exportimport instead of collective.exportimport.
There are some backwards-incompatible changes in the export format. To convert an existing distribution to the new format, use the following steps:
- Create a site from the distribution using plone.distribution 1.0.x
- Install plone.distribution 2.0.x
- Delete the distribution's
contents/itemsfolder. - Export the distribution in the new format using the
bin/export-distributionscript.
@davisagli, @ericof #61
New features:
- Default distribution: Allow users to upload a logo during site creation [@ericof] #66
- Classic distribution: Allow users to upload a logo during site creation [@ericof] #67
- Remove dependency on Plone package, add dependency on Products.CMFPlone [@ericof] #70
Bug fixes:
- Get the name of the existing distribution from the report, not the answers [@ericof] #60
- Fix issue with payload for new site creation breaking with certain plone.rest versions [@ericof] #71
- Read profile.json by the pathlib.Path.read_text method to avoid the unclosed file exception [@folix-01] #75
Internal:
- Update
plone/metaconfiguration [@ericof] #73 - Log traceback when creating a site fails [@pbauer] #82
- Bump
plone.exportimportto 1.0.0a5 [@ericof] #83
1.0.0b4 (2024-04-03)
Bug fixes:
- Fix exporting files. [pbauer] #58
1.0.0b3 (2024-03-08)
Bug fixes:
- Fix importing blocks on the site-root. [pbauer] #56
Internal:
- Update configuration files. [plone devs] 6e36bcc4
1.0.0b2 (2023-10-11)
New features:
- Remove old blobs before exporting content [@ericof] #34
- Support to new export/import format with one content item per json file [@ericof] #47
1.0.0b1 (2023-07-10)
New features:
- Validate answers payload against jsonschema [@ericof] #38
- Allow distribution to pre process answers before site creation [@ericof] #39
- Override @system from plone.restapi to display distribution information [@ericof] #45
1.0.0a9 (2023-06-27)
Bug fixes:
- Allow setting default_language "default" value [@ericof] #36
1.0.0a8 (2023-06-25)
New features:
- Bump @rjsf/core to version 5.8.2 [@ericof] #35
1.0.0a7 (2023-06-24)
Bug fixes:
- Fix content export to json [@ericof] #33
1.0.0a6 (2023-06-23)
New features:
- Improve support for testing distributions [@ericof] #24
- Allow export only for distributions still in development [@ericof] #28
- Create a report for Plone sites created from a distribution [@ericof] #30
- Clean up exported content to remove references to portal.absolute_url() [@ericof] #32
Bug fixes:
- Content language should be allowed in portal configuration [@ericof] #23
Internal:
- Update configuration files. [plone devs] 047ec50d, 55bda5c9, d7e9e748
1.0.0a5 (2023-05-18)
Bug fixes:
- Import did not import any steps except content and portal. [pbauer] #22
1.0.0a4 (2023-05-18)
New features:
- Increase test coverage. [ericof] #12
- Implement JSON import of content [pbauer] #13
- Use mxdev. [ericof] #18
- Implement default content for default and classic distributions as JSON. [ericof] #20
1.0.0a3 (2023-02-08)
Bug fixes:
- Fix Basic Authentication for Chrome [@ericof] #10
1.0.0a2 (2023-02-08)
New features:
- Change overview page favicon to use Plone logo [@ericof] #7
- Set content creation on
defaultandclassicdistributions to be default. [@ericof] #9
Bug fixes:
- Use ajv8 with Ajv2019 class validator to fix
function nested too deeplyon Firefox [@ericof] #4 - Handle authentication when /acl_users does not support cookie extraction [@ericof] #6
1.0.0a1 (2023-02-08)
New features:
- Initial implementation of plone.distribution [@ericof] #1
1.0.0 (Unreleased)
Release files for plone.distribution 4.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plone_distribution-4.0.0.tar.gz | 632.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plone_distribution-4.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / plone_distribution-4.0.0.tar.gz
| Download URL | plone_distribution-4.0.0.tar.gz |
|---|---|
| Size | 632.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
495b2dbd0d6394e43dd3c708be16f97ab1c9220e092b93e24ec4737956495db8
|
|
BLAKE2b-256 checksum How to use checksums |
823df9308a4aac052b39e484755e48dffadab5a4c70fcf096a4416b0f50e58be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / plone_distribution-4.0.0-py3-none-any.whl
| Download URL | plone_distribution-4.0.0-py3-none-any.whl |
|---|---|
| Size | 608.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b49037b29946529d58f10ba9e403dd99003e04319f1bd1a31dfb496f7ea2fa0
|
|
BLAKE2b-256 checksum How to use checksums |
bb674b7d35a168ed6efb9fd09a42f663848f73adf7a3cc77ee25fe9c10a020b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|