chore(repo): sync wireframe structure and references
This commit is contained in:
1 parent
05d2d5777f
commit
d953a79e95
453 files changed
+36639
-621
No files matched your search
+65
@@ -0,0 +1,65 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
id: D01
|
||||
screen: Rollen-Dropdown in Mitarbeiterliste
|
||||
typ: Inline-Zustand
|
||||
umsetzung: Nur dokumentieren
|
||||
status: Validiert
|
||||
route: in S01, kein eigener Subframe-Screen
|
||||
subframe: "-"
|
||||
---
|
||||
|
||||
# D01 - Rollen-Dropdown in Mitarbeiterliste
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Admin kann die Rolle eines Mitarbeiters direkt in der Liste aendern und bei Bedarf zur Rollenverwaltung springen.
|
||||
|
||||
## Pattern / Archetyp
|
||||
|
||||
Inline Select / Dropdown in Tabelle.
|
||||
|
||||
## Daten
|
||||
|
||||
- aktuelle Rolle(n) des Mitarbeiters
|
||||
- verfuegbare Rollen
|
||||
- Rolle `Admin`
|
||||
- Rollen, die wegen Policy nicht gesetzt oder entfernt werden duerfen
|
||||
|
||||
## Aktionen
|
||||
|
||||
- Rolle auswaehlen
|
||||
- `Rollen und Berechtigungen bearbeiten` -> S02
|
||||
- Dropdown schliessen
|
||||
|
||||
## Verhalten
|
||||
|
||||
- Dropdown zeigt aktuelle Rolle und verfuegbare Rollen.
|
||||
- Unterhalb der Rollen steht ein Eintrag `Rollen und Berechtigungen bearbeiten`.
|
||||
- Dieser Eintrag navigiert zu `Settings -> Mitarbeiter`, Tab `Rollen und Berechtigungen`.
|
||||
- Wenn ein Rollenwechsel den letzten Admin entfernen wuerde, wird V01 genutzt.
|
||||
|
||||
## Zustaende
|
||||
|
||||
| Zustand | Beschreibung | Umsetzung |
|
||||
|---|---|---|
|
||||
| Standard | Rollen auswahlen | Nur dokumentieren |
|
||||
| Speichern | Rollenwechsel wird gespeichert | Wiederverwenden |
|
||||
| Keine Berechtigung | Dropdown disabled oder nicht sichtbar | Nur dokumentieren |
|
||||
| Letzter Admin | Rollenwechsel blockiert | V01 |
|
||||
|
||||
## Permissions / Gates
|
||||
|
||||
- Rollenwechsel braucht Rollen-/Mitarbeiter-Berechtigung.
|
||||
- Technische Admin-Schutzregeln koennen Rollenwechsel blockieren.
|
||||
|
||||
## Subframe
|
||||
|
||||
- Kein eigener Subframe-Screen. Das Dropdown ist direkt in `S01 Mitarbeiterliste` enthalten; dieser D01-Eintrag dokumentiert nur das geoeffnete Inline-Verhalten.
|
||||
|
||||
## Notizen
|
||||
|
||||
Kein separates Rollen-Modal aus der Mitarbeiterliste. Rollen bearbeiten passiert in S02/M02.
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
id: D03
|
||||
screen: Rolle in Nutzung blockiert
|
||||
typ: Admin Blocker
|
||||
umsetzung: Nur dokumentieren
|
||||
status: In Subframe
|
||||
route: von S02/M02
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/0363300b-6455-4fd9-9102-659d0a66b0ea/edit"
|
||||
---
|
||||
|
||||
# D03 - Rolle in Nutzung blockiert
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Admin versteht, warum eine Rolle nicht geloescht werden kann.
|
||||
|
||||
## Pattern / Archetyp
|
||||
|
||||
Kleines Blocker-Modal / Inline-Blocker.
|
||||
|
||||
## Daten
|
||||
|
||||
- Rolle
|
||||
- Anzahl zugewiesener Mitarbeiter
|
||||
|
||||
## Aktionen
|
||||
|
||||
- `Verstanden`
|
||||
- Modal schliessen
|
||||
|
||||
## Inhalt / Copy-Richtung
|
||||
|
||||
Headline: `Rolle kann nicht geloescht werden`
|
||||
|
||||
Text: `Diese Rolle kann nicht geloescht werden, solange Mitarbeiter zugewiesen sind. Weise die Mitarbeiter zuerst manuell einer anderen Rolle zu.`
|
||||
|
||||
## Zustaende
|
||||
|
||||
| Zustand | Beschreibung | Umsetzung |
|
||||
|---|---|---|
|
||||
| Rolle in Nutzung | Loeschen wird blockiert | Nur dokumentieren |
|
||||
| Rolle ohne Mitglieder | Loeschen ist moeglich | Nur dokumentieren |
|
||||
|
||||
## Permissions / Gates
|
||||
|
||||
- Loeschen ist nur fuer berechtigte Admins sichtbar.
|
||||
- Rolle `Admin` hat keine Loeschen-Aktion.
|
||||
|
||||
## Subframe
|
||||
|
||||
- Umsetzung als echtes Subframe-Dialog-Modal: `DialogLayout` -> `Dialog` -> `Dialog.Content`.
|
||||
- Kein Fake-Modal ueber einer Rollenliste, kein Blur-/Overlay-Hintergrund als eigene Page.
|
||||
- Subframe: [D03 Rolle in Nutzung blockiert](<https://app.subframe.com/f023064a5ca0/design/0363300b-6455-4fd9-9102-659d0a66b0ea/edit>)
|
||||
|
||||
## Notizen
|
||||
|
||||
Ersatzrolle waehlen und Bulk-Reassign sind Backlog/V2.
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
id: M01
|
||||
screen: Mitarbeiter einladen
|
||||
typ: Modal
|
||||
umsetzung: Bauen
|
||||
status: In Subframe
|
||||
route: von S01
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/0338fed6-2624-4e92-9d42-0b959fafe8c2/edit"
|
||||
---
|
||||
|
||||
# M01 - Mitarbeiter einladen
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Admin laedt einen neuen Mitarbeiter in den Workspace ein und weist direkt die passende Rolle zu.
|
||||
|
||||
## Pattern / Archetyp
|
||||
|
||||
A5 Modal / Invite Form.
|
||||
|
||||
## Daten
|
||||
|
||||
- E-Mail-Adresse, Pflichtfeld
|
||||
- optional Name
|
||||
- optional Abteilung
|
||||
- Rolle, Pflichtauswahl mit `Admin` und selbst angelegten Rollen
|
||||
- aktueller Workspace
|
||||
|
||||
## Aktionen
|
||||
|
||||
- Einladung senden
|
||||
- abbrechen / Modal schliessen
|
||||
- Rolle auswaehlen
|
||||
|
||||
## Layout / Inhalt
|
||||
|
||||
1. Headline `Mitarbeiter einladen`.
|
||||
2. Hinweis, dass die Einladung fuer den aktuellen Workspace gilt.
|
||||
3. Felder: E-Mail, Name optional, Abteilung optional, Rolle.
|
||||
4. Aktionen: `Einladung senden`, `Abbrechen`.
|
||||
|
||||
## Toasts / Action-Feedback
|
||||
|
||||
- Erfolg: Toast `Einladung wurde gesendet`.
|
||||
- Danach zurueck zu S01; Nutzer erscheint mit Status `Eingeladen`.
|
||||
|
||||
## Zustaende
|
||||
|
||||
| Zustand | Beschreibung | Umsetzung |
|
||||
|---|---|---|
|
||||
| Leer | Pflichtfelder leer | Bauen |
|
||||
| Validierungsfehler | E-Mail fehlt/ungueltig, Rolle fehlt | Bauen |
|
||||
| Einladung existiert | Hinweis mit Option erneut senden | Nur dokumentieren |
|
||||
| Laden | Einladung wird gesendet | Wiederverwenden |
|
||||
| Fehler | Einladung konnte nicht gesendet werden | Nur dokumentieren |
|
||||
|
||||
## Permissions / Gates
|
||||
|
||||
- Admin oder Rolle mit Mitarbeiter-einladen-Berechtigung.
|
||||
|
||||
## Subframe
|
||||
|
||||
- Umsetzung als echtes Subframe-Dialog-Modal: `DialogLayout` -> `Dialog` -> `Dialog.Content`.
|
||||
- Kein Fake-Modal per `Card`, duplizierter Mitarbeiterliste oder manuell nachgebautem Overlay.
|
||||
|
||||
## Notizen
|
||||
|
||||
Kein eigener Fullscreen. Der Invite bleibt ein kompaktes Modal aus der Mitarbeiterliste.
|
||||
@@ -0,0 +1,105 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
id: M02
|
||||
screen: Rolle bearbeiten
|
||||
typ: Grosses Modal
|
||||
umsetzung: Bauen
|
||||
status: In Subframe
|
||||
route: von S02 Bearbeiten, M04A Rolle anlegen oder M04B Rolle duplizieren
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/9a9873e3-d790-4373-b8c2-fadd3b82cbe6/edit"
|
||||
---
|
||||
|
||||
# M02 - Rolle bearbeiten
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Admin bearbeitet eine vorhandene eigene Rolle oder konfiguriert nach M04A/M04B die Berechtigungen einer neu angelegten bzw. duplizierten Rolle. Die Systemrolle `Admin` ist geschuetzt.
|
||||
|
||||
## Pattern / Archetyp
|
||||
|
||||
Grosses Modal / Role Editor.
|
||||
|
||||
## Daten
|
||||
|
||||
- Rollenname
|
||||
- Beschreibung
|
||||
- Typ als Information: Systemrolle oder Eigene Rolle
|
||||
- Permission-Bereiche als Arbeitsgeruest
|
||||
- konkrete Permission-Zeilen nach Beispielmuster
|
||||
|
||||
## Aktionen
|
||||
|
||||
- von `M04A`: neue Rolle mit Basisdaten uebernehmen
|
||||
- von `M04B`: duplizierte Rolle mit Basisdaten und kopierten Berechtigungen uebernehmen
|
||||
- bei `Bearbeiten`: direkt den grossen Permission-Editor oeffnen
|
||||
- speichern
|
||||
- abbrechen / Modal schliessen
|
||||
- Rolle loeschen, wenn erlaubt
|
||||
- Permission-Auswahl aendern
|
||||
- Permission suchen
|
||||
- Sidebar-Bereich oeffnen
|
||||
|
||||
## Layout / Inhalt
|
||||
|
||||
1. Grosser Modal-Flow ueber S02, mit Schliessen-Icon.
|
||||
2. Entry `Bearbeiten`: direkt in den grossen Permission-Editor springen.
|
||||
3. Entry `Rolle anlegen`: kommt aus `M04A Rolle anlegen` mit Basisdaten.
|
||||
4. Entry `Duplizieren`: kommt aus `M04B Rolle duplizieren` mit Basisdaten und kopierten Berechtigungen.
|
||||
5. Im grossen Editor steht oben der Bereich `Rolle` mit Rollenname, Beschreibung, Bereich/Kategorie und Typ-Info; diese Daten bleiben dort bearbeitbar.
|
||||
6. Links steht eine Sidebar nach Apple-Settings-Muster: Suchfeld oben, darunter Bereiche.
|
||||
7. Die Suche durchsucht alle Permissions und filtert bereichsuebergreifend.
|
||||
8. Hauptbereich scrollt von `Rolle` zu `Allgemein` und weiter in einzelne Rechtebereiche.
|
||||
9. Rechtebereiche: Allgemein, Mitarbeiter, Rollen und Berechtigungen, Workspace Settings, Abrechnung, Audit & Sicherheit, Integrationen/API, Dateien, Aufgaben.
|
||||
10. Footer mit `Speichern` und `Abbrechen`.
|
||||
|
||||
## Permission-Zeilenmuster
|
||||
|
||||
Eine Permission wird konkret vorgebaut, damit das Muster klar ist:
|
||||
|
||||
| Element | Inhalt |
|
||||
|---|---|
|
||||
| Ueberschrift | `Mitarbeiter ansehen` |
|
||||
| Beschreibung | `Darf Mitarbeiterliste und Mitarbeiterprofile im Workspace lesen.` |
|
||||
| Control | Toggle-Switch `An/Aus` |
|
||||
|
||||
Verhalten:
|
||||
|
||||
- `Aus`: kein Zugriff.
|
||||
- `An`: Zugriff ist erlaubt.
|
||||
- Abstufungen wie `Read-only` oder `Bearbeiten` koennen spaeter als Advanced Control ergaenzt werden, wenn die Permission nicht binaer ist.
|
||||
- Weitere Permissions werden Development-seitig nach diesem Muster ergaenzt.
|
||||
|
||||
## Zustaende
|
||||
|
||||
| Zustand | Beschreibung | Umsetzung |
|
||||
|---|---|---|
|
||||
| Neue Rolle bearbeiten | nach M04A atomare Permissions setzen | Bauen |
|
||||
| Rolle bearbeiten | direkt im Permission-Editor mit vorhandenen Werten | Bauen |
|
||||
| Rolle duplizieren | nach M04B mit vorausgefuellten Basisdaten und kopierten Berechtigungen in den Editor | Bauen |
|
||||
| Vorlage verwenden | WIP-Vorlage kann als Startpunkt fuer eigene Rolle dienen | Nur dokumentieren |
|
||||
| Admin-Rolle | kritische Felder/Loeschen geschuetzt | Nur dokumentieren |
|
||||
| Rollenname existiert | Inline-Fehler am Namen | Nur dokumentieren |
|
||||
| Rolle in Nutzung loeschen | Loeschen blockiert | D03 |
|
||||
|
||||
## Permissions / Gates
|
||||
|
||||
- Nur Admins oder Rollen mit Rollen-/Berechtigungsverwaltung.
|
||||
- Systemrolle `Admin` darf nicht geloescht werden.
|
||||
|
||||
## Subframe
|
||||
|
||||
- Finale Subframe-Seite fuer Umsetzung: `M02 Rolle bearbeiten`.
|
||||
- Umsetzung als echtes grosses Subframe-Modal mit `DialogLayout` + `Dialog.Content`, nicht als freie Page-Shell.
|
||||
- Der Screen enthaelt realistischere Permission-Vorlagen: laengere Beschreibungen, Accordion-Untergruppen, erweiterte Einstellungen und Zugriffsstufen wie `Kein Zugriff`, `Nur lesen`, `Voller Zugriff`.
|
||||
- Die alten M02-Referenzvarianten wurden aus Subframe geloescht, damit der Admin-RBAC-Flow clean bleibt.
|
||||
|
||||
| Screen | Subframe |
|
||||
|---|---|
|
||||
| M02 Rolle bearbeiten | [Subframe](<https://app.subframe.com/f023064a5ca0/design/9a9873e3-d790-4373-b8c2-fadd3b82cbe6/edit>) |
|
||||
|
||||
## Notizen
|
||||
|
||||
Die Permission-Bundles sind fuer v1 ein Arbeitsgeruest, kein finaler Rechtekatalog. Wichtig ist das UI-Muster und der Einstieg fuer Development.
|
||||
@@ -0,0 +1,72 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
id: M03
|
||||
screen: Mitarbeiter deaktivieren
|
||||
typ: Confirm Modal
|
||||
umsetzung: Bauen
|
||||
status: In Subframe
|
||||
route: von S01
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/11e3f3dc-451b-4abb-aedf-3aad63704c51/edit"
|
||||
---
|
||||
|
||||
# M03 - Mitarbeiter deaktivieren
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Admin bestaetigt bewusst, dass ein Mitarbeiter keinen Zugriff mehr auf den Workspace haben soll.
|
||||
|
||||
## Pattern / Archetyp
|
||||
|
||||
A5 Confirm-Modal.
|
||||
|
||||
## Daten
|
||||
|
||||
- Name des Mitarbeiters
|
||||
- E-Mail des Mitarbeiters
|
||||
- aktueller Status
|
||||
- ob der Mitarbeiter letzter Admin ist
|
||||
|
||||
## Aktionen
|
||||
|
||||
- `Deaktivieren`
|
||||
- `Abbrechen`
|
||||
- Modal schliessen
|
||||
|
||||
## Layout / Inhalt
|
||||
|
||||
1. Headline `Mitarbeiter deaktivieren?`
|
||||
2. Name und E-Mail des Mitarbeiters.
|
||||
3. Kurzer Hinweis: Nach der Deaktivierung hat der Mitarbeiter keinen Zugriff mehr auf den Workspace.
|
||||
4. Hinweis: Der Mitarbeiter bleibt in der Liste mit Status `Deaktiviert` sichtbar.
|
||||
5. Aktionen: Danger-Button `Deaktivieren`, sekundar `Abbrechen`.
|
||||
|
||||
## Toasts / Action-Feedback
|
||||
|
||||
- Erfolg: Toast `Mitarbeiter wurde deaktiviert`.
|
||||
- S01 zeigt danach Status `Deaktiviert`.
|
||||
|
||||
## Zustaende
|
||||
|
||||
| Zustand | Beschreibung | Umsetzung |
|
||||
|---|---|---|
|
||||
| Confirm | kurze Sicherheitsfrage | Bauen |
|
||||
| Laden | Deaktivierung wird gespeichert | Wiederverwenden |
|
||||
| Letzter Admin | Aktion wird blockiert | V01 |
|
||||
| Fehler | Deaktivierung fehlgeschlagen | Nur dokumentieren |
|
||||
|
||||
## Permissions / Gates
|
||||
|
||||
- Nur Admins oder Rollen mit Mitarbeiter-deaktivieren-Berechtigung.
|
||||
- Letzter Admin darf nicht deaktiviert werden.
|
||||
|
||||
## Subframe
|
||||
|
||||
- Umsetzung als echtes Subframe-Confirm-Modal: `DialogLayout` -> `Dialog` -> `Dialog.Content`.
|
||||
- Kein Fake-Modal per freiem Container, duplizierter Mitarbeiterliste oder manuell nachgebautem Overlay-Hintergrund.
|
||||
|
||||
## Notizen
|
||||
|
||||
Kein Reassign in v1. Offene Verantwortlichkeiten bleiben Backlog/V2.
|
||||
@@ -0,0 +1,85 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
id: M04A
|
||||
screen: Rolle anlegen
|
||||
typ: Modal Step
|
||||
umsetzung: Bauen
|
||||
status: In Subframe
|
||||
route: von S02 CTA Rolle anlegen
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/479ee52d-8d73-46e9-9a9b-a8798a22d764/edit"
|
||||
---
|
||||
|
||||
# M04A - Rolle anlegen
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Admin klaert die Basisdaten einer komplett neuen eigenen Rolle, bevor er in den grossen Permission-Editor wechselt.
|
||||
|
||||
## Pattern / Archetyp
|
||||
|
||||
Modal Step / Create Role Basics.
|
||||
|
||||
## Daten
|
||||
|
||||
- Rollenname
|
||||
- Beschreibung
|
||||
- Bereich/Kategorie, z. B. Team, Verwaltung, Operativ
|
||||
- optionaler Vorlagenbereich als Work in Progress
|
||||
|
||||
## Aktionen
|
||||
|
||||
- `Weiter zu Berechtigungen` -> M02 Rolle bearbeiten
|
||||
- `Abbrechen`
|
||||
- Modal schliessen
|
||||
- optionale Vorlage als WIP-Platzhalter ansehen, falls spaeter verfuegbar
|
||||
|
||||
## Layout / Inhalt
|
||||
|
||||
1. Modal ueber `S02 Rollen und Berechtigungen`, mit Schliessen-Icon.
|
||||
2. Headline: `Rolle anlegen`.
|
||||
3. Kurztext: Die Basisdaten helfen, die Rolle spaeter in der Rollenliste und im Editor eindeutig zuzuordnen.
|
||||
4. Formular:
|
||||
- Rollenname als Pflichtfeld.
|
||||
- Beschreibung als optionales Textfeld.
|
||||
- Bereich/Kategorie als Select.
|
||||
5. Optionaler Bereich `Vorlage verwenden`:
|
||||
- sichtbar als WIP/Platzhalter.
|
||||
- keine Vorlage wird als feste Seed-Rolle angelegt.
|
||||
- Vorlagen dienen spaeter nur als Startpunkt fuer eigene Rollen.
|
||||
6. Footer:
|
||||
- Primaer: `Weiter zu Berechtigungen`.
|
||||
- Sekundaer: `Abbrechen`.
|
||||
|
||||
## Zustaende
|
||||
|
||||
| Zustand | Beschreibung | Umsetzung |
|
||||
|---|---|---|
|
||||
| Neue Rolle | leeres Formular fuer eigene Rolle | Bauen |
|
||||
| Rollenname fehlt | Inline-Fehler am Namen | Bauen |
|
||||
| Rollenname existiert | Inline-Fehler am Namen | Nur dokumentieren |
|
||||
| Vorlage verwenden | WIP-Vorlagenbereich als spaeterer Startpunkt | Nur dokumentieren |
|
||||
|
||||
## Permissions / Gates
|
||||
|
||||
- Nur Admins oder Rollen mit Rollen-/Berechtigungsverwaltung.
|
||||
- Systemrolle `Admin` wird hier nicht erstellt.
|
||||
|
||||
## Subframe
|
||||
|
||||
- Existierende Subframe-Seite fuer `M04A Rolle anlegen`.
|
||||
- Wird als echter Modal-Step im Admin-RBAC-Flow genutzt.
|
||||
- Dialog-QA: Varianten muessen `DialogLayout` -> `Dialog` -> `Dialog.Content` nutzen; keine simulierten Overlay-/Card-Modals.
|
||||
- Subframe-Stand: M04A ist optisch an den M04B-Duplikat-Screen angeglichen, aber ohne Duplikat-Modus.
|
||||
|
||||
| Screen | Subframe |
|
||||
|---|---|
|
||||
| M04A Rolle anlegen | [Subframe](<https://app.subframe.com/f023064a5ca0/design/479ee52d-8d73-46e9-9a9b-a8798a22d764/edit>) |
|
||||
|
||||
## Notizen
|
||||
|
||||
Dieser Screen ist nur fuer den Einstieg `Rolle anlegen`. `Duplizieren` ist ein eigener Screen `M04B Rolle duplizieren`; `Bearbeiten` geht weiterhin direkt nach `M02 Rolle bearbeiten`.
|
||||
|
||||
Design-Stand: Layout, Abstaende, Footer und Dialog-Struktur entsprechen dem final angepassten M04B-Duplikat-Screen. Inhalte bleiben Create-Mode: keine Quellrolle, kein `Kopie von ...`, kein Hinweis auf kopierte Berechtigungen.
|
||||
@@ -0,0 +1,78 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
id: M04B
|
||||
screen: Rolle duplizieren
|
||||
typ: Modal Step
|
||||
umsetzung: Bauen
|
||||
status: In Subframe
|
||||
route: von S02 Zeilenaktion Duplizieren
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/610d08e6-5c6a-44d3-9b29-220664393ea0/edit"
|
||||
---
|
||||
|
||||
# M04B - Rolle duplizieren
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Admin nutzt eine bestehende eigene Rolle als Startpunkt, passt die Basisdaten an und landet danach im grossen Permission-Editor mit kopierten Berechtigungen.
|
||||
|
||||
## Pattern / Archetyp
|
||||
|
||||
Modal Step / Duplicate Role Basics.
|
||||
|
||||
## Daten
|
||||
|
||||
- Quellrolle
|
||||
- Rollenname, vorausgefuellt z. B. als `Kopie von ...`
|
||||
- Beschreibung
|
||||
- Bereich/Kategorie, aus Quellrolle uebernommen
|
||||
- Hinweis, dass Berechtigungen aus der Quellrolle kopiert und im naechsten Schritt angepasst werden
|
||||
|
||||
## Aktionen
|
||||
|
||||
- `Weiter zu Berechtigungen` -> M02 Rolle bearbeiten
|
||||
- `Abbrechen`
|
||||
- Modal schliessen
|
||||
|
||||
## Layout / Inhalt
|
||||
|
||||
1. Modal ueber `S02 Rollen und Berechtigungen`, mit Schliessen-Icon.
|
||||
2. Headline: `Rolle duplizieren`.
|
||||
3. Hinweisblock: `Basisdaten und Berechtigungen werden aus [Quellrolle] uebernommen.`
|
||||
4. Formular:
|
||||
- Rollenname als Pflichtfeld.
|
||||
- Beschreibung als optionales Textfeld.
|
||||
- Bereich/Kategorie als Select.
|
||||
5. Footer:
|
||||
- Primaer: `Weiter zu Berechtigungen`.
|
||||
- Sekundaer: `Abbrechen`.
|
||||
|
||||
## Zustaende
|
||||
|
||||
| Zustand | Beschreibung | Umsetzung |
|
||||
|---|---|---|
|
||||
| Rolle duplizieren | Formular mit Werten aus Quellrolle vorausgefuellt | Bauen |
|
||||
| Rollenname fehlt | Inline-Fehler am Namen | Bauen |
|
||||
| Rollenname existiert | Inline-Fehler am Namen | Nur dokumentieren |
|
||||
| Quellrolle nicht mehr verfuegbar | kleiner Fehlerhinweis mit `Schliessen` | Nur dokumentieren |
|
||||
|
||||
## Permissions / Gates
|
||||
|
||||
- Nur Admins oder Rollen mit Rollen-/Berechtigungsverwaltung.
|
||||
- Systemrolle `Admin` darf nicht dupliziert werden.
|
||||
|
||||
## Subframe
|
||||
|
||||
- Existierende Subframe-Seite fuer `M04B Rolle duplizieren`.
|
||||
- Wird als eigener Modal-Step im Admin-RBAC-Flow genutzt.
|
||||
- Dialog-QA: Varianten muessen `DialogLayout` -> `Dialog` -> `Dialog.Content` nutzen; keine simulierten Overlay-/Card-Modals.
|
||||
|
||||
| Screen | Subframe |
|
||||
|---|---|
|
||||
| M04B Rolle duplizieren | [Subframe](<https://app.subframe.com/f023064a5ca0/design/610d08e6-5c6a-44d3-9b29-220664393ea0/edit>) |
|
||||
|
||||
## Notizen
|
||||
|
||||
Dieser Screen ist nur fuer den Einstieg `Duplizieren`. Nach `Weiter zu Berechtigungen` nutzt der Admin `M02 Rolle bearbeiten`, um kopierte Berechtigungen atomar anzupassen.
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
id: S01
|
||||
screen: Mitarbeiterliste
|
||||
typ: Admin List
|
||||
umsetzung: Bauen
|
||||
status: In Subframe
|
||||
route: Settings -> Mitarbeiter, Tab Mitarbeiter
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/a9571d72-15e0-4897-968b-1f700ee4bfbc/edit"
|
||||
---
|
||||
|
||||
# S01 - Mitarbeiterliste
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Admin findet Mitarbeiter schnell, prueft Rollen/Status und startet Einladung, Rollenaenderung oder Deaktivierung.
|
||||
|
||||
## Pattern / Archetyp
|
||||
|
||||
A2 List + A6 Settings.
|
||||
|
||||
## Daten
|
||||
|
||||
- Mitarbeiter: Avatar, Name, E-Mail, Telefonnummer optional
|
||||
- Abteilung
|
||||
- aktuelle Rolle(n)
|
||||
- Status: Aktiv, Eingeladen, Deaktiviert
|
||||
- 2FA-Status
|
||||
- verfuegbare Rollen fuer das Rollen-Dropdown
|
||||
|
||||
## Aktionen
|
||||
|
||||
- `Mitarbeiter einladen` -> M01
|
||||
- Rolle direkt in der Tabellenzeile aendern; Verhalten ist als D01 dokumentiert, aber kein eigener Screen
|
||||
- `Rollen und Berechtigungen bearbeiten` -> S02
|
||||
- Zeilenaktion `Deaktivieren` -> M03
|
||||
- ggf. `Einladung erneut senden`
|
||||
|
||||
## Layout / Inhalt
|
||||
|
||||
1. Header `Mitarbeiter` mit primaerem CTA `Mitarbeiter einladen`.
|
||||
2. Tabs innerhalb `Settings -> Mitarbeiter`: `Mitarbeiter`, `Rollen und Berechtigungen`.
|
||||
3. Toolbar mit Suche nach Name, E-Mail und Telefonnummer.
|
||||
4. Filter: Rolle, Abteilung, Status, 2FA.
|
||||
5. Tabelle mit Spalten: Mitarbeiter, Abteilung, Rolle, Status, 2FA, Aktionen.
|
||||
6. Aktionen rechts als 3-Punkte-Menue.
|
||||
|
||||
## Rollen-Dropdown in der Tabelle
|
||||
|
||||
- Das Rollen-Dropdown ist Bestandteil von S01 und kein eigener Subframe-Screen.
|
||||
- Es zeigt die aktuelle Rolle und verfuegbare Rollen.
|
||||
- Unterhalb der Rollen steht `Rollen und Berechtigungen bearbeiten`.
|
||||
- Dieser Eintrag fuehrt zu S02, Tab `Rollen und Berechtigungen`.
|
||||
- Kritische Rollenwechsel, z. B. letzter Admin verliert Adminrechte, werden ueber V01 blockiert.
|
||||
|
||||
## Toasts / Action-Feedback
|
||||
|
||||
- Einladung gesendet: Toast.
|
||||
- Rolle geaendert: kurzer Toast oder Inline-Saved-State.
|
||||
- Mitarbeiter deaktiviert: Toast nach M03.
|
||||
|
||||
## Zustaende
|
||||
|
||||
| Zustand | Beschreibung | Umsetzung |
|
||||
|---|---|---|
|
||||
| Standard | Mitarbeiterliste mit Suche, Filtern und Tabelle | Bauen |
|
||||
| Keine Treffer | Suche/Filter ergibt keine Ergebnisse | Bauen |
|
||||
| Eingeladener Nutzer | Status `Eingeladen`, ggf. `Einladung erneut senden` | Nur dokumentieren |
|
||||
| Deaktivierter Nutzer | Status `Deaktiviert`, bleibt sichtbar | Bauen |
|
||||
| Letzter Admin betroffen | kritische Aktion blockieren | V01 |
|
||||
|
||||
## Permissions / Gates
|
||||
|
||||
- Nur Admins oder Rollen mit entsprechender Mitarbeiter-/RBAC-Berechtigung.
|
||||
- Normale Nutzer sehen diesen Settings-Bereich nicht.
|
||||
|
||||
## Subframe
|
||||
|
||||
- Rollen-Dropdown ist in S01 enthalten; keine separate D01-Subframe-Seite.
|
||||
|
||||
## Notizen
|
||||
|
||||
Reassign offener Aufgaben ist nicht Teil von v1. Deaktivieren bleibt ein kleiner Confirm-Flow.
|
||||
@@ -0,0 +1,78 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
id: S02
|
||||
screen: Rollen und Berechtigungen
|
||||
typ: Settings Subpage
|
||||
umsetzung: Bauen
|
||||
status: In Subframe
|
||||
route: Settings -> Mitarbeiter, Tab Rollen und Berechtigungen
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/87c24709-4f22-4181-8543-e21ff169c4d5/edit"
|
||||
---
|
||||
|
||||
# S02 - Rollen und Berechtigungen
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Admin verwaltet die Systemrolle `Admin` und selbst angelegte Rollen in einer kompakten Rollen-Tabelle.
|
||||
|
||||
## Pattern / Archetyp
|
||||
|
||||
A2 List + A6 Settings.
|
||||
|
||||
## Daten
|
||||
|
||||
- Rollenliste
|
||||
- Typ: Systemrolle, Eigene Rolle
|
||||
- Beschreibung
|
||||
- Mitgliederanzahl / Avatar-Stack
|
||||
- Status: Aktiv, Pruefen
|
||||
- Permission-Bereiche als Arbeitsgeruest
|
||||
|
||||
## Aktionen
|
||||
|
||||
- `Rolle anlegen` -> M04A Rolle anlegen mit Basisdaten
|
||||
- Zeilenaktion `Bearbeiten` -> M02 direkt im grossen Permission-Editor
|
||||
- Zeilenaktion `Duplizieren` -> M04B Rolle duplizieren mit kopierter Rolle
|
||||
- Zeilenaktion `Loeschen`
|
||||
- bei Rolle in Nutzung -> D03
|
||||
|
||||
## Layout / Inhalt
|
||||
|
||||
1. Header `Rollen und Berechtigungen` mit CTA `Rolle anlegen`.
|
||||
2. Toolbar mit Suche nach Rollenname und Beschreibung.
|
||||
3. Filter: Typ, Permission-Bereich, In Nutzung.
|
||||
4. Tabelle mit Spalten: Rolle, Beschreibung, Typ, Mitglieder, Status, Aktionen.
|
||||
5. Aktionen rechts pro Zeile als 3-Punkte-Menue.
|
||||
6. Nur eine sichtbare Systemrolle: `Admin`.
|
||||
|
||||
## Rollen / Beispiele
|
||||
|
||||
- Admin als einzige Systemrolle.
|
||||
- Eigene Rollen koennen frei benannt werden.
|
||||
- Rollen-Vorlagen fuer neue Rollen sind Work in Progress und erscheinen nicht als feste Rollen in der Liste.
|
||||
|
||||
## Zustaende
|
||||
|
||||
| Zustand | Beschreibung | Umsetzung |
|
||||
|---|---|---|
|
||||
| Standard | Rollen-Tabelle mit Suche/Filtern | Bauen |
|
||||
| Keine Treffer | Suche/Filter ohne Ergebnis | Bauen |
|
||||
| Admin-Rolle | Systemrolle ohne Loeschen-Aktion | Bauen |
|
||||
| Rolle ohne Mitglieder loeschen | Loeschen moeglich mit Confirm/Pattern | Nur dokumentieren |
|
||||
| Rolle in Nutzung | Loeschen blockiert | D03 |
|
||||
|
||||
## Permissions / Gates
|
||||
|
||||
- Nur Admins oder Rollen mit Rollen-/Berechtigungsverwaltung.
|
||||
- Normale Nutzer sehen diesen Tab nicht.
|
||||
|
||||
## Subframe
|
||||
|
||||
-
|
||||
|
||||
## Notizen
|
||||
|
||||
Die Tabelle orientiert sich am validierten Referenzbild: klare Settings-Sidebar, Rollenliste, Mitglieder-Spalte, Status, 3-Punkte-Menue.
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
id: V01
|
||||
screen: Letzter Admin blockiert
|
||||
typ: Admin Blocker
|
||||
umsetzung: Nur dokumentieren
|
||||
status: In Subframe
|
||||
route: von S01/M03/Rollenwechsel
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/c1fd0142-76ad-402d-8eae-25ce9281d298/edit"
|
||||
---
|
||||
|
||||
# V01 - Letzter Admin blockiert
|
||||
|
||||
## Ziel
|
||||
|
||||
Das System verhindert, dass ein Workspace ohne Admin bleibt.
|
||||
|
||||
## Pattern / Archetyp
|
||||
|
||||
Blocker-State im jeweiligen Kontext.
|
||||
|
||||
## Ausloeser
|
||||
|
||||
- letzter Admin soll deaktiviert werden
|
||||
- letzter Admin soll seine Admin-Rolle verlieren
|
||||
- Rollenwechsel wuerde dazu fuehren, dass kein Admin mehr existiert
|
||||
|
||||
## Aktionen
|
||||
|
||||
- `Verstanden`
|
||||
- ggf. weiteren Admin bestimmen, wenn spaeter vorhanden
|
||||
- abbrechen
|
||||
|
||||
## Inhalt / Copy-Richtung
|
||||
|
||||
Headline: `Letzter Admin kann nicht entfernt werden`
|
||||
|
||||
Text: `Dieser Workspace braucht mindestens einen Admin. Weise zuerst einem anderen Mitarbeiter die Admin-Rolle zu.`
|
||||
|
||||
## Zustaende
|
||||
|
||||
| Zustand | Beschreibung | Umsetzung |
|
||||
|---|---|---|
|
||||
| Deaktivieren blockiert | M03 kann nicht ausgefuehrt werden | Nur dokumentieren |
|
||||
| Rollenwechsel blockiert | D01 speichert nicht | Nur dokumentieren |
|
||||
| Erweiterter Admin-Schutz | genauere Policy spaeter | Backlog |
|
||||
|
||||
## Permissions / Gates
|
||||
|
||||
- Greift unabhaengig davon, ob der ausloesende Nutzer grundsaetzlich Adminrechte hat.
|
||||
|
||||
## Subframe
|
||||
|
||||
- Umsetzung als echtes Subframe-Dialog-Modal: `DialogLayout` -> `Dialog` -> `Dialog.Content`.
|
||||
- Kein Fake-Modal ueber einer Rollen-/Settings-Liste, kein Blur-/Overlay-Hintergrund als eigene Page.
|
||||
- Subframe: [V01 Letzter Admin blockiert](<https://app.subframe.com/f023064a5ca0/design/c1fd0142-76ad-402d-8eae-25ce9281d298/edit>)
|
||||
|
||||
## Notizen
|
||||
|
||||
Der konkrete Policy-Feinschliff fuer Selbst-Deaktivierung und kritische Rollenwechsel bleibt Backlog/V2.
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"nodes":[
|
||||
{"id":"group-main","type":"group","x":-120,"y":-680,"width":4280,"height":1440,"label":"Admin RBAC Hauptflow"},
|
||||
{"id":"group-notes","type":"group","x":-120,"y":900,"width":4280,"height":430,"label":"Dokumentierte Zustaende und Backlog"},
|
||||
{"id":"s02","type":"file","file":"02 Wireframes/P2 Admin RBAC/WF-P2 Admin RBAC/Screens/S02 Rollen und Berechtigungen.md","x":1560,"y":440,"width":440,"height":230},
|
||||
{"id":"s01","type":"file","file":"02 Wireframes/P2 Admin RBAC/WF-P2 Admin RBAC/Screens/S01 Mitarbeiterliste.md","x":0,"y":45,"width":440,"height":230},
|
||||
{"id":"m04a","type":"file","file":"02 Wireframes/P2 Admin RBAC/WF-P2 Admin RBAC/Screens/M04A Rolle anlegen.md","x":2120,"y":-110,"width":440,"height":230},
|
||||
{"id":"m04b","type":"file","file":"02 Wireframes/P2 Admin RBAC/WF-P2 Admin RBAC/Screens/M04B Rolle duplizieren.md","x":2980,"y":-110,"width":440,"height":230},
|
||||
{"id":"d03","type":"file","file":"02 Wireframes/P2 Admin RBAC/WF-P2 Admin RBAC/Screens/D03 Rolle in Nutzung blockiert.md","x":3600,"y":440,"width":440,"height":230},
|
||||
{"id":"m02","type":"file","file":"02 Wireframes/P2 Admin RBAC/WF-P2 Admin RBAC/Screens/M02 Rolle bearbeiten.md","x":2680,"y":440,"width":440,"height":230},
|
||||
{"id":"v01","type":"file","file":"02 Wireframes/P2 Admin RBAC/WF-P2 Admin RBAC/Screens/V01 Letzter Admin blockiert.md","x":2120,"y":-440,"width":440,"height":230},
|
||||
{"id":"m01","type":"file","file":"02 Wireframes/P2 Admin RBAC/WF-P2 Admin RBAC/Screens/M01 Mitarbeiter einladen.md","x":1000,"y":-360,"width":440,"height":230},
|
||||
{"id":"m03","type":"file","file":"02 Wireframes/P2 Admin RBAC/WF-P2 Admin RBAC/Screens/M03 Mitarbeiter deaktivieren.md","x":1000,"y":5,"width":440,"height":230},
|
||||
{"id":"note-seed","type":"text","text":"# Rollenmodell\n\nAdmin ist die einzige Start-/Systemrolle.\n\nWeitere Rollen werden vom Admin selbst angelegt.\n\nRollen-Vorlagen sind Work in Progress und werden nicht als feste Rollen in der Liste gezeigt.","x":1520,"y":1020,"width":520,"height":240},
|
||||
{"id":"note-navigation","type":"text","text":"# Navigation\n\nS01 ist der Einstieg unter `Settings -> Mitarbeiter`.\n\nDer Rollen-Tab S02 ist direkt ueber die Settings-Tabs erreichbar und zusaetzlich ueber den Dropdown-Eintrag `Rollen und Berechtigungen bearbeiten`.","x":-40,"y":1020,"width":520,"height":240},
|
||||
{"id":"note-d01","type":"text","text":"# D01 Rollen-Dropdown\n\nKein eigener Screen.\n\nDas Dropdown ist direkt in S01 enthalten:\n- Rolle wechseln\n- `Rollen und Berechtigungen bearbeiten` fuehrt zu S02\n- letzter Admin wird ueber V01 blockiert","x":720,"y":1015,"width":500,"height":250},
|
||||
{"id":"note-backlog","type":"text","text":"# Backlog / V2\n\nReassign beim Deaktivieren, Rollen-Loeschen mit Ersatzrolle, Gruppen, Rechtekatalog, Rollen-Audit, Review-Zyklus, Rechte-Matrix, Bulk-Aktionen, erweiterter Admin-Schutz.","x":3520,"y":1020,"width":600,"height":240},
|
||||
{"id":"note-permission","type":"text","text":"# Permission-Muster\n\nIm Rollen-Modal wird eine konkrete Permission-Zeile vorgebaut:\n\n`Mitarbeiter ansehen`\nBeschreibung darunter\nControl: Toggle `An/Aus`\n\nRead-only/Bearbeiten bleibt spaeteres Advanced Control, falls ein Recht nicht binaer ist.\n\nFinaler Rechtekatalog liegt bei Development.","x":2620,"y":1000,"width":560,"height":280}
|
||||
],
|
||||
"edges":[
|
||||
{"id":"edge-s01-m01","fromNode":"s01","fromSide":"right","toNode":"m01","toSide":"left","label":"Mitarbeiter einladen"},
|
||||
{"id":"edge-s01-m03","fromNode":"s01","fromSide":"right","toNode":"m03","toSide":"left","label":"deaktivieren"},
|
||||
{"id":"edge-s01-d01","fromNode":"s01","fromSide":"right","toNode":"note-d01","toSide":"top","label":"Rolle wechseln inline"},
|
||||
{"id":"edge-s01-s02","fromNode":"s01","fromSide":"right","toNode":"s02","toSide":"left","label":"Rollen bearbeiten"},
|
||||
{"id":"edge-s02-m02","fromNode":"s02","fromSide":"right","toNode":"m02","toSide":"left","label":"bearbeiten"},
|
||||
{"id":"edge-m03-v01","fromNode":"m03","fromSide":"right","toNode":"v01","toSide":"left","label":"letzter Admin"},
|
||||
{"id":"edge-s01-v01-role","fromNode":"s01","fromSide":"right","toNode":"v01","toSide":"left","label":"Admin entfernen"},
|
||||
{"id":"edge-m02-d03","fromNode":"m02","fromSide":"right","toNode":"d03","toSide":"left","label":"Rolle in Nutzung"},
|
||||
{"id":"edge-m02-permission","fromNode":"m02","fromSide":"bottom","toNode":"note-permission","toSide":"top","label":"Permission UI"},
|
||||
{"id":"edge-s02-seed","fromNode":"s02","fromSide":"bottom","toNode":"note-seed","toSide":"top","label":"Rollenmodell"},
|
||||
{"id":"edge-d03-backlog","fromNode":"d03","fromSide":"bottom","toNode":"note-backlog","toSide":"top","label":"spaeter"},
|
||||
{"id":"edge-s01-navigation","fromNode":"s01","fromSide":"bottom","toNode":"note-navigation","toSide":"top","label":"Settings-Tabs"},
|
||||
{"id":"edge-s02-m04a","fromNode":"s02","fromSide":"right","toNode":"m04a","toSide":"left","label":"Rolle anlegen"},
|
||||
{"id":"edge-s02-m04b","fromNode":"s02","fromSide":"right","toNode":"m04b","toSide":"left","label":"duplizieren"},
|
||||
{"id":"edge-m04a-m02","fromNode":"m04a","fromSide":"right","toNode":"m02","toSide":"left","label":"weiter"},
|
||||
{"id":"edge-m04b-m02","fromNode":"m04b","fromSide":"bottom","toNode":"m02","toSide":"top","label":"weiter mit Kopie"}
|
||||
],
|
||||
"metadata":{
|
||||
"version":"1.0-1.0",
|
||||
"frontmatter":{}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,572 @@
|
||||
---
|
||||
kind: wireframe-package
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-P2
|
||||
package: WF-P2 Admin RBAC
|
||||
typ: Admin Flow
|
||||
status: In Subframe
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/flow/42c54a17-9c08-4db3-9306-1449f5b874e4/edit"
|
||||
canvas: WF-P2 Admin RBAC.canvas
|
||||
---
|
||||
|
||||
# WF-P2 Admin RBAC
|
||||
|
||||
Status: In Subframe
|
||||
Subframe-Link: https://app.subframe.com/f023064a5ca0/flow/42c54a17-9c08-4db3-9306-1449f5b874e4/edit
|
||||
Canvas: [[WF-P2 Admin RBAC.canvas]]
|
||||
Stand: 2026-06-23
|
||||
|
||||
---
|
||||
|
||||
## 1. Kurzfassung
|
||||
|
||||
Dieses Paket plant die Admin-Flaechen aus D-P2 fuer Rollen, Berechtigungen und Mitarbeiter. Gruppen sind nach Produktentscheidung nicht Teil dieses Pakets.
|
||||
|
||||
Der wichtigste UX-Risikopunkt ist das sichere Bearbeiten von Rollen/Permissions. Reassign beim Deaktivieren wird fuer v1 bewusst in den Backlog gelegt.
|
||||
|
||||
---
|
||||
|
||||
## 2. Intent Check
|
||||
|
||||
| Frage | Antwort |
|
||||
|---|---|
|
||||
| Welches Ticket/Modul ist betroffen? | D-P2 Auth / RBAC / Tenant Users |
|
||||
| Was soll der Nutzer am Ende schaffen? | Mitarbeiter einladen/verwalten, Rollen zuweisen und Rollen/Permissions pflegen |
|
||||
| Ist es ein Flow, einzelner Screen, Zustand oder nur Dokumentation? | Admin-Paket mit Listen, Editoren und Modal-/Workflow-Zustaenden |
|
||||
| Welche Planning-Quellen wurden geprueft? | D-P2, SCREEN-MAP §1 Auth-Screens, bestehende Settings-Routen `roles-and-permissions` |
|
||||
| Was ist sicher im Scope? | Mitarbeiter/Rollen-Zuweisung, Rollen-Subpage mit Rechtebereichen, Einladungsmodal, einfache Deaktivieren-Bestaetigung |
|
||||
| Was ist sicher nicht im Scope? | Gruppen, Plattform-Admin, Feature-Flags, Audit-Viewer |
|
||||
| Gibt es Admin/Normalrolle-Unterschiede? | Ja, nur Admins duerfen diese Flaechen sehen/bearbeiten |
|
||||
| Welche Annahmen sind noch unsicher? | keine fuer v1; konkrete Permission-Zuschnitte werden im Development finalisiert |
|
||||
|
||||
---
|
||||
|
||||
## 3. Scope
|
||||
|
||||
| Punkt | Inhalt |
|
||||
|---|---|
|
||||
| Ticket/Modul | D-P2 Auth |
|
||||
| Nutzerrolle | Tenant-Admin |
|
||||
| Admin-Variante | Vollzugriff auf Rollen, Permissions-Katalog und Mitarbeiter |
|
||||
| Normale Rolle | Keine Berechtigung / kein Zugriff |
|
||||
| Startpunkt | Settings -> Mitarbeiter |
|
||||
| Ziel | Tenant-Team und Rechte verwalten |
|
||||
| Haupt-Archetyp | A2 List + A5 Modal + A6 Settings |
|
||||
| Bespoke-Anteil | nein |
|
||||
| Out of scope | Gruppen, Audit, Plattform-Admin, Billing |
|
||||
|
||||
---
|
||||
|
||||
## 4. Brainstorming
|
||||
|
||||
### Flow-Frage
|
||||
|
||||
Wie schneiden wir RBAC so, dass es genug fuer Dev/Handoff ist, aber nicht zu einem riesigen Admin-Board wird?
|
||||
|
||||
### UX-Varianten
|
||||
|
||||
| Option | Beschreibung | Vorteil | Nachteil | Empfehlung |
|
||||
|---|---|---|---|---|
|
||||
| A | Settings-Bereich mit Tabs: Mitarbeiter, Rollen und Berechtigungen | kompakt, gut scanbar | mehrere Arbeitsmomente | genommen |
|
||||
| B | Ein grosses Team-Admin-Dashboard | alles zentral | zu breit und schwer zu validieren | raus |
|
||||
| C | Nur Mitarbeiter bauen, Rollen spaeter | schneller | D-P2-Luecke bleibt offen | raus |
|
||||
| D | Gruppen als Teil des RBAC-Pakets | bildet D-P2 voll ab | fuer v1 zu viel und fachlich nicht benoetigt | raus |
|
||||
|
||||
### Entscheidung
|
||||
|
||||
| Entscheidung | Status | Notiz |
|
||||
|---|---|---|
|
||||
| Settings-Struktur statt separatem Admin-Center | genommen | bestehende Route ist `Settings -> Roles & Permissions` |
|
||||
| Gruppen raus | genommen | Gruppen werden in diesem Paket nicht gebaut |
|
||||
| Startrollen | genommen | Zum Start gibt es nur die Systemrolle `Admin`; weitere Rollen legt der Admin selbst an |
|
||||
| Rollen-Vorlagen | WIP | Beim Erstellen koennen spaeter Vorlagen angeboten werden, sind aber noch nicht final |
|
||||
| Eigene Rollen anlegen und benennen | genommen | Rollen-Editor erlaubt Custom Roles |
|
||||
| Rollen-Editor als eigener Arbeitsmoment | genommen | Permission-Bundles + Advanced brauchen Raum |
|
||||
| Kein separater Berechtigungen-Tab | genommen | Berechtigungen sind fuer Admins Teil des Tabs `Rollen und Berechtigungen` |
|
||||
| Einladung als Modal | genommen | A5, kein eigener Fullscreen noetig |
|
||||
| Deaktivieren mit Reassign | Backlog | v1 macht nur einfache Deaktivieren-Bestaetigung |
|
||||
| Keine-Berechtigung-Zustand dokumentieren | genommen | normale Nutzer duerfen Admin-Flaechen nicht sehen |
|
||||
|
||||
### Happy Path
|
||||
|
||||
1. Admin oeffnet Mitarbeiterliste.
|
||||
2. Admin laedt Nutzer ein und weist eine oder mehrere Rollen zu.
|
||||
3. Admin nutzt `Admin` als geschuetzte Systemrolle oder erstellt eine eigene Rolle mit eigenem Namen.
|
||||
4. Wenn ein Nutzer deaktiviert wird, bestaetigt der Admin eine kurze Sicherheitsfrage.
|
||||
|
||||
### Varianten / Branches
|
||||
|
||||
- Rolle anlegen: Name, Beschreibung und Permission-Bundles auswaehlen.
|
||||
- Rolle bearbeiten: Permission-Bundles anpassen.
|
||||
- Rolle loeschen: nur moeglich, wenn keine Mitarbeiter zugewiesen sind; sonst kleines Blocker-Modal und manuelle Umzuweisung.
|
||||
- Nutzer deaktivieren: kurzes Confirm-Modal; Status wird danach `Deaktiviert`.
|
||||
- Einladung laeuft ab oder wird erneut gesendet.
|
||||
- Admin versucht letzten Admin zu deaktivieren.
|
||||
|
||||
### Roadblocks
|
||||
|
||||
- keine Berechtigung
|
||||
- letzter Admin
|
||||
- Rolle in Benutzung
|
||||
- Rollenname existiert bereits
|
||||
- Einladung bereits vorhanden
|
||||
- Reassign-Ziel fehlt nur spaeter relevant, Backlog
|
||||
|
||||
### Meldungs-/Error-State-Brainstorming
|
||||
|
||||
| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz |
|
||||
|---|---|---|---|---|
|
||||
| Einladung gesendet | Toast | nein | nein | Erfolg |
|
||||
| Einladung existiert | Inline/Modal-Hinweis | ja | nein | erneutes Senden anbieten |
|
||||
| Rolle in Benutzung | kleines Blocker-Modal | ja | Nur dokumentieren | Loeschen erst nach manueller Umzuweisung moeglich |
|
||||
| Rollenname existiert | Inline | ja | nein | Name muss eindeutig sein |
|
||||
| Nutzer deaktivieren | kleines Modal | ja | ja | einfache Bestaetigung |
|
||||
| Letzter Admin | Blocker | ja | pruefen | sicherheitskritisch |
|
||||
| Keine Berechtigung | A7 State | ja | nein | wiederverwenden |
|
||||
|
||||
---
|
||||
|
||||
## 5. Screen-Kandidaten nach Entscheidung
|
||||
|
||||
| Kandidat | Warum eventuell noetig? | Erste Einschaetzung |
|
||||
|---|---|---|
|
||||
| Mitarbeiter & Rollen | zentrale Zuweisung von Rollen an User | Bauen |
|
||||
| Einladung Modal | neuer Nutzer | Bauen/Wiederverwenden A5 |
|
||||
| Rollen-Dropdown in Mitarbeiterliste | direkte Rollenzuweisung und Sprung zum Tab `Rollen und Berechtigungen` | Nur dokumentieren |
|
||||
| Mitarbeiter deaktivieren | einfache Sicherheitsbestaetigung | Bauen |
|
||||
| Deaktivieren mit Reassign | spaetere Uebertragung offener Verantwortlichkeiten | Backlog |
|
||||
| Rollen und Berechtigungen | Systemrolle `Admin` und eigene Rollen verwalten | Bauen |
|
||||
| Rolle anlegen/bearbeiten | eigene Rollen anlegen/benennen und atomar Permissions setzen | In S02 loesen |
|
||||
| Rechtebereiche im Tab `Rollen und Berechtigungen` | erklaert Berechtigungen im Kontext der Rolle | In S02 loesen |
|
||||
| Rolle loeschen mit Ersatzrolle | verhindert Rechteverlust | Backlog |
|
||||
| Letzter Admin blockiert | Sicherheitsblocker | Validiert |
|
||||
|
||||
---
|
||||
|
||||
## 6. Rollen- und Permission-Vorschlag
|
||||
|
||||
### Rollenmodell
|
||||
|
||||
| Typ | Rolle | Zweck | Notiz |
|
||||
|---|---|---|---|
|
||||
| Systemrolle | Admin | Vollzugriff auf Mitarbeiter, Rollen, Workspace-Settings und kritische Admin-Funktionen | einzige sichtbare Systemrolle |
|
||||
| Custom Role | frei benennbar | Admin legt eigene Rolle an | Name, Beschreibung, Bereich und Permission-Bereiche |
|
||||
|
||||
Notiz: Es gibt in v1 keine sichtbaren vordefinierten Rollen ausser `Admin`. Vorlagen wie Geschaeftsfuehrer, Projektleiter, Verwaltung, Vertriebler, Kundensupporter oder Monteur koennen spaeter beim Erstellen einer Rolle angeboten werden, sind aber Work in Progress und nicht Teil der initialen Rollenliste.
|
||||
|
||||
### Permission-Bundles fuer den Editor
|
||||
|
||||
Die folgenden Bundles sind nur ein Arbeitsgeruest fuer Planung und Wireframe. Sie muessen nicht vollstaendig vorgebaut werden; Development kann den finalen Rechtekatalog spaeter sauber ausmodellieren. Fuer das UI reicht in v1 ein konkretes Permission-Zeilenmuster im Rollen-Modal.
|
||||
|
||||
| Bundle | Enthalt grob | Relevanz fuer v1 |
|
||||
|---|---|---|
|
||||
| Basiszugriff | Dashboard/App betreten, eigene Daten sehen | direkt |
|
||||
| Mitarbeiter | Mitglieder sehen, einladen, bearbeiten, deaktivieren | direkt |
|
||||
| Rollen & Berechtigungen | Rollen ansehen, Rollen setzen, Custom Roles pflegen | direkt |
|
||||
| Workspace Settings | Workspace/Account Settings sehen und bearbeiten | direkt |
|
||||
| Abrechnung | Subscription, Rechnungen, Rechnungsdaten | direkt/teilweise |
|
||||
| Audit & Sicherheit | Audit-Log sehen, sicherheitsrelevante Admin-Einsicht | direkt/teilweise |
|
||||
| Integrationen/API | API Keys, Plugins, technische Anbindungen | direkt/teilweise |
|
||||
| CRM/Kunden | Kunden/Firmen/Kontakte lesen/schreiben/admin | fachliches Modul, ggf. spaeter |
|
||||
| Leads/Vertrieb | Leads, Angebote, Pipeline, Umsatzfelder | fachliches Modul, ggf. spaeter |
|
||||
| Projekte/Auftraege | Projekte, Auftraege, Planung, Zuweisungen | fachliches Modul, ggf. spaeter |
|
||||
| Aufgaben/Dateien | Tasks, Dokumente, Uploads, Freigaben | fachliches Modul, ggf. spaeter |
|
||||
| Kommunikation/Support | Anfragen, Chat, Telefonie/Support-Kontext | fachliches Modul, ggf. spaeter |
|
||||
|
||||
### Rollen-Vorlagen WIP
|
||||
|
||||
| Vorlage | Permission-Richtung | Status |
|
||||
|---|---|---|
|
||||
| Geschaeftsfuehrer | fast alles, inklusive Mitarbeiter, Rollen, Workspace Settings, Abrechnung, Audit | WIP, nicht in v1-Rollenliste |
|
||||
| Projektleiter | Projekte/Auftraege, Aufgaben/Dateien, Team-Ueberblick, Mitglieder nur lesen | WIP |
|
||||
| Verwaltung | Mitarbeiter lesen, Workspace/Account-Basis, Abrechnung/Rechnungen, Kunden-/Projekt-Ueberblick | WIP |
|
||||
| Vertriebler | CRM/Kunden, Leads/Vertrieb, Angebote, eigene Pipeline | WIP |
|
||||
| Kundensupporter | Kundenkommunikation, Supportfaelle, lesender Projekt-/Kundenkontext | WIP |
|
||||
| Monteur | eigene/zugewiesene Auftraege, Aufgaben, Dateien, mobile Ausfuehrung | WIP |
|
||||
|
||||
---
|
||||
|
||||
## 7. Grober Screen-Aufbau
|
||||
|
||||
### Settings-Aufteilung
|
||||
|
||||
Entscheidung: Option A ist genommen. Das Paket lebt unter `Settings -> Mitarbeiter`. Darin liegen nur die Tabs `Mitarbeiter` und `Rollen und Berechtigungen`.
|
||||
|
||||
| Option | Aufbau | Vorteil | Nachteil |
|
||||
|---|---|---|---|
|
||||
| A | `Settings -> Mitarbeiter` als Oberpunkt mit Tabs `Mitarbeiter`, `Rollen und Berechtigungen` | fuer Admins intuitiv und kompakt | technische Berechtigungen sind nur im Rollen-Kontext sichtbar |
|
||||
| B | `Settings -> Rollen & Berechtigungen` als Oberpunkt mit Tabs `Mitarbeiter`, `Rollen`, `Berechtigungen` | passt zur bestehenden Code-Struktur | zu technisch und weniger kompakt |
|
||||
| C | zwei Settings-Punkte: `Mitarbeiter` und `Rollen & Berechtigungen` | klare Trennung zwischen Menschen und Rechte-System | mehr Navigation, Rollen-Zuweisung springt zwischen Bereichen |
|
||||
|
||||
Die technische Route kann spaeter weiterhin an die bestehende App-Struktur angepasst werden; fuer Wireframes und Navigation ist der sichtbare Einstieg `Settings -> Mitarbeiter`.
|
||||
|
||||
### Validierungsreihenfolge
|
||||
|
||||
Wir validieren einzeln und legen erst danach Screen-Dateien/Canvas an.
|
||||
|
||||
1. `S01 Mitarbeiterliste`
|
||||
2. `M01 Mitarbeiter einladen`
|
||||
3. Rollen-Dropdown innerhalb `S01 Mitarbeiterliste` pruefen; D01 bleibt nur Dokumentation, kein eigener Subframe-Screen
|
||||
4. `M03 Mitarbeiter deaktivieren`
|
||||
5. `S02 Rollen und Berechtigungen`
|
||||
6. `M04A Rolle anlegen`
|
||||
7. `M04B Rolle duplizieren`
|
||||
8. `M02 Rolle bearbeiten`
|
||||
9. `D03 Rolle in Nutzung blockiert`
|
||||
|
||||
### S01 Mitarbeiterliste
|
||||
|
||||
Ziel: Admin findet schnell Nutzer und kann Rollen/Status pruefen.
|
||||
|
||||
Layout:
|
||||
|
||||
1. Header: `Mitarbeiter`, kurze Beschreibung, Primaer-CTA `Mitarbeiter einladen`.
|
||||
2. Tab-Leiste innerhalb `Settings -> Mitarbeiter`: `Mitarbeiter`, `Rollen und Berechtigungen`.
|
||||
3. Toolbar:
|
||||
- Suchfeld: Name, E-Mail, Telefonnummer.
|
||||
- Filter `Rolle` als Multi-Select.
|
||||
- Filter `Abteilung` als Multi-Select.
|
||||
- Filter `Status`: Aktiv, Eingeladen, Deaktiviert.
|
||||
- Filter `2FA`: Aktiv, Nicht eingerichtet.
|
||||
- Aktive Filter als Chips mit `Alle zuruecksetzen`.
|
||||
4. Tabelle:
|
||||
- Mitarbeiter: Avatar, Name, E-Mail.
|
||||
- Abteilung.
|
||||
- Rollen als Dropdown/Select.
|
||||
- Status.
|
||||
- 2FA.
|
||||
- Aktionen: 3-Punkte-Menue rechts.
|
||||
5. Empty/Filtered State:
|
||||
- keine Treffer fuer Suche/Filter.
|
||||
- Link/Button zum Filter zuruecksetzen.
|
||||
6. Rollen-Dropdown:
|
||||
- zeigt aktuelle Rolle(n).
|
||||
- erlaubt direkte Rollenauswahl, sofern Admin die Berechtigung hat.
|
||||
- enthaelt Eintrag `Rollen und Berechtigungen bearbeiten`.
|
||||
- `Rollen und Berechtigungen bearbeiten` navigiert in den Tab `Rollen und Berechtigungen` unter `Settings -> Mitarbeiter`.
|
||||
7. Zeilenaktionen:
|
||||
- rechts in jeder Tabellenzeile ein 3-Punkte-Menue.
|
||||
- enthaelt kontextabhaengig `Einladung erneut senden`, `Deaktivieren`, ggf. `Profil oeffnen`.
|
||||
|
||||
### M03 Mitarbeiter deaktivieren
|
||||
|
||||
Ziel: Admin bestaetigt eine einfache Deaktivierung eines Mitarbeiters.
|
||||
|
||||
Layout:
|
||||
|
||||
1. Kleines Confirm-Modal aus der Mitarbeiterliste.
|
||||
2. Headline: `Mitarbeiter deaktivieren?`
|
||||
3. Inhalt:
|
||||
- Name und E-Mail des Mitarbeiters.
|
||||
- kurzer Hinweis, dass der Mitarbeiter danach keinen Zugriff mehr auf den Workspace hat.
|
||||
- Hinweis, dass der Mitarbeiter in der Liste mit Status `Deaktiviert` sichtbar bleibt.
|
||||
4. Aktionen:
|
||||
- Primaer/Danger: `Deaktivieren`
|
||||
- Sekundaer: `Abbrechen`
|
||||
5. Nach Erfolg:
|
||||
- Modal schliesst.
|
||||
- Toast `Mitarbeiter wurde deaktiviert`.
|
||||
- Tabellenstatus wechselt auf `Deaktiviert`.
|
||||
6. Nicht in v1:
|
||||
- Reassign offener Verantwortlichkeiten.
|
||||
- mehrstufiger Workflow.
|
||||
|
||||
### S02 Rollen und Berechtigungen
|
||||
|
||||
Ziel: Admin verwaltet Rollen als eigene Subpage innerhalb `Settings -> Mitarbeiter`, nicht als Modal aus der Mitarbeiterliste. Berechtigungen werden nur hier im Kontext der Rolle sichtbar.
|
||||
|
||||
Layout:
|
||||
|
||||
1. Header: `Rollen und Berechtigungen`, CTA `Rolle anlegen`.
|
||||
2. Toolbar:
|
||||
- Suchfeld: Rollenname, Beschreibung.
|
||||
- Filter `Typ`: Systemrolle, Eigene Rolle.
|
||||
- Filter `Permission-Bereich`: z. B. Mitarbeiter, Abrechnung, Dateien, Aufgaben.
|
||||
- Filter `In Nutzung`: mit Mitgliedern / ohne Mitglieder.
|
||||
3. Tabelle:
|
||||
- Rolle.
|
||||
- Beschreibung.
|
||||
- Typ: Systemrolle, Eigene Rolle.
|
||||
- Mitglieder: Avatar-Stack oder Anzahl.
|
||||
- Status: Aktiv, Pruefen.
|
||||
- Aktionen: 3-Punkte-Menue rechts.
|
||||
4. Zeilenaktionen:
|
||||
- rechts in jeder Tabellenzeile ein 3-Punkte-Menue.
|
||||
- enthaelt `Bearbeiten`, `Duplizieren`, `Loeschen`.
|
||||
- bei Systemrolle `Admin` keine Loeschen-Aktion.
|
||||
5. Rollen-Bearbeitung:
|
||||
- passiert in diesem Tab/Subpage-Kontext.
|
||||
- `Rolle anlegen` oeffnet M04A mit Basisdaten.
|
||||
- `Bearbeiten` oeffnet M02 direkt im grossen Permission-Editor.
|
||||
- `Duplizieren` oeffnet M04B mit vorausgefuellten Basisdaten.
|
||||
- das Modal ist nicht aus der Mitarbeiterliste heraus erreichbar, sondern nur aus `Rollen und Berechtigungen`.
|
||||
6. Rechtebereiche:
|
||||
- werden beim Bearbeiten einer Rolle angezeigt.
|
||||
- keine separate Hauptnavigation.
|
||||
- optional mit Advanced-Einzelrechten als ausklappbare Details.
|
||||
7. Loeschzustand:
|
||||
- wenn keine Mitglieder zugewiesen sind, kann eine Rolle geloescht werden.
|
||||
- wenn die Rolle noch genutzt wird, erscheint ein kleines Blocker-Modal.
|
||||
- Copy-Richtung: `Diese Rolle kann nicht geloescht werden, solange Mitarbeiter zugewiesen sind.`
|
||||
- Aktion: `Verstanden`; Admin weist Mitglieder danach manuell einer anderen Rolle zu.
|
||||
- Ersatzrolle/Bulk-Reassign bleibt Backlog.
|
||||
|
||||
### M04A Rolle anlegen
|
||||
|
||||
Ziel: Admin klaert bei einer komplett neuen eigenen Rolle zuerst Name, Beschreibung und Bereich, bevor die atomaren Berechtigungen gesetzt werden.
|
||||
|
||||
Einstieg:
|
||||
|
||||
1. `Rolle anlegen` aus S02 oeffnet M04A mit leerem Formular.
|
||||
2. `Bearbeiten` nutzt M04A nicht und springt direkt in M02.
|
||||
3. `Duplizieren` nutzt M04A nicht, sondern M04B.
|
||||
|
||||
Layout:
|
||||
|
||||
1. Modal-Step ueber `S02 Rollen und Berechtigungen`, mit Schliessen-Icon.
|
||||
2. Headline: `Rolle anlegen`.
|
||||
3. Formular:
|
||||
- Rollenname als Pflichtfeld.
|
||||
- Beschreibung als optionales Textfeld.
|
||||
- Bereich/Kategorie als Select, z. B. Team, Verwaltung, Operativ.
|
||||
4. Optionaler Bereich `Vorlage verwenden`:
|
||||
- nur als Work-in-Progress-Platzhalter.
|
||||
- Vorlagen sind keine Seed-Rollen und erscheinen nicht in der Rollenliste.
|
||||
5. Footer:
|
||||
- `Weiter zu Berechtigungen` fuehrt zu M02.
|
||||
- `Abbrechen` schliesst den Modal-Step.
|
||||
|
||||
Subframe:
|
||||
|
||||
- M04A ist der bestehende Subframe-Screen fuer `Rolle anlegen`.
|
||||
- Der Screen bleibt als Dialog/Modal-Step ueber S02 gedacht.
|
||||
|
||||
### M04B Rolle duplizieren
|
||||
|
||||
Ziel: Admin nutzt eine bestehende eigene Rolle als Startpunkt, passt die Basisdaten an und landet danach im grossen Permission-Editor mit kopierten Berechtigungen.
|
||||
|
||||
Einstieg:
|
||||
|
||||
1. `Duplizieren` aus dem Zeilenmenue in S02 oeffnet M04B mit vorausgefuellten Basisdaten.
|
||||
2. `Rolle anlegen` nutzt M04B nicht, sondern M04A.
|
||||
3. `Bearbeiten` nutzt M04B nicht und springt direkt in M02.
|
||||
|
||||
Layout:
|
||||
|
||||
1. Modal-Step ueber `S02 Rollen und Berechtigungen`, mit Schliessen-Icon.
|
||||
2. Headline: `Rolle duplizieren`.
|
||||
3. Hinweisblock: Basisdaten und Berechtigungen werden aus der Quellrolle kopiert.
|
||||
4. Formular:
|
||||
- Rollenname als Pflichtfeld, vorausgefuellt z. B. als `Kopie von ...`.
|
||||
- Beschreibung als optionales Textfeld.
|
||||
- Bereich/Kategorie als Select.
|
||||
5. Footer:
|
||||
- `Weiter zu Berechtigungen` fuehrt zu M02.
|
||||
- `Abbrechen` schliesst den Modal-Step.
|
||||
|
||||
Subframe:
|
||||
|
||||
- M04B ist der bestehende Subframe-Screen fuer `Rolle duplizieren`.
|
||||
- Der Screen bleibt als Dialog/Modal-Step ueber S02 gedacht.
|
||||
|
||||
### M02 Rolle bearbeiten
|
||||
|
||||
Ziel: Admin bearbeitet die Basisdaten und Berechtigungen einer vorhandenen oder gerade angelegten eigenen Rolle, ohne die Rollen-Subpage zu verlassen. Die Systemrolle `Admin` ist geschuetzt.
|
||||
|
||||
Einstiege:
|
||||
|
||||
1. `Bearbeiten` auf einer bestehenden Rolle oeffnet direkt den grossen Permission-Editor.
|
||||
- Der Admin landet sofort im Editor, oben im Bereich `Rolle`.
|
||||
- Rollenname, Beschreibung und Bereich/Kategorie bleiben dort weiterhin editierbar.
|
||||
2. `Rolle anlegen` kommt aus M04A und uebergibt die Basisdaten in den Editor.
|
||||
3. `Duplizieren` kommt aus M04B, mit vorausgefuellten Basisdaten und kopierten Berechtigungen.
|
||||
|
||||
Layout:
|
||||
|
||||
1. Sehr grosser Modal-Flow ueber dem Tab `Rollen und Berechtigungen`.
|
||||
2. Modal kann jederzeit geschlossen werden.
|
||||
3. Im Editor steht oben der Bereich `Rolle`:
|
||||
- Rollenname.
|
||||
- Beschreibung.
|
||||
- Bereich/Kategorie der Rolle, z. B. Team, Verwaltung, Operativ.
|
||||
- Typ als Information: `Systemrolle` oder `Eigene Rolle`; nicht frei umstellbar.
|
||||
- diese Daten koennen auch nach M04A/M04B weiterhin bearbeitet werden.
|
||||
4. Linke Sidebar:
|
||||
- oben links sitzt die globale Suche, aehnlich Apple-Einstellungen.
|
||||
- darunter stehen die Bereiche als Navigation.
|
||||
- Beispiele: Rolle, Allgemein, Mitarbeiter, Rollen und Berechtigungen, Workspace Settings, Abrechnung, Audit & Sicherheit, Integrationen/API, Dateien, Aufgaben.
|
||||
- Klick springt zum jeweiligen Bereich im scrollbaren Modal.
|
||||
5. Globale Berechtigungs-Suche:
|
||||
- Suchfeld links ueber der Sidebar.
|
||||
- durchsucht alle Berechtigungen/Rechtebereiche ueber alle Module hinweg.
|
||||
- filtert die sichtbaren Treffer bereichsuebergreifend.
|
||||
- Treffer bleiben ihren Bereichsueberschriften zugeordnet, damit Kontext erhalten bleibt.
|
||||
6. Hauptbereich:
|
||||
- startet oben mit `Rolle`.
|
||||
- darunter folgen `Allgemein` und die weiteren Rechtebereiche.
|
||||
- die Bereichsueberschriften entsprechen den Eintraegen in der linken Sidebar.
|
||||
- Admin kann durch alle Bereiche nach unten scrollen.
|
||||
7. Permission-Abschnitte:
|
||||
- jeder Bereich hat einzelne Zeilen mit Toggle-Switches, um Berechtigungen an- oder auszuschalten.
|
||||
- Bereich kann eine Kurzbeschreibung enthalten.
|
||||
- einzelne technische Rechte koennen als Advanced Details aufgeklappt werden, falls noetig.
|
||||
8. Permission-Zeilenmuster:
|
||||
- eine Beispiel-Permission wird im Wireframe konkret vorgebaut.
|
||||
- Aufbau als Tabelle/Liste wie in der Referenz: links Setting/Permission, mittig Beschreibung, rechts Enable/Disable.
|
||||
- Beispiel-Ueberschrift: `Mitarbeiter ansehen`.
|
||||
- Beispiel-Beschreibung: `Darf Mitarbeiterliste und Mitarbeiterprofile im Workspace lesen.`
|
||||
- Control: Toggle-Switch `An/Aus`.
|
||||
- Wenn ein Recht Abstufungen braucht, kann spaeter `Read-only/Bearbeiten` als Detail/Advanced Control ergaenzt werden.
|
||||
- weitere Permissions koennen Development-seitig nach diesem Muster ergaenzt werden.
|
||||
9. Footer:
|
||||
- Speichern.
|
||||
- Abbrechen.
|
||||
- ggf. Rolle loeschen als Danger Action.
|
||||
|
||||
## 8. Screen Validation Gate
|
||||
|
||||
| ID | Screen/Zustand | Ist eigener Arbeitsmoment? | Neue Struktur/Entscheidung/Risiko? | Entscheidung | Begruendung |
|
||||
|---|---|---|---|---|---|
|
||||
| S01 | Mitarbeiterliste | ja | ja | Validiert | Suche, Filter, Tabelle und Aktionen passen erstmal |
|
||||
| M01 | Mitarbeiter einladen | ja | ja | Validiert | Modal mit E-Mail, optional Name/Abteilung und Rollen |
|
||||
| D01 | Rollen-Dropdown in Mitarbeiterliste | nein | ja | Validiert | direkte Rollenauswahl; Bearbeiten fuehrt in `Rollen und Berechtigungen` |
|
||||
| M03 | Mitarbeiter deaktivieren | ja | ja | Validiert | kleines Confirm-Modal, kein Reassign |
|
||||
| S02 | Rollen und Berechtigungen | ja | ja | Validiert | Rollen-Tabelle nach Referenz, 3-Punkte-Menue, nur Systemrolle Admin |
|
||||
| M04A | Rolle anlegen | ja | ja | Validiert | eigener Basisdaten-Step fuer neue Rollen vor dem Permission-Editor |
|
||||
| M04B | Rolle duplizieren | ja | ja | Validiert | eigener Basisdaten-Step fuer duplizierte Rollen mit Quellrollen-Kontext |
|
||||
| M02 | Rolle bearbeiten | ja | ja, Permissions | Validiert | grosses Modal mit Sidebar, Ueberblick, globaler Suche und Rechte-Toggles |
|
||||
| D03 | Rolle in Nutzung blockiert | nein | ja | Validiert | Loeschen nur ohne Mitglieder; sonst kleines Blocker-Modal, Ersatzrolle/Bulk-Reassign im Backlog |
|
||||
| V01 | Letzter Admin blockiert | ja | ja, Sicherheitsblocker | Validiert | kleiner Blocker-State im jeweiligen Kontext |
|
||||
|
||||
### Copy-kritische Zustaende
|
||||
|
||||
| Zustand | Bauen? | Warum / Copy-Entscheidung |
|
||||
|---|---|---|
|
||||
| Mitarbeiter deaktivieren | ja | kurzer Sicherheitsmoment |
|
||||
| Letzter Admin blockiert | ja | kleiner Blocker-State im jeweiligen Kontext |
|
||||
| Rolle in Benutzung | Nur dokumentieren | kleines Blocker-Modal; Ersatzrolle/Bulk-Reassign liegt im Backlog |
|
||||
| Custom Role anlegen | ja | muss klar zwischen Vorlage und eigener Rolle unterscheiden |
|
||||
|
||||
### Blockierende Error States
|
||||
|
||||
| Zustand | UI-Form | Primaeraktion | Sekundare Aktion | Inhalt/Copy-Richtung |
|
||||
|---|---|---|---|---|
|
||||
| Letzter Admin | Screen/Modal | weiteren Admin bestimmen | abbrechen | kein Tenant ohne Admin |
|
||||
| Reassign-Ziel fehlt | Backlog | - | - | spaeter fuer Reassign-Workflow |
|
||||
| Rolle in Benutzung | kleines Blocker-Modal | Verstanden | - | Rolle kann erst geloescht werden, wenn keine Mitarbeiter mehr zugewiesen sind |
|
||||
| Rollenname existiert | Inline | Namen aendern | abbrechen | eindeutige Rollennamen |
|
||||
|
||||
---
|
||||
|
||||
## 9. Validierte Screen-Liste
|
||||
|
||||
Alle aktiven Screen-Kandidaten sind von David validiert. Das Rollenmodell startet nur mit `Admin` plus eigenen Rollen; Vorlagen und finaler Rechtekatalog werden spaeter ausgearbeitet.
|
||||
|
||||
| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status |
|
||||
|---|---|---|---|---|---|
|
||||
| S01 | Mitarbeiterliste | Admin List | Bauen | `Settings -> Mitarbeiter`, Tab `Mitarbeiter` | Validiert |
|
||||
| M01 | Mitarbeiter einladen | Modal | Bauen | von S01 | Validiert |
|
||||
| D01 | Rollen-Dropdown in Mitarbeiterliste | Inline-Zustand in S01 | Nur dokumentieren | in S01, kein eigener Subframe-Screen | Validiert |
|
||||
| M03 | Mitarbeiter deaktivieren | Confirm Modal | Bauen | von S01 | Validiert |
|
||||
| S02 | Rollen und Berechtigungen | Settings Subpage | Bauen | `Settings -> Mitarbeiter`, Tab `Rollen und Berechtigungen` | Validiert |
|
||||
| M04A | Rolle anlegen | Modal Step | Bauen | von S02 CTA Rolle anlegen | Subframe: Rolle anlegen |
|
||||
| M04B | Rolle duplizieren | Modal Step | Bauen | von S02 Zeilenaktion Duplizieren | Subframe: Rolle duplizieren |
|
||||
| M02 | Rolle bearbeiten | Grosses Modal | Bauen | von S02 Bearbeiten oder M04A/M04B | Finale Subframe-Seite: M02 Rolle bearbeiten |
|
||||
| D03 | Rolle in Nutzung blockiert | Admin Blocker | Nur dokumentieren | von S02/M02 | Validiert |
|
||||
| V01 | Letzter Admin blockiert | Admin Blocker | Nur dokumentieren | von S01/M03/Rollenwechsel | Validiert |
|
||||
|
||||
---
|
||||
|
||||
## 10. Subframe-Grid
|
||||
|
||||
```text
|
||||
S01 Mitarbeiterliste -> M01 Mitarbeiter einladen
|
||||
S01 Mitarbeiterliste -> M03 Mitarbeiter deaktivieren
|
||||
S01 Mitarbeiterliste -> V01 Letzter Admin blockiert
|
||||
S01 Mitarbeiterliste -> Rolle wechseln inline
|
||||
S01 Mitarbeiterliste -> S02 Rollen und Berechtigungen via Dropdown-Eintrag `Rollen und Berechtigungen bearbeiten`
|
||||
S02 Rollen und Berechtigungen -> M04A Rolle anlegen via Rolle anlegen
|
||||
S02 Rollen und Berechtigungen -> M04B Rolle duplizieren via Duplizieren
|
||||
M04A Rolle anlegen -> M02 Rolle bearbeiten
|
||||
M04B Rolle duplizieren -> M02 Rolle bearbeiten
|
||||
S02 Rollen und Berechtigungen -> M02 Rolle bearbeiten via Bearbeiten
|
||||
S02 Rollen und Berechtigungen -> D03 Rolle in Nutzung blockiert
|
||||
```
|
||||
|
||||
### Subframe-Stand M02/M04A/M04B
|
||||
|
||||
`M02 Rolle bearbeiten` ist die finale Subframe-Seite fuer die Umsetzung. Die alten M02-Referenzvarianten wurden aus Subframe geloescht, damit der Admin-RBAC-Flow clean bleibt. Fuer den M04-Split werden die bestehenden Subframe-Seiten getrennt referenziert: M04A fuer `Rolle anlegen`, M04B fuer `Rolle duplizieren`. Aktueller Subframe-Stand im Admin-RBAC-Flow:
|
||||
|
||||
| Screen | Subframe |
|
||||
|---|---|
|
||||
| M02 Rolle bearbeiten | [Subframe](<https://app.subframe.com/f023064a5ca0/design/9a9873e3-d790-4373-b8c2-fadd3b82cbe6/edit>) |
|
||||
| M04A Rolle anlegen | [Subframe](<https://app.subframe.com/f023064a5ca0/design/479ee52d-8d73-46e9-9a9b-a8798a22d764/edit>) |
|
||||
| M04B Rolle duplizieren | [Subframe](<https://app.subframe.com/f023064a5ca0/design/610d08e6-5c6a-44d3-9b29-220664393ea0/edit>) |
|
||||
|
||||
---
|
||||
|
||||
## 11. Screen-Pakete
|
||||
|
||||
| ID | Datei |
|
||||
|---|---|
|
||||
| S01 | [[Screens/S01 Mitarbeiterliste]] |
|
||||
| M01 | [[Screens/M01 Mitarbeiter einladen]] |
|
||||
| D01 | [[Screens/D01 Rollen-Dropdown in Mitarbeiterliste]] |
|
||||
| M03 | [[Screens/M03 Mitarbeiter deaktivieren]] |
|
||||
| S02 | [[Screens/S02 Rollen und Berechtigungen]] |
|
||||
| M04A | [[Screens/M04A Rolle anlegen]] |
|
||||
| M04B | [[Screens/M04B Rolle duplizieren]] |
|
||||
| M02 | [[Screens/M02 Rolle bearbeiten]] |
|
||||
| D03 | [[Screens/D03 Rolle in Nutzung blockiert]] |
|
||||
| V01 | [[Screens/V01 Letzter Admin blockiert]] |
|
||||
|
||||
---
|
||||
|
||||
## 12. Backlog / V2
|
||||
|
||||
Diese Punkte sind bewusst nicht Teil der v1-Screen-Liste, sollen aber fuer spaetere Versionen sichtbar bleiben.
|
||||
|
||||
| Thema | Beschreibung | Warum spaeter |
|
||||
|---|---|---|
|
||||
| Deaktivieren mit Reassign | Beim Deaktivieren offene Projekte, Aufgaben, Leads, Kunden, Dateien oder Verantwortlichkeiten auf andere Nutzer uebertragen | v1 bleibt bewusst bei kleinem Confirm-Modal |
|
||||
| Rollen-Loeschen mit Ersatzrolle | Wenn eine Rolle noch Nutzer hat, Ersatzrolle waehlen und Nutzer gesammelt umziehen | v1 blockiert nur und verlangt manuelle Umzuweisung |
|
||||
| Gruppen | Gruppen/Teams/Abteilungen als eigene Verwaltung, ggf. mit Bulk-Zuweisung | fuer v1 aus RBAC rausgenommen |
|
||||
| Rechtekatalog als eigener Tab | Alle technischen Berechtigungen unabhaengig von Rollen durchsuchen/erklaeren | v1 zeigt Rechte nur im Rollen-Editor |
|
||||
| Rollen-Audit | Historie, wer Rollen/Rechte geaendert hat | Audit-Viewer nicht Teil dieses Pakets |
|
||||
| Rollen-Review / Needs Review | Rollen markieren, die geprueft werden muessen, inkl. Review-Zyklus | Status `Pruefen` ist UI-vorbereitet, Prozess spaeter |
|
||||
| Rollen-Vorlagen ausarbeiten | branchenspezifische Rollen-Vorlagen fuer neue Rollen definieren | Vorlagen sind aktuell Work in Progress und nicht Teil der initialen Rollenliste |
|
||||
| Rechte-Matrix | Vergleich mehrerer Rollen nebeneinander | fuer v1 zu breit/technisch |
|
||||
| Bulk-Aktionen | mehrere Mitarbeiter gleichzeitig einladen, deaktivieren oder Rollen zuweisen | spaeter, wenn Teamlisten groesser werden |
|
||||
| Admin-Schutz erweitert | detaillierte Regeln fuer Selbst-Deaktivierung, letzter Admin, kritische Rollenwechsel | v1 dokumentiert Blocker, genaue Policy spaeter mit Dev/Security |
|
||||
|
||||
---
|
||||
|
||||
## 13. Handoff-Check
|
||||
|
||||
- [x] Paket ist angelegt.
|
||||
- [x] D-P2 Admin-Screens sind geprueft.
|
||||
- [x] Gruppen sind fuer dieses Paket rausgenommen.
|
||||
- [x] `Admin` als einzige Startrolle plus eigene Rollen sind als Richtung notiert.
|
||||
- [x] Rollen-Vorlagen sind als Work in Progress dokumentiert.
|
||||
- [x] Permission-Bundles sind als Arbeitsgeruest markiert, nicht als finaler Rechtekatalog.
|
||||
- [x] Permission-Zeilenmuster fuer das Rollen-Modal ist dokumentiert.
|
||||
- [x] Grober Screen-Aufbau mit Suche/Filtern ist dokumentiert.
|
||||
- [x] S01 Mitarbeiterliste ist validiert.
|
||||
- [x] M01 Mitarbeiter einladen ist validiert.
|
||||
- [x] Rollen-Dropdown in S01 und Sprung zu `Rollen und Berechtigungen` sind dokumentiert.
|
||||
- [x] S02 Rollen und Berechtigungen ist validiert.
|
||||
- [x] M04A Rolle anlegen ist als eigener Screen vermerkt.
|
||||
- [x] M04B Rolle duplizieren ist als eigener Screen vermerkt.
|
||||
- [x] M02 Rolle bearbeiten ist validiert.
|
||||
- [x] M03 Mitarbeiter deaktivieren ist validiert.
|
||||
- [x] D03 Rolle in Nutzung blockiert ist validiert.
|
||||
- [x] V01 Letzter Admin blockiert ist validiert.
|
||||
- [x] Reassign ist in den Backlog gelegt.
|
||||
- [x] Backlog/V2-Liste ist dokumentiert.
|
||||
- [x] Permission-Bundles sind fuer v1 als UI-Arbeitsgeruest ausreichend benannt.
|
||||
- [x] David hat die Kandidaten validiert.
|
||||
- [x] Screen-Dateien sind angelegt und nach Screen-Zuschnitt synchronisiert.
|
||||
- [x] Canvas ist angelegt und nach M04-Split synchronisiert.
|
||||
- [x] M01/M02/M03/M04A/M04B/D03/V01 sind auf echte Subframe-Dialog-Struktur geprueft: `DialogLayout` -> `Dialog` -> `Dialog.Content`.
|
||||
- [x] Subframe-Links sind eingetragen.
|
||||
- [x] M04A ist visuell an den final angepassten M04B-Duplikat-Screen angeglichen, aber ohne Duplikat-Modus.
|
||||
Reference in new issue
Block a user