Ho appena messo in piedi un nuovo forum Discourse, ma ho ricevuto una domanda da un membro per cui non riesco a trovare una soluzione. La community si sta spostando da un altro forum, e su quel software è possibile ottenere un URL per un argomento che ti porta al punto più recentemente letto, che le persone spesso salvano nei preferiti del browser. Non sono riuscito a individuare come fare lo stesso su Discourse; qualcuno ha qualche idea?
Temo di no. L’URL a cui vieni reindirizzato quando clicchi su un argomento nell’elenco degli argomenti è specifico per la posizione in cui stavi leggendo l’ultima volta, non un URL che dice “portami dove ero l’ultima volta”. Quindi, se lo aggiungi ai preferiti, leggi ulteriormente l’argomento e poi torni a quel segnalibro, verrai portato allo stesso punto in cui eri arrivato inizialmente, non dove hai interrotto più recentemente. Cerco un URL generico “dove ero l’ultima volta per questo argomento” che possa essere salvato nel browser e continui a funzionare indipendentemente da quanto dell’argomento viene letto.
Ma quel segnalino non registra il punto specifico nel topic? Quindi dovrebbero aggiungere esplicitamente un nuovo segnalino prima di allontanarsi ogni singola volta, giusto?
Per quanto ne so, Discourse non memorizza l’ultimo argomento visitato, ma memorizza il timestamp dell’ultima visita per ogni argomento (topic_users.last_visited_at), quindi dovrebbe essere possibile trovare l’ultimo argomento visitato e mostrarlo. Tuttavia, ciò richiederà un plugin o un widget esterno che chiami l’API di Discourse.
Il materiale seguente è fornito solo per completezza su questo argomento.
Come già detto, la soluzione più vicina a ciò che desideri è utilizzare i segnalibri:
Segnalina un argomento. Il segnalibro ti riporterà al primo post, a meno che tu non abbia già letto l’intero argomento, nel qual caso sarai all’ultimo post. Tuttavia, la timeline può mostrare un pulsante indietro per consentirti di tornare all’ultimo post letto in quell’argomento: vedi il lato destro di questo screenshot:
Come hai giustamente notato, i segnalibri presentano due limiti per il tuo scopo:
I segnalibri richiedono normalmente un’azione dell’utente per essere impostati, a meno che non vengano creati da un plugin o da altro software.
I segnalibri restituiscono sempre all’argomento specifico (cioè il primo post) o al post specifico selezionato dall’utente. Non esiste un’opzione per avere un segnalibro che restituisca a un argomento o a un post determinati dal software al momento dell’accesso al segnalibro.
L’URL di cui parli può sempre portare all’ultimo post letto perché il software del forum memorizza automaticamente quei dati. Questo è utile perché non sappiamo sempre quando interromperemo la lettura nel forum: può essere interrotta da un riavvio del sistema, dal logout di un utente di sistema o di un’applicazione, o da un arresto anomalo imprevisto.
Discourse non ha un’opzione per tornare all’ultimo post visualizzato, ma penso che sarebbe una funzionalità utile.
P.S.
Tuttavia, Discourse dispone di una funzionalità che mostra quali argomenti hai visualizzato durante la tua ultima visita, anche nei Segnalibri, il che aiuta a indicare quale argomento potresti aver guardato per ultimo:
Grazie per quella risposta dettagliata, molto gentile da parte tua, anche se alla fine risulta che al momento non esiste un modo per fare ciò che vorremmo.
Infatti. È fastidioso, non avendo mai programmato in Ruby, non potrei provarci io stesso. Immagino che potrebbe essere troppo lavoro, dato che le liste degli argomenti determinano qual è l’ultimo post letto in un argomento e generano un URL pertinente, quindi si potrebbe creare un nuovo URL, come t/titolo-argomento/133114/latest, che poi reindirizza al posto giusto.
Riguardo al PS, hmm, ci darò un’occhiata. Il punto è che abbiamo numerosi argomenti che si estendono per letteralmente centinaia di post, e potresti non aver consultato specifici argomenti da alcune settimane o più, per poi volerli riesaminare e poter accedervi direttamente tramite un segnalibro del browser.
Ma allora l’URL è utile solo per un singolo argomento.
La visualizzazione Più recenti, invece, è perfetta per questo scenario, poiché tutti i numerosi argomenti con modifiche o nuovi post dall’ultima visita appariranno sopra la linea dell’ultima visita.
Stavi ancora dicendo che l’utente vuole tornare all’ultima conversazione che stava leggendo o tenendo durante la sua ultima visita, anche se quell’argomento non ha subito modifiche.
Questa è la funzione di ripresa automatica che mi piacerebbe avere, ma non vedo la squadra di Discourse disposta ad adottarla.
Non esattamente, non credo. Ci saranno molti argomenti diversi che le persone seguiranno. All’interno di una specifica categoria del forum, ci sono dozzine e dozzine di discussioni a lungo termine, centinaia e centinaia di argomenti, molti dei quali seguiti da numerose persone. E ovviamente a loro piace entrare, leggere molti post, ma forse non fino alla fine, per poi tornare più tardi a leggere altri. E alcune persone amano segnare questi argomenti nei preferiti del browser.
Penso che la scheda dei segnalibri possa essere comunque un’alternativa ragionevole, dato che avevi ragione: quella vista sembra effettivamente riportarti al punto in cui avevi interrotto la lettura e può essere filtrata anche per categoria.
Dato che il PS nella tua risposta dettagliata sembra essere la soluzione, selezionerò quel post come soluzione. Era comunque un ottimo post, a essere sinceri, davvero informativo.