Dashboards
Berichte und Diagramme
Wofür sie gedacht ist
Store dashboards and widgets as data (KPI, bar, line, pie and table definitions) for a client to render. The package never runs a query and does not check that the models it names exist.
Was das Paket leistet und was nicht
Dashboards and their widgets stored as data, for a UI to render. A dashboard has a title and an owner. A widget describes one tile with these fields: kind (kpi, bar, line, pie or table), model_name (the model to read, for example sale_order), measure_field (the field to aggregate; empty for count), aggregate (count or sum; sum needs a number or money measure_field), group_by (field to split by, for bar, line, pie and table; empty for a single kpi value), filter (a JSON object of field names to exact values, for example {"state":"paid"}; empty means all records) and position (order on the dashboard, lowest first). The package only stores the definition; it does not check that the model or fields exist and it computes nothing.
Modelle
dashboards_dashboard
A dashboard: a titled, ordered collection of widgets
Lesegruppe: dashboards.user. Schreibgruppe: dashboards.manager.
| Feld | Art | Datenklasse | Personenbezogene Daten | Gruppe | Agenten sehen | Beschreibung |
|---|---|---|---|---|---|---|
title | text | none | nein | dashboards.user | im Klartext | Dashboard title, for example Sales overview |
owner | text | internal | ja | dashboards.user | maskiert | Name of the person who owns the dashboard |
description | longtext | none | nein | dashboards.user | im Klartext | What the dashboard shows and for whom |
shared | bool | none | nein | dashboards.user | im Klartext | Whether everyone with access to the Dashboards app sees it, or only the owner |
position | number | none | nein | dashboards.user | im Klartext | Order among dashboards, lowest first |
dashboards_widget
One tile on a dashboard, defined by what to read and how to aggregate it
Lesegruppe: dashboards.user. Schreibgruppe: dashboards.manager.
| Feld | Art | Datenklasse | Personenbezogene Daten | Gruppe | Agenten sehen | Beschreibung |
|---|---|---|---|---|---|---|
dashboard_id | ref → dashboards_dashboard | none | nein | dashboards.user | im Klartext | The dashboard the widget is on |
title | text | none | nein | dashboards.user | im Klartext | Tile title, for example Paid orders |
kind | select (kpi, bar, line, pie, table) | none | nein | dashboards.user | im Klartext | How the tile is drawn: kpi, bar, line, pie, table |
model_name | text | none | nein | dashboards.user | im Klartext | Model the tile reads, for example sale_order |
measure_field | text | none | nein | dashboards.user | im Klartext | Field to aggregate: a number or money field of the model; empty when counting |
aggregate | select (count, sum) | none | nein | dashboards.user | im Klartext | How records are combined: count or sum |
group_by | text | none | nein | dashboards.user | im Klartext | Field to split the result by (a select, ref or date field); empty for one value |
filter | longtext | none | nein | dashboards.user | im Klartext | JSON object of field names to exact values that records must match, for example {"state":"paid"}; empty means all records |
position | number | none | nein | dashboards.user | im Klartext | Order of the tile on the dashboard, lowest first |
Workflows
Diese App hat keine Workflow-Aktionen; Datensätze werden direkt angelegt und bearbeitet.
Berechtigungsgruppen
Von dieser App verwendete Gruppen:
dashboards.managerdashboards.user
Freigabeschritte
Kein Schritt dieser App braucht eine Freigabe, abgesehen vom Löschen von Datensätzen.
Was Agenten tun können und was nicht
Ein Agent kann Datensätze dieser App lesen, durchsuchen, anlegen und aktualisieren sowie Aktionen ausführen, die keine Freigabe brauchen, und zwar innerhalb der Berechtigungsgruppen seines Tokens.
Diese Schritte kann er nur vorschlagen, und eine Person muss sie freigeben: dashboards_dashboard.delete, dashboards_widget.delete.
Personenbezogene Daten werden als Platzhalter maskiert: dashboards_dashboard.owner.
Abhängigkeiten
Keine.
Installation
Installieren Sie sie in der App Customize (Marktplatz) oder über die Kommandozeile:
obop modules install-from dashboardsErfordert eine Datenbank und Administratorrechte.
Selbst bauen
Der Modulleitfaden zeigt, wie Apps wie diese geschrieben werden