26 KiB
Meilensteine V2.0 – JavaFX-GUI, Konfigurationskomfort und technischer Ausbau
Zweck dieses Dokuments
Dieses Dokument beschreibt den geplanten Ausbau des Projekts ab dem final freigegebenen Stand V1.1 hin zu V2.0 sowie einen klar abgegrenzten Ausblick auf spätere Ausbaustufen.
Es ergänzt die bestehenden Spezifikationsdokumente und den dokumentierten Ist-Stand V1.1 um eine neue, bewusst größere Produktstufe. V2.0 erweitert die bisher reine Batch-Anwendung um eine lokale JavaFX-Desktop-GUI, ohne die bestehende Architektur, das Standalone-JAR-Betriebsmodell oder den headless Scheduler-Betrieb aufzugeben.
Das Dokument ist als Planungs- und Strukturierungsgrundlage gedacht. Es definiert keine Arbeitspakete, sondern die neuen Meilensteine, Abgrenzungen und Ausbaustufen für den nächsten Entwicklungsschritt.
Einordnung von V2.0
Ausgangsbasis
V1.1 ist der aktuelle, fertig implementierte und abgenommene Stand des Projekts.
Darauf aufbauend gilt:
- V1 ist fachlich und technisch vollständig umgesetzt.
- V1.1 erweitert V1 minimal-invasiv um native Claude-Unterstützung.
- Das bisherige Betriebsmodell bleibt ein lokal gestartetes Standalone-JAR.
- Der Batch-Betrieb über Windows Task Scheduler bleibt weiterhin erhalten.
- Die Anwendung arbeitet bisher ohne GUI, ohne Webserver, ohne App-Server.
- Die technische Konfiguration erfolgt weiterhin über
.properties. - Es gibt bereits mehrere Provider-Konfigurationen, aber immer genau einen aktiven Provider.
Warum V2.0 und nicht V1.x
Der geplante GUI-Ausbau ist kein kleiner Nachschlag zu V1.1, sondern eine neue Produktstufe.
V2.0 ist gerechtfertigt, weil gleichzeitig neu hinzukommen:
- neuer Standard-Startmodus über eine Desktop-GUI
- zusätzlicher Inbound-Adapter für JavaFX
- neuer Benutzerzugang zur Konfiguration
- technische Tests und Korrekturhilfen in der GUI
- neue CLI-Option
--config <pfad>für beide Startarten - Windows-zentrierte Desktop-Unterstützung mit gemappten Laufwerken
V2.0 bleibt jedoch architekturtreu und bewahrt das bisherige Kernziel der Anwendung:
PDFs automatisiert scannen, fachlich verarbeiten und korrekt benannte Zielkopien erzeugen.
Unveränderte Leitplanken auch in V2.0
Die folgenden Grundprinzipien bleiben in V2.0 ausdrücklich erhalten:
- Java 21
- Maven Multi-Module
- ausführbares Standalone-JAR
- kein Webserver
- kein Applikationsserver
- keine Dauerlauf-Anwendung
- kein interner Scheduler
- strikte hexagonale Architektur / Ports and Adapters
- Abhängigkeiten zeigen nach innen
.propertiesbleibt die einzige Konfigurationswahrheit- bestehender headless Batch-Betrieb bleibt erhalten
- genau ein aktiver Provider
- keine neue Persistenz-Wahrheit
- fachliche Kernlogik des PDF-Umbenenners bleibt unverändert
Zielbild von V2.0
V2.0 erweitert die Anwendung um eine lokale JavaFX-Desktop-GUI.
Start- und Betriebsmodell in V2.0
- Die Anwendung bleibt ein einziges ausführbares JAR.
- GUI ist der neue Standardstart.
- Über
--headlessstartet weiterhin der bestehende Server-/Scheduler-Betrieb. - Über
--config <pfad>kann sowohl der GUI- als auch der headless Start auf eine konkrete Konfigurationsdatei zeigen. - Bestehendes headless Standardverhalten ohne
--configbleibt aus Abwärtskompatibilitätsgründen erhalten. - Wenn
--config <pfad>im headless Start auf eine nicht existente Datei zeigt, ist dies ein harter Startfehler; ein stiller Fallback auf das Default-Verhalten ist in diesem Fall unzulässig. - Wenn
--config <pfad>im GUI-Start auf eine nicht existente Datei zeigt:- erscheint eine Fehlermeldung,
- danach verhält sich die GUI so, als wäre
--confignicht angegeben worden.
Plattformziel
- V2.0-GUI wird offiziell nur unter Windows unterstützt.
- Der headless Betrieb bleibt für den Windows Server-Betrieb geeignet.
- Gemappte Laufwerke wie
S:\oderH:\sind ausdrücklich zu unterstützen. - Eine Ablehnung solcher Pfade allein wegen eines dahinterliegenden UNC-Backings ist unzulässig.
GUI-Threadingmodell
Jede potenziell blockierende Operation der GUI – insbesondere providerseitiger Modellabruf, providerseitige technische Tests, Pfad- und Dateisystemprüfungen, SQLite-Prüfungen sowie das Lesen und Schreiben der .properties-Datei – läuft auf einem Hintergrund-Worker-Thread. UI-Updates erfolgen ausschließlich über den JavaFX Application Thread (Platform.runLater). Die GUI darf während laufender Hintergrund-Operationen nicht einfrieren.
Packaging-Ziel
- JavaFX wird mit dem JAR ausgeliefert.
- Es gibt in V2.0 keine EXE.
- Es gibt in V2.0 keinen Installer.
--headlessdarf logisch weiterhin ohne GUI-Pfadzweige funktionieren; GUI-Code darf den headless Ablauf nicht unnötig früh initialisieren.
Modulziel in V2.0
Die Modulstruktur wird um genau ein neues Modul erweitert:
pdf-umbenenner-domainpdf-umbenenner-applicationpdf-umbenenner-adapter-in-clipdf-umbenenner-adapter-in-guipdf-umbenenner-adapter-outpdf-umbenenner-bootstrap
Die GUI wird nicht im Bootstrap-Modul vermischt, sondern als eigener Inbound-Adapter umgesetzt.
Logging in der GUI
Der GUI-Adapter nutzt denselben Log4j2-Stack wie der headless Pfad. Mindestens geloggt werden: Start- und Beendigungsereignisse der GUI, Modellabruf-Versuche (Provider, Erfolg/Misserfolg, ohne API-Key), Dateischreibvorgänge inkl. Zielpfad, Ergebnisse der Aktionen Validieren und Technische Tests ausführen, sowie alle schreibenden Korrekturen. Das Logformat und der Log-Pfad bleiben gegenüber dem headless Betrieb unverändert.
Exit-Codes
0für die normale erfolgreiche Beendigung eines headless Laufs sowie für das reguläre Beenden der GUI.1für harte Start-, Bootstrap-, Verdrahtungs-, Konfigurations- oder Initialisierungsfehler, einschließlich ungültiger CLI-Verwendung, nicht existenter--config-Datei im headless Start und GUI-Startfehlern vor erfolgreicher Anzeige der Oberfläche.- Dokumentbezogene Verarbeitungsfehler im headless Lauf ändern dieses Exit-Code-Modell nicht; sie bleiben Teil des fachlichen Laufresultats wie bereits in V1.1.
V2.0-Funktionsumfang
1. GUI als Konfigurations- und Diagnose-Frontend
V2.0 führt noch keinen manuellen Verarbeitungslauf in der GUI ein.
Die V2.0-GUI dient zunächst ausschließlich als:
- Editor für die bestehende
.properties-Konfiguration - technische Validierungsoberfläche
- technische Test- und Diagnoseoberfläche
- komfortable Dateiauswahl- und Speichermaske
2. Struktur der V2.0-GUI
V2.0 enthält genau einen Tab mit einer klaren, festen Gliederung.
Reihenfolge:
- Header mit Konfigurationsdatei
- Pfade
- Provider
- Verarbeitungslimits
- Tests
- Meldungen
Beim Start ohne geladene Konfiguration wird kein leerer Standardentwurf angezeigt. Stattdessen erscheint ein deutscher Willkommenstext mit Hinweis auf „Neu“ und „Öffnen“.
3. Dateiverhalten der GUI
- Es wird keine Konfiguration automatisch geladen.
- Die GUI kann bestehende
.properties-Dateien öffnen. - Die GUI kann neue Konfigurationen anlegen.
- Eine neue Konfiguration startet mit einer vollständigen Standardvorlage mit sinnvollen Standardwerten.
- Beide bekannten Provider-Blöcke sind in der Datei vorhanden.
- Standardmäßig ist der alphabetisch erste vorhandene Provider aktiv; im aktuellen Stand ist das Claude.
- Speichern ist immer erlaubt.
- Bei einer neuen, noch nie gespeicherten Konfiguration verhält sich „Speichern“ wie „Speichern unter“.
- „Speichern unter“ schlägt standardmäßig denselben Standardpfad vor, den der bestehende headless Betrieb in V1.1 verwendet, also
config/application.propertiesrelativ zum Arbeitsverzeichnis. Dadurch ist die in der GUI gespeicherte Datei ohne weitere Schritte für den nächsten headless Scheduler-Lauf nutzbar. - Bei existierender Zieldatei erscheint die Rückfrage „Datei überschreiben?“.
- Vor dem Überschreiben einer bestehenden
.properties-Datei legt die GUI eine.bak-Sicherung im selben Schema wie der bestehende V1.1-Migrationspfad an (<dateiname>.bak, bei Kollision.bak.1,.bak.2, …). - Datei-Dialoge filtern auf
*.properties. - Ungespeicherte Änderungen werden im Fenstertitel und im Header markiert.
- Vor Neu, Öffnen oder Schließen erscheint bei ungespeicherten Änderungen ein Dialog mit:
- Speichern
- Verwerfen
- Abbrechen
4. Umgang mit der bestehenden Konfigurationsdatei
- Die GUI liest, bearbeitet und schreibt dieselbe
.properties-Datei wie der headless Betrieb. - Wenn die GUI eine Datei in der Legacy-Form aus Vor-V1.1 öffnet, wendet sie dieselbe Migrationslogik wie der headless Pfad an: zuerst
.bak-Sicherung der Originaldatei, dann Überführung in das neue Mehrprovider-Schema, dann Anzeige im Editor. Dem Benutzer wird die durchgeführte Migration sichtbar im zentralen Meldungsbereich gemeldet. - Kommentare und Reihenfolge dürfen beim Speichern normalisiert werden.
- Die GUI darf alle aktuell bekannten Konfigurationswerte bearbeiten.
- Es wird kein neues Konfigurationsformat eingeführt.
5. Provider-Bereich in V2.0
- Es gibt eine Provider-ComboBox.
- Sichtbar ist immer nur der aktuell ausgewählte Provider-Bereich.
- Ein Provider-Wechsel löscht die Daten des anderen Providers nicht.
- Die GUI muss also mit der bestehenden Mehrprovider-Dateistruktur kompatibel bleiben.
- Sichtbare Providerbezeichnungen können zunächst pragmatisch sein, z. B.:
- Claude
- OpenAI-kompatibel
6. Modellwahl in V2.0
- Nach Providerwechsel startet der Modellabruf automatisch.
- Wenn eine Modellliste erfolgreich geladen werden kann:
- erscheint eine nicht editierbare ComboBox,
- die nie leer ist,
- deren erstes Modell automatisch vorbelegt ist.
- Wenn keine Modellliste verfügbar ist:
- erscheint statt der ComboBox ein leeres Texteingabefeld,
- das Modell muss dann manuell eingetragen werden.
- Ein zuvor manuell eingetragener Modellname wird verworfen, wenn später eine echte Modellliste geladen wird und der Wert dort nicht vorkommt.
7. Felder, Picker und Pfadangaben
Für folgende Pfade gibt es jeweils:
- ein Texteingabefeld
- plus einen kleinen nativen Datei-/Ordnerdialog-Button
Dies gilt mindestens für:
- Quellordner
- Zielordner
- SQLite-Datei
- Prompt-Datei
8. API-Key in V2.0
- Der API-Key wird direkt in der
.properties-Datei gespeichert und bearbeitet. - Die GUI respektiert dabei die bestehende V1.1-Auflösungsreihenfolge:
- providerspezifische Umgebungsvariable,
- bei OpenAI-kompatibel zusätzlich die bestehende Legacy-Umgebungsvariable,
- Property-Wert aus der
.properties-Datei.
- Die GUI macht diese Herkunft für den Benutzer sichtbar, insbesondere wenn aktuell eine Umgebungsvariable Vorrang vor dem in der Datei eingetragenen Wert hat.
- Das GUI-Feld ist bewusst als normales, unmaskiertes Textfeld vorgesehen; dies ist eine pragmatische V2.0-Entscheidung und keine Sicherheitsbehauptung.
- Ein leeres GUI-Feld darf einen bereits vorhandenen Property-Wert nicht stillschweigend löschen, wenn keine Umgebungsvariable greift. In diesem Fall bleibt der bestehende Property-Wert erhalten und es erscheint eine deutliche Warnung.
9. Meldungen und feldnahe Validierung
V2.0 enthält zwei Ebenen der Benutzerführung:
A. zentraler Meldungsbereich unten
Der Meldungsbereich ist:
- groß
- nicht editierbar
- dauerhaft sichtbar
Er nutzt vier feste Stufen:
- Info
- Hinweis
- Warnung
- Fehler
Dabei gilt:
- nur das Präfix („Info:“, „Hinweis:“, „Warnung:“, „Fehler:“) ist farbig
- der eigentliche Text derselben Zeile bleibt schwarz
B. feldnahe Validierung
Bei Eingabefehlern erscheint direkt unter dem betroffenen Feld:
- eine kleine
- rote
- deutschsprachige
- hilfreiche Fehlermeldung
10. Automatische Validierung beim Öffnen und während der Bearbeitung
- Automatische Validierung bezeichnet in V2.0 die im Hintergrund laufende Prüfung aus M11.
- Eine geladene Konfiguration wird sofort beim Öffnen geprüft.
- Es gibt Fehler, Warnungen und Hinweise.
- Auch unsinnige, aber formal gültige Einstellungen werden als Warnung bewertet.
max.text.characterserhält in V2.0 bewusst wirtschaftliche Warnschwellen:- bis 1.000: unkritisch
- 1.001–3.000: Warnung
- ab 3.001: starke Warnung
max.pagesdient in V2.0 nur als Plausibilitäts-/Performance-Hinweis, nicht als primäre Kostenwarnung.- Warnungen verhindern das Speichern nicht.
- Fehler markieren den Zustand als nicht lauffähig.
- Speichern bleibt trotzdem erlaubt.
- Vor dem Speichern eines als nicht lauffähig markierten Stands erscheint jedoch eine deutlich sichtbare Warnung im zentralen Meldungsbereich, die ausdrücklich auf mögliche Auswirkungen auf den nächsten headless Lauf hinweist.
11. Aktion „Validieren“ und technische Tests
- Aktion „Validieren“ bezeichnet in V2.0 die explizite M12-Bedienhandlung über den gleichnamigen Button.
- Diese Aktion nutzt denselben Kernregelrahmen wie die automatische Validierung, darf aber zusätzliche lokale Prüfpunkte zusammenführen und schreibt nichts auf die Platte.
V2.0 enthält mindestens diese Aktionen:
- Neu
- Öffnen
- Speichern
- Speichern unter
- Validieren
- Technische Tests ausführen
- Modelle neu laden
Für Aktion „Validieren“ und „Technische Tests ausführen“ gilt:
- sie arbeiten auf dem aktuellen GUI-Zustand
- also auch auf ungespeicherten Änderungen
- die Datei wird dabei nicht implizit gespeichert
- ein Hinweis auf ungespeicherte Prüfgrundlage ist zweckmäßig
12. Umfang der technischen Tests in V2.0
Die technischen Tests werden in V2.0 nur als Gesamttest angeboten.
- kein Einzeltasten-Test pro Prüfpunkts
- kein Abbruch beim ersten Fehler
- alle Prüfpunkte werden vollständig durchlaufen
- alle Befunde werden gesammelt ausgegeben
Zu prüfen sind mindestens:
- Properties-Datei validieren
- Provider-Konfiguration prüfen
- Base-URL/Endpoint erreichbar
- API-Key vorhanden, auch wenn der effektive Wert ausschließlich über eine passende Umgebungsvariable bereitgestellt wird
- API-Key technisch akzeptiert
- Modellliste abrufbar
- gewähltes Modell plausibel
- Prompt-Datei vorhanden/lesbar
- Quellordner vorhanden/lesbar
- Zielordner vorhanden oder anlegbar/schreibbar
- SQLite-Datei bzw. Pfad nutzbar
13. Korrigierende technische Tests
V2.0 erlaubt bei technischen Tests auch korrigierende Maßnahmen, soweit diese sicher und lokal sinnvoll sind.
Beispiele:
- Zielordner anlegen
- SQLite-Datei anlegen
- Prompt-Datei anlegen
- technische Kleinkorrekturen übernehmen
Dabei gilt:
- Es erfolgt kein stilles Schreiben im Hintergrund.
- Vor schreibenden Korrekturen erscheint ein gesammelter Bestätigungsdialog:
- „Folgende Korrekturen werden durchgeführt … Fortfahren?“
Nicht automatisch korrigierbar bleiben insbesondere:
- falscher API-Key
- unerreichbare Base-URL
- nicht verfügbare Modellliste
- sonstige externe technische Fehler
14. Prompt-Datei in V2.0
- Wenn die konfigurierte Prompt-Datei fehlt, darf V2.0 automatisch eine sinnvolle Standard-Prompt-Datei erzeugen.
- Diese Standard-Prompt-Datei ist deutschsprachig.
- Standardmäßig liegt sie im selben Ordner wie die
.properties-Datei.
Explizit nicht Bestandteil von V2.0
Die folgenden Themen wurden bewusst angesprochen, aber aus V2.0 ausdrücklich ausgegrenzt:
- manueller Verarbeitungslauf aus der GUI
- Start eines echten Batch-Laufs per GUI
- Visualisierung der SQLite-Datenbank in der GUI
- Anzeige der Historie in einem eigenen GUI-Tab
- Kosten-Tracking
- exakte Token-Schätzung
- echte Kostenprognose
- echter Mini-KI-Testaufruf mit fachlicher Antwortauswertung
- EXE-Datei
- Installer
- zusätzliche Provider über Claude und OpenAI-kompatibel hinaus
- automatischer Fallback zwischen Providern
- mehrere benannte Profile pro Provider
- plattformübergreifender offizieller GUI-Support
- neues Konfigurationsformat
- Änderung der fachlichen Kernverarbeitung des PDF-Umbenenners
- Änderung der bestehenden Status-, Retry- oder Persistenz-Wahrheit
- neuer Parameter zur gesonderten Steuerung der für die KI berücksichtigten Seiten
Neue Meilensteine für V2.0
Grundsätze für alle V2.0-Meilensteine
- Jeder Meilenstein liefert einen in sich geschlossenen, buildbaren Entwicklungsstand.
- Jeder Meilenstein bleibt architekturtreu.
- Die Erweiterung darf den bestehenden headless Betrieb nicht still brechen.
- GUI und headless greifen auf dieselbe
.properties-Konfigurationswelt zu. - V2.0 führt keine neue Persistenz-Wahrheit und keine neue Fachlogik für die PDF-Benennung ein.
- Der Fokus liegt auf Benutzerkomfort, Konfigurationssicherheit und Diagnosefähigkeit.
M9 – GUI-Grundgerüst, neues Betriebsmodell und Packaging-Basis
Ziel
Die Anwendung erhält das technische Grundgerüst für eine JavaFX-GUI, ohne den bestehenden headless Batch-Betrieb zu verlieren.
Inhalt
- neues Modul
pdf-umbenenner-adapter-in-guieinführen - Startumschaltung zwischen GUI-Standardstart und
--headlessumsetzen - neue CLI-Option
--config <pfad>für GUI und headless einführen - bestehendes headless Default-Verhalten ohne
--configerhalten - Bootstrap so erweitern, dass GUI und headless sauber verdrahtet werden
- JavaFX in das ausführbare JAR integrieren
- sicherstellen, dass GUI-Code den headless Pfad nicht unnötig früh initialisiert
- Windows als offizielles GUI-Zielsystem festlegen
Lauffähiger Stand
- ein gemeinsames ausführbares JAR kann GUI oder headless starten
--headlessbleibt abwärtskompatibel nutzbar--configist für beide Startarten funktionsfähig- GUI-Start schlägt bei fehlender GUI-Voraussetzung kontrolliert mit klarer Fehlermeldung fehl
Tests
- Starttests für GUI-Standardstart
- Starttests für
--headless - Starttests für
--config - Negativtests für ungültige oder fehlende Konfigurationspfade
- Smoke-Tests für Packaging und Artefakterzeugung
M10 – GUI-Konfigurationseditor, Dateihandling und Benutzerführung
Ziel
Die GUI kann bestehende .properties-Dateien komfortabel öffnen, neue anlegen, bearbeiten und speichern.
Inhalt
- Header mit aktuell genutztem Konfigurationspfad implementieren
- Aktionen Neu, Öffnen, Speichern, Speichern unter einführen
- Startzustand ohne geladene Konfiguration mit Willkommenstext umsetzen
- vollständige Standardvorlage mit sinnvollen Defaults für neue Konfigurationen bereitstellen
- alle aktuell bekannten Konfigurationswerte in der GUI abbilden
- Texteingabefelder plus Datei-/Ordnerdialoge für relevante Pfade umsetzen
- ungespeicherte Änderungen in Fenstertitel und Header markieren
- Dialoglogik für Speichern/Verwerfen/Abbrechen bei offenen Änderungen einführen
- Speicherlogik mit Normalisierung der
.propertiesumsetzen
Lauffähiger Stand
- neue und bestehende Konfigurationen können komfortabel bearbeitet werden
- neue Konfigurationen können unter
config/application.propertiesrelativ zum Arbeitsverzeichnis vorgeschlagen gespeichert werden - bestehende Konfigurationen können sicher geöffnet und überschrieben werden
- die GUI arbeitet vollständig auf der bestehenden
.properties-Wahrheit
Tests
- Tests für Öffnen/Speichern/Speichern unter
- Tests für neue Konfiguration mit Standardwerten
- Tests für Dialogverhalten bei ungespeicherten Änderungen
- Tests für Normalisierung und korrekten Schreibstand der
.properties
M11 – Provider-Bedienung, Modellabruf und automatische Validierung
Ziel
Die GUI bildet die bestehende Mehrprovider-Konfiguration komfortabel ab und validiert den Editorstand sofort und benutzerfreundlich.
Inhalt
- Provider-ComboBox für Claude und OpenAI-kompatibel umsetzen
- nur den aktuell gewählten Provider-Bereich sichtbar machen
- Providerwechsel ohne Datenverlust des jeweils anderen Provider-Blocks umsetzen
- automatischen Modellabruf bei Providerwechsel einführen
- explizite Aktion „Modelle neu laden“ an denselben Modellabruf anbinden
- Umschaltung zwischen Modell-ComboBox und manuellem Modell-Textfeld umsetzen
- automatische Validierung beim Öffnen und während der Bearbeitung einführen
- zentralen Meldungsbereich mit vier Stufen implementieren
- feldnahe rote Fehlermeldungen unter problematischen Eingabefeldern ergänzen
- wirtschaftliche Warnlogik für
max.text.charactersergänzen max.pagesals Plausibilitäts-/Performance-Hinweis behandeln
Lauffähiger Stand
- Provider können komfortabel gewählt werden
- Modelllisten können automatisch geladen und dargestellt werden
- die GUI erkennt Fehler, Warnungen und Hinweise unmittelbar
- unvollständige oder riskante Konfigurationen werden benutzerfreundlich sichtbar gemacht
Tests
- Tests für Providerwechsel und Provider-spezifische Felder
- Tests für Modellabruf mit Liste und ohne Liste
- Tests für automatische Validierung beim Öffnen
- Tests für Meldungsstufen, Warnschwellen und feldnahe Fehleranzeige
M12 – Technische Tests, Korrekturhilfen und Windows-/Netzlaufwerksfähigkeit
Ziel
Die GUI kann den aktuellen Editorstand technisch prüfen, alle Befunde gesammelt anzeigen und sinnvolle technische Korrekturen nach Benutzerbestätigung durchführen.
Inhalt
- Aktion Validieren umsetzen
- Aktion Technische Tests ausführen als Gesamttest umsetzen
- alle definierten Prüfpunkte vollständig und gesammelt ausführen
- Prüfungen gegen den aktuellen GUI-Zustand ohne implizites Speichern ausführen
- korrigierende technische Maßnahmen mit gesammeltem Bestätigungsdialog einführen
- automatische Standard-Prompt-Erzeugung bei fehlender Prompt-Datei einführen
- Netzlaufwerke über gemappte Laufwerksbuchstaben ausdrücklich unterstützen
- Pfadprüfungen für Quellordner, Zielordner, SQLite-Datei und Prompt-Datei vervollständigen
Lauffähiger Stand
- technische Gesamtprüfung liefert vollständige, verständliche Diagnose
- lokale Korrekturen können kontrolliert durchgeführt werden
- gemappte Laufwerke wie
S:\werden im Windows-Kontext korrekt akzeptiert - fehlende Prompt-Datei kann automatisch sinnvoll erzeugt werden
Tests
- Tests für Gesamttest ohne Frühabbruch
- Tests für Korrektur-Bestätigungsdialog
- Tests für technische Korrekturen (Ordner/Datei/Prompt)
- Tests für gemappte Laufwerke und Windows-Pfadannahmen
- Tests für Validierung und Tests mit ungespeicherten Änderungen
M13 – V2.0-Abschluss, Dokumentation und Qualitätsnachweis
Ziel
Der V2.0-Ausbau wird dokumentiert, stabilisiert und als freigabefähiger Gesamtstand abgesichert.
Inhalt
- technische und betriebliche Dokumentation auf GUI + headless erweitern
- neue Startoptionen (
--headless,--config) dokumentieren - Verhalten bei fehlender Konfiguration, ungültigen Pfaden und GUI-Fehlern dokumentieren
- Build- und Packaging-Dokumentation für das gemeinsame JAR ergänzen
- Regressionstests für headless Abwärtskompatibilität ergänzen
- GUI-nahe Tests für zentrale Bedienpfade und Fehlersituationen ergänzen
- Qualitäts- und Freigabenachweis für den V2.0-Gesamtstand erstellen
Lauffähiger Stand
- GUI und headless sind gemeinsam dokumentiert und belastbar testbar
- bestehender Serverbetrieb bleibt kompatibel
- der V2.0-Stand ist freigabefähig und nachvollziehbar beschrieben
Tests
- Reactor-Build des Gesamtprojekts
- GUI-/Headless-Smoke-Tests
- Regressionstests für bisherigen Batch-Betrieb
- Dokumentations- und Konfigurationsbeispielprüfung
Ausbaustufen und Ausblick jenseits von V2.0
V2.1 – erster funktionaler Ausbau der GUI
Naheliegende Themen für V2.1:
- manueller Verarbeitungslauf aus der GUI
- Start eines echten Batch-Laufs aus der GUI
- ggf. erste laufbezogene Statusanzeige während der Ausführung
- erster separater Zusatz-Tab für weitergehende GUI-Funktionalität
V2.x – Komfort- und Transparenzausbau
Naheliegende Themen für spätere V2.x-Stufen:
- Visualisierung der SQLite-Datenbank in einem separaten Tab
- Anzeige von Historie und Verarbeitungsergebnissen
- Kosten-Tracking
- spätere, bewusst getrennte Erweiterung technischer Testfunktionen
- ggf. echter Mini-KI-Testaufruf
- ggf. feinere technische Steuerung der an die KI gegebenen Eingabemenge
V3 – größerer Funktionsausbau
Naheliegende Themen für V3:
- weitere Provider über Claude und OpenAI-kompatibel hinaus
- mehrere Profile pro Provider
- automatischer Fallback zwischen Providern
- größere Packaging-/Distributionsausbauten wie EXE oder Installer
- optional späterer plattformübergreifender offizieller GUI-Support
Kompakte Entscheidungsliste für V2.0
Zur schnellen Einordnung gilt für V2.0:
- GUI ist Standardstart
--headlessbleibt erhalten--config <pfad>gilt für GUI und headless- ein gemeinsames ausführbares JAR
- JavaFX integriert
- kein Installer, keine EXE
- neues Modul
pdf-umbenenner-adapter-in-gui .propertiesbleibt die einzige Konfigurationswahrheit- GUI dient in V2.0 nur Konfiguration, Validierung und technischen Tests
- kein manueller Lauf in V2.0
- kein DB-/Historien-Tab in V2.0
- kein Kosten-Tracking in V2.0
- Windows ist offizielles GUI-Zielsystem
- gemappte Laufwerke sind zwingend zu unterstützen
- Provider bleiben in V2.0 auf Claude und OpenAI-kompatibel begrenzt
- exakt ein aktiver Provider bleibt erhalten
Ergebnis
Mit diesem Zuschnitt bleibt V2.0:
- deutlich nützlicher für den Benutzer,
- architekturtreu zum bestehenden System,
- abwärtskompatibel für den headless Serverbetrieb,
- und gleichzeitig bewusst begrenzt, damit spätere GUI-Ausbaustufen nicht schon in V2.0 vorweggenommen werden.