Most of our forum is pretty general. However, one part is a “forum game”. If you get caught cheating, you get banned from playing. However, we can’t actually ban them from that specific category … or can we? It’s getting hard to moderate.
EDIT: A workaround, I made a group to store the people suspended from a certain category. However, it would be great if I could natively ban people from certain categories (with the see/create/reply permission options).
I think the only way to do this would be to create a group that includes everyone who is allowed to be in the category.
It would be nice to have a negative category permission available on category security settings, e.g. “Cannot create/reply/see”. But that does not exist now.
Desculpe pela necrofilia, mas este é o principal resultado ao pesquisar e outros tópicos (linkados abaixo) estão ou fechados ou não são tão claros em relação à pergunta.
Isso parece bastante lógico, mas digamos que sua instância tenha 5 mil usuários, você tem que adicioná-los todos manualmente? E continuar atualizando sempre que um novo usuário entra? Não tenho certeza se existe algum “código secreto” como “@todos” ao adicionar usuários a um grupo, não parece.
Certo. Não há uma boa maneira de banir alguém de uma categoria. Isso não acontece com frequência. Geralmente, se você quiser banir alguém, é de todos os lugares. Você poderia, no console do Rails, adicionar todos a um grupo e depois remover a pessoa, mas seria doloroso.
Você poderia ter um plugin que adicionasse todos a um grupo e, em seguida, tivesse uma configuração do site de usuários que você deseja que não estejam nesse grupo.
Eu também adoraria ver isso. Nós também temos uma situação semelhante.
Temos algumas categorias restritas a certos grupos.
Mas também precisamos ser capazes de excluir certas pessoas delas.
Ter associação negativa de categoria funcionaria. Mas eu acho que uma solução mais poderosa e flexível seria ter grupos automáticos definidos pelo usuário (como staff é hoje). Esses grupos poderiam suportar operações de conjunto básicas para determinar a associação.
Por exemplo, com este recurso, staff não precisaria ser um caso especial, mas poderia ser apenas admin + moderators. O fato de este grupo automático ter sido criado é realmente uma forte indicação de que este recurso é útil e deve ser estendido para um recurso geral, em vez de ser embutido.
Com isso, você poderia implementar a exclusão negativa tendo um grupo HasAccess = AccessGroup - BannedGroup.
Esses grupos automáticos também seriam muito úteis para outros casos de uso. Por exemplo:
Incrementando Patentes
Atualmente, temos alguns fóruns bloqueados que basicamente abrangem círculos menores de pessoas. Algo como:
Admin = Admin
Moderators = Admin + Moderators
BetaTeam = Admin + Moderators + Beta
Trusted = Admin + Moderators + Beta + Trusted
Precisar aplicar a lista correta de grupos a cada categoria é tedioso e propenso a erros. Tivemos muitos casos em que um grupo estava faltando em uma categoria à qual deveria ter tido acesso. Poder definir grupos como este tornaria isso muito mais fácil de gerenciar:
ModeratorsOrHigher = Admin + Moderators (isso é embutido como o grupo automático staff)
BetaOrHigher = ModeratorsOrHigher + Beta
TrustedOrHigher = BetaOrHigher + Trusted
Grupos Comuns
Também é comum termos várias categorias que têm exatamente o mesmo conjunto de regras de acesso. Este é basicamente um caso mais simples do que o acima, mas seria bom poder criar apenas um grupo automático e usá-lo várias vezes, em vez de precisar repetir toda a lista de grupos e mantê-la sincronizada em várias categorias.