Users should be able to set a default dashboard

Problem to solve

When a user navigates to Monitor > Metrics, the default dashboard that is initially loaded is the system dashboard (currently titled 'Overview'), but that may not be the most useful default for all projects. We should allow users to be able to set the default dashboard as something other than the system dashboard.

Proposal

  • .gitlab/dashboards/default.txt should act as a pointer to the intended dashboard. If default.txt is not present or the listed dashboard does not exist, the default dashboard should be the system dashboard.
    • Advantages:
      • The default dashboard can be determined without reading the content of all project dashboard files.
      • Can be implemented & used independently of FE having a UI implementation yet.
    • Disadvantages:
      • Can’t be set per-user, which is a bit of a bummer for users across varying job functions.
      • Separates “default” setting from the dashboard, so we could end up out of sync
  • Alternative approaches:
    • Add a new setting to ProjectMetricsDashboardSettings instead of using a project-defined file. Add an endpoint for setting the default.
    • Defining ‘default’ as an attribute inside the dashboard file

Permissions and Security

Documentation

Testing

What does success look like, and how can we measure that?

Links / references

Edited by Sarah Yasonik