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 forms.
You can see below that we have a section of the exam which covers managing the user experience and within that the need to know how to create and configure forms is referenced;
Download Skills Measured Statement!
I do often “bang on” about the need to check the detail of the skills measured statement. The reason is that it gives a detailed statement of everything you can expect to be covered in the exam. I strongly encourage you to always check the latest statement and prior to taking the exam ensure you are comfortable with everything mentioned. This is essential as Microsoft do periodically make changes to the exams and revisions could be mentioned!
For example, in November 2018 they revised the MB 200 exam making a number of changes, including the need to know about the app designer and article templates.
You can access the certifications page from the link shown below;
Within the certifications page you will find a link to download the skills measured statement. Before taking the exam I encourage you to download the latest statement ….
Before we dive into concepts around forms I’m going to make one more comment! Your prep for the MB 200 exam should (or must) include as much hands on time as possible. This statement is very true when we talk about form customization, reading theory is great but it is not a substitute for hands on experience. Having said this let’s look at the exciting topic for form customization ……
Model driven apps are tightly linked to data. A model driven app is made up of a number of entities, amongst other things each entity has a collection of fields, views and forms.
Forms are the main interface for users as they are how users will interact with Dynamics 365 on a day-to-day basis. I stress this to highlight the importance of good form design as the users are going to need screens that are a pleasure to use. All users have unique requirements and in some circumstances you may need multiple forms (on one entity) to support the specific needs of particular users. User adoption is key to the success of every “CRM” project and I would argue that user adoption is very dependent on them enjoying the experience of working with forms.
There are several types of forms in Dynamics 365. The main one include;
- Main Form – the main entity forms typically used in browser. But can also be seen in outlook and CRM mobile clients.
- Quick View Form – These offer a simplified view of parent record information that can be added to child forms. (And also used in hierarchy views.)
- Quick Create Form – Short versions of the form used for record creation, typically used when creating a child record in context of a parent.
- Card Form – These are compact forms used in views for Unified Interface apps.
Each entity can have multiple versions of each of these form types. Sometimes access to alternative forms is control by enabling them for specific security roles and other times the users are left to select the version they feel is most appropriate at any moment in time.
Below you can see that I have opened the account entity in make.powerapps.com, within the forms option we can see the existing forms for this entity and add new ones as required.
Components of a Main Form
Before we start to look at how to customize a Unified Interface form it is important to understand the component parts of a form. To try to explain these I’ve shown the main account form below.
|1||Navigation Bar||The coloured bar at the top of the screen is the navigation bar. Clicking here allows nus to navigate away from the form to access view of the current entity or other entities.
FYI: The top navigation bar is not actually part of the form! As our form “sits” below the navigation bar.
|2||Ribbon bar||The ribbon bar provides a number of buttons, clicking on these buttons will perform actions on the current record. Examples include saving the record, connecting it to another record, assigning it to a user or team, opening a word template etc etc.
In the ribbon bar clicking “…” may show more options for actions you can conduct on the current record. (This happens when not all of the available ribbon bar options can fit into the screen.)
|3||Header||The header can contain key information, such as the status of the record, owner and such like. Data in the header can be maintained directly on the form.
|4||Tabs||Tabs are used to group related sections.
For example: On our account form we can see a summary tab, details tab and more.
The related option can also be used to access associated views of other entities linked to the record being viewed. For example, with an account entity I could view related orders, quotes, cases and much more.
Often tabs will have a three column layout. But they can also have just 1 or 2 columns.
|5||Sections||Within a tab we have sections.
Sections can also be in columns. Although they will often be 1 column! They can have 1,2,3 or 4 columns.
Each section will include a number of fields, sub grids, quick view forms or other web resources.
|6||Timeline||The timeline shows a history of interactions with the record. This is commonly used to show activities, posts and notes.
OneNote may also be accessed from the timeline.
|7||Relationship Assistant||The relationship assistant can be used to display intelligent cards which might suggest possible next best actions or highlight events related to this record.|
|8||Maps||Maps are a “special” component that can be added to forms.
Tip: The use of maps may also need to be enabled in system settings.
|9||Sub grids||Data that is related to this entity using either a “one to many” or “many to many” relationship can be shown in sub grids.
With Dynamics 365 sub grids maybe read-only or editable grids.
|10||Footer||The footer can display additional read-only information. Including the status of a record.
We can also see if any unsaved data exists by looking at the right hand corner of the footer. (And click the save icon to save.)
|11||Quick View Forms||Quick view forms can be used to show information about parent records on the child forms.
In this example, we can see the contact details for the primary contact for this account.
Meaning information that isn’t held directly on the account entity but can still be viewed on the account form!
Tip: Sub grids can also be added to quick view forms.
|12||Form Selector||If a user’s security role grants them access to multiple forms then they can use the form selector to pick the form they’d like to use.|
Below you can see what the account form looks like whilst we customize it in the form designer. This interface gives us the ability to drag and drop fields on to appropriate areas of the form, making positioning fields a very simple process.
You really need to “play” with the application at this point! .… Try moving fields around and adding new ones. As well as adding tabs / sections and sub grids.
Below I’ve shown an alternative form designer! Yes we have two!! The form designer shown above is form the newer interface you will find at make.powerapps.com. It has a key advantage that the design screen shown will more closely represent the final result.
Below I’m showing the classic form designer. I suggest you actually experiment with both as part of your revision. You can access the classic form design by using the “Switch to Classic” option in the ribbon bar of the power apps form designer.
I often use the newer designer to move fields around my form, add sections etc. But when I need to complete slightly more complicated maintenance then I currently revert to the classic form designer. This is because the classic form design contains features that aren’t yet included in the new experience. BUT, I do strongly recommend that you keep returning to the new experience. Dynamics 365 is evolving quickly and I’m confident that in the fullness of time the new designer will provide a superior form designing experience. This does mean that the following notes will include a mixture of screen shots from the new form designer and the classic one. Sorry!
Notice the field explorer on the right hand side of the form designer, it is from here that I can drag new fields onto the form. (The new form designer has a similar concept but the fields can be found on the left hand panel. Confused yet!!)
Also notice that a useful tick box exists to show all fields or just those not yet included in this form. It is also possible to create new fields directly from the field explorer by clicking the “New Field” button.
As you experiment with the classic form designer, also notice the “INSERT” Tab. From here we can add tabs and sections to the form. We can also insert “special” controls including sub-grids, quick view forms, bing maps, notes and more.
With the new experience we have the “Add component” option which provides similar functionality to that of the insert button on the classic designer. (Although some minor differences exist so I encourage you to gain some hands on experience!)
There are several options available for tabs (and sections). As tabs can have one, two or three columns and sections can have 1,2,3 or 4 columns.
And when more than one column exists on a tab several properties are available for the layout. By default the columns in a tab will be of equal size but you can set properties to define specific widths if required.
It is not possible to control the widths of columns within a section!
Note: The following details are mainly based on the experience you’ll find from the classic form designer. Some features may not (yet) be available in the newer designer.
From the classic designer “Special” options on the INSERT tab include;
- Sub-Grid, allows me to add a sub grid of records from a related entity. Such as a list of contacts for the account.
- Spacer, simply inserts a gap on the form. Sometimes useful if you want to force a field into a specific position or just create some “white space” on the form.
- Quick View Form, use this option to insert a quick view form for another entity.
- Web Resource, allows the insertion of web resources. (Technically creation of web resources is beyond the scope of the MB2-712 exam but will may need to know this feature exists.)
- IFRAME, iframes are effectively web pages that can be inserted into the form.
- Timeline, add the timeline control to a form.
- Bing maps, supports the addition of the Bing mapping controls.
- Navigation link, when customizing the navigation area this option allows you to add a link to a custom url or web resource.
- Social insights, when using Microsoft social Engagement, you add social insights to forms.
- Timer, a new feature to add timers to forms. Useful when an SLA is being applied to the entity.
- Knowledge Base Search, on entities enabled for knowledge search this option will add the search control to the form. (Note: Can also be added as an option in the social pane.)
- ACI Control, This is an Azure Customer Insights control (aka Microsoft Customer Insights), at the time of creating these notes this feature was in preview and not fully implemented.
Sub-grids support using access teams with entities. An access team is a special temporary team that allows us to grant access to individuals on a record by record basis. Below I have shown as example of adding an access team to an opportunity. Notice that the entity is Users and that I have selected the team template to apply. You will find more information on access teams in this post. (In which I describe the security model including access teams.)
The HOME ribbon also contains some important options.
Business Rules allows business rules to be created straight from the form. I will cover business rules in a separte post.
Preview allows us to get an idea of what the form is going to look like without leaving the form designer.
Enable Security roles allows us to assign this form to all roles or specific roles.
Show dependencies allows us to see any components that depend on this form or are required should the form be added into a solution.
Managed properties lets us define what can be customized should this form be included in a managed solution.
Merge Forms allows us to merge older style forms with the latest layout. Any missing visual elements from the older form will be added to the end of the current form.
Below you can see that from within customizations we can have multiple forms of multiple types for each entity. For example, we have multiple quick view forms on the account that would be used in different circumstances. Selecting new will present an option to decide which type of form to create.
In the classic view also notice that the ribbon bar contains an option to enable security roles to forms.
An important concept here is the fall back form. As that will be the form visible to users whose security roles do not have any forms explicitly assigned to them.
The form order can be defined; this is important as should the user’s role give them access to multiple forms then the form order will dictate which is displayed by default. Users can have multiple roles that might therefore give them access to multiple forms. Their default form will be the first one found for a role assigned to them. Each “set” of forms will have its own form order definition.
Using the form order option to move forms up / down in the ordering may therefore effect which form is presented to a user.
Quick View Forms
Quick view forms provide a read-only view of data. A quick view form can be inserted into another form.
The logic is that a quick view form on a child record can show the details of the parent record.
For example, above we saw that an account form may include a quick view form for the primary contact. Meaning we could view details for the account s primary contact on the account form.
You can see the form designer for a quick view form below, firstly notice that all fields on the form have a lock symbol. This is because the form is always read-only. Also notice that only a one column layout is supported and we don’t have any tabs / sections.
We have less options available in the “add components” option of a quick view form. We can only add one column sections and no tabs.
But we can add a subgrid. Meaning I can display a list of record associated to the parent record. For example, on the contact I could show a subgrid of leads linked to this contact. Meaning a user could be looking at an account but also viewing details of leads created for the primary contact on the account. This is a really neat feature that I encourage you to try out!
When we add a quick view form into a main form we define a number of parameters, including the lookup field on the main form to use and the related entity type.
Tip: If you scroll down! … In the additional properties we have an option to control how the quick view form is rendered.
Below you can see that I have changed my contact quick view form to render as a card. I really like this option! As by rendering as a card the entity image also shows and our form has a more modern “feel”.
Quick Create Forms
In many respects the quick create forms share the same layout “restrictions” as quick view forms. In that they contain no tabs and only one column sections. But their use is very different!
Quick create forms are only opened when creating new records, therefore the fields they show are maintainable.
Importantly quick create forms only apply when we are creating a new record. Maintaining an existing record would be done from a main form.
Also, for quick create forms to show the associated entity must be enabled for quick create. (There is a property on the entity!)
Below you can see how the quick create form shown above appears in Dynamics 365.
I have covered a lot information about forms quite quickly! And I recognise that having two designers (currently) may increase the number of combinations you’ll need to test out. But hopefully you have found some useful nuggets of information in this post! I have only briefly touched on some topics so trying some of them out as part of your preparation is essential.
I hope this post has helped people preparing for the MB-200 exam and I hope you now enjoy some hands on time with the product.