Solution Inconsistencies

Today I would like to talk with you about a situation we are facing from time to time as part of our work as Support team – a Solution Inconsistency. And not only one, but actually different types of them! Maybe you have already experienced one by yourself while working in Teneo Studio. The first reaction to it is often “Oh, what happened here?!”
I want to assure you that there is no need to panic, it’s just a matter of fixing a mistake which caused an error- an inconsistency. In this article, we will look together at different reasons why this situation can come up, and how to fix it.

What is a Solution Inconsistency?

A solution inconsistency is a state of a Teneo Solution in which a major error makes its parsing impossible. This also leads to a problem for the Try Out engine which will stop working under this condition. Often, the root cause of a solution inconsistency comes from a design flaw within the solution and can be easily solved. We will now see some common examples:

Flow Links

If a Flow is using a missing Flow as Flow Link the Solution gets in an inconsistent state and cannot be parsed.
A Flow can be missing from the Solution if it was deleted by a Developer while working in Studio.
Also, in case this happens while you are working on a Local Solution, the linked Flow could have been added to the Master Solution but not updated from the My Work tab in the backstage of Teneo Studio.
Here you can see how to update your Local Solution from Master.

When the Solution becomes inconsistent, this will be highlighted in Try Out as a critical error, with an error message pointing to the affected Flow :

image

Now, you can click on the referenced flow to open it and fix the error.
If you click the vertex ID it will open the flow with the failing vertex selected for you.

Flows using missing Flows as Flow Links also have a warning message in their Flow Errors panel.

image

To fix this error, you will need to:

  • Either recreate the linked Flow that is missing from your Solution and then link it again, or
  • Restore the missing Flow from the Recycle Bin

In case of a Localization Solution setup, you will need to update any changes coming from the Master Solution.

Integrations

When a Flow is using a missing Integration, the Solution will also be at an inconsistent state.
The same critical error will appear in the Try Out panel referencing the Flow that needs to be fixed:

image

Also, a warning message in the Flow Errors panel will appear:

image

As in the case of the previous example when a Flow is missing, to fix this error, you will need to:

  • Either recreate the missing Integration, or
  • Restore the Integration from the Recycle Bin (if it was missing due to deletion).

Also, if the error appears in a Local Solution, update from the Master Solution as described in the previous example.

Scripts

Scripting can be used to extend the functionality of an NLI application, providing it with capabilities that are not available out-of-the-box . For example, use scripts to look up information in internal resources, calculate values, test a condition, etc.

The scripting language used is Groovy and Teneo Studio provides basic support for Groovy syntax highlighting, including support for different identifiers (type name, literals, keywords, etc.).

Script code can be used in, for example:

  • Script nodes
  • Language conditions
  • Listener operations
  • Skip condition expressions
  • Prompt trigger expressions
  • Global scripts
  • Flow scripts

If your Solution gets to an inconsistent state due to scripting, you will need to remove your last changes made to the scripts and reload the Try Out engine. If the inconsistency is no longer present, check the last few changes to identify the issue.

Conclusion

Facing a Solution Inconsistency is something that may happen while working in Teneo Studio. The good news is that you can easily detect what is causing the issue due to the fact that Teneo Studio provides clear information about errors, warnings, and information messages to draw the user’s attention to items that might not be working as expected or that should be fixed.
These messages can appear in various places in a solution, but mainly they will be displayed in the Try Out panel.
More extended information can be found in the Messages section of the Advanced Try Out window, where you can navigate directly to the found error by double-clicking the displayed error or warning message.
More about the Advanced Try Out panel can be found here.
We hope this article has been interesting for you. If you have any questions, feel free to ask them here!

4 Likes