가장 쉬운 방법은 무엇일까요?
매일 밤 실행되어 Discourse API를 사용하는 외부 스크립트를 만드는 건가요?
아니면 이미 존재하는 플러그인이 있나요?
감사합니다.
가장 쉬운 방법은 무엇일까요?
매일 밤 실행되어 Discourse API를 사용하는 외부 스크립트를 만드는 건가요?
아니면 이미 존재하는 플러그인이 있나요?
감사합니다.
지금 말씀하신 내용은 아마도 문제를 해결하는 최악의 방법일 것입니다. 한 발짝 뒤로 물러서서 문제를 정의해 보실 수 있을까요?
이 목록은 누가 관리하고 있나요? DiscourseConnect - Official Single-Sign-On for Discourse (sso)가 가능한 해결책 중 하나이지만, 다른 방법도 있을 수 있습니다.
컴퓨터 쪽 사람들의 직설적인 표현을 좋아합니다 ![]()
비공개 메일링 리스트와 그에 따른 비공개 Discourse 카테고리를 만들어 Mirroring a read-only mailing list in Discourse 를 시도해 볼까 고민 중입니다.
가장 좋은 방법은 무엇일까요? 아니면 조금이라도 더 나은 방법은요? 만약 목록에 있는 사람들이 포럼의 비공개 카테고리를 선호한다면, 그것은 Discourse에게 이득이 될 것입니다.
해당 사용자를 외부 애플리케이션에서 관리하고 있지 않다면 다음과 같은 방법을 사용할 수 있습니다:
def load_csv(path)
CSV.parse(File.read(path), headers: true)
end
def update_group
g=Group.find(43) #whatever group ID yo uwant
GroupUser.where(group_id: g.id).destroy_all
user_emails=load_csv('/path/to/file')
user_emails.each do |u|
user = User.find_by_email(u['Email'])
next unless user
puts "found user #{uid}"
GroupUser.find_or_create_by(group_id: g.id, user_id: user.id)
end
end
구체적인 구현 방식은 또 다른 문제입니다. 플러그인을 사용하는 것도 방법일 수 있습니다.
예를 들어, 해당 카테고리에 게시물을 작성하면 사용자가 자동으로 그룹에 추가되는 플러그인 같은 것 말입니다.
감사합니다.
해당 카테고리는 그룹 멤버에게만 표시되므로, 여기서는 계란과 닭의 상황이 발생하게 됩니다!
PHP에 꽤 익숙해서, Mailman 2에서 이메일 주소를 가져와(해당 Python 스크립트가 있습니다) Discourse 사용자 목록과 대조하고, 필요에 따라 관련 그룹에 Discourse 사용자를 추가하거나 제거하는 스크립트를 작성할 수 있을 것 같습니다. "아마도 가장 나쁜 해결책"이라고 하셨다는 점은 알고 있습니다…
아직 메일링 리스트 미러링도 설정하지 않았기 때문에, 아직은 아이디어 단계에 불과합니다.
네, 하지만 목록에 데이터를 다른 방식으로 가져오는 것을 생각하고 있었습니다.
또는 그룹에 요청을 허용하고 discourse가 그 요청을 처리하도록 할 수도 있습니다.
저는 PHP를 싫어해서, 당신의 해결책이 오히려 더 나빠 보일 것 같아요! ![]()
하지만 discourse API는 파악하기 꽤 쉬워서, 당신의 해결책이 당신에게 맞는 올바른 선택지라고 생각해요!
mailman에 훅(hook) 기능이 있다면, 구독자 목록이 업데이트될 때 API 호출을하도록 설정할 수 있습니다.
“… 목록을 미러링합니다”와 유사한 이름의 카테고리 설정이 도움이 될 수 있습니다.