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.
Why not just have a special URL in the PM that, when clicked by a group owner, adds a target user to the group?
It has to be a POST request otherwise the link is vulnerable to CSRF attacks.
Ok, then a link that takes you to a confirm page?
Do we want to skip the addition tab and just add a page with the confirmation button?
My preference is to keep UI work to a minimum here and let the pm carry the UI as much as we can.
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)
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.
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…
This is pretty cool - thanks for looking into making groups better, @tgxworld!
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 requestbutton in group list and on group page
- to user approved:
leave group/rejoin groupbutton 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/rejectbutton next to each.
acceptis 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
rejectis selected by group owner, send PM with reject message (that can be personalized before sending) and change button to
request declinedto the user
- there may be a need to provide an admin/moderator feature to delete requests.
I believe there was an update a while back that only sends request PM to last 5 active owners not the whole group.
ahhh this is a regression… I’ll fix tomorrow and add a better test case
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
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!
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
Awesome Any chance you could update this thread whenever that’s implemented?
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.
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.
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.
So, to start with, this is about adding a link into the PM that gets sent to the group owner when someone requests group membership, right? The link should lead to the respective group’s page (
groups/<groupname>), open the “add members” modal and ideally also already add the new users username into the modal so that the group owner only needs to press “+ Add”.
The last bits seems to be the difficult part:
- is there a URL to navigate to the modal or would it have to be implemented as well?
- even if I can open the modal with a URL, I suppose that there is currently no way of adding a username to that URL, right?