Teneo Developers

Troubleshooting

The options and functionalities described in this page currently only apply toTeneo Studio Desktop

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.

Used by panel

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.).

Variable usage 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.

Read more about Search

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.

Item in Use message

It is also possible to bypass the usage check for some documents.

Confirmation message

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.

Suggestions

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.

Flow Errors panel

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.

Warning in Tryout

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.

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.

Solution inconsistency

Flows using missing Flows as Flow Links or that refer to missing Integrations also have a warning message in the Flow Errors panel.

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.

ElementUsed in... (location)By property...Error(s) shown in...
ClassTrigger/TransitionMatch: Class(Optimization) SuggestionTryout warningFlow error message
ContextTrigger/TransitionMatch: Context(Optimization) SuggestionTryout warningFlow error message
EmotionOutput NodeAnswerResume Prompt(Optimization) SuggestionFlow error message (in Local Solution)
EntityEntityEntry ValueTryout warningError in Syntax editor
Flow ListenerGlobal listenerLanguage ObjectTLML SyntaxTryout warningError in Syntax editor
Trigger/TransitionMatch: EntityAfter Match: Entity(Optimization) SuggestionTryout warningFlow error message
Match: TLML SyntaxAfter Match: Listener TLML SyntaxTryout warningError in Syntax editor
Flow/Sub-flowFlow Link NodeTarget FlowTryout critical error Flow error message
IntegrationIntegration NodeIntegrationTryout critical error Flow error message
Language ObjectEntityEntry ValueTryout warningError in Syntax editor
Flow ListenerGlobal listenerLanguage ObjectTLML SyntaxTryout warningError in Syntax editor
Trigger/TransitionMatch: Language ObjectAfter Match: Language Object(Optimization) SuggestionTryout warningFlow error message
Match: TLML SyntaxAfter Match: Listener TLML SyntaxTryout warningError in Syntax editor
Global Variable (by reference)Trigger/TransitionMatch: Global Variable Context(Optimization) SuggestionTryout warningFlow error message
After Match: Entity - Mapping TargetFlow error message
Integration NodeFlow Link NodeTransfer VariablesFlow error message (in Local Solution)
Global Variable (by name)Global VariableValueWarning in Tryout when executed
Global ScriptScriptWarning in Tryout when executed
Global ListenerTLML SyntaxExecution ScriptWarning in Tryout when executed
ContextScript ExpressionState valuesWarning in Tryout when executed
Metadata DefinitionAuto-logging default valueWarning in Tryout when executed
IntegrationMethod ScriptWarning in Tryout when executed
Language ObjectTLML SyntaxNLU Variable ValueWarning in Tryout when executed
EntityNLU Variable ValueWarning in Tryout when executed
FlowFlow Variable ValueFlow on Top/Drop ScriptsFlow Resume PromptFlow Metadata Assignment ValueFlow Listener TLML SyntaxFlow Listener Execution ScriptWarning in Tryout when executed
Trigger/TransitionMatch TLML SyntaxMatch Script: Evaluation ScriptMatch Variable Context: Evaluation ScriptAfter Match Listener: TLML SyntaxAfter Match Listener: Execution ScriptAfter Match Script: Execution ScriptWarning in Tryout when executed
Output NodeAnswerSkip ConditionResume PromptURLOutput Parameter valueWarning in Tryout when executed
Script NodeExecution ScriptWarning in Tryout when executed
Prompt TriggerExpressionWarning in Tryout when executed
All Flow NodesMetadata Assignment valueWarning in Tryout when execute