Probably the biggest advantage to Facebook is it’s ability to use a Facebook profile as a proxy of trust. Basically, you can gague how likely a person is to be a spammy jerk by:
How many friends they have
The other groups they’re a part of
Their geographical location
(hardcore mode) Getting them to fill out a form with basic questions
Is filling out a form as part of new user joining possible to implement in Discourse to accomplish the same thing? I think this might be possible by customizing the profile creation form?
Making users set up their email settings once accepted
Given I want people to get email notifications based off their geographical location, is it possible to make this part of their account creation process? For example, so that a person who lives in Waterloo isn’t subscribed to the event notifications from Tokyo and Taipei. I’m afraid of users being unable to figure out the category-specific email settings on their own. Also, I’d rather not have to make a how-to and make them read it.
This does not really address all of your issues, but if you are concerned about filtering incoming users, then one of the many options is to disable local registration and only use Facebook / Twitter login.
This way you can still use Facebook as a proxy of trust.
Extreme? yes, but still possible, so I wanted to point it out.
With that being said, Discourse has some awesome anti-spam features built in, so you might end up being pleasantly surprised.
Discourse does a bunch of stuff to keep you from having to worry about spammy jerks. It does this by giving them limited access to start and requiring them to do stuff like read and interact with the site before gaining more privileges. Rather than guessing whether someone is a jerk based on some incomplete information, it bases the decision on their actual behavior.
You can manage people’s access to particular categories by having them join groups (which control access to categories). You can manage groups manually or by allowing people to request membership. You can assign anyone (not just admins and moderators) as a group owner to distribute the work of vetting people’s right to join a group.
There are some example plugins that will assign people to watch certain categories (and get event notifications) depending on their group, though these require modifying the plugin.
It looks like it hasn’t been mentioned yet: Discourse supports custom user fields, and they can be added to the registration page and required if wanted. Users can also require admin approval after registering before being given access, so that admins can review the form responses.
That said, I know very few sites that add mandatory fields to the registration page, and even fewer that use them to approve users joining. As Jay said Discourse does lots of stuff to protect you from spam. Registration flow changes should not be required.
Probably the easiest way to do this is to require a user field that has users select their geographic region. Then you can sort them into groups based on this response.
I’ve done this on our instance, but we are left with an irritating (albeit relatively minor) problem: the user fields in the /review page are not ordered nicely as per @eviltrout’s good work in Custom User Field Enhancements . This means that the relevant info to decide or is buried for our moderators/admins.
It could be that we could just hack this for our instance (main admin is @pacharanero), but I suspect that this is actually an issue for any Discourse instances that mandate data entry on joining in order to decide / control who should join.
Hey @markvanlan this might be a little one that would help you familiarise yourself with the front end of the review queue a bit. Can you add it to your list? Thanks.
Looks great! It is a vast improvement on a small but important little feature.
@eviltrout - your team’s responsiveness is amazing. It is such a powerful thing for someone like me to be listened to; it communicates how highly you value little punters like me!!!