Fügt OpenWiki-Setup (Workflow, Seiten, CLAUDE.md-Verweis) und AGENTS.md hinzu, damit wiederkehrende Code-Dokumentation automatisch gepflegt wird. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
4.0 KiB
type, title, description, tags
| type | title | description | tags | |||||
|---|---|---|---|---|---|---|---|---|
| Quickstart | DocuMentor – Schnellstart | Einstiegspunkt in die Dokumentation. Überblick über DocuMentor, einer PySide6-Desktop-App für XSL-Transformationsverwaltung und PDF-Generierung. |
|
DocuMentor – Schnellstart
DocuMentor ist eine PySide6-basierte Desktop-Anwendung zur Verwaltung und Validierung von XSL-Transformationen mit automatischer PDF-Generierung. Sie richtet sich an Entwickler, die kontinuierlich XSL-Stylesheets pflegen und die Auswirkungen auf generierte PDF-Dokumente nachvollziehen müssen.
Was ist DocuMentor?
Der primäre Einsatz ist die Weiterentwicklung von PDF-Dokumenten in Flexnow (Prüfungsverwaltungs-Software). Die Basis bilden ca. 100 XSL-Dateien, die über <xsl:import/> und <xsl:include/> miteinander verknüpft sind. Änderungen an einer XSL-Datei können sich auf viele andere auswirken. DocuMentor hilft, diese Auswirkungen durch automatisierte Transformation und PDF-Vergleich zu kontrollieren.
Kern-Features
- Hierarchische Projektverwaltung – Baumstruktur für Transformations-Workflows mit verschachtelten Knoten
- Asynchrone Batch-Verarbeitung – Große Mengen von XML-Dateien im Hintergrund mit Fortschrittsanzeige
- Parallele Worker-Pools – Persistente JVM-Prozesse für Saxon (XSLT) und Apache FOP (PDF) eliminieren JVM-Startup-Overhead
- Duplikatserkennung – Hash-basierte (blake2b) Erkennung identischer XML-Dateien
- PDF-Vergleichsansicht – Drei-Panel-Ansicht (Referenz, Diff, Neu) mit Alpha-Blending und Zoom
- PostgreSQL-Integration – Datenbankanbindung mit Polars/ConnectorX
- XSL-Abhängigkeitsgraph – Visualisierung von
<xsl:import/>- und<xsl:include/>-Beziehungen via vis.js - Plattformübergreifend – Linux, Windows, macOS
Installation
Voraussetzungen
- Python 3.13+
- uv Paketmanager
- OpenJDK/JRE (für Saxon und Apache FOP)
Abhängigkeiten
uv sync
Externe Tools
| Tool | Zweck | Download |
|---|---|---|
| Saxon-HE | XSLT 3.0 Prozessor | saxonica.com |
| Apache FOP | PDF-Generierung aus XSL-FO | xmlgraphics.apache.org |
| diff-pdf | PDF-Vergleich | GitHub |
| OpenJDK | JVM für Saxon/FOP Worker-Pools | Eclipse Temurin |
Anwendung starten
uv run python src/main.py
Beim ersten Start öffnet sich der Einstellungsdialog, in dem die externen Tools (Java VM, Saxon JAR, Apache FOP, diff-pdf, XSL-Verzeichnis, PostgreSQL) konfiguriert werden.
Typischer Workflow
- Entwickler ändert XSL-Dateien
- Transformation in DocuMentor starten
- PDF-Diff begutachten: Wurden die richtigen PDFs geändert?
- Prüfen: Entspricht die Änderung der Erwartung?
- Ggf. zurück zu Schritt 1
Konfigurationsorte
| Plattform | Pfad |
|---|---|
| Linux | ~/.config/DocuMentor/config.json |
| Windows | %APPDATA%\DocuMentor\config.json |
| macOS | ~/Library/Application Support/DocuMentor/config.json |
Projektdaten werden pro Projekt in project.yaml gespeichert.
Wiki-Struktur
- Architektur-Überblick – PySide6-Mixin-Architektur, UI-Pattern, Thread-Modell, Konfigurationssystem
- Transformations-Pipeline – XML→FO→PDF→Diff, Worker-Pools, XSL-Abhängigkeitsgraph, Entscheidungslogik
- Datenmodelle & Konfiguration – AppSettings, Project, ProjectData, TreeNode/XslFile/XmlFile, Hash-System, PostgreSQL
- Build & Betrieb – Build-Prozess, MSI/ZIP-Distribution, Tests, Code-Style, Lizenzen
Backlog
- Web-Seite (
web/): Statische HTML-Landingpage mit Datenschutz/Impressum – nicht Teil der Anwendungslogik, bei Bedarf separat dokumentieren. - Skills (
skills/): Nurwrite-connector(OpenWiki-Skill), nicht projektspezifisch.