As a developer working on a Django app, I'd very much enjoy a possibility to quickly preview how a given page works with flag X enabled or disabled.
Say we have page "Recipes" and two different flags that control how this page look like, enable_foo and enable_bar. Without any special assistance from Flippy, in order to preview my page in all 4 combinations, I'd have to:
- open the Recipes page, preview
- log in as superuser, go to django admin, create a rollout for flag
enable_foo, log back in as the original user
- open the Recipes page again, preview
- log in as superuser, go to django admin, create a different rollout for
enable_bar, log back in
- open the Recipes page again, preview
- log in as superuser, go to django admin, delete the rollout for
enable_foo, log back in
- open the Recipes page again, preview
This is an unacceptably long feedback loop for manual testing. (It's very suitable for automated unit testing, though - you'd just write 4 test cases with different set-up, or write one parametrized Pytest fixture for each feature flag)
Implementation idea: allow to temporarily set a flag for the duration of one request using special query string parameters, such as ?flippy_enable_foo=1. This would only take effect if debug mode is enabled in settings (DEBUG=True? FLIPPY_DEBUG_QUERY_PARAMS=True?).
Main trouble with this: ensure this works somehow for TypedFlags which aren't queried with a Request object, if at all possible.
As a developer working on a Django app, I'd very much enjoy a possibility to quickly preview how a given page works with flag X enabled or disabled.
Say we have page "Recipes" and two different flags that control how this page look like,
enable_fooandenable_bar. Without any special assistance from Flippy, in order to preview my page in all 4 combinations, I'd have to:enable_foo, log back in as the original userenable_bar, log back inenable_foo, log back inThis is an unacceptably long feedback loop for manual testing. (It's very suitable for automated unit testing, though - you'd just write 4 test cases with different set-up, or write one parametrized Pytest fixture for each feature flag)
Implementation idea: allow to temporarily set a flag for the duration of one request using special query string parameters, such as
?flippy_enable_foo=1. This would only take effect if debug mode is enabled in settings (DEBUG=True?FLIPPY_DEBUG_QUERY_PARAMS=True?).Main trouble with this: ensure this works somehow for TypedFlags which aren't queried with a Request object, if at all possible.