Probleme mit Ghost+Discourse-Kommentaren (ebenfalls bei der Migration von WordPress)

Ich versuche gerade, meinen Blog von WordPress (mit Discourse-Kommentaren) auf Ghost (mit Discourse-Kommentaren) zu migrieren, und obwohl ich die Kommentare gemäß den Anweisungen unter Offizielle Ghost + Discourse-Integration eingerichtet habe, bin ich auf eine Reihe von Problemen gestoßen, die ich lösen muss, wenn Sie mir gestatten:\n\n1. In den Einbettungseinstellungen habe ich "Importierte Themen werden nicht aufgelistet, bis eine Antwort vorliegt" nicht aktiviert. Wenn ich jedoch zu einem neuen Beitrag gehe und das passende Thema erstellt wird, ist es tatsächlich ungelistet, bis ein Kommentar abgegeben wird. Gibt es eine Möglichkeit, dies zu vermeiden und die Themen erstellen und auflisten zu lassen, sobald sie auf Ghost veröffentlicht werden?\n\nWenn ich diese Einstellung falsch verstanden habe, was bewirkt sie dann tatsächlich?\n\n(Obwohl mir davon abgeraten wurde, bestehen einige meiner Leser darauf, die Discourse-Community als Quelle für neue Beiträge zu nutzen und nicht den Blog selbst. Ich muss sie unterstützen.)\n\n2. Als der Blog ein WordPress-Blog war, verwendete ich das WordPress Discourse-Plugin. Als es Themen erstellte, die den Blogbeiträgen entsprachen, kamen sie in Discourse so an, als wären dort Links gepostet worden, wie im mittleren Thema hier zu sehen ist:\n\n

\n\nGibt es eine Möglichkeit, den Einbettungscode/die Einstellungen so zu ändern, dass dieses Verhalten wiederhergestellt wird? Es war sowohl ein nützlicher Link vom Index als auch eine klare Unterscheidung zwischen "Kommentar"-Beiträgen und "Community"-Beiträgen?\n\n3. Am wichtigsten ist, dass, wenn ich zu einem Beitrag gehe, der bereits Discourse-Kommentare hatte (über das WordPress-Plugin), der Kommentarbereich auf der Seite für immer bei "Diskussion wird geladen…" hängen bleibt. Ich hatte erwartet, und es ist natürlich von entscheidender Bedeutung, dass solche Einbettungen mit dem vorhandenen Thema verknüpft werden, das dieser URL entspricht. Hat jemand einen Weg gefunden, das zu erreichen?\n\n(Siehe zum Beispiel Spooooky und das entsprechende Thema Spooooky - General - The Eldraeverse .\n\nJede Hilfe dabei wäre sehr willkommen!

Ich müsste mir den Code genauer ansehen, aber ich denke, von der Discourse-Seite aus müssen Sie nur sehen, dass die URL im Embed-Eintrag (ich erinnere mich nicht mehr genau, wie er heißt) dieselbe URL hat, die Ihre neue Website ihm übergibt.

Ich denke also, solange die discourseEmbedUrl auf der neuen Embed-Website mit der neuen übereinstimmt (oder Sie sie im Eintrag auf Discourse ändern), sollte alles in Ordnung sein.

  DiscourseEmbed = {
    discourseUrl: 'https://discourse.example.com/',
    discourseEmbedUrl: '[EMBED_URL](http://example.com/blog/entry-123.html)',
    // className: 'CLASS_NAME',
  };
1 „Gefällt mir“

Leider, soweit ich das beurteilen kann, ist das der Fall. Ich habe die Blog-Seite in den Entwicklertools angesehen und sehe hier, wo die Discourse-Kommentare hingehören:

mit einem discourseEmbedUrl-Parameter im Skript von
https://eldraeverse.com/2024/10/28/spooooky/

und auf dem Discourse-Thema sehe ich dieselbe URL sowohl im Link oben im Thema als auch in der Einfügung „Ursprünglich veröffentlicht unter:“ im ersten Beitrag des Themas. (Ich bin mir nicht sicher, ob es irgendwo anders im Thema spezifisch ist, wo ich nach dem ursprünglichen Einbettungsdatensatz suchen sollte, aber alles, was ich im Thema selbst sehen kann, stimmt überein.)

Bearbeitung: Zur Klarstellung: Ich habe zuvor das WP Discourse-Plugin verwendet, und da dieses nicht über die Einbettungskonfiguration auf Discourse konfiguriert wird, kann ich mir die alte Einstellung leider nicht ansehen. Aber ich habe sichergestellt, dass sich die URLs der Themen-Seiten auf dem neuen Ghost-Blog vom WordPress-Blog nicht ändern, sodass alles automatisch gleich sein sollte.

In Rails können Sie sich ansehen:

 TopicEmbed.all

oder

 TopicEmbed.pluck(:topic_id, :embed_url)

um zu sehen, was vorhanden ist, und wenn dies mit Ihrem übereinstimmt, sollte alles in Ordnung sein. Es lädt jedoch nicht, was meiner Meinung nach darauf hindeutet, dass Sie Ihrer anderen Website nicht erlaubt haben, Einbettungen auf Ihrem Discourse vorzunehmen.

Was das Erstere betrifft, glaube ich nicht, dass ich Zugriff darauf habe, da mein Discourse von Ihnen gehostet wird, oder zumindest weiß ich nicht, wie ich es tun sollte.

Beim Letzteren bin ich mir nicht sicher, ob ich Ihnen folgen kann. Meine Einbettungskonfiguration lautet:

was doch sicherlich mit den URLs der alten und der neuen Seite übereinstimmen sollte? Abgesehen von der beitragspezifischen ID am Ende sind die URLs der Beiträge, bei denen das Kommentar-Thema nicht geladen wird, identisch mit denen der Beiträge, bei denen dies gelingt?

Oh. Tut mir leid. Ich denke hauptsächlich nur an selbst (oder mich-) gehostete. Möglicherweise können Sie so etwas mit dem Daten-Explorer-Plugin tun, wenn Sie Business-Hosting nutzen.

Sie könnten versuchen, embed any origin zu aktivieren und sehen, ob das das Problem behebt. Im schlimmsten Fall, denke ich, sollten Sie die Einbettung laden können und sie wird nicht die Kommentare enthalten, die Sie erwarten zu sehen.

Ach, ein bescheidener pro bono-Nutzer. SF-Schreiben ist leider nicht so lukrativ, wie ich es gerne hätte. :smile:

Ich habe embed any origin ausprobiert, aber leider keine Änderung im Verhalten festgestellt.

(Ich habe mir auch den Quellcode des WP Discourse-Plugins angesehen, der anscheinend nur mit der Discourse-API spricht, um seine Arbeit zu tun, und nicht die normale Einbettungsunterstützung verwendet, was mich angesichts dessen, wie Discourse-Einbettungen in Ghost aussehen, nicht überrascht – die Kommentare im alten WordPress sahen anders aus und verhielten sich anders.

Daher frage ich mich nun, ob es auf Discourse-Seite überhaupt eine Einbettungs-URL für diese Themen gibt – obwohl sich dann die Frage stellt, warum ich nicht einfach neue (eingebettete) Themen sehe, die jetzt erscheinen, anstatt dieses Problem – und ob es eine Möglichkeit gibt, eine hinzuzufügen?)

1 „Gefällt mir“

Ich habe ein kurzes Experiment durchgeführt: Wenn ich ein Thema lösche, das vom WP Discourse-Plugin erstellt wurde, führt ein anschließender Besuch desselben Beitrags im Ghost-Blog dazu, dass über das Einbetten ein neues Thema für diesen Beitrag erstellt wird. Offenbar können die WP Discourse-Themen das Funktionieren der Einbettungen blockieren, auch wenn sie nicht angezeigt werden.

Das ist natürlich keine praktikable Lösung, aber es ist ein Datenpunkt.