커스텀 그룹만 사용할 수 있는 비공개 카테고리를 만들고, 해당 그룹의 멤버십을 외부 데이터베이스와 동기화할 수 있을까요?
공개 포럼에 비공개 메일링 리스트의 미러를 위한 카테고리를 만들려고 고민 중입니다. 한 쪽에 있는 모든 사람이 다른 쪽에도 있는 것은 아닙니다. 이 기능이 작동하려면, Discourse(또는 별도 스크립트)가 메일링 리스트의 현재 멤버 여부에 따라 기존 Discourse 사용자를 해당 커스텀 그룹에 추가하거나 제거해야 합니다.
방금 Discourse API 문서 페이지를 확인해 보았습니다. 사용자 목록(사용자 이름 포함)을 가져오고, 사용자 이름으로 사용자를 조회(사용자의 그룹 포함)하며, 사용자를 그룹에 추가하고, 그룹에서 사용자를 제거하는 것이 가능합니다. 정기적으로 cron 작업을 실행하여 현재 Mailman 목록 구독자만 Discourse 비공개 그룹의 멤버로 유지하는 방법을 사용할 수 있을 것 같습니다.
저는 그런 방식의 API 솔루션을 추천합니다. Mailman에서 Discourse로 데이터를 연동하는 솔루션에 대해서는 잘 알고 있지 않습니다. 만약 Mailman 서버를 직접 운영 중이라면, 구독 상태가 변경될 때 Discourse 그룹에서 사용자를 추가/제거하는 훅(hook)을 설정할 수 있지만, 매일 실행되는 크론 작업(cronjob)으로 동기화하는 방식이 훨씬 간단하고 거의 동일한 효과를 기대할 수 있습니다. 구독자 수와 이탈률에 따라 더 단순한 방식으로, 사용자가 그룹 접근을 직접 요청하게 하거나 Invite users to a group 에 안내된 방법을 활용하는 것도 가능합니다.