Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Communities (aka sub-rooms or room categories) #2454

Open
richvdh opened this Issue Oct 11, 2016 · 15 comments

Comments

Projects
None yet
8 participants
Contributor

richvdh commented Oct 11, 2016

Slightly different to tags, though they need to interact somehow. Some sort of cross-user metadata on rooms, which the client then uses to categorise rooms in the room list.

Contributor

richvdh commented Oct 11, 2016

Per https://matrix.to/#/!DgvjtOljKujDBrxyHk:matrix.org/$1476215287707JLfoF:chat.cryptochat.io:

We expect to be adding many different Crypto Currency rooms. Many of them will have similar room needs. So, both Coin '123' and Coin '456' may want a 'Welcome' room, 'Support' room, 'Marketing' and a 'Trading' room. We are trying to avoid having the following under the 'Rooms' section in the left for people that have joined each of them:

#Coin123_Welcome:chat.cryptochat.io
#Coin123_Support:chat.cryptochat.io
#Coin123_Marketing:chat.cryptochat.io
#Coin123_Trading:chat.cryptochat.io
#Coin456_Welcome:chat.cryptochat.io
#Coin456_Support:chat.cryptochat.io
#Coin456_Marketing:chat.cryptochat.io
#Coin456_Trading:chat.cryptochat.io

@ara4n ara4n changed the title from Room categories to Room categories (aka sub-rooms) Oct 11, 2016

Owner

ara4n commented Oct 11, 2016 edited

I could have sworn we had a bug for this already, given the number of people who've asked for slack-style subrooms. but apparently not. agreed that it would be very useful.

(edit: apparently 'slack-style subrooms' don't exist and i'm imagining them. eitherway, the idea would be that the act of joining the 'parent' room also joins you to a set of 'child' rooms, which are shown appropriately. It's basically the request for a team room directory).

Contributor

richvdh commented Oct 11, 2016

I don't think sub-rooms were quite what was asked for, but they do sound like another valid way of solving the problem

sbts commented Oct 11, 2016

I'll jump on this bandwagon :-)

perhaps the mechanism could be based on the room name instead of special tags. It's a really common mechanism to use underscores (as shown in the above example) to nest catagories in roomnames on IRC etc, in fact I've done it myself here for #ledgersmb and some sub rooms

perhaps the only "config" we need is a room flag saying that it's part of a room group, then the underscores can delimit the "levels"

I think Riot/Matrix is already destined to be a 'Slack killer', but this would pretty much clinch it. Especially if a user can join see all the rooms in a Category at the same time. If the Room Directory has a Category filter too, and then the user can easily join them as desired.

sbts commented Oct 11, 2016

Thinking about this further from an implementation perspective, possibly the most flexible method would be to have an optional room setting of "parent room", and an optional per user setting setting hash "room parents" containing "room_name=parent_room_name" pairs

Any UI can then (possibly configurably) either honour or ignore these keys to modify the way rooms are displayed

@ara4n ara4n added feature p1 labels Nov 6, 2016

Owner

ara4n commented Nov 6, 2016

This is quite related to #1373. I suggest we consider solving both at the same time.

Contributor

AndrewJDR commented Dec 27, 2016 edited

Just had to stop by and say how sorely needed this is! Especially using a bridge that does some level of user puppetting, the room listing has become very disorganized and as far as I know there is no good way to organize it.

Owner

ara4n commented Apr 7, 2017

This keeps coming up more and more - especially from Discord users, who are used to having multiple groups of rooms (which discord calls 'servers' confusingly), thus grouping together related sets of rooms for a given community, similarly to Slack's teams.

https://matrix.to/#/!DgvjtOljKujDBrxyHk:matrix.org/$1491607246420851NlHhu:matrix.org has some additional thoughts on it, which can be summarised as:

  • We should support defining groups of rooms in the directory somehow
  • We should support grouping together rooms in the RoomList, possibly just having them as a RoomSubList.
  • We would need some kind of navigation to easily discover other rooms in this group from the room list - perhaps pre-adding them to the roomlist (albeit not joining them) - this is effectively #3266

@ara4n ara4n closed this Apr 7, 2017

@ara4n ara4n reopened this Apr 7, 2017

I am facing this issue in two communities. What is the best way to set up a list of rooms corresponding to slack channels?

Contributor

jansol commented May 7, 2017

Given the Discord users, maybe calling these groups "Communities" would be more descriptive?

Owner

ara4n commented May 7, 2017 edited

way ahead of you ;)
screen shot 2017-05-07 at 22 48 50
@AmandineLP & I are currently arguing semantics and will then put out a proposal here; agreed this is critical.

@ara4n ara4n changed the title from Room categories (aka sub-rooms) to Room communities (aka sub-rooms or communities) May 7, 2017

@ara4n ara4n changed the title from Room communities (aka sub-rooms or communities) to Communities (aka sub-rooms or room categories) May 7, 2017

Owner

ara4n commented May 7, 2017 edited

n.b. these are different to:

  • Custom Room Tags #1373, which are strictly per-user (but may perhaps contribute to defining communities)
  • Matrix Groups (#3842), which are effectively an ACL construct to define sets of users. Instead, a Community is (probably) a set of rooms.
  • Riot Teams (#2940), a Riot-specific feature for running referral programmes for Riot.im. In practice, this is almost certainly a subset of Communities (plus referral behaviour) and may get replaced in the end by Communities
Owner

ara4n commented May 7, 2017

I've deliberately split the concept of having room hierarchies out of this into #3843 (unless of course Communities end up being some kind of ungodly usenet #comp.internet.services:matrix.org style global taxonomy ;D)

gagarine commented Oct 1, 2017 edited

Communities need some kind of ACL. In my use case we want to use riot instead of slack for a university associations. We want members to joint "the community" on riot and then have access to some room but not all. Giving access to members of the community of those "secret" room should be easy.

Also if you joined different community, you should be able to mute everything from one community so you can concentrate on the one you actually working.

This features are really what make slack interesting for team in my opinion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment