Discourse Zoom

:discourse2: 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.
:hammer_and_wrench: Repository-Link https://github.com/discourse/discourse-zoom
:open_book: 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.

:warning: 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 id
  • zoom s2s client id
  • zoom 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 Ein Häkchen-Symbol mit "Validated" in Grün 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

:warning: 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.

:discourse2: Von uns gehostet? Dieses Plugin ist in unseren Enterprise-Plänen verfügbar.

63 „Gefällt mir“