Dokumentation V3.2: Scheduler-Ausnahme, Betriebsdoku und GUI-Bedienanleitung

CLAUDE.md:
- Unverrückbare Technikvorgaben: 'keine Dauerlauf-Anwendung' und 'kein interner
  Scheduler' mit Ausnahme-Hinweis auf GUI-Scheduler annotiert
- Modulstruktur: pdf-umbenenner-adapter-in-scheduler ergänzt
- Neuer Abschnitt 'Scheduler-Ausnahme (ab V3.2)' mit allen abweichenden Regeln
- Aktiver Implementierungsstand: V3.2 als abgeschlossen dokumentiert
- Konfigurationsparameter: scheduler.enabled und scheduler.interval.seconds ergänzt
- Nicht-Ziele: 'keine interne Scheduler-Logik' mit GUI-Scheduler-Ausnahme annotiert

docs/betrieb.md:
- 'Umfang der GUI': von drei auf fünf Tabs aktualisiert (Scheduler + Verlauf ergänzt)
- Neuer Abschnitt 'Automatischer Scheduler' mit Parametern, Autostart, Sperr-
  verhalten und Schließ-Verhalten
- Optionale Parameter: scheduler.enabled und scheduler.interval.seconds ergänzt
- Systemgrenzen: 'Kein interner Scheduler' auf headless-Kontext eingeschränkt

docs/gui-bedienanleitung.md:
- Abschnitt 1: fünf statt vier Tabs; Tab 3 Scheduler neu; Verlauf zu Tab 4,
  Prompt zu Tab 5; alle Abschnitt-Querverweise aktualisiert
- Abschnitte 14-20 zu 15-21 umnummeriert
- Neuer Abschnitt 14 'Tab Scheduler' mit Start/Stop, Statusanzeige, Countdown,
  letztem Lauf, Autostart-Fehler, Sperrbegründungen und Schließ-Dialog-Hinweis

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-06 17:04:23 +02:00
parent 7aed0f3730
commit 14da7ee789
3 changed files with 172 additions and 25 deletions
+26 -3
View File
@@ -56,8 +56,8 @@ Wenn Dokumente fehlen, unklar sind oder sich widersprechen, nicht raten und kein
- `--config <pfad>` steht für GUI und headless zur Verfügung
- kein Webserver
- kein Applikationsserver
- keine Dauerlauf-Anwendung
- kein interner Scheduler
- keine Dauerlauf-Anwendung (Ausnahme: GUI-Modus mit aktivem Scheduler, s. Scheduler-Ausnahme)
- kein interner Scheduler (Ausnahme: optionaler GUI-Scheduler ab V3.2, s. Scheduler-Ausnahme)
- das Shade-JAR bleibt das primäre Distributionsartefakt
- zusätzlicher nativer Windows-Installer (MSI) ab V3.0 via Maven-Profil `release` (jpackage, WiX Toolset 3.x im PATH erforderlich); der Normalbuild `mvn clean verify` bleibt vom Profil unberührt und benötigt kein WiX
- Log4j2 für Logging
@@ -77,9 +77,28 @@ Wenn Dokumente fehlen, unklar sind oder sich widersprechen, nicht raten und kein
- `pdf-umbenenner-application`
- `pdf-umbenenner-adapter-in-cli`
- `pdf-umbenenner-adapter-in-gui`
- `pdf-umbenenner-adapter-in-scheduler`
- `pdf-umbenenner-adapter-out`
- `pdf-umbenenner-bootstrap`
## Scheduler-Ausnahme (ab V3.2)
Ab V3.2 enthält der GUI-Modus einen optionalen internen Scheduler, der periodisch
automatische Verarbeitungsläufe anstößt. Die folgenden Regeln gelten abweichend von
den allgemeinen Leitplanken:
- Der Scheduler ist **ausschließlich im GUI-Modus** verfügbar. Im headless Betrieb werden
`scheduler.enabled` und `scheduler.interval.seconds` vollständig ignoriert.
- Das Modul `pdf-umbenenner-adapter-in-scheduler` erfüllt eine gemischte Rolle als
technischer Treiber und Adapter. Dies ist ein bewusster Architekturkompromiss, kein
Architekturbruch.
- `pdf-umbenenner-adapter-in-scheduler` enthält **kein JavaFX**.
- **Kein WatchService:** Der Scheduler löst reguläre Verarbeitungsläufe periodisch aus;
er nutzt keinen Dateisystem-Event-Mechanismus.
- Das bestehende Datenbankschema bleibt in V3.2 unverändert; keine
Scheduler-spezifische Schemaerweiterung.
- Token- und Kostentracking sind nicht Bestandteil von V3.2.
## Architekturregeln
- Strikte **hexagonale Architektur / Ports and Adapters**
- Abhängigkeiten zeigen immer **nach innen**
@@ -151,6 +170,8 @@ Der Basisstand V2.0 (JavaFX-GUI als Standardstart, Konfigurationseditor, technis
Verhaltensänderungen seit V2.9: Die GUI startet maximiert, und die zuletzt geladene Konfigurationsdatei wird beim Start automatisch wieder geladen; existiert sie nicht mehr, startet die GUI ohne Fehlermeldung mit dem Willkommenstext.
**V3.2 ist abgeschlossen.** Der GUI-Modus wurde um einen optionalen automatischen Scheduler erweitert (neuer Tab „Scheduler"). Der Scheduler startet periodisch Verarbeitungsläufe; Intervall und Autostart sind konfigurierbar. Während der Scheduler aktiv ist, sind der Konfigurations-Tab und das manuelle Starten von Läufen gesperrt. Im headless Betrieb werden Scheduler-Parameter vollständig ignoriert.
Die fachliche Kernverarbeitung des PDF-Umbenenners bleibt unverändert.
## Statussemantik
@@ -301,6 +322,8 @@ Verbindlich zweckmäßige Parameter:
- `log.ai.sensitive` sensible KI-Logausgabe freischalten (Boolean, Default: `false`)
- `runtime.lock.file` Lock-Datei (optional)
- `log.directory` Log-Verzeichnis (optional)
- `scheduler.enabled` Scheduler im GUI-Modus aktivieren (Boolean, Default: `false`; wird im headless Betrieb vollständig ignoriert)
- `scheduler.interval.seconds` Intervall zwischen automatischen Läufen in Sekunden (Integer >= 30, Pflicht wenn `scheduler.enabled=true`; wird im headless Betrieb vollständig ignoriert)
Pro Provider-Familie existiert ein eigener Parameter-Namensraum:
@@ -339,7 +362,7 @@ Verbindlicher Ablauf:
- keine OCR innerhalb der Java-Anwendung
- keine DMS-Funktionalität
- kein menschlicher Review-Workflow in der Anwendung
- keine interne Scheduler-Logik
- keine interne Scheduler-Logik außerhalb des optionalen GUI-Schedulers (s. Scheduler-Ausnahme)
- keine Architekturbrüche
- keine neuen Bibliotheken oder Frameworks ohne klare Notwendigkeit und Begründung
- **keine** automatische Fallback-Umschaltung zwischen KI-Providern
+43 -2
View File
@@ -63,7 +63,7 @@ mehr, startet die GUI ohne Fehlermeldung mit dem Willkommenstext.
### Umfang der GUI
Die GUI enthält drei Tabs:
Die GUI enthält fünf Tabs:
- **Tab „Konfiguration"** Editor, Validierungs- und technische Testoberfläche für
die `.properties`-Datei (Erreichbarkeit des Providers, Pfade, SQLite-Datei,
@@ -75,6 +75,14 @@ Die GUI enthält drei Tabs:
ungespeicherte Änderungen im Editor fließen nicht in den Lauf ein. Ein **Soft-Stop**
über den Abbrechen-Knopf beendet den Lauf nach Abschluss der gerade bearbeiteten Datei.
Während eines laufenden Batches ist Tab 1 gesperrt; ein Hinweis weist darauf hin.
- **Tab „Scheduler"** Optionaler automatischer Scheduler für periodische Verarbeitungsläufe.
Kann gestartet, gestoppt und mit einem konfigurierten Intervall betrieben werden. Während
der Scheduler aktiv ist, sind Tab 1 „Konfiguration" und der manuelle Lauf gesperrt.
Erfordert `scheduler.enabled=true` und ein gültiges `scheduler.interval.seconds` in der
gespeicherten Konfiguration.
- **Tab „Verlauf"** Ansicht aller bisher verarbeiteten Dokumente mit Status, Dateinamen
und Verarbeitungsdetails direkt aus der SQLite-Datenbank. Ermöglicht Status-Reset und
Löschung einzelner Einträge.
- **Tab „Prompt"** Lädt, bearbeitet und speichert die konfigurierte Prompt-Datei direkt
aus der Oberfläche. Bearbeitungen erzeugen einen Dirty-State (Asterisk im Tab-Titel).
Speichern erfolgt **atomar** (Temp-Datei im selben Verzeichnis + `ATOMIC_MOVE`).
@@ -88,6 +96,37 @@ kann weiterhin für automatisierte Läufe genutzt werden. Pro Anwendungsinstanz
ein Verarbeitungslauf gleichzeitig zulässig; ein gleichzeitiger externer headless Lauf
wird jedoch nicht technisch erkannt oder blockiert.
### Automatischer Scheduler
Der GUI-Tab „Scheduler" ermöglicht den Betrieb eines optionalen, periodisch laufenden
Schedulers, der automatisch Verarbeitungsläufe anstößt.
**Konfigurationsparameter:**
| Parameter | Beschreibung | Standard |
|---|---|---|
| `scheduler.enabled` | Scheduler im GUI-Modus aktivieren (`true`/`false`); wird im headless Betrieb ignoriert | `false` |
| `scheduler.interval.seconds` | Intervall zwischen automatischen Läufen in Sekunden (Integer >= 30; Pflicht wenn `scheduler.enabled=true`); wird im headless Betrieb ignoriert | |
Ungültige Werte (kein Integer, < 30 oder leer bei `scheduler.enabled=true`) verhindern den
Scheduler-Start und werden im GUI-Tab als Fehler gemeldet.
**Autostart:** Ist `scheduler.enabled=true` in der gespeicherten Konfiguration, startet der
Scheduler automatisch, wenn die Konfiguration beim GUI-Start geladen wird. Der erste
Verarbeitungslauf beginnt **unmittelbar** nach dem Scheduler-Start (kein initiales Warten).
**Headless-Betrieb:** Im headless Betrieb werden `scheduler.enabled` und
`scheduler.interval.seconds` vollständig ignoriert. Der Scheduler ist ausschließlich im
GUI-Modus verfügbar.
**Sperrverhalten:** Solange der Scheduler aktiv ist, ist Tab 1 „Konfiguration" gesperrt
(Bearbeitungssperre mit Hinweisbanner). Manuelles Starten eines Laufs ist ebenfalls nicht
möglich. Nach dem Stoppen des Schedulers werden beide Sperren automatisch aufgehoben.
**Schließen der Anwendung:** Versucht der Benutzer das Fenster zu schließen, während der
Scheduler aktiv ist oder ein Lauf läuft, erscheint ein Informationsdialog. Das Schließen
wird blockiert, bis der Scheduler gestoppt und kein Lauf mehr aktiv ist.
---
## Voraussetzungen
@@ -229,6 +268,8 @@ Nur der **aktive** Provider muss vollständig konfiguriert sein. Der inaktive Pr
| `log.directory` | Log-Verzeichnis | `./logs/` |
| `log.level` | Log-Level (`DEBUG`, `INFO`, `WARN`, `ERROR`) | `INFO` |
| `log.ai.sensitive` | KI-Rohantwort und Reasoning ins Log schreiben (`true`/`false`) | `false` |
| `scheduler.enabled` | Scheduler im GUI-Modus aktivieren (`true`/`false`); wird im headless Betrieb ignoriert | `false` |
| `scheduler.interval.seconds` | Intervall in Sekunden (Integer >= 30; Pflicht wenn `scheduler.enabled=true`); wird im headless Betrieb ignoriert | |
### API-Schlüssel
@@ -773,7 +814,7 @@ Die Bedienung der GUI ist in [`gui-bedienanleitung.md`](gui-bedienanleitung.md)
- Keine eingebaute OCR-Funktion
- Kein Web-UI, keine REST-API
- Die GUI ermöglicht Konfiguration, Validierung, technische Diagnose und die Ausführung von Verarbeitungsläufen mit integrierter PDF-Vorschau und editierbarem Dateiname
- Kein interner Scheduler der Batch-Betrieb wird extern angestoßen (z. B. Windows Task Scheduler, `--headless`)
- Kein interner Scheduler im headless Betrieb der Batch-Betrieb wird extern angestoßen (z. B. Windows Task Scheduler, `--headless`); im GUI-Modus steht optional ein interner Scheduler zur Verfügung (Tab „Scheduler")
- Quelldateien werden nie überschrieben, verschoben oder gelöscht
- Die Identifikation erfolgt über SHA-256-Fingerprint des Dateiinhalts, nicht über Dateinamen
- Die GUI wird offiziell nur unter Windows unterstützt; der headless Betrieb ist für Windows Server geeignet
+103 -20
View File
@@ -8,18 +8,20 @@ verwalten und technisch prüfen möchten.
## 1. Zweck und Scope der GUI
Die GUI gliedert sich in vier feste Tabs:
Die GUI gliedert sich in fünf feste Tabs:
- **Tab 1 „Konfiguration"** Editor, Validierungsoberfläche und technische
Test-/Diagnoseoberfläche für die `.properties`-Datei.
- **Tab 2 „Verarbeitungslauf"** Start eines Batch-Laufs aus der GUI mit
Live-Fortschritt, Ergebnisliste und KI-Begründung je Dokument (siehe Abschnitt 13).
- **Tab 3 „Verlauf"** Ansicht aller bisher verarbeiteten Dokumente mit Status
und Verarbeitungsdetails aus der SQLite-Datenbank (siehe Abschnitt 16).
- **Tab 4 „Prompt"** Editor zum Lesen, Bearbeiten und Speichern der
konfigurierten KI-Prompt-Datei (siehe Abschnitt 17).
- **Tab 3 „Scheduler"** Optionaler automatischer Scheduler für periodische
Verarbeitungsläufe (siehe Abschnitt 14).
- **Tab 4 „Verlauf"** Ansicht aller bisher verarbeiteten Dokumente mit Status
und Verarbeitungsdetails aus der SQLite-Datenbank (siehe Abschnitt 17).
- **Tab 5 „Prompt"** Editor zum Lesen, Bearbeiten und Speichern der
konfigurierten KI-Prompt-Datei (siehe Abschnitt 18).
Am unteren Fensterrand ist permanent eine **Statuszeile** sichtbar (siehe Abschnitt 18).
Am unteren Fensterrand ist permanent eine **Statuszeile** sichtbar (siehe Abschnitt 19).
Für unbeaufsichtigte, geplante Läufe (z. B. Windows Task Scheduler) bleibt
`--headless` der empfohlene Weg.
@@ -352,7 +354,7 @@ Konfiguration wird ein Snapshot des geladenen Zustands gespeichert. Erst wenn
der aktuelle Formularinhalt vom Snapshot abweicht, erscheint der Dirty-Indikator.
Programmgesteuertes Laden und Normalisieren von Feldinhalten lösen keinen
Dirty-State aus. Auch ein DB-Pfad-Wechsel über „Neue Datenbank anlegen..."
(Abschnitt 16a) versetzt den Konfigurations-Tab in den Dirty-State.
(Abschnitt 17a) versetzt den Konfigurations-Tab in den Dirty-State.
Vor den Aktionen „Neu", „Öffnen" und beim Schließen des Fensters prüft die GUI,
ob ungespeicherte Änderungen vorhanden sind. Ist dies der Fall, erscheint ein
@@ -504,7 +506,7 @@ in den Lauf ein. Vor dem Start muss die Konfiguration daher gespeichert sein.
Farbe ist niemals das einzige Unterscheidungsmerkmal Icon und Tooltip beschreiben
den Status auch ohne Farbwahrnehmung eindeutig. Die vollständige Status-Mapping-Tabelle
mit Tooltips ist in Abschnitt 19 beschrieben.
mit Tooltips ist in Abschnitt 20 beschrieben.
- Ein Klick auf eine Zeile öffnet den Detailbereich rechts. Für `FAILED_*`-Einträge
zeigt der Detailbereich eine übersetzte Fehlermeldung (Präfix `⚠`) anstelle des
@@ -747,7 +749,88 @@ nicht gezählt sie treten nach Laufabschluss nicht mehr auf.
---
## 14. Bekannte Einschränkungen
## 14. Tab „Scheduler" (automatische Verarbeitungsläufe)
Der dritte Tab **„Scheduler"** ermöglicht den Betrieb eines optionalen, periodisch
ausgeführten automatischen Schedulers. Er startet Verarbeitungsläufe in einem
konfigurierten Intervall, ohne dass ein manueller Start erforderlich ist.
### Voraussetzung
Damit der Scheduler-Tab funktioniert, muss in der **gespeicherten** Konfigurationsdatei
`scheduler.enabled=true` und ein gültiges `scheduler.interval.seconds` (Integer >= 30)
eingetragen sein. Ungültige oder fehlende Werte werden im Tab als Fehler gemeldet; der
Scheduler-Start ist in diesem Fall nicht möglich.
### Start und Stop
- **„Scheduler starten"** Aktiviert den Scheduler. Der erste Lauf beginnt
**unmittelbar** nach dem Start (kein initiales Warten auf das Intervall).
- **„Scheduler stoppen"** Stoppt den Scheduler. Ein laufender Verarbeitungslauf wird
als Soft-Stop behandelt: die aktuell bearbeitete Datei wird fertig verarbeitet,
danach hält der Scheduler an.
Beide Buttons wechseln je nach Zustand ihre Sichtbarkeit: Nur der zum aktuellen
Zustand passende Button ist aktiv.
### Statusanzeige
Der Tab zeigt den aktuellen Scheduler-Zustand in Echtzeit (1-Sekunden-Takt):
| Zustand | Anzeige |
|---------|---------|
| `STOPPED` | Scheduler gestoppt |
| `STARTING` | Scheduler wird gestartet … |
| `RUNNING_IDLE` | Scheduler läuft nächster Lauf in `HH:MM:SS` |
| `RUNNING_BATCH_ACTIVE` | Scheduler läuft Verarbeitungslauf aktiv |
| `STOPPING_BATCH_ACTIVE` | Scheduler wird gestoppt Lauf läuft noch … |
Im Zustand `RUNNING_IDLE` zeigt der Tab einen Countdown bis zum nächsten automatischen
Verarbeitungslauf.
### Informationen zum letzten Lauf
Der Tab zeigt:
- **Letzter Lauf beendet:** Zeitpunkt des letzten abgeschlossenen Verarbeitungslaufs
(oder „–" wenn noch kein Lauf stattfand).
- **Zusammenfassung:** Anzahl erfolgreich, wiederholt, fehlgeschlagen und übersprungen
des letzten Laufs (falls verfügbar).
- **Letzter Fehler:** Fehlermeldung des letzten nicht erfolgreichen Scheduler-Laufs,
sofern vorhanden.
### Autostart-Fehler
Ist `scheduler.enabled=true` in der Konfiguration, versucht die GUI den Scheduler
beim Start automatisch zu aktivieren. Schlägt dies fehl (z. B. ungültige Konfiguration,
Intervall < 30 Sekunden), wird der Fehler im Tab angezeigt. Der Benutzer kann dann die
Konfiguration korrigieren und den Scheduler manuell starten.
### Warum sind manuelle Läufe während eines aktiven Schedulers gesperrt?
Manuelle Läufe (Tab „Verarbeitungslauf") sind während eines aktiven Schedulers
deaktiviert. Dadurch werden parallele Läufe auf dieselbe Datenmenge vermieden, die
zu inkonsistenten Datenbankzuständen führen könnten. Der Start-Button im Tab
„Verarbeitungslauf" ist während eines aktiven Schedulers deaktiviert und zeigt einen
erklärenden Tooltip.
### Warum ist Tab 1 „Konfiguration" während eines aktiven Schedulers gesperrt?
Um sicherzustellen, dass der Scheduler mit einer konsistenten Konfiguration läuft,
ist der Konfigurations-Editor während eines aktiven Schedulers gesperrt. Ein
Hinweisbanner erklärt die Sperre. Konfigurationsänderungen können nach dem Stoppen
des Schedulers vorgenommen werden.
### Schließen der Anwendung
Versucht der Benutzer das Fenster zu schließen oder die Anwendung über das
Tray-Menü zu beenden, während der Scheduler aktiv ist oder ein Lauf läuft, erscheint
ein Informationsdialog mit dem Hinweis, den Scheduler zunächst zu stoppen bzw. den
laufenden Verarbeitungslauf abzuwarten. Das Schließen wird blockiert, bis der Scheduler
gestoppt und kein Lauf mehr aktiv ist.
---
## 15. Bekannte Einschränkungen
| Einschränkung | Erläuterung |
|---|---|
@@ -755,13 +838,13 @@ nicht gezählt sie treten nach Laufabschluss nicht mehr auf.
| Keine Erkennung externer Änderungen | Wird die `.properties`-Datei während einer GUI-Sitzung von außen geändert, erkennt die GUI dies nicht. Die GUI arbeitet weiterhin auf dem zuletzt geladenen Stand |
| Keine Koordination mit parallelen headless Läufen | Ein gleichzeitiger externer headless Lauf wird nicht technisch geblockt. Schreibkonflikte sind nicht ausgeschlossen, wenn dieselbe `.properties`-Datei parallel genutzt wird |
| GUI nur für Windows | Die GUI wird offiziell nur unter Windows unterstützt; der headless Betrieb ist für Windows Server geeignet |
| Ergebnisliste nicht persistent | Die Ergebnisliste im Verarbeitungslauf-Tab existiert nur für den aktuellen Programmstart; nach Neustart ist die Liste leer. Die dauerhaften Ergebnisse sind im Verlauf-Tab (Abschnitt 16) einsehbar. |
| Ergebnisliste nicht persistent | Die Ergebnisliste im Verarbeitungslauf-Tab existiert nur für den aktuellen Programmstart; nach Neustart ist die Liste leer. Die dauerhaften Ergebnisse sind im Verlauf-Tab (Abschnitt 17) einsehbar. |
| Einzelinstanz-Schutz | Wird die Anwendung ein zweites Mal gestartet, während bereits eine Instanz läuft (auch wenn diese im System-Tray minimiert ist), beendet sich die neue Instanz sofort ohne Hinweisfenster |
| Prompt-Editor: kein automatisches Reload | Wird die Prompt-Datei während einer Bearbeitung extern geändert, erkennt die GUI dies nicht. Beim Speichern gilt Last-write-wins. |
---
## 15. System-Tray
## 16. System-Tray
Wird das Hauptfenster über das Schließen-Symbol (oder Alt+F4) geschlossen, ohne dass
ungespeicherte Änderungen oder ein aktiver Verarbeitungslauf vorliegen, **minimiert
@@ -789,7 +872,7 @@ Ein **Doppelklick** auf das Tray-Icon hat denselben Effekt wie „Öffnen".
---
## 16. Tab „Verlauf" (Historien-Tab)
## 17. Tab „Verlauf" (Historien-Tab)
Der dritte Tab **„Verlauf"** zeigt alle jemals verarbeiteten Dokumente mit Status,
Dateinamen und Verarbeitungsdetails. Die Daten stammen direkt aus der SQLite-Datenbank,
@@ -808,7 +891,7 @@ Die Tabelle zeigt folgende Spalten:
| Spalte | Inhalt |
|--------|--------|
| Status-Icon | Symbol und Farbe gemäß Status-Mapping-Tabelle (Abschnitt 19) |
| Status-Icon | Symbol und Farbe gemäß Status-Mapping-Tabelle (Abschnitt 20) |
| Quelldateiname | Ursprünglicher Dateiname der PDF-Datei |
| Zieldateiname | Zuletzt vergebener Dateiname nach Umbenennung |
| Quellpfad | Letzter bekannter Quellordner |
@@ -926,7 +1009,7 @@ ohne dass der Benutzer die Auswahl erneuern muss.
---
## 16a. Neue Datenbank anlegen
## 17a. Neue Datenbank anlegen
Über **Datenbank → Neue Datenbank anlegen...** in der Menüleiste kann eine neue,
leere SQLite-Datenbank erstellt und sofort als aktive Datenbank der Anwendung
@@ -974,7 +1057,7 @@ Der Dirty-State im Konfig-Tab und der Hinweis im Meldungsbereich erinnern daran.
---
## 17. Tab „Prompt" (Prompt-Editor)
## 18. Tab „Prompt" (Prompt-Editor)
Der vierte Tab **„Prompt"** ermöglicht das Lesen, Bearbeiten und Speichern der
KI-Prompt-Datei direkt in der GUI ohne externen Editor.
@@ -1019,7 +1102,7 @@ Ein Klick legt eine Prompt-Datei mit dem deutschen Standard-Template an
---
## 18. Statuszeile
## 19. Statuszeile
Am unteren Rand des Hauptfensters ist permanent eine **Statuszeile** (`GuiStatusBar`)
sichtbar. Sie ist auf allen Tabs sichtbar und zeigt drei Segmente:
@@ -1040,7 +1123,7 @@ sichtbar. Sie ist auf allen Tabs sichtbar und zeigt drei Segmente:
---
## 19. Fehlerstatus Bedeutung und Unterscheidung
## 20. Fehlerstatus Bedeutung und Unterscheidung
Zwei Fehlerstatus werden in der GUI klar unterschieden. Die Unterscheidung ist wichtig,
um zu entscheiden, ob eine erneute Verarbeitung sinnvoll ist.
@@ -1070,7 +1153,7 @@ werden nicht mehr unternommen.
**Was passiert:** Das Dokument wird in späteren Läufen übersprungen.
**Mögliche Abhilfe:** Wenn die Ursache behoben wurde (z. B. OCR wurde nachträglich
durchgeführt), kann der Status im **Verlauf-Tab** (Abschnitt 16) manuell zurückgesetzt
durchgeführt), kann der Status im **Verlauf-Tab** (Abschnitt 17) manuell zurückgesetzt
werden. Das Dokument wird dann beim nächsten Lauf erneut verarbeitet. Alternativ kann
der Eintrag vollständig gelöscht werden, damit die Datei als neu erkannt wird.
@@ -1094,7 +1177,7 @@ beschreiben den Status auch ohne Farbwahrnehmung eindeutig.
---
## 20. Tooltips
## 21. Tooltips
Auf den meisten interaktiven Elementen der GUI sind Tooltips gesetzt, die beim Hover über
ein Element erscheinen. Sie erklären kurz den Zweck des Elements.
@@ -1106,7 +1189,7 @@ Tooltips sind unter anderem vorhanden auf:
- **Toolbar-Buttons** Neu, Öffnen, Speichern, Speichern unter, Validieren,
Technische Tests ausführen
- **Status-Icons** im Verarbeitungslauf-Tab Text gemäß Status-Mapping-Tabelle
(Abschnitt 19)
(Abschnitt 20)
- **Buttons „Dateiname übernehmen"** und **„Zurücksetzen auf KI-Vorschlag"** im
Dateiname-Editor (Abschnitt 13b)