URL vers la dernière position de lecture arrêtée ?

Bonjour,

Je viens de mettre en place un nouveau forum Discourse, qui fonctionne bien, mais un membre m’a posé une question dont je ne parviens pas à trouver la solution. La communauté migre depuis un autre forum où il est possible d’obtenir une URL vers un sujet qui vous amène directement au dernier point lu, ce que les utilisateurs ont souvent tendance à enregistrer dans leurs favoris. Je n’ai pas réussi à trouver comment faire cela sur Discourse. Quelqu’un aurait-il une idée ?

Merci,

Jody

Discourse fait cela automatiquement pour moi. Quand je clique sur un sujet, il m’emmène là où j’avais arrêté de lire. Est-ce de cela que tu parles ? :thinking:

Je crains que non. L’URL vers laquelle vous êtes redirigé lorsque vous cliquez sur un sujet dans la liste des sujets est spécifique à l’endroit où vous lisez pour la dernière fois, et non une URL indiquant « emmenez-moi là où j’étais ». Ainsi, si vous signalez cette URL, puis que vous continuez à lire le sujet, et que vous revenez ensuite à ce signet, il vous mènera au même endroit que lors de votre première visite, et non à l’endroit où vous avez laissé le sujet le plus récemment. Je cherche une URL générique du type « où j’en étais pour ce sujet » qui puisse être stockée dans le navigateur et qui continuera de fonctionner, quelle que soit la quantité de contenu du sujet déjà lu.

Ils peuvent ajouter des sujets aux favoris en utilisant ce qui suit :

Et l’horodatage de chaque réponse inclut un lien vers le message spécifique.

Mais ce signet ne devrait-il pas enregistrer le point précis dans le sujet ? Donc, ils devraient explicitement ajouter un nouveau signet avant de partir, à chaque fois, n’est-ce pas ?

Non, ce n’est pas le cas, et oui, ils le feraient.

À ma connaissance, Discourse ne stocke pas le dernier sujet visité, mais il enregistre bien l’horodatage de la dernière visite pour chaque sujet (topic_users.last_visited_at). Il devrait donc être possible de retrouver le dernier sujet visité et de l’afficher. Cependant, cela nécessitera un plug-in ou un widget externe qui interroge l’API de Discourse.

Ce qui suit est fourni uniquement pour compléter le sujet.

Comme déjà mentionné, ce qui se rapproche le plus de ce que vous souhaitez, c’est d’utiliser les signets :

Comme vous l’avez souligné, les signets présentent deux limites pour votre usage :

  • Les signets nécessitent généralement une action de l’utilisateur pour être créés, sauf si un plug-in ou un autre logiciel est utilisé pour les générer automatiquement.

  • Les signets ramènent toujours au sujet spécifique (c’est-à-dire au premier message) ou au message spécifique sélectionné par l’utilisateur. Il n’existe aucune option pour créer un signet qui renvoie vers un sujet ou un message déterminé par le logiciel au moment de l’accès au signet.

L’URL dont vous parlez peut toujours afficher le dernier message lu, car le logiciel du forum stocke automatiquement cette information. Cela est utile car nous ne savons pas toujours quand nous arrêterons de lire sur le forum — cela peut être interrompu par un redémarrage du système, une déconnexion de l’utilisateur système ou de l’utilisateur de l’application, ou un crash inattendu.

Discourse n’offre pas d’option pour revenir au dernier message consulté, mais je pense que ce serait une fonctionnalité utile.

P.S.
Cependant, Discourse dispose d’une fonctionnalité qui vous montre les sujets consultés lors de votre dernière visite, même dans les signets, ce qui aide à identifier le sujet que vous avez probablement consulté en dernier :

D’autres personnes ont exploré l’extraction des données de dernière visite, par exemple :

Merci pour cette réponse détaillée, vraiment utile de ta part, même si le résultat final est effectivement qu’il n’existe actuellement aucun moyen de faire ce que nous souhaitons.

En effet. C’est ennuyeux, je n’ai jamais codé en Ruby, sinon j’essaierais moi-même. Je suppose que cela pourrait être trop de travail, car les listes de sujets déterminent quel est le dernier message lu dans un sujet et génèrent une URL pertinente. On pourrait donc avoir une nouvelle URL, comme t/titre-du-sujet/133114/latest, qui redirigerait ensuite vers le bon endroit.

Concernant le PS, hmm, je vais jeter un coup d’œil. Le problème, c’est que nous avons de nombreux sujets qui s’étendent sur littéralement des centaines de messages, et vous n’avez peut-être pas consulté des sujets spécifiques depuis plusieurs semaines ou plus, puis souhaitez y revenir et pouvoir y accéder directement depuis un signet de navigateur.

Mais alors, l’URL n’est utile que pour un seul sujet.

Alors que la vue « Derniers » est parfaite pour ce scénario, car tous les nombreux sujets avec des modifications ou de nouveaux messages depuis la dernière visite apparaîtront au-dessus de la ligne de la dernière visite.

Eh bien, oui, mais il pourrait y avoir eu 40 à 50 sujets, voire plus, qui ont changé depuis la dernière fois où tu y es allé :slight_smile:

Désolé, j’ai mal lu votre réponse précédente.

Vous disiez toujours que l’utilisateur souhaite revenir à la dernière conversation qu’il lisait ou dans laquelle il participait lors de sa dernière visite, même si ce sujet n’a subi aucune modification.

C’est la fonction de reprise automatique que je souhaiterais, mais je ne vois pas l’équipe Discourse l’adopter.

Pas exactement, je ne pense pas. Il y aura de nombreux sujets différents que les gens suivront. Au sein d’une catégorie spécifique du forum, il existe des dizaines, voire des centaines de sujets de discussion à long terme, dont beaucoup de gens suivent un grand nombre. Et ils aiment évidemment passer, lire un tas de messages, mais pas nécessairement jusqu’au bout, pour revenir plus tard en lire d’autres. Et certaines personnes aiment ajouter ces sujets à leurs favoris dans leur navigateur.

Je pense que l’onglet Favoris pourrait être une alternative raisonnable, car vous aviez raison : cette vue vous emmène effectivement là où vous vous étiez arrêté et peut également être filtrée par catégorie.

Merci.

En attendant, je dirigerais l’utilisateur vers /unread ; je configure habituellement ma page d’accueil sur la page des messages non lus. :slight_smile:

Puisque le PS de votre réponse détaillée semble être la solution, je vais sélectionner ce message comme solution. C’était un excellent message de toute façon, vraiment instructif.

Merci pour l’encouragement alors que j’essaie intentionnellement de créer plus de posts utiles en couvrant les options.