I am creating a series of blog posts that collectively are designed to help anyone preparing for the Microsoft Dynamics 365 Customer Engagement Core exam. (aka MB-200) In this post I will look at concepts around views.
In the skills measured statement (shown below) under the heading “manage user experience design”, you will see a reference to views.
Note: My intention is for these notes to serve as a useful revision aid. But please do focus your preparation on having quality hands-on time with the Dynamics 365 application.
Forms show one record at a time whilst views are used to present lists of records. Views can be included in dashboards or when we simply navigate to an entity within Dynamics 365. Below you can see that I have navigated to accounts and been presented with the “my active accounts view”.
Views can be included on forms as sub grids, for example a list of contacts on an account form. (As shown below.)
We also see views when we search for data in Dynamics 365, for example as we filter results from a lookup field. (As shown below.)
Below I have shown the My Open Opportunities and you can also see the numerous system views available out of the box. It is also possible for end users to create personal views. (Advanced Finds) This can be done from the advanced find icon in the navigation bar or by selecting the “Create View” option in the command bar.
Tip: The list of views will always show system views first, scroll down the list to see your personal views at the end of the list!
Also note that users can also use the “Create view” option to create a personal view based on the filtering they have applied to the current view.
Views can be grouped into three categories.
- System-defined (or Special) views – special views applied to built-in features of Dynamics 365, can be customized but cannot deleted. Such as Advanced Find View, Quick Find View etc
- System views – System views are “public” views available to all users, they can be created and customized. However some can’t be deleted because they have dependencies or are managed as they have specific associated functionality.
- Personal views – personal views are advanced finds that users can create and share.
Beyond the user capabilities of creating (and sharing) personal views, developers can also create system views. You see personal views and system views separately when viewing lists of views. All system views show under a heading of “System Views” and my personal views under a heading of “My Views”.
Notice that under the System Views and My Views headings the views are displayed in alphabetical order. This cannot be changed! Each Dynamics 365 app can include all system views or a selection of system views. Everyone with access to the app will see all of the views available in that app. (I’ll cover maintenance of apps in another post!)
System View Types
In addition to personal views, there are actually multiple types of system views which have different purposes. Below I have shown the views available on an account and highlighted some of the different types. Including associated views, advanced find view, public views, quick find views and more.
Tip: As part of your preparation try amending each type of view. What can you change and what effect do your changes have??
- Public View – “General” views that will show when the user selects views on an entity. Such as “Accounts I Follow” or “Active Accounts”. All users with access to the entity will see all the available public views. Meaning there is not a concept of ownership to the views themselves. (Unlike forms which can be role based.)
- Default Public View – This is the “general” / public view that the user will see when they first open an entity. You can only have one default view.
- Advanced Find View – The system view used when looking up records using the advanced find option.
- Associated View – By default this is the view shown when associated records are displayed.
- Lookup View – When we lookup Dynamics 365 records this is the view presented. (Say from an ID field on a CRM Form.)
- Quick Find View – Displayed when trying to find records within Dynamics. Also includes an option to define the search columns.
The quick find view also has an impact on the relevance search and multi-entity search. The find columns defined will be used for these searches and the first three columns selected are the ones you will see returned in the results.
Creating / amending a System View
If you navigate to the required entity in your solution or in the default solution via the customizations option you will be able to select the views option to see and amend existing system views. Or select the “New” option to create a new view.
An alternative approach to creating a new view is to open an existing view and use the save as option to create a copy.
As you can see above, having selected “Add view” you must enter a name for your view (which can be changed later) and optionally enter a description. The description serves no functional purpose but does aid later understanding of why this view was created and it is supposed to show.
screen similar to the one below will display next. If you are familiar with advanced find this format will already be familiar to you. Options / capabilities include;
Fields – the fields I could include in the view are listed on the left hand side of the screen. These can be dragged into the view as required. The related tab lets me include fields from related entities. For example, I could show the mobile phone number from the contact defined as my primary contact.
Name / Description – I will have entered these earlier and can be changed.
Filter by – I will show this in more detail soon but here we define the required filtering.
You can also change the width and sequence of columns simply by expanding them or dragging them in the view preview.
The view maintenance screen I have shown below is found at make.powerapps.com. This is the newest experience for customizing Dynamics 365. You may be familiar with the classic maintenance options! If you haven’t used the new experience I encourage you to try it out.
Below you can see that I have added a filter to my view. In my simple example I have looked for all accounts with a city as London, Kingswinford or Birmingham. I have also included a filter to only return accounts that have a primary contact. You can of course make the filtering more complex by using more and / or groups. And also like advanced find in background the system will be storing the query as fetchXML. (Although I don’t see or need to see this code!)
Keep in mind that the columns you filter on do not have to be present as view columns in your view. For example, here I am only showing open opportunities. So there would be no value in adding the status field as a view column. (As it would always show the same value!)
One of the many nice things about the new view editor is that I can see a preview of records to be returned as I create my view. This helps me tailor it exactly to my needs.
After publishing the change, the new view will then be available. My example view is shown below.
Tip: If the modal driven app you are using is configured to include all views then your view will show. If it only has selected views you may need to adjust the app to grant access to the newly created view.
Tip: After publishing the change you often need to refresh the screen in the browser for the new view to be seen. As the page needs to be reloaded.
Quick Find View
The quick find view is shown when we search for records. Either from the search box within an entity or using the multi entity search.
The category search and relevance search don’t look like a views! But they are showing the first three columns from the quick find view. (Plus the name field.)
When we open the quick find view we can see an additional option not present on other views.
The “find by” section lets us define which columns will be included in any search. Doing so will add an index to the SQL database to help make the searching fast.
Tip: You might be tempted to select all columns! This might not be a good idea as the results returned could be confusing to users as matches could occur that aren’t expected. You need to make a balance between selecting as many columns as required but not so many that the solution returns confusing results. PLUS, performance would be impacted by having so many indexes. Because of this there is actually a limit of 20 “indexed” columns when adding find columns. Also any fields which are longer than 900 characters will not be indexed.
Dynamics 365 introduces a new concept of editable grids. These change the nature of views! Previously views were always read-only but now users can edit data directly in the view. To enable editable grids we need to add a control and decide if the editable grid will be available in web client, phone and or tablet.
I have previous blogged about editable grids in some detail. You can view that post here.
You may also wish to review Microsoft’s documentation on editable grids …
Deleting System View
You will be able to delete any public view that you’ve created. Assuming it has no dependencies. By that I mean it isn’t being used as a sub grid on any forms.
You will not be able to delete “special” views. Those being things like “Advanced Find View”, “Quick Find View” etc.
You can also not delete system views automatically created by the system.
When you delete a view that delete is not “carried” by a solution. What I mean is that when I import a solution into another Dynamics organization the removal of views (or anything) doesn’t take effect. You need to be mindful of this when removing views in a development environment as the views may also need to be manually removed from production! (I’ll cover solutions in another post!)
I hope this post will have given anyone preparing for the MB 200 exam the basics they need to know about views. As always, I would like to remind you that getting hands on experience as part of your preparation is essential. You can’t rely on theory alone.