| Riepilogo | Discourse Zoom offre agli amministratori e agli utenti di Discourse, dotati di un abbonamento Zoom a pagamento, la possibilitĂ di pianificare, gestire e partecipare a webinar Zoom direttamente dalla piattaforma Discourse. | |
| Link al Repository | https://github.com/discourse/discourse-zoom | |
| Guida allâInstallazione | Come installare i plugin in Discourse |
Panoramica
Questo plugin integra i webinar Zoom in unâistanza di Discourse. I webinar Zoom possono essere associati a discussioni (topic); gli utenti di Discourse possono registrarsi ai webinar e parteciparvi al momento dellâavvio.
A causa della deprecazione dellâautenticazione JWT da parte di Zoom, a partire dal 1° agosto 2023, il meccanismo di autenticazione del plugin è cambiato da JWT (ora deprecato; Zoom lo rimuoverĂ il 1° settembre) a OAuth Server-to-Server. Gli utenti esistenti del plugin devono aggiornare le proprie impostazioni.
FunzionalitĂ
- Quando un webinar Zoom inizia, il pulsante âRegistratiâ passa automaticamente a âPartecipaâ; cliccandolo si avvia il webinar utilizzando lâSDK Zoom in un endpoint dedicato allâinterno della tua community Discourse
- Invia automaticamente promemoria ai partecipanti registrati N minuti prima dellâevento (N è configurabile nelle impostazioni del plugin; di default i promemoria sono disattivati)
- Gli amministratori possono aggiungere relatori (panelists) a un webinar in Discourse
- Gli amministratori possono aggiungere un link alle registrazioni video del webinar in Discourse, che verrĂ visualizzato agli utenti dopo la fine dellâevento
- Gli ospiti e i relatori degli eventi Zoom sono associati agli account utente di Discourse
Utilizzo
Per utilizzare il plugin Discourse Zoom, devi prima installarlo nella tua istanza di Discourse e configurarlo con le credenziali della tua applicazione OAuth Server-to-Server di Zoom. Una volta configurato il plugin, puoi creare un nuovo webinar Zoom creando una nuova discussione (topic) e associandola al webinar. Gli utenti potranno quindi registrarsi al webinar direttamente dalla discussione.
Installazione
Passaggio 1: Installa il plugin nella tua istanza di Discourse
Puoi installare il plugin nella tua istanza di Discourse seguendo le istruzioni qui.
Passaggio 2: Crea unâapp OAuth Server-to-Server nel Marketplace Zoom
Per iniziare, dovrai creare unâapp OAuth Server-to-Server nel Marketplace Zoom. Questa app sarĂ necessaria per effettuare richieste allâAPI di Zoom e ricevere notifiche degli eventi tramite Webhook
Passaggio 3: Configura il plugin
Una volta installato il plugin, vai alle impostazioni del tuo sito Discourse, seleziona la casella di controllo zoom enabled e salva.
Dal Marketplace Zoom, vai alla scheda Credenziali dellâapp:
Quindi copia e incolla i valori nelle impostazioni del sito corrispondenti nella tua istanza di Discourse:
zoom s2s account idzoom s2s client idzoom s2s client secret
Passaggio 4: Imposta il token segreto del webhook
Nella scheda FunzionalitĂ della tua applicazione OAuth Server-to-Server di Zoom, copia il âSecret Tokenâ e aggiungilo allâimpostazione del sito zoom webhooks secret token del tuo sito Discourse.
Passaggio 5: Abilita le sottoscrizioni agli eventi
Rimanendo nella scheda FunzionalitĂ della tua applicazione OAuth Server-to-Server di Zoom, abilita âEvent Subscriptionsâ e clicca sul pulsante Add Event Subscription:
Successivamente, imposta lââEvent notification endpoint URLâ su:
https://TUOSITO.COM/zoom/webhooks/webinars.json
quindi seleziona il pulsante + Add Events:
Apri la scheda Webinar dallâelenco dei tipi di evento e seleziona tutti gli eventi elencati. Se non riesci a vedere le autorizzazioni per lâevento Webinar, consulta come abilitare le autorizzazioni.
Sotto lââEvent notification endpoint URLâ che hai impostato in precedenza, trova il pulsante Validate:
Se tutto funziona correttamente, dovrebbe apparire
.
Infine, seleziona il pulsante Save in fondo alla pagina.
Passaggio 6: Scope
Una volta impostate le sottoscrizioni agli eventi, passa alla scheda Scopes e clicca sul pulsante Add Scopes. Qui dovrai selezionare i seguenti scope cercando i valori indicati nelle tabelle, manualmente o utilizzando valori parziali; ad esempio, invece di cercare webinar:read:list_panelists:admin, cerca webinar:read:. Questo restringerĂ gli elementi mostrati, rendendo piĂš facile trovare quelli necessari.
Nellâapp OAuth Server-to-Server, sotto la scheda scope, clicca sul pulsante Add Scopes e apparirĂ una finestra:
Nella ricerca degli scope, cerca per nome completo o parziale. Per facilitare questa operazione, puoi copiare e incollare ciascuno degli scope nelle tabelle seguenti o cercarli sotto la scheda corrispondente:
Utenti
| scope | desc |
|---|---|
| user:read:user:admin | Visualizza un utente |
| user:read:email:admin | Verifica lâemail di un utente |
| user:read:list_users:admin | Visualizza gli utenti |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | Visualizza i relatori di un webinar |
| webinar:read:list_absentees:admin | Visualizza gli assenti di un webinar passato |
| webinar:read:webinar:admin | Visualizza un webinar |
| webinar:read:registrant:admin | Visualizza un partecipante registrato a un webinar |
| webinar:read:list_registrants:admin | Visualizza i partecipanti registrati a un webinar |
| webinar:write:batch_registrants:admin | Aggiungi partecipanti registrati a un webinar |
| webinar:delete:webinar:admin | Elimina un webinar |
| webinar:write:panelist | Aggiungi relatori a un webinar |
| webinar:delete:registrant | Rimuovi un partecipante registrato da un webinar |
| webinar:write:webinar | Crea un webinar per un utente |
| webinar:update:status | Aggiorna lo stato di un webinar |
| webinar:delete:panelist | Rimuovi un relatore da un webinar |
| webinar:update:webinar | Aggiorna un webinar |
| webinar:write:registrant | Aggiungi un partecipante registrato a un webinar |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | Visualizza i relatori di un webinar |
| webinar:read:list_absentees:admin | Visualizza gli assenti di un webinar passato |
| webinar:read:webinar:admin | Visualizza un webinar |
| webinar:read:registrant:admin | Visualizza un partecipante registrato a un webinar |
| webinar:read:list_registrants:admin | Visualizza i partecipanti registrati a un webinar |
| webinar:write:batch_registrants:admin | Aggiungi partecipanti registrati a un webinar |
| webinar:delete:webinar:admin | Elimina un webinar |
| webinar:write:panelist | Aggiungi relatori a un webinar |
| webinar:delete:registrant | Rimuovi un partecipante registrato da un webinar |
| webinar:write:webinar | Crea un webinar per un utente |
| webinar:update:status | Aggiorna lo stato di un webinar |
| webinar:delete:panelist | Rimuovi un relatore da un webinar |
| webinar:update:webinar | Aggiorna un webinar |
| webinar:write:registrant | Aggiungi un partecipante registrato a un webinar |
Passaggio 7: Crea unâapp Meeting SDK
Zoom ha apportato modifiche sul loro lato; stiamo lavorando per aggiornare la guida.
Lâapp Meeting SDK autentica lâutente in modo che possa partecipare alla riunione del webinar
Inizia creando unâapp General App e, sotto Select how the app is managed, seleziona User-managed.
Sotto la scheda Informazioni di base nella tua app General App, copia e incolla il Client ID/ SDK key nel campo zoom sdk key e il Client Secret/SDK secret nel campo zoom sdk secret.
Scorrendo verso il basso, troverai la sezione OAuth Information; nel campo OAuth Redirect URL inserisci lâURL del tuo sito, ad esempio https://TUOSITO.com.
Passaggio 8: Specifica lâutilizzo della tua app
Sotto la scheda Features, seleziona la sotto-scheda Embed e abilita Meeting SDK.
Limitazioni
Il plugin funziona solo con webinar che non richiedono registrazione su Zoom.
Avviso sulle modifiche che interrompono la compatibilitĂ
A causa delle deprecazioni nellâAPI di Zoom, le vecchie istanze del plugin dovranno essere configurate seguendo i passaggi indicati in questo post.
Ospitato da noi? Questo plugin è disponibile nei nostri piani Enterprise.
















