새로운 Discourse 플랫폼을 구축하는 과정에서 특정 문제에 대해 도움을 요청드립니다. 제가 개발하려는 Discourse 플랫폼에서는 지정된 카테고리 내의 콘텐츠를 주제 작성자와 관리자만 볼 수 있도록 구성을 설정하고자 합니다. 해당 섹션은 기본적으로 “버그 리포트” 개념으로 운영될 예정입니다. 보고된 버그가 다른 사용자에게 노출되어 악용되지 않도록, 보고자와 관리자만 독점적으로 볼 수 있는 것이 매우 중요합니다. 이러한 설정을 정확히 적용하는 방법은 무엇일까요?
제안하신 방법을 테스트해 보니, 그룹의 모든 멤버가 모든 게시물을 볼 수 있었습니다. 사실 제가 원하는 것은 해당 주제를 만든 사람만 볼 수 있도록 하는 것입니다. 다른 사용자는 다른 사용자가 만든 주제를 볼 수 없어야 하며, 어떠한 상호작용도 하지 않아야 합니다.
예를 들어, 사용자 A가 버그 리포트 카테고리에 문제를 보고하기 위해 중요한 주제를 만들었다고 가정해 보겠습니다. 이 주제는 같은 포럼의 사용자 B, C, D에게는 보이지 않아야 합니다. 사용자 A가 만든 주제는 주제 작성자인 사용자 A와 함께 관리자 및 운영자만 볼 수 있어야 합니다.
이 경우에는 그룹 인박스가 적합할 것 같습니다. 사용자 A가 @bug-report로 메시지를 보내면, @bug-report 그룹 인박스에 메시지가 표시되어 그룹 내 모든 사람이 볼 수 있습니다. 다만, 해당 메시지에 참여 중인 사용자만 자신의 개별 메시지를 볼 수 있습니다. 이런 방식이 괜찮을까요?
제안을 잘 이해했습니다. 다만 포럼 플랫폼과 유사한 형식의 제목으로 구성되어야 합니다. 이 토픽에는 특정 템플릿이 적용되어 있으며, 사용자가 이 템플릿에 따라 버그를 보고하도록 기대하고 있습니다.
수신된 버그 보고서는 먼저 관리자에게 검토된 후, 관리자로 전달됩니다. 토픽을 생성한 사용자에게도 관리자가 해당 토픽을 통해 보고와 관련된 답변을 직접 제공합니다. 일반적인 포럼과 정확히 동일한 방식으로 작동하지만, 유일한 차이는 토픽을 만든 사람만 볼 수 있다는 점입니다.
사실 이 기능은 다른 포럼 플랫폼에서도 볼 수 있는 것과 유사하게, 여기에서도 필수적인 구성 요소가 되어야 합니다. 일반적인 요구 사항을 해결해 주는데도, 이 기능이 없는 것이 다소 의아합니다. 이에 따라 조사를 시작했으나, 안타깝게도 원하는 결과를 얻지 못했습니다. 이 요구 사항은 구체적으로 생성/답변(Reply) 권한과 관련되며, 단 게시글 작성자와 관리자만 보기(See) 권한을 보유하게 됩니다.
그리고 그런 유형을 참조하는 많은 양의 코드가 수정되어야 합니다. 또는 플러그인인 경우, CategoryCustomField를 추가하여 생성 제한을 우회하고 이제 사용 가능한 주제를 포함하도록 카테고리 및 주제 직렬화기를 업데이트하는 것이 더 합리적일 수 있습니다.
생성 권한이 있는 카테고리에서 주제를 생성하고 after_create(또는 유사한 것)에서 플러그인이 이를 스태프만 볼 수 있는 하위 카테고리로 이동시키는 방식을 사용할 수 있습니다. 그리고 카테고리 직렬화기를 수정하여 숨겨진 하위 카테고리에서 사용자 소유의 주제를 해당 카테고리로 가져오도록 할 수 있습니다. 이렇게 하면 새로운 카테고리 권한이 전혀 필요하지 않으며, 플러그인이 제거되면 해당 주제들은 스태프 전용 카테고리 내의 일반 주제로 남게 됩니다. 이 방식의 개념 검증(적절한 스펙 등은 제외)은 그리 오래 걸리지 않을 수 있습니다. 오늘 늦게 이 부분을 살펴볼 수도 있지만(다른 업무를 해야 할지도 모른다는 점이 걱정됩니다.)