베타 공개: TL2 사용자를 위한 TL3 진행 상황 확인 플러그인

여러분 안녕하세요! 지난 며칠간 플러그인을 사용해 Allow users to see trust level 3 progress on user profile 을 시도해 보았습니다.

현재 플러그인은 다음과 같습니다:

게이지에는 놀라운 Gauge.js를 사용하고 있습니다. 처음에는 단순한 직사각형 바였지만, 너무 지루해 보여서 변경했습니다. (게이지가 올바른 값으로 로드되는 애니메이션도 있습니다!)

설정:

  • 진행 바 색상: 진행 바의 색상 (위 이미지와 같이 기본값은 녹색)
  • 진행 바 배경색: 진행 바의 배경색 (위 이미지와 같이 기본값은 연회색)
  • 모달 버튼 아이콘 (기본값은 circle-info)

모든 텍스트는 로케일을 통해 편집할 수 있으며, 가능한 한 코어 로케일을 재사용합니다.

피드백이나 버그, 개선 사항이 있으신가요? 기꺼이 듣고 싶습니다!

훌륭한 구현입니다.

몇 가지 제안 사항이 있습니다:

  • 진행 항목의 이름을 그래픽 위에而不是 아래에 배치하세요.
  • TL3 자격이 부여될 것으로 예상되는 날짜를 표시하세요. 많은 사용자에게 50일간의 참여 요건, 또는 활성 포럼에서 대량의 게시물을 읽어야 하는 요건이 제한 요인이 될 수 있습니다.
  • 사용자가 TL3를 획득하는 것을 막을 수 있는 요건에 대해서는 자격 요건에 어떻게 영향을 미치는지에 대한 명확한 설명을 포함하세요. 그렇지 않으면 사용자가 모든 표시된 요건을 충족했는데도 불구하고, 예를 들어 첫 번째 게시물을 휴대폰으로 작성하여 스팸 봇에 의해 “음소거됨(최근 6개월)” 상태가 적용되어 자격 부여 기간이 여전히 닫혀 있다는 사실을 발견하게 될 수 있습니다.

이 기능을 활성화하는 포럼에는 TL3 사용자 수가 크게 증가할 수 있다는 점을 경고해야 합니다.

TL3 사용자는 추가 권한을 가지므로, 일부 사람들은 이러한 권한을 얻기 위해 시스템을 악용하고 이를 남용할 수 있습니다. 다른 사람들은 과정을 자동화하기 위해 스크립트를 작성하여, 신뢰는 진정한 참여를 통해 얻어야 한다는 원칙을 크게 우회할 수도 있습니다.

포럼 관리자가 잠재적인 결과에 대해 인지하지 못한다면, 처음에는 매력적으로 보일 수 있는 것이 조정(모더레이션)의 악몽이 될 수 있습니다. :grinning_face:

잘하셨습니다! 꽤 멋진 구현 방식이고, 외형도 마음에 듭니다.

버튼이 너무 크고 눈에 띄는 디자인은 별로 마음에 들지 않습니다. 개인적으로는 사용자 수 중 trust level: member 부분에 작은 :information_source: 아이콘을 추가했을 것 같습니다.

모두 훌륭한 제안들이네요! 하나씩 살펴보고 구현 방법을 고민해 보겠습니다.

그리고 별개의 이야기로, 좀 더 게임화하기 어렵게 하려고 상세 내역 대신 매우 일반적인 비율만 표시하는 옵션을 추가하는 것도 고려하고 있습니다.

이 문제는 이전에 제가 언급했던 지점으로 되돌아갑니다:

사용자가 모든 조건을 충족했지만, 유일한 장애물은 잠금 상태라는 것입니다. 아마도 설정 항목 뒤에 숨겨져 있고 기본적으로 비활성화되어 있을 것입니다.

정말 멋진 아이디어네요. 저도 비슷한 아이디어를 가지고 놀아보고 있었어요 (게임화와 진행 상황을 정말 좋아하거든요). 하지만 주로 아래 이유 때문에 주저하고 있었어요.

이것은 확실히 투명성을 너무 높여서는 안 되는 진정한 이유가 되네요. 좋은 지적이에요.

그렇다고 해도, 저는 진행 상황이 시각적으로 드러나는 것을 좋아하니까, 어중간한 타협점을 찾을 수 있는 방법이 있을까요? 사용자의 진행 정도는 보여주고, 하지만 구체적으로 무엇을 해야 하는지는 명시하지 않는 식으로요?

버튼 뒤로 모든 것을 숨기는 대신, 프로필에 이미 일부 상태를 표시하는 것을 고려해볼 수 있을까요?

예를 들어, 요구 사항(x개, 각 세그먼트)과 그 중 몇 개를 달성했는지를 보여주는 방식 같은 거요.

아니면, 만약 사용자가 그것을 추구하도록 하고 싶다면, 가장 가까운 요구 사항이 무엇인지를 보여줄 수도 있어요:

기타 피드백:

이것들은 다소 무의미해 보입니다.

개인적으로 게이지는 그다지 좋아하지 않아요. 공간을 많이 차지하기 때문에, 이미 가진 것과 아직 진행 중인 것을 더 잘 구별할 수 있는 다른 것으로 표시하는 편이 낫다고 생각해요. 예를 들면:

좋은 작업이에요. 완성된 버전을 기대하고 있습니다!

코어에서 사용할 수 있는 어떤 종류의 진행률 표시줄이 있을까요? 여기저기 찾아봤지만 찾을 수 없었습니다.

버튼 뒤에 숨기는 것이라면 가능할 것 같습니다:

  • 프로필에 일반적인 측정기를 표시합니다(예: 60%)
  • 설정이 활성화되면 사용자가 클릭하여 진행 상황의 더 자세한 내역을 볼 수 있습니다.

아니요, 기본적으로 제공되는 것은 없습니다. 가장 가까운 예로 새로 디자인된 관리자 대시보드에서 사용하는 것이 있지만, 이는 바 스타일의 시각적 요소일 뿐 재사용 가능한 컴포넌트는 아닙니다(그리고 세그먼트 형태도 아닙니다).

저는 특정 상황에서 직접 겪어본 경험에 비추어 볼 때, 이 과정에서 유용했던 부분은 인간이 개입하는 것(human in the loop)이었습니다.

일반 사용자로서 저는 모든 사용자의 월별 결과를 추적할 수 있었습니다. 이는 포럼에서 지속적으로 활동하고 다른 사용자를 도우는 데 효과적이었던 사용자를 식별하는 데 도움이 되었습니다.

저는 신뢰 수준(Trust Level) 통계에도 접근할 수 있었기 때문에, 사용자가 신뢰 수준 3(TL3)의 여러 요구 사항의 약 90%를 충족했을 때부터 그 사람의 진행 상황을 더 자주 모니터링하기 시작했습니다. TL3 자격 요건을 충족할 가능성이 높아 보이지만 아직 하나 이상의 요구 사항을 충족하지 못했고, 무엇이 기대되는지 또는 얼마나 가까운지 보여줄 정량적 정보가 없다면, 저는 그들에게 업데이트 내용을 담은 개인 메시지를 보냈습니다.

사용자가 TL-3에 도달한 후, 후속 단계는 계속해서 그들을 모니터링하는 것이었습니다. 이는 추가된 권한이 남용되지 않도록 하는 데 도움이 되었을 뿐만 아니라, 그 권한이 무엇을 허용하는지 그리고 효과적으로 어떻게 사용할 수 있는지를 설명할 기회를 제공하기도 했습니다.


:+1:

음, 몇 가지 바꿨는데, 여러분은 어떻게 생각하세요?

Show verbose TL3 progress를 활성화하면:

더 깔끔해 보이게 막대를 정렬할 수도 있겠네요.

정말 멋진 진행 상황입니다 (이해했나요? :winking_face_with_tongue:)

네, 시각적으로 훨씬 좋아 보일 것 같습니다. 특히 점수를 우측 정렬하면 가독성도 더 좋아지겠죠 :folded_hands:

**“최근 6개월 내 정지되지 않음”**과 같은 요구 사항의 경우, 해당 기간이 언제 종료되고 요구 사항이 충족 상태로 변경되는지를 표시하면 유용할 것입니다.

일부 요구 사항은 롤링 윈도우(이동 평균 기간) 방식을 사용합니다. 예를 들어, **“방문 일수”**는 사용자의 전체 기간 총계가 아니라 최근 100일 동안의 데이터 기반으로 계산됩니다. 해당 윈도우 초기에 자주 방문하다가 잠시 중단한 후 다시 매일 방문하기 시작한 사용자는, 오래된 방문 일들이 동시에 윈도우에서 제외되므로 방문 일수가 증가하는 것을 볼 수 없습니다. 이 동작은 설명이 없으면 혼란을 줄 수 있습니다. :man_shrugging:

통계 정보에는 값이 변경될 수 있는 요구 사항에 대해 구성된 임계값(threshold)도 표시되어야 합니다. <site>/admin/config/trust-levels를 보면 현재 대부분의 정량적 요구 사항이 여기에 포함된 것으로 보입니다.

이러한 구성된 값이 변경될 때, 영향을 받는 사용자에게는 어떤 형태의 알림이나 설명이 제공되어야 합니다. TL3 달성을 위해 열심히 노력하고 정량적 요구 사항을 추적 중인 사용자는 자신의 진행 상황이 왜 변경되었는지 스태프나 모더레이터에게 질문할 가능성이 높습니다. 일부 사용자는 자체적인 점수표를 유지하고 있을 수 있으며, 하루 만에 임계값이 변경된 것을 알아차릴 수도 있습니다.

또 다른 유용한 기능은, Discourse 자체에서 부여하는 권한 외에도 TL3와 관련된 사이트 고유 혜택에 대해 설명하는 스태프 편집 가능한 자유 텍스트 섹션입니다. 많은 사이트에서는 추가 혜택이 제공되지 않으며, 이 경우 TL3 달성은 주로 "한 번 해봤다"는 성취감에 그칠 수 있습니다. 그러나 다른 사이트에서는 추가 혜택이 노력이 가치 있게 만들 수 있습니다.

또한 현재 TL-3 사용자의 수와 그들의 활동 수준을 포함하는 것도 가치가 있을 것입니다.

진행률 막대가 정렬됨
기간이 명시됨

가능할 수는 있겠지만, 이것이 이 플러그인의 범위를 벗어나는 것일까요?

이 부분을 좀 더 자세히 설명해 주시겠습니까? 총 값은 항상 사이트 설정에서 가져오며, 코어에 있는 것과 동일한 기본 로직을 사용합니다.

완료, 이제 modal_bottom_text 설정; HTML 허용.

확실히 더 좋습니다. 하지만 저는 개념 예시에서 가장 근접한 통계를 활용할 수 있었던 부분이 좋았어요. 개인적으로 이 기능이 왜 처음부터 지지했는지를 이해하는 데 도움이 되거든요 (TL3을 잃어버렸는데 왜 그런지 몰랐거든요).

저는 이 플러그인을 직접 사용할 일이 없어요 (제 포럼에서는 신뢰 수준 진행이 그렇게 중요하지 않아서요), 하지만 Nate 씨가 개발하는 모습을 지켜보는 재미가 있네요. 정말 잘하고 계시네요! :clap:

감사합니다! 그 사이에 새로운 아바트에 익숙해져야 할 것 같아요 :laughing: .

신뢰할 수 있는 지도를 들고 운전하는 것과 비슷하다고 생각합니다. 지도를 따라가다가 지도에 없는 도로에 도착하게 될 수 있습니다. 빠진 도로가 하나뿐일 수 있지만, 이제 나머지 지도의 정확성에 대해 의문을 가질 이유가 생긴 것입니다.

마찬가지로, TL3 요구 사항 중 하나가 내 지각 없이 변경되어 갑자기 TL3 달성이 훨씬 어려워졌다면, 다른 표시된 값들이 정확한지 여전히 신뢰할 수 있을까요?

특정 사이트의 <site>/admin/config/trust-levels에서 확인하는 현재 TL-3 설정은 다음과 같습니다:

오랜 기간 동안 이 값들 중 많은 부분을 사이트 설정을 통해 변경할 수 없었습니다. 이제는 비교적 쉽게 변경할 수 있게 되었습니다.

이러한 설정은 많은 TL3 요구 사항의 기준(소스 오브 트루스)이므로, 플러그인을 테스트할 때는 이 중 하나를 변경하고 플러그인이 표시하는 결과가 그에 따라 변경되는지 확인하는 것이 포함되어야 합니다.

이전 답변을 이 값들의 기준(소스 오브 트루스)을 찾으려는 사람을 위한 길잡이로 생각해 주십시오: <site>/admin/config/trust-levels. 다만, 해당 페이지를 보기에는 관리자 권한이 필요합니다.

알겠습니다. 이 플러그인은 통계 정보를 /u/:username/tl3-progress.json이라는 API 경로에 배치하며, 해당 경로는 백엔드에서 그 통계에 접근하는 모든 핵심 메서드를 통해 데이터를 가져옵니다. 따라서 백그라운드에서 코어가 새로고침될 때 통계가 업데이트됩니다. 제 테스트 결과에 따르면, 합계가 즉시 새로고침되는 것을 확인할 수 있었습니다.

간단한 업데이트를 공유합니다. 가장 가까운 다음 통계 지표를 작업 중입니다:

image

아직 작업 중입니다(WIP).

곧 TL3 등급을 잃을 수 있는 사용자들도 고려해야 합니다. 어떤 통계 항목(또는 항목들)이 사용자의 TL3 등급에 위험을 초래하는지 보여주는 지표가 유용할 것입니다.


이런 작은 정보들을 조각조각 나누어 공유하는 점 죄송합니다. 이 지식의 대부분은 시행착오를 통해 얻은 것이기 때문에, 다른 생각이 떠오를 때 비로소 특정 세부 사항이 기억나곤 합니다. 이해해 주시리라 믿습니다.

다양한 알림 유형과 생성 방식을 살펴본 결과, 코어에 PR을 제출하거나 더 많은 작업을 수행하지 않고 사용자 요약 페이지로 리디렉션되는 사용자 정의 알림을 보낼 수 있는지 확실하지 않습니다. 어떤 생각이 있으신가요 @chapoi?