Nuevo tema no se establece por defecto en sin categorizar

Hola,

Cuando uno de mis usuarios (rol ‘líder’) intenta crear un nuevo tema, la categoría aparece en blanco y, si hacen clic en el botón de crear tema, reciben un error 404:

Cuando yo (personal) intento crear un nuevo tema, todavía tengo la categoría en blanco, pero recibo un error You supplied invalid parameters to the request: category (Suministraste parámetros inválidos a la solicitud: categoría).

He encontrado una configuración:

Permitir que los temas se creen sin categoría. ADVERTENCIA: Si hay temas sin categorizar, debes recategorizarlos antes de desactivar esta opción.

No recuerdo haberla activado, pero está activada; creo que es la predeterminada, pero no estoy seguro.

He revisado la configuración de la categoría de elementos no categorizados:

Esta categoría es especial. Se utiliza como categoría predeterminada para los temas nuevos que no tienen una categoría seleccionada. Si deseas evitar este comportamiento y forzar la selección de categoría, desactiva la configuración aquí. Si deseas cambiar el nombre o la descripción, ve a Personalizar / Contenido de texto.

A corto plazo, me preocupa que nuestros usuarios tengan una mala experiencia y no puedan publicar. (Error 404).

He intentado buscar en meta.discourse.org respuestas a mis preguntas:

Pregunta 1: ¿Por qué el campo de categoría está en blanco cuando intento crear un nuevo tema? (no está en blanco cuando publico en meta.discourse.org)

Pregunta 2: Si está activada la opción ‘Permitir que los temas se creen sin categoría’, ¿por qué recibo un error? (Sospecho que ‘Sin categorizar’ en realidad significa ‘sin categoría’, pero se describe como ‘[…] la categoría predeterminada para los temas nuevos que no tienen una categoría seleccionada.’

De hecho, me gusta el comportamiento de meta.discourse.org; donde por defecto aparece ‘general’ en lugar de ‘sin categorizar’, pero no estoy seguro de cuál es el enfoque correcto;
a) Renombrar ‘Sin categorizar’ a ‘general’. (nota: Encontré una publicación - de 2016 - que indicaba que esto era una mala idea, y equiparaba ‘Sin categorizar’ con ‘null’ en la base de datos).

O

b) Crear una categoría ‘general’, mover todos los elementos sin categorizar a ‘general’ (¿cómo?), establecer ‘general’ como el valor predeterminado de las nuevas publicaciones y desactivar ‘Permitir que los temas se creen sin categoría’.

Agradecería cualquier consejo o enlace a la documentación relevante.

Saludos cordiales,

Stephen

PD. Por si sirve de algo, somos un proyecto OSS y esta es una instancia gratuita de Discourse amablemente proporcionada por la gente de https://www.discourse.org

También noté esto. Pero he deshabilitado “sin categorizar”, pero aún así debería seleccionar la categoría superior en ese caso. Muestra el mismo campo de categoría (vacío) que por defecto.

1 me gusta

¡Gracias @MarcP!

Creo que esto podría ser un error, pero no quería prejuzgar.
s.

Hola Stephen,

¿Qué versión de Discourse está utilizando tu sitio?

La “categoría” sin categorizar fue reemplazada recientemente por una nueva categoría general. ¿Ha aparecido una nueva categoría con ese nombre en tu sitio? ¿Tenías una categoría general anteriormente?

Sí, tenía una categoría general antes. Estoy ejecutando la compilación más reciente, pero lo noté desde hace unas semanas.

Sí, este parece ser un comportamiento reciente para mí también.

Esto debería haber sido corregido por este commit, pero puedo ver que tu sitio ya se ha actualizado para incluirlo:

Existe la posibilidad de que no haya cubierto todos los casos. Haremos que alguien lo revise. :+1:

5 Me gusta

Hmm, cuando habilito permitir temas sin categorizar, la categoría sin categorizar todavía aparece en mi página de categorías. Incluso después de haber renombrado mi general.

La categoría Sin categorizar ya no es una configuración predeterminada del sitio desde que la categoría General está habilitada en Discourse. En las nuevas instalaciones de Discourse, hay una categoría predeterminada General. Por lo tanto, cuando abres el compositor, la categoría seleccionada automáticamente es General. Sin embargo, en instalaciones antiguas donde no tienes la categoría general, creo que cualquier categoría puede ser la categoría general. Creo que simplemente significa en este caso la categoría predeterminada del compositor. Por lo tanto, no será suficiente si creas una categoría con el nombre General. También tienes que configurar el ID de la categoría con la configuración oculta del sitio general_category_id.

Por ejemplo:
Si creas una nueva categoría para este propósito General. El nombre de la categoría puede ser, por ejemplo: General y también deberías comprobar el ID de la categoría. Ahora, en este ejemplo, será 9.

La categoría se creó correctamente, pero si abres el compositor, no será la categoría predeterminada, así que vamos a configurar la configuración oculta del sitio.

Configurar category_id a la categoría general

Nota: category_id=9 es solo un ejemplo, es el ID de categoría correcto. Tu categoría recién creada probablemente tendrá un número de category_id diferente.

cd /var/discourse
./launcher enter app
rails c
SiteSetting.general_category_id=9
exit
exit

Después de esto, cuando abras el compositor, la categoría category_id=9General será la predeterminada.

2 Me gusta

¿Has reconstruido desde que cambiaste el nombre de general?

No hemos renombrado general; solo tenemos ‘sin categorizar’ y no lo hemos renombrado.

Discourse actualizado: hace 14 horas

somos un proyecto de código abierto y esta es una instancia gratuita de Discourse (amablemente proporcionada por las buenas personas de https://www.discourse.org), por lo que las actualizaciones ocurren automáticamente sin nuestra intervención

La categoría todavía aparece en blanco

@Don

Gracias. Esta es una instancia alojada, por lo que no conozco una forma de obtener acceso a la shell para configurar el ajuste del sitio oculto.

Saludos

Stephen

1 me gusta

Es fin de semana para la mayor parte del equipo, pero podemos solucionarlo tan pronto como alguien esté disponible. :slightly_smiling_face::+1:

4 Me gusta

Solo quiero asegurarme, para poder minimizar las interrupciones para los usuarios finales:

  1. ¿Necesito crear una categoría ‘General’ como preparación?

  2. ¿Tendré que mover todos los temas de la categoría ‘Sin categorizar’ a general después de que se realice el cambio de configuración?

Gracias por tu ayuda.

Stephen

Si buscas este resultado en lugar de #uncategorized como tu valor predeterminado, deberías poder crear una nueva categoría #general, mover todos tus temas de #uncategorized a ella usando la herramienta masiva y luego deshabilitar allow uncategorized topics en tu configuración de administrador (aunque esto no solucionará el menú desplegable).

Sin embargo, esto solo le tomará un par de minutos a un miembro del equipo arreglarlo junto con la actualización manual de tu configuración oculta general_category_id, así que es posible que solo quieras esperar. :slightly_smiling_face:

4 Me gusta

Gracias, esta explicación es muy buena y lo he solucionado. Creo que este tema debería estar en Support ya que no es un error y sugiero que tu respuesta sea marcada como solución.

1 me gusta

Para que yo entienda

  • Las nuevas instancias de discourse tienen una categoría General que es la predeterminada al publicar un nuevo tema.

  • Nuestra instancia proviene de una época en la que la categoría predeterminada era la de “sin categorizar”.
    La solución es establecer SiteSetting.general_category_id en el ID de la categoría Sin categorizar.

Este comando:

SiteSetting.general_category_id=<nuevo ID de categoría>

  • Las instancias que todavía tienen la categoría Sin categorizar deben establecer la configuración anterior al actualizar.
1 me gusta

Todo solucionado. Pasamos a usar ‘General’ en lugar de sin categorizar y el sistema proporciona correctamente una categoría predeterminada.

Gracias a todos los que ayudaron a diagnosticar este problema, y un agradecimiento especial a @fzngagan por solucionarlo de manera tan rápida y profesional.

Saludos cordiales,

Stephen

5 Me gusta

Para cualquiera que haya eliminado manualmente la categoría General sembrada antes de esta corrección:

Ahora hay una corrección adicional que limpiará SiteSetting.general_category_id si está configurado en una categoría que no existe:

3 Me gusta