Je suppose que je suis d'accord. Pour rebondir sur une question que Darks, a posé sur la shoutbox, mon avis personnel serait de trier les notifications avec les récentes en haut - mais la meilleure option serait d'ajouter un bouton pour inverser l'ordre en Javascript.
Pour la suppression, j'aurait dit manuellement, avec un bouton ok/done et une option pour supprimer certains types de notifs (eg. nouveau MP) automatiquement sur certains événements (eg. MP lu), selon les goûts.
Je suppose que je suis d'accord. Pour rebondir sur une question que Darks, a posé sur la shoutbox, mon avis personnel serait de trier les notifications avec les récentes en haut - mais la meilleure option serait d'ajouter un bouton pour inverser l'ordre en Javascript.
Pour la suppression, j'aurait dit manuellement, avec un bouton ok/done et une option pour supprimer certains types de notifs (eg. nouveau MP) automatiquement sur certains événements (eg. MP lu), selon les goûts.
chaque notif a un attribut read. Par défaut il est bien évidemment à False
si la notif possède un attribut href, lorsque l'on clique sur le lien dans le panel des notifs l'attribut read passe à True
dans le panel des notifs, on a un beau tableau avec trois colonnes :
marquer comme lu (action rapide)
supprimer (action rapide)
sélectionner (checkbox)
en haut deux boutons
marquer comme lu les notifs sélectionnées
supprimer les notifs sélectionnées
En Javascript, trois boutons :
trier par ordre desc/asc
afficher/masquer les notifications lues
tout sélectionner
Je propose le système suivant :
- chaque notif a un attribut `read`. Par défaut il est bien évidemment à `False`
- si la notif possède un attribut `href`, lorsque l'on clique sur le lien dans le panel des notifs l'attribut `read` passe à `True`
- dans le panel des notifs, on a un beau tableau avec trois colonnes :
- marquer comme lu (action rapide)
- supprimer (action rapide)
- sélectionner (checkbox)
- en haut deux boutons
- marquer comme lu les notifs sélectionnées
- supprimer les notifs sélectionnées
En Javascript, trois boutons :
- trier par ordre desc/asc
- afficher/masquer les notifications lues
- tout sélectionner
Vite fait : je suggère url comme l'attribut plutôt que href (fait très HTML).
Un paramètre pour supprimer automatiquement les notifications lues ? Ou alors un paramètre pour supprimer automatiquement les notifications avec un lien quand elles sont visitées ?
Ce qui est con là c'est que la base de données va grandir vite si les utilisateurs ne font rien, je me trompe ?
À part ce détail, j'achète.
Vite fait : je suggère `url` comme l'attribut plutôt que `href` (fait très HTML).
Un paramètre pour supprimer automatiquement les notifications lues ? Ou alors un paramètre pour supprimer automatiquement les notifications avec un lien quand elles sont visitées ?
Ce qui est con là c'est que la base de données va grandir vite si les utilisateurs ne font rien, je me trompe ?
À part ce détail, j'achète.
Je me demande quelles solutions utilisent d'autres sites. Je veux dire, beaucoup stockent ces notifications à vie pour chaque utilisateur sans problème.
Je me demande quelles solutions utilisent d'autres sites. Je veux dire, beaucoup stockent ces notifications à vie pour chaque utilisateur sans problème.
En vrai je crois pas que le risque d'exploser la base soit si grand. Mais j'ai des doutes avec le risque que les comptes inactifs accumulent des notifs'. Avec 10'000 comptes inactifs ça irait très vite. Faut au moins contrôler ça asymptotiquement 😉
En vrai je crois pas que le risque d'exploser la base soit si grand. Mais j'ai des doutes avec le risque que les comptes inactifs accumulent des notifs'. Avec 10'000 comptes inactifs ça irait très vite. Faut au moins contrôler ça asymptotiquement :wink:
Encore faut-il que ces comptes inactifs reçoivent des notifs. Si ils ne sont pas abonnés à des topics ça limite la casse. Et je doute qu'on s'amuse à mentionner en boucle un utilisateur inactif. Et au pire y'a le ménage semestriel qui est fait 😉
> avec 10’000 comptes inactifs ça irait très vite
Encore faut-il que ces comptes inactifs reçoivent des notifs. Si ils ne sont pas abonnés à des topics ça limite la casse. Et je doute qu'on s'amuse à mentionner en boucle un utilisateur inactif. Et au pire y'a le ménage semestriel qui est fait :wink:
Si tu as un "ménage semestriel" alors asymptotiquement tu es bloqué sur une quantité constante de notifs (en supposant que le débit est borné), ce qui me va.
Pour un scénario catastrophe, supposons qu'un membre active le suivi automatique des topics dans lesquels ils participent. Ça peut vite faire 10, 20, 100 pour un utilisateur actif sur une période. Lorsque cet utilisateur devient inactif, les topics de projets qui le restent souvent très longtemps vont continuer à générer des notifications ad vitam eternam.
Plusieurs solutions se présentent, que je suggère pour animer un peu la conversation :
Une seule notification par topic suivi, indiquant le plus vieux message non lu, au lieu d'une notification par message posté dans un topic suivi
Supprimer automatiquement les notifications après une durée fixée (eg. 6 mois)
Ne plus notifier les utilisateurs inactifs depuis plus d'une certaine durée
Désuivre automatiquement les sujets qui ont été suivis automatiquement en raison d'un post mais dans lesquels l'utilisateur n'a plus posté depuis une certaine durée
Voire d'autres, vous n'en douterez pas...
Si tu as un "ménage semestriel" alors asymptotiquement tu es bloqué sur une quantité constante de notifs (en supposant que le débit est borné), ce qui me va.
Pour un scénario catastrophe, supposons qu'un membre active le suivi automatique des topics dans lesquels ils participent. Ça peut vite faire 10, 20, 100 pour un utilisateur actif sur une période. Lorsque cet utilisateur devient inactif, les topics de projets qui le restent souvent très longtemps vont continuer à générer des notifications ad vitam eternam.
Plusieurs solutions se présentent, que je suggère pour animer un peu la conversation :
* Une seule notification par topic suivi, indiquant le plus vieux message non lu, au lieu d'une notification par message posté dans un topic suivi
* Supprimer automatiquement les notifications après une durée fixée (eg. 6 mois)
* Ne plus notifier les utilisateurs inactifs depuis plus d'une certaine durée
* Désuivre automatiquement les sujets qui ont été suivis automatiquement en raison d'un post mais dans lesquels l'utilisateur n'a plus posté depuis une certaine durée
* Voire d'autres, vous n'en douterez pas...
Lorsque cet utilisateur devient inactif, les topics de projets qui le restent souvent très longtemps vont continuer à générer des notifications ad vitam eternam.
J'étais curieux, du coup sur la v42, ces 6 derniers mois :
92 topics de plus de 6 mois ont été remontés via 1234 messages
Sur ces 92, 55 topics de plus de 2 ans ont été remontés via 956 messages
Sur ces 55, 32 topics de plus de 5 ans ont été remontés via 379 messages
Je mets les requêtes SQL pour que tu puisse reproduire.
SELECT COUNT(*) FROM pc_fr_topics WHERE date < 1553471531 AND date_verif >= 1553471531 et SELECT COUNT(*) FROM pc_fr_forums INNER JOIN pc_fr_topics ON pc_fr_topics.id = pc_fr_forums.reponse_id WHERE pc_fr_topics.date < 1553471531 AND pc_fr_forums.date >= 1553471531
SELECT COUNT(*) FROM pc_fr_topics WHERE date < 1504569600 AND date_verif >= 1553471531 et SELECT COUNT(*) FROM pc_fr_forums INNER JOIN pc_fr_topics ON pc_fr_topics.id = pc_fr_forums.reponse_id WHERE pc_fr_topics.date < 1504569600 AND pc_fr_forums.date >= 1553471531
SELECT COUNT(*) FROM pc_fr_topics WHERE date < 1409875200 AND date_verif >= 1553471531 et SELECT COUNT(*) FROM pc_fr_forums INNER JOIN pc_fr_topics ON pc_fr_topics.id = pc_fr_forums.reponse_id WHERE pc_fr_topics.date < 1409875200 AND pc_fr_forums.date >= 1553471531
Finalement je trouve que c'est pas tant que ça. On parle quand même d'activité sur 6 mois entiers…
Après ça n'empêche pas de trouver une solution satisfaisante pour faire le ménage, mais on est peut-être pas obligés de le faire de manière drastique.
> Lorsque cet utilisateur devient inactif, les topics de projets qui le restent souvent très longtemps vont continuer à générer des notifications ad vitam eternam.
J'étais curieux, du coup sur la v42, ces 6 derniers mois :
1. 92 topics de plus de 6 mois ont été remontés via 1234 messages
2. Sur ces 92, 55 topics de plus de 2 ans ont été remontés via 956 messages
3. Sur ces 55, 32 topics de plus de 5 ans ont été remontés via 379 messages
Je mets les requêtes SQL pour que tu puisse reproduire.
1. `SELECT COUNT(*) FROM pc_fr_topics WHERE date < 1553471531 AND date_verif >= 1553471531` et `SELECT COUNT(*) FROM pc_fr_forums INNER JOIN pc_fr_topics ON pc_fr_topics.id = pc_fr_forums.reponse_id WHERE pc_fr_topics.date < 1553471531 AND pc_fr_forums.date >= 1553471531`
2. `SELECT COUNT(*) FROM pc_fr_topics WHERE date < 1504569600 AND date_verif >= 1553471531` et `SELECT COUNT(*) FROM pc_fr_forums INNER JOIN pc_fr_topics ON pc_fr_topics.id = pc_fr_forums.reponse_id WHERE pc_fr_topics.date < 1504569600 AND pc_fr_forums.date >= 1553471531`
3. `SELECT COUNT(*) FROM pc_fr_topics WHERE date < 1409875200 AND date_verif >= 1553471531` et `SELECT COUNT(*) FROM pc_fr_forums INNER JOIN pc_fr_topics ON pc_fr_topics.id = pc_fr_forums.reponse_id WHERE pc_fr_topics.date < 1409875200 AND pc_fr_forums.date >= 1553471531`
Finalement je trouve que c'est pas tant que ça. On parle quand même d'activité sur 6 mois entiers…
Après ça n'empêche pas de trouver une solution satisfaisante pour faire le ménage, mais on est peut-être pas obligés de le faire de manière drastique.
Je lie ce topic pour ne pas le perdre de vue quand j'implémenterai les notifs.
https://www.planet-casio.com/Fr/forums/topic15828-1--RFC---v5--Systeme-de-notifications.html
Il pourrait être intéressant de conserver les notifications lues, au moins un certain temps. Histoire de pouvoir retrouver certaines infos facilement.
Je suppose que je suis d'accord. Pour rebondir sur une question que Darks, a posé sur la shoutbox, mon avis personnel serait de trier les notifications avec les récentes en haut - mais la meilleure option serait d'ajouter un bouton pour inverser l'ordre en Javascript.
Pour la suppression, j'aurait dit manuellement, avec un bouton ok/done et une option pour supprimer certains types de notifs (eg. nouveau MP) automatiquement sur certains événements (eg. MP lu), selon les goûts.
Je propose le système suivant :
read
. Par défaut il est bien évidemment àFalse
href
, lorsque l'on clique sur le lien dans le panel des notifs l'attributread
passe àTrue
En Javascript, trois boutons :
Vite fait : je suggère
url
comme l'attribut plutôt quehref
(fait très HTML).Un paramètre pour supprimer automatiquement les notifications lues ? Ou alors un paramètre pour supprimer automatiquement les notifications avec un lien quand elles sont visitées ?
Ce qui est con là c'est que la base de données va grandir vite si les utilisateurs ne font rien, je me trompe ?
À part ce détail, j'achète.
Je me demande quelles solutions utilisent d'autres sites. Je veux dire, beaucoup stockent ces notifications à vie pour chaque utilisateur sans problème.
En vrai je crois pas que le risque d'exploser la base soit si grand. Mais j'ai des doutes avec le risque que les comptes inactifs accumulent des notifs'. Avec 10'000 comptes inactifs ça irait très vite. Faut au moins contrôler ça asymptotiquement 😉
Encore faut-il que ces comptes inactifs reçoivent des notifs. Si ils ne sont pas abonnés à des topics ça limite la casse. Et je doute qu'on s'amuse à mentionner en boucle un utilisateur inactif. Et au pire y'a le ménage semestriel qui est fait 😉
Si tu as un "ménage semestriel" alors asymptotiquement tu es bloqué sur une quantité constante de notifs (en supposant que le débit est borné), ce qui me va.
Pour un scénario catastrophe, supposons qu'un membre active le suivi automatique des topics dans lesquels ils participent. Ça peut vite faire 10, 20, 100 pour un utilisateur actif sur une période. Lorsque cet utilisateur devient inactif, les topics de projets qui le restent souvent très longtemps vont continuer à générer des notifications ad vitam eternam.
Plusieurs solutions se présentent, que je suggère pour animer un peu la conversation :
J'étais curieux, du coup sur la v42, ces 6 derniers mois :
Je mets les requêtes SQL pour que tu puisse reproduire.
SELECT COUNT(*) FROM pc_fr_topics WHERE date < 1553471531 AND date_verif >= 1553471531
etSELECT COUNT(*) FROM pc_fr_forums INNER JOIN pc_fr_topics ON pc_fr_topics.id = pc_fr_forums.reponse_id WHERE pc_fr_topics.date < 1553471531 AND pc_fr_forums.date >= 1553471531
SELECT COUNT(*) FROM pc_fr_topics WHERE date < 1504569600 AND date_verif >= 1553471531
etSELECT COUNT(*) FROM pc_fr_forums INNER JOIN pc_fr_topics ON pc_fr_topics.id = pc_fr_forums.reponse_id WHERE pc_fr_topics.date < 1504569600 AND pc_fr_forums.date >= 1553471531
SELECT COUNT(*) FROM pc_fr_topics WHERE date < 1409875200 AND date_verif >= 1553471531
etSELECT COUNT(*) FROM pc_fr_forums INNER JOIN pc_fr_topics ON pc_fr_topics.id = pc_fr_forums.reponse_id WHERE pc_fr_topics.date < 1409875200 AND pc_fr_forums.date >= 1553471531
Finalement je trouve que c'est pas tant que ça. On parle quand même d'activité sur 6 mois entiers…
Après ça n'empêche pas de trouver une solution satisfaisante pour faire le ménage, mais on est peut-être pas obligés de le faire de manière drastique.
On n'aura qu'à voir plus tard quand on sera en prod'. On a panneau admin pour ça. ^^
Je lie ce topic pour ne pas le perdre de vue quand j'implémenterai les notifs.
https://www.planet-casio.com/Fr/forums/topic15828-1--RFC---v5--Systeme-de-notifications.html