Dashboard Configuration

Overview

The Dashboard Configuration enables a flexible and modular way to define, render, and control access to analytical dashboards. The configuration is split across multiple JSON files that collectively define the chart logic, dashboard structure, role-based access, and tenant mappings. This design ensures that dashboards are highly configurable without requiring code changes, supporting rapid customisation across different user roles, projects, and tenants.

Key Features & Components

  • Chart Configuration (ChartApiConfig.json) Purpose: Defines all available charts and their underlying query logic.

  • Dynamic Data Queries

    • Charts are powered by aggregation queries executed by the dashboard-analytics service.

    • Queries reference indices, fields, and filters to fetch and aggregate relevant data.

  • Chart Properties

    • Chart type: metric, bar, line, stacked, etc.

    • Value type: number, percentage, etc.

    • Drill-down or insight definitions (e.g., compare today vs. yesterday).

  • Insight Rules

    • Supports upward/downward indicators (positive/negative trends).

    • Configurable text messages with placeholders for values and intervals.

2. Dashboard Layouts (MasterDashboardConfig.json) Purpose: Defines how charts are arranged and displayed within dashboards.

  • Dashboard Structure

    • Dashboards are defined by an ID and name (e.g., national-health-dashboard).

    • Each dashboard is split into rows containing visualisation blocks.

  • Visualization Blocks

    • Group charts together under a named section (e.g., “Household Metrics”).

    • Each block can contain multiple charts from ChartApiConfig.json.

  • Flexibility

    • Charts can be reused across multiple dashboards.

    • Supports different visualisation styles (linear, stacked, collapsible, etc.).

3. Role-to-Dashboard Mappings (RoleDashboardMappingsConf.json) Purpose: Controls which roles have access to which dashboards.

  • Role-Based Access Control (RBAC)

    • Each role is mapped to one or more dashboards.

    • Example: NationalSupervisor role can access National, Provincial, and District dashboards.

  • Scalability

    • New roles and dashboards can be introduced without modifying existing code.

    • Ensures access policies are configurable and auditable.

Click here for details.

Last updated

Was this helpful?