Skip to content
This repository was archived by the owner on Jan 17, 2023. It is now read-only.
This repository was archived by the owner on Jan 17, 2023. It is now read-only.

Feature flipping support for experiment addons #366

@lmorchard

Description

@lmorchard

A notion for testing features in an experimental addon is to ship lots of alternate code branches and flip conditionally between them. We've done this a lot on Django sites at Mozilla with django-waffle.

What might be interesting is to have experiment addons talk to the Idea Town addon (e.g. via nsIObserverService) to obtain feature flipping configuration data - which in turn can come from the Idea Town server based on the authenticated user. This could let us do things like A/B testing, incremental roll out, etc.

Breaking this out into subtasks off the top of my head:

  • Data model for features defined for a given experiment.
  • Data model for feature flags for a particular user experiment installation
  • Server-side API resource for a user's experiment feature flags
  • Admin integration for managing features, both for defining features and for individual user/experiment flag state
  • Any logic needed to come up with the feature flags for a particular user installation (e.g. segmentation, incremental rollout, etc. django-waffle could be an inspiration)
  • Metrics integration so that we can measure things based on the feature state for any given user
  • Example experiment addon code to show how to fetch feature flag data from the main addon and how to use it in conditionally enabling features

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions