Hopefully if you read my blog you know that I love it when I can answer questions about Unified Service Desk for Microsoft Dynamics, this post covers a question I was recently asked.
The question was about, what a navigation rule should look like to use the show outside action. A simple question but one that has some implications to consider. I will try to give a full and detailed answer here.
If you don’t know the “Show Outside” action is designed to open your hosted control outside of USD. Once done it would play no further part in USD session or USD at all for that matter. (Because it will have been opened in IE outside of USD.)
In the specific question I was given the window navigation rule wasn’t being triggered. So in approaching this problem I decided to remove that issue by first having a navigation rule that was opening something correctly in the tab. I would then change it to “Show Outside” to be able to compare and contrast the difference between “Route Window” and “Show Outside”.
In my example I am going to alter an existing rule on the case entity. So I am starting with a rule that looks like this …
Below you can see an example that my case is opening in a separate tab. With the Route Window action. Also notice that my case initially had an agent script associated with it and navigation toolbar. And finally notice that my case doesn’t have a navigation toolbar.
I chose case because of these things as I wanted to see what would happen to these USD concepts if I opened the case outside of USD. (Deliberately making my life hard!)
Warning: Don’t try this at home!
Or do but realise it is a little crazy!! If you are going to open a tab outside of USD then it wouldn’t normally make sense to have agent scripts, restrict the navigation or have navigation toolbars. Or have any actions on any event associated with the hosted control for that matter. In the real world if you do this you will probably open a “simple” hosted control outside of USD. And in doing so have no actions (etc) associated with it. Opening outside of USD removes the tab from the USD “container” meaning it plays no further part in USD automation. And therefore doing these things doesn’t make sense! I have only done it like this to demonstrate the concepts / implications.
So I started by simply changing the action from “Route Window” to “Show Outside”, as you can see below. A real simple change.
Below you can see the results I achieved. Some things to note;
- The case “tab” opened in an IE window outside of USD. Think about what this means! If I now close the session or even close USD completely the case remains open IE. That may or may not be desirable.
- My agent scripting normally starts off on one for the account but moves to a case agent script when the case is opened. That simply didn’t happen. “As I expected.” But in the real world if I did this I think I would simply remove any actions connected with agent scripting and this hosted control.
- A new tab did open! Called “Case(New Case)”, this tab was blank except it had a toolbar. I think this showed that the toolbar tried to load and that triggered a tab to open in USD. But the tab was blank as the navigation didn’t try to load anything into it. This suggests that you really should remove any toolbar associated with the hosted control before using the show outside action.
In IE notice that the navigation bar is shown, so the setting on my window navigation rule to hide the navigation has not been applied. As I expected but I wanted to prove that concept.
A couple of final things to think about, my hosted control for cases has the display group set to “MainPanel”, it isn’t global (meaning it should be part of the session) and the hosting type if “Internal WPF”.
- As the case opened outside of USD the display group of “MainPanel” has no meaning.
- It obviously didn’t use Internal WPF as it opened in IE.
- And the case was no longer part of the session. So global or not has no meaning.
- I didn’t test it but you can also assume that the multiple pages Yes/No setting would have no meaning if the tab is opened outside of USD.
In summary, Open Outside maybe an option in your window navigation rule that is really useful in some circumstances. But you need to consider things like impact on agent scripts, toolbar, USD actions etc. As I hope I have demonstrated.
Hopefully this post will have been useful to anyone thinking about using the Open Outside Window navigation rule setting. J