Document feature flags (#3655)

* document feature flags

* .
This commit is contained in:
brendanlaschke
2024-01-30 09:50:13 +01:00
committed by GitHub
parent 0239585d81
commit e7f2af6f0b
3 changed files with 54 additions and 1 deletions

View File

@@ -0,0 +1,52 @@
---
title: Feature Flags
sidebar_position: 1
sidebar_custom_props:
icon: TbFlag
---
Feature flags are used to hide experimental features. For twenty they are set on workspace level and not on a user level.
## Adding a new feature flag
In `FeatureFlagKey.ts` add the feature flag:
```ts
type FeatureFlagKey =
| 'IS_FEATURENAME_ENABLED'
| ...;
```
Also add it to the enum in `feature-flag.entity.ts`:
```ts
enum FeatureFlagKeys {
IsFeatureNameEnabled = 'IS_FEATURENAME_ENABLED',
...
}
```
To apply a feature flag on a **backend** feature use:
```ts
@Gate({
featureFlag: 'IS_FEATURENAME_ENABLED',
})
```
To apply a feature flag on a **frontend** feature use:
```ts
const isFeatureNameEnabled = useIsFeatureEnabled('IS_FEATURENAME_ENABLED');
```
## Configure feature flags for the deployment
Change the corresponding record in the Table `core.featureFlag`:
| id | key | workspaceId | value |
|----------|--------------------------|---------------|--------|
| Random | `IS_FEATURENAME_ENABLED` | WorkspaceID | `true` |

View File

@@ -1,6 +1,6 @@
---
title: Zapier App
sidebar_position: 1
sidebar_position: 2
sidebar_custom_props:
icon: TbBrandZapier
---

View File

@@ -72,4 +72,5 @@ export {
TbTemplate,
TbRectangle,
TbCircleCheckFilled,
TbFlag
} from "react-icons/tb";