Skip to content

Allow rollouts for filtered subjects #5

@Kos

Description

@Kos

Rationale

Currently each rollout can be configured to target either a subject, or a percentage-based slice of a subject.

There should be a way to further narrow down a subject by something meaningful. Assuming you have a subject "Users", you could derive filtered subjects along the lines of:

  • "Users with email ending with..."
  • "Users with id equal to..."

A possible implementation is to have a distinction between:

  • plain Subjects
  • filterable Subjects

where a filterable Subject can be parametrised with a string and the meaning of the string is specific to the particular Subject. This means that "Users with email..." and "Users with id..." would be separate subject classes that only differ by how they interpret the filter string. It would be difficult (UX wise) to provide a good way to do a single rollout for "Users with email ... or id ..."), unless you write a very specific Subject for this case & figure out a language that allows to encode the parameters in a single string.

Combining with percentage based rollouts

Since all Subjects already have a way to slice by percentage (built-in), we need to define how this would interact with filter strings.

A trivial implementation of implementing "roll out to 50% users with email ending with gmail.com" would be to test if the user's flag score is <= 50% and if the email ends with gmail.com. This should be in line with what the user expects as long as the flag score doesn't obviously correlate with the e-mail.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions