What's new for developers

 

Applies To: Dynamics CRM 2013

Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online unlock new opportunities and 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 Microsoft Dynamics CRM extensions and custom solutions. For information on updating your code for this version, see Upgrade your code from Microsoft Dynamics CRM 2011 to Microsoft Dynamics CRM 2013.

In This Section

What’s new for CRM Online Spring '14 and CRM 2013 Service Pack 1

What’s new for CRM Online Fall '13 and CRM 2013

What’s new for CRM Online Spring '14 and CRM 2013 Service Pack 1

Detect duplicates when you create or update records

We listened to your feedback! The capability to detect duplicates when you create or update records using forms or grid views in the web application for the updated user interface (UI) entities has been restored in this release! New in this release is the ability to detect duplicates when you use CRM for tablets. More information: Detect duplicate data

Export a solution for specific release

Target solutions you export to the proper release. New capabilities added for CRM Online Spring ‘14 and Microsoft Dynamics CRM 2013 Service Pack 1 (SP1) (version 6.1) won’t work for organizations that haven’t upgraded to that version. When you export a solution using version 6.1 you have the option to target the solution to version 6.0. If your solution includes any solution components that aren’t compatible for version 6.0 they won’t be included in the solution that you export. More information: Export a solution for a specific CRM version.

Enhanced service capabilities

New enhanced service capabilities are available for new organizations or organizations that apply product updates after they are upgraded. More information: Detect enhanced service capabilities available with product updates

Incident (case) entities can be merged

Incident joins Account, Contact, and Lead as entities that you can use the MergeRequest message with. More information: Incident (case) entity messages and methods

Incident (case) hierarchies

Incidents now support hierarchical linking in the web application. See Incident (case) hierarchies to understand the impact for developers.

State model transitions

For the Incident (Case) entity and custom entities you can define custom status transitions that provide additional conditions over the default mapping between State and Status attributes for an entity. More information:Define custom state model transitions

Updated Plug-in Registration tool

The Plug-in Registration tool has been updated with a modern user interface and a standard logon control. The Plug-in Registration and the Plug-in Profiler tools have been moved out of the SDK\Bin folder into the SDK\Tools\PluginRegistration folder. More information: Walkthrough: Register a plug-in using the plug-in registration tool and Walkthrough: Register an Azure-aware plug-in with the CRM plug-in registration tool.

Social care framework

Use the Microsoft Dynamics CRM social care generic framework to route the social data that you obtain from various social channels into your CRM system. Social care framework provides the general interface, data model, and necessary APIs for integrating social listening applications like Facebook or Twitter with Microsoft Dynamics CRM to track social messages and profile data. Using social care framework you can pull social data feed containing post directly from the social channels and can associate a social post with an existing Microsoft Dynamics CRM record. More information: Social entities

Create packages for the Package Deployer tool

Use the CRM SDK package deployment template in Visual Studio to create a package that can contain multiple solutions and data files, and then use the new Package Deployer tool to deploy the package to CRM servers. More information: Create packages for the CRM Package Deployer.

New types of calendars

The calendar entity has a new Type picklist attribute to define different types of calendars to support both service scheduling calendars and new calendars to support customer service capabilities. More information:Types of calendars

Enhancements to queues

The Queue entity has a new QueueViewType picklist attribute to define queues as either public or private. Private queues are visible only to the owner of the queue and to any other users or teams added as members to the queue. Public queues are visible by everyone. While you can still share and assign queues, the recommended way to control access to queues is to use these properties. More information: Queue entities 

Discover the OAuth endpoint

The organization web service endpoint has been enhanced with the addition of an authority discovery feature. This enables your code to determine the authorization endpoint URL at run time instead of using a hardcoded URL value that could change in a future release. More information:  Discover the OAuth endpoint URL.

New messages

The following messages are new in this release.

Request class name

More information

AddPrincipalToQueueRequest

Adds the specified principal to the list of queue members. If the principal is a team, add each team member to the queue.

ApplyRoutingRuleRequest

Applies the active routing rule to an incident.

GenerateSocialProfileRequest

Returns an existing social profile record if one exists, otherwise generates a new one and returns it.

PickFromQueueRequest

Assigns a queue item to a user and optionally remove the queue item from the queue.

ReleaseToQueueRequest

Assigns a queue item back to the queue owner so others can pick it.

RemoveFromQueueRequest

Removes a queue item from a queue.

RenewEntitlementRequest

Renews an entitlement.

RetrieveUserQueuesRequest

Retrieves all private queues of a specified user and optionally all public queues.

RouteToRequest

Routes a queue item to a queue, a user, or a team.

New entities

New entities can be detected by querying the entity metadata IntroducedVersion property. Entities added in this release have the value “6.1.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 non-intersect entities are new in this release:

Schema name

More information

ChildIncidentCount

For internal use only.

ConvertRule

For internal use only. Case Creation Rule defines the settings for automatic case creation

ConvertRuleItem

For internal use only. Case Creation Rule Item defines the individual conditions required for creating case automatically.

DependencyFeature

For internal use only.

Entitlement

Entitlement defines the amount and type of support a customer should receive.

More information:Entitlement entity messages and methods

EntitlementChannel

Entitlement Channel defines the amount and type of support for a channel.

More information:EntitlementChannel entity messages and methods

EntitlementTemplate

Entitlement Template contains predefined customer support terms that can be used to created entitlements for customers.

More information:EntitlementTemplate entity messages and methods

EntitlementTemplateChannel

Entitlement Template Channel contains predefined support terms for a channel to create entitlements for customers.

More information:EntitlementTemplateChannel entity messages and methods

MailboxStatistics

For internal use only. Mailbox Statistics stores data regarding Mailbox processing cycles

MetadataDifference

For internal use only.

QueueItemCount

For internal use only.

QueueMemberCount

For internal use only.

RoutingRule

For internal use only. Routing Rule Set defines routing rules to route cases to the right people at the right time

RoutingRuleItem

For internal use only. Rule Item defines conditions to apply rules.

SharePointData

For internal use only. SharePoint Data SharePoint's data corresponding to a user , record , location and page.

SharePointDocument

For internal use only. Document documents on a SharePoint server that can be managed in Microsoft Dynamics CRM.

SLA

For internal use only. SLA contains information about the tracked service-level KPIs for cases that belong to different customers.

SLAItem

For internal use only. SLA Item contains information about a tracked support KPI for a specific customer.

SocialActivity

Social Activity is an activity that is delivered using social protocols.

More information:SocialActivity entity messages and methods

SocialInsightsConfiguration

For internal use only.

SocialProfile

Social Profile is used to store social profile information of its associated account and contacts on different social channels.

More information:SocialProfile entity messages and methods

Query String parameter to control navigation bar or command bar

When you open a Microsoft Dynamics CRM 2013 application form or view in your application by setting a URL, there are new query string parameters that control whether or how the navigation pane or command bar are displayed. More information: URL Addressable Forms and Views

XRM Tooling: New APIs to build Windows client applications for CRM

XRM Tooling is a set of new APIs for building Windows client applications that provide a host of benefits such as thread-safe calls to CRM, Windows PowerShell support for connecting to CRM, a common login control for a consistent sign-in experience, and built-in diagnostic tracing support. More information:  Build Windows client applications using the XRM tools

What’s new for CRM Online Fall '13 and CRM 2013

Entity images

Certain system entities and all custom entities can be enabled to display images in the application. People using the web application can upload images for entity records. For more information, see Entity images.

Access teams

The Access Team is a new type of the team that doesn’t own records, but, has access to records. Unlike with owner teams, you can create any number of access teams to work on the same records and have team members with different levels of access rights to the record. More information: Use access teams and owner teams to collaborate and share information.

Business process flow

The Business Process Flow is a new type of the process (workflow) for creating visualizations to guide users through various phases of business processes. Each phase can contain a number of logical steps that have to be completed before a user can move to the next phase. You can customize the business process flow by adding or removing steps, changing the order phases, or adding new entities to the process flow. More information: Model business process flows, and Enable entity capabilities.

Real-time workflows

The existing workflow execution model that supports asynchronous workflows has been extended to support real-time (synchronous) workflows. Real-time workflows are not queued, as was the case with asynchronous workflows, but execute immediately on-demand or in response to a message being processed by the execution pipeline. These workflows can optionally participate in the database transaction and perform similar functionality to plug-ins, yet can be created by the end user through the web application workflow designer. Developers can create real-time workflows through code. In addition, these workflows provide the core processing functionality of actions. For more information about real-time workflows, see Create real-time workflows.

Custom actions

Developers can extend the functionality of the standard Microsoft Dynamics CRM system by creating custom messages, with associated request/response classes, known as actions. These actions are available to business applications through web service calls. Typical use of actions is to add new functionality to organization web services or to combine multiple organization web service message requests into a single request. For more information about actions, see Create your own actions.

Mobile and rich client development

The OData service endpoint has been enhanced with the addition of authentication support for external mobile and rich client applications. Previously, the OData service endpoint supported only pre-authorized client (script) code provided in web resources. Once an authentication token has been obtained from the OData endpoint, client applications can use that token when sending SOAP based requests to the web services. For more information about the new authentication capability, see Authenticate the user with the web services. For information about mobile application development, see Write mobile and modern apps. For more information about OData, see Use web service data in web resources (OData and Modern app SOAP endpoint).

Data encryption

Field level data encryption provides higher security for sensitive data, for example passwords stored in an entity record of Microsoft Dynamics CRM. For more information, see Field-level data encryption.

Solution version compatibility changes

Starting with this release, solutions exported from a newer version of Microsoft Dynamics CRM can’t be installed into older versions. This includes major/minor version differences. For more information see Version compatibility.

Asynchronous solution import

The new ExecuteAsyncRequest message supports importing solutions, which is a long running operation, as an asynchronous process. This enables improved interactivity for users that are working in an organization during the same time that a solution is being imported. For more information see Execute messages in the background (asynchronously).

Quick start for developers

New documentation has been added that provides an easier and faster learning experience for developers or non-developers new to Microsoft Dynamics CRM technologies. For more information see Getting started with managed code application development.

Read-optimized forms removed

Read-optimized forms were a feature that allowed for forms that were optimized for consumption of data. For more information, see the Read-Optimized Forms topic in the Microsoft Dynamics CRM 2011 SDK.

Duplicate detection not supported during record create and update in forms

Duplicate detection during create and update using the new forms is not included for entities with the updated user interface. Duplicate detection of individual records won’t be supported for custom entities as well. However, to detect duplicates in bulk, you can use the BulkDetectDuplicatesRequest message and the RetrieveDuplicatesRequest message.

This functionality can be added by using client scripts and web resources. You can find an example showing how to do this in the following location in the SDK download: SampleCode\JS\DuplicateDetection. Download the Microsoft Dynamics CRM SDK package. 
More information: Detect duplicate data

Phone number formatting for String attributes

String attributes can be formatted to allow click-to-call using Lync or Skype. Adding this capability required the addition of a new FormatName property to the StringAttributeMetadata class and the addition of a StringFormatName class containing members to set valid values. For more information see StringAttributeMetadata formats.

New form programming methods and event

There are new form APIs included in this release. More information: New form programming methods and event.

AttributeMetadata.AttributeTypeName replaces AttributeMetadata.AttributeType

AttributeMetadata.AttributeType has been deprecated in favor of the new AttributeMetadata.AttributeTypeName property. This new property returns members from the AttributeTypeDisplayName class.

This change was necessary to support the new ImageAttributeMetadata class. The AttributeType value for this class will return AttributeTypeCode.Virtual because there is no value in the AttributeTypeCode enumeration to describe this type. Use AttributeMetadata.AttributeTypeName to retrieve values that correctly identify all types of attributes.

New messages

The following messages are new in this release.

Request class name

More information

AddUserToRecordTeamRequest

Add a user to the auto created access team for the specified record. For more information, see Use access teams and owner teams to collaborate and share information.

ConvertOwnerTeamToAccessTeamRequest

Convert a team of type owner to a team of type access. For more information, see Use access teams and owner teams to collaborate and share information.

ExecuteAsyncRequest

Execute a message asynchronously. Currently this only supports the ImportSolutionRequest message. For more information, see Execute messages in the background (asynchronously).

IsDataEncryptionActiveRequest

Checks if data encryption is currently running (active or inactive). For more information, see Field-level data encryption.

RemoveUserFromRecordTeamRequest

Remove a user from the auto created access team for the specified record. For more information, see Use access teams and owner teams to collaborate and share information.

RetrieveDataEncryptionKeyRequest

Retrieves the data encryption key value. For more information, see Field-level data encryption.

SetDataEncryptionKeyRequest

Sets or restores the data encryption key. For more information, see Field-level data encryption.

New entities

The following entities are new in this release.

Schema name

More information

AuthorizationServer

For internal use only.

BusinessProcessFlowInstance

For internal use only.

EmailServerProfile

Server-side synchronization entities

ExchangeSyncIdMapping

Server-side synchronization entities

ImageDescriptor

For internal use only.

Mailbox

Server-side synchronization entities

MultiEntitySearch

For internal use only.

MultiEntitySearchEntities

For internal use only.

PartnerApplication

For internal use only.

ProcessStage

For internal use only.

ProcessTrigger

ProcessTrigger entity messages and methods

SqlEncryptionAudit

For internal use only.

SystemApplicationMetadata

For internal use only.

TeamTemplate

Use access teams and owner teams to collaborate and share information

TraceAssociation

For internal use only.

TraceLog

For internal use only.

traceregarding

For internal use only.

UserApplicationMetadata

For internal use only.

New and updated 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.

Security role dialog tab

Name

Privilege name

More information

Core

Manage Data Encryption key - Activate

prvRestoreSqlEncryptionKey

Field-level data encryption

Core

Manage Data Encryption key - Change

prvChangeSqlEncryptionKey

Field-level data encryption

Core

Manage Data Encryption key - Read

prvReadSqlEncryptionKey

Field-level data encryption

Business Management

Email Server Profile

prv*EmailServerProfile 

EmailServerProfile entity messages and methods

Business Management

Mailbox

prv*Mailbox

Mailbox entity messages and methods

Business Management

CRM for phones

prvGoMobile

Business Management

Use CRM for tablets

prvUseTabletApp

Customization

Process Session

prv*WorkflowSession

Customization

System Application Metadata

prv*SystemApplicationMetadata

For internal use only. This entity is used in Microsoft Dynamics CRM for tablets and there is no developer scenario for using this entity.

Customization

User Application Metadata

prv*UserApplicationMetadata

For internal use only. This entity is used in Microsoft Dynamics CRM for tablets and there is no developer scenario for using this entity.

Customization

Activate Business Process Flows

prvActivateBusinessProcessFlow

Model business process flows

Customization

Active Business Rules

prvActivateBusinessRule

Customization

Activate Real-time Processes

prvActivateSynchronousWorkflow

Create real-time workflows

Customization

Configure Yammer

prvConfigureYammer

Connect to Yammer

The following privileges have been removed.

Security role dialog tab

Name

Privilege name

More information

Core records

Turn On Tracing

prvTurnDevErrorsOnOff

This privilege was for Microsoft support use only and is no longer available in the Security Role dialog box.

The following privileges have been renamed in the Security Role dialog box.

Security role dialog tab

New name

Old name

Privilege name

More information

Core records

CRM for phones

Go Mobile

prvGoMobile

Write mobile and modern apps

Process Session

Dialog Session

prv*WorkflowSession

Workflow process architecture

See Also

Developer overview
What is Microsoft Dynamics CRM 2013
Tutorials for learning about development for Microsoft Dynamics CRM 2013
Write workflows to automate business processes