| Riepilogo | Discourse Zoom offre agli amministratori e agli utenti di Discourse, dotati di un abbonamento a Zoom a pagamento, la possibilità di programmare, gestire e partecipare ai webinar di Zoom direttamente dalla propria 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 di Zoom in un’istanza di Discourse. I webinar di Zoom possono essere associati a discussioni (topic), gli utenti di Discourse possono registrarsi ai webinar e parteciparvi quando iniziano.
A causa della dismissione dell’autenticazione JWT da parte di Zoom, a partire dal 1° agosto 2023, il meccanismo di autenticazione del plugin è passato 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 inizia un webinar di Zoom, il pulsante “Registrati” cambia automaticamente in “Partecipa”, e cliccandolo il webinar si avvia utilizzando lo SDK di Zoom in un endpoint dedicato all’interno della tua comunità Discourse
- Invia automaticamente promemoria agli iscritti al webinar 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 da Discourse
- Gli amministratori possono aggiungere un link alle registrazioni video del webinar in Discourse, che verrà poi visualizzato agli utenti dopo la fine dell’evento
- Gli host e i relatori degli eventi Zoom sono associati agli account utente di Discourse
Utilizzo
Per utilizzare il plugin Discourse Zoom, è prima necessario installarlo nella tua istanza di Discourse e configurarlo con le credenziali della tua app OAuth Server-to-Server di Zoom. Una volta configurato il plugin, puoi creare un nuovo webinar di Zoom creando una nuova discussione (topic) e associandola al webinar. Gli utenti possono poi registrarsi al webinar direttamente dalla discussione.
Installazione
Passo 1: Installa il plugin nella tua istanza di Discourse
Puoi installare il plugin nella tua istanza di Discourse seguendo le istruzioni qui.
Passo 2: Crea un’app OAuth Server-to-Server nel Marketplace di Zoom
Per iniziare, dovrai creare un’app OAuth Server-to-Server nel Marketplace di Zoom. Questa app sarà necessaria per effettuare richieste all’API di Zoom e ricevere notifiche di eventi tramite Webhook.
Passo 3: Configura il plugin
Una volta installato il plugin, vai alle impostazioni del sito di Discourse e spunta la casella zoom enabled (Zoom abilitato) e salva.
Dal Marketplace di Zoom, vai alla scheda App Credentials (Credenziali app):
Quindi copia e incolla i valori nelle corrispondenti impostazioni del sito sulla tua istanza di Discourse:
zoom s2s account idzoom s2s client idzoom s2s client secret
Passo 4: Imposta il token segreto del webhook
Nella scheda Feature (Funzionalità) della tua app OAuth Server-to-Server di Zoom, copia il “Secret Token” (Token segreto) e aggiungilo all’impostazione del sito zoom webhooks secret token del tuo sito Discourse.
Passo 5: Abilita le sottoscrizioni agli eventi
Mentre sei ancora nella scheda Feature (Funzionalità) della tua app OAuth Server-to-Server di Zoom, abilita “Event Subscriptions” (Sottoscrizioni eventi) e clicca sul pulsante Add Event Subscription:
Successivamente, imposta l’“Event notification endpoint URL” (URL endpoint di notifica eventi) su:
https://YOURSITE.COM/zoom/webhooks/webinars.json
quindi seleziona il pulsante + Add Events:
Apri la scheda Webinar dall’elenco dei tipi di evento e spunta tutti gli eventi elencati. Se non riesci a vedere le autorizzazioni per gli eventi Webinar, consulta come abilitare le autorizzazioni.
Sotto l’“Event notification endpoint URL” impostato in precedenza, trova il pulsante Validate:
Dovrebbe mostrare
se tutto ha funzionato correttamente.
Infine, seleziona il pulsante Save in fondo alla pagina.
Passo 6: Ambiti di autorizzazione (Scopes)
Una volta impostate le sottoscrizioni agli eventi, passa alla scheda Scopes (Ambiti) e clicca sul pulsante Add Scopes (Aggiungi ambiti). Qui selezionerai i seguenti ambiti cercando i valori forniti nelle tabelle, manualmente o utilizzando valori parziali; ad esempio, invece di cercare webinar:read:list_panelists:admin, cerca webinar:read:: questo restringerà gli elementi visualizzati, rendendo più facile trovare quelli richiesti.
Nell’app OAuth Server-to-Server, sotto la scheda degli ambiti, clicca sul pulsante Add Scopes (Aggiungi ambiti) e si aprirà una finestra:
Nella ricerca degli ambiti, cerca per nome completo o parziale. Per facilitare questa operazione, puoi copiare e incollare ciascuno degli ambiti 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 iscritto a un webinar |
| webinar:read:list_registrants:admin | Visualizza gli iscritti a un webinar |
| webinar:write:batch_registrants:admin | Aggiungi iscritti a un webinar |
| webinar:delete:webinar:admin | Elimina un webinar |
| webinar:write:panelist | Aggiungi relatori a un webinar |
| webinar:delete:registrant | Rimuovi un iscritto 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 iscritto 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 iscritto a un webinar |
| webinar:read:list_registrants:admin | Visualizza gli iscritti a un webinar |
| webinar:write:batch_registrants:admin | Aggiungi iscritti a un webinar |
| webinar:delete:webinar:admin | Elimina un webinar |
| webinar:write:panelist | Aggiungi relatori a un webinar |
| webinar:delete:registrant | Rimuovi un iscritto 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 iscritto a un webinar |
Passo 7: Crea un’app Meeting SDK
Zoom ha apportato modifiche dal loro lato, stiamo lavorando per aggiornare la guida.
L’app meeting SDK autentica l’utente in modo che possa partecipare al meeting del webinar.
Inizia creando un’General App (App generale) e, sotto Select how the app is managed (Seleziona come gestire l’app), scegli User-managed (Gestita dall’utente).
Nella scheda Basic Information (Informazioni di base) della tua App generale, copia e incolla il Client ID/ SDK key (ID client/Chiave SDK) nel campo zoom sdk key e il Client Secret/SDK secret (Segreto client/Segreto SDK) nel campo zoom sdk secret.
Scorrendo verso il basso, troverai la sezione OAuth Information (Informazioni OAuth). Nel campo OAuth Redirect URL (URL di reindirizzamento OAuth), inserisci l’URL del tuo sito, ad esempio https://YOURSITE.com.
Passo 8: Specifica l’utilizzo della tua app
Nella scheda Features (Funzionalità), seleziona la sotto-scheda Embed (Incorporamento) e abilita Meeting SDK.
Limitazioni
Il plugin funziona solo con webinar che non richiedono la registrazione su Zoom.
Avviso sulle modifiche che interrompono la compatibilità (Breaking Changes)
A causa delle dismissioni nell’API di Zoom, le istanze precedenti del plugin dovranno essere configurate seguendo i passaggi menzionati in questo post.
Ospitato da noi? Questo plugin è disponibile nei nostri piani Enterprise.
















