wiki:quintagroup.transmogrifier/plone3-4

Version 6 (modified by olha, 13 years ago) (diff)

--

quintagroup.transmogrifier: Content Migration from Plone 3 to Plone 4

quintagroup.transmogrifier package was designed to enable content migration between Plone sites.

To perform its tasks, quintagroup.transmogrifier basically uses:

Quintagrop transmogrifier functionality binds to Plone via portal_setup (GenericSetup?) import/export interfaces.

You can manage import/export procedure by configuring pipeline and appropriate blueprints in collective.transmogrifier configlet, which appears after products installation.

Common Use Case: Content Migration from Plone 3 to Plone 4

Common task for quintagroup.transmogrifier package is migration of content from old Plone version to a new one.

In the following example we describe the process of content migration from Plone 3.2.3 to Plone 4.0 instance (both Plone 3.2.3 and Plone 4.0 are buildout-based instances).

So, to migrate content from Plone 3 website to Plone 4 you have to complete the following steps:

On the old Plone instance (Plone 3.2.3)

  1. Add quintagroup.transmogrifier to Plone 3 instance buildout, re-run buildout and restart instance (see detailed installation instructions below).
  2. Install Marshall and quintagroup.transmogrifier products in Pone (Site Setup -> Add-on Products).
  3. In Content migration configlet configure export configuration if needed (see Export/import configuration below).
  4. In portal_setup -> Export" tab check Content (transmogrifier) step and perform Export selected steps. Archive file with exported content will be returned to you. Save it somewhere.

On the new Plone instance (Plone 4.0)

  1. Add quintagroup.transmogrifier to Plone 4 instance buildout, re-run buildout and restart instance (see detailed installation instructions below).
  2. Install Marshall and quintagroup.transmogrifier products in Plone (Site Setup -> Add-on Products).
  3. In Content migration configlet configure import configuration if needed (see Export/import configuration below).
  4. In "portal_setup" import tab - with *Browse...* button point to archive file with exported content, then import content with *Import uploaded tarball* button.

Installation on buildout

You have to install quintagroup.transmogrifier to both instances. So, complete the following steps on both instances buildouts.

  • Add quintagroup.transmogrifier to eggs section and to the ZCML area of buildout.cfg file in the root of your instance:
[instance]
....
eggs =
    ....
    quintagroup.transmogrifier

recipe = ...
...
zcml =
    quintagroup.transmogrifier

  • Re-run buildout with:
   $ ./bin/buildout
  • Restart the Zope server with the following command in the terminal:
   $ ./bin/instance restart
  • Activate quintagroup.transmogrifier via Quickinstaller in Plone: Site Setup -> Add-ons. If everything is OK - a new Content migration item should appear in the Add-on products configuration control panel.

Export/import configuration

Default configuration of Quintagroup transmogrifier product is prepared to migrate site with archetypes-based content types, with standard archetype fields, properties and workflows.

Site with specific content types or archetype fields needs customization of export/import configuration.

Content migration configlet has export and import configurations, which is used by transmogrifier.

Look to collective.transmogrifier documentation to get into pipeline, blueprints and other transmogrifier-related stuff.

If you need - you can write your own blueprints, and register a desired utility which will perform import/export of some special stuff from objects. Then you may use created blueprint(s) in export/import configurations of the configlet.

The default configuration is registered in ZCML and it's initially displayed in the form. If you click 'Save' button for the first time it will be persisted in datebase and will override the default configuration. To swich back to default configuration simply leave blank input area and click 'Save'.

IMPORTANT NOTE

For importing/exporting content you have to use Python with libxml2 library support or Products.Marshall >=1.2.1. The requirement comes from quintagroup.transmogrifier using atxml namespace, while Products.Marshall <1.2.1 requires libxml2 library to register that namespace.

Attachments (15)

Download all attachments as: .zip