Solid Fortnight uses a simple hierarchy to manage your feature flags and targeting rules.
A high-level container for related flags. Typically, a project corresponds to an application or a group of related services (e.g., "E-Commerce Web", "Backend Microservices").
Specific deployment contexts within a project. Each project can have multiple environments (e.g., "Development", "Staging", "Production"). Flag configurations (enabled/disabled, rules) are environment-specific.
The toggle itself. A flag is defined within a project and has a unique key (e.g., new-header-v2).
The different values a flag can return.
- Boolean flags: Typically return
trueorfalse. - Multivariate flags: Can return strings, numbers, or complex JSON objects (e.g.,
control,treatment-a,treatment-b).
Logic used to determine which variation a user receives. Rules are evaluated in order of priority.
- Clauses: Individual conditions within a rule (e.g.,
email CONTAINS @company.com). - Operators: Supported operators include
EQUALS,IN,CONTAINS, andPERCENTAGE.
A mechanism to gradually release a feature to a subset of users. It uses a stable hashing algorithm (MD5) to ensure a user consistently receives the same variation for a given percentage.
The specific state of a flag within an environment. It includes:
- Whether the flag is Enabled.
- The Default Variation (returned if no rules match).
- A list of Targeting Rules.
- An optional Rollout Percentage.