이용약관 열람 시 커스텀 배지 지급

How does the reader / read guideline badges work? 토론을 이어서:

약관을 읽으면 자동으로 배지 수여가 이루어지도록, 이를 사용자 지정 배지에 맞게 어떻게 활용할 수 있을까요?


발견된 리소스:

“가이드라인 읽기” 배지를 위한 것:

그리고 이것도… 하지만 배지를 위한 SQL을 어디에 삽입해야 하는지 모르겠습니다:

…그리고 탭에서만 사용자가 /tos를 볼 수 있을 때, /tos가 토픽으로 간주되는지 여부라는 근본적인 질문도 있습니다:

이 정보가 도움이 될까요?

오, 이거 내가 올바른 방향으로 갈 수 있도록 도와주거나 가이드를 해줄 것 같네요!
감사합니다!

같은 방식으로 유사한 항목을 약관(ToS)에 연결하는 것이 가능한지 확실하지 않습니다. :thinking: 읽기 가이드라인 항목은 user_stats 테이블에 read_faq가 기록되는 데 의존하는데, 현재 약관에 대해 동일한 작업을 수행할 메커니즘이 없습니다.

사용자가 볼 수 있는 버전은 실제 게시물이 아니므로, 해당 페이지를 본 기록이 topic_views 등 어디에도 저장되지 않는 것으로 보입니다.

데이터베이스/테이블을 수정하여 새로운 read_tos를 포함할 수 있을까요?


아마도 우gly한 우회 방법이 있을 것 같습니다…
…FAQ나 소개 페이지처럼 시ーム리스 통합을 사용하지 않고, 게시물을 공개된 페이지로 게시하는 것입니다. 실제로 이 방법이 작동할지는 모르겠습니다.

테스트 및 발견 사항:

  • SQL 쿼리는 해당 주제를 읽은 사용자를 반환하므로, 그들에게 배지가 수여되어야 합니다, 하지만 저는 해당 알림을 받지 못했습니다.

  • 주제를 직접 방문하지 않고 /pub/slug로 방문하면 주제의 조회 수가 업데이트되는 것을 확인할 수 있습니다… 그러나 읽는 시간이 극도로 짧게 설정되어 있음에도 배지는 자동으로 부여되지 않았습니다.

  • 또한, 해당 주제 자체는 사용자에게 여전히 새롭고 읽지 않은 것으로 표시되고 있습니다.

  • …

  • 추가적인 격리 테스트 결과, SQL 쿼리는 사용자가 주제를 직접 방문해야만 주제를 읽은 것으로 간주되어야 함을 시사합니다. 배지가 부여되지 않았기 때문에 확인도 부인도 할 수 없지만, 가장 그럴듯한 추측입니다.

“일일 업데이트” 트리거는 언제 실행되나요?

팀이 서비스 약관(ToS)을 업데이트했을 때, 우리가 약관을 확인했다고 확인해야 했던 그 당시 상황을 혹시 대략 알고 계신가요? 배지는 아니었지만, 혹시 정책 플러그인이었을까요?

/sidekiq/scheduler 페이지(접근 권한이 있는 경우)에서 jobs::BadgeGrant를 수동으로 트리거하여 이 부분을 빠르게 처리할 수 있습니다. 제 사이트에서는 3시간 전에 실행되었지만, 사이트마다 다를 수 있습니다.

단순히 일반 토픽에 포함시키는 것에 문제가 없다면, 새 토픽을 생성하고 tos url 관리자 설정에 해당 링크를 추가하여 탭에 여전히 표시되도록 할 수 있습니다. 그러면 해당 토픽을 조회한 사람들을 기준으로 배지를 부여하는 것이 훨씬 쉬워질 것입니다(게시된 페이지에 대한 실험도 좋은 결과를 가져올 수 있을 것입니다 :crossed_fingers:)

“Read Guidelines” 배지와 동일한 방식으로 하려면 ToS에 대한 동작을 재현하는 플러그인을 만들어야 한다고 생각합니다(다만 제 전문 분야는 아니므로 참고만 해주세요 :slight_smile:)

이것은 필수 사용자 정의 필드로 생각되며, 이 용도로 꽤 잘 작동한다고 봅니다. 다만 실제로 읽은 것이 아니라 읽었다는 것만 확인하는 방식이므로, 배지 부여의 핵심 목적이 무엇인지에 따라 달라질 수 있습니다.

아, 이건 실제로 똑똑한 방법이네요!

그런 다음 해당 토픽을 닫고 목록에서 제외하여 답글을 달 수 없게 하고 직접 링크로만 접근할 수 있도록 할 수도 있습니다.

아쉽게도, 위 방법만큼 단순하게 작동하지는 않을 것입니다.