platform-docs/adr/0020-produktname-flotten-management-und-navigationsstruktur.md
2026-08-26 09:45:32 +02:00

4.2 KiB

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.