Concepts de base
Le concepteur visuel de flux est un outil visuel permettant de concevoir des interactions entre une brique et ses utilisateurs. Les rubriques suivantes contiennent les premières choses que vous devez savoir.
Concepteur visuel
Avec le concepteur visuel de flux, les flux de dialogue sont conçus visuellement plutôt que via un éditeur de code. Les connexions entre les états sont représentées dans des diagrammes visuels. Les variables, paramètres et propriétés de composant sont définis dans des éditeurs et des boîtes de dialogue spécialisés.
Plusieurs flux
Dans le concepteur visuel de flux, vous créez des flux pour gérer les différentes parties des conversations pour lesquelles vous concevez votre brique. En général, vous auriez :
- Le flux principal, qui est le point d'entrée principal de la brique et qui est plus une configuration qu'un flux. Le flux principal contient :
- Variables globales.
- Evénements mappés avec des flux.
- Flux pour chaque intention régulière.
- Un flux unique pour gérer toutes les intentions de réponse (bien qu'il soit également possible d'avoir des flux distincts pour les intentions de réponse individuelles si vous voulez inclure un comportement spécifique à ces intentions de réponse).
- Sous-flux et flux utilitaires réutilisables (par exemple pour l'authentification) qui peuvent être appelés par d'autres flux.
Evénements
Dans les briques créées à l'aide du concepteur de flux visuel, un flux est déclenché lorsqu'un événement mis en correspondance avec ce flux se produit. Il existe des événements pour chacune des intentions de la brique et des événements intégrés pour les cas standard (tels que les entrées utilisateur inattendues et les erreurs). En outre, vous pouvez définir des événements personnalisés qui vous permettent de déclencher des flux en fonction des actions émises à la fin d'un autre flux.
Les événements déclenchés au niveau de la brique sont mis en correspondance avec des flux. Les événements déclenchés dans un flux sont mis en correspondance avec les états du flux. (Dans le cas des événements d'erreur de boîte de dialogue, si vous n'avez pas mappé l'événement avec un état du flux en cours, l'événement se propage vers le flux principal, à partir duquel il est mappé avec un flux.)
Les événements du concepteur de flux visuel correspondent à peu près aux actions de transition par défaut dans les flux de dialogue YAML.
Variables, portée et paramètres
Avec Visual Flow Designer, vous pouvez définir des variables au niveau des flux individuels et globalement.
- dans des flux individuels. Les variables définies dans un flux ne sont pas accessibles directement depuis l'extérieur de ce flux.
La durée de vie d'une variable de flux est limitée à ce flux. Sa valeur est effacée une fois que la boîte de dialogue a été parcourue jusqu'à la fin du flux. Si un utilisateur revient à ce flux plus tard dans la session, la variable est réinitialisée.
- Dans le flux principal. Les variables définies ici ont une portée (globale) à l'échelle de la brique, ce qui signifie que tous les flux de la brique peuvent y accéder.
Les valeurs de ces variables globales sont conservées lors de la session de l'utilisateur avec la brique. Les variables sont effacées à la fin de la session utilisateur avec la brique, ce qui se produit lorsque l'une des opérations suivantes se produit :
- L'utilisateur ferme la fenêtre de discussion.
- La session expire après une période d'inactivité (dont la valeur est définie au niveau du canal et qui est généralement de 24 heures).
- Dans le contexte d'un assistant numérique, l'utilisateur quitte la brique ou atteint un état qui appelle directement une autre brique.
Remarque
Lorsque l'utilisateur interrompt une conversation avec une entrée non séquentielle et qu'il est temporairement acheminé vers une autre brique, l'assistant numérique reste dans le contexte de la brique d'origine et ses variables ne sont pas automatiquement effacées. Dans ce cas, si l'utilisateur revient à la brique d'origine après l'interruption, les variables contiennent leurs valeurs. Si l'utilisateur choisit de ne pas revenir à la brique d'origine, la brique d'origine est quittée et les variables sont effacées.
Les valeurs des variables peuvent être transmises dans et hors des flux à l'aide des paramètres d'entrée et de sortie. En utilisant des paramètres plutôt que des références directes aux variables d'un flux à l'autre, vous créez des flux autonomes, ce qui facilite la réutilisation, favorise un comportement prévisible et réduit la probabilité de bugs.
Les noms des paramètres d'entrée d'un flux doivent être distincts des noms des variables de ce flux.
Pour plus d'informations sur l'utilisation des variables, reportez-vous à Expressions pour les valeurs de variable et à Autres types de variable.
Composants nouveaux, modifiés et supprimés
L'ensemble de composants de Visual Flow Designer est en grande partie le même que dans l'éditeur basé sur YAML, mais il existe des ajouts, des suppressions et des modifications. Voici un aperçu rapide des principales différences.
Les composants suivants sont exclusifs à Visual Flow Designer :
- Appeler un flux : permet d'appeler un flux à partir d'un flux existant.
- Mettre fin au flux : permet de mettre fin à un flux donné. Vous pouvez également utiliser la propriété
action
de ce composant pour indiquer un événement qui déclenche un autre flux. En règle générale, une telle action est utilisée par une transition d'action spécifiée dans un composant Invoke Flow du flux parent. Pour les flux de niveau supérieur, l'action à l'état Fin de flux déclenche l'événement personnalisé dans le flux principal. - Envoyer un message : composant de réponse commune simplifié (
System.CommonResponse
) permettant d'afficher un message. - Poser une question : composant de réponse commune simplifié (
System.CommonResponse
) permettant d'inviter un utilisateur à répondre. - Résoudre un conteneur composite : composant de résolution simplifiée des entités (
System.ResolveEntities
) conçu spécifiquement pour fonctionner avec les entités de conteneur composite. - Composants Afficher les tables et les formulaires.
Les composants suivants ne sont pas disponibles dans Visual Flow Designer :
- System.Intent : cette fonctionnalité a été remplacée par la résolution automatique des intentions, qui se produit en l'absence de flux actif. Reportez-vous à Détection et résolution d'intention.
- System.ConditionEquals : utilisez plutôt le composant Switch.
- System.ConditionExists : utilisez plutôt le composant Switch.
- System.Text : utilisez l'un des modèles de composant de réponse communs, le composant Résoudre l'entité ou le nouveau composant Poser une question à la place.
- System.List : utilisez un modèle de composant Réponse commune ou le composant Résoudre l'entité à la place.
- System.Output : utilisez un modèle de composant Réponse commune, le composant Résoudre l'entité ou le composant Envoyer un message à la place.
- System.Qna : si vous utilisez des modules de questions/réponses, vous devez migrer vers l'utilisation des intentions de réponse.
Pour obtenir un aperçu complet des composants du concepteur de flux visuel, reportez-vous à la section Modèles de composant.