Cómo configurar las mismas categorías de la barra lateral para todos los usuarios

:bookmark: Esta guía explica cómo establecer las categorías de la barra lateral por defecto y aplicar los cambios a los usuarios existentes.

:person_raising_hand: Nivel de usuario requerido: Administrador

Puedes usar categorías del menú de navegación por defecto para elegir qué categorías aparecen en la barra lateral de forma predeterminada. También puedes aplicar cambios a los usuarios existentes o reaplicar las categorías que hayan eliminado de su barra lateral.

Esta configuración no impone una barra lateral idéntica para todos. Aplica adiciones y eliminaciones, en lugar de reemplazar la lista completa de categorías de cada usuario. Las otras categorías que los usuarios hayan añadido ellos mismos pueden permanecer.

Establecer las categorías predeterminadas

  1. Ve a “Admin” → “Configuración de todo el sitio”.
  2. Busca categorías del menú de navegación por defecto.
  3. Abre el selector y selecciona las categorías que quieres mostrar por defecto. Para eliminar una categoría, haz clic en la “×” junto a su nombre.
  4. Haz clic en el botón “✓” para guardar.

  1. Si se te pide aplicar el cambio retroactivamente, elige una de estas opciones:
    • “Sí” aplica las adiciones y eliminaciones a los usuarios existentes y actualiza los valores predeterminados para quienes se unan después.
    • “No, aplicar solo los cambios en adelante” actualiza los valores predeterminados sin cambiar las barras laterales de los usuarios existentes.

El número de usuarios afectados depende de tu sitio. Es posible que el aviso no aparezca si ningún usuario existente se ve afectado por el cambio.

Reaplicar categorías ya presentes en la lista predeterminada

Si un usuario elimina una categoría predeterminada de su barra lateral, guardar la misma lista predeterminada no la volverá a añadir. Solo se aplican adiciones y eliminaciones.

Para reaplicar las categorías configuradas:

  1. Anota las categorías que quieres mostrar.
  2. Elimina todas las categorías de categorías del menú de navegación por defecto y guarda. Elige “Sí” para aplicar la eliminación a los usuarios existentes cuando se te pregunte.
  3. Deja tiempo para que termine la actualización en segundo plano. Esto puede tardar unos minutos, o más en un sitio grande.
  4. Añade las categorías que quieres mostrar y vuelve a guardar. Elige “Sí” para aplicar las adiciones a los usuarios existentes cuando se te pregunte.
  5. Deja que termine la segunda actualización en segundo plano, luego actualiza la página y revisa la barra lateral.

Esto elimina y vuelve a añadir los valores predeterminados configurados. No elimina una categoría añadida personalmente que nunca estuvo incluida en la configuración.

Comprender qué cambia para los usuarios existentes

Cuando eliges “Sí”, Discourse aplica la diferencia entre la configuración anterior y la actualizada:

Cambio en la configuración Efecto en los usuarios existentes
Añadir una categoría La añade a las listas de categorías de la barra lateral de los usuarios si aún no está presente.
Eliminar una categoría La elimina de las listas de categorías de la barra lateral de los usuarios, incluyendo a los que seleccionaron esa categoría por sí mismos.
Dejar una categoría sin cambios No la reaplica a los usuarios que la eliminaron previamente.
Dejar una categoría añadida personalmente fuera de la configuración No la elimina.

Por ejemplo, supongamos que “General” es una categoría predeterminada y un usuario también añade “Soporte” por su cuenta. Borrar y volver a añadir “General” no elimina “Soporte” a menos que “Soporte” también se haya eliminado de la configuración.

Conocer las limitaciones

  • Los permisos de categoría siguen aplicándose. Seleccionar una categoría privada no otorga acceso ni la hace visible a los usuarios que no pueden acceder a ella.
  • Los usuarios aún pueden personalizar sus barras laterales después. Esto es una actualización predeterminada y masiva, no una lista de categorías obligatoria.
  • No es un reinicio completo de la barra lateral. Los pasos de borrar y reaplicar no garantizan listas de categorías idénticas para todos los usuarios.

Recursos adicionales

5 Me gusta

¿Cuál es la diferencia entre eliminar la configuración predeterminada anterior y añadirla en un solo paso, o hacerlo en dos pasos con una pausa intermedia?

Pensé brevemente que este proceso restablecería todas las personalizaciones personales. Pero según mis pruebas, no es así. Si una categoría no estaba previamente en la configuración predeterminada de la barra lateral y un usuario la añadió por su cuenta, no se eliminará solo porque se borre la configuración. Solo se elimina lo que estaba configurado previamente en la configuración.

Por lo tanto, para que la barra lateral sea igual para todos, necesitarías:

  • añadir todas las categorías a la configuración (y preferiblemente no anular esto para todos)
  • luego eliminar todas las categorías de la configuración y anular esto para todos
  • (¿esperar unos minutos?)
  • añadir nuevas categorías y anular esto para todos

Los pasos 2 y 4 deben separarse aquí porque el paso uno no se aplicó a todos. Podríamos aplicar el paso uno a todos, de modo que todos tengan todas las categorías en su barra lateral, y después de unos minutos, eliminar todas las categorías que no queremos en su barra lateral, pero eso podría resultar en una experiencia peor durante unos minutos.

¿Son incorrectas mis pruebas, que muestran que la configuración para borrar las categorías añadidas manualmente no se elimina? ¿Hay otra razón para la separación de los pasos? Me gustaría saberlo para poder decidir qué información podría querer añadir a Configuring the default sidebar for your users.

3 Me gusta

@Moin

El funcionamiento de la relleno (backfill) aquí es un poco diferente de lo que uno esperaría. No simplemente restablecemos todas las categorías de la barra lateral de los usuarios cuando se actualiza la configuración de default navigation menu categories. Esto es lo que hacemos:

  • Si el administrador agrega algunas categorías a la configuración, solo esas nuevas se añaden a las barras laterales de todos los usuarios que aún no las tenían configuradas.
  • Si eliminas algunas categorías de la configuración, estas se eliminan de las barras laterales de todos los usuarios.

Por lo tanto, el relleno no fuerza el estado de la configuración en todos los usuarios, sino que calcula la diferencia (delta) entre los valores existentes en la configuración y los que se han agregado o eliminado recientemente.

La razón principal por la que se hace esto es preservar las preferencias individuales de cada usuario.

Esta es la PR en la que se introdujo este comportamiento:

Reconocimos dos formas de lograr que todas las categorías sean iguales para todos los usuarios:

  1. Agregar todas, aplicar históricamente, eliminar algunas, aplicar históricamente.
  2. Eliminar todas, aplicar históricamente, agregar algunas, aplicar históricamente.

En un intento reciente de hacer esto para un sitio grande, la opción 1 no funcionó correctamente, pero la opción 2 sí. Por eso documenté la opción 2.

Si tienes tiempo, prueba ambas formas con varios usuarios para ver si funcionan. Si te es útil, puedo escribir una consulta SQL para confirmar si la actualización funcionó como se esperaba. Hazme saber qué opinas.

1 me gusta

He vuelto a probar los pasos que describiste en el primer mensaje. Aún así, sigo notando el mismo problema: la categoría que el usuario añadió a su barra lateral no se elimina, por lo que el resultado no es que todos los usuarios tengan las mismas categorías en su barra lateral.

Pasos detallados para reproducir el problema
  1. Creé un nuevo foro desde cero.
  2. Creé 5 categorías (category1, category2, category3, category4, category5).
  3. Añadí category4 a mi barra lateral usando la opción “editar categorías de la barra lateral”.

  4. La categoría se añadió a mi barra lateral.
  5. Revisé la configuración del sitio default_navigation_menu_categories.
  6. Como indicas en la guía, eliminé todas las categorías.


y apliqué el cambio a todos los usuarios.

7. Ahora la configuración estaba vacía.

8. Revisé mi barra lateral y solo category4, que había añadido manualmente, seguía allí (también el enlace a la configuración del sitio en la parte inferior indica que la configuración está vacía).

9. Esperé unos 45 minutos y añadí category1, category2 y category3 a la configuración.

y apliqué el cambio a todos los usuarios.

Resultado esperado según el título de esta guía: todos los usuarios tienen las mismas categorías en su barra lateral, es decir, solo las que están en la configuración y nada más.
Resultado real: category4 sigue en la barra lateral, aunque no aparece en la barra lateral de los usuarios que no la añadieron manualmente.

¿En qué paso esperas que se elimine la categoría que el usuario añadió (en mi ejemplo, category4) a su barra lateral para lograr que todos los usuarios tengan las mismas categorías en su barra lateral?

Basándome en lo que dijiste aquí, no esperaría que se eliminara, porque la categoría no se elimina de la configuración ya que nunca estuvo en ella. Pero mencionas que usaste esos pasos para forzar que todos los usuarios tengan las mismas categorías.
Si hubiera añadido todas las categorías (método 1), category4 se habría añadido y luego eliminado, por lo que esperaría que desapareciera. Ahí es donde entiendo lo que sucede. Pero tu guía dice que debo usar el método 2, así que me pregunto qué me estoy perdiendo en mi comprensión y en mis pruebas.

1 me gusta

@moin ¿Cómo te sientes con esta guía ahora? ¿Responde todo lo que necesita responder? ¿Es demasiado extensa? ¿O no lo suficiente?

(Estoy trabajando en un bot para alinear nuestra documentación con el código real y actualizar las capturas de pantalla)