Notifications
Les notifications sont un format de scripting qui permettent de faire des processus d’actions linéaires complexes uniquement basé sur du paramétrage xml. Ces actions bénéficient d’un contexte qui fournit un environnement d’échange entre les actions et la tâche appellante.
Il existe deux type de notifications :
Notification locale
Cette notification est définie directement dans la
configuration xml du framework. La liste des actions disponible est statique et
seuls les attributs peuvent être dynamiques.
Notification remote
La structure xml de cette notification est retournée par
un download_file sur le serveur sur la tâche SYS66
. Une notification remote
est caractérisée par
- Sa tâche
- Son identifiant
- Ses paramètres
Une url est construite à partir de ces informations. Par exemple
sainet:static/adr02/assure_dossier?test=exemple&test2=exemple2
Appelle la notification ASSURE_DOSSIER sur ADR02 avec les paramètres test et test2
Le processus d’execution d’une notification est représentée par une structure XML
Cette structure xml est stockée dans le fichier de notifications de la chaine (ex: Notification_CRM) dans le dossier Notifications de la configuration.
la structure xml d’un fichier de notifications est la suivante :
un noeud principal qui contiendra les notifications
<?xml version="1.0" encoding="ISO-8859-1"?>
<notifications>
...
</notifications>
Une liste de notifications identifiées un attribut id
unique qui doit
commencer par convention par l’identifiant de la chaine.
<?xml version="1.0" encoding="ISO-8859-1"?>
<notifications>
<notification id="CRM_SOME_UNIQUE_ID">
...
</notification>
<notification id="CRM_ANOTHER_UNIQUE_ID">
...
</notification>
</notifications>
Chaque notification est divisée en actions différenciées par leur type
<notification id="CRM_SOME_UNIQUE_ID">
<action type="some_action">
...
</action>
<action type="some_other_action">
...
</action>
</notification>
La spécification des actions contenues dans une notification a été divisée en catégories basé sur les secteurs d’activités touchés par l’action. Par default, une action opère sur le contexte de la tâche courante ouverte. Cependant, il est possible d’opérer sur la tâche source de l’action si elle existe. Dans ce cas, il faut préciser le contexte de l’action.
<action type="some_action" taskContext="init">
...
</action>
Les valeurs possibles pour l’attribut taskContext
sont
- init la tâche source du processus
- context la tâche courante ouverte
- empty dans le cas d’une chaine vide, c’est la tâche de contexte qui est pris (équivalent donc à context)