Feature flags

Baserow uses basic feature flags currently to allow unfinished features to be merged and/or released.

Available Feature Flags

Add/remove features flags to the list below:

Enabling feature flags

To enable specific feature flags set the environment variable FEATURE_FLAGS=feature1,feature2,feature3. Using dev.sh this would look like:

FEATURE_FLAGS=feature1,feature2,feature3 ./dev.sh xyz

You could also use a docker-compose .env file and set the FEATURE_FLAGS variable in there.

Enabling all feature flags

Use the * feature flag to enable every single feature flag without having to specify each one.

FEATURE_FLAGS=* ./dev.sh xyz

Naming convention

Feature flags should be:

  1. Alphanumeric with dashes.
  2. Not start or end with spaces (flags from the env variable will be trimmed for ease of use).
  3. Unique per feature.

Creating a feature flag

In the Backend

# In your feature file:
from django.conf import settings

if "feature1" in settings.FEATURE_FLAGS:
# do the feature

In the Web-frontend

methods: {
    someComponentMethod()
    {
        if (this.$featureFlagIsEnabled("feature1")){
            // do the feature
        }
    }
}