Este proyecto ha sido puesto en pausa por el momento. Es posible que lo retomemos en el futuro y publicaremos una actualización aquí en ese caso.
Presentamos 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 mejorar el funcionamiento de los sitios Discourse en comunidades con muchas categorías (¡y no solo en ellas!). Esto permitirá a los administradores crear miles de categorías manteniendo la experiencia de usuario amigable que ya conoces.
Esta sigue siendo una función experimental y se puede habilitar modificando la configuración del sitio lazy_loaded_categories_groups. Actualmente está desactivada de forma predeterminada.
¿Cómo funciona?
En este momento, todos los datos de las categorías se cargan cuando navegas a una comunidad de Discourse. Esto se denomina «carga anticipada» (eager loading) y no es ideal para sitios con muchas categorías, ya que significa que se transfiere mucha información antes del primer renderizado, lo que aumenta el tiempo general de carga.
El nuevo método se llama «carga diferida» (lazy loading) y retrasará la carga de información sobre una categoría hasta que sea realmente necesario (por ejemplo, al buscar una categoría, navegar a ella o enlazarla, leer un tema o publicación que la mencione, etc.). Menos datos transferidos significa un tiempo de carga más rápido y usuarios más satisfechos. ![]()
¿Qué significa esto para ti, como miembro de Meta?
Hemos realizado pruebas intensivas de esta función internamente, pero dado el alcance del trabajo realizado, existe una pequeña posibilidad de introducir errores. Si notas algún fallo relacionado con las categorías, háznoslo saber respondiendo a este tema o creando un tema en Contribute > Bug.
¿Qué significa esto para ti o tu comunidad?
Ya sea que estés alojado por nosotros o si te autoalojas, esta función está desactivada de forma predeterminada y no debería haber cambios visibles.
Sin embargo, si estás pensando en ampliar tu comunidad para incluir muchas categorías, te recomendamos encarecidamente que habilites esta función.
En el futuro, la activaremos de forma predeterminada y eventualmente descontinuaremos y eliminaremos el código que realiza la «carga anticipada» de las categorías.
¿Qué significa esto para los desarrolladores de complementos y temas?
En general, no debería ser necesario realizar cambios para la mayoría de los complementos, siempre que utilicen los componentes de categoría del núcleo o datos precargados (por ejemplo, consulta solo las categorías que ya son visibles al cargar la página, ya que eso significa que ya se han precargado).
Pueden surgir problemas al intentar utilizar información de categorías que aún no se han cargado. El método Category.findByIds seguirá 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.

















