lundi 27 novembre 2017

#Tip38 Dynamics 365 : Configuration de la Relevant Search (Recherche par pertinence)

Comme nous avons pu le voir dans l’un de mes articles précédents, les versions récentes de Dynamics incluent des outils de recherche rapide beaucoup plus performants et surtout orientés utilisateur afin d’obtenir un résultat clair et précis.
La recherche rapide standard se base sur un ou des termes placés dans la barre de recherche et organise les résultats par colonne. Chaque colonne correspond à une entité de Dynamics (Pour laquelle la recherche rapide est activée).
Comme la recherche rapide, La Relevance Search (Ou Recherche par pertinence en français) fournit des résultats rapides et complets sur plusieurs entités, dans une liste unique, triée par pertinence. Il utilise un service de recherche dédié externe à Microsoft Dynamics 365 optimisé par Microsoft Azure pour améliorer les performances de recherche de Dynamics 365.
Donc en complément de la recherche rapide dite « basique », la Revelance search permet non seulement de chercher des enregistrements correspondants aux termes écris par l’utilisateur et ajoute le facteur de pertinence !
Les résultats renvoyés par la recherche sont triés par le nombre de mots retrouvés dans l’enregistrement Dynamics et même au niveau des pièces-jointes rattachées à ce dernier, la proximité des mots dans le texte est également un facteur de pertinence.
La phrase, les mots recherchés sont mis en gras afin d’être facilement visible dans la colonne de résultat.
En conclusion de cette introduction, les utilisateurs Dynamics 365 possèdent plusieurs recherches rapides spécifiques :
  •          La recherche rapide par entité
  •          La recherche rapide multi-entité
  •          La recherche Relevance Search*


*Note : Cette recherche n’est disponible que pour les environnements Dynamics Online et elle n’est pas active par défaut. Après son activation, l’indexation des données peut prendre jusqu’à 15 minutes, cela dépend bien évidemment du nombre de champs indexés au total et du volume de données dans votre système.

De plus, cette recherche se base sur, et se synchronise avec, Azure Search index, qui est un outil externe à votre application. Vous pouvez trouver les informations légales concernant cette synchronisation en suivant ce lien.
Note : La recherche par pertinence est capable d’aller chercher des termes au cœur de vos Notes stockées sur votre environnement.

Pour activer la Relevance Search, il faut se rendre dans Paramètres / Administration / Paramètres du système / onglet Général.
Cocher la case Activer Relevant Search. Une popup vous avertira de la synchronisation entre Dynamics 365 et Azure Search index.
Cliquer sur OK.

image

image

Une fois les conditions acceptées, la recherche par pertinence est activée. Par défaut, les entités standards sont “recherchables”, comme compte, contact, opportunité, etc.

Pour ajouter des index et des entités recherchables, il faut se rendre dans la personnalisation (ou dans votre solution).
Les index sont les champs activés pour la synchronisation entre Azure et Dynamics 365. Les valeurs contenues dans ces champs sont envoyées de manière structurées vers Azure afin d’y être analysées et organisées.
Vous pouvez trouver un complément d’informations sur la recherche Azure en suivant ce lien.

Déplier les propriétés de l’entité à activer, cliquer sur Propriétés gérées :

image

Sélectionner la valeur Vrai  pour la propriété Peut activer la synchronisation vers l’index de recherche externe, cliquer ensuite sur Configurer.

image

Enregistrer et Publier. L’entité est maintenant disponible mais inactivée pour la recherche par pertinence. Les index pris par défaut lors de l’activation sont les champs activés sur la recherche rapide standard Dynamics.
Pour les modifier, ouvrir la configuration de la vue de recherche rapide de votre entité :

image


Cliquer sur Ajouter des colonnes de recherche :

image

Choisir les champs à indexer  et cliquer sur OK :

image

Enregistrer et publier. Pour activer l’entité et commencer l’indexation des champs de votre entité, dans la personnalisation, au niveau Entité, cliquer sur Configurer la recherche par pertinence :

image

Une nouvelle fenêtre s’ouvre. La colonne de droite contient les entités déjà activées pour la recherche par pertinence, la colonne de gauche contient les entités disponibles.
Le chiffre entre parenthèse représente le nombre de champs à indexer.
Pour ajouter une entité, cliquer sur l’entité cible et cliquer sur Ajouter. (Ici pour l’entité Entité Activité)

Note : Le nombre d’index maximum est de 1000. Faites attention à sélectionner les champs les plus importants à indexer par entité. La pertinence de la recherche y est également étroitement liée.

image

Cliquer sur OK, enregistrer et publier. Rafraichir ensuite votre navigateur.

Pour exécuter une recherche par pertinence, cliquer sur la loupe en haut à droite de la barre de navigation et taper le contenu de votre recherche.

image
image

Voici le résultat de la recherche :

image

Tous les enregistrements contenant au moins une des valeurs Test Julien Miquel  apparaît dans cette vue synthétique. Un enregistrement de l’entité Entité Activité  est bien présent parmi cette liste.
Pour affiner vos résultats, vous pouvez choisir par défaut :
  • Le type d’enregistrement ciblé
  • Le propriétaire des enregistrements
  • Une tranche de date pour la date de modification
  • Une tranche de date pour la date de création
Chaque entité possède ses propres filtres. Pour les modifier les filtres par entité, il faut se rendre dans les options de son profil utilisateur :

image
Dans l’onglet Général, cliquer sur Configurer dans la section Sélectionner l’expérience de recherche utilisateur :

image

Sélectionner l’entité à modifier, puis choisir les champs à ajouter, retirer ou à déplacer (Ordre d’affichage dans la colonne de filtre) :

image

Cliquer sur OK.

En conclusion, la recherche par pertinence vous permet d’affiner vos recherches globales sur la base de données de votre environnement Dynamics 365. Cette dernière peut être utilisée par exmple comme base de connaissance pour vos utilisateurs, qu’ils soient du support, du marketing ou encore de la vente.

jeudi 2 novembre 2017

#Tip37 Dynamics 365 : Formulaires principaux - Partie 2 : Personnalisations du corps

Dans l’article intitulé #Tip36 Dynamics 365 : Formulaires principaux – Partie 1 : Description générale, l’objectif était d’apporter des précisions et définir ce qu’est un formulaire Dynamics.
Dans cette partie 2, voici la liste des fonctionnalités clés qu’il est possible à mettre en place dans le corps d’un formulaire Dynamics :
  • Gestion des onglets / sections et placement des champs
  • Faire des appels d’une fonction Javascript
  • Activer les rôles de sécurité
  • Modifier le ruban du formulaire
Et ceci n’est qu’une petite liste des options possibles mais il s’agit des principales.

Avant propos


Avant de décrire les quelques personnalisations listées ci-dessus, il est bien  important de bien comprendre l’enjeu de la configuration d’un formulaire Dynamics. Avant de se lancer tête baissée dans la configuration, je vous conseille de bien préparer les réponses aux questions suivantes :
  • A quoi sert mon entité ?
  • Quels sont les utilisateurs qui vont utiliser le formulaire ? Quelles sont leurs fonctions ?
  • Mon entité fait-elle partie d’un processus métier global ? Est-ce le point de démarrage ou la “page d’atterrissage” ?
  • D’où viennent les informations enregistrées ? Uniquement de Dynamics ou d’un autre système (par flux) ?
  • Quelles sont les actions que peuvent faire les utilisateurs ? Quelles sont les plus importantes ?
  • Etc.
Ces 4 premières questions sont capitales pour bien construire votre formulaire. Il est commun de voir des formulaires Dynamics beaucoup trop chargés en champs vides ou contenant une information non-exploitée (voir même non exploitable car mal renseignée).
De plus, cette démarche a pour but d’impliquer les futurs utilisateurs dès le début de la mise en route de votre projet Dynamics, ce qui vous permet de multiplier vos chances de créer une forte adhérence au projet et donc à Dynamics.
Je reviendrai sur l’optimisation de Dynamics pour améliorer l”adhérence au produit dans un prochain article.


Gestion des onglets, des sections et le placement de champs


Comme vu dans la partie 1, un formulaire peut contenir un ou plusieurs onglets, un onglet peut contenir une ou plusieurs sections, une section peut contenir un ou plusieurs composants de base (Sous-grille, champs, Ressources Web, Iframe…)
Pour ajouter un onglet, cliquer sur Insérer puis sur Une colonne  (Sachant qu’il est possible de cliquer sur les boutons permettant d’ajouter plus de colonnes dans l’onglet)


image

L’onglet est ajouté au formulaire. On peut remarquer qu’une section par défaut est ajoutée.

image

Conseil : Une des premières manipulations à réaliser est de changer le nom technique de vos onglets ou sections. Ce n’est pas obligatoire mais si un de ces composants est utilisé dans du code spécifique, avoir un nom technique logique sera plus clair.
Vous pouvez utiliser le format suivant :
  • Pour les onglets : NameTab
  • Pour les sections : NameSection

image

Les options complémentaires sont : Rendre invisible l’onglet / Replier l’onglet par défaut / Masquer l’étiquette / Activer la disponibilité par téléphone.
Il est possible de modifier le nombre de colonnes de l’onglet. Double cliquer au niveau du nom de l’onglet, se rendre dans Mise en forme, choisir la nouvelle disposition :

SNAGHTML693918d9

Voici la nouvelle disposition de l’onglet : (En sélectionnant deux colonnes, une nouvelle section a été ajoutée automatiquement)

image

Au niveau des sections, il y a une option supplémentaire, la largeur des zones d’étiquettes. La largeur doit être modifiée si la taille de l’étiquette du champ est trop grande. Sinon le nom du champ est coupé, ce qui eut être gênant pour les utilisateurs.
Conseil : Si la taille des étiquettes dépassent les 250 pixels (Taille max.), il est possible de placer l’intitulé des champs au dessus des valeurs :

image

Comme pour un onglet, il est possible de mettre plusieurs colonnes dans une section, de 1 à 4 colonnes. Comme indiqué précédemment, c’est à niveau de la structure du formulaire que s’ajoute les éléments suivants :
  • Champs
  • Sous-grilles
  • Ressources Web
  • Iframe
  • Panneau social (Notes, activités, flux social, OneNote)
  • Des espacements
  • Etc.
Pour ajouter un champ dans une section, vous pouvez suivre les manipulations via cette vidéo :






Pour modifier les propriétés du champ, double cliquer  sur le champ placé dans la section. Les propriétés suivantes sont modifiables :
  • Etiquette : Par défaut, il s’agit du nom du champ. Une étiquette est propre à un formulaire et non à tous les formulaire !
  • Afficher ou non l’étiquette
  • Mettre le champ en lecture seule ou non
  • Verrouiller le champ sur le formulaire
  • Rendre le champ visible ou non par défaut : Souvent rendu invisible s’il est lié à des règles métiers ou Javascript gérant l’affichage.
  • Disponibilité par téléphone ou non
  • Le champ peut être étalé sur une ou plusieurs colonnes

image

  • Faire des appels à des fonction Javascript via les bibliothèques disponibles
  • Ajouter des règles métiers
  • Ajouter des contrôles
A la fin de vos modifications, cliquer sur OK.


Appels aux fonctions Javascript


Le Javascript permet d’étendre les possibilités de paramétrage de votre formulaire. Certaine actions sont maintenant réalisables via des règles métiers mais si un formulaire inclut des bibliothèques Javascript, je vous conseille de tout centraliser au même endroit, sinon a gestion des règles métiers devient très compliquer…
Dans l’exemple ci-dessus, il s’agit d’un fonction appelée sur l’évènement OnChange, c’est à dire, à la modification de la valeur du champ.
Pour mettre en place la fonction, double cliquer sur le champ, se rendre dans Evènements, ajouter une bibliothèque à votre formulaire :


image

Rechercher et ajouter votre ressource web déjà existante :


image

Une fois la bibliothèque ajoutée, il faut maintenant appeler la fonction sur l’évènement Onchange du champ Revenus en cours. Cliquer sur Ajouter, sélectionner la bibliothèque cible et ajouter le nom de votre fonction :

image

Cliquer ensuite sur OK.
Voici le résultat obtenu :




Les appels de fonction Javascript vous permettent d’étendre les possibilités de configurations de manières exponentielles.

Activer les rôles de sécurité


Par défaut, un nouveau formulaire est accessible par tous les utilisateurs ayant de privilèges sur l’entité cible. En revanche il est possible que des profils utilisateurs aient accès à un périmètre d’action ou d’informations plus limitées.
Exemple :
Un directeur commerciale doit être en mesure de modifier n’importe quelle opportunité de Dynamics, un stagiaire, lui n’aura droit qu’à la modification d’un périmètre de champs très limité.
On peut imaginer un formulaire spécifique aux directeurs commerciaux, où les champs sont modifiables et un autre formulaire dédié aux stagiaires où la majorité des champs est en lecture seule.
Pour déterminer quels sont le rôle ou les rôles ayant accès à un formulaire, il suffit de cliquer sur Activer les rôles de sécurité, puis choisir les rôles souhaités :

image

Sélectionner les rôles de sécurité :

image

En cliquant sur OK, le formulaire n’est uniquement accessible qu’aux utilisateurs possédant au moins un de ces rôles.
Note : Par défaut, toujours laisser le rôle Administrateur système. En laissant l’option Activé pour le formulaire de base, les rôles qui peuvent voir l’entité mais aucun formulaire verront par défaut l’unique formulaire principal disponible.

Modification du ruban


Pour la modification du ruban, vous pouvez vous inspirer de mon article : #Tip05 Dynamics 365 : Masquer des boutons du ruban.
Il est possible de faire les configurations suivantes :
  • Créer un bouton : Ce bouton peut appeler des workflows, des boites de dialogue, ouvrir des pages web, etc…
  • Masquer / Afficher un bouton en fonction de valeurs sur le formulaire
  • Déplacer les boutons
  • Créer des listes de boutons
  • Etc.
L’ensemble des informations concernant la modification des rubans est centralisée ici.

Dans la prochaine partie de cette suite d'articles consacrées aux formulaires principaux, les sujets suivants seront traités :
  • La navigation du formulaire
  • Gestion de l'entête et du pied de page
  • La définition et la gestion des processus d'entreprise