Перейти до вмісту

Report snapshots

Цей контент ще не доступний вашою мовою.

A report snapshot is a fixed copy of a report as it appeared when it was created, published at a public link. Anyone with the link can view it without signing in. It does not update when new data arrives and uses a light theme suitable for printing. The steps are in Share a report snapshot.

Share snapshot (printer icon) sits on the time window row of the report page, after CSV and before Parameters. It is shown to operators, editors, admins, and owners when the report has Show snapshot sharing button on under On the report. The switch only hides the button; it is not a permission. Dashboards that include ReportTimeNav show the same button; see report components.

The window, timezone, visible parameters, live chart points, language, and chart widths are fixed at the moment Share snapshot is selected; later changes are not included. While the snapshot is prepared, the button turns into a progress bar (Creating snapshot) with a cancel button (Cancel snapshot). The snapshot is taken once every view and the comments have finished loading.

When it is ready, the dialog Snapshot ready to share shows the URL with Copy, Open, and Done. The snapshot does not open by itself.

Canceling or leaving the page while the snapshot is being prepared creates nothing. Canceling while it uploads skips the dialog, but the snapshot may already be published. If creating the snapshot fails, an error message appears and nothing is published.

IncludedLeft out
Title, description, the fixed From and To (YYYY-MM-DD HH:mm:ss) and timezoneTime window controls, Parameters, Edit, CSV, Share snapshot
The views in the report layoutComment, Sign, delete buttons, Zoom
Footer lists of signatures and comments, filtered as on the pageNavigation strips, the Sankey Show all button, comment markers on views

The snapshot is a static page without scripts:

  • Charts, time bars, and histograms are images at their Height, with their legend unless Legend is None. A chart includes live points only when its Realtime update is on.
  • Tables show every row, subtotal, and the footer, without scrolling limits. The footer is left out when every visible column has Totals set to None.
  • Calendars, hourly matrices, and state duration views look as on the page, with the same Show titles hover text and Compact layout (including the calendar dot grid).
  • Sankey diagrams keep their size, labels, and hover text, without click filtering.

Each snapshot is saved as workspace files under src/report-renders/<reportId>/<date>/<uuid>/, where <date> is the UTC day of creation and <uuid> is a random ID. The public link is /static/report-renders/<workspaceId>/<reportId>/<date>/<uuid>/index.html. The random ID keeps the link hard to guess, but anyone who has the link can open it without signing in. The app has no list of snapshots; to see them, run hmi pull in a local workspace.

Snapshots stay until their files are deleted. The app has no button to delete a snapshot; remove its folder in a local workspace and run hmi push, as in Remove a snapshot.

  • Deleting the report does not delete its snapshots.
  • Deleting the workspace deletes all its snapshots.
  • Pushing changed files under src/report-renders/ republishes them.

The report page uploads snapshots with report.render.upload (Operator or higher). The input is { presetId, files }: a map of file names (no folders) to encoded file contents that must include index.html, at most 100 files and 20 MB decoded in total. The result is { url, uuid, date }, where url ends in index.html. If the files are saved but publishing the public copy fails, the call returns report_render_promote_failed and the files stay in the workspace.