Tool that exports Plone contents for a major migration.
This should be used with redturtle.importer.base/volto packages.
- Easily to include in your old site (just add to the buildout)
- No dependencies to other tools
- Easily to extend (see below)
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)
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'}
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.
Install redturtle.exporter.base by adding it to your buildout:
[buildout] ... eggs = redturtle.exporter.base
and then running bin/buildout
- Issue Tracker: https://github.com/collective/redturtle.exporter.base/issues
- Source Code: https://github.com/collective/redturtle.exporter.base
This product has been developed with some help from
The project is licensed under the GPLv2.