I’m setting up my forum and I’ve used Discourse as a user a few times but obviously setting it up is entirely a new thing.
I’m going to build a closed community but I want people to come in and both read the guidelines and react, but also do an introduction post of themselves before they unlock the main forum. Prior to this they will have applied to be in the group so that’s not really the issue. I just want to make sure they have introduced themselves and read the rules.
For the Guidelines I pretty much am going to have to make a post for it so they can react, which is fine. I can unlock the Introductions area so they can do a new post but I’m going to have to manually review when they do the post and make sure they have liked the Guideline post before upgrading their trust level manually.
I started looking at the trust levels and I could in theory make a trust level two that they would like to get up there but then I still have the post issue so I couldn’t find a clean way to do this automated. So I thought I’d see if anyone knows of a plug-in or something I’m missing on a way to recreate this or another way that makes sense.
Of course there are other options. When they apply and get approved they have to do something else outside the forum to agree to the rules but just trying to see if there’s something built in to handle it all.
I did search to see if I could find something but maybe I’m doing it wrong or maybe there’s nothing out there.
Thanks in advance for any help.
1 Like
Accepting the guidelines can be accomplished using the policy plugin: Discourse Policy
You’d add an “I accept these guidelines” policy at the bottom of the relevant guidelines topic, and when the policy is accepted it can add users to a group you create, for example: accepted_guidelines
You can then set up categories so that only members of the accepted_guidelines group can post there.
Making an introduction post is a little trickier… I don’t think we have a way to control group membership based on where someone’s posted. One workaround I can think of is using Discourse Automation.
We have a script there called User Group Membership through Badge — you could require people to include an emoji in their introduction post… which would then award the “first emoji” badge and have the automation add them to a posted_introduction group.
It’s a little more advanced, but you could create a special badge for posting an introduction, and then set up the automation to use that for group membership. Some more info here: Creating triggered custom badge queries
A badge query for a post in a specific topic would look something like this:
SELECT p.user_id, min(p.created_at) granted_at, MIN(p.id) post_id
FROM badge_posts p
WHERE p.topic_id = TOPIC-ID-HERE
AND (:backfill OR p.id IN (:post_ids))
GROUP BY p.user_id
1 Like
Thanks. I think I will look at that Discourse policy plug-in and then for the post I think I’m going to leave it just manual because that way I can not only see their post but make sure it’s what I really want out of the post. It’s not some kind of spam post just to get in quick. I appreciate the help.
1 Like