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