Olá,
Estou me perguntando se existe alguma maneira de chamar uma API personalizada de terceiros criada em Node.js no Discourse.
Agradecemos seu feedback.
Obrigado.
Olá,
Estou me perguntando se existe alguma maneira de chamar uma API personalizada de terceiros criada em Node.js no Discourse.
Agradecemos seu feedback.
Obrigado.
Não deve importar em qual linguagem a API foi escrita, desde que toda a interação ocorra via HTTP.
Provavelmente, você precisará escrever algumas chamadas AJAX em JavaScript em um Componente de Tema ou, se for apropriado, fazer chamadas HTTP em algum novo código de Plugin que você escrever em Ruby, usando uma biblioteca Ruby adequada, como Excon ou Httparty.
Obrigado pela resposta, @merefield. Agradeço seu feedback.
Sou novo no desenvolvimento do Discourse. Anteriormente, trabalhei no NodeBB, um CMS de comunidade baseado em Node.js. Lá, fiz muitas personalizações (criei uma API personalizada para buscar dados de tickets do Zoho, recuperei listas de vídeos do Vimeo, entre outras coisas). Então, quero fazer o mesmo ou preciso criar as mesmas API(s) nele e renderizar os dados de resposta em algumas páginas estáticas para o usuário.
Obrigado.
Use o backend para fazer a chamada:
Se for uma operação demorada, coloque-a em um Job.
Isso exigirá algum código Ruby em um Plugin e uma das gems mencionadas acima.
Não é necessariamente muito fácil começar a desenvolver plugins para o Discourse, pois é uma plataforma grande, complexa e com opiniões bem definidas, mas há bons guias oficiais aqui e MUITOS plugins de código aberto existentes para você consultar (veja Customization > Plugin e os links para o GitHub). Tente encontrar um que faça algo semelhante e observe como ele é resolvido no código.
Se for algo mais superficial, considere usar um Theme Component. Consulte os guias de desenvolvimento de temas aqui.
Veja exemplos, como este: discourse-tc-quote-of-the-day/get-quote.js.es6 no master · merefield/discourse-tc-quote-of-the-day (github.com)
Ok @merefield, estou investigando. Agradeço seu feedback.