For my forum, I have set a policy in the topic below to only apply for TL0 users, however, a TL4 user complained that the policy kept nagging him to accept it, which is … weird?
I am guessing that it is because his username/account is still in the TL0 group?
TL0 includes all members of your forum. You don’t move between trust level groups, they’re cumulative, so all TL4s will also be in the TL3, 2, 1, and 0 groups too.
Would this policy not apply to all members? Is there something blocking your TL4 from accepting it?
It is not that they don’t want to accept it, it’s just that they have already accepted it, but it still send them weekly reminders, which is rather strange, even though I have set the Renew day to 365, and leave the Renew Start field blank.
I’m afraid it’s not possible to remove them from the TL0 group (without deleting their accounts ), it’s basically an ‘all members’ group.
Looking at that set up, it should only remind them weekly if they haven’t accepted the policy yet. Following the link above, I see only 12 people have accepted it so far - are the ones who are being reminded in that number?
No, but another member @bionel did accept it and it still sends him weekly reminders. I am not sure about the others though since they are not as vocal when it comes to these forum changes/improvements.
Would it help if I bump the amount in the Renew field to 720 days (2 years) instead?
The reminders should only fire for those who haven’t accepted it yet. As soon as they accept the policy then they shouldn’t get any reminders to accept it again until the Renew period comes round for them (whether 365 or 730 days, or shorter/longer).
I am not sure why @bionel would be receiving the reminders after having accepted the policy. We use this plugin a fair bit internally, and I’ve not noticed any issues. Are you receiving any extra reminders for it too?
It may be possible to create a data explorer query to have a quick check of acceptance versus reminder notifications. Let me see…
Just as a small interim follow-up, I have been having a play with this, but my query looks like a cat’s cradle at the minute so is not in a shape to share.
For anyone joining in at home, I have identified the notification type for the policy reminder as 18, and the policy tables in the explorer are post_policies, policy_users, and policy_groups (though I don’t think the latter is needed for this).
I also think that there’s some magic in the code that tidies up previous notification reminders:
Just to ask though @albert_vu, with the policy being applicable to TL0, are you okay with it sending a weekly policy reminder notification to each of the 20,000+ people until they’ve accepted it?
That’s okay! The policy are there so that they know how to correctly format their topics before publishing if it is a product-related question (we have had quite a few instances of poor formatting and/or not enough information provided on our forum).
Just to follow up here publically for future travellers.
I think something like this would allow you to check out the relevant information and see if a notification was sent after the policy had been accepted:
-- [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