How does the reader / read guideline badges work? 토론을 이어서:
약관을 읽으면 자동으로 배지 수여가 이루어지도록, 이를 사용자 지정 배지에 맞게 어떻게 활용할 수 있을까요?
발견된 리소스:
“가이드라인 읽기” 배지를 위한 것:
이것은 기본 배지의 SQL 쿼리 및 트리거 정보(가능한 경우)에 대한 참고 가이드입니다.
핵심 배지
기념일 (Anniversary)
(이 배지는 날짜를 선택하기 위해 백엔드에서 몇 가지 추가 마법이 포함되어 있지만, 어쨌든 포함하겠습니다)
start_date = start_date.iso8601(6)
end_date = end_date.iso8601(6)
SELECT u.id
FROM users AS u
JOIN posts AS p ON p.user_id = u.id
JOIN topics AS t ON p.topic_id = t.id
WHERE u.id > 0
AND u.active
AND NOT u.staged
AND (u.silenced_till IS NULL OR u.silenced_till < '#{start_da…
그리고 이것도… 하지만 배지를 위한 SQL을 어디에 삽입해야 하는지 모르겠습니다:
I think this should be possible with something like:
SELECT user_id, CURRENT_TIMESTAMP AS granted_at
FROM topic_users
WHERE topic_id = 281534
AND total_msecs_viewed/60000 >= 5 -- min number of minutes viewed
…그리고 탭에서만 사용자가 /tos를 볼 수 있을 때, /tos가 토픽으로 간주되는지 여부라는 근본적인 질문도 있습니다:
오, 이거 내가 올바른 방향으로 갈 수 있도록 도와주거나 가이드를 해줄 것 같네요!
감사합니다!
같은 방식으로 유사한 항목을 약관(ToS)에 연결하는 것이 가능한지 확실하지 않습니다. 읽기 가이드라인 항목은 user_stats 테이블에 read_faq가 기록되는 데 의존하는데, 현재 약관에 대해 동일한 작업을 수행할 메커니즘이 없습니다.
사용자가 볼 수 있는 버전은 실제 게시물이 아니므로, 해당 페이지를 본 기록이 topic_views 등 어디에도 저장되지 않는 것으로 보입니다.
데이터베이스/테이블을 수정하여 새로운 read_tos를 포함할 수 있을까요?
아마도 우gly한 우회 방법이 있을 것 같습니다…
…FAQ나 소개 페이지처럼 시ーム리스 통합을 사용하지 않고, 게시물을 공개된 페이지로 게시하는 것입니다. 실제로 이 방법이 작동할지는 모르겠습니다.
테스트 및 발견 사항:
SQL 쿼리는 해당 주제를 읽은 사용자를 반환하므로, 그들에게 배지가 수여되어야 합니다 , 하지만 저는 해당 알림을 받지 못했습니다.
주제를 직접 방문하지 않고 /pub/slug로 방문하면 주제의 조회 수가 업데이트되는 것을 확인할 수 있습니다… 그러나 읽는 시간이 극도로 짧게 설정되어 있음에도 배지는 자동으로 부여되지 않았습니다.
또한, 해당 주제 자체는 사용자에게 여전히 새롭고 읽지 않은 것으로 표시되고 있습니다.
…
추가적인 격리 테스트 결과, SQL 쿼리는 사용자가 주제를 직접 방문해야만 주제를 읽은 것으로 간주되어야 함을 시사합니다. 배지가 부여되지 않았기 때문에 확인도 부인도 할 수 없지만, 가장 그럴듯한 추측입니다.
“일일 업데이트” 트리거는 언제 실행되나요?
Heliosurge
(Dan DeMontmorency)
5월 30, 2025, 7:31오후
6
팀이 서비스 약관(ToS)을 업데이트했을 때, 우리가 약관을 확인했다고 확인해야 했던 그 당시 상황을 혹시 대략 알고 계신가요? 배지는 아니었지만, 혹시 정책 플러그인이었을까요?
TempAccount:
“일일 업데이트” 트리거는 언제 실행되나요?
/sidekiq/scheduler 페이지(접근 권한이 있는 경우)에서 jobs::BadgeGrant를 수동으로 트리거하여 이 부분을 빠르게 처리할 수 있습니다. 제 사이트에서는 3시간 전에 실행되었지만, 사이트마다 다를 수 있습니다.
단순히 일반 토픽에 포함시키는 것에 문제가 없다면, 새 토픽을 생성하고 tos url 관리자 설정에 해당 링크를 추가하여 탭에 여전히 표시되도록 할 수 있습니다. 그러면 해당 토픽을 조회한 사람들을 기준으로 배지를 부여하는 것이 훨씬 쉬워질 것입니다(게시된 페이지에 대한 실험도 좋은 결과를 가져올 수 있을 것입니다 )
“Read Guidelines” 배지와 동일한 방식으로 하려면 ToS에 대한 동작을 재현하는 플러그인을 만들어야 한다고 생각합니다(다만 제 전문 분야는 아니므로 참고만 해주세요 )
이것은 필수 사용자 정의 필드 로 생각되며, 이 용도로 꽤 잘 작동한다고 봅니다. 다만 실제로 읽은 것이 아니라 읽었다는 것만 확인하는 방식이므로, 배지 부여의 핵심 목적이 무엇인지에 따라 달라질 수 있습니다.
아, 이건 실제로 똑똑한 방법이네요!
그런 다음 해당 토픽을 닫고 목록에서 제외하여 답글을 달 수 없게 하고 직접 링크로만 접근할 수 있도록 할 수도 있습니다.
아쉽게도, 위 방법만큼 단순하게 작동하지는 않을 것입니다.