Para mi foro, he establecido una política en el tema a continuación para que solo se aplique a los usuarios TL0, sin embargo, un usuario TL4 se quejó de que la política seguía molestándolo para aceptarla, lo cual es… ¿raro?
Supongo que es porque su nombre de usuario/cuenta todavía está en el grupo TL0.
TL0 incluye a todos los miembros de tu foro. No te mueves entre grupos de nivel de confianza, son acumulativos, por lo que todos los TL4 también estarán en los grupos TL3, 2, 1 y 0.
¿Esta política no se aplicaría a todos los miembros? ¿Hay algo que impida que tu TL4 la acepte?
No es que no quieran aceptarlo, es que ya lo han aceptado, pero aún así les envía recordatorios semanales, lo cual es bastante extraño, aunque he establecido el día de Renovación en 365 y he dejado el campo Inicio de Renovación en blanco.
Me temo que no es posible eliminarlos del grupo TL0 (sin eliminar sus cuentas ), es básicamente un grupo de ‘todos los miembros’.
Al observar esa configuración, solo debería recordarles semanalmente si aún no han aceptado la política. Siguiendo el enlace de arriba, veo que solo 12 personas lo han aceptado hasta ahora. ¿Están los que están siendo recordados en ese número?
No, pero otro miembro @bionel sí la aceptó y todavía le envía recordatorios semanales. Sin embargo, no estoy seguro de los demás, ya que no son tan vocales en cuanto a estos cambios/mejoras en el foro.
¿Ayudaría si aumento la cantidad en el campo Renovar a 720 días (2 años)?
Los recordatorios solo deberían activarse para aquellos que aún no lo han aceptado. Tan pronto como acepten la política, no deberían recibir más recordatorios para aceptarla hasta que llegue el período de renovación (ya sean 365 o 730 días, o más/menos).
No estoy seguro de por qué @bionel estaría recibiendo los recordatorios después de haber aceptado la política. Usamos este plugin bastante internamente y no he notado ningún problema. ¿Tú también estás recibiendo recordatorios adicionales?
Puede que sea posible crear una consulta de explorador de datos para verificar rápidamente la aceptación frente a las notificaciones de recordatorio. Déjame ver…
Solo como un pequeño seguimiento provisional, he estado jugando con esto, pero mi consulta parece un estambre en este momento, por lo que no está en condiciones de compartir.
Para cualquiera que se una en casa, he identificado el tipo de notificación para el recordatorio de política como 18, y las tablas de políticas en el explorador son post_policies, policy_users y policy_groups (aunque no creo que esta última sea necesaria para esto).
También creo que hay algo mágico en el código que limpia los recordatorios de notificación anteriores:
Solo para preguntar, @albert_vu, dado que la política es aplicable a TL0, ¿está de acuerdo con que envíe una notificación semanal de recordatorio de política a cada una de las más de 20.000 personas hasta que la hayan aceptado?
¡Está bien! Las políticas están ahí para que sepan cómo formatear correctamente sus temas antes de publicar si se trata de una pregunta relacionada con un producto (hemos tenido bastantes casos de formato deficiente y/o información insuficiente en nuestro foro).
Solo para dar seguimiento aquí públicamente para futuros viajeros.
Creo que algo como esto te permitiría verificar la información relevante y ver si se envió una notificación después de que se aceptó la política:
-- [params]
-- topic_id :topic_id
SELECT pp.id AS "ID de la política",
pp.created_at AS "Política creada",
n.user_id,
n.created_at AS "Última notificación recibida",
pu.accepted_at AS "Usuario aceptó la política",
pu.revoked_at AS "Usuario revocó la política",
pu.expired_at AS "Política expirada"
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