Automatischer Preis-Update-Mechanismus #95

Open
opened 2026-05-08 08:45:34 +02:00 by marcus · 0 comments
Owner

Beschreibung

Die Anwendung kann Modell-Preise automatisch aus einer extern gepflegten JSON-Datei aktualisieren. Damit bleiben die Kostensätze aktuell, ohne dass ein neues Release notwendig ist.

Anforderungen

JSON-Update-Datei

  • Wird vom Projekt-Maintainer auf einem Webserver gepflegt
  • Format: JSON mit Modellnamen, Input-/Output-Preisen und Timestamp
  • URL ist in application.properties konfigurierbar (Schlüssel z.B. pricing.update.url)
  • Im Konfig-Tab editierbar mit Button „Standard wiederherstellen"

Automatische Prüfung beim Programmstart

  • Beim Start wird die URL aufgerufen und mit dem lokalen Timestamp verglichen
  • Kein automatisches Überschreiben – nur Hinweis an den Benutzer
  • Bei verfügbarem Update: Popup mit Wahl „Jetzt aktualisieren" oder „Später"
  • Bei Fehler (Timeout, nicht erreichbar): nicht-blockierender deutscher Hinweis, Anwendung startet normal weiter

Manuelle Prüfung

  • Button „Auf Updates prüfen" im Kosten-Editor-Tab
  • Gleiche Logik wie Startup-Check

Schutz vor Überschreiben

  • Jeder Preiseintrag hat eine Checkbox „Vor automatischem Preis-Update geschützt"
  • Geschützte Einträge werden beim Update nicht überschrieben

Architektur-Hinweise

  • Netzwerkzugriff nur im Adapter-Layer (hexagonale Architektur)
  • Kein JavaFX in Domain oder Application
  • Fehlerbehandlung: graceful degradation, kein App-Crash bei Netzwerkfehler
  • Code-Kommentare und Logging auf Deutsch

Abhängigkeiten

  • Gehört zu V3.3 zusammen mit #74 (Token- und Kosten-Tracking)
  • Setzt die Modell-Preistabelle aus #74 voraus
## Beschreibung Die Anwendung kann Modell-Preise automatisch aus einer extern gepflegten JSON-Datei aktualisieren. Damit bleiben die Kostensätze aktuell, ohne dass ein neues Release notwendig ist. ## Anforderungen ### JSON-Update-Datei - Wird vom Projekt-Maintainer auf einem Webserver gepflegt - Format: JSON mit Modellnamen, Input-/Output-Preisen und Timestamp - URL ist in `application.properties` konfigurierbar (Schlüssel z.B. `pricing.update.url`) - Im Konfig-Tab editierbar mit Button „Standard wiederherstellen" ### Automatische Prüfung beim Programmstart - Beim Start wird die URL aufgerufen und mit dem lokalen Timestamp verglichen - Kein automatisches Überschreiben – nur Hinweis an den Benutzer - Bei verfügbarem Update: Popup mit Wahl „Jetzt aktualisieren" oder „Später" - Bei Fehler (Timeout, nicht erreichbar): nicht-blockierender deutscher Hinweis, Anwendung startet normal weiter ### Manuelle Prüfung - Button „Auf Updates prüfen" im Kosten-Editor-Tab - Gleiche Logik wie Startup-Check ### Schutz vor Überschreiben - Jeder Preiseintrag hat eine Checkbox „Vor automatischem Preis-Update geschützt" - Geschützte Einträge werden beim Update nicht überschrieben ## Architektur-Hinweise - Netzwerkzugriff nur im Adapter-Layer (hexagonale Architektur) - Kein JavaFX in Domain oder Application - Fehlerbehandlung: graceful degradation, kein App-Crash bei Netzwerkfehler - Code-Kommentare und Logging auf Deutsch ## Abhängigkeiten - Gehört zu V3.3 zusammen mit #74 (Token- und Kosten-Tracking) - Setzt die Modell-Preistabelle aus #74 voraus
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: marcus/pdf-umbenenner#95