Présentation
Permet de notifier automatiquement des utilisateurs suivant leurs préférences ou celles du projet auquel ils sont associés.
Ces notifications sont crées et envoyées suite à la modification d'une table. Nous nommons ce mécanisme Datatracking
.
les utilisateurs peuvent être aussi bien utilisateur du Back-office, technicien sur le Front-office
ou encore utilisateur extranet.
Informations rapides
Tables principales exploitées
sw_data_sysnotification : Contient les notifications générées. Elles sont ensuite affichées et/ou envoyées.
sw_data_sysnotificationsubscription : Contient les abonnements aux entités des utilisateurs.
sw_data_sysnotificationuseroptions : Contient les options de notifications des utilisateurs
Generictype exploités
NOTIFICATION_SYSTEM_FREQUENCY : Fréquence à laquelle l'utilisateur sera notifié
NOTIFICATION_SYSTEM_SENDING_METHOD : Méthode utilisé pour notifier l'utilisateur
NOTIFICATION_SYSTEM_TYPE : Contient
Variables exploitées
PortalBaseUrl : Définit l'url de base duBack-office
pour ce projet. Permet de rediriger l'utilisateur au bon endroit.
SysNotification.default.frequency : Contient la fréquence par défaut du projet pour chaque méthode d'envoi.
...
Description
Notification sw_data_sysnotification
C'est quoi ?
Une notification contient un message et permet de notifier un utilisateur sur différentes plateformes.
...
Lorsque l'utilisateur est abonné a une entité.
Notification sans abonnement
Tâche
Lorsqu'une tâche est affectée à un utilisateur qui n'est pas le créateur.
Lorsqu'une tâche est modifiée.
Lorsqu'une tâche est supprimée
Abonnement sw_data_sysnotificationsubscription
C'est quoi ?
Un abonnement permet de suivre une entité et être notifié automatiquement lorsque cette dernière est modifiée.
...
L'utilisateur peut gérer ses abonnements sur la page : https://weavy.divalto.com/page/myOptions
Options de notification sw_data_sysnotificationuseroptions
C'est quoi ?
L'utilisateur peut modifier les options liées aux notifications depuis le Back-office
dans Mes options
> Mes options de notification
...
Notification via email
Fréquence de notification
Notification push (mobile).
Fréquence de notification
Notification via Teams.
Fréquence de notification
URL
...
Possibilités
Accéder aux notifications
sw_data_sysnotification
Possibilité de consulter et filtrer les notifications. L’utilisateur les acquitter acquitte en les marquants comme lu.Back-office
Depuis la notification bar en cliquant sur la cloche https://weavy.divalto.com/page/sysNotification Front-office
Depuis la page d'accueil en cliquant sur la cloche.
...
Possibilité de modifier les options utilisateur de notification. L’utilisateur peut choisir à quelle fréquence il sera notifié pour quelle méthode d'envoi.
Sachant que les notifications sur le back-office et le Front-office
sont visibles tout le temps.Back-office
Depuis les options utilisateur en cliquant sur Mes options de notification
https://weavy.divalto.com/page/myOptions
...
Possibilité de consulter la liste des abonnements en cours. L'utilisateur peux se rendre sur la page de l'entité, modifier la note liée à l'abonnement et se désabonner massivement en sélectionnant les abonnements et en cliquant sur Se désabonner
Back-office
Depuis les options utilisateur en cliquant sur Mes abonnements
https://weavy.divalto.com/page/myOptions
...
Technique
Process
Lorsqu'une table est ajoutée à la gestion des notifications dans le studio, elle est écoutée par le
Datatracking
.Suivant les événements choisis, le script de process lié sera exécuté.
A chaque table sont son script de process.
On boucle sur les data pour générer les notifications aux subscribers et au cas par cas en remplissant la table
sw_data_sysnotification
Dès que la table
sw_data_sysnotification
est manipulée, sont son script de process est appelé pour définir les notifications à envoyer aux utilisateurs suivants les fréquences et les méthodes choisis.
Variables
PortalBaseUrl : Définit l'url de base du back-office pour ce projet. Permet de rediriger l'utilisateur au bon endroit.
SysNotification.default.frequency : Contient la fréquence par défaut du projet pour chaque méthode d'envoi.
SWx.Mobile.SysNotification.Enabled : Active ou désactive les notifications pour le mobile (FO).
Back-office
Profils autorisés
Tous
Nom du profil principal
/
...
Bibliothèque
helper.sysNotification
Studio
Scripts principaux
SysNotification_XXX Script de process. C'est lui qui est appelé lorsque la table (
sw_data_XXX
où XXX = entité) est modifiée.SysNotification_XXX_ParseForEach Script qui parse les datas. Appelé dans
SysNotification_XXX
.SysNotificationOverload_XXX Script d'overload permettant de délivrer un message spé aux subscriber. Appelé dans
SysNotification_XXX_ParseForEach.
FuncSysNotification_InsertNotification Script permettant d'insérer une ligne dans
sw_data_sysnotification
SysNotificationSysNotification Script de process. C'est lui qui est appelé lorsque la table
sw_data_sysnotification
est modifiée.FuncSysNotification_ParseForEach Script qui parse les datas. Appelé dans
SysNotificationSysNotification
.FuncSysNotification_ParseForEach_MethodAndFrequency Script qui délivre les notifications suivant les fréquences et méthodes d'envoi en remplissant
sw_data_baseoutbox
. Appelé dansFuncSysNotification_ParseForEach
.
...
Model de message
Suivant l'entité et l'action (Insert, Update, Delete), le message généré se base sur un model définit en amont.
Ces models sont déclaré dans les traduction traductions et sont composé composés comme ceci :
NotificationModel_XXX_YYYXXX
= Nom de l'entité (customer, task, etc...)YYY
= Nom de l'action (insert, update, n'importe quoi d'autre, etc...)
...
Scénarios
S'abonner > Modifier les options utilisateurs > Consulter et supprimer les abonnements
...
Se connecter au back-office avec un compte business.
Aller https://weavy.divalto.com/page/taskManagerV2;mode=0
Cliquer sur Nouveau
Remplir titre, type de tâche
Modifier Affecté à de sorte que l'affectation ne soit pas liée à l'utilisateur qui crée a créé la tâche
Modifier la tâche
Supprimer la tâche