Dynamics 365 Customisation and configuration — MB2–716 study notes
I’ve studied for the latest Microsoft Dynamics 365 Customization and Configuration certification — this is the 6th version of the certification I have passed. Each time I take the certification, I learn something new about Microsoft Dynamics, its limitations and how it works.
My previous study notes are here: MB2–712 — CRM 2016 customisation and configuration Hosk study notes. The notes below are new things I learnt and built on top of the previous notes. So if you are studying for the exam you want to read all of my study notes.
Business process flows
- Order of flows is used if multiple flows are available for your security roles
- Users can switch business process flows if their security roles can see multiple business process flows.
- A team must belong to a business unit
- A team can own records
- Business units have a default team created by Dynamics 365, you cannot edit these or add/remove users.
- You can add a custom control to data types — data and time, multi-line, single line
- There are 9 entities enabled for auto numbering — contracts, cases, articles, quotes, orders, invoices, campaigns, categories and knowledge articles
- If you enable Yammer, you cannot disable it.
Different email architecture/Dynamics 365 mixes
- Local exchange server — On premise Dynamics 365
- Office 365 exchange — Dynamics 365 online
- Office 365 exchange — Dynamics 365 on premise
- Server side sync — Dynamics exchange integration allows appointments, tasks and contacts to be synchronized (optional)
- Dynamics 365 for Outlook Client
- Dynamics 365 App for Outlook
- Folder tracking
Entity properties which cannot be disabled once enabled
- Business Process flows
- Mail Merge
- Sending email
- Change tracking
- Offline capability for Dynamics 365 for Outlook
Entity properties you can disabled once enabled
- Access Teams
- Knowledge Management
- Enable for SLA
- Allow quick create
- Duplicate detection
- Single record auditing
- Multiple record auditing
- Enable for phone express
- Reading pane in Dynamics 365 for outlook
- Use custom help
- Folder tracking is tracking folders using server side sync and not limited to one email client
- Folder tracking only works with server side sync
- Folder tracking only works with exchange
- Tracked folders work with Exchange Inbox rules
- The tracking folders feature must also be enabled by your administrator
- You can only track folders or subfolders inside your Exchange Inbox
- You can set up multiple folders that link to the same regarding record
- You can include an untracked folder inside a tracked folder
- If you no longer need to track a folder, it’s a good idea to untrack it for performance reasons. To untrack a folder, remove it from the Folder-Level Tracking dialog box.
- You can track emails only in folders under your Inbox folder in Exchange. Other folder emails cannot be tracked.
- You can track up to a maximum of 25 folders per user account
- Any manual changes done to the regarding object in the tracked activity records in Dynamics 365 will be overridden the next time server-side synchronization kicks in. For example, if you have set up a mapping between the Adventure Works folder and the Adventure Works account, all the emails in the Adventure Works Exchange folder will be tracked as activities in Dynamics 365 with the regarding set to the Adventure Works account record. If you change the regarding to some other record, it will automatically be overridden the next time server-side synchronization occurs. To change the regarding for any email, move the email to a different folder such as the Inbox.
App for outlook works at server level
- Dynamics 365 for Outlook
- Server side sync
- Email router is dead soon
- Server side sync doesn’t need a users outlook to be open
- Server side sync works with Dynamics 365 online or on premise and Exchange online or Exchange on premise. Any mixture of those
- Mailboxes are created for users and queues
- Separate options for incoming and outgoing email
- You can set either or both incoming and outgoing sync to none
- Forward Mailbox — you can set multiple users to be configured with a forward mailbox
- Stop users synchronising with system settings à Email à incoming email and outgoing email to none
- Dashboards can be made available for tablets
- In properties you can enable dashboard for tablets and individual sections for mobile
- Only first 5 tabs or 75 fields/10 lists appear on mobile client
- Set available on Phone checkbox to show/hide tabs in mobile
- Collapsed tabs still count
- Only 5 tabs will show even if it’s less than 75 fields
- You have to put fields in the first five tabs for them to appear in a mobile client
- Mobile can have specific mobile only controls (sliders)
Business rules can
- Add recommendation
- Show Error Message
- Set field values
- Clear field values
- Set default values
- Set business requirement level
- Set Visibility (Show or hide fields)
- Enable or disable fields
- Validate data and show error messages
- Create business recommendations based on business intelligence.
- Business rules can have 10 Conditional Branches
- Business rule scope
· All forms — all forms, quick create and main
· Entity — can run form and server side.
· Entity — server level will run on create or update
· Entity — if server enable will run when data is imported
· Single form scope — only runs for the specified form
· To change scope of business rule you must deactivate first
- Sub-grid for Access Teams (must enable entity for access teams)
- Access team templates will applying a standard set of privileges (read, write, delete, append, append to) rather than having to set this up for each individual user/team.
- Access Team templates are enabled on an entity basis and you have to enable Access Teams on the entity in the communications and collaboration
- When records are deactivated, access team permissions are not affected
- Access teams don’t have security roles
- Access teams can’t own records
- Access teams are created and managed by CRM
- An access team is created when you have added the first user
- Access teams are not visible in default team views
- Sharing records via access teams isn’t displaying in the sharing screen
- Access teams can’t be used in resource scheduling
- Multiple access teams can be linked to a single record
- Access Team Templates, support dynamic record sharing. With the members of an access team being given privileges on specific records based on the access team template.
- access teams do not have roles and cannot own record
Facts and stats about Access Teams, the bits below are useful for those who study MB2–703
- You can add more than one Access Team template for each entity
- The default number of access teams templates for each entity is two
- The number of access team templates you can have for each entity is controlled by the MaxAutoCreatedAccessTeamsPerEntity deployment setting.
- MaxEntitiesEnabledForAutoCreatedAccessTeams deployment setting has a default value of 5. This controls the number of entities it’s possible to enable for auto-created access teams.
- You can change the MaxEntitiesEnabledForAutoCreatedAccessTeams , MaxAutoCreatedAccessTeamsPerEntity only on Premise installations and you cannot edit them for Online.
- A system generated Access Team isn’t created for each record until you add a user to the sub grid on the entity.
- if you delete the team, this is the same removing all the members in the sub grid on the record.
- if you change the access rights on Team Template this will only change the access right to new entity records/access teams. Any records already created will use the previous set of privileges.
- Access teams with Share access right ticked will mean any user who is in access team will be able to add (share) others to the access team for that record.
- Users cannot grant privileges they do not have. So a user can only add new members to an access team where the access team template has create privilege only if that user has the create privilege for the entity.
- Access Teams created automatically by adding users to them are not shown in the system team views
- Access Teams created automatically can be seen by doing an advanced find and select Team Type = access
- Access Team created automatically have the is system managed field set to true
- Access Teams can be un ticked on an entity (unlike Queues)
- If you want to delete a Access Team Template you will need to remove all the sub grids using that specific Access Team Template before you can delete it.
Below are the following entity assets
- Relationships (1:N, N:1, N:N)
- Business Rules
- Hierarchy Settings
- You don’t have select all the entity assets
- You can add the entire entity by checking the Add All Assets Checkbox
- You can manually select specific assets by selecting them
- Fewer assets means fewer dependencies and quicker deployments
Business process flow
- You must enable Business process flow on an entity
- Once an entity is enabled BPF you cannot disable it.
- Each entity can have no more than 10 activated business process flows
- Multi-entity process can use no more than five entities.
- A business flow has a primary entity but can span multiple
- Branches can be only 5 levels deep
- Set scope to Entity if you want a business rule to run on the server, not just on the client side
- Business rules are not triggered when you save a record
- Business rules are triggered when a record is opened or when a field is changed which the rule conditions are set to check e.g Form OnLoad and Field OnChange
- Business rules action will run only if condition is true
- Rollup fields recalculate once an hour
- Rollup fields supported — Whole Number, Date and Time, decimal, currency
- Maximum 100 per organisation
- 10 rollup fields per entity
- If you make a rollup for a currency field, it will create one for the base
- Rollup fields not supported — Option set and Lookup
- Aggregate value of records related to a specific record
- Rollups fields are asynchronous, they don’t run in real time
- Rollup fields can be run by workflows or business rules
- Rollup fields can be refreshed manually or triggered by a workflow
- Rollup Fields are automatically rolled up 12 hours after they are created
- A workflow can’t be triggered by the rollup field updates.
Highlights from the link above — click the link to see al
- Actions are created using a Workflow entity record
- Can be associated with a single entity or be global Can be associated with a single entity or be global (not associated with any particular entity).
- Is executed in the core operation stage 30 of the event execution pipeline.
- Supports the invocation of plug-ins registered in the pre-operation and post-operation stages of the event execution pipeline.
- Is available through the Web API or svcand organization.svc/web endpoints.
- Always runs under the security context of the calling user.
- Supports input and output arguments.
- Isn’t supported with offline clients.
- Can be invoked by a web service method call.
- Can be invoked directly from a workflow.
Highlights from the link above — click the link to see all
- Need to be created by a Microsoft service engineer, create a support request
Fetch XML Limitations
- 10 linked entities
- No Right Outer Join
- No SQL Functions
- No Sub Queries
- No support for Union
- No Case/When type functionality
- Can’t compare 2 fields directly
- 50,000 records per query aggregate
- 5,000 records per query (paging for more)
- Can’t run when the record is saved
- Can’t interact with tabs or sections
- OnChange events are not triggered when business rules set a field value
- Rules with invalid references are not ran, there will be no error message
- Whole number fields with TimeZone, Duration, or Language format are not supported
- Up to 10 if-else conditions per rule
- Rule definitions are cached in the mobile app, must close and re-open the app for changes
- Must create a separate rule to clear actions of a previous rule, if necessary
- Saved queries, charts, and visualizations can have a mx of 10 unique calculated fields
- The calculated field values are not displayed in Outlook Offline mode
- A max number of chained calculated fields is 5
- Can’t refer to itself or have cyclic chains
- Can’t access parental fields with a multi-entity Lookup
- Sorting is disabled on:
· A calculated field that contains a field of a parent record
· A calculated field that contains a logical field (for example, address field)
· A calculated field that contains another calculated field
- Can only span 2 entities
- Can’t trigger workflows or plug-ins
- Can’t change an existing simple field to a calculated field
- Duplicate detection rules are not triggered on calculated fields
- Max of 100 per organization
- Max of 10 per entity
- Can’t trigger workflows
- Can’t be used in a workflow wait condition
- A rollup over the rollup field is not supported
- Can’t reference a calculated field that uses another calculated field
- Can only apply filters to the source entity or related entities, simple fields or non-complex calculated fields
- A rollup can’t be done over N:N relationships
- Can’t be done over 1:N relationship for the Activity entity or the Activity Party entity
- Aggregated under the system user context, all users see the same rollup field value
- Recursion is not supported
- Max batch size of 1,000 requests (Hosk comment — may have been in reduced to 100 in version 9)
- Max concurrent calls of 2
Mutliselect Option Set
- The field cannot be used in Business Rule, BPF, Workflows — Create n Update Step, Not available as filtering attribute in Plugin.