[buddypress-trac] [BuddyPress Trac] #6843: Activity @mentions in private groups for non members
noreply at wordpress.org
Fri Jan 29 04:47:31 UTC 2016
#6843: Activity @mentions in private groups for non members
Reporter: timeuser | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: 2.5
Component: Component - Activity | Version: 2.4.0
Severity: normal | Resolution:
Comment (by r-a-y):
> There are other reasons users @mention someone than to let them know.
Users @mention somone just to discuss them with other private group
members, so there is a link to the @mentioned user.
I agree with @dontdream here.
If you are using at-mentions, you are intending to let the mentioned user
know of that particular piece of content.
That being said, at-mentions from private content should not show up in
There are primarily two places where at-mentions are filtered in the
1. Activity Directory: Click on the "Mentions" tab.
2. User Profile page: Click on the "Activity > Mentions" tab.
(example.com/members/USER/activity/mentions/). (Personally, I would love
to remove this page or make it so this page is only accessible if
`bp_is_my_profile()` is true.)
Our current method for querying at-mention content is by doing a text
search for `@USERNAME<`, which is all kinds of ugly.
Perhaps, when an activity item has an @-mention, we record an activity
meta item with `'bp_mentioned_user'` as key and user ID as the value. We
would only add this meta key if it passes all privacy checks such as group
privacy and group membership.
Then, when pulling up a user's activity mentions we do an activity meta
query for the mentions activity scope.
The positives with this is we do not have to do another query, but the
negative is we would definitely need a backfill routine. An upgrader as
described in #6841 would be a great example usecase. In the case of the
Groups component, we would also have to watch for group membership status
and group privavy changes. We would also have to make a displayed user's
"Activity > Mentions" page accessible only for the logged-in user as
If this is too much, we could roll with @boonebgorges'
`$user_private_groups` idea as well, but Boone's point about the number of
groups is a potential problem.
> It should be noted that any solution to this specific problem would be
part of the larger question of activity stream privacy.
I was thinking we would tack on activity scopes as needed (member
blocking, for example). But, this can complicate the SQL query immensely
if other plugins tacked on their activity scopes.
I don't want to go too far off-topic here, but the question is how
granular do we want activity privacy to be? Twitter's is relatively
simple, but if we move (closer) towards a Facebook model (per-activity
privacy with options such as "My Groups Only", "Friends of friends",
etc.), the activity SQL query will become more complex and slower.
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/6843#comment:12>
BuddyPress Trac <http://buddypress.org/>
More information about the buddypress-trac