Je travaille sur certaines personnalisations (telles que décrites ici et ici) qui semblent nécessiter une bonne maîtrise d’Ember et de Rails, ainsi que de la manière dont le code source sous-jacent de Discourse s’articule.
En conséquence, la progression est lente (je suis plus habitué à Angular et JavaScript, et je découvre Discourse), je cherche donc des moyens de déployer ces personnalisations plus rapidement.
Voici donc ma question : au lieu de créer un plugin qui manipule les modèles de Discourse, pourrais-je obtenir le même résultat final en utilisant l’API JSON ?
Maîtriser l’API semble plus efficace que de maîtriser Ember et le code source de Discourse, et cela pourrait être implémenté avec des langages comme JavaScript pur ou jQuery.
Je pense que la réponse est oui. Comme l’a dit l’équipe, tout ce que fait Discourse peut être réalisé via l’API.
Je suppose que cela peut fonctionner, mais voici la raison de ma question : le cas d’usage habituel de l’API JSON, à mon avis, concerne une application distincte qui souhaite interagir avec l’application Discourse. Dans mon cas, il s’agirait de l’application Discourse appelant sa propre API.
Par exemple, j’avais précédemment demandé comment récupérer et afficher les propriétaires de groupes de chaque groupe sur la page d’index des groupes. Normalement, on créerait un plugin pour cela.
Dans mon cas, je ferais quelque chose comme ceci : dans mon tableau de bord de personnalisation, sous la balise <head> — appeler une fonction AJAX lors du chargement de la page d’index des groupes, qui envoie une requête API pour récupérer les propriétaires de chaque groupe, puis insère ces informations dans chaque liste de groupe.
Est-ce que cela fonctionnerait ? Devrais-je générer une clé API pour cela, étant donné que la requête provient de l’application elle-même ?