What are Rollout Rules?
You can leverage the Rollout Planner to be as selective and precise with your releases and tests as you want. Anything that is inside of a feature flag can be toggled on whenever you choose and for whoever you choose.
Rollout rules are a sequence of actions that can be scheduled or applied immediately for your feature flag in the selected environment. They work somewhat similar to if-then-else conditions for your release management and experiments that you can target, schedule, reorder and customize based on your goals.
Adding a new rule
Click on “+ Add a rule” to open the rule configuration menu.
Here you can select between delivery or testing rules.
You can use a combination of any multiple rules of any type to implement your rollout strategy for your feature. Kameleoon allows you to add rules for Targeted Delivery, Progressive Delivery and Feature Experiments.
How does the rule queue work?
Once you’ve added your rollout rules, it is important to understand how the queue is evaluated by Kameleoon:
- Kameleoon will check if your flag is on. If not, it will do nothing and serve everyone the default variation.
- If the flag is turned on, experiments and rules in the queue will be evaluated in a top-to-bottom order, so keep that in mind when planning your rollout strategy to prevent unforeseen targeting overlaps.
- New rules are automatically added to the bottom of the queue by default. However, each rule can be manually reordered by clicking the number shown on the left hand side of each rule (when the number changes to the ::: icon) and dragging it to the desired new position in the queue.
- You can drag rules up or down to reorder them in the queue. This will also change the order in which Kameleoon reads and evaluates the rule, so be mindful when delivering rules that share the same audience.
All rules in the queue will display one of these four states:
- Active (is currently live)
- Planned (has been scheduled to start and/or stop at a given date/time). Planned rule changes to active at defined schedule or outdated at the end of it.
- Unsaved changes (this also includes new rules that are in draft state)
- Outdated (a planned rule that automatically turned off at scheduled end date). Outdated rules are not shown in the default view but you can use filters above the queue to view them.
This section provides a quick overview of 2 key aspects of your rollout rules: variations and segments.
Changing the order of cards, deleting a rule, or change of rule status from active to planned or vice versa will reflect the ordering and values inside summary cards.
While the summary section accounts for untargeted (remaining users) that can be passed down to the next rule, any partial or complete overlaps between different user segments across different rules will not be accounted for or identified.
This section serves you an overview of which variations have been used in your delivery and experiment rules.
Variations that are targeting multiple segments have multiple bars inside them also displaying the percentage of the audience that you have targeted.
This section summarizes the different user segments that are being targeted in your rollout rules.
Segments who are split into the variations being delivered to them will have them in the same bar, adding up a maximum of 100% after which any additional variations being targeted towards the segment will be ignored.
Using the Rollout Planner with outdated SDKs
If the version of your SDK does not support Feature Variations, you will have to follow a few steps when adding new rules for a Feature Flag:
- Only rules defined on the Production environment will be checked by Kameleoon. Rules created in the staging or development environments will be ignored.
- Only the first rule in the queue will be evaluated. If there are any rules below, they will be ignored. If there are no rules at all, the default variation defined in your rollout will be served.
- Only the default variations “On” and “Off” are supported.
- Start/Stop scheduling of rules is not supported.
Visit Kameleoon’s Github and subscribe to notifications to stay up to date with all SDK releases.