자동 그룹의 가시성(visibility)이 어떻게 작동하는지 조금 혼란스럽습니다. 여기서는 단순히 /groups 디렉터리에 대해 이야기하고 있습니다.
2.7.0.beta4의 비교적 새로운 설치 환경에서 확인되는 내용은 다음과 같습니다:
관리자 또는 모더레이터 권한이 있는 사용자가 /groups를 보면 모든 8개의 자동 그룹(admins , moderators , staff , trust_level_[0-4] )이 표시됩니다.
관리자나 모더레이터가 아닌 사용자(신뢰 수준에 관계없이)가 /groups를 보면 moderators 그룹만 표시됩니다.
하지만 이 모든 그룹은 동일한 기본 가시성 설정을 가지고 있습니다:
이 그룹을 볼 수 있는 사용자? 로그인한 사용자
이 그룹의 멤버를 볼 수 있는 사용자? 모든 사용자
이것이 의도된 동작 방식인가요? 아니면 이 그룹들의 가시성 파라미터 처리에 문제가 있는 건가요?
simon
3월 4, 2021, 1:06오전
2
코드의 주석에 무슨 일이 일어나고 있는지 설명이 있습니다: “hide automatic groups from all non stuff to de-clutter page.”(페이지를 정리하기 위해 모든 비스태프 사용자에게 자동 그룹을 숨김). 해당 로직은 여기에서 수행됩니다: discourse/app/controllers/groups_controller.rb at main · discourse/discourse · GitHub .
이 코드는 그룹 페이지를 비스태프 사용자가 볼 때 자동 그룹의 가시성 설정을 오버라이드하는 역할을 합니다. 이 경우에만 Moderator(모더레이터) 그룹만 표시됩니다.
이 문제와 직접적인 관련은 없지만, 위에서 공유한 GitHub 링크를 원박스(onebox)로 시도했을 때, 미리보기에서 포맷팅 없이 코드가 그대로 표시되었습니다:
음, 그 점이 상황을 설명해 주네요. 그 코드는 좋은 의도로 작성되었을 것이라고 확신하지만, 다음과 같은 이유로 깨져 있습니다:
저는 (모더레이터 외에) 다른 자동 그룹이 보이기를 원할 수도 있습니다.
자동 그룹의 관리 인터페이스에서 모더레이터가 아닌 자동 그룹의 가시성을 설정할 수 있지만 , 이 설정은 무시 됩니다.
그 코드 블록(그리고 지난 6년간 살아남은 귀여운 오타)을 그냥 삭제하는 것은 꽤 쉬울 것입니다.
필요하다고 생각한다면, 어려운 부분은 자동 그룹의 현재 가시성 설정 을 "그룹 소유자"로 변경하는 것입니다. 이렇게 해야 자동 그룹이 강제로 비공개로 설정되던 것에 익숙한 모든 설치 환경에서 의도치 않게 노출되지 않습니다. Discourse가 업그레이드 중에 이러한 변경을 수행하는 어떤 메커니즘이 있는지 모르겠습니다 — 하지만 스키마 변경 시 필요한 종류의 작업이므로, 반드시 어떤 방법이 있을 것입니다.
또한: 가시성 설정에도 불구하고 그룹 카탈로그에서 자동 그룹을 단순히 숨기는 이 동작은 나쁘다. 왜냐하면 visibility_level의 여전히 의미 있는 다른 측면들을 가리기 때문이다. 예를 들어,
관리자 X가 가시성 설정을 시도해 보았는데, 직원 외 사용자는 어떤 설정을 하더라도 그룹 카탈로그에서 trust_level_0을 볼 수 없다는 사실을 깨닫는다.
그래서… 관리자 X는 해당 설정들이 아무런 효과가 없는 것으로 보이기 때문에 visibility_level과 member_visibility_level을 모두 "모두"로 남겨둔다.
익명 사용자 Z가 /groups/trust_level_0으로 이동하여 사이트의 모든 사용자 목록을 가져간다.
관리자 X가 이를 신경 쓰든 말든, 어쨌든 이것이 가능했다는 사실에 놀라울 것이다.
지금까지 몰랐던 무관한 재미있는 사실들
meta.discourse 사용자의 신뢰 수준별 분포:
수준
사용자 수
TL0
45,942
TL1
29,226
TL2
3,620
TL3
124
TL4
102
Canapin
(Coin-coin le Canapin)
9월 28, 2023, 7:50오전
6
안녕하세요 mdoggydog
몇 가지 포인트가 타당하다고 생각됩니다. 예를 들어:
이 부분은 혼란을 줍니다.
제안 사항들을 Contribute > Feature 토픽으로 만들어 주시길 초대합니다