Houve um pseudogrupo historicamente confuso chamado @everyone em nossa base de código, que pode ser usado para:
- Configurações do site do tipo
group_list - Permissões de categoria
- Grupos de tags
Em alguns casos, as pessoas interpretam @everyone como “todos os usuários anônimos e todos os usuários logados”, enquanto outras entendem que significa apenas “todos os usuários logados”. Na realidade, para configurações do site, na maioria dos casos, isso significa apenas “todos os usuários logados”.
Ainda mais confuso é o fato de que esse grupo @everyone pode ser usado em configurações do site onde não faz sentido que “todos os usuários anônimos e logados” tenham acesso ao recurso, como em pm_tags_allowed_for_groups.
Isso também gera confusão do ponto de vista de sinalização de recursos e experiência do desenvolvedor, pois para algumas mudanças futuras ou outras configurações, podemos realmente querer habilitá-las para “todos os usuários anônimos e logados”.
Solução
Estamos introduzindo dois pseudogrupos automáticos separados:
anonymous_users (ID 4)— Representa usuários anônimos que visitam seu site sem contalogged_in_users (ID 5)— Representa todos os usuários logados em seu site, com efeito semelhante ao grupo automáticotrust_level_0, mas mais específico
Esses grupos já foram introduzidos, mas só entrarão em vigor quando a mudança futura granular_anonymous_and_logged_in_groups_permissions for habilitada em seu site.
Quando a mudança futura for habilitada, qualquer configuração com everyone como grupo selecionado será automaticamente traduzida para o ID logged_in_users, de modo que nenhum dado na tabela de configurações do site será alterado ao alternar a mudança futura. Quando a mudança futura se tornar permanente, realizaremos uma migração de dados para todas as configurações de grupo para aplicar essa alteração.
Além disso, marcamos anonymous_users como um disallowed_group para várias configurações do site onde não faz sentido, como personal_message_enabled_groups.
Conflitos com nomes de grupos existentes são tratados automaticamente, renomeando os grupos existentes e atualizando as menções de grupo nos posts.
E quanto às permissões de tags e categorias?
Essas permissões permanecerão inalteradas, pois o conceito de “todos” nelas difere de algumas maneiras e não depende do grupo automático subjacente.


