다른 분들이 이 문제에 대해 게시한 내용을 찾지 못했지만, personal message enabled groups이라는 SiteSetting의 라벨이 혼란스럽다고 생각합니다.
Discourse에는 personal message enabled groups라는 전역 옵션이 있으며, 이는 사용자가 직접 메시지를 생성할 수 있기 전에 필요한 최소 신뢰 수준(minimum trust level)을 의미합니다.
사용자는 직접 메시지를 보내거나 받을 수 있는 별도의 옵션(체크박스)인 user_option.allow_private_messages를 가지고 있습니다.
우리가 원하는 것은 스태프/모더레이터/관리자가 아닌 모든 사용자에게 trust_level_1에 있는 사용자에게 메시지를 보낼 수 없도록 하는 것입니다. 이는 personal_message_enabled_groups를 trust_level_2로 설정하면 달성될 것으로 기대합니다. 그러나 위의 두 옵션은 별도로 처리되는 것 같으며, 사용자 옵션이 우선합니다. 즉, trust_level_1에 있는 사용자는 분명히 DM을 시작할 수 없지만, allow_private_messages가 활성화되어 있으면 can_send_private_message_to_user 값은 true가 됩니다.
전역 옵션이 체크박스를 오버라이드하지 않으므로, 이 값에 의해 설정된 그룹에 속하지 않는 사용자는 여전히 PM에 참여할 수 있음(단, 시작은 불가)을 고려할 때 personal message enabled groups라는 명칭은 부정확해 보입니다. 이 SiteSetting을 사용자 옵션이 오버라이드할 수 있도록 하는 의도는 이해하지만, 이 설정의 이름을 personal message initiating groups 등으로 변경하는 것이 더 적절할 것 같습니다.
이것이 혼란스러울 수 있다는 점을 이해합니다. 하지만 이 내용을 읽은 결과, 이 사용 사례를 처리할 다른 새로운 설정을 원하시는 것 같습니다. 해당 설정은 disallow_personal_message_groups와 같은 이름이 될 것이며, 선택된 그룹에 속한 사용자는 스태프(모더레이터와 관리자)를 제외한 누구에게서도 개인 메시지(PM)를 받을 수 없게 됩니다.
personal_message_enabled_groups 설정은 차단 목록으로 사용되도록 의도된 것이 아닙니다. 이는 다소 난감한 문제입니다. 기존 동작 방식을 변경하여 personal_message_enabled_groups에 속하지 않은 사용자는 스태프를 제외한 누구에게서도 메시지를 받을 수 없도록 하는 것이 가능할까요? 이 변경이 얼마나 많은 기대치를 깨뜨릴지 확신할 수 없습니다.
여기에 지정된 그룹에 속한 사용자는 개인 메시지(PM) 시스템에 대한 전체 접근 권한을 가집니다. 사이드바의 메시지 섹션, 사용자 프로필 메뉴의 메시지 링크, 알림 메뉴의 메시지 아이콘을 볼 수 있습니다. 또한 PM을 시작하고 답장할 수도 있습니다.
여기에 지정된 그룹에 속하지 않은 사용자는 PM을 시작할 수 있는 권한이 있는 다른 사용자로부터만 PM을 받을 수 있습니다. PM을 시작할 수는 없지만, 다른 사람이 시작한 PM에 답장하는 것은 허용됩니다. 메시지 시스템을 UI에서 전혀 볼 수 없으며, 수신한 PM에 대한 알림을 받고 이를 통해 접근할 수 있는 것만 가능합니다. 예를 들어 Discourse Meta - The Official Support Forum for Discourse 로 직접 이동하여 메시지 받은 편지함으로 갈 수 있지만, 메시지를 시작하는 옵션은 볼 수 없습니다. 수신한 메시지로부터 자신을 제거할 수도 있습니다.
모더레이터와 관리자는 여기서 제거해도 해당 기능이 지정된 것과 동일한 전체 접근 권한을 유지합니다.
여기서의 의도는 대부분의 사용자에게 메시징 시스템을 축소/비활성화하여 토론이 토픽 내에서 이루어지도록 하고, 관리가 어려운 곳에 숨겨지지 않도록 하는 것이라고 생각합니다. 한편, 플래깅 시스템의 필수적인 부분인 메시지 시작 권한은 관리자와 모더레이터에게 여전히 허용됩니다.
제 생각에는 이 설정과 그 기능 자체는 문제없지만, 설명을 더 명확하게 만들 수 있습니다. 신뢰 수준 그룹 멤버십이 어떻게 작동하는지를 설명할 필요는 없다고 생각합니다. 사용자 관리자 페이지에서 사용자가 어떤 신뢰 수준 그룹에 속하는지 확인할 수 있기 때문입니다.
이 변경 사항은 어떨까요?
이 그룹에 속한 사용자는 개인 메시지 시스템에 완전히 참여할 수 있습니다. 내비게이션 메뉴에서 메시지를 볼 수 있으며, 이 그룹에 속하지 않는 사용자를 포함한 사이트 내 누구에게나 메시지를 시작할 수 있고, 수신자는 답장할 수 있습니다. 참고: 모더레이터와 관리자는 항상 전체 접근 권한을 가집니다.
또한, 사용자가 여기에 지정되지 않았지만 다른 사람이 생성한 하나 이상의 메시지를 수신한 경우 메시지 접근 경로(backdoor)를 제공해야 한다고 생각합니다. 다시 찾을 방법이 전혀 없는 것은 깨진 것처럼 느껴집니다. 가장 합리적인 방법은 메시지 프로필에 MESSAGES 섹션을 복원하고, 메시지를 볼 때 사용자 > 메시지의 수평 내비게이션을 복원하는 것이라고 생각합니다. 사이드바에는 복원할 필요가 없겠지만, 그 부분도 복원해야 할까요?
말씀하신 대로 기존 설정의 동작을 변경하면 기대를 깨뜨리기 때문에 변경할 수 없을 가능성이 높다고 생각합니다. 하지만 말씀하신 대로 특정 그룹이 PM을 받는 것을 금지하는 또 다른 설정을 _추가_할 수는 있습니다. 이것이 특정 커뮤니티에 가치 있는 기능이 될 수 있다고 봅니다 - 다른 누군가 이것을 요청한 적이 있나요?
여기서 우리가 할 수 있는 일을 요약하자면:
personal_message_enabled_groups 관리자 설정의 설명 개선
사용자가 PM을 보낼 권한이 없더라도 PM을 수신한 경우 사용자 > 메시지 내비게이션을 계속 표시
@tobiaseigen 상세하게 답변해 주셔서 감사합니다. 제안해 주신 내용은 제가 생각했던 것보다 훨씬 더 좋습니다. personal_message_enabled_groups의 설명만 수정해서 어떤 기능을 하는지 명확히 해 주셔도 큰 도움이 될 것 같습니다. 감사합니다!