Projet

Général

Profil

Actions

Feature #15410

ouvert

Enrichissement des notifications d’abonnement

Feature #15410: Enrichissement des notifications d’abonnement

Ajouté par Sebastien Vuillet il y a 2 mois. Mis à jour il y a 3 jours.

Statut:
Feedback
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
06/08/2026
Echéance:
% réalisé:

0%

Temps estimé:
Livraison en PROD:

Description

Objectif :

Améliorer l’identification visuelle des contenus dans les notifications générées par les abonnements.

Fonctionnalités :

• Ajouter la vignette (thumbnail) aux notifications d’abonnement. 
• La vignette sera transmise au format Base64.
• L’affichage de cette vignette devra être intégré aux notifications existantes sans modifier leur fonctionnement actuel.

Fichiers


Demandes liées 1 (1 ouverte — 0 fermée)

Lié à Silverpeas Core - Feature #15500: Unifier le mécanisme de notification aux abonnementsIn progress...Miguel Moquillon02/10/2026

Actions

Mis à jour par Miguel Moquillon il y a environ 2 mois Actions #1

  • Statut changé de New à In progress...

Mis à jour par Miguel Moquillon il y a environ 2 mois Actions #2

  • Statut changé de In progress... à Feedback

Après investigation, il s'avère que le corps des notifications d'abonnement aux utilisateurs n'est pas du tout centralisé mais est à la discrétion de chaque application. Aussi, il faut modifier chacun des templates dans chaque application pour ajouter la vignette associé au contenu (lorsqu'il y en a une).

Aussi, dans le cadre de cette évolution qui est demandée par CLAAS, je propose de modifier seulement les modèles de Kmelia et de QuickInfo.
Sinon, et s'il n'y a pas de personnalisation des templates à des clients, il faudrait restructurer le comportement actuel pour centraliser le contenu même des corps des messages des notifications d'abonnement (ce qui va nécessiter plus de temps de dév).

Mis à jour par Miguel Moquillon il y a environ 2 mois · Edité Actions #3

J'ai commencé à modifier les modèles StringTemplate des messages de notification d'abonnement de Kmelia et de QuickInfo pour y insérer dans le HTML la vignette en directe (format data:<image mime type;base64,<image en base64>). Le passage de la vignette aux modèles est quant à lui centralisé dans la classe AbstractTemplateUserNotificationBuilder et ceci aussi bien pour les distribution immédiates que retardées (distribution périodique paramétré par l'utilisateur).

Suite à des tests, l'incorporation directe d'images dans du HTML ne fonctionne pas comme attendu. Après investigations, il s'avère que:
  • pour une distribution dans la boite de notification de Silverpeas :
  • pour des raisons de sécurité, les images incluses directements sont nettoyées par le sanitizer OWASP que l'on utilise,
  • les messages sont persistés et le champs SQL est sous-dimensionné pour un contenu comportant au moins une image en directe.
  • pour une distribution par mail : Gmail (web et mobile) et Outlook bloquent les data-URI et donc les images directement incorporées dans le HTML. Il s'avère quel la solution standard en mail est d'utiliser le mécanisme des pièces jointes inline CID (multipart/related + Content-ID, <img src="cid:...">)

Mis à jour par Sebastien Vuillet il y a environ 2 mois Actions #4

c'est embêtant car le mécanisme de pièce jointe n'est pas géré au niveau du template, mais au niveau du canal de notification...

Mis à jour par Miguel Moquillon il y a environ 2 mois Actions #5

Sebastien Vuillet a écrit (#note-4):

c'est embêtant car le mécanisme de pièce jointe n'est pas géré au niveau du template, mais au niveau du canal de notification...

Oui tout à fait. Ce qui fait que j'ai réalisé avec l'aide de Claude un traitement du contenu des messages pour récupérer les parties images incorporées directement et les remplacer par un CID qui référence l'image en pièce jointe et dont le contenu est directement incorporée.

Je suis en train de tester le tout là.

Au regard de ta réponse, je suppose que tu es ok pour prendre en compte les vignettes des contributions (ici publications) que pour Kmelia et QuickInfo (cf note #note-2) ?

Mis à jour par Miguel Moquillon il y a environ 2 mois · Edité Actions #6

Notif_abonnement_QuickInfo-vignette.png
synthese_notification-vignette.png

Les vignettes des contributions en disposant sont désormais prises en charge par le mécanisme de notification aux utilisateurs, ceci aussi bien pour la notification immédiate que celle retardée (et périodique).

Comme le contenu des notifications retardées est pris en charge directement par le cœur de Silverpeas, les modèles StringTemplate de celui-ci pour chacune des langues supportées (français, anglais et allemand) ont été modifiés pour inclure la vignette. Ce qui donne par exemple :

Par contre, le contenu des notifications immédiates est généré par les modèles StringTemplate de chaque application Silverpeas ; il n'y a pas ici de centralisation du contenu des notifications d'abonnement. Aussi, au regard du client demandeur de la fonctionnalité, les modèles dans Kmelia et dans QuickInfo ont été modifiés pour inclure la vignette de la publication concernée par la notification. Exemple avec QuickInfo :

La taille à laquelle les vignettes sont retaillées est spécifié par le paramètre notification.thumbnail.height dans le fichier de configuration org/silverpeas/notificationManager/settings/notificationManagerSettings.properties. Le paramètre notification.thumbnail.maxWeight fixe le poids maximum en octets de la vignette ; au delà de ce poids, la vignette n'est pas incorporée dans le message de notification - ceci est une garde pour éviter les mails trop lourds et par conséquent sujets à de possible refus de la part des serveur SMTP.

Les PR : https://github.com/Silverpeas/Silverpeas-Core/pull/1456 et https://github.com/Silverpeas/Silverpeas-Components/pull/937

Mis à jour par Miguel Moquillon il y a environ un mois Actions #7

  • Statut changé de Resolved à Closed

Intégrée dans master

Mis à jour par Sebastien Vuillet il y a 6 jours Actions #8

D'après mes test la vignette est bien transmise lors d'un envoie de notification manuelle, mais pas en cas d'abonnement

Mis à jour par Sebastien Vuillet il y a 6 jours Actions #9

je constate également un problème sur les notifications delayed : elles sont instantanées

Mis à jour par Miguel Moquillon il y a 4 jours Actions #10

Sur mon Silverpeas de test, les abonnés reçoivent bien les notifs avec la vignette. D'ailleurs, le mécanisme de traitement des notifications (avec la vignette) est la même, quelque soit la nature de la notification : par abonnement ou manuel.

Ensuite, pour les notifications retardées, peux tu m'indiquer stp la valeur du paramètre dans cronDelayedNotificationSending properties/org/silverpeas/notificationManager/settings/notificationManagerSettings.properties

Mis à jour par Miguel Moquillon il y a 4 jours Actions #11

  • Statut changé de Closed à Feedback

Mis à jour par Miguel Moquillon il y a 4 jours Actions #12

Donnes moi aussi la version de build de Silverpeas installé chez CLAAS

Mis à jour par Miguel Moquillon il y a 4 jours Actions #13

Bon, j'ai pu me connecter sur le Silverpeas de test de CLAAS et en fait la notif de publi avec vignette marche nickel avec les abonnements.

Par contre, j'ai observé que même si l'utilisateur a sa notif paramétré à retarder, il reçoit (aussi) une notif instantanée. Demain, si je reçois la synthèse des notifications alors le soucis est que, malgré le paramétrage de recevoir en retardé les notifs, l'utilisateur reçoit aussi ceux-ci instantanément.

Mis à jour par Sebastien Vuillet il y a 4 jours Actions #14

moi quand je fais une notif d'actualité ça marche.
mais si j'ai un abonnement forcé (pdc) et que j'ai une actu qui correspond alors je recois la notification mais sans vignette

Mis à jour par Miguel Moquillon il y a 4 jours Actions #15

Bon, après investigation, il faut savoir que les notifications retardées ne concernent que les notifications par mails. Donc, si un utilisateur a un paramétrage de deux canaux de notifications, par mail et un par boite de notification par exemple, alors, même avec une réception retardée il reçoit instantanément dans sa boite la notification.

D'ailleurs, dans le paramétrage des notifications, le texte est explicite : "Fréquence de réception des mails" ; il y a bien "mails" dans l'intitulé.

Mis à jour par Miguel Moquillon il y a 4 jours Actions #16

Sebastien Vuillet a écrit (#note-14):

moi quand je fais une notif d'actualité ça marche.
mais si j'ai un abonnement forcé (pdc) et que j'ai une actu qui correspond alors je recois la notification mais sans vignette

Ok, je regarde ce point avec les abonnements sur le PdC.

Mis à jour par Sebastien Vuillet il y a 4 jours Actions #17

Miguel Moquillon a écrit (#note-15):

Bon, après investigation, il faut savoir que les notifications retardées ne concernent que les notifications par mails. Donc, si un utilisateur a un paramétrage de deux canaux de notifications, par mail et un par boite de notification par exemple, alors, même avec une réception retardée il reçoit instantanément dans sa boite la notification.

D'ailleurs, dans le paramétrage des notifications, le texte est explicite : "Fréquence de réception des mails" ; il y a bien "mails" dans l'intitulé.

Oui, c'est pourquoi j'ai mis le canal mail uniquement, mais j'ai l'impression que je ne reçois pas ce synthèse (j'avais mis à quotidien)

Mis à jour par Miguel Moquillon il y a 4 jours Actions #18

Sebastien Vuillet a écrit (#note-17):

Miguel Moquillon a écrit (#note-15):

Bon, après investigation, il faut savoir que les notifications retardées ne concernent que les notifications par mails. Donc, si un utilisateur a un paramétrage de deux canaux de notifications, par mail et un par boite de notification par exemple, alors, même avec une réception retardée il reçoit instantanément dans sa boite la notification.

D'ailleurs, dans le paramétrage des notifications, le texte est explicite : "Fréquence de réception des mails" ; il y a bien "mails" dans l'intitulé.

Oui, c'est pourquoi j'ai mis le canal mail uniquement, mais j'ai l'impression que je ne reçois pas ce synthèse (j'avais mis à quotidien)

En fait, après investigation, il s'avère que les notifications d'abonnement sur le Pdc sont forcés à l'immédiateté ; le mécanisme ne supporte pas les notifications retardées. Je ne sais pas ici si c'est un oubli ou voulu. là maintenant, j'aurais dis un oubli parce que ce n'est pas cohérent avec le reste.

Mis à jour par Miguel Moquillon il y a 4 jours Actions #19

Le mécanisme de notification aux abonnements aux positions sur le Pdc est différent de celui cœur des notifications aux abonnements aux contributions. Le problème ici est donc double :
  • duplication du mécanisme de notification aux abonnements,
  • tout changement dans le cœur n'est pas reporté sur celui aux abonnements sur le Pdc, conduisant ainsi à des incohérences et inconsistances.

Pour pouvoir répondre ici au besoin et corriger le défaut identifié il va falloir lancer une refonte du mécanisme aux abonnements sur le Pdc en le fusionnant à celui standard des notifications aux abonnements aux contributions, d'autant plus que le positionnement sur le Pdc concerne les contributions.

Mis à jour par Sebastien Vuillet il y a 4 jours Actions #20

tu as une estimation du temps à passer pour faire cela ?

Mis à jour par Miguel Moquillon il y a 3 jours Actions #21

  • Lié à Feature #15500: Unifier le mécanisme de notification aux abonnements ajouté

Mis à jour par Miguel Moquillon il y a 3 jours Actions #22

Environ 3j je pense

Actions

Formats disponibles : PDF Atom