Qual seria a maneira mais fácil de fazer isso?
Um script externo que roda todas as noites e usa a API do Discourse?
Ou já existe um plugin que faça isso?
Obrigado.
Qual seria a maneira mais fácil de fazer isso?
Um script externo que roda todas as noites e usa a API do Discourse?
Ou já existe um plugin que faça isso?
Obrigado.
Você está descrevendo provavelmente a pior solução para o seu problema. Pode dar um passo para trás e definir o problema?
O que está mantendo a lista? DiscourseConnect - Single Sign-On oficial para Discourse (sso) é uma solução provável, embora possam existir outras.
Adoro a franqueza das pessoas de computação ![]()
Estava pensando em experimentar Mirroring a read-only mailing list in Discourse com uma lista de e-mails privada e, portanto, uma categoria privada no Discourse.
Qual seria a melhor maneira? Ou até mesmo uma maneira um pouco melhor? Se as pessoas na lista preferirem a categoria privada do fórum, então é uma vitória para o Discourse.
Se você não tiver esses usuários gerenciados em algum aplicativo externo, pode fazer algo assim:
def load_csv(path)
CSV.parse(File.read(path), headers: true)
end
def update_group
g=Group.find(43) # qualquer ID de grupo que você deseje
GroupUser.where(group_id: g.id).destroy_all
user_emails=load_csv('/caminho/para/o/arquivo')
user_emails.each do |u|
user = User.find_by_email(u['Email'])
next unless user
puts "usuário encontrado #{uid}"
GroupUser.find_or_create_by(group_id: g.id, user_id: user.id)
end
end
Apenas como fazer isso é uma questão completamente diferente. Talvez um plugin.
Talvez um plugin que adicione automaticamente um usuário ao grupo se ele postar na categoria?
Obrigado por isso.
A categoria só seria visível para membros do grupo, então teríamos um cenário de “ovo e galinha” aqui!
Estou bastante familiarizado com PHP, então acho que poderia escrever um script que pegue os endereços de e-mail do Mailman 2 (que possui um script Python para isso) e os verifique na lista de usuários do Discourse, adicionando ou removendo usuários do Discourse do grupo relevante conforme necessário. Sei que você disse que isso é “provavelmente a pior solução”…
Ainda nem configurei o espelho da lista de e-mails, então essas são apenas ideias até agora.
Sim, mas eu estava pensando que você estaria importando dados para a lista de alguma outra maneira.
Você também poderia permitir que o grupo recebesse solicitações e deixar que o Discourse lidasse com isso.
Eu odeio PHP, então sua solução está soando pior! ![]()
Mas a API do Discourse é bem fácil de entender, então acho que sua solução está parecendo a certa para você!
Se o Mailman tiver ganchos, você poderia configurá-lo para fazer chamadas à API quando atualizar a lista de assinantes.
Existe uma configuração de categoria chamada algo como ‘… Espelha uma lista’ que também pode ser útil.