안녕하세요,
제 포럼에서 아래 토픽의 정책을 TL0 사용자만 적용하도록 설정해 두었는데, TL4 사용자가 해당 정책을 수락하라는 알림이 계속 뜨는다고 불만을 제기했습니다. 이건 좀… 이상하지 않나요?
그 사용자의 계정이나 닉네임이 여전히 TL0 그룹에 남아 있어서 그런 게 아닐까 추측해 봅니다.
감사합니다! ![]()
안녕하세요,
제 포럼에서 아래 토픽의 정책을 TL0 사용자만 적용하도록 설정해 두었는데, TL4 사용자가 해당 정책을 수락하라는 알림이 계속 뜨는다고 불만을 제기했습니다. 이건 좀… 이상하지 않나요?
그 사용자의 계정이나 닉네임이 여전히 TL0 그룹에 남아 있어서 그런 게 아닐까 추측해 봅니다.
감사합니다! ![]()
앨버트, 안녕 ![]()
TL0에는 포럼의 모든 멤버가 포함됩니다. 신뢰 수준 그룹 사이를 이동하는 것이 아니라, 그룹들이 누적되는 구조이기 때문에 모든 TL4 멤버는 동시에 TL3, 2, 1, 0 그룹에도 속해 있습니다. ![]()
이 정책이 모든 멤버에게 적용되지 않나요? TL4 멤버가 이를 수락하는 것을 막는 것이 있나요?
아쉽게도 TL0 그룹에서 그들을 삭제하는 것은 불가능합니다(계정을 삭제하지 않는 한
). 기본적으로 ‘모든 멤버’ 그룹이기 때문입니다.
해당 설정을 살펴보면, 정책을 아직 수락하지 않은 경우에만 매주 알림을 보내도록 되어 있어야 합니다. 위 링크를 확인해 보니 아직 12명만 수락한 것으로 보이는데, 알림을 받는 사람들이 그 12명에 포함되나요?
아니요, 하지만 다른 멤버인 @bionel은 이를 수락했고 여전히 매주 알림을 받고 있습니다. 다른 멤버들의 경우, 이러한 포럼 변경/개선 사항에 대해 의견을 많이 내지 않아서 잘 모르겠습니다.
Renew 필드의 값을 720일(2년)로 올려두는 것이 도움이 될까요?
리마인더는 아직 정책을 수락하지 않은 사용자에게만 전송되어야 합니다. 정책을 수락한 후에는 갱신 기간(365일, 730일, 또는 더 짧거나 긴 기간)이 도래할 때까지 다시 수락을 요청하는 리마인더를 받지 않아야 합니다.
@bionel이 정책을 수락한 후에도 리마인더를 받는 이유는 정확히 모르겠습니다.
저희도 내부에서 이 플러그인을 꽤 많이 사용하고 있지만, 아직까지 문제가 발생한 것을 발견하지 못했습니다. 당신도 추가적인 리마인더를 받고 계신가요?
수락 상태와 리마인더 알림을 빠르게 확인하기 위해 데이터 탐색기 쿼리를 작성할 수 있을 것 같습니다. 확인해 보겠습니다…
잠시 중간 보고를 드리자면, 이 기능을 직접 테스트해 보고 있는데, 현재 쿼리가 엉망이라 공유하기에는 아직 상태가 좋지 않습니다. ![]()
집에서 함께 따라 해 보고 계신 분들을 위해, 정책 리마인더의 알림 유형이 18번임을 확인했고, 탐색기(explorer)에서 정책 관련 테이블은 post_policies, policy_users, policy_groups입니다(마지막 테이블은 이 작업에 필요하지 않을 것으로 보입니다).
또한 이전 알림 리마인더를 정리하는 로직이 코드 어딘가에 있는 것 같습니다:
다만 @albert_vu 님께 여쭈어 보자면, 이 정책이 TL0에게 적용되는 상황에서, 사용자가 정책을 수락할 때까지 20,000명 이상의 각 사용자에게 매주 정책 리마인더 알림을 보내는 것에 동의하시나요?
괜찮습니다! 해당 정책은 게시 전에 제품 관련 질문인 경우 포럼에서 주제(제목)를 올바르게 포맷하는 방법을 알 수 있도록 하기 위해 마련된 것입니다(우리 포럼에서 포맷이 부실하거나 정보가 부족한 사례가 꽤 많았거든요).
감사합니다!
향후 여행자를 위해 공적으로 후속 정보를 공유드립니다. ![]()
이와 같은 방식으로 관련 정보를 확인하고, 정책이 수락된 후 알림이 전송되었는지 살펴볼 수 있을 것 같습니다:
-- [params]
-- topic_id :topic_id
SELECT pp.id AS "Policy ID",
pp.created_at AS "Policy Created",
n.user_id,
n.created_at AS "Last Notification Received",
pu.accepted_at AS "User Accepted Policy",
pu.revoked_at AS "User Revoked Policy",
pu.expired_at AS "Policy Expired"
FROM notifications n
JOIN posts p ON p.topic_id = n.topic_id
JOIN post_policies pp ON pp.post_id = p.id
LEFT JOIN policy_users pu ON pu.post_policy_id = pp.id AND pu.user_id = n.user_id
WHERE n.topic_id = :topic_id
AND n.user_id > 0
ORDER BY n.user_id, pu.accepted_at