Estado del usuario del grupo

:information_source: Resumen Restringe la función de estado de usuario a grupos específicos
:hammer_and_wrench: Enlace al repositorio https://github.com/Lillinator/group-user-status
:open_book: Guía de instalación Cómo instalar plugins en Discourse

:woman_technologist:t2: Descripción general

Este sencillo plugin permite a los administradores del foro restringir los estados de usuario a grupos o niveles de confianza específicos.

Actualmente, el estado de usuario en el núcleo de Discourse solo se puede habilitar para todo el foro. Sin embargo, este plugin introduce un control más granular, permitiendo a los administradores designar qué grupos de usuarios pueden establecer y mostrar estados de usuario, ofreciendo mayor flexibilidad para la gestión personalizada de la comunidad.

Características

  • Permisos basados en grupos - Restringir la configuración del estado de usuario a grupos seleccionados (niveles de confianza, grupos personalizados o ambos)
  • Anulación por administrador - Los administradores siempre conservan los permisos de estado independientemente de la selección de grupos
  • Limpieza automática - Elimina los estados de los usuarios cuando pierden el permiso (por cambios de configuración o eliminación del grupo)
  • Integración de interfaz - Oculta los controles de estado a usuarios no autorizados

:gear: Instalación y configuración

  1. Sigue la guía estándar de instalación de plugins.

  2. Ve a Admin -> Todos los ajustes del sitio y busca “estado de usuario” para acceder a los ajustes administrativos relevantes.

  3. Asegúrate de que el ajuste administrativo existente Enable_user_status esté habilitado.

  4. Luego, ve al nuevo ajuste administrativo User_status_allowed_groups y selecciona los grupos que tienen permiso para usar y mostrar la función de estado de usuario.

  5. Los grupos que no estén en la lista del ajuste User_status_allowed_groups no tendrán acceso a la ventana modal de estado de usuario desde la pestaña del menú de usuario, ni desde su pestaña preferences/account (preferencias/cuenta).

  6. Si ya tienes habilitado Enable_user_status y algunos usuarios tienen establecido su estado de usuario, este plugin eliminará su estado a menos que se los añada al nuevo ajuste de inmediato.

  7. También eliminará un estado existente si un usuario se elimina de un grupo permitido ya sea a través de la ruta /admin/users/ o /admin/groups/ (o si se les permite salir del grupo por sí mismos y lo hacen).

  8. Seleccionar el pseudogrupo everyone (todos) no es diferente a dejarlo vacío por defecto o ni siquiera instalar el componente.

  9. Los administradores siempre pueden establecer y cambiar su estado independientemente de qué grupos estén seleccionados; por lo tanto, seleccionar solo el grupo admins (administradores) restringirá el uso del estado de usuario a los administradores del foro.


:wrench: Ajustes

El plugin añade un nuevo ajuste administrativo: User_status_allowed_groups, que es una lista desplegable de los grupos del foro. Se puede encontrar buscando user status (estado de usuario) en Todos los ajustes del sitio, y está listado bajo la sección Group permissions (Permisos de grupo) de la barra lateral de administración.


:briefcase: Ejemplos de casos de uso

  • Si la funcionalidad de estado de usuario solo es relevante para el personal del foro, y pueden querer mostrar un estado de usuario para el resto del foro.

  • Permitir que solo los moderadores de categoría establezcan su estado.

  • Se puede usar para prevenir el abuso (u otro uso indebido) de la función de estado de usuario por parte de grupos de usuarios con menos confianza.

  • Solo grupos especiales deberían poder mostrar su estado de usuario: por ejemplo, equipo de soporte técnico, vendedores de productos, expertos en categorías, patrocinadores, maestros del yoyo, etc.

  • Solo los administradores pueden ir a tomar un café :wink: :coffee:.


:bulb: Notas: Notificaciones e integración con el calendario

Este plugin solo afecta al estado de usuario, no a los ajustes de notificación:

  • La opción “pausar notificaciones” en la ventana modal de estado es una función independiente.
  • Si el estado de un usuario se borra con este plugin, sus notificaciones pausadas permanecen activas.
  • El indicador de notificación pausada permanece en su avatar hasta que expire la duración o lo desactiven manualmente.

Si tienes instalado el plugin Discourse Calendar:

  • Los estados de vacaciones establecidos por el plugin Calendar NO se ven afectados por este plugin.
  • Caso extremo muy raro: Si un usuario sobrescribe manualmente su estado de vacaciones y un administrador elimina su grupo de user_status_allowed_groups durante sus vacaciones programadas, el estado manual se borrará.
  • El plugin Calendar restablece automáticamente los estados de vacaciones cada 10 minutos, por lo que cualquier estado borrado se restaura en la siguiente ejecución programada.
  • Los usuarios no pueden establecer ni editar estados manualmente si no están en un grupo permitido, pero tienen actualmente un estado de vacaciones programado.

:camera_flash: Más capturas de pantalla

Capturas de pantalla del efecto de la configuración en el estado de usuario

El permiso para usar la función de estado de usuario se concede en el ajuste User_status_allowed_groups. Por ejemplo, un usuario test-pilot es TL_2 y está en el grupo purple; aquí se le permite establecer y mostrar un estado de usuario, junto con Staff y TL_4:


En cuanto se cambie el ajuste User_status_allowed_groups y se elimine el grupo purple de la configuración, la capacidad del usuario test-pilot para usar la función de estado de usuario se eliminará del menú de usuario y de su página preferences/account, y si tiene un estado de usuario establecido, se borrará en su próxima actualización de página. El mismo efecto ocurre cuando un usuario se elimina del grupo (o sale, si se le permite hacerlo).


Echa un vistazo a mis otros proyectos de Discourse
16 Me gusta

¡Buen trabajo! Y bellamente documentado. Espero probarlo.

1 me gusta

He actualizado este plugin con los nuevos ajustes granulares disallowed_groups para que no se puedan seleccionar los grupos innecesarios anonymous_users, logged_in_users y everyone. Se actualizará automáticamente la próxima vez que actualices tu instancia de Discourse.

Para más información, consulta este tema:

3 Me gusta