Surfacing Dynamics CRM Data to a Portal – Entity Lists
If you have been following along with my web series, you should now have a portal running in Visual Studio (or a demo portal on Azure) that is displaying basic “static” content that is stored in Microsoft Dynamics CRM and showing on the home page. At this point, using Dynamics CRM with a connected portal seems like overkill for something easily done on a simple WordPress site.
The true power of a portal solution is to show, add and update Dynamics CRM related data on a portal.
Suppose in our situation we want to provide a listing of “dealers” to our customers on a portal. In our Dynamics CRM, we store our dealers as accounts and have them identified as dealers using the modified “Business Type” field. This type of configuration should be pretty straight forward.
From here, we could also create a custom view called “Dealers” for accounts. Again, this is Dynamics CRM customization and configuration 101.
At this point, traditionally what one could do is dump this listing to Excel and post the results to a webpage. However, what happens is that each time a new dealer is added, removed or changed, the data needs to be dumped again from Dynamics CRM and updated. This becomes tedious and inefficient.
This is where portal technology begins to shine. The following steps outline how to surface this data from Dynamics CRM to a portal page in real time.
Note that for portal solutions we can surface pretty much any data from Dynamics CRM, both “out of the box” entities and as well as custom entities.
|If you are still working with Basic Portal for these instructions we will need to add some more features to Dynamics CRM from the Adxstudio Installer.
If you are using the demo Portals from Adxstudio then you can skip this step.
Go to the Adxstudio Installer Solution and install the Adxstudio Web Forms option. This will provide some additional entities that will allow us to surface Dynamics CRM forms and views to the portal.
|The first thing we want to do is provide a link on the portal to navigate the user to see the content.
For this example we will add a button to the main menu called “Dealers”
In Dynamics CRM, navigate to Portals, Web Link Sets.
|Web Link Sets are really “menu groupings” and appear at different parts of the portal. For now, choose Primary Navigation web link set as that is the “main menu” of the portal.|
|In the web link set record, scroll down until you see the links. In this example you will see Home and Content
If you are using the demo portals from Adxstudio, you may see a lot more options.
|These options relate to the main menu of the portal. Home display’s an image, while Content shows text.|
|In the web link grid, click the “+” icon to create a new Web Link. Name it “Dealer”.
The Web Link Set to which this link belongs should already be pre-populated to Primary Navigation.
The Publishing State we can set to Published meaning the menu item will be active. If we want to later shut off this link, we can change the state to Draft.
For now, leave the other options blank (we will fill in the actual destination later).
The other field further down the form (not pictured on screenshot) is called display order. For now, enter a numerical value of 3 or higher. This determines the order in which items appear on the menu.
|If we look at the portal (after doing a “cache refresh” as described in my last section), we should now see a link called Dealer. Clicking on this link will not take us anywhere (yet).|
|Back in Dynamics CRM, we need to give the Dealer menu item a destination. All content in the portal needs to be on a webpage record. Navigate to Portals -> Web Pages in CRM.|
|On the webpage view, click New to add a new webpage record.
Enter the following information:
Name: Easy to remember name of the webpage (what it’s for)
Website: Basic Portal (lookup to the website record)
Parent Page: Home (the homepage is the parent for this page)
Partial URL: A unique name for the page that will appear as a part of the URL
Page Template: Full Page. Page templates define how the content is arranged and laid out on the webpage. We will discuss page templates in a future blog posting. For now, choose Full Page
Publishing State: Published. We can change to Draft if we want to temporarily disable the page. In the title and copy, you can add some static content that will display.
Save the Record.
|Now that we have created a new webpage, we need to have a way to display it on the portal. We could navigate to it using the partial URL but that is not very intuitive for the users.
Go back to the Web Link that we had setup earlier for Dealers. First navigate to Portals -> Web Link Sets, find the Primary Navigation Web Link Set, and then find the dealer Web Link.
In the webpage lookup, we will connect the webpage that we just setup.
Notice that we also have the option to link to external sites.
|If we go back to our portal and clear the cache again, now when we click the dealer link we are taken to the webpage that we just setup. Notice the URL has the partial URL information we added.
However, at this point all we see is the static content.
|The final piece of the puzzle is to link the Dynamics CRM data to the webpage. This is where we can use the Entity List feature. In Dynamics CRM, navigate to Portal -> Entity Lists|
|Add a new Entity List record.
You will notice that Adxstudio has added a number of special controls to the form. First, choose the record you want to surface on the portal from the drop down of entity names.
(I have found that sometimes these controls don’t always load immediately or sometimes not at all. In most cases, closing and reopening the record solves this issue)
Then in the Views area, choose to add a new view. Choose the Active Dealer Accounts view (or any other Dynamics CRM view you want to display on the portal).
Save the record.
There are many more options that will look at in future blog posts. Stay tuned.
|Now that we have created the Entity List record, we need to define on which page it will appear. Navigate in Dynamics CRM to locate the Webpage record you created earlier.
In the Entity List lookup, select the Dealer List entity list record that you just created.
We are telling the webpage to render this view on the portal.
Note that only some of the page templates will show entity lists. We will explore that further in future blog posts.
|Go back to the Portal and clear the cache. If everything was done correctly, then the list of Dealers should appear.||
Now that Dynamics CRM data is being surfaced on the portal, as Accounts are added, deleted or information is changed in Dynamics CRM then it will update on the portal. This is a simple example but goes to show what a portal tightly integrated to Dynamics CRM can provide. We have only scratched the surface of what is possible.
In our example, if we update account data we will need to refresh the cache but in a live portal we would typically implement what is called webpage notifications to update the cache so the updates will truly be in real time.
In upcoming posts I will demonstrate how we can drill down to view more details of particular records from a view and also how a portal user can add information. I will also look at the other features of Adxstudio portals and provide a bit of context of how and when to use them. Again, all of this information can also be found in the product Documentation area of the Adxstudio website.
Need help with your Microsoft Dynamics CRM Portal project? Contact BDO, we can help!
CRM Manager at BDO Solutions
Contact Nick Doelman