특정 그룹의 회원만 게시글을 작성할 수 있고, 모든 사용자가 읽을 수 있도록 설정하는 방법이 있을까요?

결론적으로, 주제 내에서 게시 권한을 관리하기 위해 그룹을 설정하길 원하지만, 모든 사용자와 미등록 게스트도 게시물을 읽을 수 있기를 원합니다.

이것이 가능하게 하는 방법이 있을까요?

카테고리 → 보안

  • kaikki는 전부 영어로 되어 있습니다

다만, 답변 제한의 목적은 잘 모르겠습니다.

카테고리 단위로 설정할 수 있다는 점은 이해합니다. 하지만 이 모든 주제들이 이미 카테고리와 하위 카테고리로 깔끔하게 분류되어 있으므로, 새로운 카테고리를 통째로 만들어야 하는 상황은 피하고 싶습니다.

주제(topic) 단위로 답글(그리고 실제로는 좋아요도)을 제한할 수 있는 기능이 제공되기를 진심으로 바랍니다.

AFAIK로는 기본 상태에서 불가능합니다. 하지만 이번에는 제가 틀렸으면 좋겠습니다.

해당 주제들을 아카이브로 옮기는 것을 고려해 볼 수 있습니다.

그렇게 하면 특정 그룹의 사용자가 그곳에 게시물을 올릴 수 있게 되는 게 아직도 이해가 안 됩니다…

아, @orangeandblack5 님, 죄송합니다. 원래 질문하신 내용은 고려하지 않고 이 부분에만 답변을 드리고 있었네요:

다시 처음부터 말씀드리겠습니다…

Discourse에서는 그룹 권한을 게시 수준이 아닌 카테고리 수준에서 설정하므로, 요청하신 대로 하는 방법은 없는 것으로 보입니다.

:thinking: 궁금한 점이 있습니다: 토픽을 읽을 수 있는 사람은 누구나 '좋아요’를 누를 수 없기를 왜 원하시나요? 아카이빙을 고려해 보았는데, 아마도 토픽을 '동결’하고 싶으신 것 같아서입니다. 하지만 말씀하시는 것으로 보아, 일부 사용자에게는 ‘좋아요’ 기능을 허용하고 다른 사용자에게는 허용하지 않으시는 것 같습니다. 커뮤니티에서 Discourse를 어떻게 활용하고 계신지 듣는 것을 정말 좋아합니다! :slight_smile:

저희에게는 게시글 작성 기능이 좋아요 기능보다 훨씬 중요합니다. 일반적으로 저희는 Discourse를 통해 온라인에서 다양한 종류의 게임과 토론을 진행하는데, 참여하려면 등록을 해야 합니다. 실제로 플레이하지 않는 게임에 게시글을 작성하는 것은 규칙 위반이지만, 이를 소프트웨어적으로 강제하는 장치가 없어서 때로는 신규 사용자가 혼란을 겪고, 다음 토픽에 등록해야 하는데 실수로 게시글을 작성하면서 문제를 일으키기도 합니다.

모두가 모든 토픽을 읽을 수 있도록 하면서도, 특정 토픽에 등록하지 않은 사람이 그곳에 게시글을 작성하지 못하게 하는 방법이 있다면 정말 좋겠습니다!

저도 커스텀 코드를 사용하지 않고 이 기능을 구현하려면, 제한을 걸고 싶은 각 게임이나 토론별로 전용 하위 카테고리를 추가하는 것이 유일한 방법이라고 생각합니다. 번거롭게 들릴 수 있지만, 어차피 매번 전용 그룹을 설정해야 하므로 실제로는 그다지 많은 추가 수고가 아닙니다. 어쨌든, 다음과 같은 구성을 사용하면 사용자 경험은 깔끔할 것입니다:

  • 카테고리: 게임
    권한: 모든 사용자 읽기 가능
  • 하위 카테고리: 게임-A
    권한: 게임-A 그룹만 답변 가능

이렇게 하면 게임-A의 주제는 모든 사용자에게 표시되지만, 게임-A 그룹의 멤버가 아닌 사용자가 해당 주제를 열어도 답변할 수 없습니다.

매우 깔끔한 인터페이스를 원하고, 이것이你们的 아키텍처와 일치한다면, CSS를 사용하여 관련 하위 카테고리 배지를 인터페이스에서 숨기는 것도 가능합니다. 이렇게 하면 하위 카테고리는 내비게이션이 아닌 순수한 접근 권한 관리에만 사용됩니다.

그렇게 하면 문제가 생길 수 있어요. 이미 하위 카테고리를 이용해 항목을 분류하고 있거든요.

적어도 검토는 해 보겠지만, 정렬/조직화 레이어를 하나 통째로 없애야 해서 이상적이지 않아요. 특히 신규 사용자에게는 사이트 내비게이션이 훨씬 더 어려워질 수 있거든요.

일부 조직 작업을 수행하려면 태그를 사용하는 것이 좋다고 생각합니다. 이제 태그에 대해 이야기할 때입니다를 참조하세요.

토픽별 권한을 설정하는 쉬운 방법은 없게 될 것입니다.

개인 메시지(PM)에 대해 페이지 게시 기능을 제공할 수 있는 방법이 있을지 궁금합니다.

그렇게 생각하지 않습니다. 하지만 사람들이 작성할 수 있는 카테고리에 게시물을 게시한 다음, 목록에서 제거할 수 있습니다.

이것은 OP(첫 번째 게시자)의 사용 사례와는 별개이지만, 저는 익명 전용 카테고리가 하나 있는 포럼을 관리하고 있습니다. 이 카테고리에서는 사용자가 다른 모든 사람에게 사용자 이름을 노출하지 않고 전문적인 문제에 대해 게시할 수 있습니다(물론 누군가가 문제를 일으키면 관리자가 누가 무엇을 게시했는지 알아낼 수 있다는 점은 알고 있습니다). 좋아요도 익명 사용자만 누를 수 있도록 제한할 수 있으면 좋겠습니다.

저희도 같은 상황을 겪고 있습니다. 저희는 커스텀 LMS의 일부로 Discourse를 사용하고 있으며, 때때로 특정 코스의 특정 코호트(집단)로만 주제(topic) 접근을 제한하고 싶었습니다.

따라서 이를 수행할 수 있는 유일한 방법(위에서 설명한 대로)은 코스를 위한 카테고리를 만들고, 접근을 제한해야 하는 각 코호트마다 하위 카테고리를 생성한 다음, 각 주제를 해당 하위 카테고리에 복사하는 것입니다. 이는 다소 번거로운 작업이며, 이러한 설정을 반영하기 위한 저희 측의 모델과 동기화를 유지하기 위한 코드도 필요합니다.

각 주제 내 게시물을 그룹별로 제한할 수 있다면 훨씬 더 좋았을 텐데 싶습니다.

:thinking:

각 사람은 다른 모든 코호트의 응답에 도달해야 하나요?

제가 이것을 설정한다면, 응답을 허용하지 않는 카테고리에 자료를 올려서 참고 자료로만 사용할 것입니다.

그 다음, 해당 자료로 연결되는 그룹 PM을 보내고, 그곳에서 토론을 진행하겠습니다.

이렇게 하면 코호트를 그룹으로만 정리하면 되고, 자료를 쉽게 재사용할 수 있습니다. :slight_smile:

PM은 그렇게 작동합니다! :tada: 하지만 공개 주제에서는 그렇지 않습니다.

@maiki 와우. 그걸 몰랐네요. 알려주셔서 감사합니다!!!

다만, 현재 전략은 일종의 ‘설정하고 잊기(set and forget)’ 방식입니다. 코스가 생성되면 DEFAULT 코호트용 주제(topic)와 하위 카테고리를 만들고, 원하는 주제들을 채우면 됩니다. 새로운 코호트가 추가되면 새로운 그룹과 하위 카테고리를 만들고 주제들을 복사하면 됩니다.

그 후에는 잊어버려도 되고, 활동 알림은 콜백을 통해 처리하면 됩니다.

설명하신 방식의 경우, 수작업이 더 많아지나요? "그룹 PM 보내기"는 코스의 수명 기간 동안 발생하는 활동처럼 들립니다. 기존 코스에 새로운 학생이 등록되어 특정 코호트에 배정되면, 해당 학생을 Discourse의 올바른 그룹에 추가하면 그 코호트에 해당하는 기존 하위 카테고리와 모든 주제의 복본에 접근할 수 있습니다. 이 경우, 기존 "그룹 PM"에 자동으로 추가되어 워크플로우에 차이가 없나요?

UI가 동일하게 보일까요? 현재는 '보통’의 Discourse UI처럼 주제 아래에 모든 게시글(필요한 경우 특정 코호트용)이 표시되는 구조입니다.

솔직히 말하면, 새로운 코호트가 생성될 때마다 하위 카테고리와 모든 주제의 복사를 해야 하고 이를 관리해야 하는 점이 싫습니다. 그래서 이 직접적인 PM 방식이 흥미롭습니다. 하지만 "개인 메시지"를 카테고리 + 주제가 할 수 있는 모든 용도로 사용한다는 점에서 뭔가 빠진 부분이 있는 것 같아 우려가 듭니다.

사용자 입장에서 그것이 어떻게 보이는지 상상하기가 어렵습니다.

재사용 가능한 콘텐츠로 작업할 때 주제에 링크를 걸거나 템플릿을 사용해 PM에서 콘텐츠를 재사용하는 경우가 많다는 것만 알고 있습니다.

학생들의 주제와 답변 예시를 포함하여 무엇을 하고 계신지 조금 더 자세히 설명해 주신다면, PM을 활용하여 이를 어떻게 달성할 수 있을지 아이디어를 내는 데 기꺼이 도움을 드리겠습니다. :slight_smile:

제가 한 일은 읽기 전용 카테고리에 과제를 올리고, 학생들이 해당 카테고리에 게시글을 작성하는 방식으로 과제를 "답변"하도록 설정한 것입니다. 요즘 읽기 전용 게시글에서 ‘답변을 연결된 주제로’ 옵션을 얼마나 쉽게 찾을 수 있는지 잘 모르겠습니다.

@pfaffman님과 @maiki님의 의견에 감사합니다. 저희가 토픽을 통합한 방식은 API를 통해 해당 토픽의 최신 게시글을 가져와 LMS의 관련 강의 유닛 페이지에 직접 표시하는 것입니다:

이후 "토론 참여"를 클릭하면 해당 강의의 카테고리 내 토픽으로 이동하며, 여기서 강의 내 코호트( Cohort)에 해당하는 하위 카테고리로 연결되어 코호트 동료들의 댓글만 볼 수 있도록 제한됩니다:

약간 어색한 점은 이 아키텍처가 사용자 인터페이스에도 노출된다는 것입니다. 예를 들어 이 헤더처럼요:

그리고 내비게이션도 마찬가지입니다..

이 방식은 학생들이 왜 최상위 카테고리가 있고, 그 아래에 “강의 토픽”(이것은 그들의 코호트용입니다)을 위한 하위 카테고리 한 층과 “일반 토론”(이것은 강의 내 모든 코호트용입니다)을 위한 또 다른 카테고리가 있는지를 이해해야 한다는 점을 강요합니다… 그리고 여기저기를 클릭하다 보면 약간 길을 잃을 수도 있습니다.

때로는 코호트가 학생들에게 중요한 것이 아니라 관리용 그룹화 메커니즘에 불과할 수 있어, 이러한 카테고리/하위 카테고리 구조가 더 혼란스러울 수 있습니다. “왜 강의의 모든 토픽을 위한 카테고리가 하나만 없는 거죠?”

또한 이전에 언급했듯이 이 설정은 코호트가 생성될 때마다 모든 토픽을 복제해야 하고, 코호트가 삭제될 때 해당 부분 집합을 삭제하거나, 토픽이 생성/수정/삭제될 때마다 모든 하위 카테고리를 업데이트해야 한다는 문제를 안고 있습니다.