Problemi con i commenti Ghost+Discourse (anche durante la migrazione da WordPress)

Sto cercando di migrare il mio blog da WordPress (con commenti Discourse) a Ghost (con commenti Discourse) e, dopo aver configurato i commenti seguendo le istruzioni su Integrazione ufficiale Ghost + Discourse, ho riscontrato una serie di problemi da risolvere, se mi concederete:\n\n1. Nelle impostazioni di incorporamento, non ho selezionato "Gli argomenti importati non saranno elencati fino a quando non ci sarà una risposta", ma quando vado su un nuovo post e viene creato l’argomento corrispondente, questo infatti non è elencato fino a quando non viene fatto un commento. C’è un modo per evitare questo e far sì che gli argomenti vengano creati ed elencati man mano che vengono pubblicati su Ghost?\n\nInoltre, se ho frainteso cosa dovrebbe fare quell’impostazione, cosa fa effettivamente?\n\n(Nonostante i consigli contrari, vari miei lettori insistono nell’usare la community di Discourse come fonte per i nuovi post, piuttosto che il blog stesso, e devo supportarli.)\n\n2. Quando il blog era un blog WordPress, usavo il plugin WordPress Discourse. Quando creava argomenti per corrispondere ai post del blog, questi arrivavano su Discourse come se fossero stati pubblicati dei link, come si può vedere nell’argomento centrale qui:\n\n

\n\nC’è un modo per modificare il codice/le impostazioni di incorporamento per riottenere quel comportamento? Era sia un link utile dall’indice che un chiaro distintivo tra post di "commenti" e post di "community".\n\n3. Soprattutto, quando vado su un post che aveva commenti Discourse esistenti (tramite il plugin WordPress), la sezione commenti sulla pagina rimane bloccata su "Caricamento discussione…" per sempre. Mi aspettavo, ed è ovviamente piuttosto cruciale, che tali incorporamenti si collegassero all’argomento esistente corrispondente a quell’URL. Qualcuno ha trovato un modo per farlo accadere?\n\n(Vedi, ad esempio, Spooooky e il suo argomento corrispondente Spooooky - General - The Eldraeverse .\n\nQualsiasi aiuto in merito sarebbe molto apprezzato!

Dovrei esaminare il codice più attentamente, ma penso che, dal lato di Discourse, tu debba solo verificare che l’URL nel record di incorporamento (non ricordo esattamente come si chiama) abbia lo stesso URL che il tuo nuovo sito gli passa.

Quindi, penso che finché discourseEmbedUrl sul nuovo sito di incorporamento corrisponde a quello nuovo (o lo cambi nel record su Discourse), andrà tutto bene.

  DiscourseEmbed = {
    discourseUrl: 'https://discourse.example.com/',
    discourseEmbedUrl: '[EMBED_URL](http://example.com/blog/entry-123.html)',
    // className: 'CLASS_NAME',
  };
1 Mi Piace

Purtroppo, per quanto ne so, lo è. Ho guardato la pagina del blog negli strumenti per sviluppatori e vedo questo dove vanno i commenti di Discourse:

mostrando un parametro discourseEmbedUrl nello script di
https://eldraeverse.com/2024/10/28/spooooky/

e sull’argomento Discourse, vedo lo stesso URL sia nel link in cima all’argomento, sia nell’inserimento “Originariamente pubblicato su:” nel primo post dell’argomento. (Non sono sicuro se ci sia un altro posto specifico in cui dovrei guardare in Discourse per il record di embed originale, ma tutto ciò che posso vedere nell’argomento stesso corrisponde.)

Modifica: Per chiarire, in precedenza utilizzavo il plugin WP Discourse e poiché non è configurato utilizzando la configurazione di embedding su Discourse, non posso semplicemente andare a vedere la vecchia impostazione, sfortunatamente. Ma mi sono assicurato che tutti gli URL delle pagine degli argomenti sul nuovo blog Ghost non cambiassero dal blog WordPress, quindi tutto dovrebbe essere automaticamente lo stesso.

In Rails, puoi guardare

 TopicEmbed.all

o

 TopicEmbed.pluck(:topic_id, :embed_url)

per vedere cosa c’è e se corrisponde al tuo dovresti essere a posto, ma non sta caricando, il che, penso, suggerisce che non hai permesso al tuo altro sito di fare embed sul tuo Discourse.

Per quanto riguarda il primo, non credo di avere accesso per eseguirlo, dato che il mio Discourse è ospitato da voi, o almeno non so come potrei farlo.

Per quanto riguarda il secondo, non sono sicuro di seguirti. La mia configurazione di embedding è:

che dovrebbe corrispondere agli URL sia del vecchio sito che del nuovo sito, vero? A parte lo slug specifico del post alla fine, gli URL dei post che non riescono a caricare l’argomento del commento sono identici a quelli dei post che ci riescono?

Oh. Mi dispiace. Penso principalmente solo all’auto- (o a me-) ospitato. Potresti essere in grado di fare qualcosa di simile con il plugin data explorer se sei sull’hosting Business.

Potresti provare ad attivare embed any origin e vedere se questo lo risolve. Nel peggiore dei casi, credo, dovresti riuscire a caricare l’embed e non avrà i commenti che ti aspetti di vedere.

Ah, un umile utente pro bono. La scrittura di fantascienza, ahimè, non è redditizia come vorrei. :smile:

Ho provato embed any origin, ma ahimè, nessun cambiamento nel comportamento.

(Ho anche dato un’occhiata al codice sorgente del plugin WP Discourse, che sembra parlare solo con l’API di Discourse per fare il suo lavoro e non utilizzare affatto il normale supporto per l’embedding, il che, ora che ho visto come appaiono gli embedding di Discourse in Ghost, non mi sorprende - i commenti nel vecchio WordPress avevano un aspetto e un comportamento diverso.

Quindi ora devo chiedermi se esista un URL di embedding registrato per quegli argomenti sul lato Discourse - anche se questo solleva la domanda del perché non stia semplicemente vedendo apparire nuovi argomenti (di embedding) ora invece di questa interruzione - e se ci sia un modo per aggiungerne uno?)

1 Mi Piace

Ho fatto un rapido esperimento: se elimino un argomento creato dal plugin WP Discourse, visitare successivamente lo stesso post sul blog Ghost crea un nuovo argomento per quel post tramite embedding, quindi evidentemente gli argomenti WP Discourse sono in grado di bloccare il funzionamento degli embed anche se non vengono visualizzati.

Naturalmente, non è una soluzione praticabile, ma è un dato di fatto.