Information about errors
Getting information about errors
Teneo Studio provides information about errors, warnings, and information messages to draw the user's attention to things that might not be working as expected or that should be fixed. These messages can appear in various places in a solution, as listed below.
- Suggestions (available in the backstage of Teneo Studio) are different types of autosuggestions or indications provided by Teneo to the user in order to help find - and correct - any errors or potentially problematic issues in the solution; read more here
- Try Out provides information related to warnings and errors detected by Engine to quickly draw the user's attention to these; read more here
- The Errors folder (at the bottom of the Solution Explorer) provides information about errors detected in the solution
- Errors panels are available in:
- Syntax errors when writing conditions using the Teneo Linguistic Modelling Language are highlighted in red in the Condition Editors, read more here
Below the reader will find introductions to the Errors folder and the Errors panels in Flows, Language Objects and Entities, together with various sections related to referenced elements in Teneo and how to find, for example, where an element is used or where to find information about missing and broken references.
Errors folder
The Errors folder, available in the Solution Explorer next to the Recycle Bin, appears when issues and errors are detected within a solution; clicking an element will bring the user to the object where the error was found (Flows, Language Objects, Entities).
Errors panel
Flows, Language Objects and Entities contain an Errors panel, in the right side of the object's window, where critical errors, warnings, and informative messages related to the object are listed; clicking on the arrow next to one of the messages will take the user to the location in the object where the error occurs.
Flow
Messages displayed in the Errors panel includes:
- Duplicate names (applies to Output parameters, Variables and Listeners)
- Flow with no Intent Trigger and not set to be a Sub-flows
- Flow links which are not linked to other Flows
- Flow links that are linked to a non-Sub-flow and have post transitions
- Skip conditions without a selected transition
- Referenced elements that are missing.
More information is available in the Flow section.
Language Object
Messages available in Language Objects includes:
- Condition is empty
- Document name is not unique
Read more in the Language Object section.
Entity
Messages detected in Entities include:
- Empty variable column
- Empty entries
- An Entity has no name
- A Variable has no name
- Two or more variables have the same name
- An entry value contains a reference to the Entity it is part of
More details are available in the Entity section.
Referenced elements in Teneo
In Teneo, elements can reference to or use other elements, i.e. Flows can make use of Contexts, Classes, Global Variables, etc. as Match Requirements, Flows can link to Sub-flows, Entities can use other Entities as entry values, Language Objects can use other Language Objects or Entities in conditions, and so on.
The elements that can be referenced by other elements are:
- Classes
- Contexts
- Emotions
- Entities
- Flows/Sub-flows
- Global Variables
- Integrations
- Language Objects
Find where elements are used
The Teneo Platform provides different type of usage information depending on the element.
Used by panel
Classes, Language Objects and Entities have a Used by panel, listing all the locations where the given element is in use. Clicking on an item will open the location where it is used; Alt key + click opens in edit mode.
Search for usage from Global elements
Integrations, Global Variables, Contexts and Emotions have a search functionality, providing a result with all the locations where the given global element is referenced to. For Global Variables, it is possible to search where the variable is referenced to by Id (for example, as transfer variable for Flow links) or where the variable is referenced to by name (for example, in scripts, answers, etc.).
Advanced Search
Teneo Studio contains a simple search box on the Home tab and an Advanced search functionality on the Search tab. The Advanced Search allows users to search for elements by name and/or by Id; this makes it possible to get a detailed view of, for example, all Intent Triggers using an Entity as Data Action, of all transitions using a Language Object as a Match Requirement, etc.
Deleting an element that is in use
Teneo Studio will warn the user if trying to delete an element that is in use, but it is still possible to "force delete" a used element.
It is also possible to bypass the usage check for some elements:
Read more about Deleting objects.
Find missing elements or broken references
In some scenarios, elements referenced by another element might be missing or references might be broken; this could happen if:
- An element in use was deleted
- An element was copied from one solution to another without copying across its used elements
- An element was branched from a Master solution to a Local solution without branching its used elements
- A solution from a previous Teneo version was imported with a broken element reference
- A used Language Object or Entity exist in a lexical resource that is not yet assigned to the solution
- An element reference is incorrect due to a typo.
The Teneo Platform notifies the users about missing elements that are in use and provide different level of support depending on element and from where it is missing. Error notifications can be of the types:
- Improvement Suggestions
- Error messages/warnings in Try Out
- Flow error messages
- Error highlighting in the Condition editor.
Match Requirements and Data Actions
The Teneo Platform provides Improvement Suggestions for references to missing Classes, Contexts, Global Variables, Language Objects and Entities used as Match Requirements or Data Actions.
For more information about Suggestions, see the page Improvement suggestions.
The missing references also yields a warning message in Try Out; when opening a Flow with a broken or missing Match Requirement or Data Action reference, a warning is given in the Flow Errors panel, linking to the affected Match Requirement or Data Action. It is not possible to save a Flow with a missing/incorrect Match Requirement or Data Action reference.
Conditions and Entry Values
Missing or incorrect Language Object or Entity references, or disabled Language Objects/Entities used in conditions or as entry values will render a warning in the Try Out under Messages.
The Condition editor also flags for missing and/or incorrect Language Object and Entity references by highlighting them; for further information, please see the Condition editor section.
Flow Links and Integrations
If a Flow is using a missing Flow as Flow link or is using a missing Integration, the solution gets in an inconsistent state and cannot be parsed. This will be highlighted in Try Out as a critical error, with an error message pointing to the affected Flow.
Flows using missing Flows as Flow links or that refer to missing Integrations also have a warning message in their Flow Errors panel.
Emotions and Transfer variables
For solutions in a Localization structure, if a Master Flow is branched to a Local solution with an Output node using a non-branched Emotion or a Flow link node/Integration node is using a non-branched Global Variable as transfer variables, a Flow Error message is given in the Local Flow.
When copying a Flow from one solution to another, any emotion used by answers are also copied across if missing in the destination solution.
Global variables referenced by name
Missing/incorrect Global Variables referenced by name (i.e. ${MyVariable}
) in scripts, answers texts, etc.) are only detectable once the Groovy script is executed by Engine. This renders a warning in Try Out at runtime. It might therefore be a good idea to verify the usage of a Global Variable before deleting it or before copying elements in-between solutions or branching elements from a Master solution to a Local solution.
Element Usage
Below table specifies in what location and by which properties an element can be used and what error message is given if the referenced element is missing in the solution.
Element | Used in Location ... | By Property ... | Error(s) if missing |
---|---|---|---|
Class | Trigger/Transition | Match Requirement: Class | Improvement suggestionTry Out WarningFlow error message |
Context | Trigger/Transition | Match Requirement: Context | Improvement suggestionTry Out WarningFlow error message |
Emotion | Output Node | AnswerResume Prompt | Improvement suggestionFlow error message (in Local Solution) |
Entity | Entity | Entry Value | Try Out warningError in Condition Editor |
Flow ListenerGlobal listenerLanguage Object | Condition | Try Out warningError in Condition Editor | |
Trigger/Transition | Match Requirement: EntityData action: Entity | Improvement suggestionTry Out WarningFlow error message | |
Match Requirement: ConditionData action: Listener Condition | Try Out warningError in Condition Editor | ||
Flow/Sub-flow | Flow Link Node | Target Flow | Try Out critical error Flow error message |
Integration | Integration Node | Integration | Try Out critical error Flow error message |
Language Object | Entity | Entry Value | Try Out WarningError in Condition Editor |
Flow ListenerGlobal listenerLanguage Object | Condition | Try Out WarningError in Condition Editor | |
Trigger/Transition | Match Requirement: Language ObjectData action: Language Object | Improvement suggestionTry Out WarningFlow error message | |
Match Requirement: ConditionData action: Listener Condition | Try Out WarningError in Condition Editor | ||
Global Variable (by reference) | Trigger/Transition | Match Requirement: Global Variable Context | Improvement suggestionTry Out WarningFlow error message |
Data Action: Entity - Mapping Target | Flow error message | ||
Integration NodeFlow Link Node | Transfer Variables | Flow error message (in Local Solution) | |
Global Variable (by name) | Warning in Try Out when executed | ||
Global Variable | Value | ||
Global Script | Script | ||
Global Listener | ConditionExecution Script | ||
Context | Script ExpressionState values | ||
Metadata Definition | Auto-logging default value | ||
Integration | Method Script | ||
Language Object | ConditionNLU Variable Value | ||
Entity | NLU Variable Value | ||
Flow | Flow Variable ValueFlow on Top/Drop ScriptsFlow Resume PromptFlow Metadata Assignment ValueFlow Listener ConditionFlow Listener Execution Script | ||
Trigger/Transition | Match Requirement ConditionMatch Requirement Script: Evaluation ScriptMatch Requirement Variable Context: Evaluation ScriptData Action Listener: ConditionData Action Listener: Execution ScriptData Action Script: Execution Script | ||
Output Node | AnswerSkip ConditionResume PromptURLOutput Parameter value | ||
Script Node | Execution Script | ||
Prompt Trigger | Expression | ||
All Flow Nodes | Metadata Assignment value |
Related topics
Advanced Search
Try Out
Deleting objects
Improvement Suggestions