Skip to content

Move and resize panels in dashboard, save to branch

Problem to solve

Currently, we allow users to define in YML the location and size of panels (https://gitlab.com/gitlab-org/gitlab-ce/issues/60010), but we don't allow users to manage this from the UI.

Note : #27834 (closed) is a pre-requisite for this issue

Intended users

Further details

Proposal

We should expose a mode to allow users to re-arrange the panels on a dashboard as they see fit, and then offer to save the changes. We could either enable an "Edit" button which would expose the moving/resizing controls, or simply expose them all the time and only present the 'Save' option when a change has been made.

When saving back the changes, we could consider two options:

  1. Directly write back into the repo and change the dashbaord YAML without requiring the user to review the changes. This would reduce the friction, but reduce the opportunity to do reviews and more.
  2. Create a branch and MR with the changes, like we do in the Web IDE or the file editor. This would then allow for review before accepting the changes.

I think we should start with the MR based workflow.

Design

We decided on a design for draggable dashboards as part of https://gitlab.com/gitlab-org/gitlab-ce/issues/58435. Modifying this design to include a MR-based workflow for committing the changes, would look like this:

ce_60011-move-and-re-size-panels_in_dashboard

Permissions and Security

Documentation

We should add the needed documentation here

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

Links / references

Edited by Achilleas Pipinellis