Discourse Zoom

:discourse2: Resumo Discourse Zoom oferece aos administradores e usuários do Discourse, com uma assinatura paga do Zoom, a capacidade de agendar, gerenciar e participar de webinars do Zoom diretamente na plataforma Discourse.
:hammer_and_wrench: Link do Repositório https://github.com/discourse/discourse-zoom
:open_book: Guia de Instalação Como instalar plugins no Discourse

Visão Geral

Este plugin integra webinars do Zoom a uma instância do Discourse. Webinars do Zoom podem ser associados a tópicos, usuários do Discourse podem se registrar para webinars e participá-los quando eles começam.

:warning: Devido à descontinuação da autenticação JWT pelo Zoom, a partir de 1º de agosto de 2023, o mecanismo de autenticação do plugin mudou de JWT (agora descontinuado, o Zoom removerá em 1º de setembro) para OAuth Servidor-para-Servidor. Usuários existentes do plugin precisam atualizar suas configurações.

Funcionalidades

  • Quando um webinar do Zoom começa, o botão “Registrar” muda automaticamente para “Participar”, e clicar nele inicia o webinar usando o SDK do Zoom em um endpoint dedicado dentro da sua comunidade Discourse
  • Lembretes automáticos para os participantes do webinar N minutos antes do evento (N é configurável nas configurações do plugin, por padrão os lembretes estão desativados)
  • Administradores podem adicionar painelistas a um webinar no Discourse
  • Administradores podem adicionar um link para gravações em vídeo do webinar no Discourse, que é então exibido aos usuários após o término do evento
  • Anfitriões e painelistas de eventos do Zoom são associados a contas de usuários do Discourse

Uso

Para usar o plugin Discourse Zoom, você primeiro precisa instalá-lo em sua instância do Discourse e configurá-lo com as credenciais do seu aplicativo OAuth Servidor-para-Servidor do Zoom. Uma vez que o plugin esteja configurado, você pode criar um novo webinar do Zoom criando um novo tópico e associando-o ao webinar. Os usuários podem então se registrar para o webinar diretamente do tópico.

Instalação

Passo 1: Instale o plugin na sua instância do Discourse

Você pode instalar o plugin na sua instância do Discourse seguindo as instruções aqui.

Passo 2: Crie um aplicativo OAuth Servidor-para-Servidor no Zoom Marketplace


Para começar, você precisará criar um aplicativo OAuth Servidor-para-Servidor no Zoom Marketplace. Este aplicativo será necessário para fazer solicitações à API do Zoom e receber notificações de eventos via Webhooks.


Passo 3: Configure o plugin

Depois que o plugin estiver instalado, vá para as configurações do seu site Discourse e marque a caixa de seleção zoom enabled (zoom habilitado) e salve.

No Zoom Marketplace, vá para a aba Credenciais do Aplicativo:

Em seguida, copie e cole os valores nas configurações de site correspondentes na sua instância do Discourse:

  • zoom s2s account id (ID da conta S2S do Zoom)
  • zoom s2s client id (ID do cliente S2S do Zoom)
  • zoom s2s client secret (Segredo do cliente S2S do Zoom)

Passo 4: Defina o token secreto do webhook

Na aba Recursos do seu aplicativo OAuth Servidor-para-Servidor do Zoom, copie o “Token Secreto” e adicione-o à configuração de site zoom webhooks secret token (token secreto de webhooks do zoom) do seu site Discourse.

Passo 5: Ative as assinaturas de eventos

Enquanto ainda estiver na aba Recursos do seu aplicativo OAuth Servidor-para-Servidor do Zoom, ative “Assinaturas de Eventos” e selecione o botão Adicionar Assinatura de Evento:

Em seguida, defina a “URL do ponto de extremidade de notificação de evento” para:

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

e então selecione o botão + Adicionar Eventos:

Abra a aba Webinar na lista de tipos de evento e marque todos os eventos listados. Se você não conseguir ver as permissões de evento Webinar, consulte como habilitar as permissões.

Sob a “URL do ponto de extremidade de notificação de evento” que você definiu anteriormente, encontre o botão Validar:

Ele deve mostrar Um ícone de marca de verificação com "Validado" em verde se tudo funcionou corretamente.

Finalmente, selecione o botão Salvar na parte inferior da página.

Passo 6: Escopos

Depois de definir as assinaturas de eventos, vá para a aba Escopos e clique no botão Adicionar Escopos. Aqui você selecionará os seguintes escopos pesquisando pelos valores fornecidos nas tabelas, manualmente ou usando valores parciais; por exemplo, em vez de pesquisar por webinar:read:list_panelists:admin, pesquise por webinar:read:. Isso reduzirá os elementos mostrados, facilitando a localização dos necessários.

No aplicativo OAuth Servidor-para-Servidor, na aba de escopos, clique no botão Adicionar Escopos e uma janela aparecerá:

Na pesquisa de escopo, pesquise pelo nome completo ou parcial. Para facilitar isso, você pode copiar e colar cada um dos escopos nas tabelas a seguir ou procurá-los na aba correspondente:

Usuários

escopo desc
user:read:user:admin Visualizar um usuário
user:read:email:admin Verificar o e-mail de um usuário
user:read:list_users:admin Visualizar usuários

Webinar

escopo desc
webinar:read:list_panelists:admin Visualizar os painelistas de um webinar
webinar:read:list_absentees:admin Visualizar os ausentes de um webinar passado
webinar:read:webinar:admin Visualizar um webinar
webinar:read:registrant:admin Visualizar um participante de um webinar
webinar:read:list_registrants:admin Visualizar os participantes de um webinar
webinar:write:batch_registrants:admin Adicionar participantes a um webinar
webinar:delete:webinar:admin Excluir um webinar
webinar:write:panelist Adicionar painelistas a um webinar
webinar:delete:registrant Remover um participante de um webinar
webinar:write:webinar Criar um webinar para um usuário
webinar:update:status Atualizar o status de um webinar
webinar:delete:panelist Remover um painelista de um webinar
webinar:update:webinar Atualizar um webinar
webinar:write:registrant Adicionar um participante a um webinar

Webinar

escopo desc
webinar:read:list_panelists:admin Visualizar os painelistas de um webinar
webinar:read:list_absentees:admin Visualizar os ausentes de um webinar passado
webinar:read:webinar:admin Visualizar um webinar
webinar:read:registrant:admin Visualizar um participante de um webinar
webinar:read:list_registrants:admin Visualizar os participantes de um webinar
webinar:write:batch_registrants:admin Adicionar participantes a um webinar
webinar:delete:webinar:admin Excluir um webinar
webinar:write:panelist Adicionar painelistas a um webinar
webinar:delete:registrant Remover um participante de um webinar
webinar:write:webinar Criar um webinar para um usuário
webinar:update:status Atualizar o status de um webinar
webinar:delete:panelist Remover um painelista de um webinar
webinar:update:webinar Atualizar um webinar
webinar:write:registrant Adicionar um participante a um webinar

Passo 7: Crie um Aplicativo Meeting SDK

:warning: O Zoom alterou algumas coisas em seu lado, estamos trabalhando para atualizar o guia.


O aplicativo de reunião SDK autentica o usuário para que ele possa participar da reunião do webinar.


Comece criando um Aplicativo Geral e, sob Selecione como o aplicativo é gerenciado, selecione Gerenciado pelo Usuário.

Na aba Informações Básicas do seu Aplicativo Geral, copie e cole o Client ID/ SDK key (ID do Cliente/Chave do SDK) no campo zoom sdk key (chave do sdk do zoom) e o Client Secret/SDK secret (Segredo do Cliente/Segredo do SDK) no campo zoom sdk secret (segredo do sdk do zoom).

Rolar para baixo, você encontrará a seção Informações OAuth. No OAuth Redirect URL (URL de redirecionamento OAuth), coloque a URL do seu site, por exemplo, https://SEUSITE.com.

Passo 8: Especifique o uso do seu aplicativo

Na aba Recursos, selecione a sub-aba Embed (Embutir), ative o Meeting SDK (SDK de Reuniões).

Limitações

O plugin só funciona com webinars que não exigem registro no Zoom.

Aviso sobre Alterações que Quebram a Compatibilidade

Devido a descontinuações na API do Zoom, as instâncias antigas do plugin precisarão ser configuradas seguindo as etapas mencionadas neste post.

:discourse2: Hospedado por nós? Este plugin está disponível em nossos planos Enterprise.

63 curtidas