유저가 그룹을 나갔을 때 카테고리를 자동으로 음소거하는 방법?

디스커스 팀 및 커뮤니티 여러분,

사용자가 그룹을 나갈 때 해당 카테고리를 자동으로 음소거(mute)하는 방법을 찾고 있습니다.

:rocket: 달성하고 싶은 목표

  • 사용자가 그룹에 가입하면, 해당 그룹과 관련된 카테고리를 **트랙(track)**합니다. (이것은 Group Category Notification Default을 통해 작동합니다. [:white_check_mark: 이미 Custom Wizard 플러그인을 사용하여 구현했습니다]) * 사용자가 그룹을 나가면, 관련 카테고리가 자동으로 음소거되어 더 이상 알림이나 이메일 다이제스트를 받지 않도록 합니다.
  • 이상적으로는 수동 개입 없이 완전히 자동화되기를 바랍니다.

:red_question_mark: 질문

:one: 사용자가 그룹을 나갈 때 카테고리를 음소거하는 내장 기능(코딩이나 API 호출 없이)이 있나요?
:two: 디스커스 자동화(Automations) 플러그인에서 "사용자가 그룹을 나감"을 트리거로 추가하는 것이 가능할까요?
:three: 관리자의 수동 개입이 필요 없는 우회 방법이 있을까요?

다른 분들이 이 시나리오를 어떻게 처리했는지, 또는 이 기능을 추가하기 위한 기능 요청(feature request)이 진행 중인지 궁금합니다.

미리 감사드립니다! :raising_hands:

해당 그룹에 카테고리가 허용되어 있다면, 그 그룹을 나간 후에는 접근 권한이 없으므로 무언가를 음소거할 필요가 없습니다.

@Jagster 감사합니다.
네, 그룹을 나가면 더 이상 접근할 수 없다는 점은 인지하고 있습니다.
하지만 여전히 사용자 측에 해당 카테고리가 표시되고 있으며, 최신 게시글 탭에도 최신 게시글이 나타납니다.

저는 해당 카테고리를 음소거하여 거기서 표시되지 않도록 하려는 것입니다.
이 시나리오에 대한 자동화된 프로세스를 찾고 있습니다.

그런 일이 일어나서는 안 됩니다. 해당 카테고리는 그룹만 접근할 수 있는 보안 카테고리인가요?

아니요, 카테고리는 모든 사람이 볼 수 있도록 접근 권한이 있습니다.
공개 그룹에서 이렇게 하려고 했습니다.

아마도 커스텀 자동화(Custom Automation)가 필요할 것 같습니다.

다만, 그룹 설정에 이런 아이디어를 토글 형태로 추가하면 좋을 것 같습니다. 그룹을 나갈 때, 그룹에 추가되었을 때 원래 변경(부여)되었던 특정 항목을 되돌리거나 음소거할 수 있도록 말이죠.

확실하지는 않지만, 자동 트리거가 가능하거나 자동화와 페어링할 수 있다면 커스텀 위자드를 사용할 수도 있을 것 같습니다. Pavilion에 확인해 보시는 게 좋겠습니다.

이 논리가 이해되지 않습니다.

  • 랜덤한 방문자는 카테고리 X를 확인하며, /latest에서도 이를 볼 수 있습니다.
  • 사용자가 로그인하여 그룹 X의 멤버가 아니지만, 카테고리 X를 확인하고 /latest에 표시됩니다.
  • 사용자가 그룹 X에 가입하면 모든 권한을 얻습니다(이것이 그룹의 목적인가요?).
  • 사용자가 그룹 X에서 나간 후에도 카테고리 X를 볼 수 있지만, /latest에는 표시되지 않습니다.

왜 그런 걸까요 :thinking:

정말 카테고리를 *음소거(mute)*하고 싶은 건지, 아니면 단순히 알림을 “정상(normal)” 상태로 되돌리고 싶은 건가요?

후자라면, 이는 실제로 Contribute > Bug(또는 더 정확히 말하면, 이 사용 사례에는 적합하지 않지만 그럴 것 같다는 직감이 드는 구현 문제)라고 할 수 있습니다.

그룹 X를 카테고리 Y를 감시(watch)하도록 설정하고 해당 그룹의 멤버가 되면, 실제로 자동으로 카테고리 Y를 감시하게 됩니다. 카테고리 Y는 제 “감시 중(watching)” 카테고리에 복사됩니다. 어떻게 그렇게 되었는지에 대한 흔적은 없으며, 제가 이전에 직접 추가한 것인지, 아니면 그룹 멤버십 때문에 추가된 것인지 알 수 없습니다.

그룹 X에서 탈퇴하면 여전히 카테고리 Y를 감시하게 됩니다. 예상과 달리, 해당 카테고리는 제 “감시 중” 카테고리에서 제거되지 않습니다.

이 구현 방식을 변경하는 것은 상당한 노력이 필요하므로, 현재로서는 플러그인으로 해결하는 것이 적절할 것 같습니다. 그룹에서 제거될 때 :user_removed_from_group 이벤트를 트리거로 사용하여, 해당 카테고리를 가져온 후 사용자 설정에서 제거하는 로직을 구현하면 됩니다.

코어 지원 없이 구현될 가능성이 있다고 보시는지요?

알림 수준에 대한 사용자 개입을 추적하는 데 사용할 수 있는 메커니즘이 이미 구현되어 있습니까?

제가 아는 한, 아닙니다.

@Jagster 감사합니다.
실제로 저는 대형 포럼에 이를 구현하고 싶습니다. 저는 단순히 장소를 깔끔하게 유지하고, 모든 사용자가 자신의 그룹 선택에 따라 주제들을 볼 수 있기를 원합니다.

알겠습니다. Pavilion에 확인해 보겠습니다.

저는 음소화를 원했지만, 이 경우에는 정상 설정도 괜찮습니다.

이 접근 방식에 동의합니다. 기존 이진적 접근/비접근 방식보다 덜 경직된 방식이죠.

정보를 찾아보는 사람들에게는 자유롭게 접근할 수 있게 하되, 특정 소수의 사람들에게만 매우 눈에 띄게 표시하거나 알림을 보내는 것이 종종 유용합니다. Discourse에서는 이를 시작하는 것은 꽤 쉽지만, 되돌리는 것은 어렵습니다. 저는 이것이 여러분이 하려는 일이라고 생각합니다.

물론 사용자들도 직접 이렇게 할 수 있지만, 일반적으로 그 부분에서는 큰 도움이 되지 못합니다.

불행히도, Custom Wizard Plugin 🧙 와 같은 플러그인은 이러한 작업을 시작하려면 사용자 상호작용이 필요합니다. 더 이상 특정 그룹에 속하지 않는 사용자의 관찰(watching) 상태를 제거하려면 자동화(아마도 맞춤 제작된 것)가 필요할 것입니다.

또는 핵심 동작을 변경하기 위해 기능 요청을 해야 합니다. 이 방향으로 이미 몇 가지 기능 요청이 있습니다.

여러분 안녕하세요,

답변해 주신 모든 분들께 진심으로 감사드립니다. 특히 @Jagster, @NateDhaliwal, @Heliosurge, @thoka, @nathank 님께는 유용한 통찰을 주셔서 감사합니다! 곰곰이 생각해 본 결과, 사용자가 그룹에서 이탈할 때 해당 카테고리가 자동으로 음소거되는 옵션을 정말로 도입해 보고 싶습니다.

혹시 이 기능을 Discourse에 공식적으로 요청하는 가장 좋은 방법은 무엇일까요? 기능 요청 사항을 제출할 수 있는 특정 곳이 있는지, 아니면 논의를 통해 먼저 발판을 마련하는 것이 더 나은지 궁금합니다.

여러분의 생각을 기다리고 있습니다!

네, Contribute > Feature 채널입니다 :slightly_smiling_face:

@Canapin님과 토론에 참여하고 통찰력을 제공해 주신 모든 분들께 감사드립니다! :raising_hands: