Plone content export / import support
Project description
Plone Content Export and Import
Package supporting the export and import of content, principals, relations, translations, discussions, and redirects from and to a Plone site.
Introduction
This package is a slimmer version of the awesome collective.exportimport.
While collective.exportimport
supports older Plone versions and Python 2, and also takes care of data conversion from Archetypes to Dexterity, this package focuses only on latest Plone and Python.
Documentation
plone.exportimport
documentation
Installation
[!IMPORTANT] This package supports sites running Plone version 6.0 and above.
[!IMPORTANT] This package is now included with Plone 6.1 and above by default.
If plone.exportimport
is not yet available in your Plone installation, add it using pip
.
pip install plone.exportimport
Contributing
See Contributing to Plone and [Contribute to Plone 6 core](Contribute to Plone 6 core) for general contributing policies and guidance.
The following sections specifically describe how to develop and contribute to plone.exportimport
.
Setup
You need a working Python environment version 3.8 or later.
Install the dependencies and a development instance using the following command.
make install
Local environment Plone server
Start Plone, on port 8080, with the following command.
make start
Format code base
Format the code base with the following command.
make format
Run tests
Testing of this package is done with pytest
and tox
.
Run all tests with the following command.
make test
Run all tests, but stop on the first error and open a pdb
session.
./bin/tox -e test -- -x --pdb
Run tests named TestUtilsDiscussions
.
./bin/tox -e test -- -k TestUtilsDiscussions
License
The project is licensed under the GPLv2.
Changelog
1.1.1 (2025-06-26)
Bug fixes:
- Fix error getting parent object on Windows. @ewohnlich #64
1.1.0 (2025-03-11)
New features:
- Report object creation during import using the plone-importer cli. Use --quiet to disable it. @ericof #54
- Do not stop the import if an object parent is missing @ericof #56
Bug fixes:
- Set site during plone-importer transaction commit. @ericof #52
- Sort
relations.json
andtranslations.json
so their contents are stable. @mauritsvanrees #57
1.0.0 (2025-01-31)
Bug fixes:
- Export the raw value of rich text fields, instead of the transformed output. This fixes internal links in Classic UI based distributions. @mauritsvanrees #48
- Fix traceback when translation group does not have the default language. @mauritsvanrees #50
Documentation:
- Migrate documentation to README.md and https://6.docs.plone.org/admin-guide/export-import.html. @stevepiercy #46
1.0.0b1 (2025-01-23)
New features:
- Include revisions only when passing
--include-revisions
. @mauritsvanrees #39
Bug fixes:
- Export principals: sort groups, roles, and members. @mauritsvanrees #39
- Import: update modification dates again at the end. The original modification dates may have changed. @mauritsvanrees #39
- Do not export parent info. This information is no longer needed: during import, parents are now always found by path and not by UID. From now on, the import ignores any parent info that is set. @mauritsvanrees #39
1.0.0a8 (2024-10-11)
Bug fixes:
- Use plone.app.discussion and plone.app.multilingual as optional dependencies. @davisagli #18
- Include 'isReferencing' relations in import. @ksuess #32
- Set constraints after setting local permissions on content [@ericof] #33
- Export adds a newline at the end of all files.
This matches the
.editorconfig
settings that we have in most Plone packages. [maurits] #35 - Do not export or import translations when
plone.app.multilingual
is not available. [maurits] #35 - Disallowlisted portlets were not imported when there was no accompanying change in the actual portlet list. [maurits] #35
- Add a fixer for the
allow_discussion
key: this should only contain True or False when this is explicitly set on the object. [maurits] #35 - Do not export or import discussions/comments when
plone.app.discussion
is not available. [maurits] #35 - Renamed
blacklisted_status
key toblocked_status
to be sensitive. We still read the old key for backwards compatibility. [maurits] #35
1.0.0a7 (2024-06-13)
New features:
- Export / Import local permissions for each content [@ericof] #15
Bug fixes:
- Fix
plone.exportimport.utils.principals.members._run_as_manager
function [@ericof] #29
1.0.0a6 (2024-06-10)
Bug fixes:
- Allow granting roles other than Manager and Member to principals [@ericof] #25
- Fix export of language for content [@sneridagh] #26
1.0.0a5 (2024-05-16)
Internal:
- Fix list of test dependencies [@ericof]
1.0.0a4 (2024-05-15)
New features:
- Add pre_deserialize_hooks to content import [@pbauer] #22
Bug fixes:
- Reindex members of relations in case that they contain preview_image_links [sneridagh] #13
- Avoid duplicating portlets registration during import [@ericof] #16
Internal:
- Update plone/meta [@ericof] #20
1.0.0a3 (2024-05-02)
Bug fixes:
- Fix importer by issuing a transaction commit [sneridagh] #9
- Account for use case language is empty string [sneridagh] #10
1.0.0a2 (2024-04-18)
New features:
- Support export/import of portlets if plone.app.portlets is installed. @davisagli #8
1.0.0a1 (2024-04-17)
New features:
- Implement exporter and importer for content [@ericof] #1
- Implement exporter and importer for members and groups [@ericof] #2
- Implement exporter and importer for redirects [@ericof] #3
- Implement exporter and importer for relations [@ericof] #4
- Implement exporter and importer for translations [@ericof] #5
- Implement exporter and importer for discussions [@ericof] #6
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file plone_exportimport-1.1.1.tar.gz
.
File metadata
- Download URL: plone_exportimport-1.1.1.tar.gz
- Upload date:
- Size: 195.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
67e6a01d239ef26505aa86f352b406f05187bcd065f02465ca4313ac699531b1
|
|
MD5 |
ed52874aab398fd1461f9b9131fd7fee
|
|
BLAKE2b-256 |
d860c510efd15918f035dfae62f46bcd9f3564b6592d549adf332327e58f5a4d
|
File details
Details for the file plone_exportimport-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: plone_exportimport-1.1.1-py3-none-any.whl
- Upload date:
- Size: 64.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
0bd0dad9ba794c59a9562e4a3344cb7f61215f083a3dbfedb5f6b94833eb376a
|
|
MD5 |
73280f4dd0ece7d22b0949bb7c8e01ef
|
|
BLAKE2b-256 |
03dece15c6b81922e55fe49d6025a3758c6c40769e67422709f2871c15d61aab
|