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 |
---|---|
Adds the specified principal to the list of queue members. If the principal is a team, add each team member to the queue. |
|
Applies the active routing rule to an incident. |
|
Returns an existing social profile record if one exists, otherwise generates a new one and returns it. |
|
Assigns a queue item to a user and optionally remove the queue item from the queue. |
|
Assigns a queue item back to the queue owner so others can pick it. |
|
Removes a queue item from a queue. |
|
Renews an entitlement. |
|
Retrieves all private queues of a specified user and optionally all public queues. |
|
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 |
---|---|
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. |
|
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. |
|
Execute a message asynchronously. Currently this only supports the ImportSolutionRequest message. For more information, see Execute messages in the background (asynchronously). |
|
Checks if data encryption is currently running (active or inactive). For more information, see Field-level data encryption. |
|
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. |
|
Retrieves the data encryption key value. For more information, see Field-level data encryption. |
|
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 |
|
ExchangeSyncIdMapping |
|
ImageDescriptor |
For internal use only. |
Mailbox |
|
MultiEntitySearch |
For internal use only. |
MultiEntitySearchEntities |
For internal use only. |
PartnerApplication |
For internal use only. |
ProcessStage |
For internal use only. |
ProcessTrigger |
|
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 |
|
Core |
Manage Data Encryption key - Change |
prvChangeSqlEncryptionKey |
|
Core |
Manage Data Encryption key - Read |
prvReadSqlEncryptionKey |
|
Business Management |
Email Server Profile |
prv*EmailServerProfile |
|
Business Management |
Mailbox |
prv*Mailbox |
|
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 |
|
Customization |
Active Business Rules |
prvActivateBusinessRule |
|
Customization |
Activate Real-time Processes |
prvActivateSynchronousWorkflow |
|
Customization |
Configure Yammer |
prvConfigureYammer |
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 |
|
Process Session |
Dialog Session |
prv*WorkflowSession |
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