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)