커뮤니티의 각 사용자가 원하는 주제를 자유롭게 작성할 수 있는 개인적인 공간을 가졌으면 합니다. 개인 일기처럼 사용하거나, 나중에 공유하고 싶은 생각들을 쌓아두는 용도로, 혹은 사용자가 원하는 방식으로 활용하는 것이죠. 주제 소유자가 특정 주제에 다른 사람들을 초대하지 않는 한, 다른 사용자는 주제 목록을 볼 수도 있고 직접 URL을 통해 콘텐츠에 접근할 수도 없습니다.
제가 고안한 해결책
사용자별로 그룹과 카테고리를 생성하는 방식입니다. 다음 과정을 따릅니다:
처리 과정
사용자가 생성되면 다음과 같은 순서가 실행됩니다.
user라는 이름의 사용자가 생성됩니다.
다음과 같은 설정을 가진 user-group이라는 이름의 그룹이 자동으로 생성됩니다.
소유자: user
멤버:user
접근 권한: 3개 체크박스 모두 비활성화
가시성: 소유자만 표시
멘션 및 메시지: 아무도 없음
다음과 같은 설정을 가진 user category라는 이름의 카테고리가 자동으로 생성됩니다:
보안:user-group 그룹만 볼 수 있고, 생성 및 답변이 가능합니다.
설정/검색 우선순위: 무시(Ignore)
설명한 과정을 적용한 결과
이 방식을 테스트 환경에서 userA와 userB 두 사용자로 수동 테스트해 보았습니다.
결과는 다음과 같습니다. 카테고리 목록에서 두 사용자 모두 “전역” 카테고리를 볼 수 있지만, userA는 userA space 카테고리를, userB는 userB space 카테고리를 추가로 볼 수 있습니다. 그러나 userA는 userB space를 볼 수 없고, userB도 userA space를 볼 수 없습니다.
userA는 userA space 내부에 주제를 생성했습니다. 그 후 userB 세션에서 해당 주제 URL을 복사해 접속해 보았더니, 시스템은 제가 보려는 주제가 존재하지 않거나 비공개라는 메시지를 표시하지 않았습니다.
장점
제가 원하는 기능과 정확히 일치하며, 관리자 외 사용자에 대해 기대하는 행동과 정확히 부합합니다.
단점 및 우려 사항
수동 과정
위에서 설명한 과정은 수동으로 이루어져 있으므로, 이를 자동화하는 방법을 찾아야 합니다. 그렇지 않으면 실용적이지 않을 것입니다.
사용자 수만큼의 그룹: 성능에 영향을 미칠 수 있는가?
이것은 아마도 사용자 수에 따라 달라질 문제일 것입니다. 하지만 포럼의 성능 측면에서 이 결정이 커뮤니티의 제한 사항이 되는 지점에 도달하고 싶지 않습니다.
관리자가 모든 비공개 카테고리를 볼 수 있음
관리자 사용자는 카테고리 페이지에서 다른 카테고리들과 마찬가지로 모든 “비공개” 카테고리를 나열되어 있는 것을 볼 수 있고, 주제들도 볼 수 있습니다. 사용자의 프라이버시를 보장하고 싶기 때문에 이는 우려 사항입니다. 이 문제를 제한할 방법이 있을까요? 이것은 커뮤니티이므로 커뮤니티 내부의 프라이버시는 기대하기 어려운 부분일 수 있다는 것을 이해합니다. 따라서 이 제한을 수용하고, 대신 커뮤니티에 관리자로 로그인하는 대신 다른 사용자로 가입하여 필요할 때만 관리자 계정을 사용하는 방식으로 해결해야 할 수도 있습니다.
우회 방법 및 대안
제가 원하는 것을 달성할 다른 방법이 있을까요? 설명한 기능에 대한 우회 방법이 있을까요? 포럼 소프트웨어가 처리해야 할 성격이 아닌 사용 사례에 대해 해결책을 찾으려고 너무 많이 고민하고 있는 걸까요? 다른 관점을 듣는 데 개방적입니다.
자체 호스팅(Self Hosted) 환경이라면 이 플러그인이 문제를 해결할 수 있을 것 같습니다.
이 플러그인을 사용하면 운영자(Op)는 자신의 토픽과 설정된 그룹만 볼 수 있습니다. 사용 사례에 따라 필요한 경우 그룹을 생성하고, 해당 그룹에 null 사용자(예: Discobot)를 추가하거나 빈(empty) 사용자를 생성하세요. 사용자를 수동으로 활성화하고, 이메일을 비활성화한 뒤 사용자 프라이버시 설정을 '비공개(private)'로 변경합니다. 또한 그룹도 비공개로 설정하세요.
이것이 가장 단순한 해결책입니다. 이 해결책을 시험해 보고 있는데, 제가 예상하는 사용 사례에는 충분하다고 생각합니다. 그러나 단 하나의 단점이 있습니다: 백링크(Back links) 기능이 작동하지 않는 것 같습니다.
이런 시나리오를 가정해 보겠습니다:
토픽 1이 토픽 2를 참조합니다.
케이스 1: 일반적인 공개 토픽을 사용하는 일반적 사용
사용자가 토픽 1을 읽다가 토픽 2로 가는 링크를 봅니다. 사용자가 링크를 클릭하여 토픽 2로 이동해 읽습니다. 토픽 2의 첫 번째 메시지 끝에는 토픽 2가 참조된 다른 토픽들의 링크 목록이 있으며, 그 목록 중 하나인 토픽 1로 연결됩니다.
케이스 2: 개인 메시지
사용자가 자기 자신에게 개인 메시지로 토픽 2를 생성합니다. 나중에 다시 자기 자신에게 개인 메시지로 토픽 1을 생성하고 토픽 2를 참조합니다. 우선, 링크를 삽입하는 링크 도구가 개인 메시지를 고려하지 않습니다. 이는 이해할 수 있는 부분입니다. 그러나 링크가 삽입된 후, 토픽 2에서 토픽 2가 참조된 토픽 목록이 표시되지 않습니다.
이 문제는 치명적이지 않지만, 작동하면 좋겠습니다. 설정에서 이를 허용하는 옵션이 있나요?
어느 시점에 호환성이 깨지곤 하기 때문에 플러그인, 테마, 그리고 스톡(stock, 기본 제공)이 아닌 모든 것을 피하려고 합니다. 저는 소프트웨어 엔지니어이며, 이 문제는 더 흔한 편입니다. 그래서 가능한 한 단순하게 가기를 선호합니다. 그래서 @Jagster와 저 같은 처지라고 생각합니다:
요약
자기 자신에게 보내는 개인 메시지는 가장 단순한 해결책이며, 큰 단점 1가지(백링크 기능 부재)와 작은 문제 2가지가 있습니다:
정말 맞습니다. 다만 제가 관찰해 온 이 플러그인의 개발자는 일반적으로 자신의 플러그인 관리에 매우 철저하며, 그의 작품 중 상당수가 코어에 통합된 것을 보았습니다. 하지만 말씀하신 대로, 디스코urses 메타의 컴포넌트와 플러그인도 때로는 오류가 발생할 수 있으므로 그 지적이 매우 정확합니다.
개인적으로 PM(개인 메시지) 시스템은 전면적인 개편이 필요하다고 생각합니다.
PM 내에서 서로 다른 주제를 다룰 때, 관련성이 있는 경우 하나의 PM으로 묶어 두는 것이 더 나을 것이며, 그 PM 내에서 링크를 사용하여 서로 다른 참조 지점 사이를 이동하는 방식이 적절할 것입니다.
좋은 이유를 가지고 플러그인을 피하는 것이 일반적이지만, 최근 출시된 특정 플러그인은 괜찮을 수 있습니다. 이 플러그인은 회원이 PM을 주제로 게시할 수 있도록 허용합니다. 깨질 수는 있지만, 이로 인해 정보 유출이 발생할 가능성은 낮습니다.
또한 북마크를 더 쉽게 찾을 수 있도록 북마크 관리자 기능도 보고 싶습니다. 예를 들어 북마크 폴더 같은 기능이요.
다른 분들이 말씀하신 내용을 다시 한 번 강조하고 싶습니다. PM(개인 메시지)과 태그를 사용하면 설명하신 것을 대부분 구현할 수 있습니다. 저는 이렇게 작동하는 개인 업무 수신함을 설정해 두고 있습니다. 여러 개의 셀프 PM을 다른 PM을 가리키는 표지판처럼 사용하고 있으며, 태그를 하위 폴더처럼 사용하고 있습니다. 하지만 태그는 더 나은 점이 몇 가지 있는데, 하나의 게시물이 여러 태그에 속할 수 있기 때문입니다. 제 사이드바의 사용자 정의 메뉴에는 필요한 링크들을 모아둔 셀프 PM 도구들을 연결해 두었습니다.
포럼의 사용자가 50명 미만이라면, 사용자 카테고리나 하위 카테고리를 사용하는 것이 어느 정도 관리 가능할 수 있습니다. 하지만 그 이상이라면 다루기 힘들어질 가능성이 큽니다.
네, 있습니다. 그리고 저는 사이드바 섹션에 제 개인 받은편지함 노트로 가는 링크 하나만 있으면 됩니다. 실제로는 받은편지함에서 가상 폴더 트리를 설정하는 것이 꽤 쉬운데요, 단순히 링크된 PM들을 활용하면 됩니다. 하지만 질문자님이 찾고 계신 것은 사용자가 이러한 구성을 가질 수 있도록 미리 정의된 사용자 템플릿인 것 같습니다. 이는 기본적으로 Discourse가 아니어야 할 무언가로 바꾸는 것과 같습니다(각 사용자에게 지정된 카테고리를 부여하는 것과 같은 방식이죠).
개인 받은편지함 가상 폴더 시스템을 설정하는 것은 사용자가 직접 해야 하는 일입니다 - 관리자가 회원들을 위해 이러한 것을 사전에 구성하는 방법을 저는 알지 못합니다. 물론 문서화된 지침을 마련할 수는 있겠지만, 모든 사람은 각자의 방식으로 조직을 구성하므로 한 사람의 해결책이 다른 사람에게도 통용되지는 않을 수 있습니다. 질문자님의 실제 포럼 목적이나 이 사용 사례가 무엇인지 모르기 때문에 이에 대해서는 언급할 수 없습니다.
아니요, 아닙니다. 사실 저는 제 커뮤니티 사용자들이 다른 도구에 대해 잘 모를 경우, 사적인 메모를 위해 받은 편지함(inbox)을 어떻게 사용할 수 있는지 설명하기 위한 사용자 가이드를 작성할 수 있도록 제한 사항을 알고 싶었습니다. PM(개인 메시지)을 PKMS(개인 지식 관리 시스템)처럼 사용하는 것이 Discourse의 본래 목적은 아니라는 점에는 동의합니다.
저는 사용자의 받은 편지함에 폴더 시스템 템플릿을 만들고자 하는 것이 아닙니다. 단지 더 복잡한 도구들을 깊이 파고들고 싶지 않은 경우, PM을 이용해 사적인 메모를 남기는 방법을 알려주는 것뿐입니다.
이 시점에서 저는 제한 사항과 제가 취할 접근 방식에 대해 충분히 인지하고 있습니다:
사용자가 개인 메모로 PM을 사용할 수 있는 방법을 예시와 함께 보여주는 상세 가이드를 작성할 것입니다.