Staff 카테고리에서 mods에 대해 하위 카테고리를 생성할 수 없는 이유는 무엇인가요?

관리자용(또는 модератор용) 하위 카테고리를 Staff 카테고리에 만들려 하면 이런 문제가 발생합니다:

“하위 카테고리에 접근 권한이 있는 그룹은 반드시 상위 카테고리에 대한 접근 권한도 가져야 합니다. 다음 그룹은 하위 카테고리에 접근 권한은 있지만 상위 카테고리에 대한 접근 권한이 없습니다: admins.”

하지만:

  • moderators와 admins 모두 Staff 카테고리에 접근 권한이 있습니다. 따라서 그렇게 할 수 있어야 합니다.

  • 저는 수년째 운영 중인 다른 포럼의 관리자를 맡고 있는데, 그곳에는 Staff 아래에 관리자 전용 또는 модератор 전용 하위 카테고리가 있습니다.

생각해 주실 점 있으신가요?

[수정: 재미로, 관리자 전용 카테고리를 만들려 할 때 실제로 표시되는 라벨을 스크린샷으로 찍어 봤습니다:

(1) admins는 Staff 하위 카테고리에 접근 권한이 있는 데다, (2) admins는 어디든 갈 수 있기 때문에 다소 웃깁니다. 즉, 기본적으로 모든 카테고리에 대한 접근 권한을 가지고 있는 셈이죠.

물론, Staff의 보안 섹션을 편집해서 전체 카테고리에 대해 moderators와 admins를 특별히 추가할 수도 없습니다.]

생성하는 하위 카테고리가 직원만 사용할 수 있도록 해야 합니다. 모든 사용자가 사용할 수 있는 카테고리를 생성하려고 했으나, 생성 당시 권한 설정을 확인하지 않아 그렇게 생각하지 않고 있습니다.

그런 줄 알았기 때문에 메시지를 삭제했지만, 오류 메시지를 다시 읽어보세요:

“하위 카테고리에 접근할 수 있는 그룹은 반드시 상위 카테고리에 대한 접근 권한도 가져야 합니다. 다음 그룹은 하위 카테고리에 접근할 수 있지만 상위 카테고리에 대한 접근 권한이 없습니다: moderators.”

그래서 시도해 보았지만 동일한 문제가 발생했습니다.
보안을 "moderators: can see/post/create"로 설정하여 하위 카테고리를 생성하려고 했는데, moderators는 "staff"에 포함되어야 하고 상위 카테고리 보안이 "staff: can read/post/create"로 설정되어 있음에도 불구하고 동일한 오류 메시지가 표시됩니다.

버그인 것 같기도 한데, 왜 스태프가 아니라 모더레이터가 태양 카테고리를 읽을 수 있게 해야 하나요?

보안 설정이 권한(capabilities)이 아닌 그룹 기반으로 이루어지기 때문에 이런 문제가 발생하는 것 같습니다.

모더레이터는 스태프와 모더레이터 그룹에 모두 속해 있습니다.

하지만 스태프 카테고리와 그 하위 모더레이터 서브카테고리가 있었다면, 모더레이터 그룹에만 속한 사용자는 어떻게 될까요? 해당 사용자는 서브카테고리에는 접근할 수 있지만 상위 카테고리에는 접근할 수 없게 되며, Discourse는 이를 허용하지 않습니다.

이론적으로 모더레이터가 접근할 수 있는 서브카테고리를 만들고 싶다면 상위 카테고리 보안 설정에 "moderators: can see/post/create"를 추가해야 하지만, 기본 스태프 서브카테고리에서는 이를 설정할 수 없습니다.

또한, 스태프란 모더레이터와 관리자를 모두 의미하며, 관리자는 모든 카테고리에 접근할 수 있으므로 이 또한 무의미합니다.

누군가가 이를 확인해야 합니다. 추측컨대, 사용자는 모더레이터 권한 없이도 moderstor 그룹에 추가될 수 있을 것입니다.

반면, Staff의 경우에는 Moderator 또는 Admin 권한이 필요합니다.

네. 하지만 우리는 그렇게 했습니다. ‘모두(everyone)’ 권한 등을 제거하고, 하위 카테고리에 접근할 수 있는 그룹을 관리자(admin) 또는 모더레이터(mods)로만 남겼습니다. 하지만 작동하지 않습니다.

과거에는 가능했습니다. 그리고 권한 규칙에 따르면 가능해야 합니다.

버그인 것 같습니다.

개인정보 보호 등의 문제로 인해 관리자만 읽을 수 있는 문제들이 있습니다. 따라서 관리자 전용 하위 카테고리가 필요합니다.

모더레이터용 하위 카테고리는 편의를 위해 존재합니다: 모더레이터 관련 주제에 대한 토론을 한 곳에서 다루기 위해서입니다. 관리자는 어차피 모든 것을 볼 수 있으므로, 모더레이터용으로 표시하되 스태프용으로 설정하는 방식도 가능합니다. 그러면 문제가 절반은 해결되지만, 물론 그것은 꼼수에 불과합니다.

하지만 나머지 절반은 해결할 수 없습니다. 원본 게시물에 관리자에 대한 내용을 반영하도록 수정하겠습니다.

그것은 잘못된 것입니다. 모더레이터는 스태프 카테고리에 접근할 수 있습니다. 따라서 모더레이터(또는 관리자) 하위 카테고리를 만드는 것은 Discourse에서 허용되어야 합니다. 규칙은 하위 카테고리에 접근할 수 있는 모든 그룹은 상위 카테고리에 대해서도 접근할 수 있어야 한다는 것입니다.

하지만 모더레이터는 관리자가 보는 모든 내용을 볼 수 없으므로, 관리자 전용 하위 카테고리를 두는 것은 전혀 무의미하지 않을 것입니다.

제 메시지를 더 주의 깊게 읽어보시기 바랍니다. 시스템의 구조상 현재 정상적으로 작동하고 있으며, 여러분이 경험한 오류는 정상적인 것입니다. 포럼 접근 권한은 오직 그룹에만 의존합니다.

Discourse가 자동으로 생성하는 기본 스태프 카테고리는 Staff 그룹에게만 사용할 수 있습니다.
Moderators 그룹을 위한 서브카테고리를 생성하려고 해도 작동하지 않습니다. 이는 상위 카테고리가 Staff 그룹에게만 사용 가능하며 Moderators 그룹에게는 사용되지 않기 때문입니다.

모더레이터가 상위 카테고리에 접근할 수 있는 유일한 이유는 그들이 Staff 그룹에도 속해 있기 때문입니다.

여전히 "moderation"이라는 이름의 서브카테고리를 생성하고 보안 설정을 "스태프가 읽기/게시/답글 가능"으로 설정할 수 있으며, 이렇게 하면 정상적으로 작동합니다.

네, 무의미합니다. Administrators 그룹에게만 사용 가능한 카테고리나 서브카테고리를 아무 문제 없이 생성할 수 있습니다.

정리하자면: 이것이 문제의 원인이라고 생각합니다. 원래 설명으로 언급하려다가 결국 언급 없이 게시글을 올렸던 것 같습니다.

하지만, 이 경우 여러분이 만든 규칙이 그 규칙을 만든 이유를 반영하지 않는, 그토록 교활한 버그 중 하나입니다. 관리자(Mods)와 관리자(Admins) 모두 스태프(Staff)의 일부이며, 그 이유는 스태프(Staff) 내에 하위 카테고리를 만들 수 있어야 한다고 요구할 것입니다.

사실, 몇 년 전에는 관리자(Admins)만 또는 “단순히” 관리자(Mods)만 위한 스태프(Staff) 하위 카테고리를 만드는 것이 가능했습니다: 이는 분명히 적절했습니다.

관리자(Admins)만 위한 하위 카테고리를 가지는 것이 왜 무의미하겠습니까?

스태프(Staff) 카테고리에서는 불가능합니다. 위 스크린샷을 확인해 보세요.

말씀하신 대로 무의미하지 않다는 뜻이었습니다. :slight_smile:

맞습니다.
이러한 하위 카테고리를 만들려면, 읽기/게시/생성 권한이 "관리자, 스태프, 모더레이터"로 설정된 뉴스 스태프 상위 카테고리를 만들어야 할 것 같습니다.

언급된 대로 새 카테고리를 만들면 안 될 이유가 있나요? Staff는 전문화된 그룹입니다.

사용자를 여러 그룹에 추가할 수 있습니다. 일부 사용자가 B 그룹에 속하면서 동시에 A 그룹의 일원일 수도 있습니다. 그렇다고 해서 A 그룹이 카테고리에 대한 접근 권한을 가지고 있다고 해서 B 그룹도 자동으로 접근 권한을 갖는 것은 아닙니다. 다만 Trust Level Category Permissions은 최소한의 수준에서 작동합니다.

정확히는 모르겠지만, Staff Permissions를 편집하여 Moderator 그룹이 직접 접근할 수 있도록 허용할 수 있을 것 같습니다.

Discourse에는 계층적 권한이라는 것이 없습니다. Staff는 관리자+모더레이터의 특수한 집합입니다. 하위 카테고리는 상위 카테고리에 존재하지 않는 그룹을 지정할 수 없으며, Staff 그룹은 고정된 ACL을 가지고 있습니다. Staff 카테고리에 명시된 바와 같이:

경고: 이 카테고리는 미리 생성된 카테고리이며 보안 설정을 편집할 수 없습니다. 이 카테고리를 사용하지 않으려면 재사용하는 대신 삭제하십시오.

이것은 버그가 아닙니다. 당신은 단순히 기본 Staff 카테고리에 맞지 않는 사용 사례를 가지고 있는 것입니다. 다른 무언가를 하고 싶다는 욕망에는 아무런 문제가 없지만, 내장된 카테고리를 다른 목적으로 사용할 수 없다는 이유로 이것이 버그라고 주장하는 것은 잘못된 것입니다.

그대로 사용하지 않으려는 것이 꽤 명확해 보입니다. 관리자와 모더레이터가 접근할 수 있는 새로운 상위 카테고리를 만들고, 그 아래에 각각의 하위 카테고리를 만드는 것을 막을 것은 아무것도 없습니다.

이것은 카테고리 권한 경고 시스템의 극히 사소한 버그입니다. 시스템이 staff == admins + moderators라는 사실을 인식하지 못하기 때문입니다.

12개나 되는 게시글을 주고받으며 논쟁할 가치가 없습니다.

우회하려면 admins와 moderators를 상위 카테고리의 허용 그룹에 명시적으로 추가하면 됩니다. 관리자는 여전히 moderators 하위 카테고리에 접근할 수 있다는 점을 염두에 두세요.

네. 하지만 모더레이터(mods)는 관리자 하위 카테고리에 접근할 수 없습니다.

일반적인 경우에는 가능하지만, 질문의 주제였던 Staff 카테고리는 자동 생성되며 권한을 변경할 수 없기 때문에 이 방법은 적용할 수 없습니다. (a) Staff 카테고리는 모든 설치 환경에서 자동 생성되고, (b) 사용성을 위해 카테고리 수를 제한하는 것이 중요하며, (c) Staff 카테고리는 과거에는 정상적으로 작동했기 때문에, 저는 이것이 무리한 요청이라고 생각하지 않습니다.

제 제안은 단순한 해결책입니다. 현재 Staff 카테고리가 자동 생성될 때 다음과 같은 권한이 설정되며(변경 불가):
staff는 생성/답글/보기 가능

대신, Staff가 자동 생성될 때 Discourse는 다음과 같은 권한을 설정해야 합니다:
staff는 생성/답글/보기 가능
admins는 생성/답글/보기 가능
moderators는 생성/답글/보기 가능

이 간단한 수정으로 이 버그가 해결되고, 추가적이고 무용한 카테고리를 만들 필요가 없으며, Staff 카테고리가 과거처럼 정상적으로 작동하게 될 것입니다.

저는 당신의 논점이 역전되었다고 생각합니다. 내장 카테고리를 변경하는 것, 특히 수천 개의 다른 설치 환경이 이미 기존 권한으로 작동하고 있는 상황에서, 목적에 맞게 특별히 제작된 카테고리를 만드는 것이 훨씬 더 간단합니다.

실제로 제 해결책을 주의 깊게 읽어보시면, 그것이 하위 호환을 지원하며 이전 설치 환경이 이전과 동일하게 작동하도록 유지한다는 점을 알게 되실 것입니다.

하지만 이는 후방 호환성과는 전혀 무관합니다. 이 주제에서 변경을 주장하는 사람은 당신뿐입니다. 당신이 제안한 방식도 여전히 개발 시간이 필요하고, 테스트도 필요하며, 유지보수도 필요합니다. 기존 설정으로 정상 작동하는 수천 개의 설치 사례가 있다는 것은, 현재 상태를 문제없이 받아들이는 수천 개의 관리자/모더레이션 팀이 존재한다는 뜻이기도 합니다.

이 주제는 몇 달 전에 올라온 것입니다. 4월에는 이 작업을 올바른 방식으로 구현할 수 있었을 텐데, 왜 CDCK가 7년간 이렇게 작동해 온 소프트웨어를 단 하나의 사이트를 위해 변경하도록 자금을 지원해야 한다고 기대합니까? 자신의 설정에서 가장 간단한 변경조차 기꺼이 하지 않는다면, 왜 누군가가 무엇이든 해야 합니까? 당신이 가이드라인을 따를 의사가 없다는 점은 다른 사람들의 행동도 자극하지 못합니다.

몇 달 전에 제안했듯이, 스태프 카테고리에 특별한 점은 없습니다. 적절한 권한을 가진 다른 카테고리를 만들면 됩니다. 문제가 해결됩니다.

위의 어떤 조치보다도, 당신의 커뮤니티에서 작은 변경 사항을 구현하는 것이 훨씬 간단합니다.

이것은 올바른 방식이 아닙니다. 하지만 저는 4월에 이를 구현했습니다. 우리는 버그가 수정되거나 기능이 구현될 때까지 기다리지 않고 우리의 업무를 정리하는 것이 일반적입니다.

네, 네, 그리고 아니오. 저는 수년간 소프트웨어 개발자 및 관리자로 일해 왔으며, 버그를 수정하는 데 무엇이 필요한지 잘 알고 있습니다. 이 수정에는 몇 분의 개발 시간, 몇 시간의 테스트 시간이 필요할 뿐이며, 현재 버전보다 더 많은 유지보수는 필요하지 않습니다.

당신의 논리는 새로운 것을 개발하는 데 아무런 의미가 없다는 것을 의미합니다. 현재 상태의 Discourse를 사용하는 수천 개의 팀이 있는데, 왜 단 한 시간이라도 더 개발에 시간을 쓰겠습니까? 논리적으로 논의해 주십시오.

이것은 위에서 제가 한 언급들을 고려할 때 명백히 근거 없는, 쓸모 없이 무례한 가정입니다.

사실, 당신은 틀렸습니다. 오랫동안 더 나은 방식으로 작동했습니다. 다음은 4~5년 된 기존 호스팅 Discourse 시스템의 예시이며, 이는 모더레이터 서브 카테고리를 허용하는 네이티브 스태프 카테고리를 가지고 있습니다:

이 문제는 제 시스템과는 아무런 관련이 없습니다. 제가 작동하도록 하기 위해 이 변경이 필요한 것이 아닙니다. 핵심은 모든 Discourse 시스템이 본질적으로 가질 수 있는 기능보다 열등한 스태프 카테고리를 갖추고 있다는 것입니다. 그리고 과거에는 더 좋았습니다. Discourse가 스태프 카테고리를 자동으로 생성하는 수고를 들인다면, 왜 이를 잘하고 깔끔하게 설계하지 않습니까? 저는 구현이 쉽고 간단하며, 여러 카테고리의 스태프를 다루는 우리와 같은 사람들에게 유용한 기능을 회복할 수 있는 제안을 하고 있습니다. 팀은 제 제안을 고려할 수 있습니다. 하지 않아도 됩니다.

경고: 이 카테고리는 사전에 생성된 카테고리이며 보안 설정을 수정할 수 없습니다. 이 카테고리를 사용하지 않으려면 용도를 변경하는 대신 삭제하세요.

스태프 카테고리를 다시 만들고 주제를 새 카테고리로 이동시키면 되나요?