Json exporter base for Plone
Project description
Tool that exports Plone contents for a major migration.
This should be used with redturtle.importer.base/volto packages.
Features
Easily to include in your old site (just add to the buildout)
No dependencies to other tools
Easily to extend (see below)
Custom exporters
This base product exports standard content-types (also Archetype-based).
If your site has some additional content-types to be exported and need to structure output in a more specific way, you can create a more specific package (for example redturtle.importer.project_name) where you can add specific exporters like this:
<browser:page for="my.project.interfaces.IMyCustomType" name="get_item" class=".jsonify.MyCustomTypeGetItem" permission="zope2.ViewManagementScreens" />
where GetItem class is:
from redturtle.exporter.base.browser.jsonify import GetItem as BaseGetter class MyCustomTypeGetItem(GetItem): def __call__(self): context_dict = super(MyCustomTypeGetItem, self).__call__() ... do something with context_dict ... return get_json_object(self, context_dict)
Additional data exporter
You can add some additional data to exported json registering an adapter for ICustomDataExporter:
<subscriber factory=".my_data.ExtraDataExporter" provides="redturtle.exporter.base.interfaces.ICustomDataExporter"/>
and in python code you need to return a dictionary with needed informations:
@adapter(Interface, Interface) @implementer(ICustomDataExporter) class ExtraDataExporter(object): order = 4 # set an execution order def __init__(self, context, request): self.context = context self.request = request def __call__(self): """ """ return {'foo': 'bar'}
Export users and groups
There are two additional views that can be called (only Site Managers has access to these views) to export the list of users and groups:
/export_users
/export_groups
These views returns a json with all the informations.
Installation
Install redturtle.exporter.base by adding it to your buildout:
[buildout] ... eggs = redturtle.exporter.base
and then running bin/buildout
Contribute
Issue Tracker: https://github.com/collective/redturtle.exporter.base/issues
Source Code: https://github.com/collective/redturtle.exporter.base
Credits
This product has been developed with some help from
License
The project is licensed under the GPLv2.
Contributors
RedTurtle Technology, sviluppoplone@redturtle.it
Changelog
1.3.1 (2021-07-19)
Fix geolocation exporter. [cekk]
1.3.0 (2021-02-01)
Python 3 and Plone52 support. [cekk, daniele]
1.2.3 (2020-11-03)
Fix encoding in rich text fields converter. [cekk]
Improve Topics exporter. [cekk]
1.2.2 (2020-11-01)
Add customizables additional data exporters as adapters. [cekk]
Convert internal links in rich text fields from relative paths to resolveuid. [cekk]
1.2.1 (2020-10-09)
Fix deletion of keys in vocabulary. [daniele]
1.2.0 (2020-09-22)
Also export portlets. [cekk]
1.1.6 (2020-07-28)
Fix wrong release. [cekk]
1.1.5 (2020-07-28)
Fix dependencies versions for old Plone sites. [cekk]
1.1.4 (2020-06-23)
Fix text encoding. [cekk]
1.1.3 (2020-06-23)
Fix dates set in example contents. [cekk]
1.1.2 (2020-06-23)
Set effective date to example published contents. [cekk]
1.1.1 (2020-04-09)
Add more properties to users export. [cekk]
1.1.0 (2020-04-07)
Add export users and groups views. [cekk]
1.0.2 (2020-02-18)
Several improvements in export contents. [cekk]
1.0.1 (2020-02-07)
Add install profile for create example contents for import tests. [cekk]
1.0.0 (2020-02-05)
Heavy refactoring to be more DX compatible [eikichi][cekk]
Add tests [cekk]
0.1.2 (2019-09-18)
Fixed dependency in function call. [daniele]
Added option for return object in order
Fixed mapping for collection object [eikichi18]
using id when title is missing for Link objects [daniele]
0.1.1 (2019-01-16)
Removed redturtle.portlets.inspector dependency. [daniele]
0.1.0 (2018-11-23)
Added parer extra field info [daniele]
Initial release. [cekk]
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
Hashes for redturtle.exporter.base-1.3.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b7fcca914b7ff71d4ae3496ae22c0a24931591254c237e792d363b321e48d56 |
|
MD5 | 34397e3c69c10bd4eb15fc0d727eda1e |
|
BLAKE2b-256 | 522d30683362ff3676425d2313f838658141aa129873fc5652377adfc1de4768 |