카테고리 보기가 없는 그룹의 '카테고리 기본 알림' 업데이트

그룹이 열람할 권한이 없는 카테고리에 대해 카테고리 알림(/g/[group_name}/manage/categories)을 설정할 수 있습니다. 예를 들어, Trust_level_0의 모든 멤버가 Staff 카테고리를 감시하도록 설정할 수 있습니다. 변경 사항을 과거에 적용하라는 프롬프트도 제공됩니다:

Discourse가 실제로 그 변경 사항을 적용하여 직원들의 비공개 대화를 랜덤한 사용자에게 보여주기 시작한다면 매우 나쁜 :tm: 상황이 될 것입니다. 다행히 그 프롬프트는 거짓말입니다. (스테이징 인스턴스에서) 이 매우 불안한 변경 사항을 적용한 후 랜덤한 사용자로 변장하여 확인해 보니, 해당 사용자의 추적 설정(/my/preferences/tracking/)에 이 항목이 설정되어 있지 않으며 새 활동에 대한 알림을 받지 않는 것을 확인할 수 있었습니다. 카테고리 보안은 예상대로 작동하고 있습니다.

그러나 관리자로 로그인한 상태에서 해당 사용자의 추적 설정을 살펴보면 다음과 같은 화면이 보입니다:

여러 가지 비공개 카테고리에 사용자를 추가할 수 있으며, Discourse가 백그라운드에서 모든 것을 올바르게 관리하고 있다는 사실을 알지 못한다면 순간적으로 당황할 수 있습니다.

제 생각에는 사용자가 실제로 읽을 수 없는 카테고리에 대한 추적 설정을 관리자가 설정하는 것을 허용하지 않는 것이 올바른 접근 방식입니다. 즉, 다른 사용자의 프로필을 방문하는 동안 해당 사용자가 카테고리를 볼 수 있는 그룹에 속하지 않는 한 카테고리를 수동으로 추가할 수 없어야 합니다. 그리고 대량 업데이트를 사용하여 전체 그룹을 카테고리에 추가할 때, 해당 그룹이 카테고리를 읽을 권한이 없으면 오류가 발생해야 합니다.

알림이 실제로 전송되지 않는 알림 설정을 관리자가 추가할 수 있도록 하는 데에는 어떤 이유가 있을까요? 제가 생각할 수 있는 유일한 경우는 관리자가 미래에 카테고리를 공개할 계획을 세우고, 적절한 그룹에 대한 알림을 미리 준비해 두려는 경우일 것입니다. (하지만 그것이 합리적인 일인지 저는 알지 못합니다.)

1개의 좋아요

걱정할 필요 없습니다. 알림을 발생시키는 시점에서 항상 권한을 확인하는 것이 알림 파이프라인의 작동 방식입니다.

따라서 이 경우 정보 유출은 발생하지 않으며, 단순히 레코드를 설정해 두는 것입니다. 만약 사용자가 우연히 스태프가 되어 가시성을 얻게 된다면, 자동으로 감시(watch) 상태가 됩니다.

이것은 주로 관리자에게 무슨 일이 일어날지 거짓말하지 않도록 UX를 개선하는 데 초점이 맞춰져 있는 것 같습니다.

1개의 좋아요

맞아요. 사용자는 이 일이 진행 중이라는 사실조차 모릅니다. 하지만 관리자(특히 이런 상황에서 문제가 생길 수 있는 소프트웨어에 익숙한 관리자)는 실제로 알림이 전송되지 않는지 확인하기 위해 이메일 로그, 다른 사용자 사칭, 스테이징 환경에서의 테스트 등 여러 가지를 파고들어야 합니다.

1개의 좋아요