Why collective.transmute?

Contents

Why collective.transmute?#

With several migration options available, why introduce another tool?

collective.transmute is designed to focus exclusively on the "transform" step of the ETL process:

Extract

Use collective.exportimport on the source site to export data, optionally applying initial transformations. For example, transform Archetypes to Dexterity, or Topics to Collections.

Transform

Apply repeatable, testable, and extensible transformations to the exported data using collective.transmute. This step is independent of both the source and target environments.

Load

Import the transformed data into Plone using plone.exportimport, without needing extra add-ons in production.

This separation allows developers to focus on transformation logic, debug migration issues efficiently, and avoid unnecessary re-exporting or re-importing of data.

Design goals#

No dependency on Plone or Zope packages

Transformations can be run quickly and independently, without installing additional software.

Repeatable and testable transformation process

Generates reports comparing source and transformed data, supporting transparency and troubleshooting.

Extensible by third-party developers

Lessons learned from Transmogrifier are applied, enabling integrators to implement custom business logic and transformation steps.

collective.transmute empowers you to build focused, maintainable, and efficient migration workflows for Plone, making the transformation phase modular, testable, and developer-friendly.