Platform panels — Manager, builder and the Painel de Processos
Panels used to live in different corners of the platform — it was easy to lose track of what already existed, or to build a panel that vanished when you left the screen. Today there is a single place to see every panel — the Panel Manager — and a single canvas panel builder, with guaranteed persistence and previews with real data. You find, open, create and edit any platform panel without hunting through different menus.
What you get
- A single builder — every canvas panel is created, edited and viewed in the same builder: a 12-column canvas with drag and resize, metric, table, filter and search widgets, and Neo4j (graph), OpenSearch (indices), Trino (tables) or external-database (JDBC Agent) sources. The assembled panel is interactive: filters and search apply to widgets of the same source, tables sort by header click and paginate, and row actions can open a BPM process with the business key interpolated from the row's own data.
In view mode the filter widget becomes a live selector with the field's real values; the search widget declares which fields the text searches (case-insensitive "contains"). Tables take a page size, sort on header click, and support per-row actions: Link navigates to a URL with ${field} interpolation, and Open BPM creates an instance of a published process with the business key, title and variables taken from the row. Providing the table's BPM model and key template adds a "Process" column showing each row's instance state (clickable — opens the Process Monitor). Mark Publish to gallery in the toolbar to surface the panel in the workspace's "Painéis" gallery — the flag takes effect once the builder leaves preview (see below).
- Panel Manager — under , a single list with the platform's native panels (Plataforma badge), each workspace's canvas panels and the DATTABI dashboards (Dashboard BI badge), with search and actions.
- Read-only viewer — any canvas panel opens in view mode, with real data and no editing tools.
- Native panel chosen by the context type — each workspace gets the native panel of the type of the data context it groups: a judicial process context opens the Painel de Processos; a registration dossier context opens the Painel de Onboarding PJ (the list of PJ dossiers by CNPJ) and Pendências de Compliance (pending certificates and criteria). The link is created and corrected automatically, including on older installations, with no manual migration.
Seeing every panel on the platform
- Open . The breadcrumb reads
DATTA > Sistema > Contextos > Paineis. - The Panel Manager loads the panel catalog and the workspace list in parallel, so the screen opens complete in one go. Use the search to filter by name or workspace.
- Each row shows the title, the source workspace and the type badge: Plataforma for native panels, managed by the system, and Dashboard BI for DATTABI dashboards.
While loading, the screen shows a progress indicator; with no panels at all, it shows the empty state; and any failure appears as a friendly Portuguese notice, never as a technical error.
Opening a panel (read-only)
- Click Abrir on the panel's row.
- Canvas panels open in the viewer, with real data and a reduced toolbar: panel title, Atualizar (re-runs the preview) and Abrir no construtor. The widget palette, the properties drawer and the editing buttons do not render, and the preview runs on its own as soon as the panel finishes loading.
- Native panels navigate to the corresponding screen inside the application itself; BI dashboards open in DATTABI.
That same viewer is used by the home screen's panels shortcut. There is also a chromeless mode (embed=1), created for the workspace's "Painéis" gallery cards (see Workspaces: DATTABI dashboards and context filtering): it hides the entire toolbar and already implies read-only.
Creating a new panel
- Click Novo Painel, choose the target workspace, enter the title (e.g. "Visão Geral dos Processos") and an optional description.
- Confirm — the panel is created and opens directly in the builder.
- Assemble the widgets (metric, table, filter), choose the source, the fields and the aggregation: count (
COUNT), distinct count (COUNT_DISTINCT), sum (SUM), average (AVG), minimum (MIN) and maximum (MAX). - Use Pré-visualizar to see the numbers with real data and Salvar to store them.
Editing an existing panel
- Canvas panels: Editar opens the builder.
- BI dashboards: Editar opens the DATTABI editor.
- Native panels (Plataforma badge) are not editable — their content is managed by the platform, and the screen warns you in Portuguese if you try.
Links configured in panels are validated before opening: only http/https or relative addresses are accepted, which blocks malicious addresses such as javascript: and data:.
Why there is a single builder
There used to be two panel builders. The old one, under , assembled stat cards through interactive discovery without persistence — the user lost everything on leaving the screen. The other one, the workspace builder, was the real one: canvas, preview with real data and persistence. Since the first one's capabilities were a subset of the second one's, the unification removed the weak builder instead of merging code.
Today "Contextos → Painéis" is a thin management screen over the platform's panel catalog — the same catalog that feeds the home screen's panels shortcut and the side menu (see Workspaces: DATTABI dashboards and context filtering). Besides each workspace's canvas panels and BI dashboards, that catalog carries the native entries of the platform's panel registry.
Native panel chosen by the context type
A workspace's native panel is not fixed: it is chosen by the type of the data context the workspace groups.
| Context type | Native panel | What it shows |
|---|---|---|
| Judicial process | Painel de Processos | triage and auditing of judicial processes |
| Registration dossier | Painel de Onboarding PJ | list of PJ dossiers with legal name, CNPJ, documents, workflow stage and triage outcome |
| Registration dossier | Pendências de Compliance | expired certificates and pending criteria of the dossiers, handled through a BPM process |
| Other types | no native panel | the workspace shows only its canvas panels and BI dashboards |
A context type may offer more than one panel — the registration dossier does, with two cards. A workspace grouping contexts of different types gets the panels of each type. A workspace whose type has no native panel declared gets no native card at all — it used to get the judicial process panel even when the context was a registration dossier, and the screen opened with the wrong list.
When you change a workspace's contexts (the Contextos tab of the workspace manager), the native panel link is adjusted in the same write: the old reference is swapped, never duplicated. Canvas panels and manually linked panels stay untouched.
The registration dossier cards are only offered to whoever has permission to consult PJ dossiers — the same permission that already hides the "Onboarding PJ" item in the side menu, and that both panels need to read their data. Without it the card shows up nowhere (gallery, home screen panel shortcut or manager), instead of showing up and opening with no access.
A context registered before the "context type" field existed has no known type. In that case the panel already linked is kept as is — without a type there is no decision, and deleting the panel the user already uses would be worse than keeping it. Editing the context and filling in the type is enough for the choice to take effect.
Automatic creation and correction at startup
The workspace seed runs at platform startup, is best-effort (a seed failure never brings the system down) and idempotent by name:
- New installation — creates the "Processos" workspace already with the "Painel de Processos" canvas panel and with the link to the native panel of the context type.
- Existing installation — finds the pre-existing "Processos" workspace and adds the missing canvas panel (checked by title, case-insensitive). Panels created by the admin are never touched.
- Native link correction — in the same startup, every workspace whose native panel does not match its context type has the reference corrected (the registration dossier workspace stops pointing at the judicial process panel). The correction is idempotent: running it again duplicates nothing, and the log records how many workspaces were corrected. A workspace whose contexts are not registered yet — or are, but with no type filled in — stays untouched: without a known type there is no decision, and a link already stored is not deleted on a guess.
The canvas panel's initial configuration carries a "Total de Processos" metric (a count over the Processo resource in Neo4j) and a table with the number, class and status columns. The context binding is dynamic: it uses the active context registered through the interface, if any; without a context, the panel is born without a binding and the admin associates one later in the builder — nothing is hardcoded.
For the admin: on an existing installation whose "Processos" workspace did not have the panel yet, a platform restart is enough — the log records Workspace seed: 'Processos' atualizado. The native panel correction shows up in the same log as Painel nativo reconciliado (one line per workspace) followed by the corrected total.
Who can do what
| Action | Required permission |
|---|---|
| List the panel catalog | PANEL_VIEW or CONFIG_VIEW |
| Create a panel (Novo Painel) | CONFIG_EDIT |
| Save a panel in the builder | CONFIG_EDIT |
The frontend hides actions the user has no permission for, only as a visual hint; the real barrier is the backend check. A denial returns a Portuguese message explaining the missing permission, with no technical detail on screen.
Direct addresses and telemetry
The builder accepts the parameters ws (workspace), panel (panel), mode=view (viewer) and embed=1 (chromeless, already implying view mode).
Both screens — manager and builder — send navigation and usage telemetry (identified as datta-fe-paineis and datta-fe-panelbuilder), propagate the tracing context on calls to the backend and report user activity to the application.
Creating and updating panels is also available through the API — see the API reference.
Known limitations
- No chart widgets (bars, donut, line) in the builder. The native Painel de Processos can be replicated with metric + table + filter; for dashboards with rich charts, use DATTABI.
- The native panel is not editable by the builder — it is a screen of the application itself, not a canvas.
- Only two context types have a native panel today (judicial process and registration dossier). A procedural code or custom context gets no native card until a panel is declared for the type — by design: a wrong card is worse than no card.
- Canvas panels do not appear in the "Painéis" gallery or in the home screen shortcut while the builder is in preview — not even with the "Publish to gallery" flag set. They remain reachable from the Panel Manager and the workspace's panels tab.
- JDBC pagination uses
LIMIT/OFFSETsyntax (Postgres, MySQL, H2, SQLite). Dialects without it surface the database's own error in the widget. - Identifying the newly created panel in the Novo Painel flow uses the most recent creation date of the returned workspace — a sufficient heuristic because creation is synchronous, but the panel identifier does not come back directly in the response.