Quiero renderizar datos de APIs de terceros bajo el título del tema para cada uno de ellos en la página de lista de temas. ¿Alguien puede guiarme sobre cómo puedo renderizar datos utilizando las mejores prácticas?
Como no sé mucho sobre la personalización en Discourse. ¡Cualquier consejo sería de gran ayuda y apreciado!
Gracias @Lilly. En realidad, quiero mostrar algunos datos de una API de terceros para cada tema y para eso estoy buscando una manera de llamar a la API de terceros cuando los datos se cargan en la página de lista.
Entonces, cuando la página se carga, debería llamar a la API y luego quiero renderizar los datos. En este momento, estoy recopilando todos los datos de la lista y llamando a la API de terceros, y cualquier dato que llegue simplemente lo agrego al DOM. Pero quiero obtener los datos con la carga diferida de la página de lista de temas.
Esta es generalmente una mala idea. Si el host que sirve la API es lento, tu foro será lento. Si el host que sirve la API está caído, tu foro estará caído. Si tu foro está abrumado, la API estará abrumada.
Deberías cargar los datos de forma asíncrona, por ejemplo, en un trabajo de sidekiq, y almacenarlos con el tema.
Sé que es una mala idea, pero soy nuevo en Discourse y no sabía mucho al respecto. Ahora, buscaré el trabajo de Sidekiq como sugieres.
Tengo una pregunta más. ¿El trabajo de Sidekiq podrá determinar si hay nuevos datos que llegan para la página de la lista de temas? ¿O tengo que hacer algo diferente para que el trabajo sepa que la página de la lista carga más datos?