Connect WP Discourse mit Discourse verbinden

Nachdem Sie das WP Discourse Plugin installiert haben, müssen Sie es mit Ihrem Discourse verbinden. Wenn Sie bereit sind, sehen Sie sich dieses kurze Video an oder folgen Sie den nachstehenden Anweisungen.

Nächster Schritt

Sobald das Plugin verbunden ist, gehen Sie zu dem Thema, das die Funktion beschreibt, die Sie einrichten möchten:


Anweisungen

Schritte

Wenn Sie sich im Tab „Verbindung“ der Einstellungen des WP Discourse Plugins befinden, sehen Sie immer eine Benachrichtigung am oberen Rand der Seite, die Ihnen mitteilt, ob es mit Ihrem Discourse verbunden ist. Um eine Verbindung herzustellen, geben Sie Folgendes ein:

  1. Geben Sie die URL Ihres Forums im Feld „Discourse URL“ ein.

  2. Überprüfen Sie die Einstellung „Publishing Username“. Sofern Sie keinen bestimmten Grund haben, dies zu ändern, belassen Sie es bei „system“. Wenn Sie dies ändern, muss es sich um einen Benutzernamen eines Admin-Benutzers in Ihrem Discourse handeln. Sie finden den Benutzernamen eines Benutzers unter seinem Namen, wenn Sie auf seinen Avatar klicken.

  3. Erstellen Sie einen Discourse API-Schlüssel für WordPress:

    1. Gehen Sie zu Ihrem Discourse Admin Panel (in Ihrem Discourse-Forum) und klicken Sie auf „API“.

    2. Erstellen Sie einen neuen Schlüssel mit Folgendem:

      • Beschreibung: Geben Sie eine Bezeichnung ein, die klar macht, wofür dieser Schlüssel bestimmt ist.
      • Benutzerstufe: Wählen Sie „Alle Benutzer“.
      • Geltungsbereich: Wählen Sie „Global“.
    3. Kopieren Sie den Schlüssel, der auf dem Bildschirm angezeigt wird, und klicken Sie auf „Weiter“.

  4. Fügen Sie den API-Schlüssel in die Einstellung „API Key“ in WP Discourse ein.

Wenn Sie diese Einstellungen ausgefüllt haben, stellen Sie sicher, dass Sie auf die Schaltfläche „Optionen speichern“ klicken. Wenn alles korrekt konfiguriert ist, sollten Sie oben auf der Seite die Benachrichtigung „Sie sind mit Discourse verbunden“ sehen.

Multisite

Das WP Discourse Plugin verfügt über eine Multisite-Konfigurationsoption für den Fall, dass ein Discourse-Forum mit einem Netzwerk aus mehreren WordPress-Installationen verbunden ist. Diese Option ist im Tab „Verbindungseinstellungen“ der Hauptseite eines Netzwerks verfügbar.

Wenn Sie diese Option auswählen, können einige der Plugin-Einstellungen für das gesamte Netzwerk verwendet werden (alle Verbindungseinstellungen, die Webhook-Optionen, der DiscourseConnect-Schlüssel und die Einstellung „DiscourseConnect aktivieren“). Durch Aktivieren dieser Einstellung wird eine zusätzliche Datenbanktabelle erstellt, die zum Verknüpfen von Discourse-Topic-IDs mit WordPress-Blog-IDs verwendet wird, wenn Beiträge von WordPress nach Discourse veröffentlicht werden.

In Multisite nicht unterstützte Funktionen

Die Verwendung von WordPress als DiscourseConnect-Client wird auf WordPress Multisite nicht unterstützt.

Granularer API-Schlüssel (neu :sparkles:)

Sie können jetzt einen granularen API-Schlüssel für das WP Discourse Plugin erstellen. Granulare API-Schlüssel werden in naher Zukunft der Standardweg zur Verbindung von WP Discourse mit Discourse sein.

Verwendung eines granularen Schlüssels

So verwenden Sie einen granularen Schlüssel:

  1. Stellen Sie zunächst sicher, dass Sie Version 2.4.3 des Plugins und die neueste Version von Discourse im Branch tests-passed verwenden. WP Discourse granulare API-Schlüssel werden auf Discourse stable noch nicht unterstützt.

  2. Gehen Sie zum API-Panel im Discourse-Admin-Dashboard und erstellen Sie einen neuen Schlüssel für „Alle Benutzer“, jedoch mit einem „granularen“ Geltungsbereich.

  3. Am Ende der Liste der Geltungsbereiche finden Sie die WordPress-Geltungsbereiche. Wählen Sie den Geltungsbereich „Publishing“ (derzeit erforderlich) und die Geltungsbereiche für alle anderen Funktionen, die Sie im WP Discourse Plugin verwenden, und klicken Sie auf „Speichern“.

  4. Ersetzen Sie nun Ihren alten Schlüssel in der Einstellung API Key in WP Discourse durch Ihren neuen granularen Schlüssel und speichern Sie Ihre Einstellungen.

Wenn Sie Ihre WP Discourse-Einstellungen speichern, sollten Sie die normale Meldung „Sie sind mit Discourse verbunden!“ sehen.

Wenn Sie „Sie sind nicht mit Discourse verbunden…“ sehen, liegt es möglicherweise an falschen Geltungsbereichen. Das Plugin vergleicht die Geltungsbereiche Ihres API-Schlüssels mit den Funktionen, die Sie derzeit aktiviert haben. Wenn Sie nicht genügend Geltungsbereiche haben, wird dies als nicht verbunden betrachtet. Sie können sehen, welche Geltungsbereiche fehlen, indem Sie die Verbindungsprotokolle aktivieren und die Fehlermeldungen im Protokoll-Viewer überprüfen.

Die WP Discourse Geltungsbereiche

Es gibt vier Geltungsbereiche für das WP Discourse Plugin:

  1. Publishing. Dieser Geltungsbereich ermöglicht es Ihnen, Beiträge von WordPress nach Discourse zu veröffentlichen. Dieser Geltungsbereich ist erforderlich, auch wenn Sie keine Beiträge veröffentlichen (z. B. nur DiscourseConnect verwenden), da er Funktionalitäten enthält, die alle Funktionen nutzen. Dies wird in Zukunft entkoppelt, sodass alle Geltungsbereiche optional werden.

  2. Commenting. Dieser Geltungsbereich ermöglicht die Anzeige von Antworten auf in Discourse veröffentlichte Beiträge in WordPress als Kommentare.

  3. DiscourseConnect. Dieser Geltungsbereich ermöglicht die Verwendung von DiscourseConnect (in jeder Konfiguration).

  4. Utilities. Dieser Geltungsbereich wird für bestimmte Dienstprogramme des Plugins benötigt. Wenn Sie benutzerdefinierten Code haben, der mit dem Plugin interagiert, sollten Sie diesen Geltungsbereich aktivieren, es sei denn, Sie sind sicher, dass Sie ihn nicht benötigen.

Warum einen granularen Schlüssel verwenden?

Der Hauptgrund für die Verwendung eines granularen Schlüssels ist die Sicherheit. Ein globaler API-Schlüssel erlaubt es jedem, der den Schlüssel besitzt, sich wie ein Administrator in Ihrem Discourse zu verhalten. Das bedeutet, dass die Sicherheit Ihres Discourse von der Sicherheit Ihres WordPress abhängt. Ein granularer Schlüssel ist weitaus weniger mächtig und auf die von Ihnen aktivierten Geltungsbereiche beschränkt.

7 „Gefällt mir“

Wir sehen ein Problem, während das Aktualisieren von Beiträgen in WordPress die zugehörigen Beiträge in Discourse nicht aktualisiert. Wir erhalten folgende Fehlermeldung in den Protokollen:

FEHLER:
publish.ERROR: update_post.post_error {“wp_title”:"title … ",“wp_author_id”:“2205402”,“wp_post_id”:3179224,“response_message”:“Sie sind nicht berechtigt, die angeforderte Ressource anzuzeigen. Der API-Benutzername oder Schlüssel ist ungültig.”,“http_code”:403}

Wir verwenden einen Granular-Schlüssel, um WP Discourse mit Discourse mit den Bereichen “Wordpress Publishing” und “Wordpress Commenting” zu verbinden. Kann mir bitte jemand dabei helfen?

Hallo @deepak_dhamde, es tut mir leid, dass Sie ein Problem haben. Ich bin heute unterwegs, werde aber versuchen, Ihr Problem nachzustellen und mich morgen früh bei Ihnen zu melden.

1 „Gefällt mir“

Hallo @deepak_dhamde Ich habe ein Video von mir aufgenommen, in dem ich einen granularen Schlüssel mit den von Ihnen verwendeten Bereichen einrichte. Wenn Sie es sich ansehen und mir mitteilen könnten, ob Sie etwas anders machen.

Hallo @angus, Entschuldigung für die späte Antwort.
Wir befolgen genau das gleiche Verfahren, um den Granular Key zu generieren, sehen aber immer noch denselben 403-Fehler in den Protokollen. Wenn wir WordPress-Beiträge aktualisieren, wird das zugehörige Thema auf Discourse nicht aktualisiert.

FEHLER:

[2024-09-16 06:51:28] publish.ERROR: update_post.post_error {“wp_title”:“Testing update post feature on staging site”,“wp_author_id”:“2168699”,“wp_post_id”:3175772,“response_message”:“You are not permitted to view the requested resource. The API username or key is invalid.”,“http_code”:403}

Hallo @deepak_dhamde.

Es wird wahrscheinlich geringfügige Unterschiede in der Art und Weise geben, wie Sie es einrichten, oder in Ihrer Umgebung. Ohne weitere Informationen ist es für mich schwierig, diesen Unterschied zu finden. Hier sind einige Möglichkeiten, wie wir vorgehen können:

  1. Sie könnten mir Zugang zu Ihrer Umgebung gewähren (ich unterschreibe gerne eine Geheimhaltungsvereinbarung), damit ich es mir ansehen kann; oder
  2. Sie könnten Ihr eigenes Video aufnehmen, in dem Sie dasselbe tun, was ich gerade getan habe (senden Sie es mir privat); oder
  3. Sie können es sich noch einmal ansehen und diese Faktoren berücksichtigen:
    • Sind Ihre Discourse- und Wordpress-Versionen aktuell?
    • Können Sie einen funktionierenden „Global“-Schlüssel erstellen?
    • Haben Sie versucht, verschiedene Mitglieder Ihres Teams dieselben Schritte ausführen zu lassen (manchmal sieht ein neuer Blickwinkel etwas Neues)?
    • Teilen Sie die „meta“-Datei in Ihrem WP Discourse-Protokoll-Viewer mit mir (d. h. Ihre Wordpress-Umgebung), und ich werde sehen, ob etwas auffällt.

Hallo @angus,

Wir haben einen neuen Granular-Schlüssel erstellt, die von dir im Video erwähnte Vorgehensweise befolgt und den Bearbeitungsbereich für Beiträge aktiviert, und es hat funktioniert. Vielen Dank für deine Geduld und Unterstützung.

1 „Gefällt mir“

4 Beiträge wurden in ein neues Thema aufgeteilt: WP Discourse mit einer lokalen Discourse-Instanz verbinden, auf der eine bestimmte Version läuft