ADR-0020: Produktname Flotten-Management + zweistufige Navigation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
e96fbd4733
commit
d91167b7f0
@ -0,0 +1,78 @@
|
|||||||
|
# ADR-0020: Produktname „Flotten-Management" und zweistufige Navigation
|
||||||
|
|
||||||
|
**Status:** Beschlossen
|
||||||
|
**Datum:** 26.08.2026
|
||||||
|
|
||||||
|
## Kontext
|
||||||
|
|
||||||
|
ADR-0018 hatte die Umbenennung des Navigationseintrags „Geräte" zu „Flotte"
|
||||||
|
beschlossen, aber die Frage offengelassen, ob auch der Produktname selbst
|
||||||
|
(„Kundenplattform", bislang nur spontan gewählt) angepasst werden soll. Der
|
||||||
|
Nutzer entschied sich für „Flotten-Management" als sprechenderen Namen.
|
||||||
|
|
||||||
|
Parallel dazu war die bestehende Navigation eine einzige flache horizontale
|
||||||
|
Liste (`base.html`) ohne jede Gruppierung — mit wachsender Seitenzahl (aktuell
|
||||||
|
Flotte, Struktur, Gruppen, Installationsmedium, Organisation, plus Admin für
|
||||||
|
Superuser) wurde das unübersichtlich. Insbesondere lagen „Struktur"
|
||||||
|
(Organisationseinheiten) und „Gruppen" als gleichrangige Nachbarn neben
|
||||||
|
„Organisation", obwohl beide inhaltlich steuern, welche Merkmale ein Gerät
|
||||||
|
über seine OE-/Gruppen-Zugehörigkeit bekommt (siehe ADR-0012) — organisatorisch
|
||||||
|
näher an „Organisation" als eigenständige Themen.
|
||||||
|
|
||||||
|
## Entscheidung
|
||||||
|
|
||||||
|
**Produktname:** Nur das sichtbare Label wird geändert — die
|
||||||
|
Navigationsmarke im Header (`base.html`) und der (aktuell ohnehin dormante,
|
||||||
|
da `/docs` deaktivierte, siehe Sicherheits-Review 25.08.2026) FastAPI-Titel
|
||||||
|
heißen jetzt „Flotten-Management". Interne technische Namen bleiben bewusst
|
||||||
|
unverändert: Environment-Variablen-Präfix `KUNDENPLATTFORM_*`, systemd-Service/
|
||||||
|
-User/-Group `kundenplattform`, Verzeichnis `/opt/kundenplattform`,
|
||||||
|
Git-Repo-Name, Postgres-Datenbankname, Cookie-Name `kundenplattform_session`.
|
||||||
|
Begründung: keiner dieser Namen ist je für einen Kunden sichtbar, eine
|
||||||
|
komplette technische Umbenennung wäre ein eigenes Migrationsprojekt mit
|
||||||
|
Deploy-Risiko (koordinierter Neustart, Pfad-/Secret-Umzug) für rein
|
||||||
|
kosmetischen Nutzen.
|
||||||
|
|
||||||
|
**Navigation:** von einer flachen horizontalen Liste auf eine zweistufige
|
||||||
|
Struktur umgestellt: eine vertikale Primär-Spalte mit den Hauptkategorien
|
||||||
|
(Flotte, Organisation, Installationsmedium, Admin — letzteres weiterhin nur
|
||||||
|
für `is_superuser`), und bei Kategorien mit mehreren Unterseiten eine
|
||||||
|
horizontale Sekundär-Nav im Hauptbereich. „Struktur" und „Gruppen" werden
|
||||||
|
beide Unterpunkte von „Organisation" (neben der bestehenden
|
||||||
|
Stammdaten/Konten-Seite selbst). Die aktive Kategorie/Unterseite wird rein
|
||||||
|
aus dem URL-Pfad-Präfix abgeleitet (`base.html`, Jinja-`{% set %}` auf
|
||||||
|
`request.url.path`) — keine Router-/Kontext-Änderungen in den einzelnen
|
||||||
|
Seiten nötig, URLs bleiben unverändert (`/struktur`, `/gruppen` etc.), reine
|
||||||
|
Darstellungsänderung.
|
||||||
|
|
||||||
|
Der interne Admin-Bereich (`admin/layout.html`) hatte bereits eine eigene
|
||||||
|
horizontale Sub-Nav (Technik/Datenbank, Flotte, Flows, Kunden) — dieses
|
||||||
|
Muster diente als Vorbild für die neue Sekundär-Nav und wurde unverändert
|
||||||
|
übernommen (es erbt weiterhin von `base.html` und sitzt jetzt konsistent
|
||||||
|
unter derselben Primär-Spalte).
|
||||||
|
|
||||||
|
Layout technisch über ein schlankes eigenes Flexbox-CSS in `base.html`
|
||||||
|
umgesetzt (Pico CSS bringt kein Sidebar-Pattern mit) — nutzt ausschließlich
|
||||||
|
Picos bestehende CSS-Variablen (`--pico-primary-background` etc.), damit
|
||||||
|
automatisches Dark/Light-Mode-Verhalten erhalten bleibt. Auf schmalen
|
||||||
|
Bildschirmen (`max-width: 768px`) fällt die Sidebar per Media Query auf eine
|
||||||
|
horizontale Liste über dem Inhalt zurück.
|
||||||
|
|
||||||
|
## Konsequenzen
|
||||||
|
|
||||||
|
Reine Template-/CSS-Änderung (`base.html`, `app.py`-Titel) — keine
|
||||||
|
Datenbank-, API- oder Routing-Änderung, kein Migrationsbedarf, keine
|
||||||
|
bestehenden Links/Lesezeichen brechen.
|
||||||
|
|
||||||
|
Lokal verifiziert: alle 29 Templates parsen weiterhin fehlerfrei (Jinja-
|
||||||
|
Syntaxcheck), `base.html` mit gemocktem Request-Objekt für jeden
|
||||||
|
Primär-/Sekundär-Pfad gerendert (korrekte Aktiv-Markierung, Sekundär-Nav
|
||||||
|
erscheint nur unter „Organisation"), und eine Stichprobe realer Seiten
|
||||||
|
(Geräteliste, Organisation, Struktur, Gruppen, Admin-Kunden-Index) rendert
|
||||||
|
mit dem neuen Layout ohne Fehler. Live-Verifikation auf anode (echter
|
||||||
|
Login, visuelle Prüfung Light/Dark) folgt vor dem Deploy-Abschluss.
|
||||||
|
|
||||||
|
Wie schon in ADR-0018 festgehalten: sollte künftig auch der übrige
|
||||||
|
Sprachgebrauch der Anwendung (Seitentitel, Tabellenüberschriften,
|
||||||
|
Fehlermeldungen) auf „Flotten-Management" umgestellt werden sollen, ist das
|
||||||
|
eine eigene, hier nicht vorweggenommene Folgeentscheidung.
|
||||||
Loading…
x
Reference in New Issue
Block a user