This recipe will show you how to add an IFrame to a system dashboard. We will be adding an IFrame that links to a free Microsoft FUSE Labs Social Gadget that displays a tag cloud for the key phrase Dynamics CRM.
There is a difference in how user and system dashboards work with IFrames (explained in the Restricting cross-frame scripting and User dashboards section), so for this recipe, we will create a new system dashboard. Navigate to the Customization section in the Dynamics CRM 2011 Settings area.
Carry out the following steps in order to complete this recipe:
http://embed.socialgadgets.fuselabs.com/Embed/A?keyword=Dynamics CRM&ts=ThreeDays&ver=1.0
HTTP and HTTPS: Why do I get a secure content warning?
In order to meet security requirements, Dynamics CRM Online is served by an HTTPS channel (the same as online banking applications are) and when we mix that HTTPS content with an IFrame that contains HTTP content, as in this example, the users will get a security warning regarding the use of mixed content. Avoiding this message is outside the scope of this book, but there are supported ways to avoid getting this message when using Dynamics CRM Online. Please check with your systems administrator for directions, as this will involve modifying the client's Internet Explorer security settings to allow mixed content. This may go against your organization's security profiles, so it will need to be discussed before making these changes to the client machines.
The following screenshot shows a secure content warning, which you may get:
Adding an IFrame component can be done very quickly using the dashboard designer. This section will discuss the other properties available for you when adding IFrame components.
One of the options in the IFrame component lets you specify and display a label for the IFrame component. When this option is set, the text label will appear in the upper-left corner of the IFrame component. Note that making a label appear may result in the IFrame content being be misaligned, so it is better to test this before deployment. You can see in the following screenshot that the bottom of our FuseLabs gadget now gets chopped off when we show a label for the IFrame component:
If the IFrame component is designed to reference dynamic content that can accept and process parameters from the Dynamics CRM system, then checking the Pass record object-type code and unique identifier as parameters option will pass the following information:
Parameter |
Name |
Description |
Notes |
---|---|---|---|
|
Entity Name |
The name of the entity type hosting the IFrame. |
Value is not passed from dashboard IFrame. |
|
Entity Type Code |
Integer value that represents the entity type. Assume they are unique for each CRM organization. |
Value is not passed from dashboard IFrame. |
|
GUID |
The GUID value for a record. |
Value is not passed from dashboard IFrame. |
|
Organization Name |
The unique name for the CRM organization. |
Value is passed. |
|
User Language Code |
The language code of the current user. |
Value is passed. |
|
Organization Language Code |
The base language code for the CRM organization. |
Value is passed |
When building a User dashboard and adding an IFrame component, the Restrict cross-frame scripting checkbox field is disabled. Due to the security openings that happen when cross-frame scripting is enabled, User dashboards are not allowed to use this feature. Without using cross-frame scripting the IFrame can make references to content that exists on the same domain, but nothing outside the domain that may request information from the originator, such as reading the base URL.
The following link takes you to the Microsoft MSDN library to provide more information on cross-frame scripting and potential security concerns:
http://msdn.microsoft.com/en-us/library/ms533028(v=VS.85).aspx
The following screenshot shows a message that may appear when cross-frame scripting is being restricted:
18.116.10.201