Within Unified Service Desk for Microsoft Dynamics CRM you may wish to have tabs that “float out” of the USD interface. This can be very useful when working on multiple monitors. For example, you might display a search window in one screen and show the resulting sessions in your main USD interface loaded in another monitor.

This style of tab are called “floating panels“.

Hopefully the photograph below shows how I can use two screens to search and open contacts. In this post I will explain how I achieved this effect in Unified Service Desk. I’m using USD 2.0 and CRM 2016 but you should find the same approach will work in other versions.

The steps involved are quite straight forward;

  1. Create a hosted control for your search.
  2. Have an action to open the search screen.
  3. Optionally create a navigation toolbar for your search window.
  4. Create window navigation rule(s) to open the contact session.

I am going to make some assumptions here! Firstly that you already have a basic grasp of USD and that you have already created the hosted controls, actions and session lines needed to create and open a contact session. I will also assume you have a basic grasp of toolbars.

Step One – Create a hosted control for your search

Guess what, this USD change is going to start with creating a hosted control! J

This is a simple enough hosted control, the USD component type is “CRM Page” as you’d normally expect. I have also selected the “Application to Global” option.

Then I have set the display group to be “FloatingPanel”.

Step Two – Have an action to open the search screen.

Next you’ll need an action that will navigate to the search screen for contacts. (Or whatever entity you wish to use.) This is a fairly standard process, mine is shown below. I have selected the hosted control I created in step one and set the action to navigate. The the data portion contains the url needed to display a list of active contacts.

url=main.aspx?etn=contact&extraqs=%3fpagemode%3diframe%26sitemappath%3dSFA%257cCustomers%257cnav_conts&pagetype=entitylist&viewid=%7b00000000-0000-0000-00AA-000010001004%7d&viewtype=1039

OBVIOUSLY next you’ll need to trigger this action to show the search results in your floating tab. In my application I did this by calling the search from a button on my main toolbar. You could do that or simply add the action to the DesktopReady event of your global container.

Step Three – Optionally create a navigation toolbar.

At this point you may want to create a navigation toolbar and associate it with the hosted control you created in step one. In my toolbar I have coded browser style back / forward buttons and gave options to quickly swap to searching for accounts etc. All of this is standard stuff you can find described elsewhere in my blog or in various articles in the Microsoft websites. (And of coarse other excellent blogs are available!!! J)

Having created your toolbar, you’ll need to remember to navigate to the hosted controls option on the toolbar to associate it with the hosted control your created in step one.

In essence creating a toolbar for a floating panel is exactly the same as any other navigation toolbar.

Step Four – Create window navigation rule(s) to open the contact session.

This was the only part of the change that took some thought!! As you’d expect you may need to create one or more navigation rules to trigger sessions to open as contacts (or accounts etc) are selected. Typically I set the “from” field in the window navigation rule to the tab that the pop-up originates from. BUT using that approach I found my navigation didn’t trigger.

The solution was simple, as I just omitted the “from” option. You might need to think about the implications of this in your interface. The “benefit” being the rule will be triggered whenever a contact is opened. This might be exactly what you want but you’ll need to give it some thought. I found I needed to test opening contacts from several places and checked in the debugger that the “correct” navigation rule was still being processed.

UPDATE: Later I tried other combinations and didn’t have similar issues with navigation rules so generally speaking your existing rules should work.

 

A note about “MovePanelTo”

You may be aware that an action exists called “MovePanelTo”.  To use this you’d simply create an action with the data field set to “FloatingPanel”. I have found this quite useful to give the users an option to move the tabs from the main panel to new windows.

Hopefully you will have found this post useful and I hope you’ll agree that creating “FloatingPanels” is no more difficult than any other type of tab. J

5 responses to “USD – Floating Panels”

  1. Hi sir, recently I had faced a problem where in my requirement is to open a new case form but without opening any new session (Like, a Contact session). So, I had construed the URL to open a new case form & things working fine, but now I have to change that URL again & again, when USD configuration move from development to testing to production environment.

    Note: I had given a “case drop down button” with the two drop down values namely:

    1. New Case
    2. Existing cases

    So, Can you suggest what code to put in the data field, which help me to open a new case form with out the requirement of creating a new session. I hope, you got my point.

    Please try to help !!!!!!!!!

    Like

    1. Hi

      Does your url include your organisation name? Which would explain why you have to change between testing and production. If it isn’t that please explain what you are needing to change. (Another thought, in any urls you need to use “etn” not “etc” to reference the entity, try reading my blog post on urls. As that explains this! In short, etc uses the entity number to reference the entity, this can be different in each environment. Although unlikely to change with incidents, I’d only expect an issue with custom entities!)

      Typically the org name wouldn’t be part of the url for the navigate action. That is if your hosted control has a component type of “CRMPage”. It could be that you’d used a standard web page and entered the whole url. Which “might” work but would give the problem you describe.

      I have a similar set-up in my contact and account navigation toolbars. A toolbar with two toolbar buttons in a drop down. One to view associated cases and one to create a new case. I have moved that logic between several environments without any issue.

      Hope this helps ….

      Neil.

      Like

  2. Hi sir, Actually I had created URL by reading your blog only to open a new case form, like my url=http://112.899.11.50:1234/kayvee/main.aspx?etn=incident&pagetype=entityrecord but when we moved the USD configuration to client server then I have to change this URL again (Correct me if I am wrong.)
    So, I was asking for particular code in data field of action call to open a new case form.

    Note: I had changed the above URL bit for security reasons.

    Like

Leave a comment

Trending

Website Powered by WordPress.com.