- Feature Map: Regelwerk, Kanten-System, Paket-Canvas-Verknuepfungen, MD-Links - Infrastruktur & Navigation: Sidebar-Abgleich, Einstellungen-Modell, Mobile, Gating - WF-P3 Benachrichtigungen + Audit Log (validiert) - WF-P4 Aufgaben (inkl. Topbar-Drawer-Delta) + Dateien (inkl. Teilen v1, CR an Dev) - WF-P5 Integrationen (Sync-Verlauf als eigene Seiten) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5.6 KiB
5.6 KiB
kind, project, ticket, package, typ, status, subframe, canvas
| kind | project | ticket | package | typ | status | subframe | canvas |
|---|---|---|---|---|---|---|---|
| wireframe-package | HiveGrid Screen Project | D-P5 | WF-P5 Integrationen | Flow | Validiert | WF-P5 Integrationen.canvas |
WF-P5 Integrationen
Status: Validiert (Screen-Liste)
Subframe-Link: -
Canvas: Canvas
Stand: 2026-07-08
1. Kurzfassung
Der „App-Store" von HiveGrid: Katalog externer Dienste, Verbindungs-Verwaltung je App (mehrere Verbindungen möglich), Einrichtungs-Assistent (OAuth und API-Schlüssel) und Sync-Verlauf mit Klartext. Das wiederverwendbare Verbindungs-Gerüst — E-Mail (P14), Telefonie (P15), Kalender/Signatur (P16) nutzen später genau diese Bausteine.
2. Intent Check
| Frage | Antwort |
|---|---|
| Welches Ticket/Modul ist betroffen? | D-P5, Dev-Pendant R-P5 (Apps-Engine/Adapter-Layer) |
| Was soll der Nutzer am Ende schaffen? | Externen Dienst anschließen, Zustand verstehen (Ampel + Klartext), Probleme selbst lösen (neu verbinden), nachvollziehen, was übertragen wurde |
| Flow, Screen, Zustand oder Doku? | Screens + Wizard-Modals |
| Welche Planning-Quellen wurden geprüft? | ticket-docs/D-P5.md, SCREEN-MAP §2, HiveGrid Map |
| Was ist sicher im Scope? | Katalog, App-Seite, Assistent (2 Varianten), Trennen-Dialog, Sync-Verlauf + Lauf-Detail |
| Was ist sicher nicht im Scope? | App-spezifische Einrichtungs-Details (→ P14/P15/P16), KWP-Sonder-UI (v2), Windows-Client-Flow (kein UI) |
| Admin/Normalrolle-Unterschiede? | Rechte integrations.read/.connect/.disconnect/.manual_sync/.view_logs/.admin |
| Unsichere Annahmen? | Ob der Katalog auch nicht verfügbare/kommende Apps zeigt (Teaser) — offene Frage |
3. Scope
| Punkt | Inhalt |
|---|---|
| Ticket/Modul | D-P5 · Integrationen |
| Nutzerrolle | Admin (Maximalansicht) |
| Startpunkt | Sidebar »Integrationen« (/admin/integrations) |
| Ziel | Verbindung läuft grün; Läufe nachvollziehbar |
| Haupt-Archetyp | A6 Settings/Connection-Card · A5 Wizard · A2 Liste |
| Bespoke-Anteil | Keiner |
| Out of scope | App-spezifische Setups, KWP-UI (v2) |
4. Entscheidungen (validiert 2026-07-08)
| Entscheidung | Status | Notiz |
|---|---|---|
| Ein Paket für das ganze Framework | genommen | Katalog + App-Seite + Assistent + Verlauf |
| Sync-Verlauf als eigene Seiten (Liste + Lauf-Detail) | genommen | Davids Entscheidung — KEIN Drawer-Muster wie beim Audit; App-Seite zeigt nur die letzten Läufe + »alle anzeigen« |
| Assistent: beide Zugangsdaten-Varianten als eigene Frames | genommen | M01 OAuth-Weg · M02 API-Schlüssel-Weg (Formular auto-generiert aus App-Schema) |
| Trennen mehrstufig bestätigt, kein Hard-Delete | genommen | Status wird »getrennt«, Jobs stoppen, Klartext-Warnung |
| Mehrere Verbindungen je App mit Namens-Label | genommen | z. B. drei Postfächer »Büro«/»Max«/»Info« |
| KI-Kategorie bleibt im Katalog | genommen | Andockpunkt für MCP (Pivot AD-26), passt zum Sidebar-Punkt »MCP« |
Happy Path
- Sidebar »Integrationen« → Katalog mit App-Karten nach Kategorie, Ampel je App.
- App öffnen → Verbindungs-Karten; »Verbinden« startet den Assistenten.
- Assistent: Voraussetzungen → Zugangsdaten (OAuth-Knopf ODER Schlüssel einfügen) → Verbindungs-Test ✓ → optional erster Abgleich.
- Später: Ampel gelb/rot → Klartext-Banner mit Lösungs-Knopf (»neu verbinden«); Sync-Verlauf zeigt jeden Lauf in Klartext, Lauf-Detail jeden Datensatz.
Meldungs-/Error-States (validiert)
| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz |
|---|---|---|---|---|
| Verbindung hakt / kaputt / Schema geändert | Klartext-Banner + Lösungs-Knopf | nein | Nur dokumentieren | auf App-Seite + Katalog-Ampel |
| Verbindungs-Test im Assistent fehlgeschlagen | Schritt-Fehler mit Klartext + zurück | ja (Schritt) | Nur dokumentieren | im Wizard |
| Lauf fehlgeschlagen | rote Zeile + Fehl-Detail je Datensatz | nein | Nur dokumentieren | in S03/S04 |
| Kein Zugriff | A7 »kein Zugriff« | ja | Wiederverwenden | integrations.read |
| Katalog-Filter ohne Treffer | Leer-Zustand | nein | Nur dokumentieren | Filter zurücksetzen |
7. Validierte Screen-Liste
| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status |
|---|---|---|---|---|---|
| S01 | App-Katalog | Screen | Bauen | /admin/integrations |
Validiert |
| S02 | App-Seite (Verbindungs-Verwaltung) | Screen | Bauen | /admin/integrations/:app |
Validiert |
| S03 | Sync-Verlauf (eigene Seite) | Screen | Bauen | …/syncs |
Validiert |
| S04 | Lauf-Detail (eigene Seite) | Screen | Bauen | …/syncs/:id |
Validiert |
| M01 | Assistent — OAuth-Weg | Modal/Wizard | Bauen | aus S02 | Validiert |
| M02 | Assistent — API-Schlüssel-Weg | Modal/Wizard | Bauen | aus S02 | Validiert |
| M03 | Trennen-Bestätigung | Modal (mehrstufig) | Bauen | aus S02 | Validiert |
| D01–D05 | Banner/Fehler-Zustände (s. Tabelle) | Inline/Banner | Nur dokumentieren | — | Validiert |
8. Grid
Sidebar -> S01 -> S02 -> S03 -> S04
S02 -> M01 (OAuth) / M02 (API-Schluessel) / M03 (Trennen)
Connection-Card + Assistent = wiederverwendbar fuer P14/P15/P16
9. Screen-Pakete
- S01 App-Katalog
- S02 App-Seite
- S03 Sync-Verlauf
- S04 Lauf-Detail
- M01 Assistent OAuth
- M02 Assistent API-Schluessel
- M03 Trennen-Bestaetigung
10. Offene Fragen
- Zeigt der Katalog auch noch nicht verfügbare/kommende Apps als Teaser (mit Schloss, analog Abo-Gating)? → David/Dev
- Genaue App-Liste v1 (welche Karten sind zum Start drin) → Dev
Handoff-Check
- Jeder Screen ist mit Umsetzung markiert.
- Meldungs-/Error-State-Matrix ist ausgefüllt.
- Subframe-Link ist eingetragen. (Subframe erst nach explizitem OK)