Add feature flag that moves Pages to deployments menu (A/B test)
What does this MR do and why?
This MR introduces the Feature Flag show_pages_in_deployments_menu
. When enabled, the "Pages" menu entry moves from the project's "Settings" menu to "Deployments". For more information on why we are testing this, see the Experiment idea issue: #373547 (closed).
Resolves: #373561 (closed) Related: #373547 (closed)
Notes
Since this is an A/B test, I would like to be able to compare user behaviour between the two groups as based on FF state. This includes navigation behaviour (More back/forward navs could indicate a bigger confusion around what pages is/does).
Why am I sending the entire list of feature flags? This is because wrapper.vue
is a lower-level child of the already low-level pipeline-wizard.vue
. This can potentially be used in areas beyond Pages, so I don't want to put code in there that is use-case-specific. the alternative would have been to pass the tracked FF name down from where pipeline-wizard.vue
is used, but that adds a lot of code for us to end up with less useful data (after all, it might be helpful to be able to see if there's interfering feature flags if we analyze the data, eg. the new sidebar layout).
I'd rather remove this code when the experiment is done.
Re: the naming, I used trackingExtraData
as opposed to featureFlagTrackingData
, because I oriented myself on where the variable is used rather than what it contains (because this is more obscure in this code than the property value). One could add other extraData
to this computed property that has nothing to do with feature flags.
Screenshots or screen recordings
Before
After (FF enabled)
New menu position
Settings no longer contains Pages
Full Page with new breadcrumb header
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
- Enable the Feature flag:
echo "Feature.enable(:show_pages_in_deployments_menu)" | bin/rails c
- Navigate to a Project
- Observe how the Menu entry for Pages is now located under "Deployments" and no longer under "Settings"
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.