...
Team : …/ groups_by_channels
getGroupsAssociatedToChannelsByTeam
(GET) - returns for a team, a map of channels constrained by groups and the corresponding groups.
we will update augment the following
GetGroupsgetGroups*
API endpoints with the additionalfilter_allow_reference
filter (default isfalse
), to be able to retrieve from the server only the groups that are enabled for mentions.
GetGroupsByChannelgetGroupsByChannel, GetGroupsByTeamgetGroupsByTeam, GetGroupsAssociatedToChannelsByTeamgetGroupsAssociatedToChannelsByTeam, GetGroupsgetGroups
Storage
we will add a new SQL stored-procedure:
getGroupsAssociatedToChannelsByTeam
- for every channel that is constrained by one or more groups, retrieves the corresponding list of groups, indexed by the channel’s id.
...
in the notification phase, when the aggregated number of group members to mention is above a certain threshold N(=5?), we are displaying a warning modal (see wireframe), the text message in the modal specifies the user count from the largest group in the set of groups selected in the first phase. This is a compromise solution, due to performance constraints -see below.
For example, if we mention
@developers
and@board
, where@developers
has 10 users within the channel while@board
only has 2 members in the channel, the warning modal will warn the user that she is about to notify@developers
with 10 members in the channel.
If two groups have common users the total count to be displayed by the dialog would have to be the union of members for each group within the channel. This can be done but at a significant performance cost (groups can have a large number of members).
...