ONYX - 9.0 - Utilisation

Gestion des workflows-Les fondamentaux

De MappingDoc
Révision datée du 1 avril 2019 à 08:10 par Admin (discussion | contributions) (Ajouter une condition)

Introduction

OX S wrkf1.png


Les Workflows composent le Moteur d’exécution Onyx Server. Un Workflow est défini comme un ensemble de conditions et commandes paramétrables, exécutées lorsqu’un nouveau fichier arrive sur un connecteur d’entrée (robot Scanfolder, serveur d’écoute, point d’entrée, ou par requête Web Service). Les commandes sont traitées séquentiellement c’est-à-dire que la deuxième commande sera traitée après exécution correcte de la première jusqu’à la fin du Workflow. Un Workflow se définit graphiquement en connectant différents types d’objet de type commandes, conditions et/ou paramètres. Il est nommé de façon unique et doit être attaché au moins à un connecteur pour être actif.

Les Workflows sont sauvegardés sur disque dans des fichiers au format XML dans le sous-répertoire workflow du répertoire des règles pointé par la variable de configuration RULES_PATH.

Sur l’interface Web de M-Processing Server, la page d’administration et de configuration des Workflows s’obtient par le Menu d’Administration puis Gestion des Workflows ou par le lien direct : http://127.0.0.1:8004/JS_Common/workflow/index.html

Conseil : pour un meilleur confort d’utilisation, le navigateur Firefox est vivement recommandé

Configuration

Une nouvelle section WORKFLOW est ajoutée dans le fichier de configuration de M-Processing Server contenant un certain nombre de paramètres de configuration pour le moteur d’exécution des Workflows ainsi que pour les fonctionnalités Web Service (SOAP_*) :

Nom Signification / Exemple
SOAP_DEBUG Activation du mode verbeux pour les Web Services

On / Off (par défaut)

SOAP_PATH_TEMP Chemin local des fichiers temporaires

E:\MappingWindows\Temp\HTTPServer

SOAP_PATH_LOG Chemin local des journaux de log

E:\MappingWindows\Temp\HTTPServer

SOAP_LOCAL_URL Chemin distant du répertoire partagé (échanges de fichiers)

http://127.0.0.1:8004/shareFolder

SOAP_DOCUMENT_URL Chemin distant du répertoire partagé (échanges de fichiers)

http://127.0.0.1:8004/shareFolder

SOAP_LOCATION Chemin distant du moteur Web Services Mapping

http://127.0.0.1:8004/cgi-bin/mapsoapserver.exe

SOAP_HOST_PROXY Adresse IP ou nom DNS du serveur Proxy (si besoin)
SOAP_PORT_PROXY Port de connexion au serveur Proxy (si besoin)
USE_NEW_RULES Activation du moteur de Workflows ou retour au moteur v6

On (par défaut) / Off

MAIL_SERVER Adresse IP ou nom DNS du serveur SMTP (commandes Mail)

outlook.office365.com

MAIL_DOMAIN Nom de domaine du serveur SMTP outlook.com
MAIL_PORT Port de connexion du serveur SMTP 587
MAIL_LOGIN Identifiant d’authentification du serveur SMTP
MAIL_PASSWORD Mot de passe de l’identifiant précédent
MAIL_FROM Adresse d’expéditeur par défaut
TRACKING_SERVERADDRESS Adresse IP de la base de données PostGreSQL de tracking 127.0.0.1
TRACKING_SERVERPORT Port de connexion à la base de données de tracking 5432
TRACKING_SERVERUSER Identifiant de connexion à la base de données de tracking
TRACKING_SERVERPASSWORD Mot de passe de l’identifiant précédent
TRACKING_SERVERBASENAME Nom de la base de données de tracking

tracking

TRACKING_LIB_PATH Chemin des exécutables PostGreSQL

C:\Program Files\PostgreSQL\9.0\bin

TRACKING_SERVERSCHEMA Schéma de la base de données de tracking

public

DEFAULT_ADMINISTRATOR_RESPONSE Chemin d’un fichier HTML de réponse par défaut (commandes Web Interactivity)
DEFAULT_ADMINISTRATOR_RESPONSE_HEADER Type (content-type) de la réponse par défaut

text/html

DEFAULT_RESPONSE_BODY Chemin d’un fichier HTML de corps de réponse par défaut (commandes Web Interactivity)
DEFAULT_FILE_TYPE Chemin d’un fichier HTML d’entête de message par défaut (commandes Web Interactivity)
DEFAULT_MAIL_BODY Chemin d’un fichier HTML de corps de message par défaut (commandes Web Interactivity)
PATH_CONFIG_CUSTOM_ACCESS Chemin des préférences utilisateurs d’affichage (MOM 2.0)

E:\MappingWindows\Settings\configCustomAccess

PATH_DJDE Chemin des ressources DJDE (conversions Xerox)

E:\MappingWindows\Temp\DJDE

RESOLVE_PERPAGE Nombre de lignes par page pour l’affichage des tables de résolution 25
MAP_CURRENT_DATE Contrôle de syntaxe pour la récupération de la date courante

%d/%m/%Y

MAP_CURRENT_TIME Contrôle de syntaxe pour la récupération de l’heure courante

%H:%M:%S

MAP_CURRENT_TIMESTAMP Contrôle de syntaxe pour la récupération de date et heure courante %d-%m-%Y_%H%M%S


Barre d'outils


OX S Outilswrkf.png


  • Créer un nouveau Workflow. Saisir un nom pour le Workflow, l’extension .rules.xml est automatiquement ajoutée.
  • Ouvrir un Workflow. Sélectionner un Workflow dans la liste.
  • Sauvegarder le Workflow actif.
  • Sauvegarder le Workflow actif sous un autre nom.
  • Supprimer le Workflow actif.
  • Insérer une condition dans le Workflow actif. La nouvelle condition sera ajoutée après la boite sélectionnée.
  • Insérer une commande dans le Workflow actif. La nouvelle commande sera ajoutée après la boite sélectionnée.
  • Insérer un paramètre dans le Workflow actif. Le nouveau paramètre sera ajouté après la boite sélectionnée.
  • Redessiner le Workflow actif = permet de redessiner graphiquement le Workflow : alignements des boîtes, des liens, etc…
  • Dupliquer un objet = permet de dupliquer, à l’identique (nom, paramètres, etc.) l’objet sélectionné, sans ses liens.
  • Gérer les tables de résolution= permet de créer, modifier et supprimer des tables de résolutions

Créer un nouveau workflow

Cliquer sur l’icône OX S iconewrkflw.png et de nommer le Workflow (ici Factures) puis valider.

OX S newWrkfl.png



Le nouveau Workflow s’affiche dans la fenêtre d’édition, avec une première boite, qui correspond à un point de départ de la séquence de traitements à venir :

OX S wrkfl1.png


Ajouter un paramètre

Définition


OX S WRKFL param.png


Les objets de type paramètre permettent de définir la valeur d’un paramètre ou d’en créer un nouveau. Un paramètre peut ensuite être utilisé dans une condition ou une commande. Cela permet la réutilisation d’une valeur dans plusieurs commandes, par exemple, tout en ne la définissant qu’une seule fois.

Creation/Edition

Pour créer un nouveau paramètre, sélectionner la boite après laquelle le nouveau paramètre doit être ajouté, puis de cliquer sur l’icône OX S iconewrkflwParam.jpg . Pour éditer un paramètre existant, double-cliquer sur la boite correspondante. La fenêtre d’édition de paramètre s’ouvre afin de définir les différents champs :


Remarque : Un paramètre sera généralement réutilisé ultérieurement dans le Workflow dans une condition ou une commande, voire même dans un autre Workflow. Il est donc conseillé de choisir des noms pertinents quant à l’information véhiculée.

Valorisation

Pour valoriser le paramètre, différentes méthodes sont disponibles par le menu contextuel sur le champ de saisie :

  • param = valeur dynamique d’un paramètre d’environnement du système, de M-Processing Server, du Workflow ou du spool d’entrée.
  • value = valeur statique saisie par l’utilisateur.
  • rulefile = valeur dynamique lue dans un fichier texte ou XML (peut être le spool d’entrée, ou tout autre fichier).
  • command = valeur dynamique résultant de l’exécution d’une commande prédéfinie Onyx Server.
  • cmd = valeur dynamique résultant de l’exécution d’un script utilisateur.
  • SQL = valeur dynamique résultant de l’exécution d’une requête SQL (de type SELECT en l’occurrence).
  • resolve =: valeur dynamique résultant de la recherche dans une table de résolution.
  • rulefile_multiple = permet de définir en une fois plusieurs paramètres valorisés dynamiquement par des informations contenues dans le même fichier en entrée (en mode XML uniquement.

Suivant le type de champs voulu, une fonction d’aide à la saisie est proposée affichant une nouvelle interface pour paramétrer la récupération dynamique de la valeur :

Type de fonction Contenu Icône Indicateur de type
Paramètre Paramètre de l’application Texte en bleu
Aucune Texte libre ou liste aucun Texte en noir
RuleFile Valeur lue dans un fichier de données Texte de la cellule rulefile : keyword(Test)
Commande Retour d’une commande prédéfinie Texte de la cellule Command : cutposition
Cmd Retour d’une ligne commande Texte de la cellule cmd : chemincomplet...
SQL Retour d’une requête SQL Texte de la cellule SQL : Select...
Table de résolution Retour d’une table de résolution Texte de la cellule Resolve : TABLE[PARAM]
Rulefile multiple Valeurs lues dans un même fichier (XML) Texte de la cellule rulefile_multiple : xml

Ajouter une condition

Définition

Les objets de type condition permettent de définir deux traitements différents en fonction de la validité d’une condition. Les boites conditions sont donc les seules à avoir deux sorties :

  • en bas (chemin direct) si la condition est vraie (= Vrai)
  • à droite (chemin détourné) si la condition est fausse (= Faux)


OX S wrkflFactures.png

Une condition est une comparaison entre au moins deux valeurs. Une valeur peut être un paramètre, une constante, le résultat d’une commande ou d’un script, d’une recherche dans une table de résolution, d’une requête SQL, d’une lecture dans un fichier de données.

Création/Édition

Pour créer une nouvelle condition, sélectionner la boite après laquelle la condition doit être ajoutée puis cliquer sur l’icône frameless. Pour éditer une condition existante, il suffit de double-cliquer sur la boite correspondante. La fenêtre d’édition de condition s’ouvre afin de définir les différents champs :


  • Condition: Nom de l'objet condition,
  • title: Titre de l'objet
  • AND , OR: Outils pour définir la logique de la condition : ajout/suppression d’un filtre, opérateurs logiques AND et OR.
  • Param1 egal value1: Filtres de condition
  • Note: Note (champ libre pour commentaires).

Une condition doit avoir au moins un filtre de condition.

Conseil : Le champ Nom de l’objet (1) est optionnel, mais il est vivement conseillé de le renseigner. En effet, cette information sera reprise dans le journal d’événements associé à l’exécution du Workflow permettant de facilement identifier les différentes étapes du Workflow. Exemples : « Condition failed » si pas de nom, « Condition 'Nom de la condition' failed » sinon.