What's new for developers: Microsoft Dynamics 365
Applies To: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Microsoft Dynamics 365 provides 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 Dynamics 365 extensions and custom solutions.
In this topic
What's new in December 2016 update for Dynamics 365 (online and on-premises)
What’s new for Microsoft Dynamics CRM Online 2016 Update 1 and Microsoft Dynamics CRM 2016 Service Pack 1
What's new for CRM Online 2016 Update and CRM 2016 on-premises
What's new in December 2016 update for Dynamics 365 (online and on-premises)
In this release, developers will be able to leverage the following enhancements and new capabilities:
Connected Field Service Developer Guide
Dynamics 365 Customer Insights Programming Reference
Manage configuration and administration of the Data Export service
Dynamics 365 Web API enhancements
Control how activities are sorted by date
Support for creating and managing product properties programmatically
Define access permission for modular business apps programmatically
Use form scripts to add icons with tooltip text for view columns
Introducing client APIs for creating and managing records in Dynamics 365 mobile clients while working offline
Introducing editable grids
Introducing Client APIs for using native device capabilities in Dynamics 365 mobile clients
Enhanced client API support in the interactive service hub
Server-to-server authentication
Process enhancements
New messages
New entities
New privileges
Connected Field Service Developer Guide
Connected Field Service for Microsoft Dynamics 365 integrates Internet of Things (IoT) devices with Microsoft Dynamics 365 (online) to enable integration of their registration, monitoring and management into established business processes. This guide explains the component architecture, supplied interfaces and customization points, and explains the approach develop customized IoT solutions. More information: Connected Field Service Developer Guide
Dynamics 365 Customer Insights Programming Reference
Customer Insights is a Azure-based SaaS service that enables organizations of all sizes to bring together data from multiple sources, including Microsoft Dynamics 365, and generate knowledge and insights to build a holistic 360° view of their customers. The Customer Insights Programming Reference documents the two sets of REST interfaces provided by this service: the Azure Resource Manager (ARM) APIs and the Hub APIs. These interfaces enable developers to extend custom applications, as well as to automate Customer Insights Hub administrative operations.
Manage configuration and administration of the Data Export service
The ability to replicate Dynamics 365 data to an external SQL database provides a lot of flexibility for generating reports. Data Export is an add-on service made available as a Microsoft Dynamics 365 (online) solution that adds the ability to replicate Dynamics 365 (online) data to a Microsoft Azure SQL Database store in a customer-owned Microsoft Azure subscription. The supported target destinations are Microsoft Azure SQL Database and Microsoft Azure SQL Server on Microsoft Azure virtual machines. Data Export intelligently synchronizes the entire Dynamics 365 schema and data initially and thereafter synchronizes on a continuous basis as changes occur (delta changes) in the Microsoft Dynamics 365 (online) system. More information: TechNet: Replicate Microsoft Dynamics 365 (online) data to Microsoft Azure SQL Database
The Data Export service provides an interface for managing configuration and ongoing administration of this service from within Dynamics 365 (online). Developers can write code to interact with this service. More information: Data Export service
Dynamics 365 Web API enhancements
With this release, the Dynamics 365 Web API supports:
Access to local data while Dynamics 365 for Outlook is offline
When you write form scripts that use the Web API, these scripts can work using the local data in Dynamics 365 for Outlook when the user is offline. This capability has been available for the Organization service (SOAP endpoint) and the Organization Data service (OData v2), but was not previously available with the Web API. The context.getClientUrl function automatically redirects requests to the local version of the service when Dynamics 365 for Outlook is offline.
Return entity data on create or update
Sometimes you want to retrieve an entity right after you create or update it. Before this release, you needed to use two operations. The POST request to create an entity returns an HTTP 204 (No content) status and a Uri to the entity created is returned in the OData-EntityId header property. You can then use this Uri with a GET request to retrieve the created entity. This is because the default preference is to apply the return=minimal preference.
A PATCH request applied to update an entity will simply return HTTP 204 (No content) status when successful.
With this release you can specify the return=representation preference in the header of the request. A successful POST request will return HTTP 201 (Created) and include the entity properties you select. You can select which properties are returned by using the $select system query option.
A successful PATCH request will return HTTP 200 (OK) with the full entity.
More information: Create with data returned , Update with data returned, and HTTP headers
Reference metadata by name
With this release, you can use the name of certain metadata properties as alternate keys to reference an item of metadata. This will make it easier to query metadata using the Web API. Before this, you needed to perform a query to access the MetadataId of a particular item of metadata before you could retrieve it using that MetadataId as the key.
More information: Retrieve metadata by name or MetadataId
Bug fixes
There have been numerous bug fixes applied for this release. More information: Limitations addressed in December 2016 update for Microsoft Dynamics 365 (online) and December 2016 Service Pack for Microsoft Dynamics 365 (on-premises)
Control how activities are sorted by date
There is a new sortdate attribute on the activitypointer entity that you can use to control how activities are sorted by date. For example, if you want to have email entities sorted by the senton attribute value rather than the modifiedon attribute value, create a plugin or workflow to set the sortdate value equal to the senton value only for email entities. Otherwise, set the sortdate attribute equal to the modifiedon value. Then use this sortdate attribute in the orderby criteria for your query. More information: Control how activities are sorted by date
Support for creating and managing product properties programmatically
You can now programmatically create and manage product properties in Dynamics 365, which enables you to completely automate the product catalog in Dynamics 365 and integrate it with third-party software. Earlier, you could programmatically create and manage product family, product or bundle, but not the product properties.
More information: Define product properties
Define access permission for modular business apps programmatically
The new modular business apps are based on the concept of functional separation that let you choose to expose a limited set of functionality for users in Dynamics 365 depending on their area of work. Developers can programmatically retrieve and associate or dissociate a modular app with security roles in Dynamics 365 to define the app's access permission.
More information: Define access permission for modular business apps in Dynamics 365
Use form scripts to add icons with tooltip text for view columns
Use form scripting in Dynamics 365 to add icons with tooltip text that is based on the column value in the view. You can also specify localized tooltip text. More information: Add custom icons with tooltip for a column
Introducing client APIs for creating and managing records in Dynamics 365 mobile clients while working offline
Use the new client APIs under the Xrm.Mobile.offline namespace to create, retrieve, update and delete records in Dynamics 365 for phones and Dynamics 365 for tablets while working in the offline mode. These new client APIs will work only if you are in the offline mode and for entities that are enabled for mobile offline synchronization.
More information: Xrm.Mobile.offline (client-side reference)
Introducing editable grids
The new editable grids feature provides inline editing capabilities in the main grid and subgrids without having to switch records or views. The new editable grids are supported in the web client, Dynamics 365 for phones and Dynamics 365 for tablets.
The editable grids also support client-side events and methods that can be used to write custom client extensions according to your business need.
More information: Use editable grids and Editable grid objects and methods (client-side reference)
Introducing Client APIs for using native device capabilities in Dynamics 365 mobile clients
Use new client APIs for Dynamics 365 for phones and Dynamics 365 for tablets to help enrich the user experience for mobile business users in sales, field service, and other areas:
Xrm.Utility.getCurrentPosition: Returns the current location using the device geolocation capability.
Xrm.Utility.getBarcodeValue: Returns the barcode information, such as a product number, scanned using the device camera.
More information: Native device capabilities (Dynamics 365 mobile clients)
Enhanced client API support in the interactive service hub
The interactive service hub now supports the following client APIs:
getQueryStringParameters method for the context object (Xrm.Page.context)
getValue, addOnKeyPress, removeOnKeyPress, and fireOnKeyPress methods for Dynamics 365 controls
openWebResource method in the Xrm.Utility namespace
More information: Write and debug scripts for the interactive service hub
Server-to-server authentication
Use server-to-server (S2S) authentication to securely and seamlessly communicate with Microsoft Dynamics 365 (online & on-premises) with your web applications and services. S2S authentication is the common way that apps registered on Microsoft AppSource use to access the Dynamics 365 data of their subscribers. Both single-tenant and multi-tenant applications can use this feature.
S2S authentication means you don’t need to use a paid Dynamics 365 user license when you connect to Dynamics 365 tenants. There is no license fee for the special application user account you will use with S2S authentication. With S2S authentication a special Dynamics 365 unlicensed application user account is created and includes information about your application registered with Azure Active Directory (Azure AD). Rather than user credentials, the application is authenticated based on an application user identified by an Azure AD Object ID value which is stored in the Dynamics 365 user record. The Dynamics 365 application user is associated with a security role which controls the kinds of data and operations the application is allowed to perform. More information: Build web applications using Server-to-Server (S2S) authentication
Process enhancements
Process enhancements in Dynamics 365 include the following:
Execute SDK messages and actions from processes
It is now possible to execute select SDK messages and custom actions from workflows, process dialogs, and other actions. More information: Supported actions for processes
Access business process instances using the Web API
Business process flow instances are fully exposed through the Dynamics 365 Web API, allowing developers and system integrators to manipulate processes programmatically from an external custom application. The Web API allows you to apply new processes to entity records, switch the process status from Active to Finished or Aborted, and switch the stage of the process flow. More information: Model business process flows
Associate multiple business processes with a single entity record
More than one business process can be associated with a single entity record. You can switch between the processes by using the extended SetProcess action or message. Switch between business processes without losing the state and progress of each process. Business processes now support security roles as a means of restricting user access to the process. More information: Model business process flows
Client API enhancements for business processes
The setActiveProcess method is updated and some new client APIs are added under the Xrm.Page.data.process namespace to handle the new functionality for concurrent business flows and the ability to mark a process as Active, Finished or Abandoned.
More information: Xrm.Page.data.process (client-side reference)
Client API enhancements for adding notifications with actions
Earlier, you could set only an error type of notification for a control in Dynamics 365 using the setNotification client API. Now, you can add two types of notification for a control using the new addNotification method: error or recommendation.
More information: Notification
New messages
The following table lists new messages included in this release.
Name |
Reference Links |
Description |
---|---|---|
RetrieveActivePath |
Retrieves a collection of stages currently in the active path for a business process flow instance. |
|
RetrieveExchangeAppointments |
RetrieveExchangeAppointments Function |
Retrieves the appointments for the current user for a specific date range from the exchange web service. |
RetrieveProcessInstances |
RetrieveProcessInstances Function |
Retrieves all the business process flow instances for an entity record across all business process definitions. |
SetFeatureStatus |
For internal use only. |
|
UpdateFeatureConfig |
For internal use only. |
New entities
The following table lists new entities included in this release.
Schema name |
Display name |
Description |
More Information |
---|---|---|---|
ActionCard |
Action Card |
Action card entity to show action cards. |
|
ActionCardUserState |
ActionCardUserState |
||
AppModuleRoles |
App Module Roles |
To provide specific Dynamics 365 UI context. For internal use only |
|
ExpiredProcess |
Expired Process |
Expired Process Business Process Flow |
|
InteractionForEmail |
Interaction for Email |
||
LeadToOpportunitySalesProcess |
Lead To Opportunity Sales Process |
Lead To Opportunity Sales Process Business Process Flow |
|
NewProcess |
New Process |
New Process Business Process Flow |
|
OpportunitySalesProcess |
Opportunity Sales Process |
Opportunity Sales Process Business Process Flow |
|
PhoneToCaseProcess |
Phone To Case Process |
Phone To Case Process Business Process Flow |
|
TranslationProcess |
Translation Process |
Translation Process Business Process Flow |
New privileges
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*ActionCard |
Action Card |
|
prv*ExpiredProcess |
Expired Process |
|
prv*LeadToOpportunitySalesProcess |
Lead To Opportunity Sales Process |
|
prv*NewProcess |
New Process |
|
prv*OpportunitySalesProcess |
Opportunity Sales Process |
|
prv*PhoneToCaseProcess |
Phone To Case Process |
|
prv*TranslationProcess |
Translation Process |
|
prv*ActionCardUserSettings |
Action Card User Settings |
|
prv*AppModule |
App |
|
prv*BookableResourceBookingExchangeSyncIdMapping |
BookableResourceBooking to Exchange Id Mapping |
|
prvReadInteractionForEmail |
Interaction for Email |
|
prvLearningPath |
Learning Path Authoring |
* This privilege is one of the following: Create, Read, Write, Delete, Append, AppendTo, Assign, or Share.
What’s new for Microsoft Dynamics CRM Online 2016 Update 1 and Microsoft Dynamics CRM 2016 Service Pack 1
In this release, developers will be able to leverage the following enhancements and new capabilities:
Create customer attributes for any entity
CRM Web API enhancements
Enhanced client API support in interactive service hub
Support for knowledge base search control client APIs on CRM mobile clients and the interactive service hub
Easily launch the interactive service hub using the CRM SiteMap
Apply SLAs to additional entities
Categorize entity records in CRM
Provide feedback and rating for entity records in CRM
Control how packages are deployed with the enhanced Package Deployer
XRM tools enhancements
Simplified FormXML for Stream items in the interactive dashboards
Entities updated for improved form rendering experience and new client APIs support
Add SAS authorization support to your CRM-Azure applications
Send CRM data in multiple formats to a Microsoft Azure hosted listener application
Integrate CRM with external event hub publishers
Client API support for quick view control and timer control on the new form rendering engine
New entities
New privileges
For a list of deprecated features, see Important changes coming in future releases of Microsoft Dynamics 365.
Create customer attributes for any entity
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.
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
CRM Web API enhancements
With this release, the CRM Web API supports:
Filtering records based on single-value navigation properties
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
Note
This partially addresses the following limitation in the previous version of the Web API: Can't filter queries based on the value of a single-valued navigation property
Retrieving related records for entity sets by expanding navigation properties
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
Enhanced client API support in interactive service hub
The interactive service hub now also supports the following client APIs:
All the client APIs for sub-grids. More information: Grid (read-only) objects and methods (client-side reference)
getId method in the Xrm.Page.data.entity namespace
addCustomFilter, addCustomView, setFocus, and setShowTime methods for controls
close, getCurrentControl, and Form Notification methods in the Xrm.Page.ui namespace
DisplayState, Label, and setFocus methods for a tab (group of sections in a page)
All the navigation item methods: More information: Xrm.Page.ui.navigation item (client-side reference)
openEntityForm and openQuickCreate in the Xrm.Utility namespace
getInitialUrl and getObject for IFRAME controls; getSrc and setSrc for both web resource and IFRAME controls
All the existing client APIs from the previous version and new client APIs in this release for the knowledge base search control. Earlier, interactive service hub supported only the getSearchQuery and setSearchQuery methods. More information: Knowledge base search control (client-side reference)
More information: Write and debug scripts for the interactive service hub
Support for knowledge base search control client APIs on CRM mobile clients and 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.
Easily launch the interactive service hub using the CRM SiteMap
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
Apply SLAs to additional entities
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
Categorize entity records in CRM
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 Dynamics 365 records
Provide feedback and rating for entity records in CRM
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 Dynamics 365 records
Control how packages are deployed with the enhanced Package Deployer
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 PackageVisual 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 Dynamics 365 Package Deployer
XRM tools enhancements
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 CRM Online Administration Center, the connector will now correctly identify the organization instance, and connect successfully.
When using OAuth connections to Dynamics 365, 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
Simplified FormXML for Stream items in the interactive dashboards
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
Entities updated for improved form rendering experience and new client APIs support
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.
Add SAS authorization support to your CRM-Azure applications
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.
More information: Azure integration with Microsoft Dynamics 365, Walkthrough: Update a service endpoint from ACS to SAS authorization, and Walkthrough: Configure Microsoft Azure (SAS) for integration with Dynamics 365.
Send CRM data in multiple formats to a Microsoft Azure hosted listener application
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.
More information: Write a listener application for a Microsoft Azure solution.
Integrate CRM with external event hub publishers
Are you interested in making use of the Microsoft AzureEvent 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.
More information: Work with Dynamics 365 event data in your Azure Event Hub solution.
Client API support for quick view control and timer control on the new form rendering engine
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)
New entities
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. |
|
BookableResourceBooking |
Bookable Resource Booking |
Represents the line details of a resource booking. |
|
BookableResourceBookingHeader |
Bookable Resource Booking Header |
Reservation entity representing the summary of the associated resource bookings. |
|
BookableResourceCategory |
Bookable Resource Category |
Categorize resources that have capacity into categories such as roles. |
|
BookableResourceCategoryAssn |
Bookable Resource Category Assn |
Represents the association entity to model the categorization of resources. |
|
BookableResourceCharacteristic |
Bookable Resource Characteristic |
Associates resources with their characteristics and specifies the proficiency level of a resource for that characteristic. |
|
BookableResourceGroup |
Bookable Resource Group |
Associates resources with resource groups that they are a member of. |
|
BookingStatus |
Booking Status |
Allows creation of multiple sub statuses mapped to a booking status option. |
|
Category |
Category |
Entity for categorizing records to make it easier for your customers to find them on portals and through search. |
|
Characteristic |
Characteristic |
Represents the skills, education, and certifications of resources. |
|
Feedback |
Feedback |
Container for feedback and ratings for knowledge articles. |
Use the Feedback entity to manage feedback and ratings for Dynamics 365 records |
KnowledgeArticlesCategories |
Knowledge Article Category |
Contains the associations between the Knowledge Article and Category records. |
|
RatingModel |
Rating Model |
Represents a model to evaluate skills or other related entities. |
|
RatingValue |
Rating Value |
Represents a unique value associated with a rating model that allows providing a user friendly rating value. |
|
RecommendedDocument |
Document Recommendation |
Recommended Document. |
New privileges
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 |
|
prv*BookableResourceBooking |
Bookable Resource Booking |
|
prv*BookableResourceBookingHeader |
Bookable Resource Booking Header |
|
prv*BookableResourceCategory |
Bookable Resource Category |
|
prv*BookableResourceCategoryAssn |
Bookable Resource Category Assn |
|
prv*BookableResourceCharacteristic |
Bookable Resource Characteristic |
|
prv*BookableResourceGroup |
Bookable Resource Group |
|
prv*BookingStatus |
Booking Status |
|
prv*Category |
Category |
|
prv*Characteristic |
Characteristic |
|
prvConfigureDocumentRecommendation prvReadRecommendedDocument |
Document Recommendation |
|
prv*Feedback |
Feedback |
Use the Feedback entity to manage feedback and ratings for Dynamics 365 records |
prv*RatingModel |
Rating Model |
|
prv*RatingValue |
Rating Value |
|
prv*SavedOrganizationInsightsConfiguration |
Saved Organization Insights Configuration |
TechNet: View metrics about your instance with Organization Insights dashboard |
prv*SyncError |
Sync Error |
|
prvUseOfficeApps |
Use Dynamics 365 for Outlook |
* This privilege is one of the following: Create, Read, Write, Delete, Append, AppendTo, Assign, or Share.
What's new for CRM Online 2016 Update and CRM 2016 on-premises
In this release, developers will be able to leverage the following enhancements and new capabilities:
CRM Online features now available for on-premises organizations
Introducing the Web API
Organization data service (OData v2 REST endpoint) deprecated
CORS Support added
Form script support for keypress events and auto-completion feature
CRM for phones and tablets enhancements
Knowledge management edit and search enhancements
Solution enhancements
Service level agreement enhancements
Upload and manage document templates
XRM Tooling controls now support OAuth authentication and connection strings
New entities in CRM 2016
New messages in CRM 2016
New privileges in CRM 2016
CRM Online features now available for on-premises organizations
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
Introducing the Web API
Why a new API?
Authentication using the Web API
CRM Web API Discovery service
Why a new API?
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 365 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 https://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 365 Web API
Authentication using the 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 Dynamics 365 app with Active Directory
CRM Web API Discovery service
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
Organization data service (OData v2 REST endpoint) deprecated
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.
CORS Support added
The CRM 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 365
Form script support for keypress events and auto-completion feature
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 mobile clients (phones and tablets), and are only available for Updated entities.
More information: Xrm.Page.ui control (client-side reference)
CRM for phones and tablets enhancements
Web resources and IFRAMEs
Form script support for new custom controls
Open records in CRM mobile client with a URL
Web resources and IFRAMEs
The ability to create web resources and IFRAMEs for use with Dynamics 365 for tablets is now fully supported in all Dynamics 365 for tablets forms: iOS, Android, and Windows 10. More information: Create web resources and IFrame content for use with the Dynamics 365 for tablets client
Form script support for new custom controls
Use new custom controls to configure a visually modern and richer experience for your users in CRM mobile clients (phones and 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).
Open records in CRM mobile client with a URL
With the new application handler protocol in CRM 2016, you can use URLs to directly open records in CRM mobile clients (phones and tablets). You can also open an empty form for creating an entity record. To use this feature, you have to install CRM mobile client on your mobile device. More information: Open forms, views, and dashboards in Dynamics 365 mobile client with a URL
Knowledge management edit and search enhancements
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.
Solution enhancements
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 sub-components 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 agreement enhancements
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.
Note
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)
Upload and manage document templates
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 Dynamics 365
XRM Tooling controls now support OAuth authentication and connection strings
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 365 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
New entities in CRM 2016
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. |
|
KnowledgeArticleIncident |
Knowledge Article Incident |
Contains the associations between a knowledge article and incident. |
|
KnowledgeArticleViews |
Knowledge Article Views |
Tracks the number of times an article is viewed per day. |
|
LanguageLocale |
Language |
Contains information about the supported languages for translating a knowledge article. |
New messages in CRM 2016
The following table lists new messages included in this release.
Request class |
Web API action |
Description |
More information |
---|---|---|---|
Creates a solution patch from a managed or unmanaged solution. |
|||
Creates a new copy of an unmanaged solution that contains the original solution plus all of its patches. |
|||
Creates a translation of a knowledge article record. |
|||
Creates a major or minor version of a knowledge article record. |
|||
Replaces a managed solution plus all of its patches. |
|||
N/A |
Performs a full-text search on knowledge articles in CRM using the specified search text. |
||
N/A |
Increments the per day view count of a knowledge article record. |
||
Sets the process that associates with a given target entity. |
|||
Updates a component in an unmanaged solution. |
New privileges in CRM 2016
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 |
|
prv*LanguageLocale |
Language |
|
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 |
|
prv*KnowledgeArticleViews |
Knowledge Article Views |
|
prvApproveKnowledgeArticle |
Approve Knowledge Articles |
|
prvPublishKnowledgeArticle |
Publish Knowledge Articles |
|
prv*DocumentTemplate |
Document Template |
|
prv*PersonalDocumentTemplate |
Personal Document Template |
|
prvDocumentGeneration |
Document Generation |
|
prv*KnowledgeSearchModel |
Knowledge Search Model |
|
prv*TopicModel |
Topic Model |
For internal use only. |
prv*CustomControl |
Custom Control |
|
prv*CustomControlDefaultConfig |
Custom Control Default Config |
|
prv*CustomControlResource |
Custom Control Resource |
* This privilege is one of the following: Create, Read, Write, Delete, Append, AppendTo, Assign, or Share.
See Also
Software Development Kit for Microsoft Dynamics 365 (online) and Dynamics 365 (on-premises)
Release history
How do I?
Connect to Microsoft Dynamics 365
The security model of Microsoft Dynamics 365
Extend Microsoft Dynamics 365
Model your business data in Microsoft Dynamics 365
Manage your data in Microsoft Dynamics 365
Manage your Microsoft Dynamics 365 deployment
Sample code directory for Microsoft Dynamics 365
Microsoft Dynamics 365 Programming reference
SDK extensions for Microsoft Dynamics 365
Microsoft Dynamics 365
© 2016 Microsoft. All rights reserved. Copyright