Introduction
There could be different scenarios where client may want to view, access, or pass data to external pages from within Dynamics CRM.
External pages refer to the pages that are not part of Dynamics CRM. It can be defined as pages that you can access via an internet (with an extension like .aspx, .html, etc).
In Dynamics CRM, we always have an option to create and use HTML pages through webresource but sometimes there is requirement to have an external page for a user to work with it. Users can have different requirements for it;
- They may only require to only see the pages.
- They may require to see and also may want to interact with page.
- They may require to pass the CRM data to external page.
In this blog we have consolidated all the different areas in Dynamics CRM where we can actually add external pages. This may help you to choose right area to display your page in order to access external pages from Dynamics CRM.
There are 5 different areas mentioned below;
1. IFRAME on entity forms:
The form of entity is one of the areas where we can add/show an external page. You can add an Iframe control on the form and you can pass the URL for that Iframe. So when you open a record of that entity the external page gets loaded into that Iframe.
In some situations, you might want to pass some data from Dynamics CRM to external page.
You can check the below option to pass this information to page and on the external page you will get that information from the querystring (Record GUID and Object type code).
Data passed to querystring: GUID of record (id), entity type code (typename), user language code (userlcid), organization language code (Orglcid), and Organization name (orgname).
Here is how the page looks like on Dynamics CRM form:2. IFRAME on Dashboard:
In similar fashion, using IFRAME control you can add/show page on dashboard. We will need to insert an IFRAME control on dashboard and specify the URL for that IFRAME.
In same way, you can pass the information to page. But in this case you will get only organization language, user language, and organization unique name. You won’t get record GUID and entity type code in this case since we are opening through a dashboard.
Data passed to querystring: organization language (Orglcid), user language (userlcid) and organization unique name (orgname).
Here is how the page looks like on Dashboard:3. Form Navigation:
The navigation area of any entity is the one area where we can add a link to open external page.
Edit form and click on Navigation to enable the navigation pane of form to edit it.
From this screen, we can add external page to navigation area by using “Navigation Link” button.
This button opens a window with option to select a Web resource or URL. If we want to open an external page then we have to go with External URL option.
In this case we cannot pass any data to page. Supported way is not available for this option.4. Sitemap:
We can also add link to open URL from Sitemap area. We have to edit the <subarea> to open URL.
<SubArea Id=”Inogic_sitemap” Url=”https://www.inogic.com” Description=”Inogic” Title=”Inogic” AvailableOffline=”false” PassParams=”true” Sku=”All” />
With this option we can pass Dynamics CRM data as a querystring to link. We have to add a “PassParams” attribute with value as “true” to Subarea element.
Data passed to querystring: organization language (Orglcid), user language (userlcid) and organization unique name (orgname).5. Ribbon:
The ribbon is one area where we can open URL by clicking on ribbon button. We have to add button and need to define an action to open any particular URL.
You can find several articles on customizing ribbon. We have to modify the <RibbonDiffXML> element to customize the ribbon.
Below is the excerpted part from <RibbonDiffXML>,
<CommandDefinitions> <CommandDefinition Id="ikl.Form.account.MainTab.Save.OpenLink.Command"> <EnableRules /> <DisplayRules /> <Actions> <Url Address="https://www.inogic.com" PassParams="true" WinMode="0"> <CrmParameter Value="PrimaryControlId" Name="id" /> </Url> </Actions> </CommandDefinition> </CommandDefinitions>
Similar to Sitemap, to pass parameters to URL we have to add “PassParams” attribute with value as true.
Data passed to querystring: We have so much parameters that we can pass to URL through querystring. We can pass CRM data using CrmParameter, we can even pass BoolParameter, StringParameter, DecimalParameter. For more information you can refer following link https://msdn.microsoft.com/en-us/library/gg328363.aspx .
With this option we can open page either in new window or in current window.
Conclusion:
This blog discusses about the different areas to use external pages from Dynamics CRM. Whenever you want to add an external page into Dynamics CRM consider all these areas and decide appropriate area to use your page.
Wait is over – Maplytics August Release now available – Try Today!
So we developed to one of our customers an external web page developed on C sharp this page is hosed on external server.
This page retrieve some data from dynamics 365 and it’s pop up on a button that we developed on one of the entities.
Now the problem is that this web page is accessible for any user around the web and we need to secure this page that only users from dynamics 365 from that specific organization will be able to see this page,
Any idea how can we do it?
Can we require from a user to log into his Office 365 account on page load?
Hi Alex,
Yes, you would need to add a login to the office365 account on the page load. You can also enable Single Sign On (SSO) for your web page. So if the user is already logged in to the CRM, the web page will automatically skip the step of sign-in again to your web page.
Hope this helps,
Thanks!