Zoom de Discourse

:discourse2: Resumen Discourse Zoom permite a los administradores y usuarios de Discourse, con una suscripción de pago a Zoom, programar, gestionar y participar en webinars de Zoom directamente desde su plataforma Discourse.
:hammer_and_wrench: Enlace al repositorio https://github.com/discourse/discourse-zoom
:open_book: Guía de instalación Cómo instalar plugins en Discourse

Descripción general

Este plugin integra webinars de Zoom en una instancia de Discourse. Los webinars de Zoom pueden asociarse con temas, los usuarios de Discourse pueden registrarse para los webinars y unirse a ellos cuando comiencen.

:warning: Debido a que Zoom ha descontinuado la autenticación JWT, a partir del 1 de agosto de 2023, el mecanismo de autenticación del plugin ha cambiado de JWT (ahora descontinuado, Zoom lo eliminará el 1 de septiembre) a OAuth de Servidor a Servidor. Los usuarios existentes del plugin deben actualizar su configuración.

Funcionalidades

  • Cuando comienza un webinar de Zoom, el botón “Registrarse” cambia automáticamente a “Unirse”, y al hacer clic en él se lanza el webinar utilizando el SDK de Zoom en un punto de acceso dedicado dentro de tu comunidad de Discourse
  • Envía recordatorios automáticos a los registrados N minutos antes del evento (N es configurable en la configuración del plugin, por defecto los recordatorios están desactivados)
  • Los administradores pueden añadir panelistas a un webinar en Discourse
  • Los administradores pueden añadir un enlace a las grabaciones de video del webinar en Discourse, que luego se muestra a los usuarios después de que el evento haya terminado
  • Los organizadores y panelistas de eventos de Zoom se asocian con cuentas de usuario de Discourse

Uso

Para usar el plugin Discourse Zoom, primero debes instalarlo en tu instancia de Discourse y configurarlo con las credenciales de tu aplicación OAuth de Servidor a Servidor de Zoom. Una vez que el plugin esté configurado, puedes crear un nuevo webinar de Zoom creando un nuevo tema y asociándolo con el webinar. Los usuarios pueden entonces registrarse para el webinar directamente desde el tema.

Instalación

Paso 1: Instalar el plugin en tu instancia de Discourse

Puedes instalar el plugin en tu instancia de Discourse siguiendo las instrucciones aquí.

Paso 2: Crear una aplicación OAuth de Servidor a Servidor en el Marketplace de Zoom


Para comenzar, necesitarás crear una aplicación OAuth de Servidor a Servidor en el Marketplace de Zoom. Esta aplicación será necesaria para realizar solicitudes a la API de Zoom y recibir notificaciones de eventos a través de Webhooks.


Paso 3: Configurar el plugin

Una vez instalado el plugin, ve a la configuración de tu sitio de Discourse y marca la casilla zoom enabled (habilitar zoom) y guarda.

Desde el Marketplace de Zoom, ve a la pestaña App Credentials (Credenciales de la aplicación):

Luego copia y pega los valores en la configuración de sitio correspondiente en tu instancia de Discourse:

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

Paso 4: Establecer el token secreto del webhook

En la pestaña Feature (Funcionalidad) de tu aplicación OAuth de Servidor a Servidor de Zoom, copia el “Secret Token” (Token secreto) y añádelo a la configuración de sitio zoom webhooks secret token de tu sitio de Discourse.

Paso 5: Habilitar suscripciones de eventos

Mientras sigas en la pestaña Feature (Funcionalidad) de tu aplicación OAuth de Servidor a Servidor de Zoom, habilita “Event Subscriptions” (Suscripciones a eventos) y selecciona el botón Add Event Subscription (Añadir suscripción a evento):

A continuación, establece la “Event notification endpoint URL” (URL del punto de conexión de notificación de eventos) en:

https://YOURSITE.COM/zoom/webhooks/webinars.json

luego selecciona el botón + Add Events (Añadir eventos):

Abre la pestaña Webinar (Webinar) desde la lista de tipos de evento y marca todos los eventos que se enumeran. Si no puedes ver los permisos de evento de Webinar, consulta cómo habilitar los permisos.

Debajo de la “Event notification endpoint URL” (URL del punto de conexión de notificación de eventos) que estableciste anteriormente, encuentra el botón Validate (Validar):

Debería mostrar A checkmark icon with "Validated" in green si todo funcionó correctamente.

Finalmente, selecciona el botón Save (Guardar) en la parte inferior de la página.

Paso 6: Ámbitos (Scopes)

Una vez que hayas establecido las suscripciones de eventos, ve a la pestaña Scopes (Ámbitos) y haz clic en el botón Add Scopes (Añadir ámbitos). Aquí seleccionarás los siguientes ámbitos ya sea buscando por los valores dados en las tablas, manualmente o usando valores parciales, por ejemplo, en lugar de buscar webinar:read:list_panelists:admin busca webinar:read: esto reducirá los elementos mostrados para que sea más fácil encontrar los requeridos.

En la aplicación OAuth de Servidor a Servidor, bajo la pestaña de ámbitos, haz clic en el botón Add Scopes (Añadir ámbitos) y se abrirá una ventana:

En la búsqueda de ámbitos, busca por nombre completo o parcial. Para facilitar esto, puedes copiar y pegar cada uno de los ámbitos en las siguientes tablas o buscarlos bajo la pestaña correspondiente:

Usuarios

scope desc
user:read:user:admin Ver un usuario
user:read:email:admin Verificar el correo electrónico de un usuario
user:read:list_users:admin Ver usuarios

Webinar

scope desc
webinar:read:list_panelists:admin Ver los panelistas de un webinar
webinar:read:list_absentees:admin Ver los ausentes de un webinar pasado
webinar:read:webinar:admin Ver un webinar
webinar:read:registrant:admin Ver el registrante de un webinar
webinar:read:list_registrants:admin Ver los registrantes de un webinar
webinar:write:batch_registrants:admin Añadir registrantes a un webinar
webinar:delete:webinar:admin Eliminar un webinar
webinar:write:panelist Añadir panelistas a un webinar
webinar:delete:registrant Eliminar un registrante de un webinar
webinar:write:webinar Crear un webinar para un usuario
webinar:update:status Actualizar el estado de un webinar
webinar:delete:panelist Eliminar un panelista de un webinar
webinar:update:webinar Actualizar un webinar
webinar:write:registrant Añadir un registrante a un webinar

Webinar

scope desc
webinar:read:list_panelists:admin Ver los panelistas de un webinar
webinar:read:list_absentees:admin Ver los ausentes de un webinar pasado
webinar:read:webinar:admin Ver un webinar
webinar:read:registrant:admin Ver el registrante de un webinar
webinar:read:list_registrants:admin Ver los registrantes de un webinar
webinar:write:batch_registrants:admin Añadir registrantes a un webinar
webinar:delete:webinar:admin Eliminar un webinar
webinar:write:panelist Añadir panelistas a un webinar
webinar:delete:registrant Eliminar un registrante de un webinar
webinar:write:webinar Crear un webinar para un usuario
webinar:update:status Actualizar el estado de un webinar
webinar:delete:panelist Eliminar un panelista de un webinar
webinar:update:webinar Actualizar un webinar
webinar:write:registrant Añadir un registrante a un webinar

Paso 7: Crear una aplicación SDK de Reunión

:warning: Zoom ha realizado cambios en su lado, estamos trabajando en actualizar la guía.


La aplicación de reunión SDK autentica al usuario para que pueda unirse a la reunión del webinar.


Comienza creando una General App (Aplicación general) y, bajo Select how the app is managed (Selecciona cómo se gestiona la aplicación), elige User-managed (Gestionada por el usuario).

En la pestaña Basic Information (Información básica) de tu Aplicación general, copia y pega el Client ID/ SDK key (ID de cliente/Clave SDK) en el campo zoom sdk key (clave sdk de zoom), y el Client Secret/SDK secret (Secreto de cliente/Secreto SDK) en el campo zoom sdk secret (secreto sdk de zoom).

Al desplazarte hacia abajo, encontrarás la sección OAuth Information (Información OAuth). En OAuth Redirect URL (URL de redirección OAuth), coloca la URL de tu sitio, por ejemplo, https://YOURSITE.com.

Paso 8: Especificar el uso de tu aplicación

Bajo la pestaña Features (Funcionalidades), selecciona la subpestaña Embed (Incrustar) y habilita el Meeting SDK (SDK de reuniones).

Limitaciones

El plugin solo funciona con webinars que no requieren registro en Zoom.

Aviso sobre cambios importantes (Breaking Changes)

Debido a las descontinuaciones en la API de Zoom, las instancias antiguas del plugin necesitarán configurarse siguiendo los pasos mencionados en esta publicación.

:discourse2: ¿Alojado por nosotros? Este plugin está disponible en nuestros planes Enterprise.

63 Me gusta