ONYX - 9.0 - Utilisation - Gestion des workflows-Les fondamentaux
Différence entre versions
(→Créer un nouveau workflow) |
(→Configuration) |
||
Ligne 17 : | Ligne 17 : | ||
===Configuration=== | ===Configuration=== | ||
− | Une nouvelle section WORKFLOW est ajoutée dans le fichier de configuration | + | Une nouvelle section WORKFLOW est ajoutée dans le fichier de configuration d'ONYX 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_*) : |
{| class="wikitable" | {| class="wikitable" | ||
Ligne 121 : | Ligne 121 : | ||
|MAP_CURRENT_TIMESTAMP||Contrôle de syntaxe pour la récupération de date et heure courante %d-%m-%Y_%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 | ||
|}<br /> | |}<br /> | ||
+ | |||
===Barre d'outils=== | ===Barre d'outils=== | ||
<br /> | <br /> |
Version du 10 avril 2019 à 13:36
Sommaire
Introduction
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 d'ONYX 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) |
SOAP_DOCUMENT_URL | Chemin distant du répertoire partagé (échanges de fichiers) |
SOAP_LOCATION | Chemin distant du moteur Web Services Mapping |
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
- 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 et de nommer le Workflow (ici Factures) puis valider.
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 :
Remarque: Pour importer un Workflow, il suffit de le copier sous C:\ProgramDta\M-Processing Server\Settings\rules\workflow
Pour visualiser le Workflow importé, Aller dans Menu->Menu d'Administration->Gestion des Workflows, après cliquer sur ouvrir.
Ajouter un paramètre
Définition
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 . 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)
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 .
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 (1)
- 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.
Filtre de condition La création d’une nouvelle condition propose automatiquement un premier filtre à paramétrer. Un double-clic sur un filtre de condition permet de l’éditer.
Param1 EGAL Valeur1
- parma1:Valeur à comparer
- EGAL:Opérateur de comparaison
- à la valeur:Valeur de comparaison
Les opérateurs de comparaison disponibles sont :
- égal / différent : comparaison alphanumérique stricte entre deux valeurs,
- contient / ne contient pas : recherche alphanumérique d’une valeur dans une autre,
- est vide / n’est pas vide : un paramètre a-t-il ou non une valeur ?
- supérieur à / supérieur ou égal à : comparaison numérique,
- inférieur à / inférieur ou égal à : comparaison numérique.
Une condition peut être définie par plusieurs filtres de conditions. Le bouton permet d’ajouter un nouveau filtre de condition. La logique complète entre ces filtres est définie graphiquement en utilisant les cases à cocher devant chaque filtre et les outils et
Dans l’exemple, la logique de condition vaut : filtre A et (filtre B ou filtre C). Le bouton permet de supprimer un filtre de condition sélectionné ou une logique de condition (et ses filtres associés) sélectionnée.
Ajouter une commande
Définition
Les objets de type commande permettent d’exécuter un traitement unitaire. Un même Workflow comportera autant de commandes qu’il y a de traitements à effectuer. Les objets de type commande permettent d’exécuter quatre grandes familles de traitements : des commandes prédéfinies natives ONYX Server, des scripts utilisateurs, des requêtes SQL, ou des appels à d’autres Workflows.
Création/Édition
Pour créer une nouvelle commande, sélectionner la boite après laquelle la commande doit être ajoutée puis cliquer sur l’icône . Pour éditer une commande existante, double-cliquer sur la boite correspondante.
La fenêtre d’édition de commande s’ouvre afin de définir les différents champs :
- Type d'objet: Type de traitement au choix entre Command, Cmd, Sql, Call,
- Nom de l’objet,
- titre: Titre de l’objet,
- File: groupe de commandes prédéfinies
- Copier vers un dossier: la commande prédéfinie à exécuter
- Source et Dossier de destination: Paramètres de la commande
o Présente l’ensemble des paramètres requis ou optionnels pour la bonne exécution de la commande o L’onglet Standard regroupe les paramètres principaux de la commande o En fonction des commandes, d’autres onglets spécifiques présentent les paramétrages avancés Advanced
- Note: champ libre pour commentaires.
Les commandes prédéfinies (COMMAND)
Cette première famille de traitement regroupe les commandes génériques et natives Onyx Server. Elles sont organisées par groupes de commandes en fonction de leur utilisation : Spooler, File, Mapping, XPS Toolbox, Mail…
Parmi les plus utilisées, nous pouvons citer notamment :
Mapping / Text M-Designer : application d’un format Designer sur un fichier de données en mode texte
- Standard :
-Nom du format Designer à appliquer. La liste des formats importés sur le serveur est disponible par le bouton l’aide à la saisie
-Numéro de séquence (00010, ou *MRG, ou *ALL, etc.)
-Fichier d’entrée (le fichier de données)
-Fichier de sortie (le document XPS produit)
- Advanced :
-Langue de traduction (consulter le Guide Utilisateur de Designer pour l’utilisation des traductions)
-Fichier XPS à incorporer comme calque, avec possibilité de reprendre ses index
- Text options :
-Nombre de lignes maximum = possibilité de fixer un overflow sur le fichier de données en entrée et de provoquer un saut de page automatique, -Largeur de page : nombre de caractères maximum par ligne à lire dans le fichier de données en entrée,
-Page de code du fichier en entrée : permet de réaliser une conversion à la volée en Unicode UTF-16 si besoin. La liste des codes pages gérés dans Onyx Server est disponible par le bouton d’aide à la saisie .
- Output options :
-Page de début / page de fin : intervalle de pages à produire,
-Bac d’entrée / bac de sortie : ajout d’options de finition (PrintTicket) sur le document XPS produit pour la gestion des bacs d’imprimantes.
Spooler / Imprimer : envoi d’un spool dans une file d’attente du Spooler Onyx Server
- Standard :
-Nom de la file d’attente de destination. La liste des files d’attente déclarées dans le Spooler est disponible par le bouton d’aide à la saisie ,
-Nom du fichier à envoyer,
-Titre : nom donné au spool dans la file d’attente, -Envoyer le spool en état suspendu dans la file d’attente de destination,
-Conserver le spool après traitement dans la file d’attente de destination,
-Conserver les attributs courants = affecter au spool en sortie les attributs du spool en cours,
-Ajouter les paramètres courants = affecter au spool en sortie les paramètres de la session en cours,
- Page :
-Page de début / page de fin : positionne les attributs correspondants sur le spool de destination pour son intervalle de traitement,
-Nombre de copies : positionne l’attribut correspondant sur le spool de destination.
- Security :
-Propriétaire du spool de destination,
-Droits d’accès sur le spool de destination,
-Code comptabilité : affectation de l’attribut correspondant.
- Userdatas :
-Possibilité de définir des attributs supplémentaires sur le spool de destination.
- Advanced :
-Priorité du spool de destination,
-Nombre de jours de conservation du spool de destination,
-Nombre de jours avant compression du spool de destination (attribut hérité du monde AS/400, parfois utilisé par les applications clientes en amont et en aval),
-Type de support papier,
-Fidélité : attribut hérité du monde AS400 parfois utilisé par les applications clientes en amont et en aval
-Nom du fichier spool de destination.
La liste exhaustive des commandes prédéfinies Onyx Server est détaillée dans le Chapitre 4.
Les scripts utilisateurs
Le mode CMD permet de passer l’objet de type commande en mode éditeur de texte afin de taper une commande complète comme il serait fait en mode telnet ou en fenêtre de commandes MS-DOS. Tous les paramètres d’environnement (système et Mapping) ainsi que les attributs du fichier en cours de traitement sont accessibles. La commande exécutée peut être une commande Onyx Server spécifique et non disponible en commande prédéfinie ou alors un script (*.bat ou *.sh) complexe.
Les requêtes SQL
Le mode SQL permet de passer l’objet de type commande en mode éditeur de texte afin d’exécuter des ordres SQL. Tous les paramètres d’environnement (système et Mapping) ainsi que les attributs du fichier en cours de traitement sont accessibles. Les paramètres de connexion à la base de données doivent être définis dans la configuration de Onyx Server.
Les appels à des WORKFLOWS(CALL)
Le mode CALL permet d’exécuter, dans le Workflow en cours, un autre Workflow puis de continuer l’exécution du Workflow en cours une fois que le second est correctement terminé. Tous les paramètres d’environnement (système et Mapping) ainsi que les attributs du fichier en cours de traitement sont automatiquement transmis au sous-Workflow et utilisables dans celui-ci.