Je suis en train de migrer un forum legacy comptant environ 1,3 million de messages et deux décennies d’histoire vers Discourse.
Ce que je souhaite éviter, c’est que chaque utilisateur affiche un temps de lecture de 0 dès le départ après une migration réussie, alors que beaucoup ont 5, 10, voire plus de 15 ans d’historique.
Compte tenu de l’importance que Discourse accorde au temps de lecture (ce qui est excellent, à mon avis), il serait agréable de pouvoir effectuer un calcul approximatif de cette statistique pour les utilisateurs disposant d’un historique significatif, afin qu’ils ne ressentent pas que le compteur de leurs contributions a été remis à zéro après la migration. (Bien que la gamification puisse être une source d’inspiration et de motivation considérable, elle peut aussi être démoralisante lorsque les statistiques dont les utilisateurs sont fiers sont effacées.)
Je suis conscient qu’il n’existe pas de méthode parfaite pour afficher des données qui n’ont jamais été suivies auparavant, mais existe-t-il un script que je pourrais exécuter, ou peut-être quelque chose à ajouter à un script d’importation, permettant d’estimer le temps de lecture historique d’un utilisateur en fonction de son nombre actuel de messages ?
Quelque chose comme :
PostCount = SELECT posts_count FROM posts WHERE id = (identifiant de l’utilisateur en cours d’importation)
ReadTimePerPost = 300 (secondes)
RetroactiveReadTime = PostCount * ReadTimePerPost
Serait-il théoriquement possible de procéder ainsi, puis d’insérer ce chiffre dans la base de données en l’associant à chaque utilisateur ?
Si oui, où et comment le temps de lecture est-il stocké ?
Et au passage, attribuer 300 secondes de temps de lecture par message n’est qu’une estimation de ma part. Honnêtement, c’est probablement très bas, toutes choses considérées, mais beaucoup plus précis que 0.