Make managing feature flag environments and strategies easier
Problem to solve
In the current UX for feature flags, environments and strategies are too closely bound. This makes it difficult or impossible to effectively manage complex interactions or large numbers of environments/strategies.
Intended users
- Developers who create feature flags
- QA engineers enabling/disabling flags
- Release managers who want to control which features are released and to which customer base
- Support engineers that wish to release features to beta customers or test version to fix bugs for specific customers
Further details
Proposal
Creating strategies via API will be done in #204895 (closed). This issue is to cover the same functionality via UI. per the UX proposal below:
Allow users to define strategies independent of environments. Allow users to optionally specify environments a strategy should be applied to.
UX Proposal
Remove the Target environments
section and replace it with a Strategies section.
- The strategy section should include the following helper text.
Enable features for specific users and specific environments by defining feature flag strategies. By default, features are available to all users in all environments.
- Allow users to choose a strategy type
- Allow users to adjust strategy parameters
- Strategy should default to
All users
- Allow users to add environments to the strategy
- Strategy should default to
All environments
- Selecting an environment should remove All environments label
- Allow users to search for existing environments (exclude already selected environments)
- Allow user to create a tag for an environment if it does not exist
- Strategy should default to
Desc | Mockup |
---|---|
Strategies | |
Default strategy | |
Add environment | |
Create environment tag | |
Multiple strategies | |
Empty strategy state |
Permissions and Security
Users can only modify strategies that include environments they have access to. Users should only be allowed to add/remove environments they have access to.
Documentation
Testing
What does success look like, and how can we measure that?
What is the type of buyer?
Links / references
This issue is closely related to #35554 (closed). As designed this will limit functionality until #35554 (closed) is also implemented.