특정 그룹에 속한 사용자에게 토픽을 숨기는 테마 컴포넌트

무엇을 원하시나요?

특정 “나쁜” 그룹에 속한 사용자에게 최신(Latest) 페이지에서 특정 주제를 숨기고 싶습니다. 테마 컴포넌트로 이 작업이 가능하다고 생각하지만, 다른 아이디어도 환영합니다. 이는 일회성 사용 사례이며, 매개변수를 편집하기 위한 UI는 필요하지 않습니다.

비슷한 시도가 있어 시작점으로 참고할 수 있을 것 같습니다. 이 접근 방식은 api.modifyClass를 사용하여 최신 페이지의 주제(<tr> 태그)에 클래스를 추가한 후, 몇 줄의 CSS로 해당 클래스를 display: none으로 설정하는 것입니다. modifyClass에서 사용자를 가져와서 해당 사용자가 “나쁜” 그룹의 멤버인 경우 클래스를 추가할 수 있다고 가정합니다.

(이 방법이 권한에는 영향을 주지 않음을 인지하고 있습니다. 사용자는 여전히 카테고리나 검색 뷰에서 주제를 볼 수 있고, 이메일을 계속 수신하며, 제 트릭을 알아내면 로컬 CSS를 편집할 수도 있습니다. 저는 단순히 사용자를 귀찮게 하여 어떤 조치를 취하게 만들고 싶을 뿐입니다. 모든 제약 조건을 고려할 때, 이 접근 방식이 작동할 것이라고 생각합니다.)

언제까지 완료되길 원하시나요?

앞으로 몇 주 안에.

이 작업을 위해 제안하실 예산(USD)은 얼마인가요?

제안에 열려 있습니다.

1개의 좋아요

해당 사용자의 /latest가 비어 있기를 원하시나요? 아니면 일부 주제만 숨기기를 원하시나요?

그들의 신경을 긁기 위함이신가요? (그들이 모든 사람의 신경을 긁고 있잖아요?). 그들을 더 효과적으로 귀찮게 할 수 있는 더 나은 방법이 있을지 궁금할 뿐입니다.

2개의 좋아요

한 가지를 빠뜨렸는데, 최신(Latest)에서 업데이트된 서비스 약관(Terms of Service)이라는 한 가지 주제만 여전히 보여줄 수 있도록 하고 싶습니다.

저도 이 방식이 별로 마음에 들지는 않지만, 제가 생각해 낼 수 있는 최선의 방법입니다. 목표는 모든 사용자에게 업데이트된 약관에 서명하도록 하는 것이며, 평소보다 더 높은 중요성을 부여하는 것입니다. 기존 사용자가 약관을 수락하도록 강제하는 방법에 대해 How to force existing users to accept ToS 에서 논의가 있었는데, Discourse Policy가 도움이 될 수 있다는 의견이 있었습니다. 하지만 Policy는 아무것도 강제하지 않으며, 새로운 약관의 중요성 때문에 사용자를 귀찮게 할 파란색 알림(Blue bubble)보다 더 강력한 것이 필요합니다. 몇 년 전에 정책을 수락하면 사용자를 특정 그룹에 추가하는 플러그인을 개발한 적이 있는데, 일부 상황에서는 작동했지만 이번 경우에는 어떻게 적용해야 할지 모르겠습니다.

우리는 이미 상당히 복잡한 그룹과 카테고리 체계를 갖추고 있기 때문에, 각 카테고리의 권한을 'everyone’에서 'tos-acceptors’로 단순히 변경할 수는 없습니다. 카테고리 권한이 부울 논리(Boolean logic)를 지원한다면, 'premium-group’과 ‘tos-acceptors’ 두 그룹 모두에 속한 사용자만 허용하도록 권한을 변경할 수 있을 것입니다. 하지만 현재는 이를 지원하지 않습니다.

사용자를 어떻게 귀찮게 할지에 대해서는 강한 의견이 없습니다. Discourse Policy에 내장된 강제 기능이 있다면 그것을 사용했을 것입니다. 하지만 이번 경우에는 파란색 알림만으로는 부족합니다.

또한, 사용자가 ‘tos-acceptors’ 그룹의 멤버가 아니라면 영구 링크(permalink)로 리다이렉트하는 것도 잠시 고려해 보았습니다. 영구 링크 URL에 쿼리 파라미터로 사용자 ID 또는 사용자 이름을 붙일 수 있다면 여전히 옵션이 될 수 있습니다. Docusign 등으로 리다이렉트하는 경우, 웹훅(webhook)을 설정하여 사용자가 ‘tos-acceptors’ 그룹에 추가되도록 하고, 그러면 리다이렉트가 중단되도록 할 수 있습니다. 이 계획이 더 나은 방법이라고 생각하시나요?

1개의 좋아요

기존 “Gate” 컴포넌트 중 하나를 참고하여 기준을 조정해 보는 건 어떨까요? 이 컴포넌트들은 꽤 귀찮은 차단 요소를 포함하고 있지만, 사용자가 무엇을 기대해야 하는지 평이하고 직관적인 방식으로 안내해 줍니다.

3개의 좋아요

Discourse Custom Wizard 플러그인의 일부 기능을 사용하여 사용자가 서비스 약관(ToS)을 수락하도록 유도할 수 있습니다:

https://discourse.pluginmanager.org/t/wizard-settings/226

그룹 구성원 자격에 기반한 조건을 설정하고, 마법사의 출력 결과를 통해 그룹 구성원 자격을 변경할 수 있는 확실히 여지가 있습니다.

1개의 좋아요

카테고리에 대해 복잡한 권한 설정을 허용하는 플러그인은 많은 상황에서 유용할 것입니다. 해당 문제를 해결하기 위해 개발 시간을 사용하는 가장 좋은 방법이 될 수 있겠죠?

예를 들어, 텍스트 설정에 슬러그 수식을 사용하는 방식이 가능합니다:
예: (#tos-acceptor or #direct-concern) and #premium-group

1개의 좋아요

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.