¿Cuál sería la forma más sencilla de hacer esto?
¿Un script externo que se ejecute cada noche y utilice la API de Discourse?
¿O existe ya un plugin?
Gracias.
¿Cuál sería la forma más sencilla de hacer esto?
¿Un script externo que se ejecute cada noche y utilice la API de Discourse?
¿O existe ya un plugin?
Gracias.
Estás describiendo probablemente la peor solución a tu problema. ¿Podrías dar un paso atrás y definir el problema?
¿Qué se encarga de mantener la lista? DiscourseConnect - Single Sign-On oficial para Discourse (sso) es una solución probable, aunque podría haber otras.
Me encanta la franqueza de la gente de informática ![]()
Estaba pensando en probar Mirroring a read-only mailing list in Discourse con una lista de correo privada y, por lo tanto, una categoría privada en Discourse.
¿Cuál sería la mejor manera? ¿O incluso una forma ligeramente mejor? Si las personas en la lista prefieren la categoría privada del foro, entonces es una victoria para Discourse.
Si no tienes esos usuarios gestionados en alguna aplicación externa, podrías hacer algo como esto:
def load_csv(path)
CSV.parse(File.read(path), headers: true)
end
def update_group
g=Group.find(43) # el ID del grupo que quieras
GroupUser.where(group_id: g.id).destroy_all
user_emails=load_csv('/ruta/al/archivo')
user_emails.each do |u|
user = User.find_by_email(u['Email'])
next unless user
puts "usuario encontrado #{uid}"
GroupUser.find_or_create_by(group_id: g.id, user_id: user.id)
end
end
Solo cómo hacerlo es otro asunto por completo. Quizás un plugin.
¿Quizás un plugin que añada automáticamente a un usuario al grupo si publica en la categoría?
Gracias por esto.
La categoría solo sería visible para los miembros del grupo, ¡así que nos encontraríamos con un problema de huevo y gallina!
Estoy bastante acostumbrado a PHP, así que creo que podría escribir un script que extraiga las direcciones de correo electrónico de Mailman 2 (tiene un script en Python para eso) y las verifique contra la lista de usuarios de Discourse, agregando o eliminando usuarios de Discourse del grupo correspondiente según corresponda. Sé que dijiste que esta es “probablemente la peor solución”…
Aún no he configurado el espejo de la lista de correo, así que por ahora son solo ideas.
Sí, pero estaba pensando que importarías los datos a la lista de alguna otra manera.
También podrías configurar el grupo para que permita solicitudes y dejar que Discourse las gestione.
¡Odio PHP, así que tu solución suena cada vez peor! ![]()
Pero la API de Discourse es bastante fácil de entender, así que creo que tu solución suena como la opción correcta para ti.
Si Mailman tiene ganchos (hooks), podrías configurarlo para que realice llamadas a la API cuando actualice la lista de suscriptores.
Hay una configuración de categoría llamada algo como “… refleja una lista” que también podría ser útil.