Harmony 2017 [401] : notes de version

harmony, interface

Divalto harmony - Harmony Power Foundation infinity 2017 Master 401

 

A partir de la version :

Date

Auteur

Commentaire

2017

27/06/2017

Thierry LORENTZ




Cher partenaire,

Nous avons le plaisir de vous annoncer la disponibilité de Harmony Power Foundation infinity 2017 Master 401.


Il s'agit d'une version majeure qui comporte de nombreuses améliorations pour les utilisateurs, les administrateurs et aussi pour les développeurs.
Elle comporte l'outil d'aide à la migration permettant de valoriser l'effort nécessaire. Cet outil peut aussi être utilisé en avant-vente pour aider au chiffrage du coût de la migration.
Elle prend en charge la gestion des licences nommées pour la génération 10 de l'ERP.
Vous trouverez le détail de toutes les évolutions dans l'interface complète.


Remarques importantes

  • Pour les installations de démonstration (dites kit 500 000), la gestion des licences n'est pas changée. Ces versions permettent d'exécuter tous les programmes de toutes les versions de l'ERP. Les utilisateurs ne sont pas nommés.



  • Harmony Power Foundation 2017 continue à prendre en charge la gestion des licences de l'ERP des versions 6 et 7 sans changement.



  • Les applications Telnet spécifiques doivent être adaptées pour prendre en compte la nouvelle gestion des licences.



  • Le master 401 annule et remplace le master 400b.

Cordialement, Thierry Lorentz
Directeur R&D système






Avantages utilisateur



Filtre du zoom


Deux nouveaux choix des filtres permettent de simplifier la saisie de filtres avec une liste de valeurs :

  • Est dans la correspondance



  • N'est pas dans la correspondance



Pour spécifier la liste des valeurs, il suffit de les saisir avec un espace de séparation :



Boutons paramétrables dans l'onglet Divalto de Outlook



Un programme de paramétrage de l'ERP Divalto permet de mettre en place ces boutons et de les associer à un programme Diva. Un fichier paramètre contient la description des boutons à mettre en
place.



Viewer de fichier Pdf dans un masque d'écran.


Le nouvel objet Surface permet de mettre en œuvre un viewer de fichiers pdf dans un masque d'écran.
Dans l'exemple ci-dessous, le programme Diva affiche une fenêtre dans laquelle apparaît le fichier pdf associé à la fiche en cours. Une barre de boutons intégrée à l'objet permet en particulier de naviguer dans le document.

La version WPF du client léger permet également de visualiser des documents .docx et .rtf sans modification des programmes. Cette fonctionnalité est en cours de développement pour un client HTML.




Widget Liste avec un entête de colonnes


Il est désormais possible d'ajouter un entête de colonnes aux Widgets Liste.

L'ajout de l'entête nécessite une modification du programme associé au Widget.

Optimisation de l'envoi de fichiers pdf en client léger


L'envoi d'un courriel peut être accompagné d'une pièce jointe au format pdf. Le fichier pdf peut provenir de la conversion d'un fichier .dhvw. Le dialogue entre le client léger et le serveur d'applications a été optimisé afin de réduire au strict nécessaire les échanges entre le client et le serveur. Si l'envoi du courriel s'effectue sur le serveur par les interface EWS ou SMTP, toutes les opérations sont directement effectuées sur le serveur d'applications.

Fusion de plusieurs fichiers dhvw.


Un choix du menu Options de DivaltoViewer permet de fusionner l'aperçu courant avec un autre fichier dhvw. Il est ainsi possible de créer un fichier dhvw unique regroupant plusieurs fichiers d'aperçu.

Cette opération peut aussi se faire par programme.

Widget tâches CRM.


Les tâches CRM apparaissent avec la même couleur de caractères que dans le zoom des événements. Cette fonctionnalité nécessite au moins une version X.1a ou 7.5b de l'ERP.





Publipostage WORD avec une interface OpenXml


Les fonctions de publipostage avec Word utilisent désormais l'interface OpenXML pour générer le fichier des données du publipostage. Ceci a un impact très important sur les temps de réponses avec un client léger, en particulier pour les connexions à distance avec une forte latence. En effet cette nouvelle interface réduit considérablement le dialogue entre le client léger et le serveur d'applications. La mise en œuvre ne nécessite aucune modification des programmes existants.

Notification dans l'Interface d'accueil


Cette nouvelle fonctionnalité est disponible à partir de la version X.1a de l'ERP. Elle permet d'envoyer des notifications aux utilisateurs de l'ERP. Le coin supérieur droit de l'IA comporte une nouvelle icône indiquant le nombre de notifications non encore masquées par l'utilisateur.

Le survol de l'icône affiche la ou les notifications en cours.

La saisie d'une notification s'effectue par le zoom des notifications. L'accès à ce choix est limité par une confidentialité.

Une notification peut-être un simple texte ou un texte apparaissant dans une fenêtre popup et demandant un acquittement par ses lecteurs.
L'auteur d'une notification indique sa période d'affichage et son importance. Il précise aussi si elle est masquable par l'utilisateur avant sa date de péremption. Enfin, un traitement peut lui être associé.
L'option « Empêcher le lancement de programmes » pourra être utilisée par un administrateur du site pour des opérations de maintenance qui nécessitent que tous les utilisateurs se déconnectent de l'ERP. Les traitements en cours se poursuivront mais les utilisateurs ne pourront plus lancer de nouveaux traitements (à l'exclusion de l'utilisateur ayant créé ou modifié la notification).




Gestion de la perte de connexion en client léger WPF avec une connexion par service Web


La connexion d'un client léger avec un profil de connexion « Par Service Web » gère désormais la perte de connexion. En cas d'interruption, une boîte de dialogue apparaît, signalant que la connexion vers le serveur est indisponible. Cette boîte disparaît automatiquement lorsque la connexion est rétablie. Les programmes en cours d'exécution ne sont plus arrêtés.











Installation et paramétrage




Gestion des licences nommées



Introduction


A partir de la génération 10, l'utilisation de l'ERP Divalto est soumise à des licences nommées, c'est- à-dire que chaque utilisateur de l'ERP doit être identifié par son compte et son mot de passe Windows.
A chaque utilisateur est associé un profil qui détermine les fonctionnalités de l'ERP auxquelles il aura accès. Le tarif Divalto décrit les profils existants pour chaque gamme et chaque déclinaison métier de l'ERP.
L'activation des licences d'un site s'effectue grâce à Divalto Licenses Management Tool (DLMT). L'activation des licences requiert impérativement une connexion au réseau Internet.

Certificat de licences d'un site


Chaque site dispose d'un certificat de licences comprenant les informations suivantes :

  • Le numéro du site.



  • Le code d'accès.


Ces informations permettent de s'identifier auprès d'un serveur de DIVALTO, afin d'activer les licences du site. Pour cette opération, une connexion Internet depuis le serveur de licences (à défaut, depuis un des postes du site) est obligatoire.

Le code d'accès pour les licences nommées comporte 10 caractères.





Divalto Licenses Management Tool (DLMT)


DLMT est l'outil permettant de gérer les licences d'un site. Il est automatiquement lancé au moment de l'installation de l'ERP ou de Divalto Power Foundation sur un ordinateur. Il peut être exécuté ultérieurement en cas d'évolution de la configuration des licences (par exemple, l'ajout de profils complémentaires ou l'affectation d'un profil existant à un autre utilisateur).


DLMT s'exécute sur le serveur de licences ou sur un poste quelconque du réseau local connecté au serveur de licences. Il doit aussi disposer d'une connexion à Internet.

La page d'accueil demande les informations suivantes :

  • Le numéro de site et le code d'accès qui figurent sur le certificat de licences.



  • Le nom du serveur de licences (sur lequel s'exécute le service DhsXlanServer).

  • Le numéro de port pour dialoguer avec ce serveur (1235 par défaut).



DLMT : Association des utilisateurs aux profils


DLMT permet d'associer les profils à des utilisateurs nommés. Les comptes Windows des utilisateurs qui utiliseront l'ERP doivent être associés aux différents profils de l'installation. A chaque profil correspond un compte.
Le tableau d'associations comporte autant de lignes que de profils commandés. Si l'installation comporte par exemple trois profils « Full », le profil « Full » apparaitra sur trois lignes dans le tableau. Il faudra pour chacun indiquer le compte de l'utilisateur qui pourra bénéficier des fonctionnalités liées à ce profil.

L'association peut s'effectuer de manière manuelle, assistée ou automatique.

  • Pour l'association manuelle, il convient tout simplement de saisir le compte de l'utilisateur dans le tableau.




  • La saisie assistée nécessite un annuaire LDAP (par exemple, l'Active Directory).

Dans les options, il faut alors indiquer les paramètres de connexion au serveur LDAP (voir le paragraphe « Option : Annuaire LDAP »). Dans ce cas, au fur et à mesure de la saisie des comptes d'utilisateur, DLMT propose les utilisateurs correspondant à la saisie.


  • L'association automatique peut s'effectuer soit à partir d'un fichier Excel, soit à partir de l'annuaire LDAP.



DLMT : Association des utilisateurs aux options


L'utilisation de certaines options (par exemple, Divalto infinity ou EBICS-TS) est réservée à des utilisateurs nommés. Ces options apparaissent dans le tableau des options situé en-dessous du tableau des profils. La saisie des comptes d'utilisateur s'effectue de la même manière que pour les profils.

DLMT : Export et import Excel


Le menu Excel propose l'export et l'import des profils et des options dans un fichier Excel. L'export crée un fichier avec deux feuilles : « Profiles associations » et « Options associations ». Dans la colonne A de chaque feuille, on trouve la liste des profils ou des options à associer. Il convient alors de saisir les comptes des utilisateurs dans la colonne B puis d'importer le fichier Excel contenant les associations.
Attention, l'import annule et remplace toutes les associations qui auraient été effectuées précédemment. L'export reprend les comptes déjà associés à des profils ou à des options pour permettre de compléter les associations déjà existantes sur un serveur.



DLMT : Contrôle de la saisie


Un profil utilisateur ou une option ne peuvent être associés qu'à un seul utilisateur. Un utilisateur d'une option doit obligatoirement être associé à un profil. Le programme de saisie et les imports vérifient ces conditions.

DLMT : Réaffectation d'un profil ou d'une option


Il est parfois nécessaire de réaffecter un profil à un autre utilisateur, par exemple lors d'un changement de fonction nécessitant un autre profil.
Un clic droit dans la colonne « Utilisateur » permet de réaliser cette opération. Pour changer l'utilisateur associé à un profil, il suffit de saisir un nouveau compte en face du profil concerné.
Pour supprimer l'affection d'un profil à un utilisateur, on peut saisir un nom à espace ou utiliser la touche « Suppr » sur la ligne de cet utilisateur. Cette opération peut être nécessaire lorsque l'on souhaite intervertir les profils de deux utilisateurs, car la réaffectation n'est possible que sur un profil non encore affecté.

DLMT : IUOP supplémentaires


La licence Infinity Universal Open Platform est nécessaire pour exécuter du code Diva.
Cette licence est d'ailleurs suffisante pour l'exécution de programmes spécifiques DIVA entièrement indépendants de l'ERP Divalto.

Remarque : Il ne sera nécessaire de modifier cette valeur qu'en cas de mise en œuvre de plusieurs
serveurs de licences sur lesquels on souhaiterait répartir les licences IUOP.

DLMT : Option Annuaire LDAP



Si les utilisateurs de l'ERP sont référencés dans un annuaire LDAP (par exemple l'Active Directory de Microsoft) et que l'on souhaite soit une saisie assistée des associations, soit importer directement les associations depuis l'annuaire, il faut configurer l'accès à l'annuaire dans les options de DLMT.
Il convient de cocher la case pour activer l'option puis d'indiquer le nom du domaine. Le bouton en regard du champ Domaine permet de détecter le domaine courant.
Le champ « Filtre de base » permet de restreindre l'accès à l'annuaire pour une Unité organisationnelle (O.U. : Organizational Unit). Le bouton en regard de ce champ garnit les O.U. existantes dans la boîte de sélection.

DLMT : Import depuis un annuaire LDAP

Pour utiliser l'import des associations de profils ou d'options depuis un annuaire LDAP, ce dernier doit comporter les propriétés spécifiques :

  • DIVALTOPROFILE qui devra contenir le nom abrégé du profil (par exemple ADMIN).



  • DIVALTOOPTIONS qui devra contenir le nom abrégé de l'option.


Ces propriétés doivent être ajoutées dans l'annuaire par son administrateur, avec l'outil d'administration de l'annuaire. Ensuite, les valeurs pour chaque utilisateur peuvent être renseignées par le choix de gestion de l'annuaire LDAP de DLMT.
Le contrôle de cohérence des associations des profils et des options s'effectue au moment de l'import.

DLMT : Gestion des utilisateurs de l'annuaire LDAP


DLMT propose la gestion des utilisateurs et des groupes d'un annuaire LDAP. Les opérations prises en compte sont l'ajout, la suppression et la modification. L'utilisateur souhaitant effectuer ces opérations depuis DLMT devra avoir les droits d'accès définis au niveau de l'annuaire.
Le choix « Gestion » affiche la liste des utilisateurs de l'O.U. précisée comme filtre de base :
Les boutons d'action situés en bas de l'écran permettent de créer, supprimer ou modifier un utilisateur, et de réactualiser la liste.

La fiche d'un utilisateur comporte trois parties :

  • « Général » contient des propriétés standard de l'annuaire.

En particulier, on y trouve l'identifiant de l'utilisateur qui lui servira à s'identifier lors de l'ouverture de session ou de l'accès à l'ERP Divalto. C'est cet identifiant qui sera associé aux profils ou aux options.

  • « Autres attributs » comporte une liste de propriétés paramétrables de l'annuaire LDAP que l'on souhaite gérer avec DLMT. Cette liste est stockée dans le fichier paramètre

« DlmtLdapProperties.txt » :


La balise <name> permet d'indiquer le libellé qui apparaît dans le masque de saisie de l'utilisateur. La balise <Propertie> contient le nom de la propriété dans l'annuaire.
Un point-virgule en colonne 1 permet de mettre la propriété en commentaire. Dans ce cas, elle n'apparaîtra plus dans l'interface de saisie.

Ces propriétés doivent préexister dans l'annuaire LDAP. Les propriétés spécifiques comme DIVALTOPROFILE, DIVALTOOPTIONS ou DIVALTOALIAS devront être ajoutées dans l'annuaire LDAP par son administrateur.


  • « Groupes de l'utilisateur » permet d'associer l'utilisateur à des groupes.

DLMT : Gestion des groupes d'utilisateurs de l'annuaire LDAP


DLMT propose la gestion des groupes d'un annuaire LDAP. Sont prises en compte les opérations d'ajout, de suppression et de modification. L'utilisateur souhaitant effectuer ces opérations depuis DLMT devra avoir les droits d'accès définis au niveau de l'annuaire.



DLMT : Informations


Le choix « Informations » du menu Général affiche les informations du serveur de licences :

La version de l'ERP est indiquée dans le cartouche d'en-tête.
Pour les options, la version est spécifiée sur chaque ligne de chaque option. Des options ont une date limite de validité. La date apparaît alors sur la ligne de l'option concernée.
Certaines options sont liées à un utilisateur nommé. Elles apparaissent alors dans le tableau de saisie des associations des utilisateurs aux options. Dans le tableau d'informations, la colonne « Par utilisateur » est positionnée à la valeur « Oui ».
Pour les profils utilisateurs, la colonne Nombre contient le nombre de profils activés sur ce serveur de licences, plus le nombre de licences qui n'ont pas encore été activées pour le site.

DLMT : Proroger un serveur de licences


Un serveur de licences reste actif jusqu'à la date limite de prorogation. Au-delà de cette date, il ne délivrera plus de licences. À tout moment avant cette date, il est possible de proroger manuellement le serveur de licences par le choix « Proroger le serveur de licences » du menu général.
Lors de l'activation d'un serveur, il est possible d'indiquer les adresses Email des personnes à informer dix jours avant la date limite de prorogation.

Les profils administrateurs recevront également une notification à partir de l'Interface d'accueil de l'ERP.

DLMT : Planifier la prorogation d'un serveur de licences


Par le choix « Planifier la prorogation » du menu Général, il est également possible de créer une tâche planifiée qui prorogera automatiquement le serveur de licences 15 jours avant la date limite de prorogation.


La tâche planifiée s'exécutera 15 jours avant la date limite de prorogation. En cas de succès, elle planifiera la tâche 15 jours avant la prochaine échéance. En cas d'échec, elle effectuera une nouvelle tentative chaque jour jusqu'à la date limite de prorogation.



DLMT : Désinstaller un serveur de licences


En cas de remplacement d'un serveur de licences par un nouveau serveur, il convient de désinstaller les licences sur l'ancien serveur avant de pouvoir les activer sur le nouveau.

DLMT : Gestion de plusieurs serveurs de licences


Pour un même site, il est possible de mettre en œuvre plusieurs serveurs de licences. Cette opération, bien qu'exceptionnelle, est simple à mettre en œuvre.
Par DLMT, on se connecte dans un premier temps sur le premier serveur de licences et l'on affecte les
profils des utilisateurs de ce serveur. Après validation de la configuration, on peut se connecter à un deuxième serveur de licences, qui garnira dans ce cas le tableau des licences avec les profils qui n'ont pas encore été affectés. On procédera alors à l'affectation des profils des utilisateurs sur ce deuxième serveur puis sur les serveurs suivants.
Remarque importante : Chaque serveur de licences doit comporter au moins un profil

administrateur.



Licences IUOP supplémentaires.
Si le site comporte des licences IUOP en supplément aux licences associées aux profils, il conviendra de mettre à jour le compteur « UIOP supplémentaires » pour répartir ces licences entre les différents serveurs. Par défaut, les licences sont affectées au premier serveur de licences.

DLMT : Le profil Administrateur


Le profil « Administrateur » est un profil particulier, obligatoire pour au moins un utilisateur de chaque serveur de licences d'un site client. Il donne droit à l'utilisation de tous les produits liés à la déclinaison métier du site. Il donne de plus l'accès au SDK Harmony. Les utilisateurs ayant ce profil seront informés, par une notification dans l'interface d'accueil, dix jours avant la date limite de prorogation du serveur de licences auquel ils sont connectés.

DLMT : Le profil Consultation


Le profil « Consultation uniquement » permet d'accéder aux mêmes fonctionnalités de l'ERP que le profil administrateur, mais uniquement en consultation. Aucune création, modification ou suppression de données n'est alors autorisée pour un utilisateur ayant ce profil.
Les choix de menus, les boutons de barres d'outils (et les raccourcis clavier correspondants) permettant d'accéder à des fonctionnalités de création, de modification ou de suppression de données sont alors inopérants.

DLMT : Le mode d'exécution « en Consultation »


Certains programmes, notamment des zooms, peuvent s'exécuter en mode consultation uniquement, pour des profils différents du profil « Consultation uniquement ». Il s'agit en général de fonctionnalités qui ne sont pas accessibles par le profil de l'utilisateur.

DLMT : Installation de DLMT sur un poste client


DLMT s'exécute a priori directement sur le serveur de licences. Dans le cas où ce serveur n'a pas d'accès au réseau Internet, il convient d'exécuter DLMT sur un poste client ayant accès au serveur de
licences et à Internet. Un client lourd sur lequel Harmony Power Foundation est installé comprend DLMT.
S'il s'agit d'un poste avec un client léger, il conviendra d'installer d'abord le Package DLMT sur ce poste.



Signature du code


Les exécutables de Divalto Power Foundation sont désormais signés par l'organisme Verisign, en particulier pour éviter les détections de faux positifs par les antivirus lors de l'installation.

Réorganisation du menu Harmony


Le menu Harmony a été légèrement réorganisé avec notamment l'ajout d'un menu
« Administration ».




Paramètres impressions et messageries de DivaltoViewer


Ce choix est désormais accessible depuis le menu Harmony.

Implicites par défaut


Dans le fichier d'implicites ImplicitesDefaut, le nom du serveur est ajouté en préfixe de tous les chemins. Cela permet d'utiliser directement (sans modification) le fichier des implicites à partir d'un serveur d'applications.

Environnement local


A l'installation, si l'option « Créer un environnement » est sélectionnée, l'installateur crée aussi un environnement local, qui utilise le fichier des utilisateurs du chemin /Divalto/Sys.

Compression des trames pour un client léger avec une connexion Web


Les clients légers WPF et Html permettent de dialoguer avec un serveur IIS sur lequel la compression des données a été mise en œuvre. La compression améliore sensiblement les temps d'affichage sur le poste client.
Pour activer la compression sur le serveur il faut se positionner sur l'application LCWEB ou
LCWEBSERVICE (respectivement pour les clients Html ou WPF), sélectionner l'icône Compression, et cocher la case « Activer la compression du contenu dynamique ».

Si cette case est grisée il faut installer le composant dans IIS à partir du panneau de configuration.

  • Programmes et fonctionnalités



  • Activer ou désactiver des fonctionnalités de Windows



  • Internet information Services



  • Services World Wide Web



  • Fonctionnalités de performances



  • Compression du contenu dynamique

La console d'administration XConsole au format WPF


La console est disponible au format WPF. Elle comporte un choix supplémentaire visualisant l'utilisation des licences nommées.




Serveur d'applications Harmony Web


Xwin comporte un éditeur de masques Web permettant de développer des applications WEB natives. Compte tenu de l'apparition du client léger Html5, cette technologie est aujourd'hui obsolète et sera à
terme supprimée de l'atelier de développement. Le répertoire /divalto/internet/Webserveur qui contient la page d'accueil au format .asmx a déjà été supprimé du master 401.

Remarque :


Le "Client léger Html" et "Harmony Web" sont deux produits totalement distincts, qui utilisent deux technologies différentes et ne doivent pas être confondus. Le client léger Html continuera bien évidemment à évoluer pour proposer les mêmes fonctionnalités qu'un client WPF.



Développement





Atelier de développement Xwin



Effacement des listes d'undo/redo à la sauvegarde dans l'éditeur de textes


Jusqu'à présent, dans l'éditeur de sources Diva de Xwin, les fonctions d'édition « Annuler » (undo) et
« Recommencer » (redo) devenaient indisponibles dès lors que le source était sauvegardé. Cette restriction est maintenant levée.

Raccourci clavier de la fonction « Recommencer » (redo)


Dans Xwin, le raccourci clavier de la fonction « Recommencer » est Maj+Ctrl+Z. Dorénavant, la fonction dispose également du second raccourci (standard sous Windows) Ctrl+Y.
Cette touche permettait, dans l'éditeur de textes, de supprimer la ligne courante. Le raccourci clavier pour cette suppression devient Ctrl+L.

Aide à la saisie : affichage de la liste des membres


Jusqu'à présent, la liste des membres affichée en tant qu'aide à la saisie présentait les éléments éligibles dont le mnémonique débutait par les caractères déjà tapés. Par exemple, la frappe de
« XmeList » puis Ctrl+Espace affichait toutes les fonctions débutant par XmeList.
Ce type de fonctionnement a été modifié. La liste présente maintenant les éléments éligibles dont le mnémonique inclut les caractères déjà tapés. De plus, le contenu de la liste est actualisé à chaque frappe d'un nouveau caractère.
Exemple : Pour trouver rapidement une fonction XmeListGetColumnXxxxx, il fallait auparavant taper le préfixe XmeListGetCol puis Ctrl+Espace. Dorénavant, vous pouvez par exemple taper GetCol ou Column puis Ctrl+Espace.

Bouton Editer dans le gestionnaire d'extraits de code


La boîte de dialogue du gestionnaire d'extraits de code propose maintenant le bouton « Editer », qui permet de charger le fichier sélectionné dans l'éditeur de texte de Xwin.

Surbrillances


L'éditeur de textes de Xwin procède dorénavant à la mise en surbrillance automatique des éléments suivants :

Mot courant.

Tous les mots identiques au mot pointé par le curseur clavier sont mis en surbrillance. La casse n'est pas prise en compte car le langage Diva n'y est pas sensible.
Un mot est considéré comme tel s'il est entièrement constitué de lettres, de chiffres et de caractères
_ (underscore), et s'il ne débute pas par un chiffre. Les mots réservés du langage Diva, déjà affichés dans une couleur spécifique, les mots placés dans un commentaire ou dans une constante chaîne de caractères ne sont pas concernés.


Chaîne de recherche courante.

Toutes les occurrences de la chaîne de caractères recherchée courante sont mises en surbrillance, à la condition que la –nouvelle– fenêtre de recherche (voir le point suivant) soit affichée. Lorsque cette fenêtre est refermée, les surbrillances correspondantes disparaissent.
La totalité du texte est concerné (commentaires compris). Les options de recherche ("Respecter la casse" et "Mot complet") sont prises en compte. Cette surbrillance prime en cas de "conflit" avec la surbrillance liée au mot courant.


Parenthèses et crochets homologues.

Lorsque le curseur clavier pointe un crochet ou une parenthèse (respectivement ouvrante ou fermante), celle-ci est mise en surbrillance, ainsi que le crochet ou la parenthèse correspondante (respectivement fermante ou ouvrante).


  • Eléments homologues de structure Diva (loop-endloop, beginp-endp, par exemple) Lorsque le curseur clavier pointe un élément de structure Diva (respectivement début ou fin), celui-ci est mis en surbrillance, ainsi que l'élément correspondant (respectivement fin ou début).

Les éléments "milieu" de structure (else, elsif, …) ne sont pas traités dans cette version.
La couleur des surbrillances est paramétrable dans la boîte de choix des polices et des couleurs du menu Options (lignes Surbrillance : Elément courant / Recherche courante).

Nouvelle boîte de recherche dans l'éditeur de textes


Ctrl+F (ainsi que Ctrl+F3 et Maj+Ctrl+F3) ouvre désormais une petite fenêtre dans le coin supérieur droit de la fenêtre MDI texte courante :

Lorsque cette fenêtre est ouverte, les occurrences de la chaîne recherchée dans le texte sont mises en surbrillance (voir le point précédent). Pour refermer la fenêtre (et annuler les mises en surbrillance), tapez la touche Echap ou cliquez sur la croix en haut à droite de la fenêtre.
De plus, cette fenêtre offre deux nouvelles fonctionnalités :

Rechercher toutes les lignes.

Les occurrences de la chaîne recherchée sont listées dans la fenêtre « Recherche » (nouvel intitulé de la fenêtre « Fichiers »). Comme d'habitude, on peut ensuite parcourir la liste des occurrences par F4 et Maj+F4.


Rechercher et marquer toutes les lignes.

Idem fonction précédente et une marque est positionnée sur toutes les lignes concernées. Les marques peuvent ensuite être parcourues comme d'habitude par F2 et Maj+F2.


Ouverture d'un dictionnaire de données


A l'ouverture d'un dictionnaire, Xwin ne demande plus s'il faut créer le dictionnaire des commentaires lorsque celui-ci est absent. Le fichier de commentaires est automatiquement créé à la sauvegarde du dictionnaire, dès lors qu'un commentaire a été saisi.



Propriété « Pan non escamotable » (accordéon dans un masque d'écran)


Dans les propriétés d'une page incluse dans un accordéon, il est maintenant possible de spécifier que le pan d'accordéon contenant cette page doit rester affiché en permanence et ne peut être refermé par l'utilisateur (la flèche d'ouverture / fermeture n'est plus visible).



Couper » de la ligne courante d'un tableau


La fonction standard de traitement des tableaux (XmeListConsultDefault) autorise maintenant de
couper (Ctrl+X) la ligne courante, même lorsque la sélection multiple n'est pas autorisée.


Clic droit sur un bouton de barre d'outils


En règle générale, un bouton est uniquement activé s'il est cliqué avec le bouton gauche de la souris. Dorénavant, un bouton de barre d'outils, défini dans Xwin avec la propriété Type de traitement égale à « Point d'arrêt », fait exception à cette règle. Ceci permet par exemple d'afficher un menu contextuel lorsque l'utilisateur clique avec le bouton droit sur ce type de bouton.
En plus du numéro de point d'arrêt transmis dans Harmony.Arret et/ou Harmony.DataArret, Harmony.Sourisbout est dans ce cas positionné à la valeur RIGHT_BUTTON.


RecordSQL


Le RecordSQL comporte deux nouveautés importantes. La documentation de Xwin contient la description détaillée de ces fonctionnalités, ainsi que des exemples.

La gestion de listes en paramètre d'une condition <Where> avec une clause IN


Le paramètre de la condition peut être des types suivants :

CharList

Identifiant d'une liste de valeur de type alphanumérique

IntList

Identifiant d'une liste de valeur de type numérique (sauf type B, X et L)

DateList

Identifiant d'une liste de valeur de type date



La combinaison de RecordSQL par les clauses Union, Union All, Except, Intersect



Les opérations ensemblistes s'effectuent sur des RecordSQL dont la section <Select> comporte des colonnes de type compatible. La combinaison se programme par les méthodes suivantes des RecordSQL :
RecordSql.ClearSetOperations RecordSql.AddUnion RecordSql.AddUnionAll RecordSql.AddExcept RecordSql.AddIntersect
Remarque : il est possible d'imbriquer les ensembles. Exemple :




Objet Surface


L'objet surface est un nouvel objet des masques d'écran. Il s'agit d'un objet générique qui définit avant tout un espace dans la page. Le contenu de l'espace est déterminé par programmation.

L'objet surface permet, avec le master 401, de visualiser les fichiers pdf.
Remarque : L'aspect programmation d'une surface, et du composant affiché dans cette surface, est décrit dans le manuel de référence de l'exécuteur de masques d'écran Ywpf.


Agenda


Deux nouvelles fonctions permettent notamment d'améliorer les performances dans la programmation d'un objet Agenda :

  • XmeCalendarFind pour retrouver un élément.



  • XmeCalendarDeleteNoNext pour supprimer un élément sans se déplacer dans la liste.



Une nouvelle option permet de changer par programme la hauteur des lignes dans la vue chronologique.



Telnet


Une application Telnet s'exécutant sur un site pour lequel la gestion des licences nommées est active doit être adaptée afin de prendre en compte cette nouvelle gestion. En effet, l'utilisateur de l'application Telnet doit s'authentifier avant de pouvoir exécuter l'application. Pour cela, de nouveaux
paramètres ont été ajoutés dans le fichier Dhstelnet.txt.

Nouvelle balise <Login>


La balise <Login> avec la valeur 1 indique que l'on souhaite mettre en œuvre l'authentification de l'utilisateur. Dans ce cas, le service Dhstelnet demande à l'utilisateur de s'authentifier en saisissant son compte et son mot de passe Windows. Le service lance alors le programme Diva associé au port en s'impersonnant sous le compte de l'utilisateur. Il vérifie que l'utilisateur est un utilisateur nommé sur le serveur de licences.



Nouvelle balise <msgconnect>


La balise <msgconnect> permet de personnaliser le texte d'accueil, dont la valeur par défaut est
« Connexion ». Elle comporte trois sous-balises :

  • <tiltle> pour le texte



  • <clear> pour éventuellement effacer l'écran



  • <rever> pour éventuellement afficher le texte <title> en vidéo inverse.



Exemple : <msgconnect>"<clear><rever><title>Connexion Divalto"


Nouvelles balises <Lang> et <langimp>


Ces balises permettent de définir les codes langues pour l'affichage et l'impression.
Les textes standard « connexion », « utilisateur » et « mot de passe », ainsi que les messages sont traduits par la fonction translate dans le dictionnaire Harmony.


Balise <User>


Dans ce contexte, le contenu de la balise <User> est ignoré.


Programme Diva

Le programme Diva associé au port telnet peut récupérer les paramètres suivants :

  • Le mode Login, renvoyé par la fonction GetEnv("TELNET_LOGIN") vaut 1 si la balise <login> est active dans le fichier paramètre. Cela permet de développer des programmes Telnet compatibles avec les deux modes de licences.



  • Le compte de l'utilisateur est renvoyé par la fonction GetUserName. Il s'agit du compte de l'utilisateur Windows qui a effectué la connexion. Il s'agit en principe du compte de l'utilisateur Divalto, sauf si un alias est associé à ce compte.



  • La variable System.User contient le code de l'utilisateur Divalto.





Fusion de plusieurs fichiers .dhvw


De nouvelles fonctions, préfixées par DhToolsDhvw, permettent de fusionner par programme des fichiers d'impression au format .dhvw.
La documentation de Xwin contient la description détaillée des fonctions, ainsi qu'un exemple.






Limitations



  • Il faut que l'orientation d'impression soit identique dans tous les fichiers dhvw.



  • Les paramètres d'impression sont toujours les paramètres du fichier dhvw de base.





Gestion des licences nommées




La nouvelle gestion des licences nommées propose un profil « Consultation uniquement ». Lorsque qu'un utilisateur est identifié avec ce profil, ses programmes s'exécutent en mode licence consultation, c'est-à-dire que les opérations de création, modification et suppression sur les tables sont interdites. Si le programme tente néanmoins d'exécuter une fonction de mise à jour, celui-ci s'arrête avec une erreur fatale.


Le mode licence consultation peut également se mettre en œuvre lors de l'exécution d'un zoom ou d'un programme avec un profil ne permettant pas d'accéder à cette fonctionnalité de l'ERP. Le programme s'exécute malgré tout dans un mode dégradé qui n'offre ses fonctionnalités qu'en consultation.
Lorsqu'il s'agit d'un zoom, les choix de menu, les boutons de barre d'outils et les raccourcis clavier permettant l'accès aux fonctionnalités de mises à jour sont inopérants. S'il s'agit d'autres programmes, il revient au développeur d'interdire à l'utilisateur l'accès à ces fonctionnalités. Il dispose pour cela de quelques outils :



Propriété « Licence consultation » (choix de menu et bouton de barre d'outils)


Cette nouvelle propriété est ajoutée dans les boutons de la feuille de styles (cadre « Ressources »).

Elle peut être modifiée au niveau d'un choix de menu ou d'un bouton de barre d'outils spécifique.

Si cette option est positionnée à la valeur Oui, le bouton est automatiquement grisé lorsque le programme s'exécute dans le mode "Licence Consultation". Le cas échéant, l'option invalide aussi automatiquement la touche affectée au bouton (voir point Invalidation automatique des raccourcis clavier).
Rappelons que dans ce mode, toute modification dans une base de données Divalto est interdite. On pourra donc activer cette option pour tous les boutons commandant une fonction de création, modification ou suppression dans la base.

La fonction LicenseGetReadOnly


Cette fonction renvoie TRUE lorsque le programme s'exécute en mode " Licence Consultation ".



La fonction LicenseGetProfileId


Cette fonction renvoie l'identifiant du profil de l'utilisateur courant. S'il n'est associé à aucun profil, elle renvoie la valeur 0.



Invalidation automatique des raccourcis clavier


Un des types de traitement des choix de menu et des boutons de barre d'outils stipule que le bouton doit générer une touche du clavier. Par exemple, le bouton standard OK génère la touche Entrée.
Dorénavant, à l'exécution, si un bouton générant une touche du clavier et présent dans le menu ou dans une barre d'outils est désactivé (grisé), la frappe de cette touche est automatiquement invalidée.
Les boutons cachés n'entrent pas ici en ligne de compte.



Fonctions OpenXML pour Word


De nouvelles fonctions OpenXML permettent de manipuler des documents au format Word de Microsoft. La documentation de Xwin contient la description détaillée des fonctions, ainsi qu'un exemple.

Fonction

Commentaire

OpenXmlWord_OpenFile

Ouvre un fichier .docx déjà existant.

OpenXmlWord_CloseFile

Referme le fichier .docx en cours

OpenXmlWord_CreateParagraph

Crée un paragraphe

OpenXmlWord_InsertText

Ajoute un texte dans le paragraphe en cours

OpenXmlWord_Replace

Cherche et remplace une chaîne de référence dans le document en cours

OpenXmlWord_InsertFile

Insère un fichier





Fonctions OpenXML pour Excel


La fonction OpenXml_ConvertTxtCellToRTF permet de convertir le contenu d'une cellule en un texte au format Rtf.



Compilation des masques


La compilation des masques vérifie que chaque objet possède un ID unique. En cas de doublons, une erreur de compilation est générée.






Migration



L'outil d'évaluation de l'effort de migration


Cet outil est finalisé dans la version 2017 d'Harmony. Une connexion Internet est nécessaire pour son utilisation.

Xlog1 : Association d'alias aux utilisateurs Windows


A partir de la génération 10 de l'ERP, l'utilisation des programmes requiert des licences d'utilisateurs nommés. Ainsi, le code utilisateur dans l'ERP doit correspondre au compte de l'utilisateur Windows qui utilise l'ERP.
En cas de migration d'une ancienne version pour laquelle la codification des comptes Windows pour les utilisateurs de l'ERP n'aurait pas été retenue, il est possible de créer une correspondance entre le compte Windows de l'utilisateur et son compte défini dans l'ERP grâce aux ALIAS.
Dans la table des utilisateurs d'Harmony, le champ Alias d'un compte Harmony permet de définir le compte qui sera utilisé dans l'ERP. Il est ainsi possible de se connecter avec le compte Tlorentz et d'être reconnu dans l'ERP par le compte TL. Tous les paramètres de l'utilisateur sont pris à partir du compte de l'ALIAS.


Le tableau ci-dessus peut être garni soit à partir d'un annuaire LDAP soit à partir d'un fichier Excel contenant la liste des comptes Windows des utilisateurs.
Le programme permet de saisir l'association.