Skip to content
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

[NEW] Subgroups #8873

Closed
wants to merge 5 commits into from
Closed

Conversation

johnmberger
Copy link

@RocketChat/core

Introduces subgroups, which are child rooms that can be created from channels or private groups. These subgroups are ideal for conversations that are tangentially related to a parent room. Subgroups can be created via a menu on the flextab bar.

creating a subgroup
screen shot 2017-11-15 at 11 32 49 am

Users have the option of collapsing a parent room's subgroups to reduce clutter on the sidebar.

uncollapsed
screen shot 2017-11-15 at 11 26 00 am

collapsed
screen shot 2017-11-15 at 11 31 32 am

Users also have the option to have subgroups collapsed by default when they log in.
screen shot 2017-11-15 at 11 30 52 am

@gdelavald
Copy link
Contributor

This is pretty awesome, thanks for submitting the PR. We'll evaluate and provide feedback as soon as we can.

@HammyHavoc
Copy link
Contributor

This looks awesome.

@TheReal1604
Copy link
Contributor

TheReal1604 commented Nov 23, 2017

A very often requested feature from my users. That is really awesome! @johnmberger

@lunitic
Copy link

lunitic commented Dec 18, 2017

@johnmberger Nice work !!

@core team any idea in which release this will be added ?s

@Sing-Li
Copy link
Member

Sing-Li commented Dec 22, 2017

@johnmberger awesome. And thanks!

@mrsimpson
Copy link
Collaborator

mrsimpson commented Dec 23, 2017

@johnmberger truly awesome!
It's some kind of threading (only kind-of, since it doesn't start with a message) which has been asked for for a very very very long time and very very often (see #1112, #6888). We implemented something similar in our fork as well an I'd love to see this merged.
However, I'm afraid it will not be that likely to get this merged: Threading will be a core and very important feature to Rocket.Chat and might even bring some uniqueness to it. Thus, it's such a long lasting decision which even @engelgabriel seems not to be able to make.

A pledge to @RocketChatApp

In order to make it possible for developers implementing solutions on their own - like @johnmberger and myself, it would be very helpful to at least know your cornerstones: How will the data model look like and are there any defined interfaces already? This would make it possible for us to develop our custom threading workarounds and switch to the "real" threading once it's available.

Copy link
Collaborator

@mrsimpson mrsimpson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added some indications for what needs to be defined in order to harmonize different threading implementations on model level

{
$set:
{
'subGroup': true,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was e. g. interesting to know whether the thread will be a separate room type or remain in the same type as the parent

{
'subGroup': true,
'subGroupName': room.subGroupName,
'originalRoomId': room.originalRoomId
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

which property shall be used to form the hierarchy - or whether a hierarchy shall exist after all and not only some sort of "tagging"

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, it was interesting to know whether the subroom is just a room within a room or whether it is started from a message (which actually made it a thread)

@kenton-r
Copy link

It would be great if these conflicts could be resolved. Having sub channels would be a great benefit. If it is not much work to resolve the issues. it looks like there has already been some work done to get this feature working.

@csimpi
Copy link

csimpi commented Jun 23, 2018

Is this a dead thread? This function would be great.

@johnmberger
Copy link
Author

@csimpi - think so unfortunately. Rocket's been going back and forth about message threading for awhile and probably won't merge this in until they make up their mind.

@csimpi
Copy link

csimpi commented Jun 25, 2018

Aww, it's a same. Nowadays the biggest issue with the productivity team chats is the searching in the history all the time. I don't understand why nobody is willing to implement a solution like this, it would be so much easier If the users would be able to tag their messages if that's necessary.
I would use this for my personal life also, for example my wife used to send me list for the grocery, instagram names to follow, movies and tv show to watch, then we can't find anything because the lot of data in the same thread. I don't wanna open channels for every small topic. This would be a very necessary function but some reason Rocketchat's developers are getting frustrated by this feature request, I don't know why, they think this is against the chat, but that's not true, this would be the next generation of chatting/discussing. I'm thinking about a startup right now. Who's in? :))

@HammyHavoc
Copy link
Contributor

HammyHavoc commented Jun 25, 2018

@csimpi It isn't a case of people not being willing to implement it, people are willing to implement it. The main dev team for Rocket.Chat are being pushed and pulled in multiple directions by the community as to how this should look and function. Thus, it's likely that the functionality will need to be implemented via a plugin, as they'll never satisfy everybody.

IMO, this should be an API endpoint and different ways of rendering it should be viable through plugins, though something should ship out of the box because all the major competitors of Rocket.Chat seem to have this sorted in some form or another.

@csimpi
Copy link

csimpi commented Jun 25, 2018

Yes, I completely agree, there should be an API for plugins, it would be awesome to solve this in the house :)

@iamyevgeny
Copy link

@Sing-Li @brunosquadros this is the top most important feature. It is vital for platform organization and community management.
Implement it at least on the most basic level, make it optional, but let people have it.

We, and other people we know, have gone through severe complications to have a half-decent, semi-working workaround for this feature. If it were integrated on the most basic level, it wouldn't be a problem to adjust it however one wants.

@peterkogit
Copy link

As I understand, the function does not work?

@engelgabriel
Copy link
Member

We have decided that was better to delay our v1 release and get the Threads done properly than get the feature out the way it was initially implemented on the develop branch. We have "rebranded" our current implementation of Threads to Discussions (was it creates a new room type) and will implement Threads exactly the same way as Slack does.

In our vision there are 2 different use cases on how to break out of the main conversation: one very easy and organic, with a single click for small side talk, and other, much more structured, that creates a new conversation with its own life cycle.

We have tried to have a single solution for both, and as a result, no one was happy with it.
So we have given up on having a single approach for both use cases and will implement both: the Slack-like industry standard and our brand new one, called Discussions.

#13843

@engelgabriel engelgabriel added this to the 1.0.0 milestone Mar 21, 2019
@engelgabriel
Copy link
Member

Thank you @johnmberger for the hard work on this PR and @mrsimpson for the feedback and deep technical considerations about the underlying data model. We have used this code as the bases for our implementation.

The result is the initial implementation added via PR #13541 by @ggazzo

We will still use this PR as a reference in the future as we plan to improve the navigation by moving discussion under their parent channels. We will wait for more community input before we move this forward.

Thank you again for helping us build such a complex and highly demanded feature.

@247Kittichai
Copy link

I would like to know about Subgroups.
rocket.chat Version 2.0.0 Can I create subgroups ?
Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Sidebar UX Improvements
  
Review Idea
Development

Successfully merging this pull request may close these issues.

None yet