Teneo Developers

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 folder

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.

TheErrors panel is only visible when errors, warnings, or information messages are detected by Teneo.

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.

Used by panel

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

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.

Item in Use message

It is also possible to bypass the usage check for some elements:

Confirmation message

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.

Suggestion

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.

Warning in Try Out

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.

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.

Solution inconsistency

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

Errors panel in flow

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.

ElementUsed in Location ...By Property ...Error(s) if missing
ClassTrigger/TransitionMatch Requirement: ClassImprovement suggestionTry Out WarningFlow error message
ContextTrigger/TransitionMatch Requirement: ContextImprovement suggestionTry Out WarningFlow error message
EmotionOutput NodeAnswerResume PromptImprovement suggestionFlow error message (in Local Solution)
EntityEntityEntry ValueTry Out warningError in Condition Editor
Flow ListenerGlobal listenerLanguage ObjectConditionTry Out warningError in Condition Editor
Trigger/TransitionMatch Requirement: EntityData action: EntityImprovement suggestionTry Out WarningFlow error message
Match Requirement: ConditionData action: Listener ConditionTry Out warningError in Condition Editor
Flow/Sub-flowFlow Link NodeTarget FlowTry Out critical error Flow error message
IntegrationIntegration NodeIntegrationTry Out critical error Flow error message
Language ObjectEntityEntry ValueTry Out WarningError in Condition Editor
Flow ListenerGlobal listenerLanguage ObjectConditionTry Out WarningError in Condition Editor
Trigger/TransitionMatch Requirement: Language ObjectData action: Language ObjectImprovement suggestionTry Out WarningFlow error message
Match Requirement: ConditionData action: Listener ConditionTry Out WarningError in Condition Editor
Global Variable (by reference)Trigger/TransitionMatch Requirement: Global Variable ContextImprovement suggestionTry Out WarningFlow error message
Data Action: Entity - Mapping TargetFlow error message
Integration NodeFlow Link NodeTransfer VariablesFlow error message (in Local Solution)
Global Variable (by name)Warning in Try Out when executed
Global VariableValue
Global ScriptScript
Global ListenerConditionExecution Script
ContextScript ExpressionState values
Metadata DefinitionAuto-logging default value
IntegrationMethod Script
Language ObjectConditionNLU Variable Value
EntityNLU Variable Value
FlowFlow Variable ValueFlow on Top/Drop ScriptsFlow Resume PromptFlow Metadata Assignment ValueFlow Listener ConditionFlow Listener Execution Script
Trigger/TransitionMatch Requirement ConditionMatch Requirement Script: Evaluation ScriptMatch Requirement Variable Context: Evaluation ScriptData Action Listener: ConditionData Action Listener: Execution ScriptData Action Script: Execution Script
Output NodeAnswerSkip ConditionResume PromptURLOutput Parameter value
Script NodeExecution Script
Prompt TriggerExpression
All Flow NodesMetadata Assignment value

Advanced Search
Try Out
Deleting objects
Improvement Suggestions