| ملخص | يضيف Discourse Calendar and Events (تقويم Discourse والفعاليات) ميزات التقويم والفعاليات الديناميكية والتفاعلية إلى موقع Discourse الخاص بك. | |
| دليل التثبيت | يتم تضمين هذا الملحق مع نواة Discourse. لا حاجة لتثبيت الملحق بشكل منفصل. |
تفعيل التقويم والفعاليات
يمكن تفعيل ملحق التقويم والفعاليات إما عن طريق مفتاح التبديل أو من إعداداته، وكلاهما متاح من صفحة admin/plugins الخاصة بك:
الميزات
كما قد تتوقع، يضيف Discourse Calendar and Events كلًا من ميزات التقويم والفعاليات إلى موقع Discourse الخاص بك. باستخدام هذه الميزات، يمكنك إنشاء تقويمات مواضيع فردية لتتبع المناسبات أو الجداول الزمنية المهمة، وعرض التقويمات في الفئات، وإضافة تقويم إجازات لتحديد الإجازات أو الغياب أو أيام المرض، وإنشاء مواضيع فعاليات تفاعلية، بالإضافة إلى عرض ملخص تقويم سهل الوصول لجميع فعالياتك القادمة.
التقويمات
can be created in multiple topics, and ones you wish to give higher visibility to can be displayed above a category’s topic list.
يمكنك العثور على معلومات أكثر تفصيلًا حول كيفية إنشاء واستخدام التقويمات في:
الفعاليات
تتيح ميزة الفعاليات إدراج عناصر تفاعلية في المواضيع يمكن لأعضائك استخدامها للتسجيل للحضور أو المشاركة في أنشطة مجتمعك. يتم تلخيص كل هذه العناصر في تقويم مخصص للموقع بأكمله، مع خيار إضافة رابط سهل الوصول إلى قائمة التنقل الخاصة بك. يمكنك العثور على مزيد من المعلومات حول كيفية إنشاء واستخدام هذه الميزة في:
لا ينبغي الخلط بين هذا وملحق الفعاليات الخاص بـ Pavilion (لاحظ الجمع)
إعدادات التقويم
| الاسم | الوصف |
|---|---|
| تقويم مفعل | تفعيل ملحق discourse-calendar. سيضيف هذا دعمًا لوسم [calendar][/calendar] في المشاركة الأولى من الموضوع. |
| معرف موضوع تقويم الإجازات | معرف موضوع تقويم إجازات/غياب الموظفين. |
| رمز إيموجي حالة الإجازة | يحدد رمز الإيموجي المستخدم لحالة الإجازة. |
| حذف مشاركات الفعاليات المنتهية بعد | سيتم حذف المشاركات ذات الفعاليات المنتهية تلقائيًا بعد (ن) ساعة. اضبط على -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 post event enabled | تفعيل ميزات الفعاليات. ملاحظة: يحتاج أيضًا إلى تفعيل calendar enabled. |
| discourse post event allowed on groups | المجموعات المسموح لها بإنشاء الفعاليات. |
| displayed invitees limit | يحدد عدد المدعوين المعروضين في فعالية. |
| display post event date on topic title | يعرض تاريخ الفعالية بعد عنوان الموضوع. |
| use local event date | استخدام التاريخ المحلي بعد عنوان الموضوع بدلاً من الوقت النسبي. |
| discourse post event edit notifications time extension | يمدد (بالدقائق) الفترة بعد انتهاء الفعالية عندما لا يزال يتم إعلام المدعوين going من التعديل في المشاركة الأصلية. |
| discourse post event allowed custom fields | يسمح لكل فعالية بتعيين قيمة الحقول المخصصة. |
| events calendar categories | عرض تقويم الفعاليات في أعلى الفئة. |
| sort categories by event start date enabled | تفعيل فرز مواضيع الفئة حسب تاريخ بدء الفعالية. |
| disable resorting on categories enabled | السماح للفئات بتعطيل قدرة المستخدمين على الفرز في فئة الفعاليات. |
| sidebar show upcoming events | عرض رابط الفعاليات القادمة في الشريط الجانبي تحت “المزيد”. يتطلب post event enabled |
| map events to color | تعيين لون الفعالية لوسم أو فئة محددة |
![]()
نقطة النهاية
discourse-post-event/events.jsonلها الآن معلمة مضافة للتبديل بين الاستجابة البسيطة والمفصلة. للحصول على الاستجابة المفصلة يمكنك إضافة?include_details=true:
/discourse-post-event/events.json?include_details=true
إنشاء الفعاليات عبر واجهة برمجة التطبيقات (API)
يمكنك إنشاء الفعاليات عبر POST /posts.json مع BBCode [event][/event] في الحقل raw. إليك التفاصيل حول كيفية إعداد طلب واجهة برمجة التطبيقات الخاصة بك:
- استخدم
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 (
\") - يجب أن يكون حساب مستخدم واجهة برمجة التطبيقات مفوضًا بإنشاء الفعاليات (مدير أو مجموعة ذات حقوق إنشاء الفعاليات)
- اضبط الفئة عبر المعلمة
category، مع تمرير معرف الفئة كقيمة.
فعاليات البث المباشر
بالنسبة للفعاليات المباشرة، استخدم وظيفة البث المباشر للسماح للأعضاء بمشاهدة الفعالية والمشاركة في الدردشة في نفس الوقت.
تتضمن فعالية البث المباشر:
- بث فيديو (باستخدام YouTube، على سبيل المثال)
- فعالية تقويم باستخدام Discourse Calendar and Events
- قناة دردشة مصاحبة يتم إنشاؤها تلقائيًا للفعالية
المتطلبات الأساسية لفعاليات البث المباشر
لاستخدام فعاليات البث المباشر، يجب أن يكون لديك chat enabled، نظرًا لأن البث المباشر ينشئ قناة دردشة مصاحبة لفعالياتك، بالإضافة إلى discourse post event enabled و calendar enabled.
إذا كنت تريد استخدام البث المباشر، ولكن لا تريد الدردشة في أماكن أخرى...
- اضبط
chat allowed groupsعلى التكوين الافتراضي، أو قم بتضمينtrust_level_0للسماح للمستخدمين الجدد تمامًا بالمشاركة في دردشة البث المباشر - قم بإزالة المجموعات من إعداد
direct message enabled groupsلمنع الرسائل المباشرة بين المستخدمين - لا تنشئ قنوات دردشة أخرى
إنشاء فعالية بث مباشر
لإنشاء فعالية بث مباشر:
- افتح موضوعًا جديدًا.
- حدد أيقونة + في شريط أدوات الكاتب وانقر على إنشاء فعالية (إذا لم تكن الفعالية قد تمت إضافتها إلى موضوعك بالفعل).
- الصق الرابط إلى فيديو الفعالية (على سبيل المثال، عنوان URL لـ YouTube) في حقل الموقع/الرابط.
- قم بتفعيل “البث المباشر”
سترى بعد ذلك أن الفعالية والبث المباشر قد تم إنشاؤهما، مع قناة دردشة مصاحبة على الجانب الأيمن.
بمجرد أن يضغط أي مستخدم على Going (سأحضر) في الفعالية، سينضم تلقائيًا إلى قناة الدردشة، مما يسمح له بالمشاركة في المحادثة!
بث ندوات Zoom
يمكنك استخدام البث المباشر لاستضافة ندوات Zoom مباشرة في Discourse، بحيث يمكن للأعضاء مشاهدة الفعالية والمشاركة في قناة الدردشة المصاحبة دون مغادرة مجتمعك.
المتطلبات الأساسية لندوات Zoom
n
بالإضافة إلى متطلبات البث المباشر، ستحتاج أيضًا إلى تكوين الإعدادات التالية:
- قم بتفعيل
livestream zoom enabled - أدخل مفتاح SDK لاجتماعات Zoom في إعداد
livestream zoom sdk key - أدخل سر SDK لاجتماعات Zoom في إعداد
livestream zoom sdk secret
للحصول على مفتاح وسر SDK لاجتماعات Zoom:
-
انتقل إلى marketplace.zoom.us، انقر على Develop (تطوير)، وانقر على Build app (إنشاء تطبيق).
-
عند سؤالك عن نوع التطبيق الذي تقوم بإنشائه، اختر General App (تطبيق عام) وانقر على Create (إنشاء).
-
من صفحة App Credentials (بيانات اعتماد التطبيق) للتطبيق، انسخ Client ID (مفتاح SDK) و Client Secret (سر SDK).
-
تحت Embed (تضمين)، قم بتفعيل إذن Meeting SDK (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/``...) في حقل الرابط/الموقع. - قم بتفعيل البث المباشر.
- اضبط اسم الفعالية، ووقت البدء، ووقت الانتهاء، وتفاصيل الفعالية الأخرى حسب الرغبة.
- انشر الموضوع.
مثل فعاليات البث المباشر الأخرى، سيتم إنشاء هذه الفعالية مع قناة دردشة Discourse مصاحبة ينضم إليها الأعضاء تلقائيًا بعد تأكيد حضورهم بـ “سأحضر”.
تجربة الأعضاء
إليك كيف سيختبر أعضاؤك الندوة:
قبل الفعالية
يتم عرض زر Join Zoom (انضم إلى Zoom) قبل 30 دقيقة من بدء الفعالية. خارج هذه النافذة، يكون الزر معطلًا مع رسالة تشير إلى متى سيصبح متاحًا.
أثناء الفعالية
بمجرد أن ينقر الأعضاء على Join Zoom (انضم إلى Zoom)، ستتم تحميل الندوة في صفحة الموضوع (أو، إذا لم يبدأ المضيف الفعالية بعد، سيحتاج العضو إلى الانتظار حتى يفعل ذلك لرؤية الفيديو).
لا يتم الاتصال بالصوت تلقائيًا عند الانضمام إلى الندوة؛ يحتاج الحاضرون إلى النقر أو اللمس على أيقونة الصوت في شريط أدوات Zoom للاتصال. هذا قيد في SDK لـ Zoom ولا يمكن تغييره.
على الهاتف المحمول، تفتح الندوة في عرض Zoom بشاشة كاملة (وهو متاح أيضًا على سطح المكتب عن طريق إضافة /zoom إلى نهاية عنوان URL لموضوع الفعالية) مع زر دردشة عائم يمكنهم النقر عليه لفتح لوحة تراكب الدردشة أثناء الفعالية.
بعد الفعالية
يتم إخفاء زر Join Zoom (انضم إلى Zoom) بعد 10 دقائق من وقت انتهاء الفعالية. تظل قناة الدردشة متاحة للحاضرين حتى تقوم بإغلاقها.
التكامل مع ملحقات أخرى
يمكنك استخدام مكون من هذا الملحق مع Right Sidebar Blocks. ستحتاج إلى التأكد من تمكين المسار المطلوب في مكون Right Sidebar Blocks. سيكون اسم الكتلة upcoming-events-list. تاريخيًا، كانت هناك إعدادات إضافية مطلوبة في ملحق التقويم نفسه، ولكن تم تبسيط هذا الأمر.
هكذا سيبدو تقويم الشريط الجانبي بشكل افتراضي.
إذا لم تكن تريد الوقت، يمكنك إضافة قيمة فارغة لـ timeFormat في إعداد كتلة المكون.
هل تستضيفنا نحن؟ هذا الملحق متاح في طبقاتنا Business و Enterprise Calendar | Discourse - Civilized Discussion
categoryId هي الفئة التي سيتم عرض التقويم فوقها.
postId هو المشاركة التي تضع فيها التقويم باستخدام [calendar][/calendar] ↩︎يمكنه عرض منتقي المنطقة الزمنية في أعلى يمين التقويم. افتراضيًا خطأ، يمكنك تفعيله باستخدام tzPicker=true ↩︎
يمكنه إخفاء أيام السبت والأحد من التقويم. افتراضيًا صحيح. يمكنك ضبطه على خطأ باستخدام weekends=false. ↩︎
سيضبط defaultView عرض التقويم (يوم، أسبوع، إلخ). يمكن ضبطه كالتالي:
defaultView=agendaDay
defaultView=agendaWeek
defaultView=month (افتراضي)
defaultView=listNextYear ↩︎


















