Redirect legacy MR dashboard links to the new MR Homepage's search tab with an announcement message

Problem to solve

With the release of the new Action Focused MR Homepage, we've received feedback that users rely on several bookmarks for monitoring specific scenarios, including MRs of others (ie, their direct reports).

Proposal

First: Detection

To detect the presence of a legacy URL, we can rely on and:

  • /dashboard/merge_requests/ path
  • presence of a query string

and

One of (need to choose the best approach):

  1. scope param => all urls to a previous Dashboard tab will include the scope and a mix of any other filter params
  • High confidence of not affecting other functionality in the future
  • Might miss several scenarios
  1. any param from a list (list of params of all MR filters)
  2. present of a query string (only)
  • Risk of breaking functionality
  • Won't miss any legacy

Second: Redirect

  • Perform a permanent redirect (301)
  • Forward the query-string verbatim to /dashboard/merge_requests/search
  • Add a parameter to trace it was a redirect (eg: redirected=true)

Third: Show message about the Homepage

When arriving on the Search tab with a redirected=true (See Second step above) display a message to the users announcing the new homepage.

(entire copy to be revised, just a proposal)

  • Title: (if needed) Merge Requests have a new homepage!
  • Description: Did you know we released a brand new way of overseeing all the Merge Requests you're involved with from start to finish? Check out our new homepage in the tabs: Needs Attention / Following.
  • Button (main): Visit new MR Homepage

Why? So that those fully relying on bookmarks and stale links don't continue using only those without ever realising the existence of the new Homepage.

How? Dismissable user callouts? Or Alerts? Looking forward to some UX guidance here. Idea is to have it only show until dismissed (saved on DB to avoid multi-device annoyance).

Examples

Legacy URL Redirected to
https://gitlab.com/dashboard/merge_requests?assignee_username=samdbeckham https://gitlab.com/dashboard/merge_requests/search?assignee_username=samdbeckham
https://gitlab.com/dashboard/merge_requests?scope=all&utf8=%E2%9C%93&state=opened&author_username=leipert&sort=created_date https://gitlab.com/dashboard/merge_requests/search?scope=all&utf8=%E2%9C%93&state=opened&author_username=leipert&sort=created_date
https://gitlab.com/dashboard/merge_requests?not%5Bapproved_by_usernames%5D%5B%5D=leipert&reviewer_username=leipert&scope=all&sort=created_asc&state=opened https://gitlab.com/dashboard/merge_requests/search?not%5Bapproved_by_usernames%5D%5B%5D=leipert&reviewer_username=leipert&scope=all&sort=created_asc&state=opened

Intended users

Any user who uses bookmarks to the legacy MR dashboard.