Below is a list of new things in CRM 2015 Update 1 for developers:
Perform specialized operations using Update
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 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.
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
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. Provided in this SDK release 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.
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: Execute an action using a 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. CRM uses NameId (PUID) to integrate with SharePoint Online and SMTP (email) to integrate with on-premises SharePoint. You can use the new UserMapping entity to define custom claim mappings to use a value other than the default value used by CRM to authenticate and authorize CRM users 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
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.
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 theQualifyLeadRequest 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
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 ApplyRecordCreationAndUpdateRuleRequestmessage.
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:: Create Microsoft Exchange folder-based mapping rules to track emails
Support for new behaviour 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, DateTimeAttributeMetadataDateTimeBehavior, to specify “Date Only” and “Time Zone Independent” values for an attribute of type DateTime. More information: DateTimeAttributeMetadata behavior and format
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 athttps://<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
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.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.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
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.
Source: MSDN, pre-release documentation, subject to change.
Hope it helps!