docs(roadmap): Phase P — Notizen-App (Notion-artig, ersetzt Wiki komplett)
- P1 Datenmodell (WikiPage: blocks JSONB, parent_id-Hierarchie, Migration Markdown->Text-Bloecke) - P2 Sidebar Seiten-Baum (dnd-kit, Favoriten, Suche) - P3 Inline-Block-Editor (Live-Editing ohne Mode-Toggle wie Notion, Slash-Menue, Auto-Save, Quer-Verweise, Drag&Drop) - P4 MiniApp-Bloecke (erster MiniApp-Konsument) + wiki_blocks()-Contract (Plugin-Erweiterbarkeit, Basis fuer spaeteren Datenbank-Block) - P5 Vollstaendige Such-Indexierung (content_tsv + Embedding-Chunks, hybrid FTS/vector, Re-Index bei Auto-Save) - Edit-Konzept recherchiert: Notion hat keinen separaten Edit-Modus (Live-Inline-Editing, Auto-Save); Lese-Ansicht via Permissions + optional Page-Lock - User-Entscheidungen: Wiki komplett ersetzen, keine Notion-Datenbanken erstmal, MiniApps als Bloecke
This commit is contained in:
@@ -1742,3 +1742,46 @@ Der AI Assistent ist ein paralleles System das die Kommunikation-Plattform dupli
|
||||
- Dashboard-Schnittstelle: workspace_widgets bestimmt verfügbare Widget-TYPEN pro Workspace (Admin) — persönliches Layout bleibt Phase M
|
||||
|
||||
**Abhängigkeiten:** unabhängig von Phase M. N3/N4 nach N1+N2.
|
||||
|
||||
---
|
||||
|
||||
## Phase P — Notizen-App (Notion-artig, ersetzt das Wiki komplett) (geplant, user-abgestimmt 2026-08-30)
|
||||
|
||||
**Ziel:** Aus dem Wiki wird eine Notion-artige Notizen-/Firmen-Wissen-App: Seiten-Baum (beliebig tief, statt flacher Kategorien), Inline-Block-Editor mit Slash-Menü und Drag&Drop, Quer-Verweise zwischen Seiten, MiniApp-Einbettung, vollständige Such-Indexierung. Das alte Wiki wird KOMPLETT ersetzt (keine Legacy-App parallel).
|
||||
|
||||
**User-Entscheidungen (2026-08-30):**
|
||||
- Keine Notion-Datenbanken zunächst — stattdessen MiniApps als einbettbare Blöcke (Phase M-Synergie)
|
||||
- Später: Plugin-Erweiterbarkeit (eigene Block-Typen via Contract), evtl. Datenbank-Block als Plugin nachlieferbar
|
||||
- Vollständige Such-Indexierung ist PFLICHT (Notizen/Firmen-Wissen auffindbar)
|
||||
- Quer-Verweise (Seiten verlinken Seiten)
|
||||
|
||||
**Edit-Konzept (Notion-Recherche 2026-08-30):** Notion hat KEINEN separaten Bearbeitungsmodus — "all content is editable by default": Klick in die Seite = tippen, Auto-Save im Hintergrund, Slash-Menü für Block-Typen. Confluence macht stattdessen Draft/Publish-Workflow. Für uns: Live-Inline-Editing wie Notion als Standard; der "Lese-Modus" entsteht natürlich über Permissions (nur-Lesen = gerenderte Seite ohne Editierfunktion) + optional Page-Lock. Kein Mode-Toggle im UI nötig.
|
||||
|
||||
**Basis:** Wiki-Plugin (486 Z. Backend: WikiCategory/WikiArticle/WikiArticleVersion + 10 Endpoints) wird erweitert, nicht neu gebaut. Block-Muster aus Phase L (JSONB {id, type, config}), dnd-kit vorhanden, Custom-Field-Engine für spätere Properties, Entity-Links für CRM-Quer-Verweise vorhanden. Unified Search: Provider-Registry + BaseSearchProvider (Embeddings + hybrid FTS/vector) + chunking existieren — die App liefert Provider + Re-Index-Hook.
|
||||
|
||||
### P1 — Datenmodell & Migration (2 Tage)
|
||||
- WikiArticle → WikiPage: `blocks JSONB` (statt content Text), `parent_id` (Seiten-Hierarchie statt Kategorien), `icon`, `is_favorite`; Quer-Verweise als Block-Typ page_link
|
||||
- Migration: Markdown-Artikel → Text-Blöcke, Kategorien → Eltern-Seiten, Versionen (WikiArticleVersion) bleiben erhalten
|
||||
- Dual-Path: Plugin-SQL idempotent + Alembic-Konvergenz (Gate-B-Muster)
|
||||
|
||||
### P2 — Sidebar mit Seiten-Baum (2 Tage)
|
||||
- Notion-artiger Baum: Seiten anlegen/umbenennen/löschen, Drag&Drop-Umsortierung (dnd-kit), + Button, Kontextmenü, Favoriten, Seitensuche
|
||||
- Ersetzt die alte Kategorien-Navigation komplett
|
||||
|
||||
### P3 — Inline-Block-Editor (4-5 Tage) — Herzstück
|
||||
- Live-Inline-Editing (Klick = tippen, kein Mode-Toggle), Auto-Save debounced in blocks JSONB
|
||||
- Slash-Menü: „/" → Block-Typ-Auswahl
|
||||
- Block-Typen: Text, H1-H3, To-do, Toggle (auf/zu), Quote, Callout, Code, Divider, Bild, Page-Link (Quer-Verweis mit Auto-Vervollständigung), MiniApp
|
||||
- Drag&Drop-Block-Umsortierung (dnd-kit, Phase-L-Erfahrung)
|
||||
- Lese-Ansicht: gerenderte Seite; ohne wiki:write-Permission = rein lesbar; optional Page-Lock
|
||||
|
||||
### P4 — MiniApp-Blöcke + Plugin-Erweiterbarkeit (1-2 Tage)
|
||||
- „/ MiniApp"-Block-Typ: registrierte MiniApps in Seiten rendern (erster MiniApp-Konsument neben Chat — treibt Phase M mit)
|
||||
- Contract `wiki_blocks()`: Plugins melden eigene Block-Typen für den Editor an (Muster document_blocks) — Basis für späteren Datenbank-Block
|
||||
|
||||
### P5 — Vollständige Such-Indexierung (1-2 Tage)
|
||||
- Content-Extraktion aus Blöcken (Text/Überschriften/To-do/Callout) → content_tsv + Embedding-Chunks (chunking.py)
|
||||
- WikiPage-Search-Provider an unified_search (hybrid FTS + vector, Re-Index bei jedem Auto-Save)
|
||||
- Suchergebnis verlinkt direkt auf Seite + Sprungmarke
|
||||
|
||||
**Abhängigkeiten:** P4 benötigt M1 (Universal-Registry). P1-P3, P5 unabhängig startbar.
|
||||
|
||||
@@ -97,6 +97,12 @@
|
||||
|
||||
**Security-Invariante:** Scope = reine UND-Einschränkung (Workspace-Scope ∧ RLS ∧ ABAC ∧ Permissions). Workspace kann NIE mehr sichtbar machen, nur weniger. Ohne Workspace = kein Filter (rückwärtskompatibel).
|
||||
|
||||
## Phase P — Notizen-App (Notion-artig, ersetzt Wiki) (2026-08-30 geplant, user-abgestimmt)
|
||||
|
||||
**User-Entscheidung:** Wiki wird komplett ersetzt durch Notion-artige Notizen-/Firmen-Wissen-App. Keine Legacy-App, keine Notion-Datenbanken erstmal — MiniApp-Blöcke stattdessen. Quer-Verweise + vollständige Such-Indexierung Pflicht. Edit-Konzept: Live-Inline-Editing wie Notion (kein Mode-Toggle, Auto-Save), Lese-Modus entsteht über Permissions + optional Page-Lock.
|
||||
|
||||
**Status:** not_started — Phase P (P1-P5) in PLATFORM_ROADMAP.md verankert. P1-P3+P5 unabhängig startbar; P4 braucht M1 (MiniApp-Registry).
|
||||
|
||||
## W3b — Settings Contribution-Wahrheit (2026-08-28) ✅
|
||||
|
||||
**Verify-first (Live-Messung):** 7 Plugins liefern `settings_pages` via Manifest (mail, ai_assistant, ai_proactive, automation, permissions ×3, system_notif) — die hardcoded Items in `Settings.tsx` für mail/ai/notifications waren identische Duplikate.
|
||||
|
||||
Reference in New Issue
Block a user