Presentando respuestas anidadas

Las conversaciones significativas ocurren cuando todos en la sala han escuchado los pensamientos de los demás, y una línea de tiempo plana y lineal siempre ha sido la mejor manera de hacer eso posible en Discourse. Pero lo plano no se adapta a todas las comunidades. En foros más grandes y de movimiento rápido, miles de respuestas en una sola línea de tiempo hacen imposible que cualquiera se mantenga al día. Por eso hemos estado experimentando con cautela con una vista de respuestas completamente anidada este año, y creemos que es una excelente opción para comunidades que han superado el formato plano.

Lo que comenzó como un plugin experimental se ha convertido en un proyecto que se entrega directamente en Discourse. Aquí tienes una vista previa de cómo se ve un tema anidado en este momento:

Cuando se enlaza a una publicación específica (desde un enlace compartido o una notificación), tenemos una vista de un solo hilo:

Activarlo en tu sitio

La configuración del sitio para activar esta función está disponible en la interfaz de administración. Navega a la sección “Respuestas anidadas” para controlar la función, los modos de orden predeterminados, la profundidad máxima y más.

Hoja de ruta

Al momento de escribir esto, las respuestas anidadas están en sus primeras etapas. La hoja de ruta no está completamente definida. Algunas cosas que sabemos que haremos:

  • Mejor experiencia en dispositivos móviles

  • Repensar la línea de tiempo del tema para la vista anidada. En este momento, no hay línea de tiempo en los temas mientras se está en el modo de respuestas anidadas

  • Agregar al menos un nuevo modo de ordenamiento para publicaciones con decaimiento por antigüedad, similar a nuestro “Popular” para las listas de temas.

Limitaciones

  • Cuando se habilita el anidamiento para una categoría, los temas existentes permanecen en modo plano. Cada tema se puede alternar individualmente desde la llave inglesa de administración, pero actualmente no hay forma de convertir una categoría existente al modo anidado.

Nos encantaría recibir tu opinión

Necesitamos tu opinión y experiencia usando esta función para ayudar a informar su desarrollo. Si esto parece una buena opción para tu comunidad, pruébalo y cuéntanos qué piensas tú y tus usuarios.

28 Me gusta

¡OMG, SÍ! También es un momento excelente. Estoy migrando un foro a un nuevo servidor con 2 contenedores esta noche y no puedo esperar a cambiar este por el nuevo cuando comience la temporada regular y nuestras ligas deportivas en unas pocas semanas. Esto también debería ser un buen caso de prueba.
Será genial tener las opciones de discusiones planas y embebidas; gracias por esto @markvanlan y al equipo.

Será divertido ver qué se rompe también :laughing:

12 Me gusta

Solo para mencionar: cuando hay nuevas respuestas en varias ramas del árbol, parece que la vista de hilo único solo me mostraba una a la vez. Tuve que volver varias veces, con el contador de no leídos disminuyendo en uno cada vez.

¡No encuentro la opción para activar esta función a pesar de la actualización de Discourse!

Me autogestiono, quizás sea esa la razón :sweat_smile:

Actualiza tu instancia de Discourse y luego ve a todas las configuraciones del sitio y busca “nested”.

Puedes activarlo con la llave de administrador de temas al crear un nuevo tema.

También puedes habilitarlo en la pestaña de configuraciones de categoría si quieres que sea la opción predeterminada en una categoría.

Yo también me autoalojo y funciona perfectamente.

8 Me gusta

¡Gracias por tu eficiencia :+1:

1 me gusta

¿Se pueden cambiar o actualizar los temas existentes en masa a través de las opciones de Seleccionar publicaciones > Acciones en masa?

¿O existen opciones en la consola de Rails para actualizar en masa todos los temas existentes?

Sí, activar o desactivar es una opción para las acciones en masa :slight_smile:

1 me gusta

Ok, no estoy seguro de qué tan viable sea el cambio masivo para categorías con decenas de miles de temas. ¿Podrían ser una opción los trabajos de conversión por lotes de Rails? :thinking:

¿Y esto es reversible? ¿Se puede convertir un tema con hilos de nuevo a un tema plano?

2 Me gusta

Sí, estoy de acuerdo contigo. Esto es una limitación por ahora, y algo que sin duda seguiremos considerando.

La principal razón por la que elegí no convertir los temas históricos en una categoría cuando está habilitado, es que es probable que los usuarios interactúen de manera diferente. En el modo plano, los varios botones Responder no son tan importantes. La publicación va al final del tema. No estoy seguro de que los usuarios siempre presionen intencionalmente el “correcto” que se traduzca en la vista anidada.

Básicamente, me preocupa que los administradores lo habiliten para temas históricos y, de repente, la conversación sea ilegible. Seguiremos pensando en ello. El cambio más sencillo que se me ocurre es que, cuando se alterna la configuración de la categoría, aparezca una ventana emergente que diga: “¿Quieres aplicar esto a los temas existentes?”.

3 Me gusta

¡Increíble! ¡Qué alegría ver esto! :clap:

1 me gusta

Siempre sentí que las etiquetas de “Responder” podrían ser más específicas, así que hace un tiempo usé un CSS personalizado para añadir contexto:

captura de pantalla

CSS
/* añadir texto al botón Responder para la publicación original (también conocida como Tema) */
#post_1 nav.post-controls {
  .actions {
    button.reply {
      span.d-button-label:after {
        // Añadir este contenido después de Responder
        content: " a este Tema";
      }
    }
  }
}

/* añadir texto al botón Responder para todas las publicaciones subsiguientes (las llamo comentarios) */
nav.post-controls {
  .actions {
    button.reply {
      span.d-button-label:after {
        // Añadir este contenido después de Responder
        content: " a este comentario";
      }
    }
  }
}

/* añadir texto al botón azul Responder (al Tema) que aparece al final de la página */
#topic-footer-buttons {
  .topic-footer-main-buttons {
    button.btn-primary.create {
      span.d-button-label:after {
        // Añadir este contenido después de Responder
        content: " al Tema principal";
      }
    }
  }
}
1 me gusta

El problema con esta solución es que no se traducirá en la interfaz de usuario para los miembros que tengan configurado un idioma distinto al inglés en sus preferencias

1 me gusta

Interesante…

¿Esto sugiere que debería probarse primero en nuestras comunidades de forma aislada, antes de que todos demos el paso y convirtamos cada tema existente? :thinking:

Eso funcionaría, siempre que pueda manejar decenas de miles de temas.

Pero sería necesario dejar muy claro que no hay vuelta atrás después de esto :sweat_smile:


¿Esta función se implementará primero aquí en meta, o en https://try.discourse.org para que podamos probarla fuera de nuestros entornos de producción?

1 me gusta

Si fuera mi comunidad, lo probaría primero de forma aislada. Por otro lado, obtendríamos un feedback más valioso más rápido si lo habilitas para toda tu comunidad :wink: . Bromeando aparte, creo que probar de forma aislada es probablemente una buena idea, pero aquí no hay migraciones de datos destructivas. Se puede habilitar y deshabilitar de forma segura. Ninguna decisión que tomes aquí te bloqueará en ninguna dirección.

¡Supongo que respondí accidentalmente esta parte! Habilitar la anidación simplemente crea un registro nested_topic para cada tema en la base de datos e inicia un trabajo para calcular los recuentos de respuestas a lo largo del árbol de ascendencia. Deshabilitar la anidación elimina ese registro nested_topic y vuelves a la estructura plana, sin ningún problema.

Siéntete libre de probarlo en esta categoría: