SPIP et les notifications

Bonjour,
suite à #4753 - Eviter de mettre les notifications dans le traitement en base - forum - SPIP on GIT
ce fil questionne les modalités d’inclusion des appels des notifications pour essayer d’apporter un peu de cohérence.

voici quelques idées

  • répertorier pour évaluer où et comment les appels sont faits suivants les objets
  • sortir les appels aux fonctions de notifications des enregistrements (cf forum insert)
  • faire ces appels proprement depuis le pipeline post_edition
  • permettre de pouvoir choisir qui reçoit avec des fonctions de type qui_auteurs_tous() ou qui_auteurs_objet($objet,$id_objet) ou encore qui_modificateurs_objet($objet,$id_objet) pour retourner des tableaux que l’on peut gérer plus facilement
    On peut imaginer une certaine ressemblance avec l’API d’autorisation

Quels sont vos avis ? Est-ce que je fais fausse route? Est-ce que cela intéresse quelqu’un·e de réfléchir à une autre conception ?

Voila voila, à vous lire !

Je suis plutôt d’accord que les notifs devraient être moins bordéliques avec des appels un peu mieux normalisés.

Le plugin Notifications avancées a pour but de normaliser la manière dont on appelle les notifications (avec un nom normalisé : « objet_description », par ex « article_instituer »), et la manière dont on gère les destinataires, avec toujours l’appel à une fonction destinataires dédiées + en suivant un pipeline éponyme permettant de modifier/compléter la liste.

De plus, en attendant que la nomenclature des appels soit correcte directement dans le noyau, le plugin ajoute ses propres appels normalisés :

En disant bien que ce serait mieux si c’était plus uniforme directement dès le noyau :

Merci de ton retour qui confirme la nécessité de changer de processus.
Pour ton plugin notifications_avancees disons que l’on peut s’en inspirer mais en l’occurence ce n’est pas mon propos.
Je parle vraiment de ce qui se passe en amont dans le core et ça simplifiera carrément de pouvoir se retrouver avec des fonctions d’appel deportées dans un pipeline et non pas mélangées avec les enregistrements.

J’y suis depuis plusieurs jours et c’est un casse tête. J’essaye donc de me concentrer sur le core et simplifier la donne.
La personne qui poste sur un forum est par exemple exclue des envois et ne reçoit rien, parce que le flux des destinataires qui est modifiable certes mais est en amont. Sans parler des exceptions sur les articles et pas sur les autres objets … bref, un gros nettoyage en perspective mais pas si compliqué que ça.

Je veux juste savoir si l’idée est jouable pour ceux et celles qui évaluent mieux le code que moi :slight_smile:

Je viens de regarder tes modifs sur notifications_avancees, effectivement, ça pourrait servir à intégrer les appels plus proprement !