Skip to main content

zopyx.plone.migration

Export/import migration script for Plone 2/3 sites to Plone 4

The purpose of this package is to provide scripts to export AT-based content into a more generic format that can be used by an importer script for re-import into a Plone 4 site. The main goal of the scripts is to get Plone content in a more clean way out of Plone 2/3 site and to import it into a clean way into a fresh Plone 4 site.

Installation

Add the following to your buildout:

[buildout]
parts =
    exportimport


[exportimport]
recipe = zc.recipe.egg:scripts
eggs = zopyx.plone.migration

Export of a Plone site

Prequisites: your Plone site/server must be stopped or you must be running Plone through ZEO.

The exporter will export the following items from a Plone site:

  • members (member name, member password, global member roles)

  • groups (group name, group members, global group roles)

  • structure of the site (folder structure including local roles and review state)

  • all Archetypes-based content with all metadata of a content item that has been defined through an Archetype schema (plus some extra data like review state, local roles, related items)

  • workflow states (also deals with PlaceFulworkflow)

  • local roles (including blocking/inheritance of local roles)

  • object position in parent

  • related items

  • default pages

Usage:

bin/instance run bin/exporter.py --path /path/to/<plone_id> --output <directory>

The exporter will create a self-contained directory with the exported data unter <directory>/<plone_id>. The directory contains two INI files contents.ini and structure.ini that describe the hierarchy structure of the exported site and exported contents.

The metadata and real content of each object is stored within the content subfolder. This directory will contain on file per exported content object. The filename is determined by the original UID of the content object. For binary files like File or Image there is a <uid>.bin file which will contain the original binary data. The files (except the .bin files) are serialized using Python’s Pickle mechanism in order to avoid serialization issues and to preserve the data as is.

In addition the exporter cares out the export of members and groups (members.ini, groups.ini)

Note that the bin/exporter script is not directly callable. It must always be run using the bin/instance run somescript.py mechanism of the Plone startup script - always!

The export has been tested against Plone 2.5 and Plone 3.3.

Importing to a new Plone site

For importing a formerly exported Plone site you must use the following command-line:

bin/instance run bin/importer -i <input-directory> [-t] [-v]

input-directory is here the full path to the formerly created output directory (--output parameter + site prefix). The import script will create a new Plone site under sites/<site-prefix>. The site-prefix is taken from the last path component of the output directory. You can specify the -t or --timestamp option in order to add a timestamp to the site id of the new Plone site. This is useful for re-running the importer script multiple times. The sites prefix (a folder in Plone can be customized using the -d or --dest-folder commandline option. The importer assumes that there is an admin account with manager permissions inside the root acl_users folder (use -u or -user option for overriding the default admin account name).

To do

  • support commandline parameter for specifying a list of extension profiles to be used while creating a new Plone site

  • better dealing with arbitrary –dest-folder options

Licence

This package is licenced under the Zope Public Licence V 2.1 (ZPL 2.1)

Author

ZOPYX Limited
Andreas Jung
Hundskapfklinge 33
D-72074 Tübingen, Germany
www.zopyx.com

Written for Veit Schiele Communications GmbH (www.veit-schiele.de)

Changes

0.2.8 (08.07.2013)

  • PloneGazette related fixes and workarounds

0.2.0 (14.01.2013)

  • various fixes

0.1.0 (18.12.2012)

  • initial release

Release files for zopyx.plone.migration 0.2.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zopyx.plone.migration 0.2.8
File Size Uploaded
zopyx.plone.migration-0.2.8.zip 22.1 kB Details

Release files / zopyx.plone.migration-0.2.8.zip

Download URL zopyx.plone.migration-0.2.8.zip
Size 22.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4ea0105e99e7b33c84b8a9f107eab1be637e437768df9f61a74dfae36e9a1ac4
BLAKE2b-256 checksum
How to use checksums
0d7ede8ec02b5731fabbcc9711029352105c30d1d737b4d9b32476413d2de638
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.8 This release

1 release file

0.2.7

1 release file

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page