| الملخص | يمنح Discourse Zoom مسؤولي Discourse والمستخدمين الذين لديهم اشتراك مدفوع في Zoom القدرة على جدولة ندوات الويب (Webinars) وإدارتها والمشاركة فيها مباشرة من منصة Discourse الخاصة بهم. | |
| رابط المستودع | https://github.com/discourse/discourse-zoom | |
| دليل التثبيت | كيفية تثبيت الإضافات في Discourse |
نظرة عامة
تقوم هذه الإضافة بدمج ندوات الويب (Webinars) الخاصة بـ Zoom في مثيل Discourse. يمكن ربط ندوات الويب بالمواضيع، ويمكن لمستخدمي Discourse التسجيل في ندوات الويب والانضمام إليها عند بدء تشغيلها.
نظرًا لأن Zoom تتخلى عن مصادقة JWT، فقد تغيرت آلية المصادقة في الإضافة اعتبارًا من 1 أغسطس 2023 من JWT (التي تم إيقافها الآن، وستقوم Zoom بإزالتها في 1 سبتمبر) إلى OAuth من الخادم إلى الخادم. يحتاج المستخدمون الحاليون للإضافة إلى تحديث إعداداتهم.
الميزات
- عند بدء ندوة الويب، يتحول زر “التسجيل” تلقائيًا إلى “انضمام”، والنقر عليه يشغل ندوة الويب باستخدام SDK Zoom في نقطة نهاية مخصصة داخل مجتمع Discourse الخاص بك
- يذكر مسجلي ندوة الويب تلقائيًا قبل N دقيقة من الحدث (N قابل للتكوين في إعدادات الإضافة، ويتم إيقاف التذكيرات افتراضيًا)
- يمكن للمسؤولين إضافة مشاركين (Panelists) إلى ندوة الويب في Discourse
- يمكن للمسؤولين إضافة رابط إلى تسجيلات الفيديو لندوة الويب في Discourse، والذي يتم عرضه للمستخدمين بعد انتهاء الحدث
- يتم ربط مضيفي ندوات الويب ومشاركيها بحسابات مستخدمي Discourse
الاستخدام
لاستخدام إضافة Discourse Zoom، تحتاج أولاً إلى تثبيتها في مثيل Discourse الخاص بك وتكوينها باستخدام بيانات اعتماد تطبيق OAuth من الخادم إلى الخادم الخاص بـ Zoom. بمجرد إعداد الإضافة، يمكنك إنشاء ندوة ويب جديدة بإنشاء موضوع جديد وربطها بندوة الويب. يمكن للمستخدمين بعد ذلك التسجيل في ندوة الويب مباشرة من الموضوع.
التثبيت
الخطوة 1: تثبيت الإضافة في مثيل Discourse الخاص بك
يمكنك تثبيت الإضافة في مثيل Discourse الخاص بك باتباع التعليمات هنا.
الخطوة 2: إنشاء تطبيق OAuth من الخادم إلى الخادم في متجر Zoom
للبدء، ستحتاج إلى إنشاء تطبيق OAuth من الخادم إلى الخادم في متجر Zoom. سيتم الحاجة إلى هذا التطبيق لإجراء طلبات إلى واجهة برمجة التطبيقات (API) الخاصة بـ Zoom وتلقي إشعارات الأحداث عبر Webhooks.
الخطوة 3: تكوين الإضافة
بمجرد تثبيت الإضافة، انتقل إلى إعدادات موقع Discourse الخاصة بك وحدد مربع الاختيار zoom enabled (تمكين Zoom) واحفظ.
من متجر Zoom، انتقل إلى علامة التبويب App Credentials (بيانات اعتماد التطبيق):
ثم انسخ القيم والصقها في إعدادات الموقع المقابلة في مثيل Discourse الخاص بك:
zoom s2s account id(معرف حساب Zoom S2S)zoom s2s client id(معرف عميل Zoom S2S)zoom s2s client secret(السر الخاص بعميل Zoom S2S)
الخطوة 4: تعيين رمز سر Webhook
في علامة التبويب Feature (الميزات) لتطبيق OAuth من الخادم إلى الخادم الخاص بك في Zoom، انسخ “Secret Token” (رمز السر) وأضفه إلى إعداد موقع Discourse zoom webhooks secret token.
الخطوة 5: تمكين اشتراكات الأحداث
بينما لا تزال في علامة التبويب Feature (الميزات) لتطبيق OAuth من الخادم إلى الخادم الخاص بك في Zoom، قم بتمكين “Event Subscriptions” (اشتراكات الأحداث) وحدد زر Add Event Subscription (إضافة اشتراك حدث):
بعد ذلك، اضبط “Event notification endpoint URL” (رابط نقطة نهاية إشعار الحدث) على:
https://YOURSITE.COM/zoom/webhooks/webinars.json
ثم حدد زر + Add Events (إضافة أحداث):
افتح علامة التبويب Webinar (ندوة الويب) من قائمة أنواع الأحداث وحدد جميع الأحداث المدرجة. إذا لم تتمكن من رؤية أذونات أحداث Webinar، فراجع كيفية تمكين الأذونات.
تحت “رابط نقطة نهاية إشعار الحدث” الذي قمت بتعيينه سابقًا، ابحث عن زر Validate (التحقق):
يجب أن يظهر
إذا كان كل شيء يعمل بشكل صحيح.
أخيرًا، حدد زر Save (حفظ) في أسفل الصفحة
الخطوة 6: النطاقات (Scopes)
بمجرد تعيين اشتراكات الأحداث، انتقل إلى علامة التبويب Scopes، وانقر على زر Add Scopes (إضافة نطاقات). هنا ستختار النطاقات التالية إما بالبحث عن القيم المعطاة في الجداول، يدويًا، أو باستخدام قيم جزئية، على سبيل المثال، بدلاً من البحث عن webinar:read:list_panelists:admin، ابحث عن webinar:read: سيؤدي ذلك إلى تضييق العناصر المعروضة لتسهيل العثور على المطلوبة.
في تطبيق OAuth من الخادم إلى الخادم تحت علامة التبويب scopes، انقر على زر Add Scopes وستظهر نافذة:
في مربع البحث عن النطاق، ابحث بالاسم الكامل أو الجزئي، لتسهيل ذلك، يمكنك نسخ ولصق كل نطاق في الجداول التالية أو البحث عنها تحت علامة التبويب المقابلة:
المستخدمون
| scope | desc |
|---|---|
| user:read:user:admin | عرض مستخدم |
| user:read:email:admin | التحقق من بريد المستخدم الإلكتروني |
| user:read:list_users:admin | عرض المستخدمين |
ندوة الويب
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | عرض المشاركين في ندوة الويب |
| webinar:read:list_absentees:admin | عرض الغائبين في ندوة الويب السابقة |
| webinar:read:webinar:admin | عرض ندوة ويب |
| webinar:read:registrant:admin | عرض المسجل في ندوة ويب |
| webinar:read:list_registrants:admin | عرض المسجلين في ندوة ويب |
| webinar:write:batch_registrants:admin | إضافة مسجلين إلى ندوة ويب |
| webinar:delete:webinar:admin | حذف ندوة ويب |
| webinar:write:panelist | إضافة مشاركين إلى ندوة ويب |
| webinar:delete:registrant | إزالة مسجل من ندوة ويب |
| webinar:write:webinar | إنشاء ندوة ويب لمستخدم |
| webinar:update:status | تحديث حالة ندوة ويب |
| webinar:delete:panelist | إزالة مشارك من ندوة ويب |
| webinar:update:webinar | تحديث ندوة ويب |
| webinar:write:registrant | إضافة مسجل إلى ندوة ويب |
ندوة الويب
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | عرض المشاركين في ندوة الويب |
| webinar:read:list_absentees:admin | عرض الغائبين في ندوة الويب السابقة |
| webinar:read:webinar:admin | عرض ندوة ويب |
| webinar:read:registrant:admin | عرض المسجل في ندوة ويب |
| webinar:read:list_registrants:admin | عرض المسجلين في ندوة ويب |
| webinar:write:batch_registrants:admin | إضافة مسجلين إلى ندوة ويب |
| webinar:delete:webinar:admin | حذف ندوة ويب |
| webinar:write:panelist | إضافة مشاركين إلى ندوة ويب |
| webinar:delete:registrant | إزالة مسجل من ندوة ويب |
| webinar:write:webinar | إنشاء ندوة ويب لمستخدم |
| webinar:update:status | تحديث حالة ندوة ويب |
| webinar:delete:panelist | إزالة مشارك من ندوة ويب |
| webinar:update:webinar | تحديث ندوة ويب |
| webinar:write:registrant | إضافة مسجل إلى ندوة ويب |
الخطوة 7: إنشاء تطبيق Meeting SDK
قامت Zoom بتغييرات في جانبها، ونحن نعمل على تحديث الدليل.
يصادق تطبيق SDK للاجتماعات على المستخدم حتى يتمكن من الانضمام إلى اجتماع ندوة الويب.
ابدأ بإنشاء General App (تطبيق عام)، وتحت Select how the app is managed (حدد كيفية إدارة التطبيق)، حدد User-managed (إدارة المستخدم).
تحت علامة التبويب Basic Information (المعلومات الأساسية) في تطبيقك العام، انسخ والصق Client ID/ SDK key (معرف العميل/مفتاح SDK) في حقل zoom sdk key، و Client Secret/SDK secret (السر الخاص بالعميل/سر SDK) في حقل zoom sdk secret.
بالتمرير لأسفل، ستجد قسم OAuth Information (معلومات OAuth)، في OAuth Redirect URL (رابط إعادة التوجيه OAuth)، ضع عنوان URL لموقعك، على سبيل المثال، https://YOURSITE.com.
الخطوة 8: تحديد استخدام التطبيق الخاص بك
تحت علامة التبويب Features (الميزات)، حدد علامة التبويب الفرعية Embed (التضمين)، وقم بتمكين Meeting SDK.
القيود
تعمل الإضافة فقط مع ندوات الويب التي لا تتطلب التسجيل في Zoom.
ملاحظة حول التغييرات الرئيسية (Breaking Changes)
نظرًا للإيقاف التدريجي لواجهة برمجة التطبيقات (API) الخاصة بـ Zoom، ستحتاج المثيلات القديمة للإضافة إلى تكوينها باتباع الخطوات المذكورة في هذا المنشور.
مستضافة من قبلنا؟ هذه الإضافة متاحة في خططنا Enterprise (المؤسسية).
















