Discourse Zoom

:discourse2: Краткое содержание Discourse Zoom предоставляет администраторам и пользователям Discourse с платной подпиской Zoom возможность планировать, управлять и участвовать в вебинарах Zoom непосредственно из платформы Discourse.
:hammer_and_wrench: Ссылка на репозиторий https://github.com/discourse/discourse-zoom
:open_book: Руководство по установке Как установить плагины в Discourse

Обзор

Этот плагин интегрирует вебинары Zoom в экземпляр Discourse. Вебинары Zoom можно связать с темами, пользователи Discourse могут регистрироваться на вебинары и присоединяться к ним при их начале.

:warning: Из-за отказа Zoom от аутентификации JWT, начиная с 1 августа 2023 года, механизм аутентификации плагина изменился с JWT (теперь устаревший, Zoom удалит его 1 сентября) на OAuth «сервер-сервер». Существующим пользователям плагина необходимо обновить свои настройки.

Функции

  • При начале вебинара Zoom кнопка «Зарегистрироваться» автоматически меняется на «Присоединиться», и при нажатии на неё вебинар запускается с использованием SDK Zoom в выделенной точке доступа внутри вашего сообщества Discourse
  • Автоматически напоминает зарегистрированным участникам вебинара за N минут до события (N настраивается в параметрах плагина; по умолчанию напоминания отключены)
  • Администраторы могут добавлять панелистов к вебинару в Discourse
  • Администраторы могут добавить ссылку на видеозапись вебинара в Discourse, которая будет отображаться пользователям после завершения события
  • Хозяева и панелисты событий Zoom связываются с учётными записями пользователей Discourse

Использование

Для использования плагина Discourse Zoom сначала необходимо установить его в ваш экземпляр Discourse и настроить с помощью учётных данных приложения OAuth «сервер-сервер» в Zoom. После настройки плагина вы можете создать новый вебинар Zoom, создав новую тему и связав её с вебинаром. Затем пользователи могут зарегистрироваться на вебинар прямо из темы.

Установка

Шаг 1: Установка плагина в ваш экземпляр Discourse

Вы можете установить плагин в ваш экземпляр Discourse, следуя инструкциям здесь.

Шаг 2: Создание приложения OAuth «сервер-сервер» на Zoom Marketplace


Для начала вам нужно создать приложение OAuth «сервер-сервер» на Zoom Marketplace. Это приложение потребуется для выполнения запросов к API Zoom и получения уведомлений о событиях через веб-хуки.


Шаг 3: Настройка плагина

После установки плагина перейдите в настройки вашего сайта Discourse, установите флажок zoom enabled (включить Zoom) и сохраните изменения.

Перейдите на вкладку App Credentials (Учётные данные приложения) на Zoom Marketplace:

Затем скопируйте и вставьте значения в соответствующие настройки сайта на вашем экземпляре Discourse:

  • zoom s2s account id
  • zoom s2s client id
  • zoom s2s client secret

Шаг 4: Установка секретного токена веб-хука

На вкладке Feature (Функции) вашего приложения OAuth «сервер-сервер» в Zoom скопируйте «Secret Token» (Секретный токен) и добавьте его в настройку сайта zoom webhooks secret token вашего сайта Discourse.

Шаг 5: Включение подписок на события

Оставаясь на вкладке Feature (Функции) вашего приложения OAuth «сервер-сервер» в Zoom, включите «Event Subscriptions» (Подписки на события) и нажмите кнопку Add Event Subscription (Добавить подписку на событие):

Далее установите «Event notification endpoint URL» (URL-адрес конечной точки уведомлений о событиях) в:

https://ВАШ_САЙТ.COM/zoom/webhooks/webinars.json

затем нажмите кнопку + Add Events (Добавить события):

Откройте вкладку Webinar (Вебинар) из списка типов событий и отметьте все перечисленные события. Если вы не видите разрешения на события Webinar, проверьте как включить разрешения.

Под «Event notification endpoint URL», который вы установили ранее, найдите кнопку Validate (Проверить):

Если всё работает правильно, должно отображаться Значок галочки с надписью "Validated" зелёным цветом.

Наконец, нажмите кнопку Save (Сохранить) в нижней части страницы.

Шаг 6: Области доступа (Scopes)

После настройки подписок на события перейдите на вкладку Scopes (Области доступа) и нажмите кнопку Add Scopes (Добавить области доступа). Здесь вы выберете следующие области доступа, либо выполнив поиск по значениям, указанным в таблицах, либо вручную, либо используя частичные значения. Например, вместо поиска webinar:read:list_panelists:admin введите webinar:read: — это сузит список элементов, чтобы их было легче найти.

На вкладке scopes приложения Server to server OAuth нажмите кнопку Add Scopes, и откроется окно:

В поле поиска областей доступа ищите по полному или частичному имени. Чтобы упростить поиск, вы можете скопировать и вставить каждую область доступа из следующих таблиц или найти их на соответствующей вкладке:

Пользователи (Users)

scope desc
user:read:user:admin Просмотр пользователя
user:read:email:admin Проверка электронной почты пользователя
user:read:list_users:admin Просмотр пользователей

Вебинар (Webinar)

scope desc
webinar:read:list_panelists:admin Просмотр панелистов вебинара
webinar:read:list_absentees:admin Просмотр отсутствовавших на прошедшем вебинаре
webinar:read:webinar:admin Просмотр вебинара
webinar:read:registrant:admin Просмотр зарегистрированного участника вебинара
webinar:read:list_registrants:admin Просмотр зарегистрированных участников вебинара
webinar:write:batch_registrants:admin Добавление зарегистрированных участников в вебинар
webinar:delete:webinar:admin Удаление вебинара
webinar:write:panelist Добавление панелистов в вебинар
webinar:delete:registrant Удаление зарегистрированного участника вебинара
webinar:write:webinar Создание вебинара для пользователя
webinar:update:status Обновление статуса вебинара
webinar:delete:panelist Удаление панелиста вебинара
webinar:update:webinar Обновление вебинара
webinar:write:registrant Добавление зарегистрированного участника в вебинар

Вебинар (Webinar)

scope desc
webinar:read:list_panelists:admin Просмотр панелистов вебинара
webinar:read:list_absentees:admin Просмотр отсутствовавших на прошедшем вебинаре
webinar:read:webinar:admin Просмотр вебинара
webinar:read:registrant:admin Просмотр зарегистрированного участника вебинара
webinar:read:list_registrants:admin Просмотр зарегистрированных участников вебинара
webinar:write:batch_registrants:admin Добавление зарегистрированных участников в вебинар
webinar:delete:webinar:admin Удаление вебинара
webinar:write:panelist Добавление панелистов в вебинар
webinar:delete:registrant Удаление зарегистрированного участника вебинара
webinar:write:webinar Создание вебинара для пользователя
webinar:update:status Обновление статуса вебинара
webinar:delete:panelist Удаление панелиста вебинара
webinar:update:webinar Обновление вебинара
webinar:write:registrant Добавление зарегистрированного участника в вебинар

Шаг 7: Создание приложения Meeting SDK

:warning: Zoom внес изменения на своей стороне, мы работаем над обновлением руководства.


Приложение Meeting SDK аутентифицирует пользователя, чтобы он мог присоединиться к встрече вебинара.


Начните с создания General App (Общего приложения), и в разделе Select how the app is managed (Выберите способ управления приложением) выберите User-managed (Управление пользователем).

На вкладке Basic Information (Базовая информация) вашего General App скопируйте и вставьте Client ID/ SDK key в поле zoom sdk key, а Client Secret/SDK secret — в поле zoom sdk secret.

Прокрутите вниз, и вы найдёте раздел OAuth Information (Информация об OAuth); в поле OAuth Redirect URL введите URL вашего сайта, например, https://ВАШ_САЙТ.com.

Шаг 8: Укажите использование вашего приложения

На вкладке Features (Функции) выберите подвкладку Embed (Встраивание) и включите Meeting SDK.

Ограничения

Плагин работает только с вебинарами, не требующими регистрации в Zoom.

Уведомление о Breaking Changes (Несовместимых изменениях)

Из-за устаревания API Zoom старые экземпляры плагина необходимо настроить в соответствии со шагами, описанными в этом сообщении.

:discourse2: Размещено нами? Этот плагин доступен в наших корпоративных тарифах.

63 лайка