Create a Master solution
Creating a Master solution is as easy as creating any other new solution in Teneo Studio, see how to do this here.
Any existing solution can also be converted into a Master solution by first selecting the documents to share (see below section) and then by branching a new solution under it, please see how to branch a solution here.
Select documents to include
When creating new documents in a solution however (both in a new and imported/upgraded solution), they are per default set as not included.
In both scenarios, it is highly recommended to review and select which folders and document to include in the Local solution(s) before performing the branching of the new Master solution.
In the existing (Master) solution, documents can be excluded and included by simply clicking the Exclude/Include buttons available in the top ribbon (Branching area) of the Flow, Language Object, Entity, etc.
Global documents, in the backstage of Teneo Studio (Solutions tab > Globals), have the option to Include or Exclude the documents available in the top of the view.
In the Solution Explorer view of Teneo Studio it is possible to multi-select various documents and click either the Include or Exclude button in the top ribbon of Teneo Studio to include/exclude various documents at the same time.
When a folder is selected to Include or Exclude, note that all content, including sub-folders and their content, will be either included or excluded from the Localization setup.
It is possible to multi-select documents for inclusion/exclusion for the following documents: Classes, Emotions, Global Listeners, Global Variables, Integrations, Scripted Contexts, Flows, Language Objects, and Entities.
For an overview of the properties' behavior in a Localization setup, please see the List of Localization setups properties.
Create a Local solution
When the documents to share have been selected in the Master solution, close the solution and go to the **Solutions ** tab of Teneo Studio (no solution open). The Local solution is created by following the below steps:
- Select the existing solution which should be the Master solution
- Click the Branch button in the top of the view
- The Branch Solution window will open
- Select the Language of the Local solution
- Confirm the Solution Content:
- Master and Template
- Master and Imported File
- Master only
- Give the Local solution a Name, optionally Add description
- Click OK
A pop-up message informs the user that the branching has begun and a progress bar is displayed while the branching is taking place in the Solutions list.
When the branching process is complete, any Local solutions are grouped under the Master solution in the Solution view.
The Local solution(s) created is a new solution, where the selected documents from the Master solution are inherited. The Local solution will therefore contain documents where some properties are Master-controlled and hence not editable in the Local solution.
Of course, any language-specific, such as language conditions, assigned lexical resources (i.e. Teneo Lexical Resources), additional Language Objects and Entities can be edited in the Local solution. More documents can also be added to the Local solution without these having to exist in the Master solution as well as the Local solution can contain, for example, a Teneo Dialogue Resource without it being inherited or shared from the Master solution.
For specifics about the the behavior of the various properties, please see the Localization setups Properties lists
Visualization of Master-controlled documents
In a Master solution, the documents which are shared with one or more Local solutions are displayed with a down-arrow icon to inform the user of the Master-controlled content.
Folders can be displayed with two different icons depending if the folder and all the content included is being shared or if the folder and only some or none of the content is shared.
In the Local solution, the documents which are Master-controlled, are displayed with a shield to emphasize the documents relation to the Master solution.
Note also that Order groups coming from the Master solution are visualized with the shield to emphasize that the document is connected to the Master solution. Read more about ordering in Localization setups here.
My work tab
Once changes have been made and saved in the Master solutions of documents shared with Local solution(s), these updates are displayed in the Local solution(s) as Master Solution Changes in the My Work tab in the backstage of Teneo Studio (Solution tab > My Work).
The user can choose between updating All X items or Selected by using the buttons available at the top. Note that the user is prompted to confirm the update of documents when the button is clicked.
The Flows, Entities, and Language Objects with pending updates can also be updated from within the document, when the document already exists in the Local solution.
It is also possible to Open the Master document before applying the update in order to see what has changed.
When applying an update, the system will copy all the appropriate changes from the Master document to the Local document. Read more about Updates from the Master.
Order groups added in the Master solutions are - from Teneo 6 - always added as an update in the Local solution.
Accepting the update will add the Order group to the Local solution at the bottom of the list of Order groups, regardless of what position it had in the Master solution.
An Order group connected to the Master solution will have a shield to help the user distinguish between Local Order groups and Order groups coming from the Master solution.
The ordering itself and any properties of an Order group, such as its name and the Intent Triggers contained in it remains fully Local-controlled and such changes in the Master solution will not result in updates in the Local solution(s).
When a Local solution is presented with Flow updates that contain new Intent Triggers belonging to a non-existing Order group in the Local solution, the application of the Flow updates will automatically apply the Order group updates and assign the new Intent Trigger to the same Order group in the Local solution.
Read more about Ordering.
Delete Master-controlled documents
When a Local solution receives an update to delete a Master-controlled folder, any Local documents in the Master-controlled folder will not be deleted, and the folder itself will not be deleted either but rather unlinked from the Master solution.
Deleting a Master-controlled folder and its content will result in an unlink update for the folder and delete updates for the documents in the Local solution. Applying only the unlink update will also apply the delete of the documents, because an unlinked folder can't have Master-controlled documents inside.
It is possible to link back a folder by simply restoring it from the Recycle Bin in the Master solution and applying the link update in the Local solution.
Because of how the Recycle Bin works if, for example, in Master a Flow is restored and its original location doesn't exist anymore, the folder structure will be recreated. This means that the Local solution will have a restore from Recycle Bin update for the Flow and an add update for the created folders in Master.
When a Class is deleted in the Master solution, the Local solution will receive an unlink update; when applying the update, the Class in the Local solution will be unlinked from the Class in the Master solution.
To link back a Class, the Class should be restored from the Recycle Bin in the Master solution, and the link update applied in the Local solution.
Other document types
Deleting a document in Master will result in a delete update for the Local solution and when applied the document will be sent to the Recycle Bin.
Restoring a document from the Recycle Bin in Master will result in a restore from the Recycle Bin in the Local solution.
In Local, in order to restore from the Recycle Bin a Master-controlled document, the document must first be restored in the Master solution and then the restore from Recycle Bin update can be applied in the Local solution.
In the case of Flows, Local users can decide that what the Master has provided does not meet their needs and an option to Detach the Flow from the Master solution is available in the top ribbon of the Flow.
When detaching a Flow, the link to the Master solution is broken. The user will be able to modify any property of the Flow, including the Flow structure, but no more updates from the Master solution will be provided.
To undo a detach action right after clicking the Detach button, simply click Undo in the Flow's top ribbon. To undo a detach action after saving and closing the Flow is only possible by rolling back to a version where the Flow was linked to the Master Flow.
This is done by going to the Flow's backstage (Flow tab) and selecting History in the left side panel. In the History view, open a version which was linked to the Master by clicking the version number. In the window of the previous version of the Flow, click the Restore button. The Flow is now restored to the selected version and linked to Master.
It is possible to reset Local documents to Master, doing this implies that any local changes to the document will be overwritten by the current version of the document in the Master solution.
If a document first is set to include (and branched to at least one Local solution) and later on is set to exclude, it means it is paused from branching, and it will still remain in the local solution(s).
Branching will start again if the document again is included.
This allows users to temporary pause updates for a document while expanding/changing/testing it, for example.
If the first-included-later-excluded document is deleted in the Master solution, it is also deleted from the Local solution(s).
Copy of documents
Note that when Folders, Flows, Entities or Language Objects are copied within a solution, or copied from other solutions, the copied version will automatically be set to Exclude from branching and the user will need to manually include the document in case the document should be propagated to Local solutions.
Copy Local Flow to Master
If a Flow is created in the Local solution which is later found to be needed in the Master solution, the user can - with the Master solution open - use the advanced Search functionality of Teneo Studio to find the Local Flow and copy it over to the Master solution.
Note that this will create a copy of the original Local flow in the Master solution which can then be set to include in the Localization setup. Furthermore, it is recommended to delete the original Flow from the Local solution before applying the Add-update of the copied Flow from the Master solution in the Local solution.
Branch solution and import from Template
When branching from a (Master) solution, it is possible to select Import additional content from Template to import additional content from a template solution apart from the Master-controlled content; this enables the possibility to import, for example, a Teneo Dialogue Resource into the Local solution directly.
When a template solution is included at branching, the order groups from the template will end up at the top of the Intent/Prompt Trigger ordering, above the Order groups from the Master solution. The internal order from each solution will be kept.
The default order group in the template solution will become the default group in the newly created Local solution. It might therefore be a good idea to review and if necessary adapt the Trigger ordering once a Local solution has been created.
When creating a Local solution and including a template solution at branching, only the file resources from the template solution will be added to the Local solution. No files from the Master solution will be added to the Local solution.
Merge-import and branch-import into Local solutions
When performing merge-import or branch import of a solution into a Local solution, any Metadata and Global scripts from the imported solution are ignored to prevent Local solutions from ending up with orphan Metadata/Global scripts that cannot be edited (since these documents are fully Master-controlled).
For merge-import or branch-import, the order groups from the imported solution will end up at the top of the Intent/Prompt Trigger ordering, above the Order groups from the Master solution and the default group will be the one set as default in the imported solution, just as when creating a Local solution and including a template solution.
During branch-import, only the file resources from the imported solution will be added to the Local solution.
Import existing Localization structure
The user can import an already existing Localization structure, i.e. solutions where the Master and the Local documents have identical Ids, from file. To do so, follow the below steps:
- Import the Master solution as a new solution
- When the import is done, Branch the Master solution
- In the Branch Solution window, select Import additional content from file
- Browse to the Local solution and click OK once done.