TaskMonkey Handbuch

Übersicht

Live-Auswertungen aus Datenquellen — Charts und KPI-Kacheln, im Browser oder per Token-Link.

Dashboards sind Live-Auswertungen deiner Daten. Sie ziehen Werte aus einer Quelle (z. B. einem Google Sheet, einer DB-Query, einer API), formen sie in Charts oder KPI-Kacheln und zeigen sie im Browser an. Du brauchst keinen BI-Stack dafür — eine PHP-Config-Datei reicht.

Anwendungsfälle

  • Tagesaktueller KPI-Stand an einer Wand-Anzeige im Lager: „Verpackt heute, Bestellungen offen, Lieferbar"
  • Verkaufsverlauf im Vergleich Vorjahr / Vormonat
  • System-Status-Dashboard mit Service-Verfügbarkeit, Cron-Status, Response-Zeiten
  • Reporting für Stakeholder ohne TaskMonkey-Login (per Token-Link)
  • Kunden-Cockpit mit ihren eigenen Live-Daten

Wo Dashboards leben

In deinem Workspace dashboards.php:

<?php
return [
    'dashboards' => [
        'product_sales' => [ /* … Konfig … */ ],
        'kpi'           => [ /* … Konfig … */ ],
        'monitoring'    => [ /* … Konfig … */ ],
    ],
];

Jeder Schlüssel ist der Slug des Dashboards — er steckt in der URL.

Aufrufen

Wer URL
Eingeloggte Mitarbeiter /dashboards/view/<slug>
Externe Anzeige (Token) /dashboards/view/<slug>?token=<token>&tenant=<workspace>

Eine Übersicht aller Dashboards des Workspace gibt's unter /dashboards.

Zwei Dashboard-Typen

KPI-Dashboard

Eine Wand voller Kennzahl-Kacheln — heutiger Wert, Vergleich zu gestern/letzter Woche, Trend-Indikator. Gut für „auf einen Blick"-Anzeigen.

Siehe KPI-Dashboards.

Chart-Dashboard

Mehrere Liniendiagramme, Balken oder Zeitreihen — ideal für Vergleiche und Trends.

Siehe Chart-Dashboards.

Datenquellen

Primär kommt google_sheet zum Einsatz. Du gibst Slug + Sheet-Name an, die Plattform liest mit der hinterlegten OAuth-Connection:

'datasource' => [
    'type' => 'google_sheet',
    'slug' => 'sales-forecast',
    'sheetName' => 'Tabellenblatt1',
    'cache_ttl' => 900,    // 15 Minuten zwischenspeichern (KPI-Refresh-Intervall)
    'row' => 'last',       // optional: nur die letzte Zeile (für KPI)
],

Wenn ein Chart Daten aus mehreren Sheets desselben Spreadsheets braucht (z.B. Schicht-Parameter + stündliche Ist-Werte), gibt es google_sheet_multi:

'datasource' => [
    'type' => 'google_sheet_multi',
    'slug' => 'kpi',
    'sheets' => [
        'forecast' => ['sheetName' => 'Versand-Forecast', 'cache_ttl' => 3600],
        'actuals'  => ['sheetName' => 'Tabellenblatt1', 'row' => 'last', 'cache_ttl' => 60],
    ],
],

Der slug referenziert ein konfiguriertes Google Sheet im Workspace. Anbindung läuft über deine OAuth-Verbindung.

Wenn du andere Quellen brauchst (Supabase, eigene API, DB-Gateway), sprich mit dem Betreiber — der Datasource-Mechanismus ist erweiterbar.

Zugriffskontrolle

'kpi' => [
    'title' => 'KPI Dashboard',
    'type' => 'kpi',
    'access' => 'token',                          // login | token
    'token' => '33fc8db8f7c4a49ba882f70b43e5e0e3d…',
    // …
],
access Wer darf rein
login (default) Nur eingeloggte Workspace-Mitglieder
token Jeder mit dem korrekten token-Parameter in der URL

Token-Dashboards sind ideal für Wand-Displays oder externe Stakeholder, die keinen Account brauchen sollen. Generiere lange, zufällige Tokens (32+ Hex-Chars) — sie funktionieren wie Passwörter und sind im URL eingebettet.

Daten-Refresh

Browser-seitig: KPI-Dashboards pollen im cache_ttl-Sekunden-Takt automatisch. Chart-Dashboards refreshen alle 15 Minuten. Du musst nicht manuell aktualisieren.

Server-seitig wird der Sheet-Inhalt im Cache gehalten und erst nach Ablauf der TTL neu von Google geholt. Gut für Quota-Schonung bei vielen gleichzeitigen Viewern.

PWA: als App installieren

Jedes Dashboard liefert ein eigenes PWA-Manifest (/dashboards/manifest/<slug>) mit start_url zurück zum Dashboard. Damit kann jedes Dashboard separat in Chrome/Safari als App installiert werden — eigenes Icon, eigener Name (= Dashboard-Title). Mehr in KPI-Dashboards.

Beispiel: Vollständige Mini-Konfig

<?php
return [
    'dashboards' => [
        'sales_today' => [
            'title' => 'Tagesumsatz',
            'description' => 'Live-Stand aus dem Shop',
            'type' => 'kpi',
            'access' => 'login',
            'datasource' => [
                'type' => 'google_sheet',
                'slug' => 'live-kpi',
                'sheetName' => 'Tabellenblatt1',
                'cache_ttl' => 60,
                'row' => 'last',
            ],
            'tiles' => [
                [
                    'title' => 'Umsatz heute',
                    'column' => 'Umsatz heute',
                    'compare_column' => 'Umsatz gestern',
                    'format' => 'currency',
                    'size' => 'large',
                    'span' => 3,
                    'compare_label' => 'vs. gestern',
                    'compare_mode' => 'higher_is_better',
                ],
                [
                    'title' => 'Bestellungen heute',
                    'column' => 'Bestellungen heute',
                    'format' => 'number',
                    'size' => 'medium',
                ],
            ],
        ],
    ],
];

Aufrufen unter /dashboards/view/sales_today.

Weiter

Zuletzt aktualisiert: 2026-04-20