¿Sería posible crear una categoría privada accesible solo para un grupo personalizado y sincronizar la membresía de ese grupo con una base de datos externa?
Estoy considerando crear una categoría en un foro público que sirva como espejo de una lista de correo privada. No todas las personas que están en una estarán en la otra. Para que esto funcione, Discourse (o un script separado) tendría que agregar y eliminar usuarios existentes de Discourse en y desde el grupo personalizado, en función de quién sea miembro de la lista de correo en un momento dado.
En ese caso, necesitaría instalar WordPress únicamente como puente entre Mailman y Discourse. Estoy seguro de que podría sincronizar los usuarios entre Mailman y WordPress. Pero sería usar un martillo para matar una mosca.
Acabo de revisar la página de documentación de la API de Discourse. Es posible obtener una lista de usuarios (que incluye los nombres de usuario), obtener un usuario por nombre de usuario (que incluye los grupos del usuario), agregar un usuario a un grupo y eliminar un usuario de un grupo. Supongo que podría ejecutar un trabajo cron regularmente para asegurar que solo los suscriptores actuales de la lista de Mailman sean miembros del grupo privado de Discourse.
Una solución API como esa es lo que yo recomendaría. No conozco ninguna solución específica de Mailman a Discourse. Si estás ejecutando el servidor de Mailman, podrías añadir allí hooks para agregar o eliminar personas del grupo de Discourse cuando cambie el estado de su suscripción, pero probablemente sea más fácil y casi tan efectivo un trabajo cron diario que los sincronice. Dependiendo de la cantidad de suscriptores y la tasa de rotación, también podrías optar por algo aún más sencillo y simplemente permitir que las personas soliciten acceso al grupo o utilizar Invite users to a group.