-
Notifications
You must be signed in to change notification settings - Fork 10.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Topics and requests: a hierarchy of rooms with ending sub-rooms #6888
Comments
What lightweight threading do you mean? Channels? I suspect your suggestion is too complex for a lot of people and would be better addressed with some kind of message tagging in the existing channel structure. I like newsgroup style threading, but it's so easily abused, and requires so much cooperation and thought to be properly useful that I think it got a bad reputation and we've ended up with the flat messaging that's common now. |
@pshute lightweight threading in Slack spawns a discussion from a channel. |
@mrsimpson, I know abut the threading in Slack, but you referred to "lightweight threading in RC". Not sure what you mean there. Yes, there was overuse of quoting in newsgroups. It probably contributed to the backlash that resulted in simple chat style applications like Rocket.Chat. However, without something to link parts of conversations together in a channel where there are overlapping conversations, Rocket.Chat users must resort to quoting or trying to respond quickly before part of another conversation is posted. They can also tag the name of the user they're responding to, as I've done above, but that doesn't work if that user is also partaking in another conversation in that channel at the time. That happens regularly in our team of just 4. A "message tag" might be sufficient. RC's Reply function does this, but by displaying a quoted message. Instead it could display a uniquely coloured flag in both the reply and the message being replied to. I still don't quite understand your suggested implementation. Are you basically suggesting the equivalent of short-lived channels for your "requests"? The terminology sounds like you're thinking of a very specific use case. |
With scaled server configurations, the ability to create and manage subgroups will become basic requirement just to maintain usability. johnmberger and his group is one of our earliest community members deploying scaled configurations - and their solution as a PR has been referenced above - |
|
@mrsimpson you have been right in calling it a discussion from the beginning |
Use case
Channels as implemented in RC, Slack, Mattermost and alike are content-driven multi-party discussions. However, what they are lacking is that they end once the purpose of the discussion has been fulfilled.
This is also what makes channels different compared to threads of the newsgroup-age. Of course, you can always leave a channel, but that won't stop others from continuing with new content there.
Consequently, content of a channel tends to become less coherent. This makes it difficult for newly joined people to understand from where it makes sense to read and in order to catch-up. Additionally, it is difficult to to use a channel as a reference when trying to refer to it as source of information.
Features
It should be possible to create a two-level-hierarchy of rooms with the following characteristics:
new room types
A topic denotes some area of knowledge. Multiple experts may personify this knowledge. A topic is represented as a (never ending) channel in which experts may discuss internally.
A request is a discussion between someone seeking information within a particular area of knowledge and the experts providing it. A request is comparable to a livechat-room with the difference that multiple persons may be joined providing information at once.
A request shall be created for a particular topic. All members of the topic shall be included into the request room. The topic shall prefix the request-room-name suffixed by a unique ID.
As a request serves a defined purpose, it should be closable. Once a room is closed, no new message can be added - unless it is re-opened.
Tagging
Both, requests and topics shall feature tags in order to find them more easily. When creating a request, the type-ahead shall also search in tags of topics in order to determine the proper topic
Additional properties
UI
Proposal:
If a topic is entered, the members-selection, read-only and "is topic" shall be hidden.
Authorizations
As usual, the creation and deletion shall be protected by authorizations.
Users shall be able to create topics, guests shall only be able to create requests.
A special read-authorization is not necessary, as the existing authorizations for viewing a joined channel suffice.
Adding users to both the types shall be allowed for all members of the rooms (standard for private channels, afaik).
Closing and re-opening a request shall be possible for all members.
AI integration
Closing a request shall trigger AI just like in livechat-rooms.
Configuration (optional)
Compared to threading inside a channel as in Slack
Current slack channels with threading actually support something similar (in contrast to the lightweight threading in RC) - but they have no defined end and referring to the threads themselves is not easily possible.
The text was updated successfully, but these errors were encountered: