Détail HOTFIX 2021 406-7 du 23 Août 2021
Harmony, hotfix
Détail HOTFIX 2021 406-7 du 23 Août 2021
Ce hotfix concerne les serveurs ainsi que les clients.
Corrections
Xrtdiva
Historiquement, si on demande un environnement qui n'existe pas alors xrtdiva va chercher les informations du code utilisateur et donc des implicites dans le fichier xlogf du répertoire divalto\sys\. Ceci peut poser un problème dans le cas où l'utilisateur est aussi présent dans le xlogf de divalto\sys\ car cela laisse penser qu'on est sur le bon environnement ce qui est faux
Dorénavant, xrtdiva peut sortir une erreur dans ce cas précis. Il faut pour cela aller dans divalto.ini sur LOCAL_MACHINE ou dans CURENT_USER, Chapitre System Et mettre la variable LireXlogfLocalSiXlogfReseauErreur=0
Youtlook
L'écriture dans un fichier ne fonctionnait pas toujours dans la fonction OutlookReadProp(PropFile). Conséquence, dans le choix de la génération des événements à partir de outlook, lors de la lecture des rdv, le texte du rdv n'était pas toujours transmis quand on était en transport web/socket (Par contre cela fonctionnait en mode TSE ou Citrix)
Conversion PDF
Le calcul de l'épaisseur des traits n'était pas toujours le bon et il pouvait y avoir des traits horizontaux ou verticaux avec des épaisseurs différentes alors que la description dans le masque imprimante était la même.
Par défaut cette correction est désormais active, mais on peut la désactiver dans le menu Options > Paramètres > Convertion PDF > Traitement des pages > Ne pas activer la correction sur l'épaisseurs des traits. On peut aussi laisser la correction mais changer l'épaisseur de traits à partir de laquelle a
lieu cette correction (défaut : 4 Pixels)
Agent impression
Il prenait beaucoup trop de temps processeur car il y avait une fonction qui bouclait au lieu d'attendre qu'un événement se produise
Xtools.Dhop
Il manquait dans plusieurs boites de dialogues les boutons Oui / Non / Tous / Aucun / Abandon et xtools partait dans des boucles infinies.
Xperfsql
Quelques corrections sur les textes écran et les alignements des boites. Filtrage selon le nom du programme diva : Le filtrage sur le nom du dictionnaire et sur le nom du record sql se fait non plus sur l'égalité mais avec un like, on peut par exemple écrire grpp* pour ne garder que les programmes diva commençant par grpp
DhServices
Problème de désynchronisation possible entre le client et le serveur. Si une action sortait en timeout, on recevait la reponse de la question précédente et donc le dialogue se trouvait désynchronisé.
» Allongement du timeout par défaut de 20 à 60 secondes par défaut
Xoverwritecompile.dhop
L'écriture du journal ne prenait pas en charge le mode cloud. Maintenant on écrit : En mode on premise dans /divalto/divaltolog/xoverwriteCompil En mode cloud dans
/divalto/cloud/nomServeur/divaltolog/xoverwriteCompil
Lancement des services Diva
On attend 5 secondes avant de lancer le xrtdiva suivant, car sinon il y avait des risques de collision entre les paramètres d'environnement des xrtdiva
Améliorations
DivaltoViewer / xdivaltoparam.dhop
Dans le menu Options > Paramètres > Impression, ajout des boutons :
Liste à puceEffacer le fichier de Journalisation, ce bouton permet d'effacer tous les fichiers de debug de mapi.log local au poste client et efface les autres fichiers de debug s'ils existent à savoir DhMailSmtp.log, DhMailEWS.log et DhMailGsuite.log.
Liste à puceCharger le fichier de Journalisation, ce bouton lance notepad.exe avec le fichier mapi.log local et charge les autres fichiers de debug s'ils existent à savoir DhMailSmtp.log, DhMailEWS.log et DhMailGsuite.log.
A noter : pour créer ces fichiers, il faut une première fois lancer DivaltoViewer en mode administrateur (clic droit sur le fichier DivaltoViewer.exe dans l'explorateur de fichiers de windows et runas admin) et utiliser le bouton Effacer le fichier de journalisation.
MAPI
Dans le menu Options > Paramètres > Protocole MAPI, ajout de la case à cocher Dans l'appel du Carnet d'adresse, ne pas ouvrir la boite de connexion de Outlook si possible. Dans Outlook, l'appel au carnet d'adresses lance la gestion du carnet d'adresse de Outlook, et affiche donc normalement la boite de dialogue de connexion à Outlook. Cocher cette case, permet de ne pas ouvrir cette boite de dialogue de connexion et de prendre le profil par défaut de Outlook.
Selon la version de Outlook, cela peut ne pas fonctionner. Le cas échéant, la gestion du carnet d'adresse de Outlook continuera à ouvrir la boite de dialogue de connexion .
Module REST par le service web DhsDivaltoServiceDivaRest
Ajout du programme XCreateFileRecordsqlForRest.dhop Et adaptation de XCloudAdmin.dhop Avec l'ajout de boutons pour créer les fichiers xml et les lire.
Un fichier xml fait le lien entre le nom des recordsql et le nom du fichier dhoq contenant ce recordsql, ce qui permet de ne plus avoir à mettre le nom du dhoq dans le json de la requête. Il suffit de mettre :
"dhoq": "",
"recordsql": "CODEPOSTAL", "dhoq": "",
"recordsql": "ARTICLE",
Les dictionnaires de données sont épurés et sous la forme xml, ce qui permet d'optimiser de façon importante le chargement des dictionnaires car le module REST travaille avec des noms de champs et pas avec des positions dans des enreg comme le fait xrtdiva
Dans le module REST lui-même :
La liste des champs pouvait être fausse et la gestion des surcharges des dictionnaires et des recordsql ne fonctionnait pas toujours.
» Ajout du champ Filter. Il permet, en écrivant du json, de mettre des commandes where etc… Exemple :
Par défaut le module REST utilise l'opérateur AND avec les WHERE :
"filter":
{
"where": [
{"name":"EQUAL_VIL", "parameters":"ALBI" },
{"name":"LIKEL_INSEE", "parameters":"81%" }
]
}
Mais on peut lui dire d'utiliser l'opérateur OR :
"filter":
{
"operator_where":"OR", "where":
[
{"name":"EQUAL_VIL", "parameters":"ALBI" },
{"name":"EQUAL_VIL", "parameters":"TOULOUSE" }
]
}
Ou bien directement indiquer la manière de traiter les where :
"filter":
{
"where":
[
{"name":"LIKE_CPOSTAL", "parameters":"31%" },
{"name":"EQUAL_VIL", "parameters":"BLAGNAC" },
{"name":"EQUAL_VIL", "parameters":"TOULOUSE" }
],
"whereaddcondition":
{
"name":"cond1", "condition":"LIKE_CPOSTAL and (EQUAL_VIL or EQUAL_VIL)"
}
}
Ou utiliser les commandes joindeactivate et joinactivate
"filter":
{
"joindeactivate":"$ALL" "operator_where":"OR", "where":
[
{"name":"EQUAL_VIL", "parameters":"ALBI" },
{"name":"EQUAL_VIL", "parameters":"TOULOUSE" }
]
}
Le champ acces_token contient le numéro de token mais on peut maintenant laisser ce champ vide et utiliser le header Authorization en mode Bearer.