Funktionen¶
Plone-Migration deckt den vollständigen Ablauf von der Übernahme eines Plone-Exports bis zur Bereitstellung redaktionell verwertbarer Ergebnisse ab. Der Funktionsumfang gliedert sich in Datenübernahme und Strukturierung, Export in verschiedene Zielformate sowie eine LLM-gestützte Analyse- und Überarbeitungsstrecke.
Anwendungsszenarien¶
- Vorbereitung einer CMS-Migration. Inhalte aus Plone werden eingelesen, hierarchisch geordnet und in formatneutralem Markdown bereitgestellt, sodass sie in nachgelagerten Importprozessen weiterverwendet werden können.
- Strukturanalyse umfangreicher Webauftritte. Aus dem Export werden Seitenhierarchie, Content-Typen und Mengengerüste sichtbar gemacht, um Konsolidierungs- und Restrukturierungsbedarf zu identifizieren.
- Restrukturierung von Inhalten auf Webseiten. Anhand der LLM-Analyse werden Vorschläge für eine alternative, ergonomischere Seitenstruktur erzeugt — inklusive Begründung der Strukturentscheidungen.
- Textliche Überarbeitung von Teilwebseiten. Bestehende Inhalte (z. B. Hilfe- oder Service-Seiten) werden auf Basis der vorgelagerten Strukturanalyse überarbeitet; vorhandene Links bleiben erhalten.
- Aufbereitung für Stakeholder-Reviews. Migrations- und Analyseergebnisse werden als Word- oder Markdown-Dokument exportiert und können in Redaktion oder Qualitätssicherung ohne Zusatzwerkzeuge weiterbearbeitet werden.
Auf einen Blick¶
- Eingabe: Plone-JSON-Export bis 100 MB
- Ausgabe: einzelne Markdown-Datei, ZIP-Archiv mit Einzelseiten, Word-Dokument, Word-ZIP
- Externe Anbindung: eine OpenAI-kompatible LLM-Schnittstelle für Analyse und Textüberarbeitung
- Zweistufige LLM-Strecke: Inhaltsanalyse und darauf aufbauende Überarbeitungsvorschläge
- Beispieldaten zum Einarbeiten und Testen direkt aus der Oberfläche ladbar
- Live-Vorschau aller LLM-Ergebnisse als gerendertes Markdown
- Statistikübersicht zu Content-Typen und Hierarchieebenen nach jedem Import
Datenübernahme und Strukturierung¶
Die Anwendung verarbeitet Plone-Exporte im JSON-Format als zentrale Eingabe. Während des Imports wird jede Seite mit ihren Metadaten (UID, Titel, Beschreibung, Content-Typ, Sprache, Erstellungs- und Änderungsdatum) erfasst und auf eine vereinheitlichte interne Repräsentation abgebildet. Auf dieser Basis wird die vollständige Eltern-Kind-Hierarchie rekonstruiert.
- JSON-Import: Liest Plone-JSON-Exporte ein und prüft die Struktur. Eingebettete HTML-Inhalte aus den Feldern
textundanswerwerden ausgewertet; Base64-kodierte Bilder werden durch Platzhalter ersetzt, um die Markdown-Ausgabe lesbar zu halten. - Hierarchie-Rekonstruktion: Stellt die Seitenhierarchie über die Plone-UIDs der Eltern-Verweise wieder her und erkennt Root-Seiten und Verweise auf nicht vorhandene Elternknoten.
- Content-Typ-Erkennung: Identifiziert Standard-Plone-Typen wie
DocumentundFoldersowie weitere im Export enthaltene Typen, ohne sie semantisch einzuschränken. - Statistikübersicht: Listet die Anzahl der Seiten je Content-Typ, die Zahl der Root-Seiten und die im Export vertretenen Sprachen.
Konnektoren¶
Die Anwendung verfügt aktuell über einen externen Konnektor sowie einen datei-basierten Eingabe- und Ausgabekanal:
- OpenAI-kompatible LLM-Schnittstelle (extern). Sämtliche Analyse- und Überarbeitungsschritte erfolgen gegen eine OpenAI-kompatible Chat-Completions-API. Endpunkt, Modellname, Timeout und Wiederholungsversuche sind über Umgebungsvariablen konfigurierbar; ein Anbieterwechsel erfordert keine Codeänderung.
- Datei-Import (Eingang). Plone-Exporte werden als JSON-Datei über die Weboberfläche hochgeladen; eine direkte Anbindung an ein laufendes Plone-System ist nicht vorgesehen.
- Datei-Export (Ausgang). Sämtliche Ergebnisse — Strukturübersicht, aufbereitete Inhalte und LLM-Ausgaben — werden als herunterladbare Dateien bereitgestellt.
Import- und Exportformate¶
- Eingabe — Plone-JSON. Erwartet wird das von Plone erzeugte JSON-Format mit Feldern wie
UID,@type,title,description,text.data,parent.UID,created,modifiedundlanguage. Dateien bis 100 MB werden ohne Vorverarbeitung akzeptiert. - Ausgabe — einzelne Markdown-Datei. Vollständiger Export aller Seiten in einer kontextreichen Markdown-Datei mit Strukturübersicht, Metadaten und HTML-zu-Markdown-konvertiertem Inhalt.
- Ausgabe — ZIP-Archiv (Markdown). Pro Seite eine eigene Markdown-Datei in einer Verzeichnisstruktur, die der Plone-Hierarchie entspricht. Eine Datei
_structure.mdenthält Übersichten und Statistiken. - Ausgabe — Word-Dokument. Optionaler Export der Gesamtinhalte oder einzelner LLM-Ergebnisse als
.docx-Datei mit Metadaten (Titel, Autor, Kategorie). - Ausgabe — ZIP-Archiv (Word). Word-Variante des hierarchischen ZIP-Exports.
- Ausgabe — LLM-Ergebnisdateien. Inhaltsanalyse und Textvorschläge können separat als zeitgestempelte Markdown- oder Word-Datei heruntergeladen werden.
LLM-gestützte Analyse und Überarbeitung¶
Die KI-Komponente arbeitet zweistufig. Im ersten Schritt analysiert ein LLM die aufbereiteten Inhalte, identifiziert positive und negative Eigenschaften der bestehenden Struktur und erzeugt einen begründeten Vorschlag für eine alternative Gliederung. Im zweiten Schritt nutzt das LLM diese Analyse als Kontext und generiert konkrete Überarbeitungsvorschläge für die einzelnen Seiten, wobei vorhandene Links erhalten bleiben.
- Inhaltsanalyse: Strukturüberblick, qualitative Bewertung der bestehenden Inhalte und begründeter Vorschlag für eine alternative Seitenstruktur.
- Textüberarbeitung: Auf Basis der Analyse generierte, redaktionell verwertbare Markdown-Vorschläge mit erkennbarer Seitenzuordnung.
- Konfigurierbare Prompts: Die für Analyse und Überarbeitung eingesetzten System- und User-Prompts sind im Code zentral hinterlegt und anpassbar.
Qualitätssicherung¶
- Mehrstufigkeit. Strukturanalyse und Textüberarbeitung sind voneinander getrennt; das Analyse-Ergebnis kann eingesehen werden, bevor es als Kontext in die Überarbeitung einfließt.
- Nachvollziehbarkeit. Jede Stufe — Strukturübersicht, Statistik, Analyse, Überarbeitung — ist einzeln exportierbar und mit Zeitstempel versehen.
- Robuste API-Anbindung. Wiederholungsversuche mit exponentiellem Backoff bei vorübergehenden Fehlern (Rate Limit, Timeout, Verbindungsfehler); konfigurierbare Timeouts.
- Content-Längenkontrolle. Sehr lange Eingaben werden mit deutlichem Hinweis gekürzt, statt unkontrolliert abgeschnitten zu werden.
- Pfad- und Dateinamensbereinigung. Umlaute, Sonderzeichen und überlange Pfade werden für eine plattformübergreifende Verarbeitung normalisiert; doppelte Pfade werden automatisch unterschieden.
- Graceful Degradation. Optionale Funktionen (Word-Export) bleiben deaktiviert, wenn ihre Abhängigkeiten fehlen, ohne den Hauptpfad zu stören.
Bedienung und Vorschau¶
- Webbasierte Oberfläche. Bedienung über eine browserbasierte Oberfläche; keine lokale Installation auf den Endgeräten erforderlich.
- Live-Markdown-Vorschau. LLM-Ausgaben werden direkt formatiert dargestellt.
- Fortschrittsanzeige. Längere Verarbeitungsschritte werden mit einem Status-Indikator begleitet.
- Beispieldaten: Ein mitgelieferter Plone-Beispielexport kann ohne eigene Daten geladen werden, um den Ablauf nachzuvollziehen.