الأدلة دي بتطابق مفاهيم المجال مع العناصر الموجودة في المنصة دلوقتي (bouquets وخطوط وحزم وحسابات موزّعين وعقد والـ API). دي مطابقات مفاهيمية، مش ميزات خاصة بمجال، وحساب الموزّع حساب مفوَّض، مش tenant معزول.
المطابقة المفاهيمية
مفيش حاجة في اللوحة اسمها جلسة أو مقيم أو إدارة. الجدول بيقول أنهي كائن بيلعب أنهي دور؛ والفصول اللي تحت بتظبطهم بالترتيب ده.
| في مجالك | على المنصة | فين في اللوحة |
|---|---|---|
| جلسة مجلس أو قناة عامة | قناة مباشرة: بث بمصادره وEPG وصيغ الإخراج | Streams → ضيف بث مباشر (رابط المصدر أو RTMP push) |
| أرشيف الجلسات ومكتبة التدريب | كتالوج VOD: أفلام ومسلسلات بمواسم وحلقات وتصنيفات وبيانات وصفية | Movies وSeries، أو مهمة استيراد VOD |
| برنامج عام أو مجموعة إدارة | Bouquet: مجموعة مسمّاة من القنوات أو الأفلام أو المسلسلات اللي الحزمة بتديها | Bouquets، من Streams وMovies / Series |
| وصول مقيم أو موظف | الخط: وصول واحد بحزمته وbouquets وانتهائه وحد اتصالاته ومخرجاته | Lines → إضافة، أو أكواد التفعيل، أو الـ Reseller API |
| مدة صلاحية وصول الجمهور أو الموظف | تاريخ انتهاء الخط، بيتجدّد بحزمة أو كريديت أو الـ API | تاريخ انتهاء الخط ومدة الحزمة |
| تكامل أنظمة المجلس | Reseller API وwebhooks: عمليات اللوحة من نظامك إنت | مفاتيح Reseller API وwebhooks في لوحة الموزّع |
المتطلبات
اللي لازم يكون موجود قبل التثبيت.
- سيرفر في مركز بيانات المؤسسة (Ubuntu 22.04 أو 24.04)، والمثبّت، ونطاق ورا الريفرس بروكسي بتاع المؤسسة للعنوان العام.
- مشفّر القاعة أو خلّاط الفيديو اللي يقدر يدفع RTMP، وتسجيلات الجلسات السابقة، وفيديوهات تدريب الموظفين.
- قرار بخصوص إيه العام وإيه الداخلي، وخط الجمهور بيدوم قد إيه، وأنهي مشغّلين ياخدوا حساب في اللوحة.
نشر البنية
سيرفر الإدارة، وبعدين أي موقع بعيد.
- شغّل المثبّت على سيرفر المؤسسة؛ وحط اللوحة ورا الريفرس بروكسي مع TLS واضبط TRUSTED_PROXIES عشان سجل التدقيق وقواعد IP يشوفوا العناوين الحقيقية.
- اضبط أساس التشغيل على العنوان العام اللي المقيمين بيوصلوله، وادخل مفتاح الرخصة على السيرفر.
- سجّل Node من Servers لموقع محتاج واحدة، زي مبنى تاني فيه قاعة؛ اللوحة بتثبّتها عبر SSH.
- اعمل حساب شريك (موزّع) لفريق الاتصال بصلاحيات الخطوط العامة، وواحد للموارد البشرية أو التدريب لخطوط الموظفين.
تنظيم المحتوى
برنامج عام ومجموعات الإدارات.
- اعمل تصنيفات للجلسات واللجان والمعلومات العامة، ومسلسل لكل هيئة بحلقة لكل اجتماع.
- اعمل bouquet عام فيه قناة الجلسة المباشرة والأرشيف، وbouquet لكل مجموعة تدريب في الإدارات.
- اعمل حزمة للمقيمين مفيش فيها غير الـ bouquet العام، بمدة طويلة كفترة وصول.
- اعمل حزم للموظفين بتضيف bouquets التدريب والداخلية على العام.
إعداد الشركاء (الموزّعين)
الفرق اللي بتدّي الوصول.
- اعمل مجموعة بصلاحيات الخطوط بس، ومن غير وصول للكتالوج أو الإعدادات.
- ضيف فريق الاتصال كحساب شريك بحزمة المقيمين، والموارد البشرية أو التدريب بحزم الموظفين.
- الجهة اللي ليها كذا خدمة ممكن تدّي كل خدمة حساب شريك خاص بيها؛ وهو حساب مفوَّض مش تثبيت معزول.
إعداد خطوط المقيمين والموظفين
خطوط للجمهور وخطوط للموظفين.
- اعمل مفتاح Reseller API لموقع المجلس واحتفظ بيه في أسراره؛ لما مقيم يطلب وصول بينادي action=create_line مع الحزمة العامة ومعرّف الطلب.
- اضبط مدة طويلة للخطوط العامة، وحد اتصالات يناسب مشاهدة البيت.
- اعمل خطوط الموظفين لكل إدارة بحزم الموظفين، من نظام موظفي المجلس عبر API أو من Lines ← إضافة.
- اربط خطوط الموظفين بنطاق عناوين المؤسسة لو الشبكة بتسمح.
أرشيف الجلسات ومكتبة التدريب
تسجيلات عند الطلب.
- ضيف كل جلسة مسجّلة كحلقة في مسلسل هيئتها، مستوردة بمهمة استيراد الفيديو عند الطلب أو مرفوعة، مع عنوان وتاريخ ووصف.
- حط مسلسل الجلسات في الـ bouquet العام ومكتبة التدريب في bouquets الإدارات.
- افحص التشغيل بخط تجريبي من الحزمة العامة وواحد من حزمة موظفين عشان تتأكد مين بيشوف إيه.
الجلسات المباشرة
القاعة كقناة مباشرة.
- ضيف بث مباشر بدفع RTMP من مشفّر القاعة وحطه في الـ bouquet العام.
- فعّل Catch-up عشان المشاهدين المتأخرين يقدروا يرجعوا لورا، وضيف مدخل EPG أو عنوان عشان المشاهدين يعرفوا أنهي اجتماع شغال.
- جرّب البث قبل كل اجتماع، وخلّي Node قريبة من موقع تاني لو بيستضيف جلسات كمان.
الانتهاء والتجديد
طويل للجمهور، ومرتبط بالتوظيف للموظفين.
- الخط العام بيدوم بمدة الحزمة؛ مدّده بـ action=renew_line لما المقيم يطلب تاني.
- خط الموظف بيتجدّد طول ما الشخص شغال في المؤسسة وبيتوقف بـ action=disable_line لما يمشي.
- اشترك أنظمة المجلس في webhooks عشان تشوف الخطوط اللي بتقرّب تنتهي والموقوفة.
التكامل مع أنظمة المؤسسة
الأنظمة بتدير الوصول؛ والمشغّل بيشغّل.
- الموقع ونظام الموظفين بيعملوا الخطوط ويجدّدوها ويفعّلوها ويوقفوها عبر Reseller API بمفتاح ومعرّف طلب.
- مفيش تسجيل دخول موحّد للمشاهدين ولا تكامل أصلي مع منتج معيّن للقطاع العام: المشاهدين بيسجّلوا الدخول للمشغّل ببيانات خطوطهم.
- استخدم مفاتيح Admin API بعلامة القراءة فقط وقائمة IP مسموحة وتاريخ انتهاء لأدوات التقارير.
اعتبارات الأمان
المؤسسة هي اللي بتشغّلها، وبشفافية حيث ينبغي.
- خلّي المنصة على بنية المؤسسة ورا الريفرس بروكسي مع TLS، واحتفظ بالمواد العامة والداخلية في bouquets منفصلة.
- تسجيل دخول بخطوتين لكل حساب في اللوحة ومجموعات صلاحيات لكل فريق؛ وreCAPTCHA أو Turnstile عند تسجيل الدخول لو اللوحة متاحة من برا.
- روابط تشغيل موقّعة وبتنتهي، وحد اتصالات لكل خط، وربط بالعنوان لخطوط الموظفين.
- نسخ احتياطية مشفّرة لقاعدة البيانات مع نسخة برا الموقع، وسجل التدقيق لكل تغيير في الخطوط والكتالوج.
حل المشاكل
الفحوص الأولى المعتادة.
- مقيم مش قادر يتفرج: افحص تاريخ انتهاء الخط وإنه مفعّل، والـ bouquet العام في الحزمة.
- جلسة مش بتبدأ: افحص دفع المشفّر للبث وحالة البث في اللوحة.
- الموظفين مش شايفين مكتبة التدريب: افحص حزمة خط الموظف والـ bouquets اللي بتديها.
- سجل التدقيق بيعرض عنوان البروكسي: اضبط TRUSTED_PROXIES على البروكسي وأعد تشغيل اللوحة.