Tool and buildout recipes for zope/plone content migration
Project description
Introduction
collective.migrator is a buildout based tool to help migrate content between Plone/Zope instances. It can be installed as follows:
$ easy_install collective.migrator
Once installed you can run the tool to set up the migration environment
$ migrator
This creates a folder called migrator and installs a buildout environment there. All further actions are run from this folder.
The first thing that you want to do at this point is customize the instance.cfg file.
By default it looks like this:
[remote] host = xxx.webfactional.com user = ssh_user port = 8080 extensions = /usr/Plone-2.5.5/zeocluster/client1/Extensions zmi_user = admin zmi_pwd = admin root = Plone export = /usr/Plone-2.5.5/zeocluster/client1/var [local] host = localhost port = 8080 extensions = /home/suresh/plone4/parts/instance/Extensions zmi_user = admin zmi_pwd = admin root = Plone import = /home/suresh/plone4/var/instance/import
This defines the settings for all the Plone instances involved in the migration.
The buildout.cfg defines the steps that will be executed as part of the migration.
Here is the default content:
[buildout] extends = instance.cfg migrate_frontpage.cfg migrate_users.cfg migrate_props.cfg parts = tbd = ${migrate_frontpage:parts} ${migrate_users:parts} ${migrate_props:parts}
As you can see, parts has been intentionally left blank. Also instance.cfg described previously is being used here. The other migrate_.cfg* files contain some sample steps to move various objects between the instances.
As a simple test, you can change parts in buildout.cfg to look like this:
parts = export_frontpage
This step is defined in migrate_frontpage.cfg.
Now after you run buildout as follows:
$ bin/buildout
you should notice that the front-page object has been exported in the remote Plone instance. Once you gain more confidence in the tool, you can even try to run the other steps found in the migrate_.cfg* files.
PS: This may not be the “coolest” way to manipulate your Plone and some of these actions may be better done with GenericSetup profiles, but this worked for me!
Changelog
1.1 (2010-06-17)
Initial release [sureshvv]
Allow arguments to be passed to external methods [sureshvv]
Split scripts into cohesive units [sureshvv]
Added documentation in README.txt [sureshvv]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.