Änderungsprotokoll (Plattform)
Kurzindex größerer Produkt- und Systemlieferungen — zum Nachlesen für Team, Redaktion und Betrieb. Technische Details stehen in den verlinkten Seiten.
(Neue Einträge oben; Format siehe .cursor/rules/documentation-narrative-and-ops.mdc.)
2026-06-11 — DSGVO: Retention, Anonymisierung, Consent-Gates
Was: Bot-Analytics werden vor Speicherung anonymisiert; Session-IDs ohne IP; Website-Chat verlangt chatConsentAccepted; Rate-Limits für Kontakt/Feedback; Cookie-Kategorie external für Google Maps/externe Schriften; Cron privacy-retention (Default 365 Tage).
Warum: Lücken zwischen Doku und Code schließen; nachvollziehbare Aufbewahrung und Einwilligung für Besucher-Dienste.
Links: DSGVO und Datenschutz, Datenschutz & Einwilligung, Cron-Setup — Privacy Retention
Was: Content Planer: Filter Nur online / aktiv. Social-Editor: Emoji-Picker, Medienvorschau vergrößern. Community & Performance: Zeitraum wählen (7/30/90 Tage, Monat, eigenes Von–Bis). Performance: Als PDF (Druckdialog).
Warum: Rückfragen der Redaktion zu Planer-Logik, Emojis, Bildprüfung, Auswertungszeitraum und exportierbarem Reporting.
Links: Social Media Freigabe, Workflow & Freigaben
2026-05-21 — Social Engage: Facebook-Kommentare aus Outstand
Was: Parser für Outstand-Replies korrigiert (replies.comments[] statt nur flaches Array). Engage nutzt platformPostId für Facebook und lädt nur wirklich veröffentlichte Posts.
Warum: Unter /dashboard/social/engage blieben Kommentare leer, obwohl Facebook welche zeigte — Outstand liefert die Thread-Daten in einem verschachtelten JSON.
Links: Social Media Freigabe — Community & Antworten
2026-05-19 — MEC ShopBox & Goldbeck: optionale Inhaltsfarben
Was: Pro Center optional Fließtextfarbe und Seitentitel-Farbe im Webseiten-Tab (Goldbeck · Optionen, MEC ShopBox · Optionen). Marken-/Layout-Farben bleiben in Design bzw. Bento/Header.
Warum: Lesbarkeit auf Rechts- und Inhaltsseiten (z. B. Impressum) ohne die Markenfarbe der Navigation zu verändern.
Links: Goldbeck Webseiten-Tab, MEC Optionen
2026-06-21 — MCP Remote: COCKPIT_ALLOW_CONTENT_PUSH bleibt nach Deploy erhalten
Was: render.yaml — COCKPIT_ALLOW_CONTENT_PUSH von value: "" auf sync: false (wie Bearer/API-Key).
Warum: Jeder Blueprint-Deploy setzte die manuell auf true/1 gesetzte Variable wieder auf leer.
Links: Claude MCP — IT-Setup Render
2026-06-21 — Social-Freigaben: übersichtlicher, durchgehend Deutsch
Was: Freigabe-Karten mit deutscher Status- und Format-Anzeige (Feed-Post, Karussell, Story, Reel), strukturiertes Detail-Panel, Aktionsleiste wie Website-Workflow; Center- und Meta-Zeile.
Warum: Englische Post-Typen (feed, carousel) und gedrängtes Karten-Layout erschwerten die Prüfung.
Links: Social Media Freigabe
2026-06-21 — Workflow & Freigaben: übersichtlicher, durchgehend Deutsch
Was: Entwurfs-Felder im Detail-Panel mit deutschen Bezeichnungen (Name, Kategorie, Etage, Öffnungszeiten, Website …); logische Feldreihenfolge; klarere Aktionsleiste pro Karte; Herkunft/KI-Assistent statt englischer Labels.
Warum: Shop-Import-Entwürfe zeigten technische englische JSON-Keys; die Aktionsbuttons wirkten unübersichtlich.
Links: Workflow & Freigaben
2026-06-06 — Täglicher Redaktions-Digest (opt-in)
Was: Optional einmal täglich E-Mail-Zusammenfassung (Glocke + offene Freigaben/Workflow) — nur bei Inhalt, Standard aus. Einstellungen unter Einstellungen → Benachrichtigungen; Cron stündlich, Versand zur gewählten Berlin-Stunde. Ablehnungen und Publish-Fehler bleiben Sofort-Mails.
Warum: Redaktion soll informiert werden, ohne jede Glocke sofort per E-Mail zu bekommen; Sicherheits-Mails (Passwort, Lockout) unverändert sofort.
Links: Benutzer: Digest, Developer: Dashboard-E-Mails, Cron-Setup, Migration SAFE
2026-06-21 — Passwort-Reset-Seite: Spinner-Fix & Einmal-Link-Regeln
Was: Reset-/Activate-/Unlock-Seiten lesen Token serverseitig (kein hängender Suspense-Spinner); diagnoseAccountToken() unterscheidet abgelaufen, bereits verwendet, falscher Link-Typ.
Warum: /auth/reset-password?token=… blieb auf dem Lade-Spinner; wiederverwendete Links hatten keine klare Meldung.
Links: Benutzer: Einmal-Links
2026-06-21 — Profil-Self-Service abgesichert & erweitert
Was: User-APIs mit fehlender Auth geschlossen; Mein Konto um Profilbild-URL und Organisation ergänzt; Center-Manager nutzt cm-auth statt offenem by-email-Lookup; optional CM_BRIDGE_SECRET für Server-zu-Server.
Warum: Jeder eingeloggte Nutzer konnte fremde Profile/Center-Zuweisungen per API lesen; CM-App-Name-Lookup war kaputt und unsicher.
Links: Benutzer: Mein Konto
2026-06-21 — Passwort vergessen (Login), dynamisches Copyright, Cockpit-Version im Footer
Was: Self-Service-Reset auf der Anmeldeseite nutzt dieselbe E-Mail-Pipeline wie der Admin-Reset (nicht mehr nur status === 'Aktiv'); Auth-Footer mit automatischem Copyright-Jahr und Dashboard-Version aus apps/dashboard/VERSION.
Warum: Mails kamen von der Login-Seite nicht an, obwohl Admin-Reset funktionierte; veraltetes Copyright-Jahr und fehlende Versionsinfo im Footer.
Links: Benutzer: Passwort vergessen, Developer: Dashboard-E-Mails
2026-06-06 — Center Manager: Operational-Cockpit-UI (Hell/Dunkel)
Was: Neutrales Layout statt Vollbild-Gradient und Glassmorphism; Hell/Dunkel-Umschalter im Header; KI-Chat mit klaren Karten, statischen Beispiel-Chips und sachlichem Ton.
Warum: Professionelleres Arbeitswerkzeug für Center Manager unterwegs — bessere Lesbarkeit, weniger „Consumer-App“-Look.
Links: Center Manager App — Oberfläche
2026-06-06 — Account-Sicherheit: Lockout, Entsperren, Token-Purpose, Legacy-API
Was: Login-Lockout (5 Fehlversuche) mit E-Mail + /auth/unlock; Setup-Links auch für inaktive Accounts; Legacy PUT/DELETE /api/users sendet dieselben Benachrichtigungs-Mails wie [userId]. Additive DB-Spalten an User.
Warum: Alle in Mails versprochenen Flows funktionieren; keine toten API-Pfade mehr.
Links: Benutzer: E-Mails & Einrichtung, Developer: Dashboard-E-Mails, Migration SAFE
2026-06-06 — Dashboard-E-Mails: SaaS-Layout, Setup-Links, Account aktivieren
Was: Einheitliche Dashboard-Mails (Resend), Copyright SawatzkiMühlenbruch GmbH, keine Klartext-Passwörter mehr — Willkommen/Admin-Reset/Einladung per Einmal-Link (/auth/activate, /auth/reset-password).
Warum: Professioneller SaaS-Standard; sicherer Onboarding- und Reset-Flow.
Links: Benutzer: E-Mails & Einrichtung, Developer: Dashboard-E-Mails
2026-06-06 — Betrieb: render.yaml, Legacy-Cleanup, Cron-Health
Was: CRON_SECRET + PINECONE_HOST in Render-Blueprint; Legacy-Routen auf schlanke 410-Stubs; GitHub Vector-Sync prüft danach Health (needsSync === 0).
Warum: Cron-Auth und Pinecone-Host dokumentiert deploybar; toter Code weg; fehlgeschlagener Index fällt in CI auf.
Links: docs/CRON-SETUP.md, AI-Orchestrator
2026-06-06 — CM-KI Phase 2/3: Health, Social, Bestätigung, Thread-Memory
Was: Vector-Sync-Health in API-Einstellungen, Legacy action-handler aus Chat entfernt (410), CenterContacts in Pinecone, Social-Entwürfe, Human-in-the-loop, Redis Chat-Threads.
Warum: Betrieb sieht Index-Stand im UI; irreversible Aktionen bestätigen; ein Orchestrator-Pfad statt paralleler Legacy-Kette.
Links: Developer: AI-Orchestrator, GET /api/system/vector-sync/health
2026-06-06 — Pinecone Vector-Sync & Hybrid-Kontext (Manager-KI)
Was: Vollständigerer Pinecone-Index (Shops, Offices, Services/HotPicks Realtime), zentraler Host aus Config, nächtlicher Cron, Manager-Assistant lädt immer DB + Pinecone.
Warum: Nicht alle Center-Daten landeten in Pinecone; bei Treffern fehlte reicher DB-Kontext (Issues, Kontakte, …).
Links: Developer: AI-Orchestrator, docs/CRON-SETUP.md
2026-06-06 — Center Manager: AI-Orchestrator (intent-gesteuert)
Was: KI-Chat nutzt Dashboard-Intent + Kontext; Mehrfach-Aktionen über ai-orchestrator statt Regex-first.
Warum: Demo-Workflows waren nicht smart genug; Gehirn liegt im Dashboard (analyzeIntentWithAI).
Links: Center Manager App, Developer: AI-Orchestrator
2026-06-06 — Center Manager: Session-Sicherheit & Live-Daten
Was: HttpOnly-Cookie-Session mit Middleware, echte Mitarbeiter im Today-Dashboard, Legacy /ai-assistant → /ai-chat, Subdomain-DNS-Doku.
Warum: App war nicht production-ready (localStorage-Session, Demo-Team, hardcodierte URLs).
Links: Center Manager App
Was: Doku markiert DB-Archiv (Phase 5) als zurückgestellt / keine Pflicht — Betrieb läuft mit Phasen 1–4.
Links: Legacy Page Builder — Abschaltung
2026-05-21 — NOW! Shop: Anzeigename (ehem. Reserve & Collect)
Was: Dashboard-Navigation, Seiten, Marketing-Übersicht, Shop-Katalog und Doku nutzen NOW! Shop als Produktname. URLs (/dashboard/reserve-campaigns) und DB-Modelle (ReserveCampaign) bleiben unverändert — kein Datenverlust.
Warum: Klarere Zuordnung zur NOW! App und Social-Commerce-Journey (Social → App → Abholung im Center).
Detail: Modul-Zuordnung NOW! Shop, Labels: apps/dashboard/src/lib/now-shop-labels.ts.
2026-06-04 — Digital Experience: Sidebar-Untergruppen NOW! Shop & QR
Was: Navigation gruppiert QR-Management sowie NOW! Shop-Kampagnen/Reservierungen/Store-Ansicht unter Untermenüs; URLs unverändert.
Links: Navigation & Module, Modul-Zuordnung
2026-06-04 — Legacy Page Builder: Phase-5a-SQL vorbereitet (nicht ausgeführt)
Was: 20260604_legacy_page_archive_tables_SAFE.sql — Archiv-Tabellen + idempotente Kopie aus Page/PageBlock.
Links: Legacy Page Builder — Abschaltung — SQL: packages/database/migrations/20260604_legacy_page_archive_tables_SAFE.sql
2026-06-04 — Legacy Page Builder: Phase-5-Archiv-Plan (Entwurf)
Was: Migrationsplan packages/database/docs/20260604_legacy_page_pageblock_archive_PHASE5_SAFE.md — Expand-Contract für Page/PageBlock, ohne Ausführung.
Warum: Team kann Backup, Archiv-Tabellen und DROP getrennt freigeben.
Links: Legacy Page Builder — Abschaltung
2026-06-04 — Reserve & Collect: Modul-Zuordnung dokumentiert
Was: Doku klärt, dass QR-Management, Reserve-Kampagnen und Reservierungen zum Modul digital-experience gehören; Marketing nur Querschnitt.
Links: Modul-Zuordnung, Navigation & Module
2026-06-04 — Legacy Page Builder: Backup-Skript Phase 5 + Filialen-Footer
Was: Skript scripts/backup-legacy-page-builder-tables.mjs exportiert Page/PageBlock read-only nach backups/. Shop-Locations Neu nutzt ContentFormFooter wie Edit.
Warum: Sichere Vorbereitung für DB-Archivierung ohne DROP; einheitliche Formular-UX bei Filialen.
Links: Legacy Page Builder — Abschaltung, Mall-OS UI
2026-06-04 — Legacy Page Builder: prisma.page-Schreibzugriffe deaktiviert (Phase 4)
Was: Guard legacy-page-builder-guard.ts schaltet alle verbleibenden Page/PageBlock-Writes ab (Theme-Manager, Setup-Routen). API add-hbb-blocks entfernt. Theme-Setup-Status nutzt PageContent/websiteEnabled.
Warum: Kein aktiver Stack schreibt mehr Legacy-Pages — verhindert stilles Re-Seeding bei Theme-Setup.
Links: Legacy Page Builder — Abschaltung
2026-06-04 — Legacy Page Builder: Routen + APIs entfernt (Phase 2)
Was: Legacy-UI (/dashboard/content/pages), /api/pages*, Center-Pages-APIs und Migration/Maintenance-Routen gelöscht. Block-Editor-Bausteine für WordPress Content Areas bleiben. Audit-Skript prüft, dass entfernte Pfade nicht wieder auftauchen.
Warum: 0 Production-Traffic auf Legacy-APIs; Center-Website, WordPress und Signage nutzen andere Modelle — UI/API-Reste nur Wartungsrisiko.
Links: Legacy Page Builder — Abschaltung
2026-06-04 — Legacy Page Builder: Seeding aus + Einstiege bereinigt
Was: Kein neues Page/PageBlock-Seeding mehr bei Center-Anlage/Repair/Theme-Regenerate; versteckte Dashboard-Links (Webseiten-Tab, Theme-Settings, Technology-Badge, Menü-Editor) zeigen auf Webseiten-Reiter bzw. WordPress Content Areas. WordPress-Verifikation: Plugin nutzt nur ContentArea-APIs, nicht Legacy-Pages.
Warum: Production-Stack (center-website, signage, manager, WordPress) hängt nicht am Page Builder — sichere Abschaltung Phase 3+2.
Links: Legacy Page Builder — Abschaltung
2026-06-04 — Legacy Page Builder: Audit & Abschaltungsplan
Was: Skript scripts/audit-legacy-page-builder.mjs + Doku zur sicheren Entfernung des React-Page-Builders (Page/PageBlock); Abgrenzung zu WordPress, Templates und pagesConfig.
Warum: SPA-Page-Builder ist durch WordPress/v0/MCP ersetzt — Entfernung nur nach messbarer Nutzung, ohne Datenverlust.
Links: Legacy Page Builder — Abschaltung
2026-06-04 — Dashboard: UI-Token-Check & Farb-Migration
Was: check-dashboard-ui-tokens.mjs erkennt alle gängigen Tailwind-Palette-Utilities (text/bg/border/gradient/ring, Varianten); neues Codemod migrate-dashboard-color-classes.mjs; Dashboard-Baseline 0 unter --strict.
Warum: Hardcodierte blue-600/gray-50-Klassen umgehen cockpit-dashboard-theme.css — zentrale Theme-Anpassungen sollen global greifen.
Links: Mall-OS UI, .cursor/rules/dashboard-ui-tokens.mdc
2026-05-21 — Marketing Cockpit: Sidebar, Module & Rollen
Was: Sidebar Marketing Cockpit nach Social (Übersicht, Kampagnen, Content-Planung, Workflow, Events in Town); aktive Menüpunkte mit ?lens=marketing; marketing-cockpit in ROLE_MODULE_IDS und permissions für ORG_MARKETING_MANAGER / CENTER_ADMIN; Mall-Modul ohne Marketing-Pfade; Legacy-Kalender-Redirect.
Warum: Modul sichtbar und korrekt zugeordnet — vorher fehlte marketing-cockpit oft in Rollen-Defaults, Sidebar hing weit unten ohne Workflow-Link.
Links: Navigation & Module, Plattform-Überblick
2026-06-04 — MCP Batch Content-Performance + EN-Doku Analytics
Was: Neues MCP-Tool cockpit_analytics_content_performance_batch (bis 40 Inhalte, ein Umami-Call); englische analytics-integration.md an DE-Stand angeglichen.
Warum: Agents können Listen-Performance ohne N Einzelrequests auswerten; i18n-Doku war veraltet.
Links: Analytics-Integration
2026-06-04 — Analytics: Verifikations-Checkliste + MCP-Discover
Was: Doku-Abschnitt „Verifikation“ in analytics-integration.md; MCP tool-catalog Kategorie analytics (5 Tools); cockpit_center_project_init und V0_CUSTOM_INSTRUCTIONS um Analytics-Lese-Tools ergänzt.
Warum: Nach Umami/Content-Performance-Release klare Prüfschritte für Website, v0 und MCP/Agents.
Links: Analytics-Integration
2026-06-04 — Umami: Shops, Jobs, News vereinheitlicht
Was: ContentPerformanceCard auf Shop-Detail (Tab Analytics), Job-Detail und News (ersetzt alte News-Karte); KI für alle Inhaltstypen wenn OpenAI aktiv; News behält dedizierte SEO-POST-Route.
Warum: Ein Modul, maximale Umami+KI-Abdeckung auf allen relevanten Detailseiten.
Links: Analytics-Integration
2026-06-04 — Umami Content-Performance: Detailseiten & MCP
Was: Performance-Karte auf Angebots- und Event-Detailseiten (ContentPerformanceCard); MCP-Tools cockpit_analytics_content_performance und cockpit_analytics_content_performance_insights; cockpit_analytics_content_metrics an Umami-Aggregation angepasst.
Warum: Einheitliche Umami+KI-Nutzung nicht nur auf der Content-Übersicht und bei News, sondern auch für Claude/MCP-Integrationen.
Links: Analytics-Integration · Content Management
2026-06-04 — Content-Übersicht: echte Performance-Daten
Was: /dashboard/content — KPI-Karten und Performance-Tabelle nutzen DB-Metriken (News, Hot Picks, Jobs); News-Views mit Umami-Fallback; keine Zufalls-SEO-Scores mehr; Spalte „Qualität“ statt irreführendem „KI-Score“.
Warum: Die Box wirkte wie Live-Analytics, lieferte aber teils Mock-Werte und kaputte Prisma-Selects.
Links: Analytics-Integration
2026-06-04 — Dashboard-UI: Social Hub & Content-Status erweitert
Was: SocialHubView auf Surface/Design-Tokens; content-status-badges.ts um Jobs, Hot-Picks, Offices und Angebots-Lifecycle ergänzt; Listen- und Detailseiten darauf umgestellt.
Warum: Modulweise UI-Patterns nach abgeschlossener Farb-Migration — weniger duplizierte Status-Mapper.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: Hub-Patterns & Content-Status
Was: CockpitSectionHub nutzt Surface/surfaceVariant statt Tailwind-color-Strings; gemeinsame Status-Mapper in content-status-badges.ts für News/Events/Pages; CI-Workflow dashboard-quality.yml für schnelle Token-/Route-Checks.
Warum: Wartbare UI-Patterns nach abgeschlossener Farb-Migration — nächste Schritte modulweise statt Big-Bang.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: Strict-Check im prebuild
Was: check-dashboard-ui-tokens.mjs --strict in apps/dashboard prebuild und pnpm check:dashboard-ui (Root); Baseline 0 — Build bricht bei neuen Hardcode-Farben ab.
Warum: Regressionen verhindern nach abgeschlossener Token-Migration.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: Migration Runde 16 — Baseline 0
Was: Letzte 37 Ein-Treffer-Dateien (Auth, CM-App, Wayfinding, Shop-Mapping, Content-Forms, Legal-Pages u. a.) auf Design-Tokens; Check-Skript meldet 0 Treffer.
Warum: Farb-Migration abgeschlossen — Grundlage für --strict im Dashboard-Build.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: Migration Runde 15 (2-Treffer-Dateien abgeschlossen)
Was: Alle verbleibenden Dateien mit je 2 Hardcode-Treffern: Content-Detail, Hub-Seiten, Marketing, QR, RSS, WordPress-Templates, Plugin-UI-Generator u. a.
Warum: Baseline von 85 auf 37 Treffer — nur noch Einzelfälle offen.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: Migration Runde 14 (Listen, WordPress, Property)
Was: Digital Signage, Finance, Parking, Property, Marketing, MEC-Import, Settings-Notifications, WordPress-Übersicht, Center-Profil, Editorial-Flow, Touchscreen, Wayfinding u. a. auf Token-Badges/Surface.
Warum: Alle verbleibenden Drei-Treffer-Dateien der Baseline bereinigen.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: Migration Runde 13 (WordPress, Komponenten, Issues)
Was: Theme-Generator, Center-Profil, Schema-Check, External Events, News-AI, WP-Performance, Shop-Mapping, Issues/new, CM-Content, Notfall-Override auf Token-Badges/Surface.
Warum: Vier-Treffer-Dateien und gemeinsame Hilfskomponenten vereinheitlichen.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: Migration Runde 12 (CM-App, Community, Module)
Was: Capture-Status, Issue-Detail, CM-Benachrichtigungen, Community-Übersicht, Team-Management, Quick-Links, Module-Kategorien, Drafts, QR-Detail, Integration-Suites auf Token-Badges/Surface.
Warum: Verbleibende Center-Manager- und Community-Views ohne verstreute bg-*-100-Klassen.
Links: Mall-OS UI
2026-06-04 — Social Caption KI: Plattform-Regeln & Center-Kontext
Was: Caption-Generator nutzt plattformspezifische Hashtag-Regeln (Facebook ohne Tags; Instagram 3–5; bei FB+IG optional Erstkommentar). Prompts in social-caption-prompts.ts; API lädt Shops, Events, Angebote, News aus der DB passend zum Brief.
Warum: Hashtags nur wo sie wirken; bessere Texte durch echte Center-Daten statt generischer Floskeln.
Links: Social Media Freigabe
2026-06-04 — Dashboard-UI: Migration Runde 11 (Permissions, Dispatch, Content-Detail)
Was: ROLE_BADGE_VARIANT/ROLE_DOT_CLASS in permissions.ts; Dispatch-Karten, Issues, Hot-Picks/Jobs-Detail, Reviews, Backup, Social-Freigabe-Link auf Token-Badges.
Warum: Zentrale Rollen-Farben und verbleibende Listen/Detailseiten vereinheitlichen.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: Check-Skript gehärtet + Migration Runde 10
Was: check-dashboard-ui-tokens.mjs scannt jetzt alle Dashboard-Quellen mit (?!\d)-Abgrenzung (keine False-Positives durch bg-blue-500). Migration: System-Übersicht, Center-Manager-Dashboard, Shops/Services, Google Places, Support-Seite.
Warum: Verlässliche Baseline für CI; weitere Listen und Cockpit-Widgets auf Token-Badges.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: Migration Runde 9 (Content, WordPress, Themes)
Was: WordPress Content-Areas, Dynamic Hero, Content-Übersicht/Offers/Offices, Page-Cards (STATUS_INFO), Theme-Family-Selector, Settings-Rollen auf @mall-os/ui-Badges und Tokens.
Warum: Weitere Hardcodes in Listen, Scope-Badges und Theme-Auswahl vereinheitlichen.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: Migration Runde 8 (Workflow, Property, Planner)
Was: Weitere Seiten auf @mall-os/ui-Tokens: Website-Freigaben (workflow), Social-Freigabe-Board, Property-Bereich (Badges), Personal, Content-Planner (Typ-Chips), Dispatch-Detail, Events-Liste, Settings-Nutzer (Modul-Matrix).
Warum: Hardcoded Tailwind-Farben schrittweise abbauen — Baseline Check von ~332 auf ~260 Treffer.
Links: Mall-OS UI
2026-06-04 — Dashboard-UI: globale Primitives & Token-Badges
Was: Neue Bausteine in @mall-os/ui: Surface, StatTile, SelectableCard, KanbanColumn. Badge/StatusBadge auf Design-Tokens. Migration Dispatch-Kanban, Social-Kanal-Chips, AI-Auswahl, Block-Renderer. Check-Skript pnpm check:dashboard-ui.
Warum: Ein zentraler, wartbarer UI-Layer — Optik über cockpit-dashboard-theme.css steuerbar statt verstreute Tailwind-Farben.
Links: Mall-OS UI — Semantische Flächen
2026-06-04 — Alert-Varianten (Dashboard, Runde 7)
Was: Wayfinding SVG-Upload, Shop-Mapping-Liste, Center-Profil (Team & Workflows), Offers-KI, Header/Footer-Farben, Property Automation, Integration Suites, Benachrichtigungen, File-Upload, Theme-Upload.
Warum: Weitere Vereinheitlichung der Hinweis-UI im Dashboard.
Links: Mall-OS UI — Hinweise
2026-06-04 — Alert-Varianten (Dashboard, Runde 6)
Was: Admin Setup, Center-Page-Sync, App-Settings-Modal, Homepage-Tiles, Emergency-Manager, Wayfinding, Embed-Chat, Reservierungen, Plugin-Migration. PageContainer für Services Quick Setup und Organisations-Detail.
Warum: Fortführung einheitlicher Hinweis-UI und Seiten-Shell.
Links: Mall-OS UI — Hinweise
2026-06-04 — Alert-Varianten (Dashboard, Runde 5)
Was: Dispatch-Detail, MEC-Import (Medien-Hinweis), Shop-Mapping-Karte, Domains, WordPress Connect/Import, Centerplan Google-Maps-Hinweis, Chatbot-Analytics, Reviews-Sentiment. Digital-Experience Theme-Seiten auf PageContainer.
Warum: Weitere UI-Vereinheitlichung ohne manuelle Farb-Overrides.
Links: Mall-OS UI — Hinweise
2026-06-04 — Alert-Varianten statt Farb-Overrides (Dashboard, Runde 4)
Was: Weitere ~20 Stellen: Social-Editor/Freigabe-Board, QR-Verwaltung, Google Places, CM-Apps-Settings, Workflow-Ablehnung, Website-Einstellungen (Digital Experience) inkl. PageContainer + DNS-Hinweis als Alert.
Warum: Fortführung der UI-Vereinheitlichung; weniger manuelle Farb-Klassen.
Links: Mall-OS UI — Hinweise
2026-06-04 — Alert-Varianten statt Farb-Overrides (Dashboard)
Was: ~50 Stellen mit manuellem border-*-200 bg-*-50 auf Alert/Card auf Alert-Varianten (default, warning, destructive, success) umgestellt. Hub-Karten (Settings, System) nutzen normale Card + --shadow-card-hover. Neue Variante success in @mall-os/ui.
Warum: Einheitliches Hinweis-Design ohne duplizierte Tailwind-Farben.
Links: Mall-OS UI — Hinweise
2026-06-04 — News Performance (Umami/DB/OpenAI) & Card-Schatten
Was: News-Detail zeigt echte Aufrufe (Umami pro News-URL, Fallback DB), Shares aus DB, SEO-/Lesbarkeits-Scores (regelbasiert, optional OpenAI). Zentraler --shadow-card-Token für alle Card-Komponenten.
Warum: Keine Platzhalter-Metriken mehr; Karten heben sich klar vom Seitenhintergrund ab.
Links: Mall-OS UI · API: GET/POST /api/content/news/{id}/performance
2026-06-04 — Dashboard: Settings & WP Content-Bereiche (PageContainer)
Was: Benutzer (Neu/Bearbeiten), Rollen, Feedback-Detail, Kommunikations-Redirect, WP Content-Bereiche Detail/Edit auf PageContainer. Design-Tokens in Community- und WordPress-Hub.
Warum: Einheitliche Dashboard-Shell in Admin- und WordPress-Bereichen.
2026-06-04 — Dashboard: Edit-Routen & PageContainer (Fortsetzung)
Was: Content-Bearbeiten unter kanonischem Pfad /content/{typ}/{id}/edit (Offers, Shops, Services, Jobs, Hot Picks, Shop-Chains, Shop-Locations, Centers); alte edit/[id]-URLs leiten um. Integration, WordPress Content-Bereiche auf PageContainer; Scheduling/Broadcast/Content-Areas: gray-*/blue-* → Design-Tokens.
Warum: Einheitliche URLs und visuelle Shell wie bei Events/News; weniger Hardcode-Farben.
2026-06-04 — Dead-Code-Aufräumung (Dashboard)
Was: Entfernt: API-.backup-Dateien, api/_disabled/**, WordPress-*.old-Seiten, ungenutzter Unified Website Builder, Dev-Route test-bunny, tote Nav-Configs. Demo-Stubs /dashboard/events|shops|jobs → Redirects auf /dashboard/content/*. Marketing/Community-Links korrigiert.
Warum: Weniger Verwirrung, keine doppelten/veralteten UIs mehr im Repo. Verbleibende React-Page-Builder-Pfade sind in deprecated-navigation.ts dokumentiert.
2026-06-04 — Content-Formulare & Dashboard-Seitenlayout
Was: News, Events und Angebote (Neu und Bearbeiten) nutzen dasselbe 3-Schritte-Muster (Inhalt → Veröffentlichen → Optional). Weitere Dashboard-Seiten auf PageContainer: Centerpläne (Übersicht + Neu), Team Management, Scheduling, Video-Scheduling, Broadcast Messages, WordPress-Hub.
Warum: Einheitlicher Redaktions-Workflow; weniger abgesetzte Sonder-Layouts und Hardcode-Farben.
Links: Content Creator Handbuch
2026-06-04 — Dashboard-UI: Tabs, Webseiten-Navigation, News-Formular
Was: Einheitliche Tab-Stile über Design-Tokens (@mall-os/ui, keine Hex-Overrides mehr). Webseiten-Tab: einklappbare Hauptgruppen + Suche in der Sidebar. Neue News: Formular in drei Schritte (Inhalt → Veröffentlichen → Optional).
Warum: Weniger visuelle Inkonsistenz und kognitive Last für Redakteur:innen im Tagesbetrieb.
Wer: Redaktion, Center-Betrieb (Dashboard).
Links: Webseiten-Tab Navigation · Content Creator Handbuch → News
So testen: Beliebige Seite mit Tabs (z. B. Social) → aktiver Tab nutzt Primary-Farbe. Center → Webseite → Gruppen auf-/zuklappen, Suche. Content → News → Neu → drei Reiter durchklicken, speichern.
2026-06 — Doku-Zielgruppen (Leitplan) & Dev-Start
Was: Verbindliche Einordnung Redaktion / Entscheider / Entwickler; Start Entwicklung für Cursor/MCP; Startseite docs nach Zielgruppe getrennt.
Warum: Eine Doku für drei völlig verschiedene Nutzungen — ohne Leitplan vermischen sich v0-Onboarding und API-Verträge.
Links: Doku-Zielgruppen · Start Redaktion · Start Entwicklung
2026-06 — Doku: schlanke Navbar
Was: Horizontale Navbar von 9 auf 5 Einträge reduziert: Start, Redaktion, Plattform, Entwickler, Dropdown Weitere (Dashboard, Center-Website, Signage, Templates, Themen A–Z).
Warum: Weniger visuelles Chaos auf Desktop und Mobil.
Links: Doku-Zielgruppen · docusaurus.config.ts
2026-06 — Doku: Optik, Startseite, EN-Workflow
Was: Startseite mit drei Zielgruppen-Karten; schlankeres CSS (Navbar, Tabellen, Sidebar); Anleitung Mehrsprachige Doku mit docusaurus-i18n + npm run docs:translate.
Warum: Übersichtlicher Einstieg; EN für internationale Partner — OpenAI wie im Cockpit, Übersetzungen versioniert in i18n/en/.
Links: Doku i18n · Doku-Zielgruppen
2026-06 — Investoren & Partner (Plattform-Nachweis)
Was: Eigener Bereich für Führungsebene (Eigentümer, Betreiber, Partner, VC): Entscheider-Seite, Reife & Betrieb, Due-Diligence-Checkliste. Navbar/Footer Plattform führt dorthin.
Warum: Redaktions-Doku allein vermittelt nicht „finanzierbare Plattform“ — Investoren brauchen Architektur-, Reife- und Marktargumente ohne Technik-Overload.
Links: Investoren & Partner · Due Diligence
2026-06 — Redaktion: Start hier & Onboarding-Kurzpfade
Was: Seite Start hier (Neu im Team) plus Kurzpfade für Center-Website (v0), Social (Outstand) und Claude/MCP (später). Redaktions-Sidebar: zuerst Checklisten, Detail eingeklappt. Verweise von Intro, Themenfinder und Langform-Seiten.
Warum: Hauptnutzer sind Quereinsteiger — v0, MCP und Outstand nicht in einem Atemzug; klare Reihenfolge statt 80-Link-Baum.
Wer: Neue Redakteurinnen, Teamleitung Onboarding.
Links: Start hier · Website v0 Kurzpfad · Social Einstieg
2026-06 — Doku-Navigation (Sidebar nach Rolle)
Was: Docusaurus-Navbar mit Bereichen Redaktion, Dashboard, Center-Website, Signage & Apps, Entwickler, Templates, Plattform — je eigene, kurze Sidebar. Start-Hub nur noch Intro, Themenfinder und Plattform-Kurzüberblick.
Warum: Die frühere mainSidebar mit 80+ Einträgen war für Redaktion unübersichtlich (Dev/MEC-Checklisten im gleichen Baum).
Wer: Alle Nutzer der Doku auf docs.cockpit-os.de.
Links: Start · Pflege: cockpit-docs/sidebars.ts, docusaurus.config.ts
2026-06 — Dashboard-Steuerzentrale & Social Cockpit (Modul)
Was: Startseite /dashboard als operative Steuerzentrale (Aufgaben-Inbox, Planner, Center-Status, API GET /api/dashboard/home). Social Cockpit als eigenes Sidebar-Modul mit Hub, Freigaben (/dashboard/social/approvals), Engage und Reporting — getrennt vom Website-Workflow. Trennung Center-Website (CockpitOS) vs. WordPress (Plugin) in der Navigation.
Warum: Schnellerer Tagesbetrieb pro Center; Social nicht mehr mit Website-Entwürfen in einer Liste vermischen.
Wer: Redaktion, Center Manager, Org-Marketing (Dashboard); Betrieb unverändert zu Outstand/Env.
Links:
- Navigation & Module → Startseite
- Social Media Freigabe
- Workflow & Freigaben (nur Website-Entwürfe)
So testen: Center im Switcher wählen → /dashboard (Zähler klickbar) → Social Cockpit → Freigaben; Website-Entwurf nur unter Workflow.
2026-05-21 — Google Business Profile: Antworten direkt aus dem Cockpit
Was: OAuth-Integration (Google Business Profile API) pro Center; Reviews aus GBP wenn verbunden; Dialog Bei Google senden; Admin-Tab unter Integration → Google Places.
Warum: Google bietet eine offizielle Reply-API — mit OAuth können Center Antworten ohne Copy-Paste veröffentlichen.
Wer: Admin (OAuth-Client), Center Manager / Redaktion (Verbindung + Antworten).
Links: Social Media Freigabe
2026-05-21 — Reviews: KI-Caption, Sammel-Post, Google-Antwort-Hilfe
Was: Social-Posts aus Reviews mit KI-Caption; Social Sammel-Post aus KI-Empfehlungs-Karten; Antworten-Dialog mit KI-Vorschlag, Kopieren und Link zu Google (kein Auto-Post).
Warum: Feinerer Ton pro Thema, wiederkehrende Kritik gebündelt adressieren, Google-Antworten benutzerfreundlich ohne nicht vorhandene API.
Wer: Redaktion, Marketing, Center Manager.
Links: Social Media Freigabe
2026-05-21 — Social: Kommentar-Benachrichtigungen (Phase B3)
Was: Hub-Kachel Kommentare offen; Dashboard-Glocke bei neuen Social-Kommentaren; Engage öffnet mit ?filter=comments; Cron ergänzt Kommentar-Check.
Warum: Community-Antworten werden nicht vergessen — gleicher „Heute für dich“-Ansatz wie bei Freigaben.
Wer: Redaktion, Center Manager, Marketing.
Links: Social Media Freigabe
2026-05-21 — Social-Post aus Google-Bewertung
Was: Auf Analytics → Bewertungen Button Social-Post pro Review; API POST /api/social/from-content mit type: review und Review-Snapshot; Hub-Link zu Bewertungen.
Warum: Reputation (Analytics) und Öffentlichkeitsarbeit (Social Cockpit) verbinden — Kritik/Lob in einem bearbeitbaren Entwurf adressieren, ohne Doppelpflege der Review-Daten.
Wer: Redaktion, Marketing, Center Manager.
Links: Social Media Freigabe
2026-05-22 — Social aus News/Event/Angebot
Was: Button Als Social-Post auf Inhalts-Detailseiten; API POST /api/social/from-content; Hub-Hinweis zu News/Events/Angebote.
Warum: Ein Datenkern — Website-Inhalt wird ohne Doppelpflege zum Social-Entwurf (CockpitOS-Verzahnung).
Wer: Redaktion, Marketing.
Links: Social Media Freigabe
2026-05-22 — Social Cockpit Shell & Hub „Heute“
Was: Einheitliche SocialPageShell mit Subnav auf allen Kernseiten; Hub zeigt Heute für dich (KPIs + Schnellaktionen) statt nur Kacheln. API GET /api/social/hub.
Warum: Social wirkt wie ein zusammenhängendes Cockpit-Modul im CockpitOS-Universum — Orientierung ohne Feature-Flut.
Wer: Redaktion, Center Manager, Marketing.
Links: Social Media Freigabe, Navigation
2026-05-21 — Social / Outstand (Webhooks, Metriken, Publish)
Was: Outstand-Anbindung erweitert: Kanal-Status in Freigaben, Webhooks (post.published, post.error, account.token_expired), First Comment nach Live-Gang, Reels/Karussell-Publish, täglicher Metrik-Sync per Cron.
Warum: Zuverlässigeres Publishing (u. a. Bilder über containers[].media), schnellere Fehlererkennung und Reporting ohne manuelles Nachziehen in Outstand.
Wer: Redaktion/Social (Freigabe-UI), Betrieb/IT (Env, Webhook, Cron).
Links:
- Social Media Freigabe
- CRON-Setup (Repo) — Abschnitt Outstand Metrik-Sync
- GitHub Action:
outstand-sync.yml
Betrieb: OUTSTAND_API_KEY, optional OUTSTAND_WEBHOOK_SECRET, CRON_SECRET; Webhook-URL POST …/api/webhooks/outstand.
2026-05 — Plattform-Überblick & Doku-Regeln
Was: Plattform-Seite (DE/EN-Kontext im Überblick), verbindliche Cursor-Regeln für System-Doku und dieses Änderungsprotokoll.
Warum: Ein gemeinsames „Nachlesen“, was CockpitOS ist und was sich wann geändert hat — nicht nur Developer-API-Listen.
Links: Plattform-Überblick
Ältere Lieferungen nach und nach ergänzen, wenn beim Arbeiten eine Seite ohnehin angefasst wird — kein Big-Bang-Backfill nötig.
Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /plattform/changelog