Skip to content

Improve Omnibus-Mattermost Command installation flow

Resources

BE @zj | FE @lbennett | UX @pedroms

Description

https://gitlab.com/gitlab-org/gitlab-ce/issues/24769 was closed via merge request !8070 (merged) with the minimum implementation. As such, there were some aspects of the proposed design that were not done.

Scope

🔍 Check design specs (for spacing, sizes, colors and text copying) — Hide notes in the top-right corner

Installation flow (current vs. proposed):

  • Add gray background and panel container
  • Make Install button disabled until user has filled in the Team and Command trigger word inputs
  • Make the Team help text conditional (see below)
  • Change the Team select into a disabled input if there's only one team (see below)
  • Add the No permission screen (see below)
  • Add the No teams screen (see below)

Service installation scenarios

Multiple teams One team No permission No teams
image image image image

Below the team selection input, the help text varies according to the following scenarios:

  • If the user is not system admin AND the Restrict managing integrations to Admins option is true: “You can only install in teams where you are an administrator.”
  • If the user is not system admin AND the Enable Team Creation option is false: “To create a team, ask your Mattermost system administrator.”
  • If the user is system admin OR the Enable Team Creation option is true: “To create a team, use Mattermost’s interface”

The No permission screen appears if the Restrict managing integrations to Admins option is true AND the user is not an administrator of any team or system admin.

The No teams screen appears:

  • if the Restrict managing integrations to Admins option is false AND the user isn't a member of any team
  • OR if the Enable Team Creation option is true and there are no teams created yet
  • OR if the Enable Team Creation option is false and the user is system admin

The “join a team” links to http://<mattermost-url>/select_team

Out of scope/stretch goals

Service not installed (current vs. proposed):

  • Add Status, Mattermost instance URL, and Installation information
  • Remove Active and Token fields, and Save changes and Cancel buttons
  • Replace /<command_trigger_word> help in the help text with /<trigger-word> help

Service installed (current vs. proposed):

  • Remove Add to Mattermost button if service is installed
  • Change success alert message to the proposed one
  • Add Team information
  • Add Settings information and Edit in Mattermost button

Links / references