Plone 6 and Mosaic Content


We have a Plone-site (5.2.1) with around 100’000 pages. I estimate about 30’000 of them use Mosaic with many different tiles (mostly PersistentTiles).

Currently, we are discussing about migrating to Plone 6 Classic. What can we do about the Mosaic content? Mosaic 2.2.3 is currently not working with a minimal Plone 6.0.0a site so I assume it is not / will not be supported by Plone 6 (because of Volto) or is it?

We're currently running Plone 6.0.0a1 with #barceloneta-lts branch GitHub - plone/ at barceloneta-lts ... there will be efforts to update so that it's compatible with the mockup ES6 changes very soon. Join classic-ui channel on discord (Plone) to get in touch with others running Classic/Mosaic installations ...


Are you already running Plone 5.2 with Python 3, or are you still on Python 2?

If you are already running on Python3 and have no more Archetypes in the site, then there is data migration wise not much to do for Plone 6 and as @petschki responded there is a Plone 6 branch of (that needs more work).

The possible challenge with PersistentTiles is that their data is stored as an annotion on every context/item and the annotion is loosely coupled through the content layout html field with urls containing an Annotion UUID. I assume (but have not tested personally) that with the inplace migration method those annotations will be saved / restored.

If you want to use a different migration strategy (ETL with transmogrifier or collective.exportimport), I know that at least for collective.exportimport there is no support yet for those Annotations from PersistentTiles.

We have done some first work for a customer this autumn to allow for copying mosaic layouts from one site to another by extending collective.exportimport, but there are still some limitation and issues to solve there. I'm not knowledgable on the current support in transmogrifier setups or pipelines.

Thanks! Tried it with the barceloneta-lts branch and now it worked like a charm.

We are running it with Python 3 and without Archetypes content. So we are happy to hear it's probably not a big deal migrating to Plone 6.
And even if the in-place migration is not retaining the annotations I think using collective.exportimport with custom hooks (thx for your great talk at the Plone-conf btw) could be a great alternative.

Plone Foundation Code of Conduct