-
-
Notifications
You must be signed in to change notification settings - Fork 785
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Opinions sur le classement par date ? #344
Comments
Je pense qu'il faut conserver l'ordre par date de publication et non de réception, sauf dans le cas où la date de publication est indéfinie. C'est plus logique. Le « marquer tout comme lu » (et ses acolytes “antérieur à x jours”) pourraient quant à eux se baser sur la date de réception, pour éviter de marquer comme lu des flux non reçus avant, ou sur la date de publication, pour éviter une trop grosse différence avec la réalité en cas de mise à jour occasionnelle – ce point en option, active pour ceux qui ont un cron et inactive pour les autres. Je pense personnellement que c'est la meilleure solution. Mais ce n'est que mon avis. |
Quelques infos de plus. J'ai oublié de mentionner que la pagination (division des articles provenant de la base de données en plusieurs pages) est simple et rapide dans le cas actuel (date d'insertion dans la base), alors qu'elle est pas mal plus lente et bien plus compliquée un utilisant la date déclarée qui n'est pas unique, entre autres inconvénients. Un cas extrême pour se représenter le problème principal est lorsque nous avons 10000 articles en base de données, tous avec la même date déclarée. Il faut toujours faire la pagination. Cela se fait par exemple en concaténant la date déclarée à la date d'insertion, pour assurer l'ordre voulu et l'unicité Autre point : Pour les flux utilisant des dates fortement dans le futur (par exemple des annonces d'événements à venir), ces flux restent alors en tête de liste pendant de potentiellement longues périodes. Et les flux utilisant des dates dans le passé disparaissent de l'affichage dès qu'ils ont été lus, si on utilise le tri par date déclarée. Dans le cas d'un tri par ordre d'insertion, combiné à l'utilisation d'un Cron tournant par exemple toutes les heures, la précision du tri est de l'heure. Même des flux grand-public comme Le Monde ont des erreurs de date d'une heure ou plus, et le Cron fait du coup mieux. |
Au lieu de vouloir concaténer les valeurs date et id, tu peux les utiliser directement en faisant un tri sur la première valeur puis sur la seconde, Tu ajoutes un index sur les 2 colonnes dans cet ordre et pour te souvenir de la position, tu utilises l'id qui de toute façon est unique. |
Cela marche mal lorsque par exemple des articles sont ajoutés par le cron, ou marqués comme lus / non-lus dans une autre fenêtre / autre navigateur / API. |
Petit retour après essai. Alors oui, ce nouveau tri peut être intéressant lorsque les flux sont actualisés régulièrement via un cron, mais lorsqu'ils le sont manuellement, franchement je trouve que le tri n'est pas pertinent. Une option résolverai le problème. |
Le problème n'est pas tant de faire une option ou pas. C'est plutôt que le tri par date déclarée ne marche pas tel quel quand on regarde dans les détails, et même après correction des problèmes principaux, l'implémentation correcte et robuste du tri par date déclarée/corrigée est difficile et lourde. Aussi, je cherche des alternatives qui gardent les avantages techniques du tri actuel, tout en limitant le problème décrit par @Bubbendorf. Voici une suggestion d'une telle alternative :
Avantages :
A priori, cela répondrait aux attentes de ceux qui demandent un tri plus proche de la date déclarée (?) Inconvénients :
|
Le développement se fera dans un bug dédié #530 et devrait satisfaire les différents besoins exprimés ici. |
Une implémentation du tri plus naturel est disponible. Tests bienvenus #1470 |
Avec la version 0.7 bêta actuelle #327 , les articles sont triés selon la date de leur insertion dans la base de données, plutôt que la date déclarée par le flux.
Ce nouveau classement par date est particulièrement adapté au rafraîchissement automatique (par Cron), et s’accommode des flux utilisant des dates de publications dans le futur, dans le passé, et indéfinies.
Cela permet aussi de facilement implémenter le "marquer tout comme lu" de manière robuste sans risque de toucher des articles ajoutés en arrière plan par le rafraîchissement automatique. Idem pour la future API de synchronisation.
Je pense que c'est assez proche de ce que font certains services en ligne comme Feedly.
Néanmoins, l'affichage résultant n'est peut être pas optimal pour les utilisateurs rafraîchissant rarement leurs flux.
Est-ce qu'il y a des avis ?
Parmi les pistes d'amélioration, voici quelques idées :
The text was updated successfully, but these errors were encountered: