docs(actions): document first safe workspace action migration
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
# Vendoo 1.44.0 – UX Slice 18: Safe Action Adapters
|
||||
|
||||
## Referenz
|
||||
|
||||
- Branch: `release/1.44.0-ux-foundation-production-update-v1`
|
||||
- Ausgangs-Head: `bd87f739992085bf0d06060b9b075bb5d2219175`
|
||||
- App-Ziel: Vendoo `1.44.0`
|
||||
- Updater: `3.4.0`
|
||||
|
||||
## Ziel
|
||||
|
||||
Die Universal Action Registry aus Slice 17 wird erstmals mit bestehenden Vendoo-Funktionen verbunden. Der Slice migriert ausschließlich nicht destruktive Aktionen. Jeder Adapter delegiert an einen bereits vorhandenen, geprüften DOM-Handler und enthält keine neue Fach-, Netzwerk- oder Persistenzlogik.
|
||||
|
||||
## Migrierte Aktionen
|
||||
|
||||
### Module & Extensions
|
||||
|
||||
- `workspace:modules:refresh`
|
||||
- ruft ausschließlich den vorhandenen Button `#module-manager-refresh` auf
|
||||
- `workspace:modules:filter-all`
|
||||
- delegiert an den vorhandenen Modulfilter `all`
|
||||
- `workspace:modules:filter-problems`
|
||||
- delegiert an den vorhandenen Modulfilter `problems`
|
||||
|
||||
### Artikel
|
||||
|
||||
- `workspace:articles:open-current`
|
||||
- öffnet den zuletzt fokussierten oder ausgewählten Artikel über `.history-article-title`
|
||||
- `workspace:articles:view-cards`
|
||||
- delegiert an die bestehende Kartenansicht
|
||||
- `workspace:articles:view-list`
|
||||
- delegiert an die bestehende Listenansicht
|
||||
|
||||
### Medien
|
||||
|
||||
- `workspace:media:open-current-preview`
|
||||
- öffnet das zuletzt fokussierte oder ausgewählte Bild über den vorhandenen Preview-Handler
|
||||
- `workspace:media:density-comfortable`
|
||||
- delegiert an die vorhandene mittlere Galeriedichte
|
||||
- `workspace:media:reset-filters`
|
||||
- delegiert an den vorhandenen Medienfilter-Reset
|
||||
|
||||
## Kontextmodell
|
||||
|
||||
Artikel- und Medienaktionen arbeiten nicht mit willkürlich gewählten Datensätzen. Der Adapter merkt sich ausschließlich den zuletzt per Fokus oder Pointer adressierten Artikel beziehungsweise die zuletzt adressierte Medienvorschau.
|
||||
|
||||
Falls kein solcher Kontext vorhanden ist, kann alternativ eine bereits ausgewählte Zeile beziehungsweise Medienkarte verwendet werden. Ohne eindeutigen Kontext bleibt die Action deaktiviert.
|
||||
|
||||
## Command-Palette-Integration
|
||||
|
||||
Alle neun Adapter werden über `window.VendooActions.registerMany(...)` registriert und nutzen ausschließlich die Surface `command-palette`.
|
||||
|
||||
Dadurch erscheinen sie in der bestehenden Ctrl+K-Palette, ohne eine zweite Command-Liste einzuführen. Sichtbarkeit und Enablement werden unmittelbar vor Darstellung und Ausführung erneut gegen den aktuellen DOM-Kontext geprüft.
|
||||
|
||||
## Sicherheitsgrenzen
|
||||
|
||||
- ausschließlich `danger: none`
|
||||
- keine destruktiven oder vorsichtigen Actions
|
||||
- keine Veröffentlichung
|
||||
- keine Löschung
|
||||
- keine Installation oder Deinstallation
|
||||
- keine Modulaktivierung oder -deaktivierung
|
||||
- keine Statusänderung
|
||||
- keine Speicherung
|
||||
- keine Datenbankänderung
|
||||
- keine Migration
|
||||
- keine neuen API-Aufrufe
|
||||
- kein Polling
|
||||
- kein `window.confirm`
|
||||
- kein `innerHTML`
|
||||
|
||||
Die Adapter rufen nur vorhandene Buttons oder Links per `click()` auf. Serverseitige Berechtigungen, CSRF-Schutz, Validierungen und bestehende Handler bleiben unverändert maßgeblich.
|
||||
|
||||
## Asset-Ladereihenfolge
|
||||
|
||||
`public/module-extension-workspace.js` lädt jetzt in dieser Reihenfolge:
|
||||
|
||||
1. Command Platform
|
||||
2. Universal Action Registry
|
||||
3. Global Navigation
|
||||
4. Safe Action Adapters
|
||||
|
||||
Der Adapter wartet zusätzlich auf `vendoo:actions-ready`, falls die Action Registry beim Laden noch nicht verfügbar ist.
|
||||
|
||||
## Verifikation
|
||||
|
||||
Neues Gate:
|
||||
|
||||
```bash
|
||||
npm run verify:safe-action-adapters
|
||||
```
|
||||
|
||||
Das Gate prüft statisch und in einer isolierten Runtime:
|
||||
|
||||
- alle neun stabilen Action-IDs
|
||||
- ausschließliche Command-Palette-Surface
|
||||
- ausschließlich Gefahrstufe `none`
|
||||
- korrekte Asset-Ladereihenfolge
|
||||
- Modul-Refresh-Delegation
|
||||
- Modulfilter-Delegation
|
||||
- Artikelansicht-Delegation
|
||||
- fokussierten Artikelkontext
|
||||
- fokussierten Medienkontext
|
||||
- Galeriedichte und Medienfilter-Reset
|
||||
- Ready-Event
|
||||
- Ausschluss von Netzwerk-, Polling-, `innerHTML`-, Bestätigungs- und direkter Fachlogik
|
||||
- Einbindung in `verify:all`
|
||||
|
||||
## Daten- und Releasegrenzen
|
||||
|
||||
- keine bestehenden Routen, APIs, Feld-IDs oder Modul-IDs umbenannt
|
||||
- keine bestehenden Handler ersetzt
|
||||
- keine persistenten Nutzdaten verändert
|
||||
- kein Merge
|
||||
- kein Deployment
|
||||
- kein Release
|
||||
Reference in New Issue
Block a user