No estoy seguro de que sea posible vincular uno similar a los Términos de servicio en la misma forma. El de “Leer directrices” depende de que read_faq se registre en la tabla user_stats y actualmente no hay un mecanismo para hacer lo mismo para los Términos de servicio.
Dado que la versión visible para el usuario no es el tema real, no creo que ver esa página se registre en ningún lugar (como topic_views, etc.).
¿Es posible alterar la base de datos/tablas para incluir un nuevo read_tos?
Existe potencialmente una solución alternativa fea…
…publicar un tema como una página publicada en lugar de usar la integración perfecta como FAQ y Acerca de. No sé si esto realmente funcionará…
Pruebas y hallazgos:
La consulta SQL devuelve usuarios que han leído el tema y, por lo tanto, deberían recibir la insignia, pero no he recibido esa notificación.
Puedo confirmar que las visitas a /pub/slug sin visitar el tema directamente actualizarán el recuento de vistas del tema… sin embargo, incluso con un tiempo de lectura absurdamente bajo, la insignia no se ha otorgado automáticamente.
También cabe señalar que el tema en sí todavía se indica como nuevo y no leído para el usuario.
…
Las pruebas de aislamiento adicionales dan como resultado que la consulta SQL implica que los usuarios deben visitar el tema directamente para ser considerados como que han leído el tema. No puedo confirmar ni negar, ya que la insignia no se ha otorgado, pero es lo más plausible.
¿Cuándo se ejecuta el disparador “actualizar diariamente”?
¿Sabes de memoria qué hizo el equipo cuando actualizó los Términos de Servicio (ToS) donde teníamos que confirmar que lo habíamos revisado? Aunque no era una insignia, ¿podría haber sido el plugin de Política?
Puedes acelerar esta parte activando manualmente jobs::BadgeGrant desde tu página de /sidekiq/scheduler (para aquellos con acceso). El mío se ejecutó hace 3 horas, pero diferirá de un sitio a otro.
Si no te importara tenerlos en un tema normal, podrías crear uno nuevo y añadir el enlace a tu configuración de administrador tos url para que siga apareciendo en las pestañas. Luego podrías otorgar una insignia fácilmente basándote en que la gente vea ese tema (aunque tus experimentos con páginas publicadas también pueden dar frutos )
Creo que para hacerlo igual que el de Leer Directrices necesitarías crear un plugin para replicar el comportamiento de los ToS (aunque no es mi especialidad, así que tómalo con cautela )
Este es un campo de usuario personalizado obligatorio, que creo que funciona bastante bien para eso. Aunque solo dices que los has leído en lugar de leerlos realmente, así que puede depender de cuál sea el objetivo principal de otorgar la insignia.