EE: Team & Channel Management Enhancements

Target release

Phase I - Q2 2020

Phase II - Q3 2020

Epic Phase I

https://mattermost.atlassian.net/browse/MM-19335

Epic Phase II

https://mattermost.atlassian.net/browse/MM-25342

Edition

E20

Document status

99%

Document owner

@Dennis Kittrell (Deactivated)

Designer

@Michael Gamble (Deactivated)

Tech lead

@Scott Bishel

Technical writers

@Justine Geffen (Deactivated)

QA

@Rohitesh Gupta (Deactivated)

OKR

Improve Team/Channel Administration

Request (CR)

https://mattermost.atlassian.net/browse/CR-204

Request (other)

 

Design Spec

Figma (Spec doc coming soon - cc: @Michael Gamble (Deactivated))

Technical Spec

coming soon - cc: @Farhan Munshi (Deactivated)

Test Plan

MM-R240

Objective

Add standalone team and channel management pages to all editions of Mattermost for the purpose of enhancing the administrative experience of finding & managing teams and channels. This includes viewing and managing members within those teams and channels.

Background

Administrator requests for simplified user/team/channel management are frequent and are often a consistent pain point. Much of the groundwork has already been done as the early pages were created as part of the LDAP Group Sync feature.

Success metrics

Goal

Metric

Goal

Metric

Build valuable team, channel, and user management functionality within the system console.

  • 75% of customers who requested this feature confirm that this solved their problem/fulfilled their request

  • 50% of System admins using the correct version and have telemetry enabled use the feature within the first 30 days

User Scenarios (System Console)

  • System Administrator intends to quickly locate and edit team settings and members (including promotion/demotion of team admins and removal of members)

  • System Administrator intends to quickly locate and edit channel settings or members (including promotion/demotion of channel admins)

  • System Administrator intends to quickly locate and archive a channel

  • System Administrator intends to quickly locate archived channels and unarchive them

Assumptions

  • Many of our customers will need to support servers with hundreds of teams

  • Member list (user grid) will use a common component

  • System admins are going delegate much of this work to lower level admins in the future

Timeline

Mar2020AprMayJunJulAugSep5.22 CF5.24 CF5.26 CF
Design
Develop

Prototype Validating

Hi Fidelity designs

iOS App

Android

Phase I Development

QA

Documentation

Phase II Development

QA

Documentation

Areas Touched

  • System Console

    • Channel Configuration page

    • Team Configuration page

    • Permissions

  • Common Components (user grid)

Requirements

Requirement

User Story

Importance

Phase

Design Ticket

Dev Ticket

Requirement

User Story

Importance

Phase

Design Ticket

Dev Ticket

1

Make pages available for Team, E0 & E10 editions

Launching in E20 only

As an admin, I want the ability to manage teams and channels regardless of whether I have upgraded to E20 yet so that I can better manage my users.

N/A

N/A

N/A

2

Members list and management in channel config page

As an admin, I want the ability to view and manage (including promote/demote) all channel members on the channel configuration page, so that I can manage my users more efficiently.

HIGH

Phase I

3

Members list and management on team config page

As an admin, I want the ability to view and manage (including promote/demote) all members within a team on the team configuration page, so that I can manage my users more efficiently.

HIGH

Phase I

4

Ability for system admin to promote and demote admins (both team and channel) via system console

As an admin, I want the ability to promote and demote team and channel admins via the system console, so that I can more easily oversee the management of my server.

HIGH

Phase I

5

Ability for system admin to remove members from a team or channel via system console

As an admin, I want the ability to remove members from a team or channel via the system console, so that I can more easily oversee the management of my server.

HIGH

Phase I

 

6

Identify guests on members list on channel config page

 

Medium

Phase I

design TBD @Michael Gamble (Deactivated) to add

 

7

Add channel search filters to channel listing page:

  • private/public

  • archived

  • group synced/manual invite

  • Filter by team

As an admin, I want the ability to filter channels by private, public, archived, whether or not the channel is group synced, and filter by team so that I can better organize and filter my many channels.

HIGH

Phase II

Figma
@Michael Gamble (Deactivated) to add ticket when ready

8

Member filter for members list on team config page

  • Member

  • Team Admin

  • System Admin

As an admin, I want the ability to filter team members, team admins and system admins within the channel configuration page, so that I can find and manage elevated members more quickly.

Medium

Phase II

9

Member filter for members list on channel config page

  • Member

  • Channel Admin

  • System Admin

As an admin, I want the ability to filter channel members, channel admins and system admins within the channel configuration page, so that I can find and manage elevated members more quickly.

Medium

Phase II

10

Archive and unarchive channels from the channel configuration page

As an admin, I want the ability to archive/unarchive via the system console, so that I can better manage my server.

HIGH

Phase II

Design is done, no ticket exists

 

11

Avoid orphaned channels (channels/teams without an admin)

As an admin, I want to prevent anyone on the system (administrators or members) from leaving a channel or team without an admin, so that someone is always in control of a channel.

LOW

Phase II

 

12

Telemetry

We need to track the following events:

  • Count of members added via team config page

  • Count of members removed via team config page

  • Count of members elevated to team admin via team config page

  • Count of members added via channel config page

  • Count of members removed via channel config page

  • Count of members elevated to channel admin via channel config page

  • Count of search events for each filter (both team/channel pages)

  • Count of channels archived via the channel config page

  • Count of channels unarchived

 

Medium

Phase II

N/A

Open Questions

Question

Answer

Date Answered

Question

Answer

Date Answered

How will we maintain draft state on members list co-existing on the same page as groups list?

We will only show current members and current groups.

Apr 28, 2020

What is the value of identifying system admins on members lists?

It is agreed that it’s important to see who has supreme authority within the channel

Apr 16, 2020

Should we allow elevation of guests to members in the context of members list?

This should be an explicit intent for security and licensing reasons. This should only be possible from users page.

Apr 30, 2020

Out of Scope

  • Identify idle channels and teams

  • Ability to add members to a channel

  • Ability to add members to a team

  • Bulk user management options within member grid

  • Identify/manage guests from team members block