When you download and install Unified Service Desk for Microsoft Dynamics CRM, you would have noticed that the USD Desktop Client displays a “Unified Service Desk” logo in the top left-hand corner of the window. Perhaps your organisation wants to refer to USD by some other name, or maybe you wish to show your company logo instead of the default logo. To achieve this, we can create a custom Panel Layout.
Note: The creation of custom Panel Layouts requires a developer who has experience with Visual Studio and WPF. In the following example, I will be using Visual Studio 2013 Ultimate.
Prerequisites
Before creating a custom Panel Layout, we need to download the Microsoft Dynamics CRM SDK Templates. To do this, perform the following steps:
1. Open Visual Studio and click on Tools -> Extensions and UpdatesCreating a Custom Panel Layout
Perform the following steps to create a custom Panel Layout in Visual Studio:
1. Click on New Project.Replace:
<Image Grid.Column="0" Source="{Binding Source=msdyusd_Logo, Converter={StaticResource CRMImageLoader}}" Style="{DynamicResource ImageLogo}" />
With: (note that I am using a hard-coded image path for this example)
<Image Grid.Column="0" Source="C:\<path to project>\USD.PanelLayouts\Images\mag_logo.png"/>
5. Build the solution.
Register the Custom Panel Layout with Unified Service Desk
Registering our custom Panel Layout with USD is a two-step process. Firstly we need to copy the binaries for the custom Panel Layout into the USD application directory. Secondly we need to create a new Hosted Control in CRM which tells the desktop client to load the new Panel Layout.
1. Navigate to the \bin\debug folder of your Visual Studio project and copy the DLLa. Name: USD Custom Panel Layout4. Save the Hosted Control and launch the USD Desktop Client. You will now see the updated logo.
b. USD Component Type: Panel Layout
c. Application is Global: Yes
d. Display Group: Main Work Area
e. Application is Dynamic: No
f. User Can Close: No
g. Assembly URI: USDExtensions (the namespace of your custom Panel Layout)
h. Assembly Type: USDExtensions.CustomLayout