Créer un pipeline pour détecter la révision d'un objet #4835

Closed
opened 6 months ago by touti · 5 comments
touti commented 6 months ago
Owner

Ce serait bien d'avoir un pipeline pour détecter la révision d'un objet.

Le système de révision est plus malin que "post_edition -> modifier" car révision attend un certain interval avant d'enregistrer les modifs d'un auteur.

define('_INTERVALLE_REVISIONS', 600);

Pour détecter la révision d'un objet plutot qu'une "modification" je ne vois pas de pipeline qui puisse l'indiquer.
Mon but étant (il peut y en avoir d'autres) d'envoyer une notification lorsqu'un objet est modifié, mais pas juste pour une virgule :) et pas non plus 10 fois de suite dans les 5 minutes !

Merci!

Ce serait bien d'avoir un pipeline pour détecter la révision d'un objet. Le système de révision est plus malin que "post_edition -> modifier" car révision attend un certain interval avant d'enregistrer les modifs d'un auteur. >`define('_INTERVALLE_REVISIONS', 600);` Pour détecter la révision d'un objet plutot qu'une "modification" je ne vois pas de pipeline qui puisse l'indiquer. Mon but étant (il peut y en avoir d'autres) d'envoyer une notification lorsqu'un objet est modifié, mais pas juste pour une virgule :) et pas non plus 10 fois de suite dans les 5 minutes ! Merci!
b_b added the
amélioration
label 6 months ago
b_b added this to the spip-4.2 milestone 6 months ago
Owner

En fait le plugin enregistre les révisions à chaque post_edition
https://git.spip.net/spip/revisions/src/branch/master/revisions_pipeline.php#L278

simplement si il voit que la dernière révision date de moins de 600s (_INTERVALLE_REVISIONS) il fusionne la nouvelle révision avec la dernière et ainsi de suite.

Il n'y a donc pas d'autre évènement que le post_edition

Je suppose que pour ton besoin, il faut te brancher sur post_edition et programmer la notification pour "dans 600s", avec un argument $no_duplicate=true pour avoir une seule notification même en cas de modifications multiples.

En fait le plugin enregistre les révisions à chaque `post_edition` https://git.spip.net/spip/revisions/src/branch/master/revisions_pipeline.php#L278 simplement si il voit que la dernière révision date de moins de 600s (`_INTERVALLE_REVISIONS`) il fusionne la nouvelle révision avec la dernière et ainsi de suite. Il n'y a donc pas d'autre évènement que le `post_edition` Je suppose que pour ton besoin, il faut te brancher sur `post_edition` et programmer la notification pour "dans 600s", avec un argument `$no_duplicate=true` pour avoir une seule notification même en cas de modifications multiples.

Ah oui en utilisant la même variable, et si ya une nouvelle modification dans l'intervalle, ça reprogramme la notif pour plus tard de nouveau aussi… je pense pas assez à ce no_duplicate pour les jobs

Ah oui en utilisant la même variable, et si ya une nouvelle modification dans l'intervalle, ça reprogramme la notif pour plus tard de nouveau aussi… je pense pas assez à ce no_duplicate pour les jobs
Owner

@touti est-ce que ça répond à ton besoin ? Peut-on considérer qu'il n'y a pas besoin d'ajouter de pipeline ?

@touti est-ce que ça répond à ton besoin ? Peut-on considérer qu'il n'y a pas besoin d'ajouter de pipeline ?
Poster
Owner

Oui b_b, on peut fermer.

En lisant le code j'ai pigé ce système de remplacement des révisions, donc un pipeline ne pourrait rien y faire.

Je vais chercher ce $no_duplicate=true du job, si info je suis preneuse.

Oui b_b, on peut fermer. En lisant le code j'ai pigé ce système de remplacement des révisions, donc un pipeline ne pourrait rien y faire. Je vais chercher ce $no_duplicate=true du job, si info je suis preneuse.
b_b added the
refusé
label 6 months ago
Owner

Super, merci pour le retour :)

Super, merci pour le retour :)
b_b closed this issue 6 months ago
Sign in to join this conversation.
No Milestone
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.