| ملخص | يضيف Discourse Calendar and Events ميزات التقويم والفعاليات الديناميكية والتفاعلية إلى موقع 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.
يمكنك العثور على معلومات أكثر تفصيلًا حول كيفية إنشاء واستخدام التقويمات في:
الفعاليات
تتيح ميزة الفعاليات إدراج عناصر تفاعلية في المواضيع يمكن لأعضائك استخدامها للتسجيل للحضور أو المشاركة في أنشطة مجتمعك. يتم تلخيص كل ذلك في تقويم مخصص على مستوى الموقع، مع خيار إضافة رابط سهل الوصول إلى قائمة التنقل الخاصة بك. يمكنك العثور على مزيد من المعلومات حول كيفية إنشاء واستخدام هذه الميزة في:
لا ينبغي الخلط بين هذا ومكوّن Events plugin الخاص بـ Pavilion (لاحظ الجمع)
إعدادات التقويم
| الاسم | الوصف |
|---|---|
| calendar enabled | تفعيل مكوّن discourse-calendar. سيضيف هذا دعمًا لوسم [calendar][/calendar] في المشاركة الأولى للموضوع. |
| holiday calendar topic id | معرف موضوع تقويم عطلات/غياب الموظفين. |
| holiday status emoji | يحدد الرمز التعبيري المستخدم لحالة العطلة. |
| delete expired event posts after | سيتم حذف المشاركات ذات الفعاليات المنتهية تلقائيًا بعد (ن) ساعة. اضبط على -1 لتعطيل الحذف. |
| all day event start time | ستبدأ الفعاليات التي لا تحتوي على وقت بدء محدد في هذا الوقت. التنسيق هو HH:mm. لـ 6:00 صباحًا، أدخل 06:00 |
| all day event end time | ستنتهي الفعاليات التي لا تحتوي على وقت نهاية محدد في هذا الوقت. التنسيق هو HH:mm. لـ 6:00 مساءً، أدخل 18:00 |
| calendar categories | عرض تقويم في أعلى الفئة. الإعدادات الإلزامية هي categoryId و postId. مثال: categoryId=6;postId=453[1] الإعدادات الأخرى الصالحة: tzPicker[2], weekends[3] و defaultView[4]. |
| calendar categories outlet | يسمح بتغيير أي منفذ يجب أن يعرض تقويم الفئة. |
| working days | تعيين أيام العمل. يمكنك عرض توفر مجموعة باستخدام وسم timezones في مشاركة، مثال: [timezones group=admins][timezones] |
| working day start hour | وقت بدء ساعات العمل. |
| working day end hour | وقت انتهاء ساعات العمل. |
| close to working day hours extension | تعيين وقت الامتداد في ساعات العمل لإبراز المناطق الزمنية. |
| calendar automatic holidays enabled | تعيين حالة العطلة تلقائيًا بناءً على منطقة المستخدم (ملاحظة: يمكنك تعطيل عطلات تلقائية محددة في إعدادات المكوّن الإضافي) |
| map events title | تعيين عنوان تقويم الشريط الجانبي بناءً على الفئة. الافتراضي هو “الفعاليات القادمة” |
إعدادات الفعاليات
| الاسم | الوصف |
|---|---|
| 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 | يمدد (بالدقائق) الفترة بعد انتهاء الفعالية عندما لا يزال المدعوون الذين اختاروا “ذهابًا” يتلقون إشعارات من التعديل في المشاركة الأصلية. |
| 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.
إنشاء فعالية البث المباشر
لإنشاء فعالية البث المباشر:
- افتح موضوعًا جديدًا.
- حدد أيقونة + في شريط أدوات المُؤلف وانقر على إنشاء فعالية (إذا لم تكن الفعالية قد أُضيفت بالفعل إلى موضوعك).
- الصق الرابط إلى فيديو الفعالية (على سبيل المثال، عنوان URL الخاص بـ YouTube) في حقل الموقع/عنوان URL.
- فعّل “البث المباشر”
سترى بعد ذلك أن الفعالية والبث المباشر قد تم إنشاؤهما، جنبًا إلى جنب مع قناة دردشة مصاحبة على الجانب الأيمن.
بمجرد أن ينقر أي مستخدم على ذهابًا في الفعالية، سينضمون تلقائيًا إلى قناة الدردشة، مما يسمح لهم بالمشاركة في المحادثة!
بث ندوات 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.[
-
في 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 للاتصال. هذا قيد في SDK الخاص بـ Zoom ولا يمكن تغييره.
على الهاتف المحمول، تفتح الندوة في عرض Zoom ملء الشاشة (والذي يمكن الوصول إليه أيضًا على سطح المكتب عن طريق إضافة /zoom إلى نهاية عنوان URL لموضوع الفعالية) مع زر دردشة عائم يمكنهم النقر عليه لفتح لوحة تراكب الدردشة أثناء الفعالية.
بعد الفعالية
يتم إخفاء زر انضمام إلى Zoom بعد 10 دقائق من وقت انتهاء الفعالية. تظل قناة الدردشة متاحة للحاضرين حتى تقوم بإغلاقها.
التكامل مع المكونات الإضافية الأخرى
يمكنك استخدام مكونًا من هذا المكوّن الإضافي مع Right Sidebar Blocks. ستحتاج إلى التأكد من تمكين المسار المطلوب في مكون Right Sidebar Blocks. سيكون اسم الكتلة upcoming-events-list. تاريخيًا، كانت هناك إعدادات إضافية مطلوبة في مكوّن التقويم نفسه، ولكن تم تبسيط ذلك.
هذا هو الشكل الذي سيبدو عليه تقويم الشريط الجانبي بشكل افتراضي.
إذا لم ترغب في الوقت، يمكنك إضافة قيمة timeFormat فارغة في إعداد كتلة المكون.
هل نوفر لك الاستضافة؟ هذا المكوّن الإضافي متاح في طرازاتنا التجارية والشركات Calendar | Discourse - Civilized Discussion
categoryId هو الفئة التي سيتم عرض التقويم فوقها.
postId هو المشاركة التي تضع فيها التقويم باستخدام [calendar][/calendar] ↩︎يمكنه عرض منتقي المنطقة الزمنية في الزاوية العلوية اليمنى من التقويم. الافتراضي هو False، يمكنك تفعيله باستخدام tzPicker=true ↩︎
يمكنه إخفاء أيام السبت والأحد من التقويم. الافتراضي هو True. يمكنك تعيينه على false باستخدام weekends=false. ↩︎
سيحدد defaultView عرض التقويم (يوم، أسبوع، إلخ). يمكن تعيينه كـ:
defaultView=agendaDay
defaultView=agendaWeek
defaultView=month (الافتراضي)
defaultView=listNextYear ↩︎


















