TechNet
Export (0) Print
Expand All

What's new for developers: Microsoft Dynamics CRM 2016

 

Applies To: Dynamics CRM 2016, Dynamics CRM Online

Microsoft Dynamics CRM Online 2016 Update and Microsoft Dynamics CRM 2016 provide a single development environment for cloud-based and on-premises deployments. Partners, including independent software vendors, global system integrators, and value-added resellers, can quickly create, package, and distribute CRM extensions and custom solutions.

With this release, you can define customer lookup attributes on system and custom entities. Customer lookup attributes can be set to either a contact or an account record.

Microsoft Dynamics CRM has always had customer lookup attributes that are used for the Contract, Incident, Lead, Quote, Opportunity, and SalesOrder entities. These remain and work as they always have, except now you can create new ones.

You can create these attributes using the customization tools in the application, or programmatically using the new CreateCustomerRelationshipsRequest message. More information: Create a customer lookup attribute

With this release, the CRM Web API supports:

Filter your records for entity sets or entity instances based on single-value navigation property values. You can only use the primary attribute value of the entity referenced by the single-value navigation property to filter records. More information: Filter records based on single-valued navigation property

System_CAPS_noteNote

This partially addresses the following limitation in the previous version of Web API: Can't filter queries based on the value of a single-valued navigation property

Expand single- and collection-valued navigation properties to retrieve related records for entity sets in CRM. For example, retrieve contacts for accounts or retrieve tasks for accounts. More information: Retrieve related entities by expanding navigation properties

The interactive service hub now also supports the following client APIs:

More information: Write and debug scripts for the interactive service hub

With this release, all the existing and the following new client APIs for the knowledge base search control are supported on the CRM mobile clients (phones and tablets) and the interactive service hub, along with the CRM web client: PostSearch event, addOnPostSearch, removeOnPostSearch, getTotalResultCount, and openSearchResult.

With this release, the CRM SiteMap has been updated to include a navigation link for launching the interactive service hub. You can now launch the interactive service hub by selecting Settings > Application > Interactive Service Hub in CRM. More information: Default SiteMap XML

You can now apply service level agreements (SLAs) to custom entities and specific system entities in CRM. Before this release, you could only apply SLAs to the Incident (Case) entity. More information: Apply SLAs to entities

Use the new Category entity to create and manage a hierarchical structure of categories, and then associate entity records to one or more categories. Categorizing entity records helps in logically grouping them so that it’s easier to organize and search them. More information: Use the Category entity to categorize CRM records

Use the new Feedback entity to create and manage feedback and ratings for entity records in CRM. The Feedback entity is primarily used for capturing user feedback and ratings for knowledge articles to determine their effectiveness, but you can enable capturing feedback for other system and custom entities as well. Use the new HasFeedback property with the CreateEntity and UpdateEntity messages to enable feedback for a system or custom entity. More information: Use the Feedback entity to manage feedback and ratings for CRM records

With Microsoft Dynamics CRM Package Deployer, you can bundle one or more solution files, configuration data files, and custom code into a "package" and deploy the package to a CRM instance (online or on-premises). Developers can now control how the packages will be deployed while creating packages using the updated CRM Package Visual Studio project template. This project template allows you to:

  • Specify whether to maintain or overwrite customizations while updating existing solutions on a target CRM instance.

  • Specify whether to automatically activate plug-ins and workflows after solutions are imported.

  • Import data files exported from the Configuration Migration tool for various languages along with the user information.

  • Override the language for configuration data import by specifying the locale identifier (LCID) of the language to be imported.

  • Specify whether to skip importing the data during the solution deployment. Data includes CRM sample data, flat files, and data files exported from the Configuration Migration tool.

  • Specify whether to skip some safety checks while importing data to save time and improve the import performance.

  • Specify settings that can be passed to the Package Deployer at runtime. For example, add a runtime parameter to specify the LCID of the data file to be imported.

You can specify these settings using the updated ImportConfig.xml file or the new methods and properties that can be overridden in the Visual Studio project template.

Existing CRM Package projects can be updated to take advantage of the new feature set by updating the Package Deployer assemblies using NuGet to version 8.1 or later.

More information: Create packages for the CRM Package Deployer

Xrm.Tooling.Connector has been improved to provide the following enhancements:

  • When using connection strings for CRM online organizations where the URL of the organization has been customized using the Admin Center, the connector will now correctly identify the organization instance, and connect successfully.

  • When using OAuth connections to CRM, timeout settings defined in a supporting app.config file for connections will now be honored correctly.

  • When creating a custom OAuth-based connection and passing it to the Xrm.tooling.connector, timeout settings defined in a supporting app.config file for connections will now be honored correctly.

  • The Xrm.Tooling.Connector.CrmServiceClient class can now be directly cast to an IOrganizationService Interface. This works for all authentication types, and allows you to take advantage of the threading, diagnostics, and logging capabilities of XRM tooling in your existing code.

More information: Build Windows client applications using the XRM tools

Earlier, all the stream items (queue, entity view, and saved query) in the interactive dashboards were present under a single <Streams> tag separated by semicolons, and the item names were present under a single <StreamNames> tag separated by semicolons.

The FormXML structure for streams has been updated to have each stream item under a separate tag so customizers and developers can easily read and identify individual stream components in the FormXML. More information: Form XML reference

The following entities now use the improved form rendering experience in CRM, and support the client APIs that were introduced since the experience was introduced in CRM:

  • Invoice Product (InvoiceDetail)

  • Order Product (SalesOrderDetail)

  • Quote Product (QuoteDetail)

For the complete list of entities that use the improved form rendering infrastructure, see Updated entities.

Do you have existing applications hosted in the Azure cloud that obtain data from CRM through the Microsoft Azure Service Bus? The new Shared Access Signature (SAS) authorization is now the recommended method for CRM-Azure authorization, and it comes with improved authorization performance. Consider updating your existing applications from using Access Control Service (ACS) to SAS. Learn how this change impacts your applications, and follow the revised registration and configuration process using the new version of the Plug-in Registration tool - now with SAS support.

Introduced in this release is a new capability to format Microsoft Azure Service Bus message bodies as JSON or XML, instead of the default binary format, in support of improved cross-platform interoperability for non.NET programming languages and platforms. Learn how to configure, send, and receive Service Bus message bodies in those formats.

Are you interested in making use of the Microsoft Azure Event Hubs? Are you wondering how to push your CRM event data to an event hub? New in this release is the ability to easily connect CRM with event hubs. Learn how to use the new Plug-in Registration tool to configure this connection and then learn how to write a listener application for your Azure-hosted event hub that can read and process CRM event data.

Introducing new client APIs to support accessing quick view controls on the new form rendering engine (also called "turbo forms") in CRM. More information: Xrm.Page.ui quickForms (client-side reference)

The following methods are now supported for the timer control on the new form rendering engine: getControlType, getName, getParent, getLabel, setLabel, getVisible, setVisible, and refresh. More information: Xrm.Page.ui control (client-side reference)

The following table lists new entities included in this release.

Schema name

Display name

Description

More Information

BookableResource

Bookable Resource

Represents the resource that has capacity which can be allocated to work.

bookableresource EntityType

BookableResourceBooking

Bookable Resource Booking

Represents the line details of a resource booking.

bookableresourcebooking EntityType

BookableResourceBookingHeader

Bookable Resource Booking Header

Reservation entity representing the summary of the associated resource bookings.

bookableresourcebookingheader EntityType

BookableResourceCategory

Bookable Resource Category

Categorize resources that have capacity into categories such as roles.

bookableresourcecategory EntityType

BookableResourceCategoryAssn

Bookable Resource Category Assn

Represents the association entity to model the categorization of resources.

bookableresourcecategoryassn EntityType

BookableResourceCharacteristic

Bookable Resource Characteristic

Associates resources with their characteristics and specifies the proficiency level of a resource for that characteristic.

bookableresourcecharacteristic EntityType

BookableResourceGroup

Bookable Resource Group

Associates resources with resource groups that they are a member of.

bookableresourcegroup EntityType

BookingStatus

Booking Status

Allows creation of multiple sub statuses mapped to a booking status option.

bookingstatus EntityType

Category

Category

Entity for categorizing records to make it easier for your customers to find them on portals and through search.

Use the Category entity to categorize CRM records

Characteristic

Characteristic

Represents the skills, education, and certifications of resources.

characteristic EntityType

Feedback

Feedback

Container for feedback and ratings for knowledge articles.

Use the Feedback entity to manage feedback and ratings for CRM records

KnowledgeArticlesCategories

Knowledge Article Category

Contains the associations between the Knowledge Article and Category records.

Use the Category entity to categorize CRM records

RatingModel

Rating Model

Represents a model to evaluate skills or other related entities.

ratingmodel EntityType

RatingValue

Rating Value

Represents a unique value associated with a rating model that allows providing a user friendly rating value.

ratingvalue EntityType

RecommendedDocument

Document Recommendation

Recommended Document.

recommendeddocument EntityType

The following privileges are new or changed in this release. For an overall view of how the security role editor maps to privilege names in this SDK, see Security role UI to privilege mapping

Privilege name

Name displayed in the security role UI

More Information

prv*BookableResource

Bookable Resource

bookableresource EntityType

prv*BookableResourceBooking

Bookable Resource Booking

bookableresourcebooking EntityType

prv*BookableResourceBookingHeader

Bookable Resource Booking Header

bookableresourcebookingheader EntityType

prv*BookableResourceCategory

Bookable Resource Category

bookableresourcecategory EntityType

prv*BookableResourceCategoryAssn

Bookable Resource Category Assn

bookableresourcecategoryassn EntityType

prv*BookableResourceCharacteristic

Bookable Resource Characteristic

bookableresourcecharacteristic EntityType

prv*BookableResourceGroup

Bookable Resource Group

bookableresourcegroup EntityType

prv*BookingStatus

Booking Status

bookingstatus EntityType

prv*Category

Category

Use the Category entity to categorize CRM records

prv*Characteristic

Characteristic

characteristic EntityType

prvConfigureDocumentRecommendation

prvReadRecommendedDocument

Document Recommendation

recommendeddocument EntityType

prv*Feedback

Feedback

Use the Feedback entity to manage feedback and ratings for CRM records

prv*RatingModel

Rating Model

ratingmodel EntityType

prv*RatingValue

Rating Value

ratingvalue EntityType

prv*SavedOrganizationInsightsConfiguration

Saved Organization Insights Configuration

TechNet: View metrics about your instance with Organization Insights dashboard

prv*SyncError

Sync Error

syncerror EntityType

prvUseOfficeApps

Use CRM for Outlook

TechNet: Deploy CRM App for Outlook (lightweight app)

* This privilege is one of the following: Create, Read, Write, Delete, Append, AppendTo, Assign, or Share.

New features that were added to Microsoft Dynamics CRM Online 2015 Update 1 are now available for on-premises organizations. One exception is the integration with Parature which is only available for CRM Online. For a summary of new features included in that release, see What’s new for Microsoft Dynamics CRM Online 2015 Update 1

The Web API makes it easier to create applications across a wide variety of platforms, devices, and programming languages. The Web API will provide parity with the existing organization service (SOAP endpoint). You will be able to do anything using the Web API that you can do using the organization service, with a few differences. You won’t have to download any Microsoft Dynamics CRM SDK assemblies. You can perform all operations using HTTP requests with the Web API located at [organization uri]/api/data/v8.0/. The Web API implements OData version 4.0, an open standard for data access. For the list of third-party libraries that support OData, version 4.0, see http://www.odata.org/libraries/.

Use the Web API for integrations and modern applications. For code that will run in the context of a plug-in, you’ll continue to use the classes defined in the SDK assemblies to use the organization service. More information:Use the Microsoft Dynamics CRM Web API

To manage authentication, you can use the Web API from inside the CRM web application using JavaScript and HTML web resources without any code to authenticate, just as you can today with the organization (SOAP) or organization data service (Odata v2 REST) endpoints.

When you use the Web API to access CRM Online or Internet-facing deployment (IFD) web services from your own applications, you must first register your app with the Active Directory for your organization. Then you can use the Azure Active Directory Authentication Library (ADAL) to manage OAuth 2.0 authentication with the CRM web service identity provider. To access an on-premises CRM deployment from your own applications, you’d use your Windows network credentials to authenticate with the web services.

More information:Walkthrough: Register a CRM app with Active Directory

To maintain parity with the Discovery service on the SOAP endpoint, we’ve added a Discovery service to the Web API. This service enables you to determine, at run-time, the organizations that the signed-in user belongs to. You can retrieve information about those organizations like the organization service URL, the CRM release version, and more. A new feature of the Web API Discovery service is the ability to filter the returned list of organizations by using OData filter parameters. The Discovery service is supported by all CRM deployment types. More information:Discover the URL for your organization using the Web API

The new Web API provides better capabilities over the organization data service introduced with Microsoft Dynamics CRM 2011. We recommend any new code for this version use the Web API instead of the organization data service, so we’re deprecating the organization data service with this release. The organization data service, also known as the REST endpoint or the OData endpoint, will remain in the application for the foreseeable future to support backward capability. For information about using this deprecated endpoint, see the Microsoft Dynamics CRM 2015 SDK: Use the OData endpoint with web resources.

The Web API supports client-side cross-origin web resource requests when called using OAuth token authentication. This is accomplished by using a compatible implementation of cross-origin resource sharing (CORS). This Web API capability safely works around browser restrictions imposed to prevent cross-site scripting security issues. More information:Use OAuth with Cross-Origin Resource Sharing to connect a Single Page Application to Microsoft Dynamics CRM

When a user presses keys in a number or text control, use the new getValue method to retrieve the value of a control. You can use this value to configure interactive experiences, such as data validation when a user types in a field, by configuring function handlers for keypress events using the new Keypress methods. In addition, you can use the new Auto-completion methods to configure the auto-completion feature for text controls in forms. These new methods aren’t supported for CRM for phones or CRM for tablets, and are only available for Updated entities.

More information:Xrm.Page.ui control (client-side reference)

The ability to create web resources and IFRAMEs for use with CRM for tablets is now fully supported in all CRM for tablets forms: iOS, Android, and Windows 10. More information:Create web resources and IFrame content for use with the CRM for tablets client

Use new custom controls to configure a visually modern and richer experience for your users in CRM for phones and CRM for tablets. More information:TechNet: Use the form editor

The new custom controls support the same client APIs as the CRM controls, except for the Auto-completion methods, getValue, Keypress methods and Lookup control methods and events. For the complete list of the client APIs supported by CRM controls, see Xrm.Page.ui control (client-side reference).

With the new application handler protocol in Microsoft Dynamics CRM 2016, you can use URLs to directly open records in CRM for phones and CRM for tablets. You can also open an empty form for creating an entity record. To use this feature, you have to install CRM for phones or CRM for tablets on your mobile device. More information:Open forms, views, and dashboards in CRM mobile client with a URL

The CRM Service module gets a boost in this release with the addition of powerful knowledge management capabilities. In addition to rich text, the new KnowledgeArticle entity supports multimedia data like pictures and videos. Articles have a lifecycle where they proceed through a publishing workflow.

Discover the answers to your questions using full text searches of knowledge base records for topics and products using the FullTextSearchKnowledgeArticleRequest message. This message provides systematic access to a keyword based search index of the article content. Use this message to access that search content and provide search results to customers and partners.

To support the knowledge management capability, new privileges named Publish Knowledge Articles and Approve Knowledge Articles were added. The Customer Service Representative and Customer Service Manager roles have these privileges, and a new Knowledge Manager role has been added.

For the CRM web client, the client-side form programming API has been updated to include additional properties in the object returned from the getSelectedResults function call. All other client APIs and events, which were supported by the knowledge base search control in the Microsoft Dynamics CRM 2015 release, continue to be supported.

For the new interactive service hub client, only the getSearchQuery and setSearchQuery methods are supported for the knowledge base search control.

For more information about the client-side APIs supported by knowledge base search control, see Knowledge base search control (client-side reference). For more information about knowledge management, see Knowledge management entities.

Previously, when an entity was added to a solution and that solution was exported, the entity and all of its assets were exported in that solution. This included attributes, forms, views, relationships, visualizations, and any other assets packaged with the entity. All objects were exported regardless of whether the developer actually wanted to ship the object. This process potentially carried dependencies or modified unintended objects on the target deployment.

Now,a developer or other application customizer can create and publish solution patches that contain subcomponents of entities, as compared to publishing the entire entity and all of its assets. The original solution and multiple released patches can be rolled-up at a later time into an updated version of the original solution, which then can replace the original solution.

More information:Create patches to simplify solution updates.

Service level agreements (SLAs) in CRM have been enhanced in the current release.

  • Manually apply SLAs to incidents (cases): You can now manually apply an SLA to a case by updating the case record, and specifying an active SLA in the Incident.SLAId attribute, for the case record.

  • Programmatically activate or deactivate SLAs: You can now use the UpdateRequest message to activate or deactivate an SLA record. You must activate an SLA record after creating it for the SLA record to be applied to cases. You typically deactivate SLAs during maintenance activities or when you're importing cases and you don't want the SLAs to apply to the cases.

    System_CAPS_noteNote

    You can also use the UpdateRequest message to activate and deactivate automatic record creation and update rules (ConvertRule) and routing rule sets (RoutingRule). This wasn’t possible in the earlier versions.

    The SLA, ConvertRule, and RoutingRule entities are still for internal use only. Other SDK messages, except for the Update message, are still not supported for these entities. More information:Service entities (contract, incident, knowledge article, queue, calendar, entitlement, slakpiinstance)

You can now create document templates for Microsoft Excel or Word to have a standardized representation of your CRM data. These templates can be used by your team members to generate Excel or Word documents with up-to-date CRM data for analysis and reporting purposes. Use the SDK to programmatically upload and manage document templates.

More information:Upload and manage document templates in CRM

Microsoft.Xrm.Tooling.Connector is the primary interface to CRM for all tooling and Unified Service Desk operations. It is also provided as part of the Microsoft Dynamics CRM SDK to developers who want to build CRM connected Windows applications. Developers can use this updated API to allow the OAuth 2 protocol to be used to authenticate with CRM web services. Adding OAuth enables multi-factor authentication for improved security and access to CRM.

XRM tooling now also supports connection strings, which allow for the use of SQL-like connection strings in the CrmServiceClient class.

More information:Build Windows client applications using the XRM tools

The following table lists new entities included in this release.

Schema name

Display name

Description

More Information

KnowledgeArticle

Knowledge Article

Describes articles that are organizational knowledge for internal and external use.

Work with knowledge articles in Dynamics CRM

KnowledgeArticleIncident

Knowledge Article Incident

Contains the associations between a knowledge article and incident.

Work with knowledge articles in Dynamics CRM

KnowledgeArticleViews

Knowledge Article Views

Tracks the number of times an article is viewed per day.

Work with knowledge articles in Dynamics CRM

LanguageLocale

Language

Contains information about the supported languages for translating a knowledge article.

Work with knowledge articles in Dynamics CRM

The following table lists new messages included in this release.

Request class

Web API action

Description

More information

CloneAsPatchRequest

CloneAsPatch Action

Creates a solution patch from a managed or unmanaged solution.

Create patches to simplify solution updates

CloneAsSolutionRequest

CloneAsSolution Action

Creates a new copy of an unmanaged solution that contains the original solution plus all of its patches.

Create patches to simplify solution updates

CreateKnowledgeArticleTranslationRequest

CreateKnowledgeArticleTranslation Action

Creates a translation of a knowledge article record.

Create a knowledge article translation

CreateKnowledgeArticleVersionRequest

CreateKnowledgeArticleVersion Action

Creates a major or minor version of a knowledge article record.

Create major and minor versions of a knowledge article

DeleteAndPromoteRequest

DeleteAndPromote Action

Replaces a managed solution plus all of its patches.

Create patches to simplify solution updates

FullTextSearchKnowledgeArticleRequest

N/A

Performs a full-text search on knowledge articles in CRM using the specified search text.

Search knowledge articles using full-text search

IncrementKnowledgeArticleViewCountRequest

N/A

Increments the per day view count of a knowledge article record.

Increment knowledge article view count

SetProcessRequest

SetProcess Action

Sets the process that associates with a given target entity.

UpdateSolutionComponentRequest

UpdateSolutionComponent Action

Updates a component in an unmanaged solution.

Package and distribute extensions using solutions

The following privileges are new or changed in this release. For an overall view of how the security role editor maps to privilege names in this SDK, see Security role UI to privilege mapping.

Privilege name

Name displayed in the security role UI

More information

prv*AzureServiceConnection

Azure Service Connection

For internal use only.

prv*DataPerformance

Data Performance Dashboard

TechNet: Configure interactive experience dashboards

prv*LanguageLocale

Language

LanguageLocale (Language) entity messages and methods

prv*MobileOfflineProfile

Mobile Offline Profile

For internal use only.

prv*RecommendationModel

Product Recommendation Model

For internal use only.

prv*SimilarityRule

Similarity Rule

For internal use only.

prvConfigureSharePoint

Run SharePoint Integration Wizard

Define custom claim mapping for SharePoint server-based integration

prv*KnowledgeArticle

Knowledge Article

Work with knowledge articles in Dynamics CRM

prv*KnowledgeArticleViews

Knowledge Article Views

Work with knowledge articles in Dynamics CRM

prvApproveKnowledgeArticle

Approve Knowledge Articles

Work with knowledge articles in Dynamics CRM

prvPublishKnowledgeArticle

Publish Knowledge Articles

Work with knowledge articles in Dynamics CRM

prv*DocumentTemplate

Document Template

DocumentTemplate entity messages and methods

prv*PersonalDocumentTemplate

Personal Document Template

PersonalDocumentTemplate entity messages and methods

prvDocumentGeneration

Document Generation

Upload and manage document templates in CRM

prv*KnowledgeSearchModel

Knowledge Search Model

Search knowledge articles using full-text search

prv*TopicModel

Topic Model

For internal use only.

prv*CustomControl

Custom Control

TechNet: Additional controls for CRM for phones and tablets

prv*CustomControlDefaultConfig

Custom Control Default Config

TechNet: Additional controls for CRM for phones and tablets

prv*CustomControlResource

Custom Control Resource

TechNet: Additional controls for CRM for phones and tablets

* This privilege is one of the following: Create, Read, Write, Delete, Append, AppendTo, Assign, or Share.

Microsoft Dynamics CRM 2016 and CRM Online

© 2016 Microsoft. All rights reserved. Copyright

Community Additions

Show:
© 2016 Microsoft