Skip to content

Support Design Management links when adapting links in Markdown

Problem to solve

Sharing links to Designs is an important part of collaboration and how users can surface Designs to other issues. Currently, when sharing links GitLab doesn't recognize the new Designs tab or Design Uploads. This prevents discoverability and collaboration on designs for users.

Intended users

Any users who use Markdown (issues/MRs descriptions, comments, MR reviews, etc.) and collaborate on designs with other users.

Further details

When users link to the Design tab or individual designs, the GitLab markdown processors don't filter the links properly. This makes it hard for users to share links and direct other users to the appropriate area.

The links pointing to the Design tab and individual Designs within Design Management are being filtered in this way:

Directly to Designs:

https://gitlab.com/gitlab-org/gitlab-ee/issues/12905#note_200916466 -> The tab is not focused.

To an Individual Design:

https://gitlab.com/gitlab-org/gitlab-ee/issues/12905#note_200916893 -> The app throws an error Could not find design, please try again.

GitLab currently supports deep linking for other types of links, like the Changes tab in Merge Requests:

https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14722/diffs?view=inline#diff-content-2b8546a0bacce548c1d0cfcce5686660b65bb066

Proposal

The markdown issue filters should be updated to support links for Design Management. Adding a rule for the issue_reference_filter.rb, we should be able to have something like:

Interaction with Todos

When a user is mentioned in an annotation of a design, they receive a Todo that mentions the individual design. We sure ensure that the same reference for the design is displayed here as when linking to the design in markdown.

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

Pasting links to the designs in design management will not generate broken links in markdown.

Feature flag

This should be behind a feature flag, since it adds new queries to the GFM pipeline.

This feature flag is: design_management_reference_filter_gfm_pipeline

Documentation

The following documentation needs to be updated:

  • document new feature flag, explaining what it does and how to configure it
  • document the new reference type, explaining where it can be used

Links / references

Edited by Darva Satcher