Extractos truncados a 50 caracteres

Tenía los extractos de temas funcionando como deseaba, es decir, respetaban post_excerpt_maxlength en todos los casos. Primero lo hice con un plugin (que funcionaba), luego me enteré de SiteSetting.always_include_topic_excerpts = true, así que cambié a esa opción. Siguió funcionando.

Hace unos dos días, quizás después de aplicar la versión 2.4.0.beta4, los extractos empezaron a truncarse a 50 caracteres. Muy misterioso.

He probado alternar SiteSetting.always_include_topic_excerpts, reinstalar el plugin y cambiar el valor de post_excerpt_maxlength, pero sin cambios. Sigue limitado a 50 caracteres.

¿Alguien más está viendo esto? No sé qué más probar.

¿Podría ser un error, @neil?

Otro punto es que solo afecta a los temas nuevos. Los temas más antiguos con extractos más largos aún los conservan.

Agregar una publicación a un tema de este tipo no acorta el extracto (lo cual no sorprende), pero editar la primera publicación hace que el extracto se trunque nuevamente a 50 caracteres.

Así que, aunque no lo he verificado (soy nuevo en Discourse), parece que los extractos son un campo de la base de datos y el truncamiento solo ocurre al actualizar un registro.

LQ

El plugin al que has enlazado tiene el valor 50 codificado de forma fija:

https://github.com/hnb-ku/discourse-topic-excerpt-plugin/blob/master/plugin.rb#L8

Puedes bifurcar el plugin y usar SiteSetting.post_excerpt_maxlength en lugar de 50, o @Johani puede actualizarlo por ti.

Ese plugin no se ha actualizado en casi dos años y es anterior a la adición de la configuración always_include_topic_excerpts. No deberías usarlo en absoluto. He añadido un aviso de obsolescencia y eliminaré ese repositorio en una semana más o menos.

Por favor, elimina ese plugin desactualizado, habilita la configuración always_include_topic_excerpts y avísame si sigues teniendo el mismo problema.

Esto parece funcionar. Me confundió el hecho de que al aplicar el plugin obtuviera los fragmentos (de 300 caracteres) que deseaba, cuando antes no tenía ninguno. Supongo que solo los temas creados posteriormente mostraban el valor 50 codificado de forma rígida.

Un detalle: los temas existentes con fragmentos de 50 caracteres aún los tienen. Parece necesario editar la primera publicación de estos temas para alargar sus fragmentos hasta post_excerpt_maxlength. ¿Hay alguna manera de automatizar eso? Gracias.

LQ

Necesitarás volver a hornear las publicaciones para que se ajusten al nuevo límite. Más información aquí.

¿Son realmente intercambiables hoy en día?

rake posts:rebake

bundle exec rake posts:rebake

Porque la primera tarea de rake se completó sin problemas, pero no regeneró los extractos. Sin embargo, el sitio estaba funcionando.

Luego lo intenté con be. Esto terminó con:

rake aborted!
PG::ConnectionBad: FATAL:  Peer authentication failed for user "discourse"

… seguido de un seguimiento de pila. Ahora, las páginas de los temas son inaccesibles. La página de inicio es accesible, y la mayor parte del panel de administración también lo es, aunque los gráficos en la página de inicio del administrador no se cargan. Ejecutando …

rake posts:rebake

… no soluciona el problema. Finalmente reinicié el droplet, pero la condición persiste. Cualquier ayuda será apreciada.

LQ

Sí, acabo de probar ambos

$ cd /var/discourse
$ ./launcher enter app
$ bundle exec rake posts:rebake

Reconstruyendo el markdown de las publicaciones para 'default'
      297 / 297 (100.0%)
¡297 publicaciones realizadas!
--------------------------------------------------
$ cd /var/discourse
$ ./launcher enter app
$ rake posts:rebake

Reconstruyendo el markdown de las publicaciones para 'default'
      297 / 297 (100.0%)
¡297 publicaciones realizadas!

y funcionaron sin problemas.

Esto implica que tienes otros problemas. ¿Siguiiste la guía de instalación compatible al configurar tu sitio?

Sí. Instalado exactamente como se indica en INSTALL-cloud.md.

La única diferencia es que es 19.04. No he actualizado ninguna gema manualmente ni nada parecido.

Aquí está la salida completa de bundle exec rake posts:rebake --trace

No puedo decirlo con certeza, pero creo que podrías tener dos problemas separados.

Intenta lo siguiente para reducir un poco más el alcance:

  • elimina cualquier plugin no oficial
  • reconstruye la aplicación
  • prueba el modo seguro y verifica si la aplicación carga

¿Ves algún error en la consola de tu navegador en las páginas que no funcionan?

Se eliminaron los complementos de notas al pie y de casillas de verificación. No estoy seguro de si son oficiales. Reconstruido. No hay errores en la consola al cargar en modo seguro. El sitio está en línea.

¿Hay alguna ventaja en probar el modo seguro para errores en la consola? Si no, parecería ser uno de esos complementos.

Sí, esos son oficiales, pero asegúrate de que no estás usando una rama o fork de algún tipo. Los plugins oficiales tienen una marca de verificación junto a sus nombres en el panel de administración.

y están alojados en https://github.com/discourse/.

Acabo de probar ambos en la versión más reciente y no he podido reproducir el problema que tienes: que el sitio no cargue.

Si no hay errores en el modo normal, no seguro, entonces no necesitas verificarlo en modo seguro.

Adivino que los fragmentos aún no se han actualizado.

¿Has revisado your.site.com/logs?

No, pero es una instancia joven. Lo dejaré así.

Sí, nada interesante. Ejecuto unattended-upgrades y parece que dpkg estaba en ejecución quizás durante el rebake. No me preocuparé por ello.

Agradezco la ayuda.

LQ