Author: BuggyBrain

One of the newer features of Dynamics CRM is introduction of App Designer. This feature is replacing old concept of Site Maps in Dynamics CRM. With this feature we can rely on easy to use interface from product itself to select which entities will be visible in top navigation to users.

So no more relying on xml editing or third party tools.

What is an App in Dynamics 365 ?

When you launch Dynamics 365, on left hand side you can click small Arrow to see list of Apps. These can be third party apps (if you have installed those) or product apps specific to business functions.

You can also define your own apps here.

How do I create an App which is specific to my Business Requirements ?

Steps are simple:

1. Go to Settings –> Solutions –> Either Create a New Solution or open existing project specific solution.

There will be a section for Apps at bottom of left navigation.

2. Click App –> New and App designer window will appear.

You can provide properties like App Name (Visible in Home page App navigation) and URL Suffix ( Easy to remember path)

3. Once you have created app, Click Arrow near “Site Map”

4. Click on Area, Give it a Valid name, Group, Sub Group and So on.

You can click add button on top to add more areas, group etc… or Right Component Section to Drag areas, groups etc…

I

5. On Save and Close of Site Map editor, you will see the entities you have selected are available in your entity View.

Deciphering the main App Areas.

Site Map : To design top navigation of Dynamics CRM interface.

Dashboard/Business Process Flows: To select dashboards and business process flows available within this app.

Entity View: This will dynamically include entities based on your sitemap, dashboards and business process flows. Here you can select which forms, views and charts that are visible in given app.

For demo I will keep it simple and select two views (Active and Inactive Accounts/Contacts), validate and Publish the App.

Result Post Update

Default Site Map:

Updated Site Map

Default List of Views:

List of Views in App (Only Active and Inactive)

Above steps helped us in creating a new app for our organization and restricted System Views .

Note that system views will not be restricted in Advanced Find.

In Next post I will highlight how to restrict access to apps based on security roles.

While working on Dynamics CRM one of the most irritating issue is that System Views are Global and there is no (direct?) way through which you can control them based on User/Security Role/ BU etc…

Till now I have come across 3 different ways you can restrict system views visible to users and you can select which method to use for your need:

1. Using Security role based Views:
This is not an official way of controlling system views but its more or less supported.
For this method there is a tool (which used to be free) called Role Based Views by CRM MVP Debajit Dutta.
You can download free version at codeplex which is available for 2011 and 2013.
For 2015 onwards you can purchase it at XRMForYou.

In principal how this tool works is.
It has plugin written on Retrieve Multiple (of savedquery) and based on configuration you do in the tool, it intercepts the retrieve multiple, checks user security role and decides whether to let user see the view or not.

2. If requirement is not role based and its to hide certain views which were created specifically for Sub-grids.
In few cases we create some system views to display on form sub-grid only, if you want to hide those views in Home screen then simple workaround it “DEACTIVATE” those views.
You will still be able to use those on sub-grid and those will not be visible on home screen and dashboards.
Thanks to OldCat65 for this.

3. You need role based view but don’t want to pay for it.
Option 1: Write your own.
Option 2: Use Apps in Dynamics 365.
Using “Apps” in Dynamics 365 you can create your own site map navigation and define which entities, forms and views are part of app. On the home screen of the App only the views selected within app will be visible.
Bonus, Apps can be restricted based Security Roles.

While working on Portal I was facing caching issue when the state of record was cached and did not reflect the changes done in CRM (but changes done on portal side were reflected fine).

Scenario:

New record is submitted from Portal

Entity List Displays the Record

Open view record from entity list -> data is as expected.

CRM User Logs in, few fields are edited and saved in CRM.

Open Entity List -> Displays old data

Change entity list sorting , displays correct data

Open Record from entity list -> Displays Old Data

All reference available online seemed to be recommending either to restart the portal, or enable change tracking for entity which was already selected.

Solution

Part 1

1. In Dynaimcs 365/CRM Online open the entity definition, and make sure that “Change Tracking” under “Data Services” is selected.

Part 2

1. In Dynaimcs 365/CRM Online go to Settings -> Solutions

2. Search For WebNotification solution and open it.

3. Under Configuration -> Portal Web Configuration Notification there will be two sections, Changes Ignored and Send Notifications. Entity which is being cached should be in Changes Ignored, Select it and move it to Send Notification.

4. Click Save and Publish.

Restart the Portal

Note: Also verify that the url in Web Notifications settings is correct. Click on the “Web Notification URL” on Configuration Page. There should be record with Name : “Portal Notification URL” and url (“http(s)://<portalurl>/cache.axd)

With the change in UI for Business Rules in Dynamics 365, which was supposed to be a simpler UI and visually appealing seems to lag intuitiveness as it takes couple to tries to understand how to work with it.

In given example I am having an entity for Absence Calendar for users.

I have start date and end date for users. Validation is that End Date should be >= start date.

Go to your solution -> expand the entity -> click on business rules -> click new

Key in the Business Rule Name

Click on Condition Box and on right side under properties you will see UI to update condition.

Update the rule condition and click apply.

Click on Add -> Add Show Error Message. It will display plus sign near condition success and failure. Click on the + sign near positive condition

On right hand select the field where the error message should display. Key in the error message and click apply.

With the avalanche of new featured with Dynamics 365 there are various new featured which we have been looking into. With many features which are easily visible at UI there are various internal plumbing in Dynamics 365 which will help in making the whole development experience smoother.

Few of the non-UI features that have been introduced in Dynamics 365 are: