그룹 사용자 상태

:information_source: 요약 사용자 상태 기능을 특정 그룹으로 제한합니다
:hammer_and_wrench: 리포지토리 링크 https://github.com/Lillinator/group-user-status
:open_book: 설치 가이드 Discourse에서 플러그인 설치하는 방법

:woman_technologist:t2: 개요

이 간단한 플러그인은 포럼 관리자가 사용자 상태를 특정 사용자 그룹 또는 신뢰 수준으로 제한할 수 있는 기능을 제공합니다.

현재 Discourse 코어에서 사용자 상태는 포럼 전체에만 활성화할 수 있습니다. 그러나 이 플러그인은 더 세밀한 제어를 도입하여 관리자가 사용자 상태를 설정하고 표시할 수 있는 사용자 그룹을 지정할 수 있게 하여, 맞춤형 커뮤니티 관리를 위한 유연성을 제공합니다.

기능

  • 그룹 기반 권한 - 사용자 상태 설정을 선택된 그룹(신뢰 수준, 사용자 정의 그룹, 또는 둘 다)으로 제한
  • 관리자 우회 - 그룹 선택과 관계없이 관리자는 항상 상태 권한을 보유
  • 자동 정리 - 사용자가 권한을 상실할 때(설정 변경 또는 그룹 제거를 통해) 해당 사용자의 상태를 제거
  • UI 통합 - 권한이 없는 사용자에게 상태 컨트롤 숨김

:gear: 설치 및 구성

  1. 표준 플러그인 설치 가이드를 따르세요.

  2. 관리자 -> 모든 사이트 설정으로 이동하여 "user status"를 검색하여 관련 관리자 설정을 찾으세요.

  3. 기존 관리자 설정인 Enable_user_status가 활성화되어 있는지 확인하세요.

  4. 그런 다음 새로운 관리자 설정인 User_status_allowed_groups로 이동하여 사용자 상태 기능을 사용하고 표시할 수 있는 그룹을 선택하세요.

  5. User_status_allowed_groups 설정 목록에 없는 그룹은 사용자 메뉴의 탭이나 preferences/account 탭에서 사용자 상태 모달에 접근할 수 없습니다.

  6. Enable_user_status가 이미 활성화되어 있고 일부 사용자가 사용자 상태를 설정한 경우, 이 플러그인은 해당 사용자가 즉시 새로운 설정에 추가되지 않는 한 그들의 상태를 지웁니다.

  7. 사용자가 /admin/users/ 또는 /admin/groups/ 경로를 통해 허용된 그룹에서 제거되거나(또는 스스로 그룹을 나가는 것이 허용되어 그렇게 하는 경우) 기존 상태가 제거됩니다.

  8. 의사 그룹 everyone을 선택하는 것은 기본값으로 비워두거나 컴포넌트를 설치하지 않는 것과 차이가 없습니다.

  9. 관리자는 선택된 그룹과 관계없이 항상 자신의 상태를 설정하고 변경할 수 있습니다. 따라서 admins 그룹만 선택하면 사용자 상태 사용이 포럼 관리자로 제한됩니다.


:wrench: 설정

플러그인이 추가하는 새로운 관리자 설정이 하나 있습니다. User_status_allowed_groups로, 포럼의 그룹 목록이 드롭다운으로 표시됩니다. 모든 사이트 설정에서 user status를 검색하여 찾을 수 있으며, 관리자 사이드바의 Group permissions 섹션에 나열되어 있습니다.


:briefcase: 사용 사례 예시

  • 사용자 상태 기능이 포럼 스태프에게만 관련이 있고, 나머지 포럼 사용자에게 사용자 상태를 표시하고 싶을 때.

  • 카테고리 모더레이터만 상태를 설정할 수 있도록 하는 것.

  • 신뢰도가 낮은 사용자 그룹의 사용자 상태 기능 남용(또는 기타 오용)을 방지하는 데 사용할 수 있습니다.

  • 특수 그룹만 사용자 상태를 표시할 수 있어야 하는 경우 - 예를 들어, 기술 지원 팀, 제품 판매자, 카테고리 전문가, 후원자, 마스터 요요 트릭스터 등.

  • 관리자만 커피를 마시러 갈 수 있습니다 :wink: :coffee:.


:bulb: 참고: 알림 및 캘린더 통합

이 플러그인은 사용자 상태에만 영향을 미치며, 알림 설정에는 영향을 미치지 않습니다:

  • 상태 모달의 “알림 일시 정지” 옵션은 별개의 기능입니다.
  • 사용자가 이 플러그인에 의해 상태가 지워져도, 일시 정지된 알림은 활성 상태로 유지됩니다.
  • 일시 정지된 알림 표시기는 기간이 만료되거나 사용자가 수동으로 일시 정지를 해제할 때까지 아바타에 유지됩니다.

Discourse Calendar 플러그인이 설치되어 있는 경우:

  • Calendar 플러그인이 설정한 휴일 상태는 이 플러그인의 영향을 받지 않습니다.
  • 매우 드문 경계 사례: 사용자가 수동으로 휴일 상태를 덮어쓰고, 예약된 휴일 동안 관리자가 user_status_allowed_groups에서 해당 사용자의 그룹을 제거하면, 수동으로 설정된 상태가 지워집니다.
  • Calendar 플러그인은 10분마다 휴일 상태를 자동으로 재설정하므로, 지워진 상태는 다음 예약된 실행 시 복원됩니다.
  • 사용자가 허용된 그룹에 속하지 않으면, 현재 예약된 휴일 상태가 있어도 수동으로 상태를 설정하거나 편집할 수 없습니다.

:camera_flash: 더 많은 스크린샷

사용자 상태에 대한 설정 효과 스크린샷

사용자 상태 기능을 사용할 권한은 User_status_allowed_groups 설정에서 부여됩니다. 예를 들어, test-pilot 사용자는 TL_2이고 purple 그룹에 속합니다. 여기에서 StaffTL_4와 함께 사용자 상태를 설정하고 표시할 수 있습니다:


User_status_allowed_groups 설정이 변경되고 purple 그룹이 설정에서 제거되는 즉시, test-pilot 사용자의 사용자 상태 기능 사용 권한은 사용자 메뉴와 preferences/account 페이지에서 제거되고, 기존 사용자 상태가 설정되어 있다면 다음 페이지 새로고침 시 지워집니다. 사용자가 그룹에서 제거되거나(허용된 경우) 탈퇴할 때에도 동일한 효과가 발생합니다.


제 기타 Discourse 관련 작업 보기
16개의 좋아요

Nice work! And beautifully documented. I look forward to giving it a go.

1개의 좋아요

불필요한 anonymous_users, logged_in_users, everyone 그룹이 선택되지 않도록, 새로운 disallowed_groups 세밀한 설정으로 이 플러그인을 업데이트했습니다. Discourse 인스턴스를 다음에 업데이트할 때 자동으로 업데이트됩니다.

자세한 내용은 이 토픽을 참고하세요:

3개의 좋아요