새로운 카테고리 권한: 게시/답변 가능, 읽기 불가

안녕하세요,

새로운 Discourse 플랫폼을 구축하는 과정에서 특정 문제에 대해 도움을 요청드립니다. 제가 개발하려는 Discourse 플랫폼에서는 지정된 카테고리 내의 콘텐츠를 주제 작성자와 관리자만 볼 수 있도록 구성을 설정하고자 합니다. 해당 섹션은 기본적으로 “버그 리포트” 개념으로 운영될 예정입니다. 보고된 버그가 다른 사용자에게 노출되어 악용되지 않도록, 보고자와 관리자만 독점적으로 볼 수 있는 것이 매우 중요합니다. 이러한 설정을 정확히 적용하는 방법은 무엇일까요?

hi @anilguven, Meta에 오신 것을 환영합니다 :wave:

버그 리포터들을 위한 그룹을 생성한 후, 보호하려는 카테고리에서 보안 설정을 사용하여 해당 그룹과 관리자만 접근할 수 있도록 설정할 수 있습니다 (모드가 접근할 수 있도록 하려면 스태프 권한을 사용할 수도 있습니다).

관리자 - 그룹 - +새 그룹

보호하려는 카테고리의 카테고리 페이지에서 오른쪽 상단의 렌치 아이콘을 클릭하면 해당 카테고리의 설정, 특히 보안 설정에 접근할 수 있습니다. 거기에서 원하는 권한과 함께 새 그룹을 추가할 수 있습니다.

안녕하세요, @Lillinator. 답변해 주셔서 감사합니다.

제안하신 방법을 테스트해 보니, 그룹의 모든 멤버가 모든 게시물을 볼 수 있었습니다. 사실 제가 원하는 것은 해당 주제를 만든 사람만 볼 수 있도록 하는 것입니다. 다른 사용자는 다른 사용자가 만든 주제를 볼 수 없어야 하며, 어떠한 상호작용도 하지 않아야 합니다.

예를 들어, 사용자 A가 버그 리포트 카테고리에 문제를 보고하기 위해 중요한 주제를 만들었다고 가정해 보겠습니다. 이 주제는 같은 포럼의 사용자 B, C, D에게는 보이지 않아야 합니다. 사용자 A가 만든 주제는 주제 작성자인 사용자 A와 함께 관리자 및 운영자만 볼 수 있어야 합니다.

아, 그렇군요. 음, 실제로 이게 가능한지 확실하지 않네요. 다른 누군가가 아실 수도 있겠어요. 플러그인으로 구현할 수 있을지 궁금하네요. :thinking: 죄송합니다, 버그 리포트 게시자만 접근 권한이 필요하다는 걸 오해했어요. 버그 리포터 그룹 전체가 아니라요.

안녕하세요, @anilguven :slight_smile:

이 경우에는 그룹 인박스가 적합할 것 같습니다. 사용자 A가 @bug-report로 메시지를 보내면, @bug-report 그룹 인박스에 메시지가 표시되어 그룹 내 모든 사람이 볼 수 있습니다. 다만, 해당 메시지에 참여 중인 사용자만 자신의 개별 메시지를 볼 수 있습니다. 이런 방식이 괜찮을까요?

안녕하세요 @JammyDodger, 감사합니다 :slight_smile:

제안을 잘 이해했습니다. 다만 포럼 플랫폼과 유사한 형식의 제목으로 구성되어야 합니다. 이 토픽에는 특정 템플릿이 적용되어 있으며, 사용자가 이 템플릿에 따라 버그를 보고하도록 기대하고 있습니다.

수신된 버그 보고서는 먼저 관리자에게 검토된 후, 관리자로 전달됩니다. 토픽을 생성한 사용자에게도 관리자가 해당 토픽을 통해 보고와 관련된 답변을 직접 제공합니다. 일반적인 포럼과 정확히 동일한 방식으로 작동하지만, 유일한 차이는 토픽을 만든 사람만 볼 수 있다는 점입니다.

이것은 제가 오랫동안 간절히 원해온 기능입니다. 정확히 동일한 사용 사례로 #4 항목에서 설명한 바 있습니다. Offering "private support" as part of a public support community

그룹 메일함(group inboxes)은 여러 측면에서 근본적인 결함이 있다고 생각합니다(예: 이것).

플러그인으로 구현하는 것은 가능할 것 같지만, 올바르게 만들려면 시간이 좀 걸릴 수 있습니다. 아직 시간을 내거나 그 노력에 대한 정당성을 찾지 못했습니다(예산이 있고/또는 개발 기술이 있으시다면, 이야기 나눌 수 있습니다).

점점 더 확신하게 되고 있습니다.

토픽 수준의 권한이 아니라, 그저 또 다른 범주 권한인 것 같습니다. 일부가 어떻게 작동할지는 상상할 수 있지만, 어떻게 해야 할지 확실하지 않은 작은 부분들이 꽤 많습니다.

흥미로운 프로젝트가 될 것 같습니다. 지금은 도움을 드릴 수 없지만, 한두 달 후에 시간이 나시면 연락 주시면 함께 작업해 볼 수 있을 것 같습니다. 물론, 누군가 비용을 지불한다면 시간을 내기 훨씬 쉬울 테지만요!

사실 이 기능은 다른 포럼 플랫폼에서도 볼 수 있는 것과 유사하게, 여기에서도 필수적인 구성 요소가 되어야 합니다. 일반적인 요구 사항을 해결해 주는데도, 이 기능이 없는 것이 다소 의아합니다. 이에 따라 조사를 시작했으나, 안타깝게도 원하는 결과를 얻지 못했습니다. 이 요구 사항은 구체적으로 생성/답변(Reply) 권한과 관련되며, 단 게시글 작성자와 관리자만 보기(See) 권한을 보유하게 됩니다.

좋습니다. 읽기 권한은 포함하지 않지만, 사용자가 생성한 주제는 읽을 수 있는 생성 권한이 있을 것입니다. 따라서 여기에 새로운 유형이 추가되어야 합니다:

~~discourse/app/models/category_group.rb at main · discourse/discourse · GitHub

그리고 그런 유형을 참조하는 많은 양의 코드가 수정되어야 합니다. 또는 플러그인인 경우, CategoryCustomField를 추가하여 생성 제한을 우회하고 이제 사용 가능한 주제를 포함하도록 카테고리 및 주제 직렬화기를 업데이트하는 것이 더 합리적일 수 있습니다.

생성 권한이 있는 카테고리에서 주제를 생성하고 after_create(또는 유사한 것)에서 플러그인이 이를 스태프만 볼 수 있는 하위 카테고리로 이동시키는 방식을 사용할 수 있습니다. 그리고 카테고리 직렬화기를 수정하여 숨겨진 하위 카테고리에서 사용자 소유의 주제를 해당 카테고리로 가져오도록 할 수 있습니다. 이렇게 하면 새로운 카테고리 권한이 전혀 필요하지 않으며, 플러그인이 제거되면 해당 주제들은 스태프 전용 카테고리 내의 일반 주제로 남게 됩니다. 이 방식의 개념 검증(적절한 스펙 등은 제외)은 그리 오래 걸리지 않을 수 있습니다. 오늘 늦게 이 부분을 살펴볼 수도 있지만(다른 업무를 해야 할지도 모른다는 점이 걱정됩니다.)

그래서 결국 금요일을 희생해서 이 기능을 구현하기로 했습니다. 직접 한번 사용해 보면 좋겠네요.