From 979f60a6d4a26dd25f18cac9cbccca4e37f0ff1b Mon Sep 17 00:00:00 2001 From: Evan Rusackas Date: Wed, 29 Apr 2026 14:26:09 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20Superset=206.1=20documentation=20catch-?= =?UTF-8?q?up=20=E2=80=94=20batch=204=20(#39446)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Superset Dev Co-authored-by: Claude Sonnet 4.6 Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com> --- docs/admin_docs/configuration/cache.mdx | 14 ++++++++++ .../configuration/configuring-superset.mdx | 20 +++++++++++++ docs/admin_docs/configuration/theming.mdx | 16 ++++++++++- .../creating-your-first-dashboard.mdx | 28 +++++++++++++++++++ docs/docs/using-superset/exploring-data.mdx | 9 ------ 5 files changed, 77 insertions(+), 10 deletions(-) diff --git a/docs/admin_docs/configuration/cache.mdx b/docs/admin_docs/configuration/cache.mdx index c5a927d5d20..ef3fbe1161c 100644 --- a/docs/admin_docs/configuration/cache.mdx +++ b/docs/admin_docs/configuration/cache.mdx @@ -178,6 +178,20 @@ Then on configuration: WEBDRIVER_AUTH_FUNC = auth_driver ``` +## ETag Support for Thumbnails + +Thumbnail and screenshot endpoints return `ETag` response headers based on the cached content digest. Clients can use conditional requests to avoid downloading unchanged images: + +``` +GET /api/v1/chart/42/thumbnail/ +If-None-Match: "abc123..." + +→ 304 Not Modified (if unchanged) +→ 200 OK (with new image if changed) +``` + +This is particularly useful for embedded dashboards and external integrations that periodically poll for updated screenshots — unchanged thumbnails return immediately with no payload. + ## Distributed Coordination Backend Superset supports an optional distributed coordination (`DISTRIBUTED_COORDINATION_CONFIG`) for diff --git a/docs/admin_docs/configuration/configuring-superset.mdx b/docs/admin_docs/configuration/configuring-superset.mdx index 3842dd65ee5..becdf70888b 100644 --- a/docs/admin_docs/configuration/configuring-superset.mdx +++ b/docs/admin_docs/configuration/configuring-superset.mdx @@ -372,6 +372,26 @@ CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager ] ``` +### PKCE Support + +For public OAuth2 clients that cannot securely store a client secret, enable Proof Key for Code Exchange (PKCE) by adding `code_challenge_method` to the `remote_app` configuration: + +```python +OAUTH_PROVIDERS = [ + { + 'name': 'myProvider', + 'remote_app': { + 'client_id': 'myClientId', + 'client_secret': 'mySecret', # may be empty for pure public clients + 'code_challenge_method': 'S256', # enables PKCE + 'server_metadata_url': 'https://myAuthorizationServer/.well-known/openid-configuration' + } + } +] +``` + +PKCE (`S256`) is recommended for all OAuth2 flows, even when a client secret is present, as it protects against authorization code interception attacks. + ## LDAP Authentication FAB supports authenticating user credentials against an LDAP server. diff --git a/docs/admin_docs/configuration/theming.mdx b/docs/admin_docs/configuration/theming.mdx index 89457abee74..c13e42617a0 100644 --- a/docs/admin_docs/configuration/theming.mdx +++ b/docs/admin_docs/configuration/theming.mdx @@ -341,11 +341,25 @@ Available chart types for `echartsOptionsOverridesByChartType`: - `echarts_heatmap` - Heatmaps - `echarts_mixed_timeseries` - Mixed time series +### Array Property Overrides + +Array properties (such as color palettes) are fully supported in overrides. Arrays are **replaced entirely** rather than merged, so specify the complete array: + +```python +THEME_DEFAULT = { + "token": { ... }, + "echartsOptionsOverrides": { + # Replace the default color palette for all ECharts visualizations + "color": ["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b"] + } +} +``` + ### Best Practices 1. **Start with global overrides** for consistent styling across all charts 2. **Use chart-specific overrides** for unique requirements per visualization type -3. **Test thoroughly** as overrides use deep merge - nested objects are combined, but arrays are completely replaced +3. **Test thoroughly** as overrides use deep merge for objects, but arrays are completely replaced — always specify the full array value 4. **Document your overrides** to help team members understand custom styling 5. **Consider performance** - complex overrides may impact chart rendering speed diff --git a/docs/docs/using-superset/creating-your-first-dashboard.mdx b/docs/docs/using-superset/creating-your-first-dashboard.mdx index ca4aff945e0..f83982385c4 100644 --- a/docs/docs/using-superset/creating-your-first-dashboard.mdx +++ b/docs/docs/using-superset/creating-your-first-dashboard.mdx @@ -256,6 +256,34 @@ For example, when running the local development build, the following will disabl Top Nav and remove the Filter Bar: `http://localhost:8088/superset/dashboard/my-dashboard/?standalone=1&show_filters=0` +### Table Chart Features + +The **Table** chart type has several advanced capabilities worth knowing: + +#### Conditional Formatting + +Conditional formatting rules highlight cells based on their values. Rules can be applied to: +- **Numeric columns** — color cells above/below a threshold, or use a gradient across a range +- **String columns** — highlight cells matching specific text values or patterns +- **Boolean columns** — color cells that are `true` or `false`, or `null`/`not null` + +Each rule has a **"Use gradient"** toggle: enabled applies a varying opacity (lighter = further from threshold), disabled applies a solid fill at full opacity regardless of value. + +#### HTML Rendering in Table Cells + +Table chart cells can render raw HTML, enabling rich formatting such as hyperlinks, colored badges, and icons directly in the data. Enable this per-column in the chart's **Column Configuration** panel by toggling **Render HTML**. + +:::caution +Only enable HTML rendering for columns sourced from data you control. Rendering untrusted HTML can expose users to cross-site scripting (XSS) risks. +::: + +#### Column Header Tooltips + +Column headers display a tooltip with the column's **Description** from the dataset editor when the user hovers over them. Keep dataset column descriptions up to date to improve chart discoverability. + +#### Display Controls + +In dashboard view mode (without entering Edit mode), charts with configurable display options expose a **Display Controls** panel accessible from the chart's context menu. This surfaces controls such as Time Grain, Time Column, and layer visibility for applicable chart types — making it easy to adjust a chart's view without going to Explore. ### AG Grid Interactive Table The **AG Grid Interactive Table** chart type is Superset's fully-featured data grid, suitable for large paginated datasets where the standard Table chart is not enough. diff --git a/docs/docs/using-superset/exploring-data.mdx b/docs/docs/using-superset/exploring-data.mdx index 77a11a3f292..8d83a0c2c63 100644 --- a/docs/docs/using-superset/exploring-data.mdx +++ b/docs/docs/using-superset/exploring-data.mdx @@ -329,15 +329,6 @@ various options in this section, refer to the Lastly, save your chart as Tutorial Resample and add it to the Tutorial Dashboard. Go to the tutorial dashboard to see the four charts side by side and compare the different outputs. -### Time Range Natural Language Expressions - -The **Custom** time range picker accepts natural language expressions alongside specific dates. Superset supports a range of expressions including: - -- Relative: `Last 7 days`, `Last month`, `Last quarter`, `Last year` -- Anchored: `previous calendar week`, `previous calendar month` -- "First of" expressions: `first day of this week`, `first day of this month`, `first day of this quarter`, `first day of this year`, `first week of this year` -- Offsets: `30 days ago`, `1 year ago`, `next week` - ### SQL Lab Tips **Schema and table browser**: The left-side table browser uses a collapsible treeview — click a schema to expand its tables, and click a table to see its columns and sample data inline. This makes navigating large schemas much faster than the previous flat list.