Troubleshooting
Referenced documents
In Teneo, documents can be referenced to or reference other documents, i.e. Flows can have Matches referencing Contexts, Classes, Global Variables, etc., or contain a Flow Link to a Sub-flow, as well as Entities and Language Objects can have references to other Entities and Language Objects. The documents which can be referenced by other documents are:
- Classes
- Contexts
- Emotions
- Entities
- Language Objects
- Flows/Sub-flows
- Global Variables
- Integrations
The following sections describe how to find information about where a document is in use and where to find missing documents or broken references; furthermore, a table is provided with an overview of the documents which can be referenced and in what location as well as where information about missing/broken references is found in Teneo Studio.
Document usage information
Teneo Studio Desktop provides different types of document usage information depending on the type of document.
Used by panel
Classes, Language Objects and Entities have a Used by panel listing all the location where the given document is in use. Clicking on an item will open the location where it is used; Alt key + click opens in edit mode.
Usage search of Global documents
Integrations, Global Variables, Contexts and Emotions have a search functionality which provides a result with all the location where the given global document 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 by name (for example, in scripts, answers, etc.).
Advanced Search
The advanced Search allows users to search for documents by name and/or Id; this makes it possible to get a detailed view of, for example, all Intent Triggers using a specific Entity as After Match, of all transitions using a Language Object as Match, etc.
Delete document in use
Teneo Studio warns the user if trying to delete a document that is in use, but it is still possible to "force delete" the used element.
It is also possible to bypass the usage check for some documents.
Read more about deleting documents
Missing documents or broken references
In some scenarios, documents referenced by another document might be missing or references might be broken; this could happen if:
- a document in use was deleted
- a document was copied from one solution to another without copying across its used documents
- a document was branched from a Master solution to a Local solution without branching its used documents
- a solution from a previous Teneo version was imported with a broken document reference
- a used Language Object or Entity exist in a lexical resource that is not yet assigned to the solution
- a document reference is incorrect due to a typo.
Teneo Studio notifies the user about missing documents that are in use and provide different levels of support depending on document and from where it is missing; error notifications can be of the following types:
- Suggestions
- Error messages and warnings in Tryout
- Flow error messages
- Error highlighting in the syntax editor
Matches and After Matches
In the Suggestions in the backstage of Teneo Studio (Optimization > Suggestions), the user will find suggestions for Matches and After Matches when these reference missing Classes, Contexts, Global Variables, Language Objects and Entities.
Also, in Tryout, the missing references yields a warning message; when opening a Flow with a broken or missing Match or After Match reference, a warning is furthermore given in the Flow Errors panel, linking to the affected Match or After Match. It is not possible to save a Flow with a missing/incorrect Match or After Match reference.
TLML Syntax and Entry values
Tryout displays a warning when a missing or incorrect Language Object or Entity reference is detected in the solution, also references to disabled Language Objects/Entities used in TLML syntaxes or as entry values are shown here.
The syntax editor also flags for missing and/or incorrect Language Object and Entity references by highlighting them; for further information please see the syntax editor page.
Flow Links and Integrations
If a Flow uses a missing Flow as Flow Link, or is using a missing Integration, the solutions gets in an inconsistent state and cannot be parsed; this is highlighted in Tryout as a critical error and with a 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 the 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 or incorrect Global Variables referenced by name, i.e. ${MyVariable}
, in scripts, answer texts, etc. are only detectable once the Groovy script is executed by Engine; this type of missing/incorrect references therefore renders a warning in Tryout at runtime.
Thus, it might be a good idea to verify the usage of a Global Variable before deleting it or before copying documents in-between solutions or branching documents from a Master solution to a Local solution.
Document usage table
The below table specifies in what location and by which property a document can be used and where error messages are provided in Teneo Studio if the referenced document is missing in the solution.
Element | Used in... (location) | By property... | Error(s) shown in... |
---|---|---|---|
Class | Trigger/Transition | Match: Class | (Optimization) SuggestionTryout warningFlow error message |
Context | Trigger/Transition | Match: Context | (Optimization) SuggestionTryout warningFlow error message |
Emotion | Output Node | AnswerResume Prompt | (Optimization) SuggestionFlow error message (in Local Solution) |
Entity | Entity | Entry Value | Tryout warningError in Syntax editor |
Flow ListenerGlobal listenerLanguage Object | TLML Syntax | Tryout warningError in Syntax editor | |
Trigger/Transition | Match: EntityAfter Match: Entity | (Optimization) SuggestionTryout warningFlow error message | |
Match: TLML SyntaxAfter Match: Listener TLML Syntax | Tryout warningError in Syntax editor | ||
Flow/Sub-flow | Flow Link Node | Target Flow | Tryout critical error Flow error message |
Integration | Integration Node | Integration | Tryout critical error Flow error message |
Language Object | Entity | Entry Value | Tryout warningError in Syntax editor |
Flow ListenerGlobal listenerLanguage Object | TLML Syntax | Tryout warningError in Syntax editor | |
Trigger/Transition | Match: Language ObjectAfter Match: Language Object | (Optimization) SuggestionTryout warningFlow error message | |
Match: TLML SyntaxAfter Match: Listener TLML Syntax | Tryout warningError in Syntax editor | ||
Global Variable (by reference) | Trigger/Transition | Match: Global Variable Context | (Optimization) SuggestionTryout warningFlow error message |
After Match: Entity - Mapping Target | Flow error message | ||
Integration NodeFlow Link Node | Transfer Variables | Flow error message (in Local Solution) | |
Global Variable (by name) | Global Variable | Value | Warning in Tryout when executed |
Global Script | Script | Warning in Tryout when executed | |
Global Listener | TLML SyntaxExecution Script | Warning in Tryout when executed | |
Context | Script ExpressionState values | Warning in Tryout when executed | |
Metadata Definition | Auto-logging default value | Warning in Tryout when executed | |
Integration | Method Script | Warning in Tryout when executed | |
Language Object | TLML SyntaxNLU Variable Value | Warning in Tryout when executed | |
Entity | NLU Variable Value | Warning in Tryout when executed | |
Flow | Flow Variable ValueFlow on Top/Drop ScriptsFlow Resume PromptFlow Metadata Assignment ValueFlow Listener TLML SyntaxFlow Listener Execution Script | Warning in Tryout when executed | |
Trigger/Transition | Match TLML SyntaxMatch Script: Evaluation ScriptMatch Variable Context: Evaluation ScriptAfter Match Listener: TLML SyntaxAfter Match Listener: Execution ScriptAfter Match Script: Execution Script | Warning in Tryout when executed | |
Output Node | AnswerSkip ConditionResume PromptURLOutput Parameter value | Warning in Tryout when executed | |
Script Node | Execution Script | Warning in Tryout when executed | |
Prompt Trigger | Expression | Warning in Tryout when executed | |
All Flow Nodes | Metadata Assignment value | Warning in Tryout when execute |