Jan Mevissen: The Migration You Can Watch, a Live Orchestrator for Classic Plone to Volto

published Sep 23, 2026

Presentation by Jan Mevissen at Plone Conference 2026

My first migration was from Plone 2 to Plone 3. I will talk about migrating from Classic Plone to Volto.

Common problems with migrations:

  • A run can take fours, sometimes even days, and during the run you see nothing. You only know the results at the end. The editors may already want to start editing on the new site before the migration has finished.
  • You never migrate only once. You do test runs, make fixes, there is new content in the old site. Every step must be safe to repeat.
  • After twenty years of editing in the site, not every page with html may be correctly translatable to Volto.
  • Nobody can check every page, if a site has many thousands of pages. How do you know that the content has arrived?

What we need: monitoring, reliability, comparison of old and new content. So we created orchestration with a migration monitor. This runs every step, and keeps the files between the steps. It shows the run in the browser.

The source is classic Plone. A project-specific add-on defines the export steps. Then we convert html to Volto blocks. Then we import in the new site. Finally we finish, with things like setting default pages, updating links, dates, catalog.

Each step shows its progress, can be stopped, can be repeated.

During conversion to Volto blocks, if some html cannot be converted, we include this literally in an html block, so nothing gets lost. Then we report, for example: 115 out of 330 pages have no html blocks, or the html blocks contain this many characters. Comparison: show old and new page next to each other so you can visually inspect.

The tool uses websockets and FastAPI in the backend.

Demo time. (Very nice!)

If you plan a migration, talk to us. Currently the quality is good for internal usage, but we are not yet ready for releasing it.