Skip to content

Feature Flags

As of the versions 1.2, 1.6 and 2.1, we are supporting feature flags. Feature flags are used to enable or disable features in the application. The feature flags are stored in the database. The feature flags are used in the code to check if a feature is enabled or disabled.

Usage

Feature flags can be used in the user interface by calling our API. The API endpoints are located at /api/feature_flags. We created GET, POST, PATCH, PUT and DELETE endpoints for the feature flags. The endpoints are secured with JWT authentication and are only accessible for users with the role ROLE_ADMINISTRATOR.

Besides that, we extended the endpoint /api/core-version. It now supports feature flags. It will list them under the key features in the extra section of the response.

Default feature flags

We are creating some default feature flags in the database for common features. The default feature flags are created inside doctrine migrations. They can be updated by any instance. Some default feature flags are:

  • json-to-form - Show the Json-To-Form Form Builder
  • validation-info - Show the Validation Info pages
  • cache-usage - Enable the cache usage page
  • message-failed - Show the message failed page
  • environment - Enable the environment feature. It has implications to several pages.