Actualmente estoy trabajando en la importación de datos desde un foro de desarrollo propio a Discourse. El foro heredado tiene aproximadamente 30 mil temas y, idealmente, me gustaría marcarlos todos como leídos durante el proceso de importación. Si entiendo correctamente, la tabla relevante aquí es post_timings.
Mi pregunta es: ¿es suficiente agregar una entrada en post_timings para la publicación más reciente de cada tema para cada usuario? ¿O tendría que agregar una entrada para cada publicación, es decir, aproximadamente 700 mil publicaciones × 2 mil usuarios?
Solo para agregar algunos detalles sobre mi caso de uso específico: el software de foros heredado del que estamos migrando es limitado pero sencillo, y nuestros miembros tienen una amplia gama de edades y niveles de competencia técnica. Hemos configurado una instancia de Discourse para que los miembros la prueben mientras nos preparamos para la migración y hemos recibido algunos comentarios de que resulta bastante abrumador.
Creo que se trata simplemente de la curva de aprendizaje; yo mismo lo siento un poco, y soy profesional de TI. Una vez que la gente se acostumbre al cambio, creo que verán que Discourse es una mejora clara sobre el software heredado.
Lo que me preocupa es perder a personas antes de que lleguen a esa etapa. Si los usuarios son enviados de vuelta al primer mensaje de un tema de 1.000 mensajes la primera vez que alguien responde a un hilo importado, eso es un gran golpe para la usabilidad, y creo que es posible que algunos miembros simplemente se rindan. Por lo tanto, estoy muy interesado en marcar todos los mensajes importados como leídos y permitir que los usuarios accedan directamente al nuevo material.
Busqué en el archivo antes de publicar esto, pero no encontré nada que respondiera a esta pregunta específica.
Necesitas crear registros en la tabla topic_users y en la tabla post_timings. Puedes utilizar los métodos de los modelos TopicUser y PostTiming, o hacerlo de manera más eficiente mediante SQL.
A continuación se muestra un ejemplo del script de importación base que marca los mensajes como leídos para sus autores. Deberás adaptarlo a tu caso de uso.