Dataface Tasks

Suite chart creation and settings editing UX pass

IDM1-CLOUD-003
Statuscompleted
Priorityp0
Milestonem1-ft-analytics-analyst-pilot
Ownerui-design-frontend-dev
Completed bydave
Completed2026-03-24

Problem

The chart creation and settings editing experience in Cloud Suite is too rough for analysts to use independently. Common tasks — picking a chart type, configuring axes, adjusting visual settings — require falling back to raw YAML editing, which is inaccessible to non-technical users. The settings panel lacks coverage of key visual and query options needed for real dashboards. Until the chart authoring UX reaches a pilot-usable baseline, analysts cannot build production-quality dashboards without engineering assistance.

Context

  • Chart creation flow supports common analyst intents with minimal friction.
  • Settings editor supports key visual/query options needed for pilot dashboards.
  • Analysts can complete core chart workflows without engineering intervention.
  • M1 scope should focus on the smallest set of chart authoring actions analysts need weekly, not full parity with raw YAML.
  • Nice-to-have advanced settings should remain out of scope unless they block the pilot workflow.

Possible Solutions

  • A — Standalone chart creator first: Polish /…/charts/new/ until analysts can ship a chart without touching YAML, then align dashboard visual editor properties with the same field set.
  • B — Dashboard-first: Deepen visual-editor chart properties and drill-in to a focused chart editor from the board canvas; treat /charts/new/ as secondary.
  • Recommended: Hybrid for M1 — pick one narrow weekly workflow (e.g. “new bar chart from SQL + title + axes + save into a board”) and make it work end-to-end in both /charts/new/ and “edit chart in context” so analysts are not forced into raw YAML for that slice only.

Plan

Minimum pilot workflows (candidates — confirm with 1–2 analysts)

  1. Create chart from SQL — Write/run query, pick chart type, map X/Y (or equivalent), set title, preview, save (standalone creator).
  2. Adjust existing chart on a board — Open chart from dashboard context, change type/axes/title/query without full-dashboard YAML editing.
  3. Recover from bad config — Clear validation when query returns wrong shape; no silent wrong chart.

Concrete product surfaces to cover

Surface Route (dev seed) Notes from exploratory pass (2026-03-23, local Cloud :8000)
Standalone chart creator /dundersign/signing-analytics/charts/new/ SQL editor, Run, many chart-type buttons (emoji toolbar), X/Y comboboxes (empty until query result columns exist), title field, AI copilot panel, preview area (“No tables available” / prompt to run query).
Full dashboard YAML /…/d/<slug>/edit/ Raw YAML + preview; Boards/Charts tree exists but Properties stays generic until canvas selection — gap for “chart settings without YAML”.
Dashboard visual canvas /…/d/<slug>/Visual editor Layout primitives (rows/cols/grid/tabs), variable types, chart-type quick-add (Line, Bar, KPI, …). Properties still “select an element on the canvas” — need chart-specific panel when a chart is selected.
Per-chart editor /…/d/<slug>/c/<chart_id>/ 404 “Chart not found” for chart_id=kpis on overview in this session — treat as blocker to verify: compile/focus error vs wrong URL vs seed data drift.

Engineering sequence

  1. Reproduce and fix per-chart editor deep link (or document correct chart_id contract if URLs are wrong).
  2. Define the single M1 workflow slice and map each field to UI (standalone creator vs visual editor vs properties panel).
  3. Implement missing controls + validation for that slice only; defer advanced Vega/style parity.
  4. Short analyst acceptance on the slice; update task with explicit non-goals for M1.

Implementation Progress

  • graph-library chart capability baseline
  • dft-core chart settings contract
  • Scope clarification: this task should deliver a bounded pilot baseline, not comprehensive chart-editor coverage.
  • 2026-03-23: Exploratory browser pass on seeded org/project; standalone creator is usable skeleton; dashboard visual editor exposes chart types but per-chart URL path returned 404 — investigate before pilot.
  • 2026-03-22: Implementation pass — chart creation and settings UX improvements:
  • Per-chart 404 root cause: Not a routing bug. The <slug:chart_slug> URL pattern works correctly; the 404 was caused by using kpis as chart_id when the actual IDs are new_users_kpi, docs_kpi, etc. The chart_not_found.html template already shows available chart IDs in the error message from focus_on_chart().
  • Dashboard properties panel: Added chart_types to dashboard_view context and embedded as JSON in DASHBOARD_CONFIG. Added setupChartSelection() in init.js — clicking a chart on the canvas now shows its ID, title, type, and an "Edit Chart" link in the Properties panel.
  • Chart editor color selector: Added color field to the settings form (populated from query columns like X/Y). Wired into getCurrentEdits() so color is included in save and preview edits. update_chart_in_yaml already supported color — only the form was missing.
  • Empty-state guidance: Added "Run a query to see available columns" hint below the X Axis selector, hidden once columns populate.
  • Tests: 4 new tests in tests/cloud/test_chart_editor_ux.py — dashboard_view chart_types context, chart_editor color in definition, 404 shows available charts, settings form has color selector. All 127 cloud tests pass.
  • Non-goals for M1: Orientation toggle (bar charts only, low-freq), size/metric selectors (KPI-only), full Vega style parity, inline chart editing from dashboard canvas (properties panel links to chart editor instead).

QA Exploration

  • [x] QA exploration completed (or N/A for non-UI tasks)

Session notes (manual / in-editor browser, not scripts/qa-explore)

  • Logged in as seed admin; exercised Dundersign → Signing Analytics.
  • /charts/new/: full chrome (Save, Save & Close, Run, type picker, axes, title, AI). Axis dropdowns only populate after a successful query — expected, but analysts need obvious empty-state guidance.
  • Dashboard overview visual mode: strong layout/chart-type palette; Properties panel does not yet surface chart query/axis/title when nothing selected — main UX gap vs task goal.
  • /d/overview/c/kpis/: 404 — prioritize root cause (compile vs routing vs chart id).

Review Feedback

  • [ ] Review cleared