استخدم الواجهة الخلفية لإجراء المكالمة:
- إذا كنت بحاجة إلى أن تكون آمنة،
- إذا كنت بحاجة إلى أن تقوم الواجهة الخلفية بمعالجة النتيجة
- إذا كانت المكالمة (أو المكالمات) قد تستغرق وقتًا طويلاً
إذا كانت تستغرق وقتًا طويلاً، ضعها في مهمة (Job).
سيستدعي ذلك بعض كود Ruby في إضافة (Plugin) وإحدى مكتبات gems المذكورة أعلاه.
لا يُعد الدخول في تطوير إضافات Discourse أمرًا سهلاً بالضرورة؛ فهو منصة ضخمة ومعقدة وذات توجهات واضحة، لكن هناك دليلين رسميين جيدين هنا، وكثيرًا من الإضافات مفتوحة المصدر الموجودة مسبقًا التي يمكنك الاطلاع عليها (انظر Customization > Plugin والروابط إلى GitHub). حاول العثور على إضافة تقوم بشيء مشابه وتصفح كيفية حلها في الكود.
إذا كان التعديل سطحيًا، ففكر في استخدام مكون سمة (Theme Component). اطّلع على دليل تطوير السمات هنا.
اطّلع على أمثلة، مثل هذا المثال: discourse-tc-quote-of-the-day/get-quote.js.es6 at master · merefield/discourse-tc-quote-of-the-day (github.com)