Come coinvolgere al meglio Discourse per una rivista WordPress più grande?

Ciao. Ciao,
Gestisco una grande rivista online focalizzata sulla tecnologia, https://www.svetandroida.cz/, e in passato abbiamo cercato di offrire diverse opzioni comunitarie (notifiche, recensioni degli utenti, karma, ecc.) ai nostri utenti. Ma WordPress non supporta nativamente queste funzionalità e le soluzioni di terze parti finiscono sempre per avere problemi dopo un po’.

Ecco perché abbiamo deciso di lasciare WordPress esclusivamente per la funzionalità della rivista, che visualizzerà semplicemente i contenuti. Il più velocemente e chiaramente possibile. E spostare completamente tutte le cose della community per gli utenti su Discourse, che gestisce questo lavoro molto meglio.

Questa configurazione mi sembra assolutamente ideale. Ma gestiamo la rivista da circa 13 anni e in quel periodo abbiamo avuto centinaia di migliaia di commenti e decine di migliaia di utenti registrati. Vorrei sentire i tuoi pensieri su come rendere l’integrazione di Discourse la più elegante e, dal punto di vista degli utenti, la più efficace?

Fatti:

  • La rivista su WordPress è attiva su https://www.svetandroida.cz/
  • Gestiamo la community di Discourse qui https://komunita.svetandroida.cz/
  • vogliamo usare Discourse per gestire gli account utente, lo troviamo migliore
  • pubblichiamo circa da 5 a 15 articoli ogni giorno
  • abbiamo decine di migliaia di articoli (e ne abbiamo già cancellati molti :slight_smile:
  • commentano attivamente da qualche decina a un centinaio di utenti
  • Abbiamo configurato il plugin WordPress per Discourse e tutto sembra funzionare bene, l’unica cosa che non abbiamo ancora configurato è l’SSO
    • gli articoli che pubblichiamo sulla rivista WordPress vengono pubblicati automaticamente su Discourse come nascosti

Cosa devo affrontare e come lo affronto? Riesci a pensare a una soluzione migliore?

Login utente
Utilizzando i plugin di WordPress, configurerò il client DiscourseConnect e spero che non si blocchi o impedisca l’accesso ai miei editor :). Spero di no. Scherzo, ma è vero che questo è l’unico punto che, anche dopo aver letto attentamente le discussioni, ancora non mi è del tutto chiaro.

Spero che se un utente vuole accedere al sito della rivista WordPress (ha già un account WordPress), gli venga creato automaticamente anche un account in Discourse.

Se per caso ciò non accadesse, probabilmente mi andrebbe bene chiedere a quelle poche decine di utenti di dimenticare i loro attuali account utente WordPress e crearne di nuovi in Discourse.

Commenti sull’argomento degli articoli
Attualmente, non ho trovato un modo elegante per trasferire i commenti dei nostri utenti già pubblicati su WordPress al Discourse appena lanciato. Se mi sbaglio, per favore indicami.

Pertanto, i commenti già pubblicati rimarranno su WordPress e quelli nuovi verranno pubblicati su Discourse.

Non trasferiremo i commenti pubblicati su Discourse indietro sotto gli articoli di WordPress, ma posizioneremo solo un link sotto ogni articolo di WordPress che rimandi a Discourse (per quel particolare articolo di Discourse).

Nel modo in cui abbiamo attualmente le cose, tutti gli articoli pubblicati vengono trasferiti su Discourse come nascosti e diventano visibili solo quando qualcuno aggiunge un nuovo commento ad essi in Discourse. Questa soluzione non è male, ma nel nostro caso significa che io, come amministratore, vedrò migliaia di thread nascosti in Discourse :frowning: .

Non c’è un modo più elegante per risolvere questo problema? Ad esempio, che un articolo di WordPress non venga trasferito su Discourse come nascosto dopo la pubblicazione, ma che un thread di Discourse venga creato solo quando qualcuno clicca sul link sotto l’articolo di WordPress e aggiunge un commento?

In questo modo non ci sarebbero migliaia di thread invisibili sul forum.

E se volessimo che fosse assolutamente perfetto, allora tramite un “link magico” da WordPress, il thread di Discourse verrebbe creato solo temporaneamente e se per caso non venisse aggiunto alcun commento e l’utente cambiasse idea/se ne andasse, il thread verrebbe eliminato dopo un po’ di tempo.

Grazie per aver letto fin qui (invio un’immagine AI come ricompensa) e attendo con impazienza le tue idee e intuizioni.

2 Mi Piace

La funzionalità del client DiscourseConnect funziona in modo simile a come funzionano altre forme di accesso tramite social network. Ad esempio, è simile all’accesso a WordPress tramite Facebook, ma con il tuo sito Discourse come provider di autenticazione anziché Facebook. Ciò significa che prima che gli utenti possano accedere al tuo sito WordPress con DiscourseConnect, dovranno creare un account sul tuo sito Discourse. La mancata creazione di un account Discourse non impedirà comunque ad alcun utente di accedere al tuo sito WordPress. Quando il sito WordPress è il client DiscourseConnect, è ancora disponibile l’accesso normale con nome utente/password su WordPress.

Dato che hai molti utenti abituati ad accedere al tuo sito WordPress, potrebbe valere la pena considerare l’utilizzo del tuo sito WordPress come provider DiscourseConnect per il tuo sito Discourse. Se imposti le cose in quel modo, tutti i tuoi utenti esistenti potranno accedere facilmente al tuo nuovo sito Discourse. Tutto ciò che dovranno fare è fare clic su un link sul tuo sito WordPress. I dettagli su come costruire un link per farlo sono qui: Crea un link di accesso DiscourseConnect.

Sembra che tu voglia spostare completamente l’aspetto social del tuo sito da WordPress a Discourse, quindi forse questo sarebbe un motivo per non utilizzare il tuo sito WordPress come provider DiscourseConnect. La mia preoccupazione è che richiedere agli utenti di creare nuovi account su Discourse, invece di accedere semplicemente al loro account WordPress e fare clic su un link per accedere al forum, potrebbe impedire ad alcuni utenti di unirsi al nuovo sito.

La cosa principale da tenere presente se utilizzi WordPress come provider DiscourseConnect è che, quando le cose sono configurate in quel modo, diventa l’unico metodo di accesso per Discourse. Ciò significa che non puoi avere alcuni utenti che accedono a Discourse tramite WordPress e altri utenti che accedono a Discourse registrando account con nome utente/password sul sito Discourse. Tutti gli utenti dovranno avere account su WordPress per accedere al sito Discourse.

Fammi sapere se la distinzione tra l’utilizzo di WordPress come client DiscourseConnect e provider DiscourseConnect non ti è chiara.

È tecnicamente possibile, ma non credo che esista un metodo ben testato per farlo. Potrebbero esserci altri membri di questa community che hanno idee su come affrontarlo.

Potrebbe essere possibile. La mia sensazione è che potrebbe portare a problemi.

Sul tuo sito Discourse, puoi filtrare gli argomenti non elencati aggiungendo la seguente stringa di query a un URL: ?status=listed. Ad esempio \u003chttps://meta.discourse.org/latest?status=listed\u003e. Esiste un componente tema esistente che può essere utilizzato per passare dalla visualizzazione di argomenti “aperti” e “chiusi”: Topic Status Filter. Se non esiste già, sarebbe abbastanza facile per qualcuno aggiungere stati “elencato” e “non elencato” a quel filtro. Ma immagino che in quel caso vorresti che il filtro fosse visibile solo allo staff.

Questo potrebbe essere realizzato da WordPress con una richiesta API gestita da un cron job.

6 Mi Piace

Grazie per il tuo tempo e la tua risposta.
Per quanto riguarda DiscourseConnect, mi è già chiaro, grazie per la spiegazione dettagliata. Impostiamo quindi DiscourseConnect in WordPress come client.

I vecchi commenti probabilmente non aggiungono abbastanza valore da giustificare lo sforzo di trasferirli da WordPress a Discourse.

Ma quelle discussioni basate su articoli pubblicati mi frullano ancora in testa :). Il filtro è effettivamente una soluzione per evitare che l’amministratore veda i thread “nascosti”, ma in qualche modo non riesco a rinunciare all’idea che ci possa essere un altro modo.
Hai menzionato che potrebbe portare a problemi, sarebbe possibile elencare alcuni stati problematici che ti preoccupano, per favore?
Con l’API è probabilmente una soluzione, ma dato che non siamo programmatori, non riesco a immaginare bene come funzionerebbe.

Il modo in cui immagino che funzioni è che quando un utente fa clic su un link a un argomento di Discourse (non ancora pubblicato), una funzione verrebbe attivata sul backend di WordPress per pubblicare il post su Discourse. Attivare la pubblicazione del post su Discourse quando un utente fa clic su un link è fattibile.

I problemi che immagino:

  • a cosa punta il link se il post non è ancora stato pubblicato? Non conosciamo l’URL dell’argomento su Discourse fino a dopo la pubblicazione dell’argomento. Sarebbe necessario sviluppare qualcosa in modo che, quando l’utente fa clic sul link, l’argomento venga pubblicato in background, quindi in base alla risposta ricevuta da Discourse, l’utente venga reindirizzato all’argomento di Discourse.

  • Non sono sicuro di cosa succederebbe se il tuo sito fosse molto trafficato e molti utenti facessero clic su link che attivano la pubblicazione di argomenti di Discourse contemporaneamente. Probabilmente andrebbe bene, ma sembra un rischio.

Modifica: un modo per affrontare il primo problema sarebbe semplicemente informare l’utente di cosa sta succedendo e visualizzare un messaggio “attendere mentre pubblichiamo l’argomento”. Una volta pubblicato l’argomento, potrebbe essere generato un link all’argomento e all’utente potrebbe essere richiesto di fare clic su di esso. Il processo potrebbe richiedere alcuni secondi.

2 Mi Piace

Quindi l’intera cosa potrebbe essere adattata a un po’ di javascript che posizionerebbe un normale link per partecipare alla discussione sotto l’articolo su un sito WordPress. Per prima cosa, lo javascript chiamerebbe una funzione (crea thread su Discourse, cosa che il plugin WP fa già) e mostrerebbe all’utente che un thread viene creato, e quando lo javascript ottiene le informazioni da Discourse che il thread è stato creato, reindirizzerebbe l’utente al thread dei commenti su Discourse.

È corretto, o lo sto immaginando troppo semplicemente? :slight_smile:

Sarebbe più semplice non reindirizzare automaticamente l’utente, ma sì, quello che hai delineato è corretto. Dopo che l’utente fa clic sul link per generare l’argomento, lo script effettuerà richieste periodiche per ottenere l’URL dell’argomento dal server WordPress. Una volta ottenuto l’URL, reindirizzerebbe l’utente all’argomento Discourse.

2 Mi Piace