Wie am besten Discourse für ein größeres WordPress-Magazin einbinden?

Hallo. Hallo,
Ich betreue ein größeres technologieorientiertes Online-Magazin, https://www.svetandroida.cz/, und wir haben in der Vergangenheit versucht, unseren Nutzern verschiedene Community-Optionen (Benachrichtigungen, Nutzerbewertungen, Karma usw.) anzubieten. Aber WordPress unterstützt diese Funktionen nicht nativ, und Drittanbieterlösungen stoßen nach einer Weile immer auf Probleme.

Deshalb haben wir uns entschieden, WordPress ausschließlich für die Magazinfunktion zu nutzen, die nur Inhalte anzeigt. So schnell und sauber wie möglich. Und alle Community-Funktionen für Nutzer komplett zu Discourse zu verlagern, das diese Aufgabe viel besser bewältigt.

Dieses Setup erscheint mir absolut ideal. Aber wir betreiben das Magazin seit etwa 13 Jahren, und in dieser Zeit hatten wir Hunderte von Tausenden von Kommentaren und Zehntausende von registrierten Nutzern. Ich würde gerne Ihre Gedanken dazu hören, wie die Discourse-Integration am elegantesten und aus Nutzersicht am effektivsten gestaltet werden kann?

Fakten:

  • Das Magazin auf WordPress läuft unter https://www.svetandroida.cz/
  • Wir betreiben die Discourse-Community hier https://komunita.svetandroida.cz/
  • Wir wollen Discourse zur Verwaltung von Benutzerkonten nutzen, wir finden es besser
  • Wir veröffentlichen etwa 5 bis 15 Artikel pro Tag
  • Wir haben Zehntausende von Artikeln (und wir haben bereits viele davon gelöscht :slight_smile:
  • Aktiv kommentieren, es gibt Dutzende bis kleine Hunderte von Nutzern
  • Wir haben das WordPrees-Plugin für Discouse eingerichtet und alles scheint gut zu funktionieren, das Einzige, was wir noch nicht eingerichtet haben, ist SSO
    • Artikel, die wir im WordPRess-Magazin veröffentlichen, werden automatisch als versteckt in Discourse veröffentlicht

Was muss ich ansprechen und wie gehe ich es an? Können Sie sich eine bessere Lösung vorstellen?

Nutzeranmeldung
Mithilfe von WordPress-Plugins werde ich den DiscourseConnect Client einrichten und hoffe, dass er meine Redakteure nicht blockiert oder den Zugang verwehrt :). Ich hoffe nicht. Nur ein Scherz, aber es stimmt, dass dies der einzige Bereich ist, der mir auch nach sorgfältigem Lesen der Diskussionen immer noch nicht zu 100 % klar ist.

Ich hoffe, dass, wenn ein Nutzer sich auf der WordPress-Magazin-Website anmelden möchte (er hat bereits ein WordPress-Konto), automatisch auch ein Konto in Discourse für ihn erstellt wird.

Wenn das zufällig nicht passiert, ist es für mich wahrscheinlich in Ordnung, diese wenigen Dutzend Nutzer zu bitten, ihre bestehenden WordPress-Benutzerkonten zu vergessen und neue in Discourse zu erstellen.

Kommentare zum Thema Artikel
Derzeit habe ich keine elegante Möglichkeit gefunden, die bereits in WordPress veröffentlichten Kommentare unserer Nutzer in das neu gestartete Discourse zu übertragen. Wenn ich falsch liege, weisen Sie mich bitte darauf hin.

Daher bleiben bereits veröffentlichte Kommentare in WordPress und alle neuen werden bereits in Discourse veröffentlicht.

Wir werden keine in Discourse veröffentlichten Kommentare zurück unter WordPress-Artikeln platzieren, sondern nur einen Link unter jedem WordPress-Artikel setzen, der zu Discourse (für den jeweiligen Discourse-Artikel) verlinkt.

So wie wir es derzeit handhaben, werden alle veröffentlichten Artikel als versteckt nach Discourse übernommen und erst sichtbar, wenn jemand in Discourse einen neuen Kommentar dazu hinzufügt. Diese Lösung ist nicht schlecht, aber in unserem Fall bedeutet das, dass ich als Administrator Tausende von versteckten Threads in Discourse sehen werde :frowning: .

Gibt es keine elegantere Lösung dafür? Zum Beispiel, dass ein WordPress-Artikel nach der Veröffentlichung nicht als versteckt nach Discourse übertragen wird, sondern ein Discourse-Thread nur erstellt wird, wenn jemand auf den Link unter dem WordPress-Artikel klickt und einen Kommentar hinzufügt?

Auf diese Weise gäbe es keine Tausenden von unsichtbaren Threads im Forum.

Und wenn es absolut perfekt sein sollte, dann würde über einen “magischen Link” von WordPress der Discourse-Thread nur vorübergehend erstellt werden, und wenn zufällig kein Kommentar hinzugefügt wurde und der Nutzer seine Meinung änderte/ging, würde der Thread nach einiger Zeit gelöscht werden.

Vielen Dank, dass Sie bis hierher gelesen haben (als Belohnung sende ich ein KI-Bild) und ich freue mich auf Ihre Ideen und Erkenntnisse.

2 „Gefällt mir“

Die Funktionalität des DiscourseConnect-Clients funktioniert ähnlich wie andere Formen der sozialen Anmeldung. Zum Beispiel ist es ähnlich wie die Anmeldung bei WordPress über Facebook, aber mit Ihrer Discourse-Site als Authentifizierungsanbieter anstelle von Facebook. Das bedeutet, dass Benutzer, bevor sie sich mit DiscourseConnect bei Ihrer WordPress-Site anmelden können, ein Konto auf Ihrer Discourse-Site erstellen müssen. Das Nicht-Erstellen eines Discourse-Kontos hindert jedoch keine Benutzer daran, sich bei Ihrer WordPress-Site anzumelden. Wenn die WordPress-Site der DiscourseConnect-Client ist, ist die normale Benutzername/Passwort-Anmeldung bei WordPress immer noch verfügbar.

Da Sie viele Benutzer haben, die es gewohnt sind, sich bei Ihrer WordPress-Site anzumelden, könnte es sich lohnen, Ihre WordPress-Site als DiscourseConnect-Anbieter für Ihre Discourse-Site zu verwenden. Wenn Sie die Dinge so einrichten, können sich alle Ihre bestehenden Benutzer problemlos bei Ihrer neuen Discourse-Site anmelden. Alles, was sie tun müssen, ist, auf einen Link auf Ihrer WordPress-Site zu klicken. Details, wie Sie einen Link dafür erstellen, finden Sie hier: DiscourseConnect-Anmeldelink erstellen.

Es scheint, als ob Sie den sozialen Aspekt Ihrer Website vollständig von WordPress zu Discourse verlagern möchten. Das könnte also ein Grund sein, Ihre WordPress-Site nicht als DiscourseConnect-Anbieter zu verwenden. Meine Sorge ist, dass die Anforderung, dass Benutzer neue Konten in Discourse erstellen, anstatt sich einfach bei ihrem WordPress-Konto anzumelden und auf einen Link zu klicken, um auf das Forum zuzugreifen, einige Benutzer davon abhalten könnte, sich der neuen Website anzuschließen.

Das Wichtigste, was Sie beachten sollten, wenn Sie WordPress als DiscourseConnect-Anbieter verwenden, ist, dass es, wenn die Dinge so konfiguriert sind, die einzige Anmeldemethode für Discourse wird. Das bedeutet, dass Sie nicht einige Benutzer haben können, die sich über WordPress bei Discourse anmelden, und andere Benutzer, die sich bei Discourse anmelden, indem sie Konten mit Benutzername/Passwort auf der Discourse-Site registrieren. Alle Benutzer müssen Konten auf WordPress haben, um auf die Discourse-Site zugreifen zu können.

Lassen Sie mich wissen, wenn die Unterscheidung zwischen der Verwendung von WordPress als DiscourseConnect-Client und DiscourseConnect-Anbieter für Sie nicht klar ist.

Es ist technisch möglich, aber ich glaube nicht, dass es eine gut getestte Methode dafür gibt. Möglicherweise haben einige andere Mitglieder dieser Community Ideen, wie man es angehen könnte.

Das könnte möglich sein. Ich habe das Gefühl, dass es zu Problemen führen könnte.

Auf Ihrer Discourse-Site können Sie nicht aufgeführte Themen herausfiltern, indem Sie den folgenden Abfrage-String zu einer URL hinzufügen: ?status=listed. Zum Beispiel \u003chttps://meta.discourse.org/latest?status=listed\u003e. Es gibt eine vorhandene Theme-Komponente, die verwendet werden kann, um zwischen der Anzeige von “offenen” und “geschlossenen” Themen umzuschalten: Topic Status Filter. Wenn es noch nicht existiert, wäre es für jemanden ziemlich einfach, “aufgelistete” und “nicht aufgelistete” Status zu diesem Filter hinzuzufügen. Aber ich schätze, für diesen Fall möchten Sie, dass der Filter nur von Mitarbeitern gesehen wird.

Dies könnte von WordPress mit einer API-Anfrage, die von einem Cron-Job verarbeitet wird, realisiert werden.

6 „Gefällt mir“

Vielen Dank für Ihre Zeit und Ihre Antwort.
Bezüglich DiscourseConnect ist es für mich bereits klar, danke für die ausführliche Erklärung. Lassen Sie uns also DiscourseConnect in WordPress als Client einrichten.

Die alten Kommentare fügen wahrscheinlich nicht genug Wert hinzu, um die Übertragung von WordPress nach Discourse lohnenswert zu machen.

Aber diese Diskussionen, die auf veröffentlichten Artikeln basieren, gehen mir immer noch durch den Kopf :). Der Filter ist in der Tat eine Lösung dafür, dass der Administrator die „versteckten“ Threads nicht sieht, aber irgendwie kann ich die Idee nicht aufgeben, dass es vielleicht einen anderen Weg gibt.
Sie haben erwähnt, dass es zu Problemen führen könnte. Wären Sie so freundlich, einige problematische Zustände aufzulisten, über die Sie sich Sorgen machen?
Mit der API ist es wahrscheinlich eine Lösung, aber da wir keine Programmierer sind, kann ich mir nicht gut genug vorstellen, wie das funktionieren würde.

So, wie ich es mir vorstelle, würde eine Funktion im WordPress-Backend ausgelöst, um den Beitrag in Discourse zu veröffentlichen, wenn ein Benutzer auf einen Link zu dem (noch nicht veröffentlichten) Discourse-Thema klickt. Das Auslösen der Veröffentlichung des Beitrags in Discourse, wenn ein Benutzer auf einen Link klickt, ist machbar.

Die Probleme, die ich mir vorstelle:

  • Worauf verweist der Link, wenn der Beitrag noch nicht veröffentlicht wurde? Wir kennen die URL des Themas in Discourse erst, nachdem das Thema veröffentlicht wurde. Es müsste etwas entwickelt werden, damit beim Klicken des Benutzers auf den Link das Thema im Hintergrund veröffentlicht wird. Basierend auf der Antwort, die von Discourse empfangen wird, wird der Benutzer dann zum Discourse-Thema weitergeleitet.

  • Ich bin mir nicht sicher, was passieren würde, wenn Ihre Website sehr stark besucht wäre und viele Benutzer gleichzeitig auf Links klicken würden, die die Veröffentlichung von Discourse-Themen auslösen. Es wäre wahrscheinlich in Ordnung, aber es fühlt sich wie ein Risiko an.

Bearbeiten: Eine Möglichkeit, das erste Problem zu lösen, wäre, den Benutzer einfach darüber zu informieren, was vor sich geht, und eine Nachricht anzuzeigen wie “Bitte warten Sie, während wir das Thema veröffentlichen”. Sobald das Thema veröffentlicht wurde, könnte ein Link zum Thema generiert und der Benutzer aufgefordert werden, darauf zu klicken. Der Vorgang könnte einige Sekunden dauern.

2 „Gefällt mir“

Könnte das Ganze also für ein kleines JavaScript angepasst werden, das einen normalen Link für die Teilnahme an einer Diskussion unter dem Artikel auf einer WordPress-Seite platziert. Zuerst würde das JavaScript eine Funktion aufrufen (Thread auf Discourse erstellen, was das WP-Plugin bereits tut) und dem Benutzer anzeigen, dass ein Thread erstellt wird, und wenn das JavaScript die Informationen von Discourse erhält, dass der Thread erstellt wurde, würde es den Benutzer zum Kommentar-Thread auf Discourse weiterleiten.

Stimmt das, oder stelle ich es mir zu einfach vor? :slight_smile:

Es wäre einfacher, den Benutzer nicht automatisch weiterzuleiten, aber ja, was Sie skizziert haben, ist korrekt. Nachdem der Benutzer auf den Link geklickt hat, um das Thema zu generieren, würde das Skript periodische Anfragen stellen, um die URL des Themas vom WordPress-Server zu erhalten. Sobald es die URL hätte, würde es den Benutzer zum Discourse-Thema weiterleiten.

2 „Gefällt mir“