Project dashboard

A project's overview page is a dashboard of widgets: counts, recent activity, charts, record tables, shortcuts and notes. Each project has one shared layout. Everyone who can open the project sees the same widgets, and only people allowed to edit the dashboard can change them.

What everyone sees

The dashboard appears on the project's overview once a database is attached. Before that, the overview still asks you to attach one, as described in Getting started.

Until someone edits it, a project shows the default layout: tiles for schemas, forms, events, members, endpoints and media files, plus a row of shortcuts. The default is not saved in your project until someone edits the dashboard.

Widgets show only what you could see anyway. Every widget's data is worked out on the server with your permissions, not those of whoever added the widget:

  • If your role cannot read a widget's data, the widget shows You don't have access to this data. It shows no count, no name and no partial result.
  • In the default layout, tiles you can't read are hidden instead, and so are shortcuts to sections you can't open.
  • If you can see only some of an activity widget's sources, it shows the ones you can and says that the rest are hidden.
  • Members who can't edit the dashboard receive only what they need to display each widget. Which schema a table reads, its columns and its filters stay on the server.

The Refresh button reloads every widget. Data also refreshes when you come back to the tab after more than a minute away. Nothing polls in the background.

Who can edit it

Editing needs the **dashboard.manage** permission (Manage dashboard). The workspace owner always has it. Viewing needs only access to the project.

dashboard.manage arrived in 4.1. Roles created before 4.1, Administrator included, do not have it until you tick it under Roles. Until then only the owner can edit the dashboard.

API keys cannot use the dashboard at all: its routes answer every key 403, whatever permissions the key holds. The layout belongs to the dashboard and has no use outside it, and keeping keys away means a key that leaks can never change what your team sees. The permission is not offered on the API keys page.

Editing

Choose Edit on the overview. While you edit:

  • Add widget opens a gallery grouped by kind. The new widget's settings open straight away. A dashboard holds up to 40 widgets.
  • Each widget has a small toolbar with these controls: - Move buttons, to go earlier or later, or up and down a row. - A grip you can drag the widget by. - Resize, which steps through the sizes that widget supports. - Settings. - Remove.
  • Save publishes the layout to everyone. Cancel throws your changes away.
  • Reset to default replaces the saved layout with the default for everyone.

Every action works from the keyboard, and screen readers announce moves, resizes and removals. Dragging needs a mouse or trackpad. On a touch screen, use the move buttons.

The layout is a grid of four columns on wide screens, two on tablets and one on phones. Taller sizes only take extra rows on the four-column grid.

Titles and notes are visible to everyone on the project. Don't put secrets in them. The settings dialog reminds you of this.

When someone else saved first

Two people can edit at the same time, but the second save never silently replaces the first. If the layout changed since you opened it, saving is refused with This dashboard was changed by someone else since you opened it, and you choose what happens next:

  • Load their version throws your draft away and shows the saved layout.
  • Keep my draft open keeps your changes. Saving then shows who changed the layout and when, and asks you to confirm before replacing their version. If it changes again in the meantime, you are asked again.

The same applies to Reset to default.

Leaving the page with unsaved changes asks you to confirm. Switching project from the project switcher does not ask, so save before you switch.

Widgets

Stat tile

A single number, linked to its section when you can open it. Choose a metric:

  • Records in a schema
  • Form submissions, for one form or all of them
  • Schemas, members, forms, events, endpoints, media files or API keys

Counts above 10,000 show as 10,000+.

Recent activity

The newest items from the sources you choose:

  • Records created in up to ten schemas
  • Form submissions
  • Event runs
  • Endpoint calls

Failed runs and calls are marked failed. The feed shows names and times only. Submission contents, event payloads and endpoint results never appear on the dashboard.

Chart

A line or bar chart over the last 7, 30 or 90 days, by day or by week. It can show any of these:

  • Records created in a schema
  • Submissions, for one form or all
  • Event runs, for one event or all
  • Endpoint calls, for one endpoint or all

Event and endpoint charts can also show failures. Weeks start on Monday, and a week cut short by the start of the range or by today is marked partial. Each chart has a Show data table for exact numbers and screen readers.

Record table

Rows from one schema, with the columns you choose (up to eight, including Created and Updated), a sort, up to five filters and up to 50 rows. A row links to the record editor if you can edit content, and to the schema otherwise.

  • Filters are equals (text, number, true/false, enumeration and similar fields) or contains (text fields).
  • Password fields can't be shown, sorted or filtered.
  • Rich text, JSON, component and dynamic-zone fields can't be columns.
  • Relation and media cells show the related ids rather than their titles.
  • If a column's field is later removed from the schema, the table drops it and says so. If a filter's field is removed, the widget asks to be reconfigured.

Shortcuts

Links to the project's sections. Each viewer sees only the links to sections they can open.

Notes

Free text in Markdown, up to 4,000 characters. It is a good place for a project's conventions, links and contacts. Links must start with http://, https://, mailto:, / or #, and a note containing any other link is refused on save. HTML is shown as text, never run.

Limits worth knowing

  • Dates are UTC. Chart days and weeks, and the dates in their data tables, are UTC days, whatever your time zone.
  • Counts are capped. Totals above 10,000 show as 10,000+. A schema's record count is the database's fast estimate.
  • Runs of deleted events and endpoints are not shown. Activity and charts only include runs of events and endpoints that still exist. Once you delete one, its past runs drop out of the dashboard, although they stay in the database.
  • Event runs follow schema access. An event triggered by a schema your role can't see is left out of the activity feed and the charts, together with its runs.
  • Contains filters scan the collection. On a large schema a contains filter can be slow, so every widget query is time-limited. A widget that takes too long shows This widget took too long to load with a Retry button rather than holding up the rest.
  • Widgets that no longer fit. A widget whose schema was deleted says so. A widget whose settings are no longer valid, for example one from an older layout, says it needs configuration, and anyone who can edit can open its settings from there.
  • Rate limits. Loading widget data and saving the layout are limited to 30 requests a minute per person per project.