| Zusammenfassung | Discourse Zoom befähigt Discourse-Administratoren und -Nutzer mit einem kostenpflichtigen Zoom-Abonnement, Zoom-Webinare direkt von ihrer Discourse-Plattform aus zu planen, zu verwalten und daran teilzunehmen. | |
| Repository-Link | https://github.com/discourse/discourse-zoom | |
| Installationsanleitung | So installieren Sie Plugins in Discourse |
Überblick
Dieses Plugin integriert Zoom-Webinare in eine Discourse-Instanz. Zoom-Webinare können Themen zugeordnet werden; Discourse-Nutzer können sich für Webinare registrieren und daran teilnehmen, sobald sie starten.
Da Zoom die JWT-Authentifizierung deprecated hat, hat sich der Authentifizierungsmechanismus des Plugins ab dem 1. August 2023 von JWT (jetzt deprecated, Zoom wird es am 1. September entfernen) auf Server-zu-Server-OAuth geändert. Bestehende Nutzer des Plugins müssen ihre Einstellungen aktualisieren.
Funktionen
- Wenn ein Zoom-Webinar startet, wechselt die Schaltfläche “Registrieren” automatisch zu “Beitreten”. Beim Klicken wird das Webinar über das Zoom SDK an einem dedizierten Endpunkt innerhalb Ihrer Discourse-Community gestartet.
- Benachrichtigt angemeldete Teilnehmer automatisch N Minuten vor dem Ereignis (N ist in den Plugin-Einstellungen konfigurierbar; standardmäßig sind Erinnerungen deaktiviert).
- Administratoren können in Discourse Panelisten zu einem Webinar hinzufügen.
- Administratoren können einen Link zu Videoaufzeichnungen des Webinars in Discourse hinzufügen, der nach Ende des Ereignisses den Nutzern angezeigt wird.
- Zoom-Veranstalter und Panelisten werden Discourse-Nutzerkonten zugeordnet.
Verwendung
Um das Discourse Zoom-Plugin zu verwenden, müssen Sie es zunächst in Ihrer Discourse-Instanz installieren und mit den Zugangsdaten Ihrer Zoom Server-to-Server OAuth-App konfigurieren. Sobald das Plugin eingerichtet ist, können Sie ein neues Zoom-Webinar erstellen, indem Sie ein neues Thema anlegen und es mit dem Webinar verknüpfen. Nutzer können sich dann direkt über das Thema für das Webinar registrieren.
Installation
Schritt 1: Plugin in Ihrer Discourse-Instanz installieren
Sie können das Plugin in Ihrer Discourse-Instanz installieren, indem Sie den Anweisungen hier folgen.
Schritt 2: Erstellen einer Server-to-Server OAuth-App im Zoom Marketplace
Um zu beginnen, müssen Sie eine Server-to-Server OAuth-App im Zoom Marketplace erstellen. Diese App wird benötigt, um Anfragen an die Zoom-API zu stellen und Ereignisbenachrichtigungen über Webhooks zu empfangen.
Schritt 3: Plugin konfigurieren
Nach der Installation des Plugins gehen Sie zu den Einstellungen Ihrer Discourse-Site und aktivieren das Kontrollkästchen zoom enabled, dann speichern Sie.
Gehen Sie im Zoom Marketplace zum Tab App Credentials:
Kopieren Sie dann die Werte und fügen Sie sie in die entsprechenden Site-Einstellungen Ihrer Discourse-Instanz ein:
zoom s2s account idzoom s2s client idzoom s2s client secret
Schritt 4: Webhook-Geheimnistoken festlegen
Kopieren Sie auf dem Tab Feature Ihrer Zoom Server-to-Server OAuth-App das “Secret Token” und fügen Sie es in die Site-Einstellung zoom webhooks secret token Ihrer Discourse-Site ein.
Schritt 5: Ereignis-Abonnements aktivieren
Während Sie sich noch auf dem Tab Feature Ihrer Zoom Server-to-Server OAuth-App befinden, aktivieren Sie “Event Subscriptions” und klicken Sie auf die Schaltfläche Add Event Subscription:
Setzen Sie anschließend die “Event notification endpoint URL” auf:
https://IHRESITE.COM/zoom/webhooks/webinars.json
und wählen Sie die Schaltfläche + Add Events:
Öffnen Sie den Tab Webinar aus der Liste der Ereignistypen und aktivieren Sie alle aufgeführten Ereignisse. Wenn Sie die Webinar-Ereignisberechtigungen nicht sehen können, prüfen Sie wie man die Berechtigungen aktiviert.
Unter der zuvor festgelegten “Event notification endpoint URL” finden Sie die Schaltfläche Validate:
Wenn alles funktioniert hat, sollte
angezeigt werden.
Schließlich wählen Sie die Schaltfläche Save am unteren Rand der Seite.
Schritt 6: Scopes
Sobald Sie die Ereignis-Abonnements festgelegt haben, wechseln Sie zum Tab Scopes und klicken Sie auf die Schaltfläche Add Scopes. Hier wählen Sie die folgenden Scopes aus, indem Sie entweder nach den in den Tabellen angegebenen Werten suchen, manuell oder mit Teilwerten suchen. Zum Beispiel: Suchen Sie statt nach webinar:read:list_panelists:admin nach webinar:read:. Dies schränkt die angezeigten Elemente ein, sodass es einfacher ist, die benötigten zu finden.
Klicken Sie in der Server-to-Server OAuth-App unter dem Tab Scopes auf die Schaltfläche Add Scopes, und ein Fenster wird angezeigt:
Suchen Sie im Suchfeld nach dem vollständigen oder teilweise Namen. Um dies zu erleichtern, können Sie jeden der Scopes aus den folgenden Tabellen kopieren und einfügen oder sie unter dem entsprechenden Tab suchen:
Users
| scope | desc |
|---|---|
| user:read:user:admin | Einen Benutzer anzeigen |
| user:read:email:admin | E-Mail-Adresse eines Benutzers verifizieren |
| user:read:list_users:admin | Benutzer anzeigen |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | Panelisten eines Webinars anzeigen |
| webinar:read:list_absentees:admin | Abwesende eines vergangenen Webinars anzeigen |
| webinar:read:webinar:admin | Ein Webinar anzeigen |
| webinar:read:registrant:admin | Einen Anmelder eines Webinars anzeigen |
| webinar:read:list_registrants:admin | Anmelder eines Webinars anzeigen |
| webinar:write:batch_registrants:admin | Anmelder zu einem Webinar hinzufügen |
| webinar:delete:webinar:admin | Ein Webinar löschen |
| webinar:write:panelist | Panelisten zu einem Webinar hinzufügen |
| webinar:delete:registrant | Einen Anmelder eines Webinars entfernen |
| webinar:write:webinar | Ein Webinar für einen Benutzer erstellen |
| webinar:update:status | Status eines Webinars aktualisieren |
| webinar:delete:panelist | Einen Panelisten eines Webinars entfernen |
| webinar:update:webinar | Ein Webinar aktualisieren |
| webinar:write:registrant | Einen Anmelder zu einem Webinar hinzufügen |
Webinar
| scope | desc |
|---|---|
| webinar:read:list_panelists:admin | Panelisten eines Webinars anzeigen |
| webinar:read:list_absentees:admin | Abwesende eines vergangenen Webinars anzeigen |
| webinar:read:webinar:admin | Ein Webinar anzeigen |
| webinar:read:registrant:admin | Einen Anmelder eines Webinars anzeigen |
| webinar:read:list_registrants:admin | Anmelder eines Webinars anzeigen |
| webinar:write:batch_registrants:admin | Anmelder zu einem Webinar hinzufügen |
| webinar:delete:webinar:admin | Ein Webinar löschen |
| webinar:write:panelist | Panelisten zu einem Webinar hinzufügen |
| webinar:delete:registrant | Einen Anmelder eines Webinars entfernen |
| webinar:write:webinar | Ein Webinar für einen Benutzer erstellen |
| webinar:update:status | Status eines Webinars aktualisieren |
| webinar:delete:panelist | Einen Panelisten eines Webinars entfernen |
| webinar:update:webinar | Ein Webinar aktualisieren |
| webinar:write:registrant | Einen Anmelder zu einem Webinar hinzufügen |
Schritt 7: Meeting SDK-App erstellen
Zoom hat auf ihrer Seite Änderungen vorgenommen; wir arbeiten daran, die Anleitung zu aktualisieren.
Die SDK-Meeting-App authentifiziert den Benutzer, damit dieser am Webinar teilnehmen kann.
Beginnen Sie mit der Erstellung einer General App und wählen Sie unter Select how the app is managed die Option User-managed.
Kopieren Sie unter dem Tab Basic Information in Ihrer General App die Client ID/ SDK key in das Feld zoom sdk key und die Client Secret/SDK secret in das Feld zoom sdk secret.
Scrollen Sie nach unten, und Sie finden den Abschnitt OAuth Information. Geben Sie im Feld OAuth Redirect URL die URL Ihrer Site ein, z. B. https://IHRESITE.com.
Schritt 8: App-Nutzung angeben
Wählen Sie unter dem Tab Features den Untertab Embed und aktivieren Sie die Meeting SDK.
Einschränkungen
Das Plugin funktioniert nur mit Webinaren, für die keine Registrierung in Zoom erforderlich ist.
Hinweis zu Breaking Changes
Aufgrund von Deprecated-Funktionen in der Zoom-API müssen alte Instanzen des Plugins gemäß den in diesem Beitrag beschriebenen Schritten konfiguriert werden.
Von uns gehostet? Dieses Plugin ist in unseren Enterprise-Plänen verfügbar.
















