Dashboards

Berichte und Diagramme

MarktplatzInhalte und DokumenteVersion 0.3.0AGPL-3.0-or-latermanifest

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 and is private to them (and to dashboards.manager) unless it is shared; its tiles follow it. 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.

Moduldetails ​

  • Version: 0.3.0
  • Autor: SpaceCorps
  • Lizenz: AGPL-3.0-or-later
  • Benötigt Kern: ^0.2 (aktuell ist Kern 0.2.0)
  • Reifegrad: Experimentell
  • Kategorien: Produktivität

Modelle ​

dashboards_dashboard ​

A dashboard: a titled, ordered collection of widgets

Lesegruppe: dashboards.user. Schreibgruppe: dashboards.manager.

FeldArtDatenklassePersonenbezogene DatenGruppeAgenten sehenBeschreibung
titletextnoneneindashboards.userim KlartextDashboard title, for example Sales overview
ownertextinternaljadashboards.usermaskiertUser name of the person who owns the dashboard; the person who creates it unless set otherwise
descriptionlongtextnoneneindashboards.userim KlartextWhat the dashboard shows and for whom
sharedboolnoneneindashboards.userim KlartextWhether everyone who may read dashboards sees it (and its tiles), or only the owner and dashboards.manager; the server enforces it
positionnumbernoneneindashboards.userim KlartextOrder 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.

FeldArtDatenklassePersonenbezogene DatenGruppeAgenten sehenBeschreibung
dashboard_idref → dashboards_dashboardnoneneindashboards.userim KlartextThe dashboard the widget is on
titletextnoneneindashboards.userim KlartextTile title, for example Paid orders
kindselect (kpi, bar, line, pie, table)noneneindashboards.userim KlartextHow the tile is drawn: kpi, bar, line, pie, table
model_nametextnoneneindashboards.userim KlartextModel the tile reads, for example sale_order
measure_fieldtextnoneneindashboards.userim KlartextField to aggregate: a number or money field of the model; empty when counting
aggregateselect (count, sum)noneneindashboards.userim KlartextHow records are combined: count or sum
group_bytextnoneneindashboards.userim KlartextField to split the result by (a select, ref or date field); empty for one value
filterlongtextnoneneindashboards.userim KlartextJSON object of field names to exact values that records must match, for example {"state":"paid"}; empty means all records
positionnumbernoneneindashboards.userim KlartextOrder 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.manager
  • dashboards.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:

bash
obop modules install-from dashboards

Erfordert eine Datenbank und Administratorrechte.

Selbst bauen ​

Der Modulleitfaden zeigt, wie Apps wie diese geschrieben werden