Media Transformation Lifecycle using Transmogrifier
What is the Intention of this Diagram?
This infographic was the result of an very inspiring exchange with Joerg Oyen during his "Sprechstunde" open talk on the 10th of April 2012 explaining the simple process behind the possibilities of the fantastic and universal Transmogrifier framework.
View the graphic and download it as a vector based PDF.
Migration as Conversion
The topic was not to migrate only one CMS content to a new CMS system but to use the process for permanent media transformations (conversion) for different targets (aka devices or medias).
What is Transmogrifier?
Transmogrifier was intended as a configurable pipeline, aiming at transforming content for import and export. Transmogrifier is a software framework developed by the community of the Open Source ECMS Plone since 2009 and written in Python, a very powerful programming language. Python is often used as a more effective and secure alternative to unsecure PHP or code munching Java. Transmogrifier consists of a pipeline of multiple independent modules called blueprints. The source content runs through the pipeline(s) until the process is finished.
Why is Transmogrifier different?
Plone already has a transformation chain system called "portal transformations". Its purpose is to transform content before saving or during rendering to HTML from simpler wiki like text markup and "filter" for security purposes. This chain usually makes no larger in-between decisions and needs no user configurable branches. Transmogrifier can change everything during content creation, not only the body of the content area. You can split and join content.
Why "objects" not pages?
Plone is far more than a simple CMS. It uses the famous ZOPE Application Server as its framework. ZOPE means "Z Object Publishing Environment" and that is the trick. With the object orientation and the ZODB database or alternative Storage you can model nearly every storage solution with persistent storage and live modifications for multiple channels. Workflows can modify the states of the content and trigger transforms as well. Plone can be accessed via WebDAV like a filesystem and use a technology called "marshalling" to publish content to different targets with different transformations. This is done live with existing objects.
What can you do differently with Transmogrifier?
We talk here about more complex logic in the transformation process itself.
The transformation process can:
- use any source (external or internal)
- crawl websites and databases
- aggregate content from many sources (far more than RSS can do)
- split and join content
- delete content
- create content
- extend content
- loop
- branch
- be paused (to fix an issue)
- save in-between steps
- rerun again
- ... whatever your blueprints can do together
Nearly every transformation you can imagine can be projected to the source to match the target. If a big conversion cannot be completed, the intermediate result can be saved and used to start over without rerunning the whole process again.
Feedback
I am very interested in learning from your personal use of Transmogrifier and would like to help you to publish this as well. Please send an email to transmogrified@evenios.com.
Credits
People who inspired me to write this down:
Joerg Oyen gave the kick for the Infographic to make the process visible for his upcoming article published during the Drupa 2012 international trade fair in Düsseldorf.
Lennart Regebro introduced Transmogrifier in 2009 during his Munich and Budapest talks (see Slides on Slideshare).
Rok Garbas for his Transmogrifier talk in Dresden 2010.
Dylan Jay for the Funnel Web talk on using Transmogrifier in Bristol 2011.
The Initial version of this article was published in April 2012
Download
You can find Transmogrifier at the Python Cheeseshop under:
Additional blueprints and integration modules
Search for Transmogrifier to find additional blueprints and integration modules. Due to the modularity of the Zope architecture behind Plone, you can even use Transmogrifier to convert or transform from any source to any target without Plone as an intermediate platform.
More Startpoints understanding Transmogrifier
Slides & talks
Google is Your Friend!
Cartoons
If you find some cartoons featuring Calvin & Hobbes using the Transmogrifier it can make your world brighter. Since they are not Open Source you should also buy a book to avoid making the traditional media industry angry ;-)
Initially published April 13th 2012