Estimación del tiempo de lectura histórico para una importación grande de foro

Estoy en proceso de migrar un foro heredado con aproximadamente 1,3 millones de publicaciones y dos décadas de historia a Discourse.

Lo que quisiera evitar es que cada usuario muestre 0 minutos de lectura desde el inicio tras una migración exitosa, dado que muchos tienen 5, 10 y algunos más de 15 años de historial.

Con el énfasis de Discourse en el tiempo de lectura (lo cual es excelente, en mi opinión), sería ideal poder realizar un cálculo con el mejor esfuerzo de esta estadística para los usuarios con un historial significativo, para que no sientan que el reloj se reinició en su contribución tras la migración. (Si bien la gamificación puede ser una gran fuente de inspiración y motivación, también puede desmoralizar cuando las estadísticas de las que los usuarios se enorgullecen se borran).

Soy consciente de que no existe una forma perfecta de mostrar datos que nunca se rastrearon previamente, pero ¿hay algún script que pueda ejecutar, o quizás algo que se pueda agregar a un script de importación, que esencialmente estime el tiempo de lectura histórico de un usuario basándose en su número actual de publicaciones?

Algo como:

PostCount = SELECT posts_count FROM posts WHERE id = (ID del usuario actual que se está importando)

ReadTimePerPost = 300 (segundos)

RetroactiveReadTime = PostCount * ReadTimePerPost

¿Sería teóricamente posible hacer esto y luego insertar ese número en la base de datos vinculado a cada usuario?

De ser así, ¿dónde y cómo se almacena el tiempo de lectura?

Y por cierto, valorar cada publicación en 300 segundos de tiempo de lectura es solo mi estimación. Honestamente, probablemente sea muy bajo, considerando todo, pero mucho más preciso que 0.

1 me gusta

Creo que haría algo así:

Post.where(user_id: user.id).where(some other stuff?).each do |post|
  PostTiming.create(topic_id: post.topic_id, post_number: post.post_number, user_id: user.id, msecs: READ_TIME_MSECS
end

Si hice bien las cuentas, 300 segundos son 5 minutos. ¿Crees que tomó 5 minutos leer y responder a esta publicación?

1 me gusta

Aún no me he tomado el tiempo para reflexionar sobre el momento adecuado. Lo que pensé es que el tiempo de lectura, técnicamente, no solo considera los momentos en que una publicación es el resultado de la lectura. Mucha gente lee mucho y pasa bastante tiempo escaneando, lo cual no se tendría en cuenta en absoluto si solo se basa en el tiempo que lleva leer y publicar.

Admito que prefiero subestimar antes que sobreestimar.

He realizado docenas de importaciones. Nadie ha pedido nunca inventar tiempos de lectura falsos. Apuesto a que la gente sabrá que las estadísticas comienzan cuando cambiaste a Discourse.

3 Me gusta

Un uso mucho más valioso de tu tiempo es probablemente identificar qué umbral automático debes usar para otorgar TL2 a los usuarios importados, y seleccionar manualmente a las personas de tu comunidad en quienes confías para que tengan buen criterio en cuanto a títulos y categorización y comiencen como TL3.

La promoción a TL es el uso principal de las estadísticas de tiempo de lectura que podrían razonablemente importar en una importación.

2 Me gusta