Skip to main content

Data Sources and Refresh

Every widget that shows live or sample data needs a data source and a refresh strategy. Dashboard Hub keeps credentials and analytical query execution on the service side whenever possible.

Supported data source types​

SourceLabelTypical use
mockMock / Direct DataStatic JSON for layout development and demos
apiAPI Data SourceREST responses from external or platform APIs
databaseDatabase QuerySQL against registered analytical stores (for example via CrateDB proxy)
bizopsBizOpsBusiness operations platforms and workflow-oriented metrics
service_catalogueService CatalogueInternal service registry / catalogue feeds

Default Hub authoring commonly includes mock/direct data as a baseline source so new dashboards can be composed before live integrations are ready.

Choosing a source​

SituationRecommended source
Designing layout and widget mixMock / Direct Data
Existing JSON HTTP APIAPI Data Source
Time-series or warehouse SQLDatabase Query
Business workflow / BizOps metricsBizOps
Service inventory style dataService Catalogue

Start with mock data to prove the story of the dashboard, then swap sources without rebuilding the entire layout.

Database and analytics path​

For SQL-backed widgets, Omega Watch Service can act as a secure proxy (for example to CrateDB):

  1. The client sends a query request to the service.
  2. The service authenticates and executes against the analytical store.
  3. Results return to the widget for mapping and render.

This keeps database credentials off the browser and centralizes retry/error handling.

Field mapping and preview​

During widget configuration:

  1. Fetch or sample a payload from the chosen source.
  2. Map fields to the widget's required roles (value, category, series, columns, and so on).
  3. Use live preview to confirm formatting (prefixes, units, chart axes).
  4. Save the mapping with the widget definition.

AI-assisted query generation may be available in some builds for natural-language to SQL — treat generated SQL as a draft and validate before publishing.

Refresh strategies​

StrategyBehaviorGood for
PollingFetch on an intervalMost KPI and chart boards
WebSocketPush updates from a stream URLNear-real-time operations walls
ManualRefresh only when the user or global refresh triggersExpensive queries and investigative boards

Common refresh options include:

OptionPurpose
intervalPolling period in milliseconds
pauseOnHiddenPause updates when the browser tab is hidden
retryOnErrorRetry failed fetches
maxRetriesCap automatic retries

Global refresh actions in the dashboard chrome can trigger a coordinated refresh across widgets.

Error and empty states​

Design for failure before publish:

StateOperator expectation
Empty resultClear empty illustration or zeroed KPI, not a blank tile
Auth / permission errorActionable message; hide raw secrets
Transient network errorRetry with backoff when configured
Query timeoutVisible error on the widget without blocking the whole dashboard