هل يمكنني استخدام واجهة برمجة تطبيقات JSON بدلاً من بناء إضافة؟

أنا أعمل على بعض التخصيصات (مثل ما هو موصوف هنا و هنا) التي تتطلب فهمًا متينًا لـ Ember و Rails وكيفية تكامل قاعدة كود Discourse الأساسية.

نتيجة لذلك، كانت العملية بطيئة (أنا معتاد أكثر على Angular و Javascript، وجديد على Discourse)، لذا أنا أبحث عن طرق لإطلاق هذه التخصيصات بشكل أسرع.

إذن، السؤال هو: بدلاً من إنشاء ملحق يتلاعب بقوالب Discourse، هل يمكنني تحقيق نفس النتيجة النهائية باستخدام واجهة برمجة التطبيقات JSON؟

يبدو أن الإلمام الجيد بواجهة برمجة التطبيقات أكثر كفاءة من الإلمام الجيد بـ Ember وقاعدة كود Discourse، ويمكن تنفيذه باستخدام لغات مثل JavaScript النقي أو jQuery.

أعتقد أن الإجابة هي نعم. كما قال الفريق، يمكن تحقيق أي شيء يقوم به Discourse باستخدام واجهة برمجة التطبيقات.

أفترض أن هذا يمكن أن يعمل، ولكن سبب السؤال هو: حالة الاستخدام العادية لواجهة برمجة التطبيقات JSON، كما أفترض، هي تطبيق منفصل يريد التفاعل مع تطبيق Discourse. في حالتي، سيكون تطبيق Discourse هو من يستدعي واجهة برمجة تطبيقاته الخاصة.

على سبيل المثال، كنت قد سألت سابقًا عن استرجاع وعرض أصحاب المجموعات لكل مجموعة في صفحة فهرس المجموعات. عادةً، ستقوم ببناء ملحق لذلك.

في حالتي، سأفعل شيئًا مثل – في لوحة التخصيص الخاصة بي تحت “” – استدعاء دالة AJAX عند تحميل صفحة فهرس المجموعات ترسل طلب واجهة برمجة تطبيقات لإرجاع أصحاب كل مجموعة، ثم إدراج هذه المعلومات في قائمة كل مجموعة.

هل سيعمل ذلك؟ هل سأحتاج إلى إنشاء مفتاح واجهة برمجة تطبيقات لذلك نظرًا لأنه قادم من التطبيق نفسه؟

المشكلة هي أنه إذا كنت ترغب في تخزين نوع جديد من البيانات، فستحتاج إلى إضافة (plugin). يجب أن يعرف الخادم مكان تخزين البيانات، وما هو التنسيق المقبول، ومن مسموح له برؤية البيانات، ومن مسموح له بتعديل البيانات.


هويات مالكي المجموعات متاحة للجمهور، لذا يمكن لمكون السمة (Theme Component) تحميلها وعرضها على صفحة فهرس المجموعات - ولكن ببطء.

أما بالنسبة للمواضيع المميزة في التصنيفات، فهناك بالفعل بعض السمات والإضافات التي تستخدم الوسوم لتنفيذ ذلك. هل قمت بمراجعة تلك الإضافات؟

رائع. على الأرجح لن أكون أبحث عن تخزين نوع جديد من البيانات. بل سأتعامل مع الحقول المخصصة، متّبعًا تنسيق الحقول المخصصة الموجود مسبقًا.

لم أكن قد رأيت من قبل إضافات لعرض المواضيع في التصنيفات. المفتاح بالنسبة لي هو منح Moderators التصنيفات القدرة على اختيار تلك المواضيع. سأقوم بإلقاء نظرة.

بشأن استخدام الـ API لعرض مالكي التصنيفات، وعرض معلومات أخرى سأحصل عليها من الـ API: سيكون من المنطقي إذا كان أبطأ قليلاً من عملية البناء العادية، لكنني أتوقع أن تكون هذه الطريقة ليست بطيئة للغاية (أعتقد أنها ستعمل على المواقع التي تسترجع المعلومات عادةً من الـ APIs لتعبئة البيانات).

يمكنك فقط إعلان حقول مخصصة جديدة (وتسلسلها) في إضافة.