Configuration et paramétrage d'Harmony
Menu d'Harmony
Dans le menu Démarrer de Windows, sélectionnez le choix <Tous les programmes : Divalto : Harmony> : le menu "système" d'Harmony Harmony.dhop est affiché. Le cas échéant, validez par "O" la création du fichier des modèles d'imprimantes Fprinters.
Remarque : le bon fonctionnement du logiciel nécessite :
La création préalable d'une "mémoire commune système" par le programme DhsDivalto.exe. Ce programme est exécuté automatiquement au démarrage d'une session utilisateur, à condition que le programme DhSession.exe soit présent dans le groupe de démarrage (l'ajout de ce dernier dans le groupe de démarrage est effectué à l'installation d'Harmony). Voir aussi la rubrique Installation d'Harmony sous plusieurs comptes / profils utilisateur.
Le paramétrage d'Harmony s'effectue pour l'essentiel à partir de ce menu :
Etc.
Quelques autres paramètres sont situés dans la base de registre (section Divalto.ini).
Serveurs et chemins
Retrouvez les informations concernant les serveurs et chemins en suivant ce lien
Utilisateurs, profil et environnement d'Harmony
Retrouvez les informations concernant les utilisateurs, profils et environnements en suivant ce lien
Attention, certaines informations de rétrocompatibilité sont indiquées ici
Identification automatique au lancement d'une tâche Harmony (version 6)
Par défaut, aucun code utilisateur n'est affecté à une fenêtre Harmony lancée depuis le gestionnaire de programmes de Windows. Ceci oblige l'utilisateur à s'identifier à chaque ouverture de fenêtre Harmony.
Une identification implicite (avec affectation correspondante des chemins implicites et des droits d'accès de l'utilisateur) est toutefois possible, à condition de renseigner la variable d'environnement X_USER. Pour ce faire, modifiez la base de registres pour y ajouter/modifier la clé X_USER avec la valeur correspondante dans le chapitre ENVIRONMENT de HKEY_CURRENT_USER.
Vous accédez aussi aux variables d'environnement par le panneau de configuration : Choix Système, Onglet Avancé, Bouton Variables d'environnement, cadre Variables utilisateur.
Conseil : à l'installation du run-time d'Harmony, garnissez la zone Code utilisateur pour affecter automatiquement une valeur à X_USER.
Vous pouvez donner les valeurs suivantes à X_USER :
Directement le code utilisateur voulu (20 caractères maximum). Dans ce cas, Harmony identifie automatiquement l'utilisateur avec le code spécifié. Exemple : X_USER=JOEL
! (point d'exclamation). Dans ce cas, Harmony identifie automatiquement l'utilisateur avec le code employé lors de l'ouverture de session Windows. Cette méthode est pratique (et conseillée) lorsqu'un même poste est utilisé par plusieurs utilisateurs ou sous Windows Terminal Server Edition (TSE). Exemple : X_USER=!
Remarque : lorsque X_USER est défini, le Login est tout de même demandé, au premier chargement d'une fenêtre Harmony, si un mot de passe est défini dans Xlogf pour l'utilisateur (voir la rubrique Gestion des mots de passe Harmony).
Attention : de plus, définir X_USER n'affranchit pas du fait qu'il faut déclarer les utilisateurs dans la base Harmony, par Xlog1.dhop.
Utilisateur par défaut pour Odbc
Le choix Paramétrage : Utilisateur par défaut pour ODBC du menu d'Harmony (qui lance l'utilitaire xDefautUserForOdbc) permet de définir un utilisateur par défaut, qui sera utilisé lors des connexions à Odbc pour le compte courant.
Si un utilisateur par défaut est défini, la boîte de dialogue de connexion n'est plus affichée, ce qui permet en particulier :
De ne plus avoir à ressaisir à chaque fois son code utilisateur et son mot de passe.
De lancer des requêtes en automatique et en tâche de fond.
Les paramètres à saisir sont les suivants :
Utiliser cet utilisateur par défaut pour ODBC | Validez cette option pour activer la notion d'utilisateur par défaut. Si cette case est décochée, la boîte de dialogue de connexion continuera d'être affichée à chaque connexion. |
Code utilisateur | Code de l'utilisateur qui servira d'utilisateur par défaut. |
Mot de passe | Mot de passe. |
Utiliser les implicites pour ODBC | Si cette option est active, le fichier d'implicites qui sera utilisé est celui défini dans le champ Chemins implicites Odbc des paramètres de l'utilisateur (fichier Xlogf). Sinon, ce sera celui défini dans le champ Chemins implicites. |
Déclaration des unités imprimante et V24
Il existe deux cas pour lesquels vous devez déclarer une voie de type V24 :
Utilisation d'un logiciel de communication.
Impression "directe" (sans passer par le spouleur) sur une voie série ou parallèle.
Pour déclarer ces unités, appelez le choix <Paramétrage : Unités V24> du menu Harmony.dhop. Une unité est définie par un chemin d'accès (nom Windows du port d'entrée/sortie : COM1:, COM2:, LPT1:, LPT2:, ...), par son type (voie série ou parallèle) et, dans le cas d'une voie série, par ses paramètres de communication (vitesse, protocole, etc.).
Lorsque vous déclarez une unité de type V24, vous devez renseigner les champs suivants :
Port
Il s'agit du nom Windows du port d'entrée-sortie. En général :
COM1: COM2: … (voies série)
LPT1: LPT2: … (imprimantes parallèles)
Type d'unité
Voie série V24 ou imprimante parallèle.
Paramètres de la voie série (sauf imprimante parallèle)
Vitesse, protocole, nombre de bits de données et de stop bits, parité.
Pool des tâches
Le pool de tâches est une fonctionnalité d'Harmony qui permet de réduire notablement le temps de chargement des programmes.
Le principe général est le suivant : Des tâches (xRtDiva.exe côté serveur et xWpf.exe côté client) restent résidentes en mémoire après la fin des programmes. Elles sont ainsi immédiatement disponibles lorsque l'utilisateur relance de nouveaux programmes. De plus, Harmony anticipe un lancement ultérieur de manière à toujours conserver au moins une tâche libre en avance dans le pool.
Exemple schématique :
L'exécution de l'interface d'accueil charge xRtDiva pour ses propres besoins.
Un deuxième xRtDiva est immédiatement chargé et placé dans le pool des tâches en attente.
L'appel d'un zoom à partir de l'IA ne charge pas xRtDiva mais utilise la tâche libre du pool.
A la sortie du zoom, xRtDiva reste chargé en mémoire et est replacé dans la liste des tâches en attente.
Un nouvel appel de zoom (ou d'un autre programme) à partir de l'IA ré-utilise la tâche libérée précédemment.
Un nouveau pool est créé à chaque appel de l'IA. Tous les programmes ou zooms appelés ensuite depuis cet IA sont rattachés à ce pool.
Remarque : Un pool est identifié de manière unique. xConsole permet de visualiser les tâches inactives (si l'option "Filtrer les tâches inactives des pools" est désactivée). La colonne "Pool Id" indique le numéro du pool, la colonne "Pool en attente" affiche "A" pour les tâches du pool en attente.
Pour améliorer encore les temps de chargement, il est possible de paramétrer les pools de tâches : voir la rubrique suivante Paramétrage du pool des tâches.
Paramétrage du pool des tâches
Dans le but d'optimiser les temps de chargement des programmes au moment où l'utilisateur y fait appel, il est possible de paramétrer le pool des tâches sur les points suivants :
Pré-ouverture de connexions à la base SQL. Un programme d'application a besoin d'ouvrir une ou plusieurs connexions à la base SQL. Anticiper ces ouvertures au démarrage de la tâche qui va être mise en attente dans le pool peut améliorer les performances. Par défaut, cette fonctionnalité est désactivée. Pour la mettre en oeuvre, il faut saisir deux clés dans le chapitre System de la base de registre HKEY_LOCAL_MACHINE des serveurs d'applications (par xDivaltoMajIni.exe) :
PoolNbSqlConnections (string) : Nombre de connexions à ouvrir.
PoolSqlConnectionName (string) : Nom de la connexion à utiliser (déclarée dans le fichier Connexions.xml de l'environnement courant).
Pré-chargement de modules Diva. Dans le même esprit, un programme d'application a souvent besoin de charger un ou plusieurs modules Diva. Anticiper ces chargements au démarrage de la tâche qui va être mise en attente dans le pool va améliorer les performances. Par défaut, cette fonctionnalité est désactivée. Pour la mettre en oeuvre, il faut créer le fichier xNopModules.txt et le mettre en ligne. Format du fichier (voir le fichier xNopModules-Modele.txt livré en exemple) : <prefixes> p1 p2 ... </prefixes> <modules> module1.dhop module2.dhop ... xxmod1.dhop xxmod2.dhop ... </modules> Entre les balises <prefixes> et </prefixes>, mentionnez une liste de préfixes (un préfixe par ligne). Entre les balises <modules> et </modules>, mentionnez tous les modules Diva à charger (un nom de module par ligne). Lorsque le nom commence par "xx", xx est successivement remplacé par chacun des préfixes de la liste des préfixes et chaque module obtenu est pré-chargé. Exemple : Si le fichier contient les lignes ci-dessus, les modules module1.dhop, module2.dhop, p1mod1, p2mod1, p1mod2 et , p2mod2 seront pré-chargés.
Divalto.ini
Gestion de Divalto.ini
Le paramétrage du système Harmony s'effectue, dans la base de registre, dans les sections HKEY_LOCAL_MACHINE\Software\Divalto\Divalto.ini et HKEY_CURRENT_USER\Software\Divalto\Divalto.ini :
Dans HKEY_LOCAL_MACHINE, figurent les paramètres liés à l'ordinateur et qui ne dépendent pas de l'utilisateur (voir en particulier la rubrique Configuration de la mémoire commune).
Dans HKEY_CURRENT_USER, figurent les paramètres locaux à la session qui sont susceptibles de varier suivant l'utilisateur (paramétrage imprimantes par exemple).
Les paramètres d'installation ou de configuration doivent être ajoutés, supprimés ou mis à jour avec les utilitaires Harmony adéquats, à savoir xDivaltoMajIni, xDivaltoPrinters ou DivaltoViewer.
Voir aussi : Modification de Divalto.ini sous TSE
Remarque : Divalto.ini évolue au fur et à mesure des versions d'Harmony. Toutefois, en cas de mise à jour de version, le paramétrage existant n'est pas cassé. Ainsi, les adaptations qui y ont été apportées ne sont pas perdues.
Structure de Divalto.ini
Les sections Divalto.ini dans la base de registre sont structurés en CHAPITRES. Dans la documentation d'Harmony, les chapitres sont représentés entourés de crochets.
Un chapitre contient une ou plusieurs valeurs, chaque valeur étant identifiée par une clé. Dans la documentation d'Harmony, une valeur est représentée par sa clé, suivie immédiatement du caractère "=" et de la valeur proprement dite.
Attention, les espaces sont presque toujours significatifs ; par contre, les caractères majuscules et minuscules sont équivalents.
Exemple :
[System] <==> chapitre System
NbFichiersIndexes=100 <==> clé NbFichiersIndexes, valeur 100
NbFichiersDivers=20 <==> clé NbFichiersDivers, valeur 20
Configuration de la mémoire commune
La section HKEY_LOCAL_MACHINE\Software\Divalto\Divalto.ini de la base de registre contient en particulier des paramètres utilisés par le programme d'initialisation de la mémoire commune d'Harmony DhsDivalto.exe :
Nombre maximum de tâches (clé NbTaches). Par défaut, ce nombre vaut 2000. Cette valeur doit être comprise entre 16 (minimum) et 10000 (maximum).
Nombre maximum de fichiers ouverts par tâche (clé NbFichiersParProcess). Déprécié. Cette clé n'est plus utilisée, car ce nombre est désormais déterminé dynamiquement par le système.
Nombre maximum de fichiers séquentiels-indexés (clé NbFichiersIndexes). Indique le nombre maximal de fichiers séquentiels indexés différents susceptibles d'être ouverts simultanément. Ce paramètre concerne l'ensemble des tâches Harmony. Un même fichier ouvert simultanément par plusieurs tâches compte pour une seule unité. Par défaut ce paramètre vaut 200. Il doit être supérieur à 10.
Nombre maximum de descriptifs de clés (clé NbDescriptifsCles). A partir de Harmony 2019-405. Ce paramètre permet de limiter la taille du tableau pour les clés des tdf. Initialement, ce paramètre était égal au nombre maximum de fichiers séquentiels indexés (clé NbFichiersIndexes), or il s'avère que seul les fichiers réels, minoritaires, utilisent ce type de clés. Par ailleurs chaque entrée dans ce tableau est relativement volumineuse, d'où l'intérêt de réduire la taille de ce tableau. De manière empirique on peut déterminer que celui-ci est de l'ordre de 30 à 40% de NbFichiersIndexes, et la valeur par défaut est donc de 60.
Nombre maximum d'autres fichiers (clé NbFichiersDivers). Indique le nombre maximal de fichiers (non séquentiels indexés) différents susceptibles d'être ouverts simultanément. Ce paramètre concerne l'ensemble des tâches Harmony. Un même fichier ouvert simultanément par plusieurs tâches compte pour une seule unité. Par défaut, ce paramètre vaut 40 et doit être supérieur à 10.
Nombre maximum de réservations d'enregistrement (clé NbReservEnreg). Obsolète, ce paramètre est conservé pour des raison de rétro-compatibilité. Indique le nombre maximal de réservations d'enregistrement susceptibles d'être faites simultanément. Le langage DIVA n'impose aucune limite au nombre de réservations mais il convient de ne pas saturer la table "système" associée. Ce paramètre concerne l'ensemble des tâches Harmony. Pour assurer un nombre suffisant, Harmony s'assure que ce nombre soit toujours supérieur à 5 fois le nombre de tâches ; ainsi, la valeur indiquée dans le registre n'est pas prise en compte si elle ne respecte pas ce critère.
Nombre maximum de réservations d'enregistrement personnalisé (clé NbReservEnregMax). A partir de Harmony 2019-405. Cette valeur permet de passer outre la règle ci-dessus et forcer un nombre de réservation d'enregistrement inférieur au seuil de 5 fois le nombre de tâches. Si cette valeur est différente de 0, c'est elle qui prime. Ceci permet de réduire le volume de la mémoire commune ; par exemple, si NbTaches = 2000, le nombre de réservations d'enregistrement minimal calculé selon la règle énoncée précédemment sera de 10 000. Fixer la présente valeur à 4000 permettra de réduire le volume de la mémoire commune.
Nombre maximum de réservations d'entité (clé NbReservEntites). Obsolète, ce paramètre est conservé pour des raison de rétro-compatibilité. Indique le nombre maximal de réservations d'entité susceptibles d'être faites simultanément. Les entités sont réservées par la fonction FSHARE du langage Diva. Ce paramètre concerne l'ensemble des tâches Harmony. Pour assurer un nombre suffisant, Harmony s'assure que ce nombre soit toujours supérieur à 5 fois le nombre de tâches ; ainsi, la valeur indiquée dans le registre n'est pas prise en compte si elle ne respecte pas ce critère.
Nombre maximum de réservations d'entité personnalisé (clé NbReservEntitesMax). A partir de Harmony 2019-405 Cette valeur permet de passer outre la règle ci-dessus et forcer un nombre de réservation d'entité inférieur au seuil de 5 fois le nombre de tâches. Si cette valeur est différente de 0, c'est elle qui est utilisée, même si elle ne respecte pas le seuil 5*NbTaches. Réduire cette valeur permet de réduire le volume de la mémoire commune.
Nombre maximum de licences V7 (clé NbLicences) Ce nombre est lié au nombre maximum de tâches. Sa valeur par défaut est de 3000 soit 1.5x le nombre maximum de tâches.
Nombre maximum de chemins (clé NbChemins) Taille de la liste des chemins Harmony (50 par défaut).
Nombre maximum de licences distributeurs (clé NbLicencesDistributeur) Cela concerne les programmes spécifiques ou les add-on qu'un distributeur voudrait distribuer sous son propre système de licences. Valeur par défaut : 200
Nombre maximum de serveurs (clé NbServeurs) Taille maximum de la table des serveurs et des voies série dans la mémoire commune. Par défaut 255.
Nombre maximum de boites à lettres (clé NbBal) Obsolète. La valeur par défaut est 60. Les programmes standards n'utilisent plus cette fonctionnalité. Les programmes spécifiques qui l'utiliseraient encore devraient changer progressivement abandonner cette fonctionnalité.
Recommandation :
A moins de rencontrer des problèmes liés à :
des problèmes taille mémoire de Xlan
des problèmes récurrents de saturation des tables de réservations (d'enregistrement ou d'entités)
Nous recommandons de laisser les clés NbReservEntitesMax et NbReservEnregMax à leur valeur par défaut (0) et de laisser Harmony gérer automatiquement les seuils de réservations.
Dans les cas où il serait nécessaire de personnaliser les nombres de réservations, il est impératif de connaître finement les besoins minimaux de l'architecture concernée car l'utilisation des deux clés sus-mentionnées outrepasse les garde-fous précédemment en place et présente des risques de stabilité des applications pour les utilisateurs.
Attention : une modification sur ces paramètres n'est pas immédiatement répercutée (relancez Windows ou arrêtez et relancez Harmony par xDivaltoRestart.exe).