Author: Internet Development, ILRT, University of Bristol


        ILRT Content Migrator

Ed Crewe, `ILRT
<>`_ at University of Bristol, July 2013

Further feature tweaks and XML compatibility changes for current version 1.11

Updated from plone 3.* version 0.6 to plone 4.* compatible version 1.6
There were no functional changes between 0.6 and 1.6, in terms of the
plone export / import just extra version compatibility tweaks and update of
the test suite. 

The core functionality should allow migration between any Plone versions.

The XML format should allow migration to most other CMS, assuming any modern CMS
should cope with XML content import, one way or another. 

There is a tool to migrate plone exported sites to
Google sites or vice versa, see
Either moving legacy plone sites to free hosting, or increasing the 
customisation level of a site, beyond Google sites remit. Either way I hope this 
tool may prove mutally beneficial. 

TODO: Add import/export handling of XML format to the CMIS schema for more 
generic standard compliance. Plus maybe Wordpress export format, etc.

See for mercurial source 
repository, issue tracker etc.

NOTE: Export should work (to some extent) for all plone versions.


This egg and the companion Product it contains was written to migrate content 
from pre-Archetypes plone 2.0 sites (or later) to current plone.

The ilrt.contentmigrator egg extends the generic setup content import system 
to handle binary files and custom content. Hence a fully populated
site can be generated from file system content held in a profiles structure 

The egg follows the paradigm of the existing generic setup, but adds workflow 
state to the properties metadata. 
It also adds *.*.ini files for each binary content item so that these can 
have all their associated metadata imported and exported.

It contains a companion old-style plone product. This can be dropped into the 
Products folder in an old plone site.
The site gains a portal_exportcontent tool. Running the export from this
tool exports the content to a structure folder in the var directory ready 
for using to populate a current plone site, and hence migrate the content.


The code was arrived at due to the need to migrate a large number of obselete
plone sites and having researched the issue, found that most tools assumed a plone 
version within the last few years, where Archetypes, Five, Marshall and XML, or in 
place content migration is viable.

Instead the code applies the methodology discussed in Andreas Jungs' blog posting 
`Plone migration fails - doing content-migration only

Using the Content Migrator

Copy ilrt/contentmigrator/ContentMigrator to the Products directory of 
the old plone site. Restart and you should have a 'Content Migrator Tool' listed
in the right hand content drop down. Pick this and add it to the portal.

There will be a new portal_exportcontent tool in your site. Select this and choose
the Export content tab.
Click export and wait whilst you site becomes files in var/zope/structure
If you only wish to export a subsection of your site then specify the path in the 
textbox at the top of the page.

Go to your new plone install. Add ilrt.contentmigrator to your buildout config 
eggs and zcml sections then run bin/buildout. 

To do a full import you must first install ilrt.contentmigrator via the quick installer.

Add a plone site if you are not importing to an existing one. Go to the ZMI
via http://host/Plone/manage and click on the portal_quickinstaller tool 
Select Content Migrator Tool Install  check the box and click Install.
You should then have /Plone/portal_setupcontent available. Click on that
to access the migrator interface.

Copy (or symlink) the exported structure folder to a profile folder either in the 
ilrt.contentmigrator egg or in the main theme egg for your new plone site 
and restart, eg. ilrt.con