| الملخص | يضيف Discourse Events ميزات ديناميكية وتفاعلية للتقويمات والأحداث إلى موقع Discourse الخاص بك. | |
| دليل التثبيت | هذا الإضافة مدمجة مع Discourse core. لا حاجة لتثبيت الإضافة بشكل منفصل. |
تفعيل الأحداث
يمكن تفعيل إضافة الأحداث إما عن طريق مفتاح التبديل أو من إعداداتها، وكلاهما قابل للوصول من صفحة admin/plugins الخاصة بك:
هل تستضيفنا نحن؟ هذه الإضافة متوفرة في باقات Business و Enterprise الخاصة بنا https://www.discourse.org/plugins/calendar.html
الميزات
بشكل غير مفاجئ، يضيف Discourse Events كل من ميزات التقويم والأحداث إلى موقع Discourse الخاص بك. باستخدام هذه الميزات، يمكنك إنشاء تقويمات مواضيع فردية لتتبع المناسبات المهمة أو الخطوط الزمنية، وعرض التقويمات في الفئات، وإضافة تقويم عطلات لوضع علامات على الإجازات أو الغيابات أو أيام المرض، وإنشاء مواضيع أحداث تفاعلية، بالإضافة إلى عرض ملخص تقويم سهل الوصول لجميع أحداثك القادمة.
التقويمات
can be created bespoke calendars in multiple topics, and ones you wish to give higher visibility to can be displayed above a category’s topic list.
يمكنك العثور على معلومات أكثر تفصيلاً حول كيفية إنشاء واستخدام التقويمات في:
الأحداث
تسمح ميزة الأحداث بإدراج عناصر تفاعلية في المواضيع يمكن لأعضاء مجتمعك استخدامها للتسجيل لحضور أو المشاركة في أنشطة مجتمعك. يتم تلخيص جميع هذه العناصر في تقويم مخصص للموقع بأكمله، مع خيار إضافة رابط سهل الوصول إلى قائمة التنقل الخاصة بك. يمكنك العثور على مزيد من المعلومات حول كيفية إنشاء واستخدام هذه الميزة في:
لا ينبغي الخلط بين هذا وإضافة Events من Pavilion (لاحظ صيغة الجمع)
إعدادات التقويم
| الاسم | الوصف |
|---|---|
| تفعيل التقويم | تفعيل إضافة discourse-calendar. سيؤدي هذا إلى إضافة دعم لوسم [calendar][/calendar] في المنشور الأول لموضوع. |
| معرف موضوع تقويم العطلات | معرف الموضوع لتقويم عطلات / غياب الموظفين. |
| رمز تعبير حالة العطلات | يحدد الرمز التعبيري المستخدم لحالة العطلات. |
| حذف منشورات الأحداث المنتهية بعد | سيتم حذف المنشورات التي تحتوي على أحداث منتهية تلقائيًا بعد (n) ساعات. اضبطها على -1 لتعطيل الحذف. |
| وقت بدء الحدث طوال اليوم | الأحداث التي لا يوجد لها وقت بدء محدد ستبدأ في هذا الوقت. الصيغة هي HH:mm. لـ 6:00 صباحًا، أدخل 06:00 |
| وقت انتهاء الحدث طوال اليوم | الأحداث التي لا يوجد لها وقت انتهاء محدد ستنتهي في هذا الوقت. الصيغة هي HH:mm. لـ 6:00 مساءً، أدخل 18:00 |
| فئات التقويم | عرض تقويم في أعلى فئة. الإعدادات الإلزامية هي categoryId و postId. مثال: categoryId=6;postId=453[1] الإعدادات الأخرى الصالحة: tzPicker[2], weekends[3] و defaultView[4]. |
| منفذ فئات التقويم | يسمح بتغيير المنفذ الذي يجب أن يعرض تقويم الفئة. |
| أيام العمل | ضبط أيام العمل. يمكنك عرض توفر مجموعة باستخدام وسم timezones في منشور، مثال: [timezones group=admins][timezones] |
| ساعة بدء يوم العمل | وقت بدء ساعات يوم العمل. |
| ساعة انتهاء يوم العمل | وقت انتهاء ساعات يوم العمل. |
| تمديد ساعات يوم العمل القريبة | ضبط وقت التمديد في ساعات يوم العمل لإبراز المناطق الزمنية. |
| تفعيل العطلات التلقائية للتقويم | ضبط حالة العطلات تلقائيًا بناءً على منطقة المستخدم (ملاحظة: يمكنك تعطيل عطلات تلقائية محددة في إعدادات الإضافة) |
| عنوان خريطة الأحداث | يحدد عنوان تقويم الشريط الجانبي بناءً على الفئة. الافتراضي هو “أحداث قادمة” |
إعدادات الأحداث
| الاسم | الوصف |
|---|---|
| تفعيل حدث المنشور في discourse | تفعيل ميزات الأحداث. ملاحظة: يحتاج أيضًا إلى تفعيل calendar enabled. |
| المجموعات المسموح لها بحدث المنشور في discourse | المجموعات المسموح لها بإنشاء الأحداث. |
| حد المدعوين المعروضين | يحدد عدد المدعوين المعروضين في حدث. |
| عرض تاريخ حدث المنشور على عنوان الموضوع | يعرض تاريخ الحدث بعد عنوان الموضوع. |
| استخدام تاريخ الحدث المحلي | استخدام التاريخ المحلي بعد عنوان الموضوع بدلاً من الوقت النسبي. |
| تمديد وقت إشعارات تعديل حدث المنشور في discourse | يمدد (بالدقائق) الفترة بعد انتهاء الحدث عندما يتم إرسال إشعارات ما يزالون going (حاضرين) من التعديل في المنشور الأصلي. |
| حقول مخصصة مسموح بها لحدث المنشور في discourse | يسمح لكل حدث بإعداد قيمة الحقول المخصصة. |
| فئات تقويم الأحداث | عرض تقويم الأحداث في أعلى فئة. |
| تفعيل فرز الفئات حسب تاريخ بدء الحدث | تفعيل فرز مواضيع الفئات حسب تاريخ بدء الحدث. |
| تعطيل إعادة الفرز على الفئات المفعلة | يسمح للفئات بتعطيل قدرة المستخدمين على الفرز في فئة الأحداث. |
| عرض الأحداث القادمة في الشريط الجانبي | عرض رابط الأحداث القادمة في الشريط الجانبي تحت ‘المزيد’. يتطلب post event enabled |
| تعيين الأحداث إلى اللون | يعين لون الحدث لوسم أو فئة محددة |
![]()
أصبح لنقطة النهاية
discourse-post-event/events.jsonمعامل مضاف للتبديل بين الاستجابة البسيطة والمفصلة. للحصول على الاستجابة المفصلة يمكنك إضافة?include_details=true:
/discourse-post-event/events.json?include_details=true
إنشاء الأحداث عبر واجهة برمجة التطبيقات (API)
يمكنك إنشاء الأحداث عبر POST /posts.json باستخدام BBCode [event][/event] في الحقل raw. فيما يلي التفاصيل حول كيفية إعداد طلب API الخاص بك:
- استخدم
POST /posts.jsonمع معاملraw - صيغة الحدث:
[event start="2024-05-10 20:00" status="public" timezone="America/Vancouver" end="2024-05-10 21:30" allowedGroups="trust_level_0"]\n[/event] - سطر جديد
\nحرفي مطلوب بين وسمي الفتح والإغلاق - يجب هروب علامات الاقتباس المزدوجة عند استخدام JSON (
\") - يجب أن يكون حساب مستخدم API لديه إذن لإنشاء الأحداث (مسؤول أو مجموعة لديها حقوق إنشاء الأحداث)
- اضبط الفئة عبر معامل
category، بتمرير معرف الفئة كقيمة.
أحداث البث المباشر
للأحداث المباشرة، استخدم وظيفة البث المباشر للسماح للأعضاء بمشاهدة الحدث والمشاركة في الدردشة في الوقت نفسه.
يشمل حدث البث المباشر:
- بث فيديو (باستخدام YouTube، على سبيل المثال)
- حدث تقويم باستخدام Discourse Events
- قناة دردشة مرافقة يتم إنشاؤها تلقائيًا للحدث
المتطلبات المسبقة لأحداث البث المباشر
للاستخدام أحداث البث المباشر، يجب أن يكون لديك chat enabled (الدردشة مفعلة)، لأن البث المباشر ينشئ قناة دردشة مرافقة لحدثك، بالإضافة إلى discourse post event enabled و calendar enabled.
إذا كنت تريد استخدام البث المباشر، لكنك لا تريد الدردشة في أماكن أخرى...
- اضبط
chat allowed groupsعلى الإعداد الافتراضي، أو شملtrust_level_0للسماح للمستخدمين الجدد تمامًا بالمشاركة في دردشة البث المباشر - أزل المجموعات من إعداد
direct message enabled groupsلمنع الرسائل المباشرة بين المستخدمين - لا تنشئ قنوات دردشة أخرى
إنشاء حدث بث مباشر
لإنشاء حدث بث مباشر:
- افتح موضوعًا جديدًا.
- حدد أيقونة + في شريط أدوات المحرر وانقر إنشاء حدث (إذا لم يُضف الحدث بالفعل إلى موضوعك).
- الصق رابط فيديو الحدث (مثل رابط YouTube) في حقل الموقع/الرابط.
- قم بتبديل “البث المباشر” إلى الوضع المفعّل
ستلاحظ بعد ذلك أن الحدث والبث المباشر قد تم إنشاؤهما، مع قناة دردشة مرافقة على الجانب الأيمن.
بمجرد أن ينقر أي مستخدم على حاضر في الحدث، سينضم تلقائيًا إلى قناة الدردشة، مما يسمح له بالمشاركة في المحادثة!
بث ندوات Zoom عبر البث المباشر
يمكنك استخدام البث المباشر لاستضافة ندوات Zoom مباشرة في Discourse، بحيث يمكن للأعضاء مشاهدة الحدث والمشاركة في قناة الدردشة المرافقة دون مغادرة مجتمعك.
المتطلبات المسبقة لندوات Zoom
بالإضافة إلى متطلبات البث المباشر، ستحتاج أيضًا إلى تكوين الإعدادات التالية:
- قم بتفعيل
livestream zoom enabled - أدخل مفتاح Zoom Meeting SDK الخاص بك في إعداد
livestream zoom sdk key - أدخل سر Zoom Meeting SDK الخاص بك في إعداد
livestream zoom sdk secret
للحصول على مفتاح وسر Zoom Meeting SDK:
-
انتقل إلى marketplace.zoom.us، وانقر على Develop، ثم انقر على Build app.
-
عند سؤالك عن نوع التطبيق الذي تنشئه، اختر General App وانقر على Create.
-
من صفحة App Credentials للتطبيق، انسخ Client ID (مفتاح SDK) و Client Secret (سر SDK).
-
تحت Embed، فعّل إذن Meeting SDK.
-
في Discourse الخاص بك، انتقل إلى Admin → All site settings وأدخل القيم من الخطوة 3 في
livestream zoom sdk keyوlivestream zoom sdk secret.
لكي تعمل ندوة Zoom بشكل صحيح في Discourse:
-
لا ينبغي أن تتطلب الندوة تسجيلًا أو رمز مرور للانضمام.
-
عطّل دردشة الندوات المدمجة في Zoom للتأكد من حدوث جميع النقاشات في قناة دردشة Discourse الواحدة للحفاظ على جميع الدردشة في مكان واحد والتأكد من استمرار المحادثة بعد انتهاء الندوة.
إنشاء حدث بث مباشر لندوة Zoom
لإنشاء حدث بث مباشر لندوة Zoom الخاصة بك:
- افتح موضوعًا جديدًا، حدد أيقونة +، وانقر على إنشاء حدث.
- الصق رابط ندوة Zoom الخاصة بك (مثل
https://zoom.us/``...) في حقل URL/الموقع. - قم بتبديل البث المباشر إلى الوضع المفعّل.
- اضبط اسم الحدث، وقت البدء، وقت الانتهاء، وتفاصيل الحدث الأخرى كما تريد.
- انشر الموضوع.
مثل أحداث البث المباشر الأخرى، سيتم إنشاء هذا الحدث مع قناة دردشة Discourse مرافقة ينضم إليها الأعضاء تلقائيًا بعد تأكيدهم على الحضور (“حاضر”).
تجربة العضو
إليك كيف سيعيش أعضاء مجتمعك تجربة الندوة:
قبل الحدث
يتم عرض زر انضم إلى Zoom قبل 30 دقيقة من بدء الحدث. خارج هذه النافذة، يكون الزر معطلًا مع رسالة تشير إلى متى سيصبح متاحًا.
أثناء الحدث
بمجرد أن ينقر الأعضاء على انضم إلى Zoom، ستُحمّل الندوة في صفحة الموضوع (أو، إذا لم يبدأ المضيف الحدث بعد، سيتعين على العضو الانتظار حتى يبدأ لرؤية الفيديو).
لا يتم توصيل الصوت تلقائيًا عند الانضمام إلى الندوة؛ يحتاج الحاضرون إلى النقر أو لمس أيقونة الصوت في شريط أدوات Zoom للتوصيل. هذه هي قيود Zoom SDK ولا يمكن تغييرها.
على الهاتف المحمول، تفتح الندوة في عرض Zoom ملء الشاشة (والذي يمكن الوصول إليه أيضًا على سطح المكتب بإضافة /zoom إلى نهاية عنوان URL لموضوع الحدث) مع زر دردشة عائم يمكنهم النقر عليه لفتح لوحة دردشة منبثقة أثناء الحدث.
بعد الحدث
يُخفى زر انضم إلى Zoom بعد 10 دقائق من وقت انتهاء الحدث. تظل قناة الدردشة متاحة للحاضرين حتى تقوم بإغلاقها.
التكامل مع إضافات أخرى
يمكنك استخدام مكوّن من هذه الإضافة مع Right Sidebar Blocks. ستحتاج إلى التأكد من تمكين المسار المطلوب في مكوّن Right Sidebar Blocks. سيكون اسم الكتلة upcoming-events-list. تاريخيًا، كانت هناك إعدادات إضافية مطلوبة في إضافة Calendar نفسها، لكن هذا قد تم تبسيطه.
هكذا سيبدو تقويم الشريط الجانبي بشكل افتراضي.
إذا لم تكن تريد عرض الوقت، يمكنك إضافة قيمة فارغة لـ timeFormat في إعداد كتلة المكوّن.
categoryId هو الفئة التي سيتم عرض التقويم فوقها.
postId هو المنشور الذي تضع فيه التقويم باستخدام [calendar][/calendar] ↩︎يمكنه عرض منتقي منطقة زمنية في الزاوية العلوية اليمنى من التقويم. افتراضيًا False، يمكنك تفعيله باستخدام tzPicker=true ↩︎
يمكنه إخفاء أيام السبت والأحد من التقويم. افتراضيًا True. يمكنك ضبطها على false باستخدام weekends=false. ↩︎
ستضبط defaultView عرض التقويم (يوم، أسبوع، إلخ). يمكن ضبطها كالتالي:
defaultView=agendaDay
defaultView=agendaWeek
defaultView=month (افتراضي)
defaultView=listNextYear ↩︎






















