Thanks for building and sharing this. I wonder how to scope anonymous users? Tried anonymous, anon, and everyone, but no one reaches them.
I want to display some categories for everyone (anonymous) users but not specific automated groups. The Category Lockdown plugin is the closest to it that I had found.
That would not make sense from a functional point of view, a user that belongs to that group could simply log out and see the category anyway.
From a technical point of view it is impossible, if a category is accessible to everyone, Discourse sets the read_restricted flag to false and all access mechanisms are bypassed.
From this plugins perspective, the closest you can get is NOT excluded_group (which is the same as trust_level_0 AND NOT excluded_group). But an anonymous user cannot be in a group, so no.
Of course I thought about it and understood that very likely for that reason the functionality is not active today. And I also clearly understand that the limitation would not be hard but soft.
The intention is to limit users who maintain a very low conversation ratio, with their reading ratio being 5 or 10 times broader. A badges and user title that marks them and an exit path explained in a simple way can “wake them up”.
I also know that it is common on the Internet for 90/97% to unintentionally fall into the group of lurkers, although I also know that this mechanism can motivate them, because they would be enabled to reply and contribute in other forums through a simple exit —providing three accepted answers as solutions— and not in the categories with the most traffic.
Technically, something similar is what supports peer-to-peer exchange in networks like Torrent, which have been functioning among us for more than a decade.
It is an experiment I would like to try, especially after seeing that the cheer points awarded are almost overwhelmingly granted based on reading time rather than contributions.
I think it’s something interesting to discuss; maybe this can be achieved with simple adjustments to the Discourse core.