این راهنماها مفاهیم یک صنعت را روی اشیایی که پلتفرم امروز دارد (بوکهها، لاینها، بستهها، حسابهای پارتنر، نودها، API) نگاشت میکنند. اینها نگاشتهای مفهومیاند، نه قابلیتهای مخصوص صنعت، و حساب پارتنر یک حساب تفویضی است، نه tenant ایزوله.
نگاشت مفهومی
در پنل چیزی به نام بخش یا کارمند وجود ندارد. جدول میگوید کدام شیء چه نقشی دارد؛ فصلهای زیر آنها را به همین ترتیب تنظیم میکنند.
| در صنعت شما | روی پلتفرم | کجا در پنل |
|---|---|---|
| مجموعه آموزشی بخش | بوکه: مجموعهای نامدار از کانالها، فیلمها یا سریالها که یک بسته میدهد | Bouquets، از Streams و Movies / Series |
| مواد آموزشی | کاتالوگ VOD: فیلم و سریال با فصل و قسمت، دستهبندیها و اطلاعات متادیتا | Movies و Series، یا کار ingest VOD |
| دسترسی کارمند | لاین: یک دسترسی با بسته، بوکهها، انقضا، محدودیت اتصال و خروجیهایش | Lines ← افزودن، یا کدهای فعالسازی، یا Reseller API |
| جلسه آموزشی داخلی | کانال زنده: یک استریم با منابع، EPG و فرمتهای خروجیاش | Streams ← افزودن استریم زنده (URL منبع یا RTMP push) |
| یکپارچهسازی HR یا LMS | Reseller API و وبهوکها: عملیات پنل از سیستم خودتان | کلیدهای Reseller API و وبهوکها در داشبورد ریسلر |
| دستگاه برای هر کارمند | حداکثر اتصال لاین: چند دستگاه میتوانند همزمان تماشا کنند | حداکثر اتصال لاین |
پیشنیازها
آنچه پیش از نصب باید داشته باشید.
- یک سرور شرکت (اوبونتو 22.04 یا 24.04) که از دفترها در دسترس باشد، نصبکننده و یک آدرس داخلی یا دامنهای پشت reverse proxy شما.
- ضبطهای آموزشی، انکودر سالن همایش برای جلسات زنده و توانایی سیستم HR یا LMS در صدا زدن یک API مبتنی بر HTTP.
- تصمیم درباره محرمانگی: کدام مطالب در کدام مجموعه بخش میروند و چه کسانی در HR و تیم آموزش حساب پنل میگیرند.
استقرار زیرساخت
اول دفتر مرکزی، سپس دفترها.
- نصبکننده را روی سرور دفتر مرکزی اجرا کنید؛ پنل را پشت reverse proxy شرکت بگذارید و trusted proxyها را تنظیم کنید تا لاگ ممیزی آدرسهای واقعی را ببیند.
- پایه پخش را روی آدرس داخلی بگذارید؛ کارکنان بیرون از شبکه از طریق VPN یا proxy به آن میرسند.
- برای هر دفتر از Servers یک نود ثبت کنید؛ پنل آن را با SSH نصب میکند و بینندگان آن دفتر را به آن هدایت میکند.
- برای تیم آموزش یک حساب پارتنر بسازید با مجوز کاتالوگ و بدون مجوز بر لاینهای کارکنان.
سازماندهی محتوا
مجموعهها به تفکیک بخش، دورهها بهصورت سریال.
- برای هر موضوع دستهبندی و برای هر دوره چندقسمتی یک سریال با یک قسمت برای هر جلسه بسازید.
- برای هر مجموعه آموزشی بخش یک بوکه و یک بوکه کل کارکنان برای مطالبی که همه میبینند بسازید.
- برای هر نقش یک بسته بسازید: بوکههایی که آن نقش نیاز دارد و نه بیشتر، با مدتی بلند (مثلاً یک سال) بهعنوان دوره دسترسی؛ تمدید یک دوره دیگر اضافه میکند و HR هنگام پایان قرارداد لاین را غیرفعال میکند.
- مجموعههای محرمانه را در نامشان بهروشنی مشخص کنید؛ لاین فقط بوکههایی را میبیند که بستهاش میدهد.
پیکربندی پارتنر (ریسلر)
تیم آموزش و، برای یک گروه شرکتی، هر شرکت تابعه.
- گروهی با مجوز کاتالوگ برای تیم آموزش و گروهی با مجوز لاین برای HR بسازید.
- تیم آموزش و HR را با آن گروهها بهعنوان ریسلر اضافه کنید؛ در استقرار داخلی هیچکدام به کردیت نیاز ندارند.
- شرکت تابعهای که کتابخانه خودش را دارد ریسلر، بوکهها و بستههای خودش را میگیرد.
پیکربندی دسترسی کارکنان
یک لاین برای هر کارمند، از HR.
- برای سیستم HR یک کلید Reseller API بسازید و در رازهای سیستم HR نگه دارید.
- هنگام استخدام، سیستم HR با بسته نقش و یک شناسه درخواست action=create_line را صدا میزند (مدت بسته همان دوره دسترسی است)؛ هنگام ترک کار action=disable_line.
- حداکثر اتصال را برابر تعداد دستگاههایی بگذارید که کارمند میتواند استفاده کند (معمولاً دو: میز کار و گوشی).
- برای آزمایشی، لاینها را از Lines ← افزودن اضافه کنید و مشخصات را به چند کارمند بدهید.
مواد آموزشی
ضبطها بهصورت درخواستی.
- هر ضبط را بهعنوان منبع یک قسمت بارگذاری کنید یا با کار ingest VOD وارد کنید؛ عنوان و یک توضیح کوتاه نگه دارید.
- ضبط را از طریق سریالش به بوکه درست بخش وصل کنید.
- پخش را با یک لاین آزمایشی از هر نقش بررسی کنید تا مطمئن شوید چه کسی چه چیزی میبیند.
جلسات آموزشی داخلی
یک جلسه بهصورت کانال زنده.
- برای انکودر سالن همایش یک استریم زنده (RTMP push) اضافه کنید؛ آن را در بوکه کل کارکنان یا بوکه یک بخش بگذارید.
- catch-up را فعال کنید تا دیرآمدگان بتوانند به عقب برگردند و ضبط را بعداً در کتابخانه بارگذاری کنید.
- نودهای دفترها جلسه را یک بار از مبدأ میگیرند و به افراد خودشان محلی سرویس میدهند.
انقضای دسترسی
دسترسی با قرارداد پایان مییابد.
- لاین در پایان دوره بستهاش منقضی میشود؛ تا زمانی که قرارداد برقرار است HR آن را با action=renew_line تمدید میکند و با پایان قرارداد، HR آن را غیرفعال میکند.
- سیستم HR را مشترک وبهوکها کنید تا لاینهای نزدیک انقضا و منقضی را با سوابق خودش تطبیق دهد.
- برای دسترسی موقت (پیمانکاران، هفته آشنایی) بهجای بسته جدا از انقضای کوتاه استفاده کنید.
یکپارچهسازی با HR یا LMS
سیستمها دسترسی را هدایت میکنند؛ پخشکننده پخش میکند.
- HR لاینها را با Reseller API میسازد، تمدید و غیرفعال میکند؛ LMS میتواند از صفحه دوره به پخشکننده وب لینک بدهد.
- ورود یکپارچه (SSO) برای بینندگان وجود ندارد: کارمند با مشخصات لاینی که سیستم شما صادر کرده وارد پخشکننده میشود.
- برای ابزارهای گزارشگیری داخلی از کلیدهای Admin API با پرچم فقطخواندنی استفاده کنید.
ملاحظات امنیتی
محرمانگی از شبکه تا لاین.
- پلتفرم را روی شبکه داخلی یا پشت reverse proxy با TLS نگه دارید؛ TRUSTED_PROXIES را مطابق آن تنظیم کنید.
- ورود دومرحلهای برای هر حساب پنل؛ گروههای مجوز تا HR نتواند کاتالوگ را تغییر دهد و تیم آموزش نتواند لاینها را ببیند.
- لینکهای پخش امضاشده و منقضیشونده، محدودیت اتصال کم برای هر لاین و وابستگی به آدرس جایی که دستگاهها ثابتاند.
- پشتیبانهای رمزگذاریشده پایگاه داده با نسخه خارج از سایت؛ لاگ ممیزی برای هر تغییر لاینها و کاتالوگ.
عیبیابی
بررسیهای اولیه معمول.
- کارمندی مطالب بخش دیگر را میبیند: بسته لاین و بوکههایی را که میدهد بررسی کنید.
- کارمند تازهاستخدام دسترسی ندارد: بررسی کنید فراخوانی HR موفق بوده (لاگ فراخوانی Reseller API) و انقضای لاین.
- یک دفتر هنگام جلسه زنده بافر میکند: heartbeat نود دفتر و هدایت بینندگان به آن را بررسی کنید.
- لاگ ممیزی آدرس proxy را نشان میدهد: TRUSTED_PROXIES را روی proxy بگذارید و پنل را دوباره راهاندازی کنید.