Skip to content

Add feature flag that moves Pages to deployments menu (A/B test)

Janis Altherr requested to merge test-new-pages-menu-position into master

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.

  1. Enable the Feature flag: echo "Feature.enable(:show_pages_in_deployments_menu)" | bin/rails c
  2. Navigate to a Project
  3. 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.

Edited by Janis Altherr

Merge request reports