Book Image

Microsoft Dynamics CRM 2015 Application Design

By : Mahender Pal
Book Image

Microsoft Dynamics CRM 2015 Application Design

By: Mahender Pal

Overview of this book

<p>Businesses can have their developers build complete apps or plug-ins and interfaces to suit their business needs. With the application of MS CRM, administrators can alter the content, layout, and business logic for each business use case. Businesses can choose to run Dynamics CRM on their own internal server or to link to web-hosted installations. This book is an enhanced guide that covers all the new features released with Microsoft Dynamics CRM 2015. Coming straight off the shelf with a whole new frontier of updated business rules, process enhancements, SDK methods, and other enhancements, this book is a complete guide for all your Dynamics CRM questions.</p> <p>Starting off, this book will introduce you to the deployment options such as online and on-premise, and the software and hardware requirements as CRM customization. It will also teach you how to develop a sample application.</p> <p>Going deeper, this book teaches you about the new enhancements in Microsoft Dynamics CRM 2015 such as business process, new client-side scripting, mobile application, and actions enhancements. You will quickly get up and running with plugin development and project tracking concepts with the help of sample applications.</p> <p>The book concludes with how Microsoft Dynamics CRM extends its mobile capabilities and bring more feature-rich experience to the app users.</p>
Table of Contents (17 chapters)
Microsoft Dynamics CRM 2015 Application Design
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

The new features in Microsoft Dynamics CRM 2015


Microsoft Dynamics CRM 2015 introduced many new features with some new enhancements to the existing features, such as business rules, business process flow, dashboard capability in the tablet client, and global search for web and outlook clients.

Global search

Although this feature was originally introduced in Microsoft Dynamics CRM 2013 for CRM for the tablet client, Microsoft Dynamics CRM 2015 made it available to the web and outlook clients. Global search is based on the old method of searching CRM records using the quick find view, where we can add find columns in the quick find view on the basis of the columns we want to search the entity record using global search.

We can use global search using the search textbox under the top navigation bar in the web client and using the Search option under the Home tab in CRM for the outlook client. At present, the maximum number of entities allowed in search is 10. We can configure it by navigating to Settings | Administration | System Settings | Set up Quick Find:

We can also configure the quick find record limit using Enable Quick Find record limits under Settings | Administration | System Settings | Set up Quick Find. By default, Yes is selected; this means when more than 10,000 records are found during search, it will display a message box to make the search more selective. Once we have the result, we can also filter it based on a specific entity using the Filter With drop-down menu:

Once the result is listed, you can open the entity record by simply selecting the record or can create the new entity record using the plus sign.

Business rules enhancement

This feature was also released in Microsoft Dynamics CRM 2013 initially, which helps nontechnical CRM users to implement no code business logic. While working on different business requirements, we need to implement many business-specific validations. But still, there are some generic data validations, such as hide/show form fields, making fields based on some business logic, and setting the field's default values. The business rules help us to implement these types of validation from CRM UI. The business rules can be added/modified by navigating to Settings | Solution | Components | Entities | Entity | Business Rules. We can also create/modify the business rules from the entity form editor using the Business Rules button under the Home tab in the entity form:

The business rule in Microsoft Dynamics CRM 2015 now provides the following features:

  • Support for both server and client-side logic

  • Both AND and OR logical operators are available now

  • If and else conditionals for branching

  • It supports the following actions:

    • Show an error message

    • Set the field value

    • Set the business required

    • Set visibility

    • Set the default value

    • Lock or unload the field:

Once the business rule is defined, we need to set up its scope. A new option, Entity, is added under the scope drop down to make business logic available on the server side. If the entity option is selected, the business logic will fire on the server during the operation on the records from all the clients including any custom integration code.

Note

Property exception handling should be implemented in the server side code, if Show error message is used in the business rules actions.

Business process flow

Every business has some predefined business process workflows that they follow in day-to-day business. Let's take a very common scenario of the approval process. Let's assume you are a technical consultant and working in a multinational company. You need to apply for a one week vacation. As soon as you apply for leave, it will initiate a leave approval behind the scenes, which may contain different stages and subapproval of your team lead, your project manager, your project delivery manager. We can implement similar business requirements in Microsoft Dynamics CRM 2015 using the business process flow. The business process flow was introduced in CRM 2011 Polaris release initially and enhanced in Microsoft Dynamics CRM 2015. Business process flow is basically a guided approach to complete any business process, which may have different stages based on business requirements. Microsoft Dynamics CRM 2015 provides a rich editor to design for designing business process flow. You can create a business process flow by navigating to Settings | Process | New and selecting Business Process Flow under the Category drop-down menu. We can have up to 30 stages and 30 steps per business process flow:

We can include multiple entities in the same business process flow and take the process flow from one entity to another entity. We can include up to five maximum entities in the business process flow. The following is the screenshot of the out-of-the-box Lead to Opportunity Sales Process business process flow:

Microsoft Dynamics CRM 2015 added support for branching logic, which allows us to switching the process stage using if conditions, the logical AND and OR operator support, which allows us to group multiple conditions and support for interacting with the business process flow using client-side scripting for developers

Tip

You can access https://msdn.microsoft.com/en-us/library/dn817874.aspx to get details about the scripting method available for the business process flow.

Hierarchy visualization

Another new feature added in Microsoft Dynamics CRM 2015 is hierarchy visualization of your data. In Microsoft Dynamics CRM, we can associate entities using entity relationships. Hierarchical visualization provides logical visualization of the 1:N relationship or self-relationship between entities. At present, we can have only one hierarchical relationship per entity. While setting up a relationship, we can select whether we want to use this relationship as hierarchical using the Hierarchical dropdown.

Once the relationship is set up, we can navigate to Hierarchy Settings | New under the entity node to create the hierarchy setting. As soon as the hierarchy setting is created per entity, the new button will not be available anymore because we can set up only one hierarchy setting per entity:

Once the hierarchy setting is set up and the record is associated, we can see a logical relationship visualization using the hierarchy icon on the entity grid view or entity form. The following screen represents the hierarchy visualization for the parent account. We can see that Adventure Works (Sample) is a parent account and it has two child accounts. Data is represented in tiles, where a maximum of four fields are allowed. The data fields are represented from a default quick view form. If it has more than four fields, then only the first four fields are used for display:

Two new query operators are also added for querying hierarchical data, which are explained as follows:

  • Under: This is used to get the list of entities, which are child entities of a specific entity, for example, list out all subaccounts under a particular account

  • Note Under: This is used for reverse of the under operator

Hierarchical security

Microsoft Dynamics CRM provides a robust security model, but sometimes developers still need to write custom extensions to the security model to fulfil complex business requirements. Microsoft Dynamics CRM 2015 introduced a new hierarchical security feature that works with the existing security model and reduces the development and maintenance costs for implementing complex security requirements. There are two security models available in hierarchical security in Microsoft Dynamics CRM 2015, which are as follows:

  • Manager

  • Position

Manager hierarchy

The manager hierarchical security model is based on the reporting hierarchy that can be implemented using the manager lookup in the system user entity:

This security model facilitates managers to access the data that their reports have access to. Let's take an example of two business users Mahender Pal and Vikram Singh. Both are in the same business unit and Vikram Singh is a sales person who has user level create and read access on the account entity. Now, let's say to implement the reporting hierarchy, we need to assign Vikram as the manager of Mahender.

However, since Vikram has only user level read access on the account entity, he can't access entity records owned by Mahender's unless it is shared or assigned to him or a team where he is a member. So, if he tries to access Active Accounts, it will only show records owned by him. Now, let's enable the hierarchy security by navigating to Settings | Security and then click on Save and Close:

As soon as the manager hierarchical security model is applied, Vikram will be able to access the record owned by his report:

Now, Vikram will have Read, Write, Update, Append, AppendTo access to Mahender's data, who is direct report to Vikram, and read only access to Dev Test's data, who is non direct report to Vikram. While configuring the hierarchy security settings, we can define the depth property, which decides up to what level we can access the records.

Position

The position hierarchy security model is based on the new position hierarchy that is added in Microsoft Dynamics CRM 2015. A CRM admin can define different job positions based on the business requirement and can assign the user from a different business unit to a particular position. We can add multiple users to any position, but any user can be associated with only one position. A higher position user can access the data of a lower position user similar to manager hierarchy security model irrespective of their business units. So, the higher positions will have Read, Write, Update, Append, AppendTo access to the lower positions' data and nondirect higher positions will have read-only access to the lower positions' data. We can define positions by navigating to Settings | Security | Position:

Once the positions are defined, we can configure the position hierarchy security module by selecting Custom Position Hierarchy as shown in the preceding screenshot.

New fields for calculation

While working on business requirements, most of the time we need to calculate values using different attributes and need to store them in other fields. For these type of requirements, CRM admins need to depend on CRM developers to write code. However, with the release of Microsoft Dynamics CRM 2015, CRM admins can utilize calculated and rollup fields for calculation. Next, we will introduce two new types of fields.

Calculated fields

Calculated fields are very useful to set the calculated value to any field. Calculated fields can be used with the following data types:

  • Single Line of Text

  • Option Set

  • Two Options

  • Whole Number

  • Decimal Number

  • Currency

  • Date and Time

While we create a new field, we can select Field Type as Calculated to set up a calculated field, as shown in the following screenshot:

To set up a calculated formula first, we need to save the field definition and then we can click on the Edit button to set up the formula. Calculated provides an editor similar to the business rules. Let's take a scenario where we are a service-based company and allow our customers to set trail for thirty days. So, we can create two fields: trail start and trail end.

Now, we want to implement the logic when the trial date is saved, trial end data should be calculated automatically with an addition of 30 days. We can easily implement this using the calculated field, so we can set the trail end date as the calculated field and can use the formula as shown in the following screenshot to calculate the value of the trail end date field:

The calculated fields are calculated in a synchronous manner. So, as soon as we create our entity record, if the trail start date is there, the trail end date will be calculated automatically. The calculated fields are always read only:

We can refer to the calculated fields in charts and view, but at present we can only use up to 10 calculated attributes in charts and views. The calculated fields are also not available offline at present.

Rollup field

This is another type of calculated field added in Microsoft Dynamics CRM 2015, which is used for record-level aggregation from related entities record. Rollup fields are calculated using asynchronous system jobs after a 12-hour interval. If the required system administrator can configure it to run during a different interval, we can use the rollup field with the following data types:

  • Whole Number

  • Decimal Number

  • Currency

  • Date and Time

Rollup fields can be created similar to the calculated fields. We just need to select Rollup under the Field Type dropdown as shown in the following screenshot:

Microsoft Dynamics CRM 2015 automatically adds two more fields for every rollup field that is created:

  • <Field SchemaName>_Date: This is a date time field, which stores the date/time information when the rollup field was last calculated

  • <Field SchemaName>_State: This is the integer field that stores the state of the rollup field

Rollup fields are also available as read only in entity form. Once the rollup field is created, we can click on the Edit button to set up the formula for the rollup field. The rollup field can be used in different scenarios, for example, let's say we want to count the number of contacts for a particular account. We can simply create a rollup field and setup the formula as shown in the following screenshot:

We can have 100 rollup fields per Microsoft Dynamics CRM 2015 organization and the entity can have up to 10 rollup fields, which can be used in charts, views, and reports.

New capability for mobile client

With the release of CRM 2015, new offline capabilities are added in CRM for the mobile client. This feature allows us to create the record in draft mode, which is not saved to the server yet. When the device is connected to server, the record will be synched to the server. The new dashboard support is also added to tablets. We will be discussing more on the mobile client in a later chapter.

Product catalog enhancement

Microsoft Dynamics CRM also provides a product catalog to store the product or service information. This product catalog provides different out-of-the-box features such as configuring products, defining discount list, setting unit groups, and maintaining a price list based on the different scenarios.

With CRM 2015, many new product catalog enhancement features have been released such as:

  • Support for Product Families

  • Define Product Properties at Family level

  • Define Product Bundles

  • Price List based on Territory

  • New System Setting for Product

  • Custom Price Calculation

  • Support for Cross Sell and Up Sell

With CRM 2015, we can use the product family for grouping. The product family allows us to define product properties as well, which is inherited by products when added to the product family. The product family is useful especially when we want to combine similar category products in one group:

In the preceding screenshot, we can see an example of the product family, where we have different properties such as base language and max users. Another enhancement in the product catalog is the product bundle which is similar to product kits. The bundle provides more flexibility than kits used in the earlier version. We can configure if the product is required or not while selling the bundle.

Microsoft Dynamics CRM 2015 added another feature to set up product suggestions that can be used for cross sell and up sell. While setting the product, we can add related products and define their Sales Relationship Type as shown in the following screenshot:

When the product is added in opportunity or quote or order, all the related products available under the suggestion box can be displayed by clicking on the Suggestion link. Microsoft Dynamics CRM 2015 also added new settings for the product catalog. For example, we can configure to set the default pricelist based on the in-built rule, which will set the pricelist based on the default price list defined for territories:

Microsoft Dynamics CRM 2015 also added a new method to define the custom pricing. Now CRM developers can write SDK code to use custom pricing, when the default system pricing is overridden.

Field-level security enhancement

Sometimes we may want to hide some specific field values from a specific CRM user or group of users. Field-level security helps us to implement this requirement. This feature was initially released with Microsoft Dynamics CRM 2011, but it was applicable to custom fields only. With the release of Microsoft Dynamics CRM 2015, we can now use field-level security with the system field as well. We manage field-level security by creating field-level security profile and adding user or team to that profile. We will find a default System Administrator profile, which has access to all the secured fields:

By default, all users with the system administrator role are added to this profile automatically. This profile can't be modified or deleted.

Creating custom help

Microsoft Dynamics CRM 2015 added another true xRM feature, which allows the CRM admin to configure custom help URL in CRM UI. We can navigate to Settings | Administration | System Settings | General and configure custom help URLs:

Once this is configured, when a user clicks on the Help button from any entity record or grid, a new tab opens that displays the custom help dialog. We can also configure entity-level custom help URL settings by navigating to Settings | Customizations | Customize the System:

This is where we can select our entity where we want to use our Use custom Help dialog. First, we need to enable the Use custom Help option as shown in the preceding screenshot. After this, when the CRM user clicks on the Help button for that entity, your custom help will be displayed.

Disabling the welcome screen

Microsoft Dynamics CRM provides an overview wizard with the welcome screen for the user when they start Microsoft Dynamics CRM the first time. Although the welcome screen contains an option to select Don't show me this again, it will still appear if you start CRM from another machine or use a new browser window:

Microsoft Dynamics CRM 2015 introduced a new setting, which can be used to disable this screen for complete organization. We can navigate to Settings | Administration | System settings | General | Set whether users see navigation tour.

Nested quick create forms

The quick create form feature was also released with CRM 2013, which allows us to create entity records quickly by entering key fields, which we can customize. We can use a quick create form using the Create button on the top navigation bar and New button from the lookup and subgrids.

Tip

Quick create forms support form scripts and business rules.

By default, quick create forms are only enabled for some of the entities, such as account, case, contact, competitor, lead, and opportunity. We can enable the quick create feature by navigating to Settings | Customizations | Customize the System. This action will open the default solution and then we can select our entity definition under Components | Entities and enabling the option Allow quick create under the Data Services section. Once this option is available, our entity will be visible under the quick create entity lists:

Microsoft Dynamics CRM 2015 enhanced the quick create feature by allowing nested quick create options. Let's take an example. If we are creating the account record and want to create a primary contact record on the fly, we can select the New option under the lookup window and it will open a new quick create form for the contact instead of opening the contact's main entity form.

New outlook configuration wizard

Microsoft Dynamics CRM 2015 introduced a new redesigned outlook configuration wizard. This configuration process is similar to the process in the previous version, but it is a more simplified version to CRM for outlook installation.

Note

You can download CRM for outlook from http://www.microsoft.com/en-us/download/details.aspx?id=45015.

Service Level Agreement enhancement

Microsoft Dynamics CRM 2015 also added a new enhancement to Service Level Agreement (SLA). In Microsoft Dynamics CRM 2015, the new option pause and resume added SLA with timer support. This helps to track how long a case was on-hold or awaiting a customer response.

We can configure the status of the cases when SLA will be paused. To check this status, navigate to Settings | Administration | System Settings and configure the settings as shown in the following screenshot:

As we configured to status On Hold and Waiting for Details, the SLA timer will be paused during these statuses and when the status will be moved back to In Progress or Researching, the SLA timer will again start working.

Synchronization between CRM and Outlook or Exchange

Microsoft Dynamics CRM 2015 also added new fields for configuring the synchronization setting. New fields for appointment attachments, additional contact, and tasks can be configured as shown in the following screenshot:

Navigate to Settings | Email Configuration | Email Configuration Settings to configure the additional fields.