Este projeto está em pausa por enquanto. Podemos revisitá-lo no futuro e publicaremos uma atualização aqui, caso isso ocorra.
Estamos introduzindo um recurso experimental para ajudar comunidades com um grande número de categorias. ![]()
Nas últimas semanas, temos trabalhado intensamente para melhorar o funcionamento dos sites Discourse em comunidades com muitas categorias (e não apenas!). Isso permitirá que os administradores criem milhares de categorias, mantendo a experiência de usuário amigável com a qual você está familiarizado.
Este é ainda um recurso experimental e pode ser ativado alterando a configuração do site lazy_loaded_categories_groups. Atualmente, ele está desativado por padrão.
Como isso funciona?
No momento, todos os dados das categorias são carregados quando você navega até uma comunidade Discourse. Isso é chamado de “carregamento antecipado” (eager loading) e não é ideal para sites com muitas categorias, pois significa que muitas informações são transferidas antes da primeira renderização, o que aumenta o tempo geral de carregamento.
O novo método é chamado de “carregamento sob demanda” (lazy loading) e adiará o carregamento das informações sobre uma categoria até que seja realmente necessário (por exemplo, ao pesquisar por uma categoria, navegar ou vincular uma, ler um tópico ou postagem que mencione uma, etc.). Menos dados transferidos significa tempo de carregamento mais rápido e usuários mais satisfeitos! ![]()
O que isso significa para você, como membro da Meta?
Temos testado intensamente esse recurso internamente, mas, dada a extensão do trabalho realizado, há uma pequena chance de introduzir bugs. Se você notar qualquer mau funcionamento relacionado às categorias, informe-nos respondendo a este tópico ou abrindo um tópico em Contribute > Bug.
O que isso significa para você ou sua comunidade?
Seja você hospedado por nós ou se estiver hospedando por conta própria, este recurso está desativado por padrão e não deve haver alterações visíveis.
No entanto, se você está pensando em expandir sua comunidade para ter muitas categorias, recomendamos fortemente que você ative este recurso.
No futuro, pretendemos ativá-lo por padrão e, eventualmente, descontinuar e remover o código que faz o “carregamento antecipado” das categorias.
O que isso significa para desenvolvedores de plugins e temas?
Em geral, não deverá haver alterações necessárias para a maioria dos plugins, desde que utilizem os componentes de categoria do núcleo ou dados pré-carregados (por exemplo, consulte apenas categorias que já estão visíveis ao carregar a página, pois isso significa que elas já foram pré-carregadas).
Alguns problemas podem surgir ao tentar usar informações de categorias que ainda não foram carregadas. O método Category.findByIds continuará retornando apenas as categorias que já foram carregadas, enquanto Category.asyncFindByIds pode realizar uma consulta no servidor se as informações ainda não tiverem sido carregadas.

















