Pour mon forum, j’ai défini une politique dans le sujet ci-dessous qui ne s’applique qu’aux utilisateurs TL0, cependant, un utilisateur TL4 s’est plaint que la politique le harcelait pour l’accepter, ce qui est… bizarre ?
Je suppose que c’est parce que son nom d’utilisateur/compte est toujours dans le groupe TL0 ?
Le TL0 inclut tous les membres de votre forum. Vous ne passez pas d’un groupe de niveau de confiance à un autre, ils sont cumulatifs, donc tous les TL4 seront également dans les groupes TL3, 2, 1 et 0.
Cette politique ne s’appliquerait-elle pas à tous les membres ? Y a-t-il quelque chose qui empêche votre TL4 de l’accepter ?
Ce n’est pas qu’ils ne veulent pas l’accepter, c’est juste qu’ils l’ont déjà accepté, mais cela leur envoie toujours des rappels hebdomadaires, ce qui est assez étrange, même si j’ai défini le jour de Renouvellement à 365 et laissé le champ Début du renouvellement vide.
Je crains qu’il ne soit pas possible de les supprimer du groupe TL0 (sans supprimer leurs comptes ), il s’agit essentiellement d’un groupe ‘tous les membres’.
En regardant cette configuration, cela ne devrait leur rappeler que chaque semaine s’ils n’ont pas encore accepté la politique. En suivant le lien ci-dessus, je vois que seulement 12 personnes l’ont accepté jusqu’à présent - ceux qui reçoivent des rappels font-ils partie de ce nombre ?
Non, mais un autre membre @bionel l’a accepté et il reçoit toujours des rappels hebdomadaires. Je ne suis pas sûr pour les autres car ils ne sont pas aussi expressifs en ce qui concerne ces changements/améliorations du forum.
Serait-il utile que j’augmente le montant dans le champ Renouveler à 720 jours (2 ans) à la place ?
Les rappels ne devraient être envoyés qu’à ceux qui ne l’ont pas encore accepté. Dès qu’ils acceptent la politique, ils ne devraient plus recevoir de rappels pour l’accepter à nouveau jusqu’à la période de renouvellement (qu’il s’agisse de 365 ou 730 jours, ou plus/moins court).
Je ne suis pas sûr pourquoi @bionel recevrait les rappels après avoir accepté la politique. Nous utilisons ce plugin pas mal en interne, et je n’ai remarqué aucun problème. Recevez-vous également des rappels supplémentaires pour cela ?
Il serait peut-être possible de créer une requête d’explorateur de données pour vérifier rapidement l’acceptation par rapport aux notifications de rappel. Laissez-moi voir…
Juste pour un petit suivi provisoire, j’ai joué avec ça, mais ma requête ressemble à un casse-tête pour le moment, donc elle n’est pas partageable.
Pour ceux qui nous suivent à la maison, j’ai identifié le type de notification pour le rappel de politique comme étant 18, et les tables de politique dans l’explorateur sont post_policies, policy_users, et policy_groups (bien que je ne pense pas que cette dernière soit nécessaire pour cela).
Je pense aussi qu’il y a de la magie dans le code qui nettoie les rappels de notification précédents :
Juste pour demander cependant @albert_vu, la politique s’appliquant au TL0, êtes-vous d’accord pour qu’elle envoie une notification de rappel de politique hebdomadaire à chacune des plus de 20 000 personnes jusqu’à ce qu’elles l’aient acceptée ?
Ce n’est pas grave ! Les règles sont là pour qu’ils sachent comment formater correctement leurs sujets avant de publier s’il s’agit d’une question liée à un produit (nous avons eu pas mal de cas de mauvais formatage et/ou d’informations insuffisantes fournies sur notre forum).
Pour faire suite publiquement pour les futurs voyageurs.
Je pense que quelque chose comme ceci vous permettrait de vérifier les informations pertinentes et de voir si une notification a été envoyée après l’acceptation de la politique :
-- [params]
-- topic_id :topic_id
SELECT pp.id AS "ID de la politique",
pp.created_at AS "Politique créée",
n.user_id,
n.created_at AS "Dernière notification reçue",
pu.accepted_at AS "Utilisateur a accepté la politique",
pu.revoked_at AS "Utilisateur a révoqué la politique",
pu.expired_at AS "Politique expirée"
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