Teneo Studio Web
The Teneo Platform 7.0 release introduces a completely new Studio Web User Interface (UI) bringing to the developers a Teneo Studio available through their browsers without the need to download and install the Teneo Studio Desktop application for a first glance of what the Teneo Platform has to offer.
The new Studio Web is an additional UI which allows for parallel development in Studio Web and the Teneo Studio Desktop application with locking of documents in edit mode and the possibility to create and edit Flows, Language Objects and Entities.
The Teneo Studio Web 7.0 includes a subset of the available features known from Teneo Studio Desktop, including the following:
- Login page
- Solutions "Home" page with Solutions list
- Solution dashboard
- Simplified Solution creation
- Creation and editing of Language Objects, Entities, Flows
Home - Solutions list
After successful login, the Teneo Studio Web user is taken to the Home page which includes the Solutions list.
Here the developer will find the Home button which allows to navigate back to this view from any place in the solution, a user menu in the top right side of the browser window which allows to see information about the currently logged in user and an option to log out as well as - of course - the Solutions list which can be filtered by text or by clicking an object in the header (solution name, state, language and updated).
Opening a solution as well as the documents in a solution is done by simply clicking the name and while navigating the solution path is displayed in the top ribbon allowing the user to easily click and return to a place which was previously viewed.
Learn more in the Teneo Studio pages of documentation
A Create button is available in the view of the Solution list (in the lower right corner of the browser window) which allows to create new solutions.
The process of creating a new solution in Teneo Studio Web guides the developer through a 3 step process: first allowing to select the language of the solution, secondly displaying the available options for solution content for the developer to confirm and lastly allowing the developer to give the solution a name and optionally a description before clicking create.
Note that any lexical resource(s) available for the selected language are automatically assigned to the new solution.
The Solution dashboard is the first view of an open solution, and it brings an overview of the documents available in the solution (Flows, Entities, Language Objects) including a view of the last edited and created documents; clicking the right-pointing arrow allows to display a list of all the documents of the selected type available in the solution, which allows to not only see all documents of a specific type in the solution at once but also to filter on location, name, updated, status, etc.
Clicking the Plus icon in the top of any of the document types allows to directly create a new document of the selected type.
In the Solution dashboard, the Solution Structure provides a view of the total number of documents available in the solution and clicking the right-pointing arrow allows to access the folder structure of the solution and navigate through the folders and documents.
Read more in the Solution window's page
The Create button stays visible when a solution is opened, providing the options to create folders, Language Objects, Flows and Entities; note that from the lists of documents per type (accessible from the Solution dashboard) it is only possible to create the same type of document as currently displayed.
When clicking Create, Teneo Studio displays the new document wizard asking the user to provide the document with a name and, optionally, a description. When creating Flows it is furthermore possible to add Flow Variables in the new document wizard by simply clicking the Plus icon next to Variables.
When the details are filled out, simply click Create to create the new document in the solution.
The Flow in Teneo Studio Web provides the developer with a Flow overview in the upper, right side of the view which, by moving and resizing the blue-colored square, allows to navigate and zoom in/out on the Flow nodes and elements being particularly useful when working with larger Flow structures. The developer, furthermore, has direct access to the Tryout via the button in the lower right side of the window.
Flow editing is performed inside each of the nodes providing the developer with an overview of what is going on where at all times in the Flow. Adding new nodes and functionalities is done via Plus icons which are displayed throughout the Flow graph, and where each Plus contains the exact options relevant for the particular place in the Flow and in this way guides the developer through the process of the Flow creation by only showing options relevant for the developer at the given time.
More verbose menu texts helps guiding the user in the Flow building process, so that after a User Intent has been defined and a Match added, the following After Match Plus icon provide the developer with the options to, for example, extract the value of a Language Object variable (if matched in the input) or execute a script. Further down, after raise, the developer can choose to Continue with maybe an Integration or Split the path to a transaction element to interact with the end user.
Transaction allows to insert a Give Response, User Intent and Bot Output in one go.
Clicking the Plus before the drop allows the developer to Fork to by adding multiple complete transactions or transaction elements at the same time; the developer will have to specify the amount of times they would like to fork the element and in a few clicks Give Response, User Intent and Output nodes are added to the Flow the selected number of times.
The TODO label (known from Teneo Studio Desktop) advices the developer when one or more nodes still need implementation making it easier to know which parts of the Flow implementation(s) is still missing.
Raise and Drop events
Raise and Drop labels are displayed in the Flow graph indicating when these events take place in the dialogue. They are merely informative and no actions can be performed on these labels.
A transition is, by default, set to continue to the next node in the Flow without asking the end-user for an input, but in certain use-cases, it might be meaningful to have a pause in the Flow, where the bot provides all the (pending) outputs up to that point in the Flow to the end-user (and wait for a new input from the end-user); In Teneo Studio this "behavior", where the pending output(s) are provided and the bot waits for a new input, is visualized with a Give Response label in the Flow editor.
A Language Object in Teneo Studio Web provides the developer with a TLML Syntax editor to edit the syntax of the object in Teneo Linguistic Modeling Language; variables can be added by opening the Variables panel in the left side of the window.
Read more about Language Objects in the documentation
In the Entity, the developer can add data entries, as well as string and/or script variables. Editing is done easily in the entries editor by clicking Add Entry where pressing Enter allows to jump to the next line and Tab will move to the following column. Clicking the name of a Variable allows to change it, while sorting can be done by clicking the arrow in the header; the three black dots allows to change variable type or delete the selected variable.
Learn more in the Entity section of documentation
TLML Syntax editor
The Syntax editor in Teneo Studio Web, for example in TLML Syntax Matches and Language Objects, brings the syntax highlighting already known from Teneo Studio Desktop as well as the Auto-complete function and the Condition building assistant (Ctrl + space after starting to write a word or Language Object/Entity reference).
Read more in the Teneo documentation
A simple Tryout is available in Teneo Studio Web and by clicking the Tryout button, available in the lower right corner, a chat window will open.
The Tryout supports inputs and outputs, and allows to chat with the solution to quickly test implementations and ensure correct behavior of a given dialogue; to test an input simply write the text in the text field at the bottom and either press Enter or click the Send button.
The Tryout is currently only available in one tab at a time and only for one solution at a time (in case of having different solutions open in different tabs).
For information related to the supported browsers, please see here
Teneo Studio Desktop
The Teneo Studio Desktop application has been aligned with the new Teneo Studio Web User Interface (UI), bringing a simplified Solution creation process which is less error prone, smother and quicker; also, the creation of documents is simplified and hence the first steps when creating a solution as it is now possible to create Flows, Entities and Language Object directly in the solution root with no need to create a folder first.
Furthermore, the Flow window has undergone changes and the Plus icons - again from the Web UI - have been implemented in the Flow graph of Teneo Studio Desktop together with more verbose menu options to help guide the developer through the creation of new flow dialogues.
The process of creating a new solution in Teneo Studio has been simplified and the New Solution wizard guides the developer through a three step process: first allowing to select the language of the solution, secondly displaying the available options for solution content for the developer to confirm and lastly by allowing the developer to give the solution a name and optionally a description before clicking OK.
When the new solution has been created, Teneo Studio now prompts the developer to either close the "Solution creation" message or open the solution and hence does not automatically open a newly created solution anymore.
Lexical Resources auto-assigned
Now, when creating new solutions and after selecting the wanted solution language, all available lexical resources for the selected language will automatically be assigned to the new solution; this means that when a Teneo Lexical Resource is available the latest version is automatically assigned to any new solution and the developer no longer needs to go to the backstage of a solution to assign the resource(s) manually.
Solution properties, such as Location, Confidence Threshold or Quality Control, known from the solution creation process of former Teneo Studio versions are still available and can be modified once the solution is created and opened in the Solution tab in the backstage under Properties.
The modification of the solution's language is though no longer possible; should the developer want a solution in another language, the only way to do this is to create a new solution selecting the other language in the create solution process.
The option to add a Prefix to the autogenerated document number of Flows, Language Objects and Entities has been removed from Teneo Studio.
Create solution from imported file and merging solutions
The option to create a solution from an imported file has been removed from the new solution creation process and is now instead available in the Import/Export tab (with no solution open) by selecting Import Solution.
Merging an existing solution with a previously exported solution by importing additional content from file has been moved inside the solution and is now available in the Import/Export tab in the backstage of Teneo Studio by selecting Add Content when the solution is open.
When branching a Master solution, the Branch Solution wizard is reworked similarly to the New Solution wizard and guides the developer through the branching process, starting with the language selection and next allowing to select the solution content: "Master and Template", "Master and Imported File" or "Master only". Lastly the developer should give the solution a name and optionally add a description before confirming the branching by clicking OK.
Solution root folder
The solution's root folder is now exposed in the Solution Explorer making it possible to start creating solution content without worrying about first creating a folder as in previous Teneo Studio versions.
The root folder shares its name with the solution and cannot be renamed nor removed from the solution and new folders created in the solution are added within the solution root folder (i.e. it is not possible to add other folders at root level) and therefore when running an Auto-test of the root folder, the developer is effectively running a solution Auto-test.
The view of the root folder, which is automatically expanded always, allows to perform copy/paste actions, but drag/drop is not possible to the root folder although it is allowed from the folder. The History button and Edit button are both disabled for the root folder.
The Flow editor has been aligned with Teneo Studio Web and brings Plus icons to the Flow graph. The Plus icons are displayed throughout the Flow graph where more nodes and functionalities can be added, and each Plus icon contains only the relevant options for the particular place in the Flow graph which is selected allowing to better guide developers through the process of creating and implementing Flows.
The new menu texts, when clicking a Plus icon, are more verbose and informative and seek to help developers to choose the option of what they want to do in the Flow at that particular place. Therefore, depending on the location of the Plus icon in the flow graph, different options are available, for example: after a User Intent trigger, the following Plus allows to add Match(es), such as a Class Match or a TLML Syntax Match, and After Match(es) to, for example, extract the value of a Language Object variable, while a Plus further down in the Flow graph could provide also the options to Continue With maybe an Integration or to Split path to a transaction element to interact with the end user.
In Localization setups, where the Flow structure is managed by the master solution, only Plus icons relevant for the Local solution developer are displayed in the Flow graph.
Note that the right-click menu available in former Teneo Studio versions has been removed from the Flow editor as the menu options are now available through the plusses and, of course, Teneo Studio users can still use the buttons available in the top ribbon to add new nodes and perform updates in the right-side panels.
Transaction and Transaction element
A new concept of a "transaction" is introduced with the changes in Teneo 7.0, which allows developers to add a Give Response label, a User Intent and Bot Output in one go to the Flow graph.
Adding a "transaction element" via Split Path to or Continue With (depending on the location in the Flow graph) allows to add either a Give Response label, a User Intent or a Bot Output to the Flow graph through the Plus icons.
Furthermore, at the end of the Flow graph, when clicking the Plus icon and selecting Fork to, it is now possible to add several transactions or transaction elements in one go by specifying the number of times these should be forked to and added.
Match and After Match
Throughout the Flow several name labels are updated to convey a more clear messaging to the users.
This means that the experienced Teneo Studio user will find that, in Flows, the Examples are now User Intent, Match Requirements simply Match and the Data Actions are After Match indicating that the after matches contain implementations which are executed ones the user intent has matched. The updated name labels are aligned throughout Teneo Studio, meaning that the new names are also found in, for example, Tryout, tooltips and the Ordering window.
Also note, that the Id of a Flow node is now available at the bottom of the right-side panel of any selected Flow node.
Raise and Drop events
In the Flow graph, new labels are available for the Raise event and the Drop event to clearly illustrate where in the Flow dialogue these events take place; the Raise label is printed in the graph following the User Intent trigger (with it's Matches and maybe After Matches), while the Drop label can be present after the last Output node in a simple FAQ like Flow, but present in various place in more complex Flow structures. The Raise and Drop labels are merely informative and no actions can be performed on these nodes.
Also, a Give Response label is introduced in the Flow graph which when present indicates that there will be a pause in the Flow where the bot will provide all the (pending) Outputs up to that point in the Flow to the end-user and wait for a new input.
User Intent on transitions
The Match Intent checkbox, previously available in the Triggering section of the Transition panel and which made it possible to set a transition to be conditional on intents and added Examples to the panel, has been moved into the User Intent section, allowing the developer to activate the functionality and specify examples of user intent by simply clicking Add.
When a transition is set to match on User Intent a node similar to the User Intent trigger is displayed in the Flow graph on the transition to indicate that the transition is expected to act on User Intent.
To help users through the process of adding a Match or After Match in the Flow, especially when adding either from a Plus in the graph, the TODO label will now also flag incomplete Matches and After Matches in the right-side panel and to draw the user's attention to which part they should still complete, these sections will now also have a yellow vertical line as seen in the below image.
Change of default revisits on Outputs
The default for the revisits of an Output node which was in previous Teneo versions set to 0 has been changed so that the default of any new Output node added to a Flow is always Allow output to be revisited with Limit number of revisits to 2.
This change only applies to new Output nodes and do therefore not affect any existing solutions nor does it have any upgrade implications.
Deprecation of Language Object Variables
Language Object Variables (LOB Variables) available in the right-side panel of Language Objects are deprecated as of Teneo Platform 7.0 and users are encouraged to already now start updating any Language Object Variables to NLU Variables to ensure their correct functionality in the future.
Fixes and User Driven Improvements
- After detecting that when solutions in a Localization setup grew in size the responsiveness of Teneo Studio would become slower, enhancements are implemented with a special focus on larger solutions to ensure better performance and stability when working with master/local solutions.
- The options to Open Master history and Open from Master from a local solution have been revisited to ensure correct display and behavior when clicking any of these in Classes or Global elements.
Solution Log and Version History
- Improvements are performed to ensure stable and expected behavior of document version history in Teneo Studio
- Import of solutions which reuse the original solution's solution id is revisited to guarantee that a solution's revision count always starts with 1.
- An bug identified with Ids in a solution not being unique after merge-importing additional content, deleting the content and re-importing the same content again, has been fixed.
- Error messages displayed in the Tryout have been reviewed to ensure correct behavior and display of the different errors with a special attention on situations where Teneo Learn fails.
- An error in the Ordering window where the relations between triggers wouldn't be displayed correctly is fixed.
Flows, Language Objects and Entities
- In Teneo 6 it was found that some of the properties of Flows, Language Objects and Entities would be editable when the document was opened in read-only mode; this has been fixed for Teneo 7.0 to ensure correct behavior when opening any of these documents.
- When a Flow with multiple answers in the Output node is copied within the same solution, the Output node of the "new" Flow shares Ids with the Output node in the "old" Flow; in former Teneo Studio versions this caused an unexpected behavior in the ordering of the given answers due to Engine not being able to differentiate between answers in one Flow or the other.
Therefore, Engine now takes into account both the Flow Id (unique within a solution) and the answer Id when calculating which Output answer should be given when multiple answers exist on the same Output node to ensures that both ordered and randomly set answers are given in the expected way.
- When using the Generate button available under Match (requirements) in Flows to auto-generate the implementation, it is now possible to press Undo to remove the Match implementation and Redo to add it again.
- When editing Flow Variables and Language Object Variables/NLU Variables and closing the window (Flow or Language Object), Teneo Studio again prompts the developer to save or discard the changes performed in the document.
- On Flow save, warning and error messages are again displayed for transitions which are not set to match user intent but have incomplete Match implementations.
- An issue loading the results of a Flow Auto-test, after closing the Flow and reopening it, has been fixed.
- The readable path of documents has been revisited to ensure correct display of the documents' path throughout Teneo Studio Desktop.
Flow nodes and elements
Below please find an overview of the various Flow nodes and other Flow elements as of Teneo 7.0
More information is available in the Flow section
Flow Plus options
The below table provides an overview of the options available when clicking a Plus icons in the Flow graph; please note that the available options when clicking a specific Plus in the Flow editor varies depending on the place in the Flow graph as options are only displayed when relevant.
More information is available in the Flow section
|Trigger||Trigger based on end user Intent in the input||Adds a new User Intent trigger to the Flow; option only available before the raise label|
|Trigger after the input is processed to Prompt the user||Adds a new Prompt trigger to the Flow; option only available before the raise label|
|Match||Generate a draft implementation based on the User Intent||Only available when examples of User Intents are added to the User Intent node and the Tryout engine is runningGenerates the implementation of Match; read more|
|when a given Class is predicted for the input||Adds a Class Match|
|when an Entity is recognized in the input||Adds an Entity Match|
|when a Language Object matches the input||Adds a Language Object Match|
|when a TLML syntax rule matches the input||Adds a TLML Syntax Match|
|when a Scripted Context state is active||Adds a Context Match|
|when a Flow Variable matches a given script||Adds a Flow Variable Context Match|
|when a Global Variable matches a given script||Adds a Global Variable Context Match|
|when a Script returns true||Adds a Script Match|
|After Match||extract the value of an Entity variable (if present in the input)||Adds an Entity After Match|
|extract the value of a Language Object variable (if it matches the input)||Adds a Language Object After Match|
|execute a script||Adds a Script After Match|
|execute a script when the input matches an additional TLML Syntax rule||Adds a Listener After Match|
|Continue With||a Transaction to recognize Intent and Give a Response||Adds a Give Response label, User Intent and Bot Output|
|a transaction element to interact with the end user||expect an end user Intent||Adds a User Intent to the transition|
|queue an Output to be given to the end user||Adds a Bot Output|
|give all pending outputs as a Response||Adds a Give Response label|
|an Integration to query or control another system||Integrations available in the solution are listed, select the wanted integration to add it|
|a Flow Link to pass the dialogue to another flow||Adds a Flow Link|
|a Script to execute an action||Adds a Script node|
|a Junction to split or re-join the dialogue path||Adds a Junction node|
|Split Path *||to a Transaction to recognise Intent and Give a Response||Adds a Give Response label, User Intent and Bot Output|
|to a transaction element to interact with the end user||queue an Output to be given to the end user||Adds a Bot Output|
|to an Integration to query or control another system||Integrations available in the solution are listed, select the wanted integration to add it|
|to a Flow Link to pass the dialogue to another flow||Adds a Flow Link|
|to a Script to execute an action||Adds a Script node|
|to a Junction to split or re-join the dialogue path||Adds a Junction|
|Fork To||multiple complete Transactions to recognise Intents and Give Responses||selecting the number of times to fork the element allows to add a Give Response label and the selected number of User Intents and Bot Outputs in one go|
|multiple transaction elements to interact with the end user||queue an Output to be given to the end user||selecting the number of times to fork the element allows to add the selected number of Bot Outputs in one go|
* Split Path creates a new path in the Flow; a junction is inserted if splitting directly after Raise.