Notification système

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 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.


Description

Notification sw_data_sysnotification

C'est quoi ?

Une notification contient un message et permet de notifier un utilisateur sur différentes plateformes.

Où et comment l'utilisateur est notifié ?

  • Quoi qu'il arrive, les notifications sont visibles sur le Back-office et le Front-office

  • Mobile iOS, Android via notification PUSH

  • Teams via webhook

Dans quels cas l'utilisateur est notifié ?

  • 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.

Où et comment l'utilisateur peut s'abonner ?

  • Un abonnement est actif lorsque l'utilisateur clique sur le bouton S'abonner disponible sur la page de l'entité.

  • Un abonnement devient inactif lorsque l'utilisateur clique sur le bouton Abonné disponible sur la page de l'entité.

  • L'utilisateur peut gérer ses abonnements sur la page : https://weavy.divalto.com/page/myOptions

A quelles entités l'utilisateur peut s'abonner ?

Tiers Affaire Opportunité Tâche File d'attente

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

Quels sont les options ?

  • 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 peut les acquitter 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.

Modifier les options utilisateur de notification sw_data_sysnotificationuseroptions

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

S'abonner ou se désabonner à une entité sw_data_sysnotificationsubscription

Possibilité de s'abonner ou de se désabonner à une entité.
Back-office Depuis la page d'une entité dont l'abonnement est géré.
A savoir
Tiers https://weavy.divalto.com/page/customer/XXX
Affairehttps://weavy.divalto.com/page/deal/XXX
Opportunitéhttps://weavy.divalto.com/page/project/XXX
Tâche https://weavy.divalto.com/page/taskV2/XXX
File d'attente https://weavy.divalto.com/page/queue/XXX

Gérer les abonnements sw_data_sysnotificationsubscription

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 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, son script de process est appelé pour définir les notifications à envoyer aux utilisateurs suivant les fréquences et les méthodes choisies.

Variablese
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
/

Conditions
/

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.

  • SysNotification_Notify Script permettant de notifier un utilisateur. Appelé dans SysNotification_XXX_ParseForEach mais peut être appelé depuis les surcharges SysNotificationOverload_XXX.

  • SysNotification_NotifySubscription Script permettant de notifier tous les utilisateurs abonnés à une entité. Appelé dans SysNotification_XXX_ParseForEach mais peut être appelé depuis les surcharges SysNotificationOverload_XXX.

  • SysNotificationOverload_XXX Script d'overload permettant de délivrer un message spécifique aux subscribers. 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 la table sw_data_baseoutbox. Appelé dans FuncSysNotification_ParseForEach.

 

Gestion des notifications
Se rendre dans Tools > Notification management

Modèle de message
Suivant l'entité et l'action (Insert, Update, Delete), le message généré se base sur un modèle définit en amont.
Ces modèles sont déclarés dans les traductions et sont composés comme ceci :
NotificationModel_XXX_YYY
XXX = 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

S'abonner à un tiers > Modifier le tiers

S'abonner à une opportunité > Modifier l'opportunité

S'abonner à une tâche > Modifier la tâche

Créer une tâche avec affectation > Modifier la tâche > Supprimer la tâche

  • 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 a créé la tâche

  • Modifier la tâche

  • Supprimer la tâche