Estoy migrando una comunidad en línea a un nuevo software de foros. Son 15 años de publicaciones (55.000 posts). El foro anterior era IP Board. Todas las publicaciones están en un solo flujo continuo. No necesitamos temas individuales.
¿Puede Discourse…
Mostrar los mensajes nuevos en la parte superior en lugar de aparecer al final.
Recordar la última posición de visualización de los usuarios?
Es decir, cuando un usuario visita Discourse, ¿se puede guardar su última posición “no leída” para mostrarle dónde leyó por última vez? Y luego los usuarios hacen scroll hacia arriba para leer los mensajes nuevos.
Me gusta mucho la función de respuesta en línea de Discourse, pero no necesitamos crear nuevos temas. Viviremos y respiraremos completamente dentro de un solo tema.
¿Tienes 55,000 publicaciones en un solo tema?
¿Como una publicación de comentario? Y con el orden invertido.
Pero la publicación “primera” es la publicación principal de un tema; no sé si no puedas cambiar eso aquí.
La pregunta #2 se completa con Discourse: el sistema “recuerda” dónde estaba leyendo el usuario y, cuando vuelve, lo coloca en el último mensaje leído.
Gracias por tu respuesta. ¿Qué es una publicación de comentario? Cuando miro los foros de muestra de Discourse y entro en un tema, todas las nuevas publicaciones aparecen al final.
En nuestro foro, puedes hacer clic en “nueva publicación” y se crea una nueva publicación al principio. También puedes hacer clic en “responder”. Esto es lo mismo que una nueva publicación, pero añade el texto… “respondiendo a Usuario4532” en la parte superior de la nueva publicación. Todo se muestra en un solo hilo largo, con las nuevas publicaciones al principio.
Colocar las nuevas publicaciones al final, como es normal en Discourse, puede estar bien, pero no quiero tener que desplazarme hacia abajo 55.000 publicaciones cada vez que entro al foro. ¿Es posible colocar las nuevas publicaciones al principio?
Creo que ninguna de las respuestas aborda el elefante en la habitación: por lo que entiendo de The MEGATOPIC: public good, or public menace?, no hay manera en el infierno de que Discourse pueda manejar 55.000 respuestas en un solo tema y estar feliz (léase: con buen rendimiento) al respecto.
La respuesta a la pregunta principal es no: las nuevas respuestas siempre aparecen al final. Sin embargo, la posición de lectura siempre se guarda para los usuarios registrados.
¿Qué tiene de especial tener tantos mensajes, o en particular Discourse en comparación con otro software de foros?
Quiero decir, en phpBB o vBulletin esto es bastante directo, ya que al leer solo se muestra un número limitado de mensajes a la vez.
Por ejemplo, en un foro alemán hay 200.000 mensajes en este hilo:
Desde un punto de vista técnico, es decir, en cuanto al almacenamiento de datos, no debería haber mucha diferencia entre almacenar 200.000 hilos con 1 mensaje cada uno, o 1 hilo con 200.000 mensajes. En la base de datos SQL, simplemente es un ID que indica a qué hilo pertenece un determinado mensaje. Así que ambos escenarios son bastante similares.
¿Entonces, el único “problema” es el siguiente? → Discourse parece cargar demasiados mensajes a la vez, ya que el último mensaje está al final, es decir, encima de todo, ¿todo tiene que cargarse? Esto podría causar fácilmente un problema, especialmente en lo que respecta a la renderización en el navegador (exceso de memoria en el lado del usuario).
Comportamiento estándar: Las nuevas respuestas siempre aparecen al final
Bueno, no digo que esto sea posible; no soy un experto en programación del lado del cliente, pero CREO que si usamos JavaScript para manipular el DOM, podríamos (?) cambiar el orden en que se muestran los objetos.
No tengo los conocimientos ni la experiencia para afirmar que podríamos crear un componente de tema… No sé si los gurús que desarrollan este tipo de cosas podrían hacerlo de forma gratuita, o tal vez haya que solicitarlo en el Marketplace para obtenerlo (si es posible, por supuesto).
Por supuesto, con más de 20 respuestas sería absurdo, porque invertir el orden a nivel del frontend implica que primero la página debe cargar todas las respuestas y luego JavaScript manipula los objetos para invertir su orden, lo que significa que se retrasará significativamente cuanto más respuestas tenga el tema.
Una cosa es mostrar la información, y otra muy distinta es que en tiempo real, cuando un usuario responde, la respuesta quede “anidada” encima de las demás y no debajo, como es el comportamiento estándar del foro. No estoy seguro de que eso sea posible.
Las necesidades de tu comunidad probablemente se satisfarán mucho mejor con un programa de chat. No conozco ninguno que permita que los mensajes lleguen en la parte superior, pero manejarán el patrón de «toda la discusión en el mismo flujo» mucho mejor que un foro.
Algunas opciones a considerar: Zulip, Mattermost, Discord, Slack.