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.