Skip to content

docs: add Best practices for creating dashboards page (#5449, #5445)#6340

Draft
florent-leborgne wants to merge 5 commits intomainfrom
docs-dashboards-best-practices
Draft

docs: add Best practices for creating dashboards page (#5449, #5445)#6340
florent-leborgne wants to merge 5 commits intomainfrom
docs-dashboards-best-practices

Conversation

@florent-leborgne
Copy link
Copy Markdown
Member

Summary

Adds a single, opinionated guidance page for designing effective {{kib}} dashboards, and routes existing pages to it instead of fragmenting the same advice across many places.

This PR closes both #5449 (grid documentation) and #5445 (dashboard design best practices). It replaces the earlier #6329 and #6330, which split the guidance across multiple pages. Both have been closed in favor of this consolidated approach.

What's new

explore-analyze/dashboards/dashboards-best-practices.md (new). Sections:

  1. Plan before you place panels — audience, primary question, decisions to support; sketch first.
  2. Build a clear information hierarchy — KPIs at the top, charts in the middle, detail tables at the bottom; above-the-fold (~24 rows on 1080p, ~38–40 rows on 1440p); 8–12 panels above the fold for operational dashboards. Includes an ASCII layout sketch.
  3. Use the dashboard grid — 48-column grid, snap behavior, default new-panel width (24 columns / half).
    • Pack the grid cleanly — eliminate dead vertical space, align heights within a row.
  4. Size panels for what they show — per-chart sizing reference table with concrete row counts (KPI 4–6, compact bar 8–10, time series 12–15, table 15+, heat map 15–25, etc.) plus the principles behind the numbers.
  5. Title and label panels — descriptive titles, hide redundant axis titles, don't use text panels as section headers.
  6. Choose the right panel for the job — Lens charts, tables, filter controls, collapsible sections, text panels.
  7. Layout patterns to start from — Operational, Analytical, Executive templates with ASCII sketches and prose.
  8. Tune dashboard performance — time range, deferred views via collapsible sections, splitting large dashboards, summaries over raw scans.

Discoverability pointers added

  • explore-analyze/dashboards.md — adds the page to the Build and customize dashboards list.
  • explore-analyze/dashboards/building.md — closing pointer after the related-tasks list.
  • explore-analyze/dashboards/create-dashboard.md — pointer in the page intro.
  • explore-analyze/dashboards/arrange-panels.md — pointer in the intro and from the resize bullet, linking to #dashboard-grid.
  • explore-analyze/dashboards/create-dashboards-programmatically.md — pointer at the end of the Dashboards API section, framed for API authors who set panel coordinates by hand.
  • explore-analyze/visualize/lens.md — pointer near the intro for panel titles, axis labels, and dashboard sizing.
  • explore-analyze/visualize/text-panels.md — pointer near the intro, anchored to #choose-panel-type.
  • All 13 individual Lens chart pages (area, bar, gauge, heat-map, line, metric, mosaic, pie, region-map, tables, tag-cloud, treemap, waffle) — pointer added to the existing Customize the chart to follow best practices build step.
  • explore-analyze/visualize/charts/line-charts.md — replaces the existing external EUI Dashboard good practices link with the new internal page.
  • explore-analyze/toc.yml — adds the page under Building dashboards, after Organize dashboard panels and before Duplicate a dashboard.

Sourcing of opinionated guidance

The numbers and patterns come from the kibana-dashboards and kibana-vega agent skills in elastic/agent-skills-sandbox, reframed for a docs audience and verified against the {{kib}} source where applicable:

  • 48-column grid: DASHBOARD_GRID_COLUMN_COUNT = 48 in src/platform/plugins/shared/dashboard/common/page_bundle_constants.ts.
  • Default panel width 24 (half): DEFAULT_PANEL_WIDTH = DASHBOARD_GRID_COLUMN_COUNT / 2 in src/platform/plugins/shared/dashboard/common/constants.ts.
  • Per-chart row counts and layout patterns: authored opinion from the skills, kept opinionated per the page's framing.

Resolves

Replaces


AI-generated draft — created with Claude Sonnet 4.6.
Review all generated content for factual accuracy before merging.

Creates explore-analyze/dashboards/dashboards-best-practices.md as the
single, opinionated source of dashboard design guidance for {{kib}}.
Covers the 48-column grid, grid packing rules, information hierarchy,
per-chart sizing with concrete row counts, panel titling, panel-type
selection, three reusable layout patterns (Operational, Analytical,
Executive), and performance tuning.

Adds discoverability pointers from related pages so the page lives
naturally in the dashboards ecosystem:

- Dashboards overview and Building dashboards (parent hubs)
- Create a dashboard, Organize dashboard panels (UI-side how-tos),
  with the resize bullet linking to the grid section
- Create dashboards programmatically (API context for packing rules)
- Lens overview and Text panels (visualization authoring entry points)
- All 13 individual Lens chart pages, in the existing "Customize the
  chart to follow best practices" build step

Replaces the external EUI dashboard-good-practices link in
line-charts.md with the new internal page, since dashboard guidance
is now first-party.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

Elastic Docs AI PR menu

Check the box to run an AI review for this pull request.

  • Review docs changes (docs-review). Status: not started.

Powered by GitHub Agentic Workflows and docs-actions. For more information, reach out to the docs team.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 7, 2026

Vale Linting Results

Summary: 2 warnings found

⚠️ Warnings (2)
File Line Rule Message
explore-analyze/dashboards/create-dashboard.md 19 Elastic.QuotesPunctuation Place punctuation inside closing quotation marks.
explore-analyze/dashboards/dashboards-best-practices.md 28 Elastic.Spelling 'wireframe' is a possible misspelling.

The Vale linter checks documentation changes against the Elastic Docs style guide.

To use Vale locally or report issues, refer to Elastic style guide for Vale.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
florent-leborgne and others added 2 commits May 7, 2026 20:09
- Information hierarchy: add focal point and proximity bullets
- Title and label panels: add number formatting and repeated-word bullets
- New section: Use color deliberately (palette choice, sequential vs
  divergent, color count, brand customization)
- New section: Apply consistent dashboard settings (margins, sync color
  palettes, sync cursor and tooltips), pointing to create-dashboard.md
  for the full list

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document the dashboard grid system in the Organize panels page Add dashboard design best practices to existing dashboard pages

1 participant