URL para a última posição de leitura interrompida?

Oi,

Acabei de colocar um novo fórum Discourse no ar, mas recebi uma pergunta de um membro da qual não consigo encontrar a solução. A comunidade está migrando de outro fórum, e naquela plataforma é possível obter uma URL de um tópico que leva ao ponto mais recentemente lido, o que as pessoas costumam salvar nos favoritos do navegador. No entanto, não consegui identificar como fazer isso no Discourse. Alguém tem alguma ideia?

Obrigado,

Jody

O Discourse faz isso automaticamente para mim. Quando clico em um tópico, ele me leva para onde eu estava lendo pela última vez. É disso que você está falando? :thinking:

Tenho medo que não. A URL para a qual você é levado ao clicar em um tópico na lista de tópicos é específica do local onde você estava lendo pela última vez, e não uma URL que diga “leve-me ao último local visitado”. Portanto, se você marcar essa URL como favorito, visualizar mais partes do tópico e depois retornar a esse favorito, ela o levará ao mesmo local original, e não ao ponto onde você parou mais recentemente. Estou procurando uma URL genérica do tipo “onde parei neste tópico” que possa ser salva no navegador e continue funcionando, independentemente de quanto do tópico já tenha sido lido.

Eles podem marcar tópicos com os favoritos usando o seguinte:

E o carimbo de data/hora em cada resposta inclui um link para a postagem específica.

Mas esse bookmark não registra o ponto específico no tópico? Então, eles teriam que adicionar explicitamente um novo bookmark antes de sair cada vez, certo?

Não, não armazena, e sim, eles poderiam.

Até onde sei, o Discourse não armazena o último tópico visitado, mas registra o carimbo de data/hora da última visita para cada tópico (topic_users.last_visited_at), então seria possível encontrar o último tópico visitado e exibi-lo. No entanto, isso exigiria um plug-in ou um widget externo que chame a API do Discourse.

O material a seguir está incluído apenas para completar o tópico.

Como já mencionado, a solução mais próxima do que você deseja é usar os favoritos:

Como você mesmo apontou, os favoritos têm duas limitações para o seu propósito:

  • Os favoritos normalmente exigem ação do usuário para serem definidos, a menos que um plug-in ou outro software seja usado para criá-los.

  • Os favoritos sempre retornam ao tópico específico (ou seja, ao primeiro post) ou ao post específico selecionado pelo usuário. Não há opção de ter um favorito que retorne a um tópico ou post determinado pelo software no momento em que o favorito é acessado.

A URL sobre a qual você está falando sempre pode exibir o último post lido, pois o software do fórum armazena automaticamente esses dados. Isso é útil porque nem sempre sabemos quando vamos parar de ler no fórum — a leitura pode ser interrompida por uma reinicialização do sistema, um logout do usuário do sistema ou do aplicativo, ou uma falha inesperada.

O Discourse não tem uma opção para retornar ao último post visualizado, mas acho que seria um recurso útil.

P.S.
No entanto, o Discourse possui um recurso que mostra quais tópicos você visualizou em sua última visita, mesmo na seção de Favoritos, o que ajuda a indicar qual tópico você pode ter visualizado por último:

Outros já exploraram a extração dos dados da última visita, por exemplo:

Obrigado pela resposta detalhada, foi muito útil da sua parte, mesmo que o resultado final seja, de fato, que atualmente não há como fazer o que gostaríamos.

Com certeza. É irritante que eu nunca tenha programado em Ruby, senão eu mesmo tentaria. Estou imaginando que possa ser muito trabalho, já que as listas de tópicos identificam qual foi a última postagem lida em um tópico e geram uma URL relevante, então seria possível ter uma nova URL, como t/titulo-do-topico/133114/latest, que redirecionaria para o local correto.

Sobre o PS, hmm, vou dar uma olhada. O ponto é que temos diversos tópicos que podem chegar literalmente a centenas de posts, e você pode não ter verificado tópicos específicos há algumas semanas ou mais, e depois querer dar outra olhada, conseguindo acessar diretamente a partir de um marcador do navegador.

Mas, nesse caso, a URL só é útil para um único tópico.

Já a visualização Mais Recentes é perfeita para esse cenário, pois todos os inúmeros tópicos com edições ou novas postagens desde a última visita aparecerão acima da linha da última visita.

Bem, sim, mas podem ter mudado 40, 50 ou mais tópicos desde a última vez que você entrou :slight_smile:

Desculpe, li sua resposta anterior de forma equivocada.

Você ainda estava dizendo que o usuário deseja retornar à última conversa que estava lendo ou tendo na sua última visita, mesmo que esse tópico não tenha sofrido alterações.

Essa é a funcionalidade de retomada automática que eu gostaria, mas não vejo a equipe do Discourse adotando-a.

Não exatamente, eu acho. Haverá muitos tópicos diferentes que as pessoas vão acompanhar. Dentro de uma categoria específica do fórum, há dezenas e dezenas de tópicos de longo prazo, com centenas e centenas de postagens, dos quais muitas pessoas seguem vários. E elas obviamente gostam de entrar, ler uma quantidade de postagens, mas talvez não até o final, e depois voltar mais tarde para ler mais. E algumas pessoas gostam de salvar esses tópicos nos favoritos do navegador.

Acho que a aba de favoritos pode ser uma alternativa razoável, já que você estava correto: essa visualização realmente leva você ao ponto em que parou e também pode ser filtrada por categoria.

Obrigado.

Enquanto isso, eu orientaria o usuário para /unread; normalmente, eu configuro minha página inicial para a página de não lidos. :slight_smile:

Como o PS na sua resposta detalhada parece ser a solução, vou selecionar esse post como a solução. Foi um ótimo post, mesmo sem isso, na verdade, muito informativo.

Obrigado pelo incentivo, pois estou tentando intencionalmente criar mais posts úteis cobrindo as opções.