Problem/Motivation
I currently use Open Social in my organisation as an internal social plateform in witch we wish to have basically three types of groups:
- "Workshops" groups, used by employees and external experts.
- "Internal organisation" groups, mostly dedicated to human ressources information and departement's workflows
- "Unformal" groups, restricted to the employees dedicated to the social life of the company in wich we can share interests for sport, music... or organise friendly lunch etc.
I restricted access rights the most I could using drupal'score roles and group's roles, but I can't manage to prevent users from seeing activities on home stream of groups they should not even know they exist.
Example 1: an external experts member of a high level technical group can see in the home stream that an employee posted on "who's the chef next lunch?" group. Even if that external person can't actually see the post, the article or the stream of that group, it is not professional to see the notification. "unformal" groups activities should not appear to external people in a professional context.
Proposed resolution
Solution 1 : remove from the home stream all activities related to (closed or open) groups the user is not member of.
Solution 2 : create a "secret" group like in Facebook, which will be not referenced on "all groups" page and its activities referenced in streams only for members.
So far, thank you for the great job already done!
Comments
Comment #2
FleurJ commentednote about the first solution proposed: I tried to change the view's settings to add a new filter but it did'nt work. Maybe I just did'nt configured properly the filter? In this case, what would be the right filter ?
Comment #3
bramtenhove commentedComment #4
socialnicheguru commentedin your use case can a secret group even be seen in the list if you are not part of the group?
Comment #5
marqpdx commentedHello, good timing, just working on this myself.
I believe the use case is, that if you are not part of a secret group, then you will never see that group or any of its content listed or shown anywhere on the entire site ever; you'll only officially hear about it if you get invited, and then you can join...
There just needs to be that level of privacy for OS to serve everybody, b/c the way i think about it is, take the innermost unit, each person's handful of secret groups where we have business meetings w/ colleagues or whatever, and outside of that is the current Closed group which is publicly visible and people can ask to join. And then there is the wider ring of public groups. That way you then can have the fullest range of conversations possible.
Anyone know if there are settings that can be added to Open Social Groups to implement this, or where in the code?
Thanks,
m
Comment #6
socialnicheguru commentedAlso grey out the visibility settings.
Comment #7
marqpdx commentedOK, i was working w/ this yesterday, and it might be easier than i was thinking.
1) i turned on Views UI
2) i created a 4th Group Type ("Secret", though i think the name "Hidden Private" might be better)
3) then i adjusted the settings for that group to hide all visibility from non-members
4) then i adjusted the /all-groups view to exclude "Secret" groups, and we were almost there.
The other views would need to be adjusted, but it seems that this would serve what we have been discussing, having a Group Type that would be known and visible *only* to members.
I still have to figure a good way to do the invite, but i am encouraged that the structure of Open Social made this so easy.
If we like this, we (i can work on it) can update the install profile to create this 4th group type, but the above steps were pretty straightforward and workable.
How is this sounding?
Thx
m
Comment #8
socialnicheguru commentedGreat.
we would also have to make sure that secret group activity does not show up unless you are a member of the group.
Is there a way to signify if a group is open, closed, secret, or public? An icon perhaps?
Comment #9
marqpdx commentedhi SocialNicheGuru
First, i am thinking that the term "Private" is better than "Secret". What do you think?
Second, so far, in terms of your first question, making sure that group activity doesn't show up unless you are a member of a "private/secret" group seems to require simply adjusting the public Views (like All Groups) so that `Group Type <> "Private"`, which will filter out Secret (or Private) groups. True, you won't see in the All Groups list the Private/Secret groups you are part of, but that seems ok.
What "All Groups" then means is "All publicly visible groups". If we really wanted Private groups that i belong to to show up in All Groups list (maybe w/ a special icon) we could further tweak the views (add "Is a member of" as a contextual filter or something). I don't think that's even needed, tbh, but we can figure that out.
The "My Groups" link (/user/%user/groups) would show all a person's groups, including secret/private ones.
Third, An icon would be nice, so it's clear.
A question: currently, the three default group types are built in code, yeah? And same for the default views?
Thx,
m
Comment #10
socialnicheguru commentedyes to your last question.
I see closed groups and private groups as being equal.
the only difference with private groups is that the group and content are not visible at all unless I am a member of the group
Comment #11
socialnicheguru commented@marqpdx in comment #7 above, what permissions did you change in your number #3?
Comment #12
socialnicheguru commentedalso is there a way to include a group if someone is a member?
I have not tried this but it looks promising: https://www.drupal.org/sandbox/dench0/2640652
this might help me view all public,open, and closed groups and those groups that I am a member of (which would include secret groups)
Comment #13
socialnicheguru commentedUgghhh there is no views relationship between a group and being a group member. See https://www.drupal.org/project/group/issues/2971683
I wanted to setup a view filter
Exposed group type:
closed, public, open
or
group type: secret
user is a member of group <- no way to get here.
Comment #14
socialnicheguru commentedComment #15
jaapjan commentedComment #16
ohorbatiukPR work in progress here:
https://github.com/goalgorilla/open_social/pull/1281
Comment #17
ohorbatiukComment #18
socialnicheguru commentedthis important feature did not make it into the 5.0 version.
Can't wait until it does. We all need secret groups
Comment #19
jaapjan commentedCorrect, unfortunately the PR is still work in progress. We are making progress though. I think we can consider this for a minor 5.x release if the impact on existing sites is not too much.
Comment #20
socialnicheguru commentedCan it be rerolled to test on 5.0?
applying the patch to 5.0 caused one minor error:
patching file modules/social_features/social_group/src/Plugin/views/field/SocialGroupViewsBulkOperationsBulkForm.php
Hunk #2 FAILED at 117.
1 out of 2 hunks FAILED -- saving rejects to file modules/social_features/social_group/src/Plugin/views/field/SocialGroupViewsBulkOperationsBulkForm.php.rej
Comment #21
socialnicheguru commentedWill this be in 5.2?
Comment #22
jaapjan commentedAfter discussion it will be in 6.0 instead since we believe it is too big for a minor release. Expected delivery in July :-) Can't wait for that release as it will make the groups in OS way more flexible!
Comment #23
ronaldtebrake commentedPR has been reviewed and merged and will land in 6.0!
Comment #24
socialnicheguru commentedWhen will 6 hit?