Este proyecto ha sido puesto en espera por ahora. Podemos retomarlo en el futuro y publicaremos una actualización aquí si es así.
¡Estamos introduciendo una función experimental para ayudar a las comunidades con un gran número de categorías. ![]()
Durante los últimos meses hemos estado trabajando arduamente para que los sitios de Discourse funcionen mejor para las comunidades con muchas categorías (¡y no solo eso!). Esto permitirá a los administradores crear miles de categorías manteniendo la experiencia de usuario amigable a la que están acostumbrados.
Esta sigue siendo una función experimental y se puede habilitar ajustando la configuración del sitio lazy_loaded_categories_groups. Actualmente está deshabilitada por defecto.
¿Cómo funciona esto?
En este momento, todos los datos de las categorías se cargan cuando navegas a una comunidad de Discourse. Esto se llama “carga ansiosa” (eager loading) y no es ideal para sitios con muchas categorías porque significa que se transfiere mucha información antes de la primera renderización, lo que aumenta el tiempo de carga general.
El nuevo método se llama “carga diferida” (lazy loading) y pospondrá la carga de información sobre una categoría hasta que sea realmente necesaria (por ejemplo, al buscar una categoría, navegar o enlazar una, leer un tema o publicación que la mencione, etc.). Menos datos transferidos significan un tiempo de carga más rápido y ¡usuarios más felices! ![]()
¿Qué significa esto para ti, como miembro de Meta?
Hemos estado probando exhaustivamente esta función internamente, pero dada la magnitud del trabajo realizado, existe una ligera posibilidad de introducir errores. Si notas algo que no funciona correctamente relacionado con las categorías, infórmanos respondiendo a este tema o abre un tema en Bug.
¿Qué significa esto para ti o tu comunidad?
Ya sea que estés alojado por nosotros o seas autohospedado, esta función está deshabilitada por defecto y no debería haber cambios visibles.
Sin embargo, si estás considerando expandir tu comunidad para tener muchas categorías, te recomendamos encarecidamente que habilites esta función.
En el futuro, la habilitaremos por defecto y, finalmente, eliminaremos y desaprobaremos el código que realiza la “carga ansiosa” de las categorías.
¿Qué significa esto para los desarrolladores de plugins y temas?
En general, debería haber pocos o ningún cambio necesario para la mayoría de los plugins, siempre y cuando utilicen los componentes de categoría del núcleo o los datos precargados (por ejemplo, consultar solo las categorías que ya son visibles al cargar la página, porque eso significa que ya han sido precargadas).
Pueden aparecer algunos problemas al intentar utilizar información de categorías que aún no se han cargado. El método Category.findByIds continuará devolviendo solo las categorías que ya se han cargado, mientras que Category.asyncFindByIds puede realizar una búsqueda en el servidor si la información aún no se ha cargado.

















