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:
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:
- #12345 (designs)
- #12345 (design) --> This one will be moving to a new issue
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