Comment pourrait-on réutiliser cela pour un badge personnalisé, où l’utilisateur recevra automatiquement le badge après avoir lu les conditions ?
Ressource trouvée :
Ceci pour le badge « lire les directives » :
et aussi ceci… bien que je ne sache pas où insérer le SQL pour le badge :
…ainsi que la question sous-jacente de savoir si /tos est considéré comme un sujet si les utilisateurs ne peuvent le voir que sous l’angle des onglets :
Je ne suis pas sûr qu’il soit possible de lier un élément similaire aux Conditions d’utilisation de la même manière. Le lien « Lire les directives » repose sur l’enregistrement de read_faq dans la table user_stats et il n’existe actuellement aucun mécanisme pour faire de même pour les Conditions d’utilisation.
Comme la version consultable par l’utilisateur n’est pas le sujet réel, je ne pense pas que la consultation de cette page soit enregistrée quelque part (comme topic_views, etc.).
Est-il possible de modifier la base de données/les tables pour inclure un nouveau read_tos ?
Il existe potentiellement une solution de contournement (workaround) peu élégante…
…publier un sujet en tant que page publiée au lieu d’utiliser l’intégration transparente comme FAQ et À propos. Je ne sais pas si cela fonctionnera…
Tests et résultats :
La requête SQL renvoie les utilisateurs qui ont lu le sujet et qui, par conséquent, devraient recevoir le badge, mais je n’ai pas reçu cette notification.
Je peux confirmer que les visites de /pub/slug sans visiter directement le sujet mettront à jour le nombre de vues du sujet… cependant, même avec un temps de lecture absurdement bas, le badge n’a pas été attribué automatiquement.
Il convient également de noter que le sujet lui-même est toujours indiqué comme nouveau et non lu pour l’utilisateur.
…
D’autres tests d’isolement montrent que la requête SQL implique que les utilisateurs doivent visiter directement le sujet pour être considérés comme ayant lu le sujet. Je ne peux ni confirmer ni infirmer, car le badge n’a pas été attribué, mais c’est le plus plausible.
Quand le déclencheur “mise à jour quotidienne” (update daily) s’exécute-t-il ?
Savez-vous spontanément ce que l’équipe a fait lors de la mise à jour des conditions d’utilisation où nous devions confirmer que nous les avions consultées ? Bien qu’il ne s’agisse pas d’un badge, était-ce peut-être le plugin Politique ?
Vous pouvez accélérer cette partie en déclenchant manuellement jobs::BadgeGrant depuis votre page /sidekiq/scheduler (pour ceux qui y ont accès). La mienne s’est exécutée il y a 3 heures, mais cela variera d’un site à l’autre.
Si cela ne vous dérangeait pas de les avoir dans un sujet ordinaire, vous pourriez en créer un nouveau et ajouter son lien à votre paramètre d’administration tos url afin qu’il apparaisse toujours dans les onglets. Vous pourriez alors accorder un badge assez facilement en fonction des personnes qui consultent ce sujet (bien que vos expériences avec les pages publiées puissent également porter leurs fruits ).
Je pense que pour le faire de la même manière que celui de « Lire les directives », vous devriez créer un plugin pour reproduire le comportement pour les CGU (ce n’est pas mon fort, alors prenez cela avec un grain de sel ).
Il s’agit d’un champ personnalisé requis, qui, je pense, fonctionne très bien pour cela. Bien que vous disiez seulement que vous les avez lus plutôt que de les avoir réellement lus, cela peut donc dépendre de l’objectif principal de l’attribution du badge.
Vous pourriez alors également fermer et ne pas répertorier le sujet afin qu’il ne puisse pas être répondu et ne soit accessible que par un lien direct.
Malheureusement, cela ne fonctionnerait pas aussi simplement que ce qui précède.