Un'idea per commenti più economici?

Attualmente, il modo in cui funziona il collegamento tra WordPress e Discourse è che ogni articolo viene trasferito automaticamente su Discourse come nascosto. Quindi anche quelli in cui non c’è alcuna discussione in corso.

Il che è molto dispendioso in termini di risorse, poiché WordPress crea molti argomenti “vuoti”.

Qualcuno può pensare a una soluzione per fare in modo che solo gli articoli in cui è iniziata una discussione vengano trasferiti da WP a Discourse?

Ciao @Petr_Mišák,

Per fare ciò, dovresti importare i commenti creati su WordPress come post in Discourse. Ciò non è possibile utilizzando il plugin WP Discourse e difficilmente sarà supportato nel prossimo futuro. Per alcune riflessioni più ampie su questo, vedi

Detto questo, mi viene in mente che una volta aggiunta la possibilità per gli attori delle categorie di Discourse di seguire altri attori ActivityPub al plugin ActivityPub (su cui sto attualmente lavorando) potresti forse configurare il plugin ActivityPub di WordPress in qualche modo per ottenere questo risultato. Anche se questo è piuttosto speculativo.

Vorrei anche capire un po’ meglio perché lo consideri “dispendioso in termini di risorse”. Se stai pubblicando molti articoli che non ottengono coinvolgimento, forse considera di pubblicare un sottoinsieme dei tuoi articoli sul tuo forum che hanno maggiori probabilità di ottenere coinvolgimento? Al contrario, avere molti argomenti incorporati senza risposte danneggia la tua community in qualche modo che hai osservato? C’è forse qualcosa che puoi fare per affrontare il problema sottostante, per così dire?

1 Mi Piace

Per contesto, credo che tu abbia un sito WordPress popolare con molti post e che di recente tu abbia creato un forum Discourse e aggiunto il plugin Discourse WordPress al tuo sito web.

Quanti post ci sono sul tuo sito WordPress? I post più vecchi ricevono commenti molto spesso, o le persone commentano solitamente solo i post più recenti?

In termini di soluzioni al problema, prenderesti in considerazione una soluzione che richieda l’aggiunta di codice personalizzato al sito WordPress, o sei interessato solo a modi per farlo che non richiedano codice personalizzato?

Se i post sul sito normalmente ricevono commenti solo per un breve periodo dopo la loro pubblicazione, la soluzione più semplice possibile sarebbe quella di iniziare a pubblicare i post più recenti del sito su Discourse.

La cosa successiva più semplice da fare sarebbe aggiungere un plugin al tuo sito che modifichi il link “Start Discussion” di WP Discourse, in modo che invece di essere un link al topic Discourse, sia un link che attivi il plugin WP Discourse per pubblicare il post su Discourse. La parte più complicata dell’implementazione sarebbe capire come gestire il caso dell’utente che fa clic per primo sul link “Start Discussion”: dovrebbe essere reindirizzato automaticamente al topic una volta pubblicato, cosa vedrà mentre il topic viene pubblicato, ecc.

Un’altra possibile soluzione che non richiederebbe un plugin WordPress personalizzato, ma richiederebbe del tempo di sviluppo potenzialmente costoso, sarebbe quella di far scrivere a qualcuno uno script di importazione che importi tutti i post, i commenti e gli utenti esistenti del tuo sito su Discourse. Ciò risolverebbe il problema dei topic vuoti. Se si adottasse questo approccio, potrebbe valere la pena considerare l’utilizzo del tuo sito WordPress come provider DiscourseConnect per il tuo sito Discourse. Ciò faciliterebbe l’accesso degli utenti importati a Discourse.

2 Mi Piace

Gli argomenti vuoti non consumano molte risorse. Stai parlando di decine o centinaia di migliaia?

1 Mi Piace

È possibile che si tratti solo di un errore di traduzione da parte mia, ma non sono interessato a pubblicare commenti di WordPress in Discourse, ma solo in Discourse per discutere gli argomenti degli articoli in WordPress.

Per fare ciò, ho bisogno del plugin WordPress per inserire un argomento nascosto in Discourse per ogni articolo pubblicato dopo la sua pubblicazione.

Mi infastidisce terribilmente che il collegamento tra l’articolo di WordPress e i commenti in Discourse venga creato al momento della pubblicazione dell’articolo, e non quando qualcuno esprime interesse a discutere l’argomento.

Considerando che solo il 10% di tutti gli articoli viene commentato, ma il plugin WordPress crea un collegamento in Discourse per ogni articolo pubblicato. Quindi il 90% dei collegamenti creati in questo modo rimangono nascosti e occupano solo risorse inutilmente.

Pubblichiamo circa 13 articoli al giorno. Quindi 13 * 365 = 4.745 articoli all’anno. E di questi 4.270 saranno impostati come topos nascosti nel sistema Discourse e non avranno mai un commento aggiunto. Si tratta di 42.700 argomenti spazzatura in 10 anni.

La soluzione sarebbe se l’argomento nascosto in Discourse non venisse creato al momento della pubblicazione dell’articolo in WordPress, ma l’argomento arrivasse solo quando qualcuno in WordPress sotto l’articolo mostra interesse a commentarlo.

In questo modo non ci sarebbe bisogno di creare thread nascosti e inutilizzati in Discourse.

È esattamente come dici tu, abbiamo un sito WordPress molto visitato, ma stiamo spostando completamente account utente, login e commenti degli articoli su Discourse. WordPress diventerà solo un “Client DiscourseConnect”.

Pubblichiamo circa 13 articoli al giorno :slight_smile:

Le persone solitamente commentano i nuovi articoli, ma non è raro che si sviluppi una discussione su un articolo più vecchio. Cerchiamo di aggiornare gli articoli più volte nel tempo dopo la loro pubblicazione. E le nuove informazioni aggiunte a un articolo possono riaccendere la discussione.

Siamo felici di aggiungere un pezzo di codice a WordPress.

Utilizzando l’attuale plugin WordPress per Discourse, prevediamo di aggiungere a Discourse solo i nuovi articoli pubblicati dall’11/1/2023, ma questo creerebbe migliaia di argomenti inutilizzati in Discourse. Inoltre, se qualcuno volesse commentare un articolo del 2015, non avrebbe modo di farlo poiché l’argomento non esisterebbe in Discourse.

Sarebbe fantastico se l’argomento venisse creato solo quando l’utente clicca su “avvia una discussione sotto l’articolo”.

Come immagino approssimativamente l’intero processo? Fornirò un esempio illustrativo, sebbene fittizio.

  • In WordPress abbiamo una bozza di articolo, ad esempio www.SvetAndroida.cz/android-telefony-2023
  • pubblicheremo l’articolo
  • ancora nulla viene trasferito a Discourse

Poi qualcuno clicca sul pulsante “Avvia una discussione” sotto l’articolo di WordPress

  • a quel punto WordPress chiama Discourse per creare un argomento con l’indirizzo komunita.SvetAndroida.cz/android-telefony-2023
  • e dopo che è stato creato, reindirizza l’utente a Discourse per pubblicare il primo commento

Se qualcuno sullo stesso articolo di WordPress volesse “aggiungere un commento” (un altro commento)

  • non chiamerà più Discourse e creerà un argomento
  • ma l’utente verrà portato direttamente a Discourse quando si clicca sul pulsante
  • in alternativa, il pulsante “aggiungi commento” non avrebbe più bisogno di essere gestito da JavaScript, ma poiché l’argomento esiste già, il pulsante potrebbe essere semplicemente un link html, il che sarebbe meglio dal punto di vista SEO

L’uso di JavaScript creerebbe un nuovo argomento in Discourse solo se qualcuno cliccasse su “Avvia Discussione” e volesse aggiungere il primo commento.

Probabilmente saremmo in grado di fare l’intera soluzione da soli, ma attualmente abbiamo una carenza di programmatori WordPress. Inoltre, sarebbe fantastico se questa funzionalità fosse inclusa direttamente nel plugin ufficiale di Discourse.

2 Mi Piace

Nel nostro caso si tratterebbe di circa 50.000 argomenti in 10 anni

Non è un grosso problema, ma potresti eliminare quelli vecchi di qualche anno una volta all’anno.

Pulirlo avrebbe senso, ma cerchiamo di aggiornare i vecchi articoli e di attivare la discussione dopo un po’ di tempo dalla pubblicazione. Quindi eliminarlo non è una soluzione ideale nel nostro caso. …

Tutto questo ha senso, in particolare per la gestione di articoli precedentemente pubblicati. La mia unica preoccupazione è che, basandosi su codice personalizzato, si aggiungerà una certa complessità alla tua integrazione WordPress/Discourse. Penso che dovrebbe andare bene comunque. Assicurati che i tuoi sviluppatori utilizzino gli hook di azione e filtro del plugin WP Discourse e non modifichino il codice del plugin principale. Dovranno capire come chiamare il metodo pubblico sync_to_discourse quando viene cliccato il link “start discussion”: wp-discourse/lib/sso-client/sso-client-base.php at main · discourse/wp-discourse · GitHub. Pubblicando tramite quel metodo, tutti i metadati appropriati verranno aggiunti al post di WordPress.

È fantastico! Potrebbe valere la pena dare un’occhiata a questo sito Discourse: boing - Boing Boing BBS. Utilizzano il plugin WordPress per pubblicare un numero simile di articoli su Discourse. Nel loro caso, pubblicano automaticamente tutti i nuovi articoli su Discourse. Non hanno pubblicato articoli su Discourse che sono stati creati su WordPress prima di aver configurato un sito Discourse.

2 Mi Piace

C’è un posto adatto in questo forum dove potrei trovare uno sviluppatore che modifichi il plugin WordPress per Discourse come descritto sopra?

1 Mi Piace

Grazie, sei stato molto veloce. Originariamente lo stavo cercando nelle categorie ma non sono riuscito a trovarlo lì. Il che mi ha sorpreso. Ma la ricerca ha aiutato.

Grazie per la tua risposta dettagliata Petr, tuttavia sono un po’ confuso.

Come esprimerebbe qualcuno interesse a discutere un articolo se non vuoi commenti di WordPress e non c’è già un argomento per questo in Discourse?

*modifica Ah, vedo che hai delineato un’esperienza utente (UX)

Sì, è abbastanza fattibile.

Pensandoci ora, credo che sia una piccola lacuna del plugin che non abbiamo un modo più semplice per farlo. Penso che abbia senso aggiungere una funzione di utilità e uno shortcode e un blocco che si collegano ad essa. Indagherò su questo per il rilascio successivo a quello attuale.

4 Mi Piace

Ottima idea aggiungere il supporto al plugin ufficiale di WordPress per Discourse. C’è un’idea approssimativa su quale versione del plugin e quanto tempo potrebbe richiedere questa nuova funzionalità?

Inizierò a lavorarci la prossima settimana per aggiungerlo in 2.5.1 (la versione successiva alla prossima). @Petr_Mišák Potrai usarlo per raggiungere il tuo obiettivo.

3 Mi Piace

Ottimo, non vedo l’ora. Abbiamo già Discourse distribuito sul sito principale https://www.svetandroida.cz/