mirror of
https://github.com/apache/superset.git
synced 2026-05-21 15:55:10 +00:00
Snapshots all four versioned Docusaurus sections at v6.1.0. Built on top of the version-cutting tooling work in chore/docs-cut-6.1.0-versions so the snapshot benefits from: - Auto-gen refresh before snapshotting (database pages from engine spec metadata, API reference from openapi.json, component pages from Storybook stories) — captured at the SHA we cut from rather than whatever happened to be on disk. - Data-import freeze: country list, feature flag table, database diagnostics, and component metadata are copied into snapshot-local `_versioned_data/` dirs so the historical version doesn't silently mutate when the source files change. - Depth-aware import-path rewriter that handles deeply-nested component MDX files referencing `../../../src/` from the snapshot. Versioning behavior: `lastVersion` stays at `current` for every section, so the canonical URLs (`/docs/...`, `/admin-docs/...`, `/developer-docs/...`, `/components/...`) continue to render content from master. The `current` version is consistently labeled "Next" with an `unreleased` banner, and `6.1.0` is a historical pin accessible only via its explicit version segment. Component playground: previously `disabled: true` in versions-config.json, now enabled and versioned. The plugin block in docusaurus.config.ts was already gated only by the `disabled` flag, so no other code changes were needed to bring it back online. The frozen `databases.json` in the snapshot is the canonical 80-database artifact from the latest committed state in master (preserved by the generator's input-hash cache), not a fallback regenerated from a local Flask environment.
108 lines
2.6 KiB
Plaintext
108 lines
2.6 KiB
Plaintext
---
|
|
title: Feature Flags
|
|
hide_title: true
|
|
sidebar_position: 2
|
|
version: 1
|
|
---
|
|
|
|
import featureFlags from '../_versioned_data/static/feature-flags.json';
|
|
|
|
export const FlagTable = ({flags}) => (
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Flag</th>
|
|
<th>Default</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{flags.map((flag) => (
|
|
<tr key={flag.name}>
|
|
<td><code>{flag.name}</code></td>
|
|
<td><code>{flag.default ? 'True' : 'False'}</code></td>
|
|
<td>
|
|
{flag.description}
|
|
{flag.docs && (
|
|
<> (<a href={flag.docs}>docs</a>)</>
|
|
)}
|
|
</td>
|
|
</tr>
|
|
))}
|
|
</tbody>
|
|
</table>
|
|
);
|
|
|
|
# Feature Flags
|
|
|
|
Superset uses feature flags to control the availability of features. Feature flags allow
|
|
gradual rollout of new functionality and provide a way to enable experimental features.
|
|
|
|
To enable a feature flag, add it to your `superset_config.py`:
|
|
|
|
```python
|
|
FEATURE_FLAGS = {
|
|
"ENABLE_TEMPLATE_PROCESSING": True,
|
|
}
|
|
```
|
|
|
|
## Lifecycle
|
|
|
|
Feature flags progress through lifecycle stages:
|
|
|
|
| Stage | Description |
|
|
|-------|-------------|
|
|
| **Development** | Experimental features under active development. May be incomplete or unstable. |
|
|
| **Testing** | Feature complete but undergoing testing. Usable but may contain bugs. |
|
|
| **Stable** | Production-ready features. Safe for all deployments. |
|
|
| **Deprecated** | Features scheduled for removal. Migrate away from these. |
|
|
|
|
---
|
|
|
|
## Development
|
|
|
|
These features are experimental and under active development. Use only in development environments.
|
|
|
|
<FlagTable flags={featureFlags.flags.development} />
|
|
|
|
---
|
|
|
|
## Testing
|
|
|
|
These features are complete but still being tested. They are usable but may have bugs.
|
|
|
|
<FlagTable flags={featureFlags.flags.testing} />
|
|
|
|
---
|
|
|
|
## Stable
|
|
|
|
These features are production-ready and safe to enable.
|
|
|
|
<FlagTable flags={featureFlags.flags.stable} />
|
|
|
|
---
|
|
|
|
## Deprecated
|
|
|
|
These features are scheduled for removal. Plan to migrate away from them.
|
|
|
|
<FlagTable flags={featureFlags.flags.deprecated} />
|
|
|
|
---
|
|
|
|
## Adding New Feature Flags
|
|
|
|
When adding a new feature flag to `superset/config.py`, include the following annotations:
|
|
|
|
```python
|
|
# Description of what the feature does
|
|
# @lifecycle: development | testing | stable | deprecated
|
|
# @docs: https://superset.apache.org/docs/... (optional)
|
|
# @category: runtime_config | path_to_deprecation (optional, for stable flags)
|
|
"MY_NEW_FEATURE": False,
|
|
```
|
|
|
|
This documentation is auto-generated from the annotations in
|
|
[config.py](https://github.com/apache/superset/blob/master/superset/config.py).
|