I want to start a discussion about implementing a feature flags system in Discourse.
Note that the meaning of the term implementing can be quite large: from having a set of rules developpers should follow when developing new and large features to actually developing and integrating a full-featured feature flags system.
dark launches(all the work is done behind the scene but no UI is updated)
staged rollout(features might be enabled for a limited amount of users at first, then an increasing number of users)
uptime/quality of service(should there be a problem with one feature, any
adminwould be able to temporarily disable it until the issue is fixed)
- Requires a lot of
discipline(especially with removing the flags when the feature is stable)
- Increases code
complexity(adding a lot more of
For starters, we could base this system on the
site settings as they are already available throughout the whole application. The only caveat would be that we’re limited to
What do you guys think?
For those who want more information about feature flags, here’s a few interesting links: