What's new for developers

 

Applies To: Dynamics CRM 2015

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

In this topic

What’s new for Microsoft Dynamics CRM Online 2015 Update 1

What’s new for CRM 2015 and CRM Online 2015 Update

What’s new for Microsoft Dynamics CRM Online 2015 Update 1

Developers will be able to leverage the following enhancements and new capabilities in this release:

  • Integrate Dynamics CRM data with external systems more easily

  • Update message for specialized operations

  • Alternate keys

  • Change tracking

  • Upsert for updating CRM with external data

  • Optimistic concurrency

  • Multiple message execution

  • Tracing

  • Custom actions in workflows or dialogs

  • Integration with Parature

  • Custom claim mapping for SharePoint server-based integration

  • Integration with OneNote

  • Entitlement enhancements

  • Honoring required steps in a business process

  • Support for additional “older than” clauses for date and time fields in FetchXML and QueryExpression

  • Record creation and update rules

  • Track emails at the folder level

  • Support for new behavior of date and time values in CRM

  • Try the Web API preview

  • New form script capabilities

  • Form script support for the new Knowledge Management (KM) integration with Parature

  • Enhanced capabilities for sub-grid controls in forms

  • More options to open forms

  • Control.getShowTime method for Date controls

  • Customizable themes

  • Rollup field enhancements

  • Custom price lists for opportunities, quotes, orders, and invoices

  • New entities

  • New messages in the Organization web service

  • New privileges

Blog: New naming conventions for Microsoft Dynamics CRM updates

Integrate Dynamics CRM data with external systems more easily

This release includes several new features that make it easier to integrate and synchronize CRM data with data stored in other systems. These sets of features, listed here, also can be used in other situations to simplify and streamline your code.

  • Update message for specialized operations

  • Alternate keys

  • Change tracking

  • Upsert for updating CRM with external data

More information: Synchronize CRM data with external systems.

Update message for specialized operations

Before this release, specialized messages were required to update certain entity attribute values. For example, you had to execute the Assign message to change an entity’s ownerid attribute. In this release, you can now execute UpdateRequest to perform these same operations, so some of those specialized messages have been deprecated. For more information on these attributes and the deprecated messages, see Perform specialized operations using Update.

Alternate keys

Alternate keys enable data integration in an efficient manner. Users can now define an attribute in a Microsoft Dynamics CRM entity to correspond to a unique identifier (or combination of columns) used by an external data store. Use this alternate key to uniquely identify a record in CRM in place of the primary key. This feature enhances the developer and customer experience by:

  • Reducing roundtrips to look up record IDs from other unique columns.

  • Increasing overall throughput of bulk data processes, especially with CRM Online.

  • Simplifying programming from external systems without CRM record IDs.

More information: Define alternate keys for an entity and Use an alternate key to create a record

Change tracking

You can greatly improve efficiency of code that monitors changes to CRM data by using the RetrieveEntityChangesRequest message included in this release. The new change tracking feature provides a way to keep the CRM data stored in an external data source, synchronized in a performant way by detecting what data has changed since the data was initially extracted or last synchronized.

More information: Use change tracking to synchronize data with external systems

Upsert for updating CRM with external data

The new UpsertRequest message reduces the complexity involved with data integration scenarios by doing an update if the record already exists or a create if the record doesn’t exist. This is especially useful when you want to set the state of a record in CRM and don’t know if it already exists.

More information: Use Upsert to insert or update a record

Optimistic concurrency

On a multi-threaded and multi-user system like Microsoft Dynamics CRM, operations and data changes often happen in parallel. A problem arises when two or more update or delete operations on the same piece of data happen at the same time. This situation could potentially result in data loss. New in this version is the ability for your applications to detect whether an entity record has changed on the server from when your application retrieved the record to when it tries to update or delete the record. Attempting to update or delete a record that has been changed by another user results in an error condition.

More information: Reduce potential data loss using optimistic concurrency.

Multiple message execution

It’s a common requirement in business applications to coordinate changes of multiple records in the system so that either all the data changes succeed, or none of them do. In database terms, this is known as executing multiple operations in a single transaction with the ability to roll back all data changes should any one operation fail.

In this release, you can now execute two or more web service requests in a single database transaction using the ExecuteTransactionRequest message request. More information: Execute messages in a single database transaction.

Tracing

While the 2013 and later releases of Microsoft Dynamics CRM supported tracing in plug-ins and custom workflow activities (custom code) as a debugging aid, this release adds the ability to log this tracing information to entity records of type PluginTraceLog. Your custom code can now write informational messages to the tracing log using ITracingService regardless if a custom code exception is thrown. These trace records can then be viewed in the CRM web application.

For more information about how to enable and use the new tracing capabilities, see Debug a plug-In.

Custom actions in workflows or dialogs

Developers can still call custom actions using code, but now actions can also be called directly in workflows or dialogs. More information: 98ee20a1-e4b2-4e42-a6ed-583b901507b3#bkmk_execute-process and Configure workflow steps

Integration with Parature

Get quick access to a rich knowledge base on Parature, from Microsoft by connecting CRM to Parature knowledge management. Your service agents can easily search for relevant articles in Parature while still working on a case in CRM, and then share the information with customers over various channels such as web, chat, email, or phone. This can help improve the productivity of your service agents by helping them quickly find accurate information and provide it to the customers. More information: Integrate Microsoft Dynamics CRM with Parature

When Parature knowledge management is enabled you can add a Knowledge Base Search control to the forms of entities that are enabled. This control includes a robust client API to allow automation and extensions using scripts in the form. More information: Form script support for the new Knowledge Management (KM) integration with Parature

Unified Service Desk for Microsoft Dynamics CRM also provides out-of-box integration with Parature knowledge management. More information: What’s New in Unified Service Desk for developers

Custom claim mapping for SharePoint server-based integration

Microsoft Dynamics CRM now supports server-based integration with SharePoint Online and on-premises SharePoint. CRM uses claims to authenticate and authorize CRM users to access the documents stored in SharePoint. More information: Define custom claim mapping for SharePoint server-based integration

Integration with OneNote

Set up Microsoft OneNote integration in Microsoft Dynamics CRM to automatically create a dedicated OneNote notebook for the selected CRM entity records, which enables you to easily take notes in OneNote in the context of a CRM record in various formats such as pictures, drawings, formatted text (bullet points and tables), and voice recordings. More information: Integrate Microsoft Dynamics CRM with OneNote

Entitlement enhancements

The entitlements feature has been enhanced to enable you to:

  • Set a default entitlement for a customer so that when you create or update a case for the customer, the default entitlement is automatically applied to the case.

  • Control whether to decrement the terms of an entitlement for an incident (case) when the entitlement is applied to the incident.

More information: Entitlement entities

Honoring required steps in a business process

CRM now enhances the ability to standardize on industry best practices by validating that all the required steps defined in the active stage of the business process are completed when qualifying a lead or converting a quote to sales order. As a result, now the QualifyLeadRequest and ConvertQuoteToSalesOrderRequest messages validate whether the required steps are completed before a lead is qualified or a quote is converted to sales order respectively. Otherwise, appropriate error message is displayed.

Support for additional “older than” clauses for date and time fields in FetchXML and QueryExpression

Until the previous release of CRM, you could only query for dates "Older Than X Months" using FetchXML and QueryExpression. This limited the ability to find past cases with other granularity levels (hours, days, weeks, and so on), for example, finding urgent cases older than 15 minutes.

The following settings for the "older than" clause are added in FetchXML and QueryExpression that will help you to find the cases using various granularity levels:

  • Older Than X Minutes

  • Older Than X Hours

  • Older Than X Days

  • Older Than X Weeks

  • Older Than X Years

More information: Fiscal date and "older than" date/time query operators in FetchXML

Record creation and update rules

The new channel engagement framework rules enable you to increase efficiency of your sales, marketing, and service teams by automatically converting incoming activities, such as emails, custom activities, and posts, from external integrated applications (mobile applications, portals or social channels) to system or custom records in CRM. You create and manage the automatic record creation and update rules using CRM or Microsoft Dynamics CRM for Outlook. More information: Help & Training: Define rules for creating or updating CRM records from incoming activities.

At times, these conversion rules will need to be edited to align with the change in your business requirements. To edit a conversion rule, you need to deactivate the rule, edit the rule definition, and then reactivate the rule. While the rule is being edited, the activities from the external applications will continue to come into CRM, but will not be acted upon as the rule is not active. To apply the conversion rules retroactively to the activities after you have edited and reactivated them, you can use the new ApplyRecordCreationAndUpdateRuleRequest message.

Note

You can’t create or edit the automatic conversion rules using SDK; you can only apply the conversion rules.

Track emails at the folder level

Use the new Mailbox Auto Tracking Folder (MailboxTrackingFolder) entity in CRM to configure folder-level mapping rules that enable you to map a Microsoft Exchange inbox folder to a CRM record so that all the emails in the Exchange folder get automatically tracked against the mapped record in CRM. More information:: Configure Exchange folder-level tracking rules

Support for new behavior of date and time values in CRM

Until the previous release of CRM, all date and time values in CRMwere time zone aware, including those with the Date Only format. CRM introduces a new property, DateTimeAttributeMetadata.DateTimeBehavior, to specify “Date Only” and “Time Zone Independent” values for an attribute of type DateTime. More information: Behavior and format of the date and time attribute

Try the Web API preview

The Microsoft Dynamics CRM Web API preview provides a network based communication and messaging interface to the Dynamics CRM web services through implementation of industry standard Internet protocols like OData v4, OAuth 2, and JSON. ISVs, partners, and other customers can leverage this interface to implement server-to-server and client-to-server applications across a broad range of computer hardware and devices, operating systems, and programming languages. The Web API preview represents the future direction of Dynamics CRM web service access.

An administrator can enable the Web API preview in the Web application by navigating to Settings > Administration > System Settings and selecting the Previews tab. You can then access the Web API endpoint for your organization at https://<domain>.crm.dynamics.com/api/data.

The Web API preview is being made available in stages. This preview is the initial release and it will be followed by periodic updates that implement additional features and capabilities. The preview release allows you to give feedback and get an understanding of what is coming in a future release. The Web API preview shouldn’t be used on production environments and no support is provided. For more information on the next endpoint, see Web API Preview.

New form script capabilities

You can use new form script APIs in this release.

  • Form script support for the new Knowledge Management (KM) integration with Parature

  • Enhanced capabilities for sub-grid controls in forms

  • More options to open forms

  • Control.getShowTime method for Date controls

  • Identify the type of device being used

These capabilities are only available for updated entities when the system setting Use legacy form rendering is set to no.

Form script support for the new Knowledge Management (KM) integration with Parature

When an organization has Parature integration enabled they can add a new knowledge base search control to forms. This control provides for programmability support to automate or enhance the user’s experience. More information: Parature knowledge base search control (client-side reference)

Enhanced capabilities for sub-grid controls in forms

The sub-grid control in forms now provides access to new capabilities such as changing the currently selected view and accessing references to entity records displayed in the sub-grid. More information: Grid objects and methods (client-side reference)

More options to open forms

Use the new **Xrm.Utility.**72a66f93-92df-42b9-a8fd-b6125c7fe83b#BKMK_openQuickCreate function to open the Quick Create form when you want to guide a user to create a new record.

When using the **Xrm.Utility.**72a66f93-92df-42b9-a8fd-b6125c7fe83b#BKMK_OpenEntityForm function you can include an optional windowOptions parameter to open the form in a new browser window when using the web application.

Control.getShowTime method for Date controls

The Control.getShowTime method for Date controls method is a companion to the existing 51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setShowTime method. Use this method to determine whether the time element of a date control is currently displayed.

Identify the type of device being used

The Xrm.Page.context.client.Identify the type of device being used method tells you whether the device is a desktop, tablet, or a phone.

Customizable themes

You now have a supported way to apply a custom look and feel to CRM. Organizations can now make changes to default colors and other visual elements, such as including a company logo. These changes can be made using customization tools and doesn’t require a developer. More information: Query and edit an organization theme

Rollup field enhancements

In this release Rollup fields now support AVG calculations and other improvements to support using Rollup fields with activities. This is one less area where a developer has to write code. More information: Rollup attributes and Define rollup fields.

Custom price lists for opportunities, quotes, orders, and invoices

Instead of using the out-of-box rule for the selection of a default price level (price list) for an opportunity, quote, order, or invoice, you can specify your custom logic for selecting a default price list using the GetDefaultPriceLevelRequest message. More information: Extend default price level selection

New entities

The following table lists new entities included in this release

Schema Name

Display Name

Description

ChannelProperty

Channel Property

For internal use only.

ChannelPropertyGroup

Channel Property Group

For internal use only.

KnowledgeBaseRecord

Knowledge Base Record

Metadata of knowledge base (KB) articles associated with Microsoft Dynamics CRM entities. More information: Integrate Microsoft Dynamics CRM with Parature.

MailboxTrackingFolder

Mailbox Auto Tracking Folder

Stores data about what folders for a mailbox are auto tracked. More information: Configure Exchange folder-level tracking rules.

OfficeDocument

Office Document

Used to store Office documents in database in binary format.

PluginTraceLog

Plug-in Trace Log

Trace and exception information generated by plug-ins and custom workflow activities. More information: b4bbe405-a56f-450b-acd9-0c063cf35990#bkmk_trace-settings.

Theme

Theme

Contains information to set custom visual theme options for client applications. More information: Query and edit an organization theme.

TimeStampDateMapping

Time Stamp Date Mapping

For internal use only.

UserMapping

User Mapping

Used to specify custom claim mappings in CRM to use a value other than the default value used by CRM to authenticate and authorize CRM users in SharePoint. More information: UserMapping entity messages and methods.

New messages in the Organization web service

The following messages are new in this release.

Request class name

Description

More information

ApplyRecordCreationAndUpdateRuleRequest

Contains data to apply record creating and update rule to incoming activities.

ApplyRecordCreationAndUpdateRuleRequest

ConvertDateAndTimeBehaviorRequest

Contains data to convert existing date and time values in the database from UTC to the DateOnly behavior.

Behavior and format of the date and time attribute

CreateEntityKeyRequest

Creates an alternate key for an entity.

fb4a93d6-590b-4913-96f7-25d351dc52ab#BKMK_Declare

DeleteEntityKeyRequest

Deletes the alternate key for an entity.

fb4a93d6-590b-4913-96f7-25d351dc52ab#BKMK_crud

ExecuteTransactionRequest

Executes multiple message requests in a single database transaction.

Execute messages in a single database transaction

ExportToExcelOnlineRequest

For internal use only.

For internal use only.

PublishThemeRequest

Publishes a theme.

b9ad59fa-4778-4f79-9b24-94c320a33bde#BKMK_EditAndPublish

RetrieveEntityChangesRequest

Retrieves the changes for an entity since the last sync.

Use change tracking to synchronize data with external systems

ReactivateEntityKeyRequest

Submits a new asynchronous system job to create the index for the key.

fb4a93d6-590b-4913-96f7-25d351dc52ab#BKMK_index

RetrieveEntityKeyRequest

Retrieves the alternate key for an entity.

fb4a93d6-590b-4913-96f7-25d351dc52ab#BKMK_crud

RetrieveMailboxTrackingFoldersRequest

Retrieves folder mapping rules for a user.

Configure Exchange folder-level tracking rules

UpsertRequest

Updates or inserts a record.

Use Upsert to insert or update a record

New privileges

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

Tab name in the security role dialog

Name displayed in the dialog

Privilege name

More information

Core

Publish SharePoint Integration Wizard

prvConfigureSharePoint

Define custom claim mapping for SharePoint server-based integration

Business Management

Channel Property Group

prv*ChannelPropertyGroup

For internal use only.

Business Management

Mailbox Auto Tracking Folder

prv*MailboxTrackingFolder

Configure Exchange folder-level tracking rules

Business Management

CRM for mobile

prvUseTabletApp

This privilege is not new, but the user visible name has changed.

Business Management

CRM for phones express

prvGoMobile

This privilege is not new, but the user visible name has changed.

Service Management

Knowledge Base Record

prv*KnowledgeBaseRecord

Integrate Microsoft Dynamics CRM with Parature

Service Management

Record Creation and Update Rule

prv*ConvertRule

For internal use only.

Service Management

Control Decrement Terms

prvControlDecrementTerm

Entitlement entities

Customization

Entity Key

prv*EntityKey

Define alternate keys for an entity

Customization

Plug-in Trace Log

prv*PluginTraceLog

PluginTraceLog entity messages and methods

Customization

Theme

prv*Theme

Query and edit an organization theme

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

What’s new for CRM 2015 and CRM Online 2015 Update

Developers will be able to leverage the following enhancements and new capabilities in this release:

  • Product catalog enhancements

  • Use hierarchical data

  • Apply hierarchical security models

  • Use calculated and rollup attributes created in Dynamics CRM

  • Write form scripts that interact with business process flows

  • Use field-level security with system entities

  • Create business rules instead of writing code

  • Add custom help content

  • New service proxy classes for the web endpoint

  • New messages in the Organization web service

  • New messages in the Deployment web service

  • New entities

  • New privileges

  • NuGet packages

  • Deprecated form script methods removed

  • Preview feature: IFrame and web resources for CRM for tablets

  • New .NET framework requirement

Product catalog enhancements

The enhanced product catalog feature enables you to:

  • Create a rich product classification system (taxonomy) for your organization by defining hierarchies of product families and products with configurable properties that reduce the number of product stock keeping units (SKUs) needed to maintain your product catalog.

  • Group products and services into a bundle to create attractive packages for your customers.

  • Define new relationships, such as cross-sell, up-sell, and accessory, in addition to the substitute relationships for your products that surface as product suggestions to your sales agents during opportunity and order management, which can help to boost sales of the related products.

  • Use custom pricing instead of the CRM system pricing to calculate prices when you associate a product or bundle to opportunity, quote, order, or invoice.

  • Define per unit discount for products at line level when you add them to opportunity, quote, order, or invoice.

  • Automatically set the default price level (price list) for an opportunity, quote, order, or invoice based on the current user and the user’s territory relationship with the price level.

  • Specify localized values for certain product properties (attributes) to allow for product names and descriptions to be available in the user’s preferred language.

More information: Product catalog entities

Use hierarchical data

Users can gain valuable insight about their data because they can visualize hierarchically related data and navigate between related records.

Identify and edit hierarchical entity relationships

Hierarchical relationships aren’t new to Microsoft Dynamics CRM. However, these visualizations and new query operators for hierarchical data depend on explicit declarations that certain entity relationships are hierarchical. There are limitations that are enforced using this declaration, for example, each entity can have just one self-referential one-to-many entity relationship that is considered hierarchical. This declaration is included in the metadata of the relationship. The OneToManyRelationshipMetadata class has a new IsHierarchical property that specifies whether the entity relationship should be considered hierarchical. There is also a new EntityMetadata.CanChangeHierarchicalRelationship managed property that you can use to control whether the hierarchical state of entity relationships included in your managed solutions can be changed. The following system entities have hierarchical relationships that can’t be changed: account, systemuser, product, and position.

All of these settings can be configured using the customization tools in the web application without writing code, but developers can also define hierarchies programmatically using metadata APIs or query the metadata to understand which entity relationships are considered hierarchical.

More information: 44ab54f6-f55a-4cf8-98f4-cbd4358286c7#BKMK_HierarchicalRelationships

Query hierarchical data

Developers can take advantage of new query condition operators to query entities with explicit hierarchical relationships. These operators only apply for the entity relationship specifically defined as a hierarchical relationship. These condition operators allow for queries that are above or under other records in the hierarchy.

More information: Query hierarchical data

Apply commands to hierarchy visualizations

New hierarchy visualizations allow people to navigate through records in a hierarchy and apply commands on selected records using the command bar. Custom commands for these visualizations support the same contextual information available to commands for views so that you can determine whether to enable or disable your command based on the record currently selected and perform actions on the selected record.

More information: Customize commands and the ribbon

Apply hierarchical security models

While Microsoft Dynamics CRM provides a rich set of structures in which to model security (business units, security roles, sharing, teams), some organizations may need special exceptions defined in code so that people who need to see data can view it. Today, when the existing security configuration doesn’t support business requirements in the organization, organizations might need to define a large number of business units and developers write code in plug-ins to programmatically share records.

Hierarchical security models is an optional feature to provide another dimension to the current matrix of security structures that can reduce the need to create a large number of business units or to write code that deals with exceptions. Developers and implementers need to understand how this new additional layer of security can be applied so that programmatically modifying the security access to records in code becomes something that is done less frequently for those organizations with complex security requirements.

More information: How hierarchical security can be used to control access to entities in Microsoft Dynamics CRM

Use calculated and rollup attributes created in Dynamics CRM

Calculated and rollup attributes are essential because they free the user from having to manually perform calculations and focus on their work. System administrators can now easily define a field to contain the value of many common calculations without having to work with a developer. Developers can also leverage the platform capabilities to perform these calculations rather than within their own code.

More information: Calculated and rollup attributes

Write form scripts that interact with business process flows

In this release, business process flows have been enhanced to support branches based on conditions. These conditions take advantage of the newly introduced support for If-Else structures as well as support for combining multiple conditional expressions entirely using OR or AND. With these new capabilities, developers should evaluate whether existing processes that use form scripts could instead use business process flows so that organizations can maintain the logic they need without writing code.

This release also makes it easier for developers to interact with the business process flows in their scripts. Form script developers have asked for a supported way to interact with the business process form user interface (UI) in form scripts. This release provides a client-side object model developers can use to interact with business process flows in their form scripts. The Xrm.Page object model is extended to include new events, methods, and objects.

More information: Write scripts for business process flows

Use field-level security with system entities

Previous versions of Microsoft Dynamics CRM only allowed definition of field-level security for custom attributes. Because of feedback from our customers, this release now provides for defining field-level security for system attributes. Not all system attributes can be secured because all system users have to be able to access certain attributes.

You can query the metadata to determine which system attributes you can apply field-level security to. The AttributeMetadata properties CanBeSecuredForCreate, CanBeSecuredForRead, and CanBeSecuredForUpdate values have been modified for those system attributes that you can apply field-level security to. You can detect which fields have been secured using the IsSecured property.

More information: How field security can be used to control access to field values in Microsoft Dynamics CRM

Create business rules instead of writing code

Business rules allow customizers to move common form logic away from form scripts so that they do not need to rely on developers. Business rules don’t replace form scripts or plug-ins. They provide a way for a person who isn’t a developer to apply common logic. The logic applied in the business rule can be quickly changed without editing code.

With new business rules enhancements, customizers can now also define common logic that can be evaluated on the server, eliminating the need to apply this logic in a plug-in or a workflow. Business rules are also more useful because they allow for branching logic using OR and If-else conditions that weren’t previously available. Business rules also now allow for setting default values. People who aren’t developers will find defining processes using business rules easier and therefore may not require form scripts as often.

Developers need to be familiar with the capabilities of business rules so they can evaluate if a business requirement can be met without writing code.

Developers must also be aware that business rules evaluated on the server apply to all clients, including custom clients and integration solutions that perform operations on records. When code from any client violates a rule, the business rule will return the error message specified by the rule. This means that it’s important that code include appropriate error handling to adapt to changes that may be applied using business rules.

More information: 02d0ad6c-eb76-4ea9-972f-c7647eef6c09#BKMK_BusinessRuleErrors and the Customization Guide topic Create and edit business rules

Add custom help content

Organizations have a highly customized system, especially those that use custom entities, will find that the application help content may not address the needs of their users. Administrators can configure the system to override the default help content by specifying a URL to open instead. The page to open might be a static page on a Microsoft SharePoint site, a web page on the Internet, or a custom help application created using web resources and included with a solution. Developers need to understand the options available and what contextual information can be passed with the URL so that they can create pages to display appropriate content. More information: Add custom help content and Customize the Help experience

New service proxy classes for the web endpoint

A new namespace called Microsoft.Xrm.Sdk.WebServiceClient provides OrganizationWebProxyClient and DiscoveryWebProxyClient classes for web service access. These classes support executing message requests through the /web endpoint of the Discovery.svc or Organization.svc when authenticated with OAuth. In addition, a new message named RetrieveCurrentOrganizationRequest has been added.

New messages in the Organization web service

The following messages are new in this release:

Request class name

Description

More information

CalculatePriceRequest

Defines custom pricing for your products in opportunities, quotes, orders, and invoices.

Use custom pricing for products

CalculateRollupFieldRequest

Calculates a rollup attribute value on demand.

Rollup attributes

CloneProductRequest

Clones a product family, product, or bundle record, and creates a copy of the record under the same parent node.

Clone a product family, product, or bundle

ExportFieldTranslationRequest

Exports localizable attributes for translation.

Translate localizable attributes

GetDefaultPriceLevelRequest

Used internally by CRM to determine the default price level (price list) for an opportunity, quote, order, and invoice based on the current user and the territory relationship with the price level.

Set default price level for opportunity, quote, order, invoice

ImportFieldTranslationRequest

Imports localizable attributes for translation.

Translate localizable attributes

PublishProductHierarchyRequest

Publishes a product family hierarchy including the child products and bundles.

Publish a product family, product, or bundle

RetrieveCurrentOrganizationRequest

Retrieves organization information from the organization service rather than the discovery service.

Retrieve organization information from the organization service instead of using the discovery service.

RetrievePrincipalSyncAttributeMappingsRequest

Retrieves the synchronization attribute mapping information, which defines the flow of data from the server to the client application.

This message doesn’t have any extensibility scenarios in this release.

RetrieveProductPropertiesRequest

Retrieves all the property instances (dynamic property instances) for a product added to an opportunity, quote, order, or invoice.

DynamicPropertyInstance (property instance) methods and messages

RevertProductRequest

Reverts a product family, product, or bundle record to its last Active state. All the product property (attribute) changes done to the record since it was last published (Active state) will be lost.

Revert a product family, product, or bundle

UpdateProductPropertiesRequest

Updates the value of property instances (dynamic property instances) for a product added to an opportunity, quote, order, or invoice.

DynamicPropertyInstance (property instance) methods and messages

New messages in the Deployment web service

The following new messages are introduced to support tasks you can do using the Deployment web service:

Request class name

Description

AddCrmDatabaseRequest

Adds a CRM database to your deployment from a database backup or from a detached database.

DeleteOrganizationRequest

Deletes a CRM organization.

RetrieveMonitoringResultsRequest

Retrieves results from the monitoring service operation tests for your CRM deployment.

RetrieveUserMappingRequest

Retrieves the mapping information of existing users in a CRM organization.

For information about using these new classes, see Administer the deployment using the deployment web service. You can also use the Windows PowerShell cmdlets to manage your CRM deployment. More information: Microsoft Dynamics CRM PowerShell Reference

New entities

New entities can be found by querying on the entity metadata IntroducedVersion property. Entities added in this release have the property value “7.0.0.0”. To view the entity metadata for your organization, install the Metadata Browser solution described in Browse the metadata for your organization. You can also view the metadata for an uncustomized organization in the Excel file called EntityMetadata.xlsx included in the top-level folder of the SDK download.

The following entities are new in this release.

Schema name

Description

More information

BusinessDataLocalizedLabel

For internal use only.

For internal use only.

DynamicProperty

For internal use only.

Define product properties (not supported through SDK)

DynamicPropertyAssociation

For internal use only.

Define product properties (not supported through SDK)

DynamicPropertyInstance

A property instance (DynamicPropertyInstance) stores the instance of a product property along with its values.

DynamicPropertyInstance (property instance) methods and messages

DynamicPropertyOptionSetItem

For internal use only.

Define product properties (not supported through SDK)

HierarchyRule

For internal use only.

For internal use only.

HierarchySecurityConfiguration

For internal use only.

Hierarchical security (position) entity

Position

Contains the position of a user in the security hierarchy.

How hierarchical security can be used to control access to entities in Microsoft Dynamics CRM

PrincipalSyncAttributeMap

Maps security principals (users and teams) to synchronization attribute mappings.

This entity doesn’t have any extensibility scenarios in this release.

RollupJob

For internal use only.

For internal use only.

RollupProperties

For internal use only.

For internal use only.

SLAKPIInstance

Service level agreement (SLA) key performance indicator (KPI) instance that is tracked for an individual case.

SLAKPIInstance (SLA KPI instance) entity messages and methods

SyncAttributeMapping

Synchronization attribute mappings used to provide attribute mappings during synchronization for a particular user or team.

This entity doesn’t have any extensibility scenarios in this release.

SyncAttributeMappingProfile

Stores profile information used to map synchronization attribute mapping data to users or teams.

This entity doesn’t have any extensibility scenarios in this release.

SystemUserManagerMap

For internal use only.

For internal use only.

SystemUserSyncMappingProfiles

Mapping between the synchronization attribute mapping and system users.

This entity doesn’t have any extensibility scenarios in this release.

TeamSyncAttributeMappingProfiles

Mapping between the synchronization attribute mapping and teams.

This entity doesn’t have any extensibility scenarios in this release.

New privileges

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

Tab name in the security role dialog

Name displayed in the dialog

Privilege name

More information

Sales

Property

prv*DynamicProperty

Define product properties (not supported through SDK)

Sales

Property Association

prv*DynamicPropertyAssociation

Define product properties (not supported through SDK)

Sales

Property Instance

prv*DynamicPropertyInstance

DynamicPropertyInstance (property instance) methods and messages

Sales

Property Option Set item

prv*DynamicPropertyOptionSetItem

Define product properties (not supported through SDK)

Business Management

Change Hierarchy Security Settings

prvWriteHierarchicalSecurityConfiguration

How hierarchical security can be used to control access to entities in Microsoft Dynamics CRM

Customization

Hierarchy Rule

prv*HierarchyRule

Hierarchical security (position) entity

Business Management

Position

prv*Position

Hierarchical security (position) entity

Business Management

Principal Sync Attribute Map

prvWritePrincipalSynAttributeMap

This entity doesn’t have any extensibility scenarios in this release.

Service Managment

SLA KPI Instance

prv*SLAKPIInstance

SLAKPIInstance (SLA KPI instance) entity messages and methods

Business Management

Sync Attribute Mapping Profile

prv*SyncAttributeMappingProfile

This entity doesn’t have any extensibility scenarios in this release.

Business Management

Assign position for a user

prvAssignPosition

Hierarchical security (position) entity

Business Management

Change Hierarchy Security Settings

prvWriteHierarchicalSecurityConfiguration

Hierarchical security (position) entity

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

NuGet packages

For detailed information about how to obtain the NuGet packages containing SDK assemblies and tools for this release, see Subscribe to SDK assembly updates using NuGet.

Deprecated form script methods removed

Some previously deprecated form script methods have been removed in this release. More information: d7d0b052-abca-4f81-9b86-0b9dc5e62a66#BKMK_removedmethods

Note

If you’re upgrading from Microsoft Dynamics CRM 2011 to this release, make sure you review the guidance in Upgrade your code from Microsoft Dynamics CRM 2011 to Microsoft Dynamics CRM 2013. An important resource that can help you get ready for changes to form script methods is the Custom Code Validation tool. An updated version of the custom code validation tool is available to include the latest changes in Microsoft Dynamics CRM 2015. Download the custom code validation tool from Microsoft Dynamics CRM 2015 Custom Code Validation Tool.

Preview feature: IFrame and web resources for CRM for tablets

If you want to start developing solutions that will use IFrames and web resources with Microsoft Dynamics CRM for tablets you can enable them with this preview feature. While IFrames and web resources aren’t yet supported for forms and dashboards in CRM for tablets, you can enable them for your development organization and get an early start for a future release where they will be supported. More information: Create web resources and IFRAME content for use with the CRM for tablets client

New .NET framework requirement

The minimum .NET Framework version for building managed code applications, plug-ins, and custom workflow activities is now .NET 4.5.2. More information: Visual Studio and the .NET Framework

See Also

Developer overview
What is Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM Online?
Tutorials for learning about development for Microsoft Dynamics CRM
Write workflows to automate business processes

© 2016 Microsoft. All rights reserved. Copyright