Better flow for group membership requests

pr-welcome

(Alan Tan) #1

Continuing the discussion from New members can't request to join a group:

Currently, a group membership requests is done via a PM but that requires a group owner to navigate to the group membership page and manually add the user in. I would like to add another tab in the group page that allows group owners/admins to manage those requests. I’ll probably want to store group membership requests in the custom fields and expire those requests after 7 days for example. When a new request is received, we’ll publish a notification to all group owners.

@tobiaseigen @anon2041049 @scombs @jomaxro Let me know if there are any use cases that you’ll like me to cover as well since you guys manage groups on a daily basis :slight_smile:

Related Topic: Group owner cannot send an invite to a group


#2

That’s a great idea @tgxworld. I think the notifications, tab and expiry all sound very sensible and I look forward to seeing this in action.


(Jeff Atwood) #3

Why not just have a special URL in the PM that, when clicked by a group owner, adds a target user to the group?


(Alan Tan) #4

It has to be a POST request otherwise the link is vulnerable to CSRF attacks.


(Jeff Atwood) #5

Ok, then a link that takes you to a confirm page?


(Alan Tan) #6

Do we want to skip the addition tab and just add a page with the confirmation button?


(Jeff Atwood) #7

My preference is to keep UI work to a minimum here and let the pm carry the UI as much as we can.


(Steve Combs) #8

My initial thoughts on PM approach:

  • Allow user to request group membership from groups page or individual group page via join button (as currently implemented)
  • Send request PM in background
  • Change button text for requestor to “Request Pending”
  • Exclude requestor from PM (or would need to allow TL0 permission to send; hide PM dialogue)
  • Send request PM to all owners
  • Include link to an Approval Page in request PM (include all pending requests on page)
  • Upon owner action for the request, send welcome/declined PM to requestor and owners (with default PM text for approval PM and for declined PM which can each be customized by sender at time of sending)

(Joshua Rosenfeld) #9

Here are my thoughts:

I don’t really like the idea of having the requests sit in a PM, for a couple of reasons.

  • Only group owners are easily able to deal with the request.
  • PMs can be hard to search, especially if the group mailbox is used for other purposes.
  • No easy history log - any replies after approving (or denying) the request change the topic timestamp.

I’d much prefer to see the UI stolen from the flags system. Have requests on one tab, with buttons for “approve” and “deny”. Clicking either would open the PM composer with default approve/deny text, and chance to edit. Any approval or denials will go to the “history” section, where it can quickly and easily be seen who approved or denied the request and when.


(Christoph) #10

In that model I’d say it’s important to also have a third button “contact user” which opens a PM addressed to the user so that I can ask that user for any information I might need to make my decision. A “feature” that you get for free in the PM model…


(Tobias Eigen) #11

This is pretty cool - thanks for looking into making groups better, @tgxworld! :seedling:

Generally, I’m still downplaying groups in my community because people continue to get confused by what it means to be watching categories (containing topics/discussions) vs joining groups (containing people/can be mentioned to alert them to topics about them or that they should respond to).

That said, I’ve been experimenting with a few groups that people can join to express their affiliation (e.g. people into the Open Government Partnership), but have not really seen it gain traction yet. I have not had any groups that people are required to request and get approval to join because the current functionality sends the request to all group members which doesn’t work for us. We don’t want to spam our users who are in the groups already, and we don’t like how group messaging works right now generally and avoid using it. For our purposes, it should only go to the group owner (or owners).

I’m actually ok with the PM approach as it functions now. It’s not really a burden on group owners to click across and add the users individually unless they start getting too many requests in which case maybe they need to rethink how they use groups.

Here are some ideas for improving the PM approach:

  • I see there’s a 24 hour limit on multiple requests to join - that’s a reasonable compromise but I think it would be better to just prevent users from requesting again by greying out the button, or if clicking again just takes you to your previously sent PM requesting access.
  • the PM is created and submitted automatically. I think it would be preferable to let the user edit the message before sending, in order to explain why they want to join and maybe ask any questions about the group.
  • as I wrote above, the request to join the group is sent to all members as a group PM. That doesn’t work for my community. The request should go to the group owners only.

If you were to create specific functionality for this, here are some ideas on how it might function:

  • to user not in group: display request membership/cancel request button in group list and on group page
  • to user approved: leave group/rejoin group button in group list and on group page
  • to user rejected: request declined (greyed out) button in group list and on group page
  • group owner notification when user requests access, linking to the group members list
  • group owner sees list of pending users at the top of the group members list, with an accept/reject button next to each.
  • if accept is selected by group owner, send PM with welcome message (that can be personalized before sending), add user to the group and change button the user sees to leave group
  • if reject is selected by group owner, send PM with reject message (that can be personalized before sending) and change button to request declined to the user
  • there may be a need to provide an admin/moderator feature to delete requests.

Have fun! :sunny:


Categories vs. Groups?
(Steve Combs) #12

I believe there was an update a while back that only sends request PM to last 5 active owners not the whole group.


(Alan Tan) #13

ahhh this is a regression… I’ll fix tomorrow and add a better test case


(Steve Combs) #14

This could be accomplished by clicking on the user avatar from the request pm or approval page then message button. I suppose an extra button doesnt hurt though.

If admin can act on the Approval page/tab, that would solve certaint aspects of the “hidden in the PMs” issue and owner/admin maintenance issues.

I think the expiration period should be longer than 7 days. More like 30 or configurable or just go with a delete option. Seems like a built in fail point. Would an owner/user be notified on expiration?

Actions are logged for each group action and can be viewed by owners on the group page. Could enhance that logging detail. Not sure there would be a lot of conversation during or after the accept/reject phase. If there was, seems like PMs are ok for that.

I might be missing the more complex use cases. I would rather see more cool group features like

  • user search box on the group page
  • My Groups tab on profile instead of slugs
  • Group Activity tab on groups page with only topics from private categories for the group not topics of users

(Sunny T) #15

Has this gone anywhere at all?

My use case:

We have virtual ‘masterminds’ around various business topics (ie. Real Estate Investing). Each mastermind has a leader or two who will be running the group, and any user interested in the topic can request to join the mastermind. Accepted users then get access to their private mastermind category.

While each mastermind will certainly be a smaller subset of total forum users, at least “tens” of people will be requesting to join each one. Right now, where the group owner has to open a new tab and manually add the requesting user, adds plenty of unnecessary burden. I’m also not confident that each group owner will always remember the steps involved.

Curious to hear if a more user-friendly approach is being developed or not. Thanks!


(Alan Tan) #17

Since we want to make use of the PMs as much as possible, we can append a link to the PM which will make it easier to add a user to a group


(Sunny T) #18

Awesome :slight_smile: Any chance you could update this thread whenever that’s implemented?


(Sam Saffron) #19

I am putting #pr-welcome on this, I would like to improve usability of adding users to a group after a mod gets a membership request.

Whoever wants to work on this, please provide some visual mockups on how you would like it to work.


(Kyle Lasky) #20

Just want to voice another need for this functionality! I’d say it’s critical for the community I’ve recently set up. With a number of private groups and a steady flow of membership requests, mods need an easy “approve” button. It’s too much to ask them to manually enter the users in.


(Darren) #21

The Facebook way seems to work well.

  • User requests to join a group
  • All admins receive a notification
  • Any admin who clicks on the notification gets shown a list of pending requests and can approve or deny them.

Rather than use a PM, it would be better to use a notification and the admin can select if they want that kind of notification emailed to them.

At the moment discourse groups are not useable by non technical (or even some technical ones) so this does really need looking at for groups to become more useful.