Skip to content

Plone-Migration

Plone-Migration is a web-based application for transferring Plone CMS content into a structured, editorially reusable form. The application processes Plone JSON exports, reconstructs page hierarchies, and focuses on two main tasks: structured preparation of large web sites and textual revision of selected sections by means of a two-stage LLM pipeline. Functionality covers file import, hierarchy reconstruction, export to several formats, and a sequential AI workflow that first analyses content and structure and then generates concrete revision suggestions on that basis.

At a glance

  • Read Plone content from a JSON export and turn it into a searchable, hierarchical representation
  • Review page structures to identify consolidation and restructuring needs
  • Have selected sections of a website revised textually — based on a preceding structural analysis
  • Export migration results as a single Markdown file or as a hierarchical directory ZIP in one step
  • Provide analysis and revision suggestions for editorial follow-up as Markdown and Word documents
  • Load a sample data set on demand to walk through the workflow without having to provide own data

Highlights

In contrast to a direct LLM prompt or a simple conversion script, Plone-Migration cleanly separates the preparation steps and exposes each intermediate stage for inspection and export. This makes the result traceable and usable for editorial and quality-assurance work.

  • Two-stage LLM pipeline. Structural analysis runs in a first step; textual revision suggestions in the second step use the analysis result as context. Both stages can be inspected and exported separately.
  • Hierarchy-preserving processing. Parent-child relationships from the Plone export are fully reconstructed and mirrored in all export formats.
  • Multiple input and output formats. Input as Plone JSON; output as a consolidated Markdown document, as a ZIP archive with one file per page, or as a Word document.
  • Connection to external LLM backends. An OpenAI-compatible interface allows different LLM providers to be used without modifying the application code.
  • Robust file handling. JSON files up to 100 MB are supported; long paths are shortened automatically, file names are sanitised, and path collisions are resolved.
  • Graceful degradation. If an optional component is missing (e.g. the Word export library), the Markdown path remains fully functional; transient API errors are caught by retries.
  • Traceable intermediate results. Structure overview, per-content-type statistics, and LLM outputs can be inspected and exported individually with a timestamp, making them suitable for documentation in reviews.
  • Containerised deployment. The application runs as a Docker image; an example configuration for reverse-proxy operation (Nginx) is included.