Skip to content

Create onboarding app structure and toggle with dashboards

What does this MR do and why?

This MR adds a new basic onboarding app that will be filled out with the next few MRs as part of Onboarding Flow - Internal Preview (&9258 - closed).

At the same time, it moves the existing dashboards app with a new wrapping app to decide whether to show the onboarding or dashboards app.

The decision tree we're working with

image

Screenshots or screen recordings

Situation Screencast
Onboarding incomplete Screen_Recording_2022-11-25_at_14.20.12
Onboarding complete Screen_Recording_2022-11-25_at_14.19.43

How to set up and validate locally

Make sure you are on at least GitLab Premium.

  1. Enable the feature flag: echo "Feature.enable(:cube_api_proxy)" | rails c.
  2. Set up the devkit and start it running using docker-compose up.
  3. Visit admin settings and make sure that the settings have been set: /admin/application_settings/general#js-product-analytics-settings.
  4. Visit a dashboard on a project that hasn't been set up yet: /[GROUP]/[PROJECT]/-/product_analytics/dashboards/.
  5. Validate the onboarding app is shown.
  6. As an authenticated user who has developer+ access to the project, make the following GraphQL call:
mutation {
  projectInitializeProductAnalytics(input: { projectPath: "[PATH_TO_PROJECT]" }) {
    project {
      fullPath
    }
    errors
  }
}
  1. Refresh the page and check that the onboarding app is still being shown.
  2. Generate some events for the project, in groupproduct analytics we've been using a browser extension like tapermonkey + this userscript to generate events.
    • Using the userscript above you need to change the host to your devkit's Jitsu URL and use your Jitsu key created for the project (under project.project_settings.jitsu_key).
  3. Once events have been created, refresh the dashboard page and check the dashboard listing is shown.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #381315 (closed)

Edited by Robert Hunt

Merge request reports