Como forçar usuários existentes a aceitarem os Termos de Serviço

There have been discussions of how to make new users accept terms of service as part of the signup process (links below). But what if you have many existing users and need them to explicitly accept the new ToS?

One option would be to create a new topic with the terms that you want them to accept and use Discourse Policy to enforce acceptance.

5 curtidas

I considered using Discourse Policy- in fact @RGJ wrote a plugin for us long ago that adds members to a group based on accepting a policy. We require that users accept the policy in order to gain access to a premium group and category. But now I need to make it so they can’t see anything until they have accepted the new ToS. I don’t see how to use Discourse Policy to do that. We have thousands of users.

1 curtida

Just make all categories accessible to the accepted-the-tos group only?

4 curtidas

Yes, I guess that would work. So in every category’s permissions, replace “everyone” with “accepted-the-tos” group. (Except for the ToS category or some way to find it.)

3 curtidas

On that note, you can hide categories but offer a preview using Category Previews.

3 curtidas

Just to close the loop for any future visitors, using Policy with Discourse’s built-in ToS doesn’t work. So you would need to create a new topic like “My Other ToS” and use Policy on that.

1 curtida

To require acceptance of a terms-of-service, use a required custom user field.

When defining a user field, you can select “Field Requirement” as “For all users”. When you do so, all new and existing users will be prompted to fill the custom field.

5 curtidas