Históricamente ha existido un pseudogrupo confuso llamado @everyone dentro de nuestra base de código, el cual se puede utilizar para:
- Configuraciones del sitio de tipo
group_list - Permisos de categorías
- Grupos de etiquetas
En algunos casos, las personas interpretan @everyone como “todos los usuarios anónimos y todos los usuarios con sesión iniciada”, mientras que otros lo interpretan como solo “todos los usuarios con sesión iniciada”. La realidad para las configuraciones del sitio es que, en la mayoría de los casos, solo significa “todos los usuarios con sesión iniciada”.
Aún más confuso es el hecho de que este grupo @everyone pueda utilizarse en configuraciones del sitio donde no tiene sentido que “todos los anónimos y usuarios con sesión iniciada” tengan acceso a la función, como pm_tags_allowed_for_groups.
Esto también genera confusión desde la perspectiva de la gestión de flags de funcionalidades y la experiencia del desarrollador, ya que para algunos cambios futuros u otras configuraciones podríamos querer habilitarlas realmente para “todos los anónimos y usuarios con sesión iniciada”.
Solución
Estamos introduciendo dos pseudogrupos automáticos separados:
anonymous_users (ID 4)— Representa a los usuarios anónimos que visitan tu sitio sin cuentalogged_in_users (ID 5)— Representa a todos los usuarios con sesión iniciada en tu sitio, con un efecto similar al del grupo automáticotrust_level_0, pero más específico
Estos ya han sido introducidos, pero solo entrarán en vigor cuando se habilite el cambio futuro granular_anonymous_and_logged_in_groups_permissions en tu sitio.
Cuando se habilite el cambio futuro, cualquier configuración que tenga everyone como grupo seleccionado se traducirá automáticamente al ID logged_in_users, por lo que ningún dato en la tabla de configuraciones del sitio cambiará al activar el cambio futuro. Cuando el cambio futuro se vuelva permanente, realizaremos una migración de datos para todas las configuraciones de grupos para aplicar este cambio.
Además, hemos marcado anonymous_users como un disallowed_group para varias configuraciones del sitio donde no tiene sentido, por ejemplo personal_message_enabled_groups.
Los conflictos con nombres de grupos existentes se manejan automáticamente, renombrando los grupos existentes y actualizando las menciones de grupos en las publicaciones.
¿Qué pasa con los permisos de etiquetas y categorías?
Estos permisos permanecerán sin cambios, ya que su concepto de “todos” es diferente en varios aspectos y no depende del grupo automático subyacente.


