“하위 카테고리에 접근할 수 있는 그룹은 반드시 상위 카테고리에 대한 접근 권한도 가져야 합니다. 다음 그룹은 하위 카테고리에 접근할 수 있지만 상위 카테고리에 대한 접근 권한이 없습니다: moderators.”
그래서 시도해 보았지만 동일한 문제가 발생했습니다.
보안을 "moderators: can see/post/create"로 설정하여 하위 카테고리를 생성하려고 했는데, moderators는 "staff"에 포함되어야 하고 상위 카테고리 보안이 "staff: can read/post/create"로 설정되어 있음에도 불구하고 동일한 오류 메시지가 표시됩니다.
네. 하지만 우리는 그렇게 했습니다. ‘모두(everyone)’ 권한 등을 제거하고, 하위 카테고리에 접근할 수 있는 그룹을 관리자(admin) 또는 모더레이터(mods)로만 남겼습니다. 하지만 작동하지 않습니다.
과거에는 가능했습니다. 그리고 권한 규칙에 따르면 가능해야 합니다.
버그인 것 같습니다.
개인정보 보호 등의 문제로 인해 관리자만 읽을 수 있는 문제들이 있습니다. 따라서 관리자 전용 하위 카테고리가 필요합니다.
모더레이터용 하위 카테고리는 편의를 위해 존재합니다: 모더레이터 관련 주제에 대한 토론을 한 곳에서 다루기 위해서입니다. 관리자는 어차피 모든 것을 볼 수 있으므로, 모더레이터용으로 표시하되 스태프용으로 설정하는 방식도 가능합니다. 그러면 문제가 절반은 해결되지만, 물론 그것은 꼼수에 불과합니다.
하지만 나머지 절반은 해결할 수 없습니다. 원본 게시물에 관리자에 대한 내용을 반영하도록 수정하겠습니다.
그것은 잘못된 것입니다. 모더레이터는 스태프 카테고리에 접근할 수 있습니다. 따라서 모더레이터(또는 관리자) 하위 카테고리를 만드는 것은 Discourse에서 허용되어야 합니다. 규칙은 하위 카테고리에 접근할 수 있는 모든 그룹은 상위 카테고리에 대해서도 접근할 수 있어야 한다는 것입니다.
하지만 모더레이터는 관리자가 보는 모든 내용을 볼 수 없으므로, 관리자 전용 하위 카테고리를 두는 것은 전혀 무의미하지 않을 것입니다.
제 메시지를 더 주의 깊게 읽어보시기 바랍니다. 시스템의 구조상 현재 정상적으로 작동하고 있으며, 여러분이 경험한 오류는 정상적인 것입니다. 포럼 접근 권한은 오직 그룹에만 의존합니다.
Discourse가 자동으로 생성하는 기본 스태프 카테고리는 Staff 그룹에게만 사용할 수 있습니다. Moderators 그룹을 위한 서브카테고리를 생성하려고 해도 작동하지 않습니다. 이는 상위 카테고리가 Staff 그룹에게만 사용 가능하며 Moderators 그룹에게는 사용되지 않기 때문입니다.
모더레이터가 상위 카테고리에 접근할 수 있는 유일한 이유는 그들이 Staff 그룹에도 속해 있기 때문입니다.
여전히 "moderation"이라는 이름의 서브카테고리를 생성하고 보안 설정을 "스태프가 읽기/게시/답글 가능"으로 설정할 수 있으며, 이렇게 하면 정상적으로 작동합니다.
네, 무의미합니다. Administrators 그룹에게만 사용 가능한 카테고리나 서브카테고리를 아무 문제 없이 생성할 수 있습니다.
정리하자면: 이것이 문제의 원인이라고 생각합니다. 원래 설명으로 언급하려다가 결국 언급 없이 게시글을 올렸던 것 같습니다.
하지만, 이 경우 여러분이 만든 규칙이 그 규칙을 만든 이유를 반영하지 않는, 그토록 교활한 버그 중 하나입니다. 관리자(Mods)와 관리자(Admins) 모두 스태프(Staff)의 일부이며, 그 이유는 스태프(Staff) 내에 하위 카테고리를 만들 수 있어야 한다고 요구할 것입니다.
사실, 몇 년 전에는 관리자(Admins)만 또는 “단순히” 관리자(Mods)만 위한 스태프(Staff) 하위 카테고리를 만드는 것이 가능했습니다: 이는 분명히 적절했습니다.
언급된 대로 새 카테고리를 만들면 안 될 이유가 있나요? Staff는 전문화된 그룹입니다.
사용자를 여러 그룹에 추가할 수 있습니다. 일부 사용자가 B 그룹에 속하면서 동시에 A 그룹의 일원일 수도 있습니다. 그렇다고 해서 A 그룹이 카테고리에 대한 접근 권한을 가지고 있다고 해서 B 그룹도 자동으로 접근 권한을 갖는 것은 아닙니다. 다만 Trust Level Category Permissions은 최소한의 수준에서 작동합니다.
정확히는 모르겠지만, Staff Permissions를 편집하여 Moderator 그룹이 직접 접근할 수 있도록 허용할 수 있을 것 같습니다.
Discourse에는 계층적 권한이라는 것이 없습니다. Staff는 관리자+모더레이터의 특수한 집합입니다. 하위 카테고리는 상위 카테고리에 존재하지 않는 그룹을 지정할 수 없으며, Staff 그룹은 고정된 ACL을 가지고 있습니다. Staff 카테고리에 명시된 바와 같이:
경고: 이 카테고리는 미리 생성된 카테고리이며 보안 설정을 편집할 수 없습니다. 이 카테고리를 사용하지 않으려면 재사용하는 대신 삭제하십시오.
이것은 버그가 아닙니다. 당신은 단순히 기본 Staff 카테고리에 맞지 않는 사용 사례를 가지고 있는 것입니다. 다른 무언가를 하고 싶다는 욕망에는 아무런 문제가 없지만, 내장된 카테고리를 다른 목적으로 사용할 수 없다는 이유로 이것이 버그라고 주장하는 것은 잘못된 것입니다.
그대로 사용하지 않으려는 것이 꽤 명확해 보입니다. 관리자와 모더레이터가 접근할 수 있는 새로운 상위 카테고리를 만들고, 그 아래에 각각의 하위 카테고리를 만드는 것을 막을 것은 아무것도 없습니다.
일반적인 경우에는 가능하지만, 질문의 주제였던 Staff 카테고리는 자동 생성되며 권한을 변경할 수 없기 때문에 이 방법은 적용할 수 없습니다. (a) Staff 카테고리는 모든 설치 환경에서 자동 생성되고, (b) 사용성을 위해 카테고리 수를 제한하는 것이 중요하며, (c) Staff 카테고리는 과거에는 정상적으로 작동했기 때문에, 저는 이것이 무리한 요청이라고 생각하지 않습니다.
제 제안은 단순한 해결책입니다. 현재 Staff 카테고리가 자동 생성될 때 다음과 같은 권한이 설정되며(변경 불가):
staff는 생성/답글/보기 가능
대신, Staff가 자동 생성될 때 Discourse는 다음과 같은 권한을 설정해야 합니다:
staff는 생성/답글/보기 가능
admins는 생성/답글/보기 가능
moderators는 생성/답글/보기 가능
이 간단한 수정으로 이 버그가 해결되고, 추가적이고 무용한 카테고리를 만들 필요가 없으며, Staff 카테고리가 과거처럼 정상적으로 작동하게 될 것입니다.
하지만 이는 후방 호환성과는 전혀 무관합니다. 이 주제에서 변경을 주장하는 사람은 당신뿐입니다. 당신이 제안한 방식도 여전히 개발 시간이 필요하고, 테스트도 필요하며, 유지보수도 필요합니다. 기존 설정으로 정상 작동하는 수천 개의 설치 사례가 있다는 것은, 현재 상태를 문제없이 받아들이는 수천 개의 관리자/모더레이션 팀이 존재한다는 뜻이기도 합니다.
이 주제는 몇 달 전에 올라온 것입니다. 4월에는 이 작업을 올바른 방식으로 구현할 수 있었을 텐데, 왜 CDCK가 7년간 이렇게 작동해 온 소프트웨어를 단 하나의 사이트를 위해 변경하도록 자금을 지원해야 한다고 기대합니까? 자신의 설정에서 가장 간단한 변경조차 기꺼이 하지 않는다면, 왜 누군가가 무엇이든 해야 합니까? 당신이 가이드라인을 따를 의사가 없다는 점은 다른 사람들의 행동도 자극하지 못합니다.
몇 달 전에 제안했듯이, 스태프 카테고리에 특별한 점은 없습니다. 적절한 권한을 가진 다른 카테고리를 만들면 됩니다. 문제가 해결됩니다.
위의 어떤 조치보다도, 당신의 커뮤니티에서 작은 변경 사항을 구현하는 것이 훨씬 간단합니다.
이 문제는 제 시스템과는 아무런 관련이 없습니다. 제가 작동하도록 하기 위해 이 변경이 필요한 것이 아닙니다. 핵심은 모든 Discourse 시스템이 본질적으로 가질 수 있는 기능보다 열등한 스태프 카테고리를 갖추고 있다는 것입니다. 그리고 과거에는 더 좋았습니다. Discourse가 스태프 카테고리를 자동으로 생성하는 수고를 들인다면, 왜 이를 잘하고 깔끔하게 설계하지 않습니까? 저는 구현이 쉽고 간단하며, 여러 카테고리의 스태프를 다루는 우리와 같은 사람들에게 유용한 기능을 회복할 수 있는 제안을 하고 있습니다. 팀은 제 제안을 고려할 수 있습니다. 하지 않아도 됩니다.