Expose CRM Records for Portal Display
Entity List is a data driven configuration to provide end users with the ability to add a web page that will render a list of records without the need for a developer to surface the grid in the portal.
The grid supports sorting and will be paginated if the number of records is larger than the Page Size specified. If the Web Page for Details View has been specified, each record will contain a link to the page and the ID of the record will be appended to the Query String along with the ID Query String Parameter Name.
The Entity List also supports multiple views. If more than one view has been specified, a dropdown will rendered to allow the user to toggle between the various views.
The data can also be filtered by the current portal user, the current portal user's Parent Customer, and the current portal website. If a value exists for both filter conditions Portal User Attribute and Account Attribute, the portal will render a dropdown to allow the user to view 'My' data or his/her Parent Customer account's data.
Adding an Entity List to your portal
The Entity List contains relationships to web pages and various properties in order to control the initialization of the list of records within the portal. The relationship to Web Page allows dynamic retrieval of the list definition for a given page node within the website.
To view existing Entity Views or to create new Entity Views navigate to Portals -> Entity Lists
The Web Pages associated with the Entity List can be viewed by clicking the Web Pages link listed in the Related navigation links in the left-hand menu.
When Creating your Entity List, the first step is to choose the Entity for which you want to render a list on the portal. You'll then choose one or more CRM Views to render. This is all you need to redner a simple read-only list.
When creating or editing a Web Page, an Entity List can be specified in the lookup field provided on the Web Page form.
The Page Template typically will be the "Page" template but can be one of several other templates designed for content as the master templates contain the necessary logic to determine if an Entity List should be rendered.
Read here for more info on the various configuration settings and attributes for Entity Lists.
You can easily enable and configure actions for records in an Entity List (Create, Edit, Delete, etc.). It is also possible to override default labels, sizes, and other attributes so that the Entity List will be displayed exactly the way you want.
In order to secure an entity list, you must use Configure Entity Permissions for the Entity for which records are being displayed, and also set the "Enable Entity Permissions" boolean value on the Entity List record in the CRM to true.
The act of securing an Entity List will ensure that for any user that accesses the page, only records that they have been given permission to are shown. This is achieved by an additional filter being added to the CRM views that are being surfaced via the list. This filter will filter for only records that are accessible to the user that is logged In.
Note that if NO records are available, then a message indicating this will be shown when the list is loaded. However, good website design determines that if a user is not in a role that has any permissions for the entity (i.e. there will never be a situation where they should see any records), they should also not have access to the page at all, and thus the page should ideally be protected with Webpage Access Permissions.
By setting the
Web Page for Details View lookup to a Web Page, the details of a record listed in the grid can be viewed as readonly or edited depending on the configuration of the associated form/page.
This page, can be a completely custom page template, perhaps created with Liquid or perhaps using a customserver-side .aspx page. The most common scenario is probably to have the details page be a web page that either contains an Entity Form or Web Form.
The important thing to be aware of is that each record listed in the grid will have a hyperlink to the details page and the link will contain a named Query String parameter with the ID of the record. The name of the Query String parameter depends on the
ID Query String Parameter Name specified on the Entity List. The final thing to note is that the targeted details web page must also be aware of the name of this Query String parameter in order to get the ID of the record that it needs to query and load it's data.
Adding the ability to filter records on an Entity List is easy - simply enable the filtering option and then choose one or more filter types to display to users. It is possible to filter by an attribute matching some text provided by the user, or to select from a series of options. You can even design virtually any type of filter you can imagine using Dynamics CRM's Advanced Find.
With Entity Lists it is possible to enable and configure a map view of the data, powered by Bing maps with search functionality to find locations near an address. By populating your records with latitude and longitude coordinate values and specifying the necessary configuration options listed in this section, your records can be rendered as pinpoints on a map.
Entity List Calendar View allows rendering of an entity list as a calendar, with each individual record configured to act as a single event.
In order to records to be displayed using a calendar, those records need to have at a minimum a date field on them. In order for events to have exact start and end times, then the appropriate fields need to be in place, and so on. Assuming these fields are configured, then an Entity Calendar view will appear on the portal
If enabled, an entity can be published to an OData feed. The OData Protocol is an application-level protocol for interacting with data via RESTful web services. For configuration settings please refer to the Entity List page. Data from this feed can be viewed in a web browser, consumed by a client side web application, or imported into Excel.
You may utilize Entity Permissions if you wish to secure records, but if you want to simply provide a filter as part of the set of filter options that is relevant to the current portal user, the Entity List feature supports filtering of current user, user's parent account, and/or website at any depth. Simply build the view filter in CRM to match any single contact record and the code will replace it's value with the actual value at runtime. No need to assign values to fields on the Filter Conditions section.