SlideShare a Scribd company logo
1 of 33
New Features
Microsoft Dynamics CRM - 2016
List of New Features
▪ Introducing theWeb API
▪ Organization data service (OData v2 REST endpoint) deprecated
▪ CORS Support added (Cross Origin Resource Sharing)
▪ Form script support for keypress events and auto-completion feature
▪ CRM for phones and tablets enhancements
▪ Knowledge management enhancements
▪ Solution enhancements
▪ Service Level Agreement enhancements
▪ Upload and manage document templates
▪ XRMTooling controls now support OAuth authentication and connection strings
▪ New entities in CRM 2016
▪ New messages inCRM 2016
▪ New privileges in CRM 2016
Introducing theWeb API
▪ The Web API makes it easier to create applications across a wide variety of platforms,
devices, and programming languages.
▪ TheWeb API will provide parity with the existing organization service (SOAP endpoint).
▪ You will be able to do anything using the Web API that you can do using the organization
service, with a few differences.
▪ You won’t have to download any Microsoft Dynamics CRM SDK assemblies. You can
perform all operations using HTTP requests with the Web API located at [organization
uri]/api/data/v8.0/.
▪ The Web API implements OData version 4.0, an open standard for data access. For the list
of third-party libraries that support OData, version 4.0,
▪ See http://www.odata.org/libraries/.
Authentication using theWeb API
▪ To manage authentication, you can use the Web API from inside the CRM web
application using JavaScript and HTML web resources without any code to
authenticate, just as you can today with the organization (SOAP) or organization data
service (Odata v2 REST) endpoints.
▪ When you use the Web API to access CRM Online or Internet-facing deployment (IFD)
web services from your own applications, you must first register your app with the
Active Directory for your organization.
▪ Then you can use the Azure Active Directory Authentication Library (ADAL) to manage
OAuth 2.0 authentication with the CRM web service identity provider.
▪ To access an on-premises CRM deployment from your own applications, you’d use
yourWindows network credentials to authenticate with the web services.
Organization data service (OData v2 Rest endpoint)
deprecated
▪ The new Web API provides better capabilities over the organization data service
introduced with Microsoft Dynamics CRM 2011.
▪ We recommend any new code for this version use the Web API instead of the
organization data service, so we’re deprecating the organization data service with this
release.
▪ The organization data service, also known as the REST endpoint or the OData
endpoint, will remain in the application for the foreseeable future to support backward
capability.
▪ For information about using this deprecated endpoint, see the Microsoft Dynamics
CRM 2015 SDK: Use the OData endpoint with web resources.CORS support added
Cross Origin Resource Sharing Supported Added(CORS)
▪ The Web API supports client-side cross-origin web resource requests when called using
OAuth token authentication.
▪ This is accomplished by using a compatible implementation of cross-origin resource
sharing (CORS). This Web API capability safely works around browser restrictions
imposed to prevent cross-site scripting security issues.
Use OAuth with Cross Origin Resource Sharing to connect
Single Page Application with Microsoft Dynamics CRM
▪ With Microsoft Dynamics CRM (Online & On-premises) with Internet-facing
deployment (IFD) you can create a Single Page Apps (SPAs) which uses JavaScript to
work with Microsoft Dynamics CRM data.
▪ To provide this, Cross-Origin Resource Sharing (CORS) is enabled so that your SPAs
can bypass browser restrictions that normally prevent requests that cross domain
boundaries.
CORS support is only provided when using the Web API. You cannot use
the organization service or the deprecated organization data service.
▪ SPAs and Same-Origin policy
▪ Use CORS with MicrosoftCRM Online
▪ How adal.js works
▪ Preparing to use ADAL.js with a SPA
SPAs and Same-Origin policy
• SPAs depend on extensive use of client-side JavaScript to create a single dynamic page
which doesn't need to load new pages.
• Instead they use XMLHTTPRequests to retrieve data and other resources from the server.
• SPAs work well when the data and resources exist in the same domain as the application.
• But to protect access to data and resources on other domains, all modern browsers enforce
a Same-Origin policy to prevent sites from using data and resources from sites on a
different domain.
• CORS provides a way to gain access to resources on another domain.
• Creating a SPA to access Microsoft Dynamics CRM data without CORS is not a viable
option.
Use CORS with Microsoft CRM Online
• The Cross-Origin Resource Sharing specification provides a detailed description of how to
implement and use CORS.
• It explains all about the various headers and pre-flight requests that you need to apply to make
CORS work.
• The good news is that you don't need to become an expert in CORS to use it with Microsoft
Dynamics CRM.The server-side part has been done for you and all you need is to know how to
consume it.
• You don't need to understand all the inner workings of CORS to use it with Microsoft Dynamics
CRM.
• Instead you can use the Azure Active DirectoryAuthentication Library for JavaScript (adal.js) and
it will take care of much of the CORS complexity for you
.
• Since CRM Online and Internet-facing deployment (IFD) users are authenticated using Azure
Active Directory, ADAL.js is the supported way to authenticate SPA users.
How adal.js works
▪ The core library is adal.js.You can access the minimized version
of this library at https://secure.aadcdn.microsoftonline-
p.com/lib/1.0.0/js/adal.min.js.The GitHub project and
documentation is at https://github.com/AzureAD/azure-
activedirectory-library-for-js.
▪ The adal.js library contains the low-level capabilities to
authenticate using OAuth2. Adal.js is designed so that it can be
used with other frameworks, for example there is an adal-
angular.js library that is designed to be used with the Angular
framework.
▪ The way you work with this library is to set certain configuration
properties and then it will wait until events occur that trigger the
interaction flow.This could be simply calling the login function or
if your application has routing behaviours, the authentication
can be initiated by how the controller for that route is
configured.
The core library is adal.js.
In order to configure your SPA to work with adal.js you will need to :
1. Register your application with the Azure Active Directory tenant
2. Export your registered application manifest and edit it to allowOAuth2 Implicit Flow, and
then import the JSON file back to your application registration.
3. Set configuration variables in your SPA with information from that registration.
You will need to include the following:
▪ The URL to your Microsoft Dynamics CRM organization
▪ The name of the Active Directory tenant your organization uses to authenticate
▪ The client ID you get when you register your application
▪ The URL to where the SPA will be deployed or debugged during development.
Preparing to use ADAL.js with a SPA
Form script support for keypress events and auto-
completion feature
Methods
1. getValue Method
2. Keypress Event Method
addOnKeyPress()
removeOnKeyPress()
fireOnKeyPress()
3. Auto-completion Method
Method – getValue
This method was previously available only for attribute collection and using it we could
get field value after the field was updated and while the cursor was unfocused from that
field. Now, we can capture value of field as early as when users start entering value in
field.
We can use this method as shown below:
Xrm.Page.getControl(field name).getValue();
Where we want the user to enter value as per our specific pattern or regular expression, we
can use code mentioned below:
function OnfieldKeyPress() {
var fieldValue = Xrm.Page.getControl(“field name
here”).getValue().toString().replace(/[^0-9]/g, “”);
Xrm.Page.getAttribute(“field name here”).setValue(fieldValue);
}
This method will work only if we call this on a Keypress event. So let’s first understand how
to call a function on Keypress event for a text field.
Event -Keypress
1. addOnKeyPress()
This is used to attach a function with a Keypress event:
Xrm.Page.getControl (fieldname).addOnKeyPress(function name);
If we add this statement in function which is called at the loading of the form, then
OnFieldKeyPress function will be attached with Keypress event of field.
The following three Keypress methods are added for 2016 version:
▪ removeOnKeyPress()
This is used to remove/detach a function that is attached with a Keypress event:
Xrm.Page.getControl(fieldname).removeOnKeyPress(function name);
▪ fireOnKeyPress()
This is used to call Keypress event handler for text or a number field.
Xrm.Page.getControl(field name).fireOnKeyPress();
So addOnKeyPress and removeOnKeyPress basically attach or delete already attached
function with Keypress event while fireOnKeyPress enables Keypress event for text or
number fields.
Knowledge management edit and search
enhancements
▪ The CRM Service module gets a boost in this release with the addition of powerful
knowledge management capabilities. In addition to rich text, the new
KnowledgeArticle entity supports multimedia data like pictures and videos.
▪ Articles have a lifecycle where they proceed through a publishing workflow.
▪ Discover the answers to your questions using full text searches of knowledge base
records for topics and products using the FullTextSearchKnowledgeArticleRequest
message.
▪ This message provides systematic access to a keyword based search index of the
article content. Use this message to access that search content and provide search
results to customers and partners.
▪ To support the knowledge management capability, new privileges named Publish
Knowledge Articles and Approve Knowledge Articles were added.
▪ The Customer Service Representative and Customer Service Manager roles have these
privileges, and a new Knowledge Manager role has been added.
▪ For the CRM web client, the client-side form programming API has been updated to
include additional properties in the object returned from the getSelectedResult function
call.
▪ All other client APIs and events, which were supported by the knowledge base search
control in the Microsoft Dynamics CRM 2015 release, continue to be supported.
▪ For the new interactive service hub client, only the getSearchQuery and setSearchQuery
methods are supported for the knowledge base search control.
▪ For more information about the client-sideAPIs supported by knowledge base search
control, see Knowledge base search control (client-side reference). For more information
about knowledge management, see Knowledge management entities.
Knowledge base search control (client-side reference)
You can add a knowledge base search control to entity forms in your CRM instance that has the
knowledge management feature enabled. With this control, you can programmatically automate or
enhance users’ search experiences when they use the control.
The knowledge base search control is an Xrm.Page.ui control, so it supports all the standard
methods that controls have. But it also supports additional events and methods.
For information about the standard control methods, see Xrm.Page.ui control (client-side
reference).
The interactive service hub application, introduced in Microsoft Dynamics
CRM 2016, supports only the getSearchQuery and setSearchQuery
methods for the knowledge base search control, along with all the
standard methods that controls have.
▪ If you know the name of the control, you can access it using the following code where <name>
represents the name of the control.
Javascript
kbSearchControl = Xrm.Page.getControl("<name>");
When the knowledge base search control is added to the social pane the name will be
"searchwidgetcontrol_notescontrol".This name can’t be changed.
All of the examples in this topic will use kbSearchControl to represent the knowledge base search control
in the form.
Knowledge base search control events
Use the events for this control to allow code to respond to the selected or opened item.
▪ OnResultOpened
This event occurs when a KB article is opened in the knowledge base search control in
line or through the pop-out action. Use the addOnResultOpened and
removeOnResultOpened methods to manage event handlers for this event.
▪ OnSelection
This event occurs when a KB article is selected in the knowledge base search control. Use
the addOnSelection and removeOnSelection methods to manage event handlers for this
event.
Knowledge base search control methods
Use the methods for the knowledge base search control to set or remove event handlers and
interact with the search query and search results.
• addOnResultOpened
Use this method to add an event handler to the OnResultOpened event.
Parameter: Function.The function to add.
Example:Add the function named myFunction to the OnResultOpened event.
kbSearchControl.addOnResultOpened(myFunction);
• addOnSelection
Use this method to add an event handler to the OnSelection event.
Parameter: Function.The function to add.
Example:Add the function named myFunction to the OnSelection event.
kbSearchControl.addOnSelection(myFunction);
• getSearchQuery
Use this method to get the text used as the search criteria for the knowledge base
management control.
ReturnValue: String.The text of the search query.
Example: Set the variable searchQuery to the text of the search query.
var searchQuery = kbSearchControl.getSearchQuery();
• getSelectedResult
Use this method to get the currently selected result of the search control.The currently selected
result also represents the result that is currently open.
ReturnValue: KBSearchResult.The currently selected result.
Example: Set the variable kbSearchResult to the currently selected result.
var kbSearchResult = kbSearchControl.getSelectedResult();
Solution enhancements
▪ Previously, when an entity was added to a solution and that solution was exported, the
entity and all of its assets were exported in that solution.This included attributes,
forms, views, relationships, visualizations, and any other assets packaged with the
entity. All objects were exported regardless of whether the developer actually wanted
to ship the object.This process potentially carried dependencies or modified
unintended objects on the target deployment.
▪ Now, a developer or other application customizer can create and publish solution
patches that contain subcomponents of entities, as compared to publishing the entire
entity and all of its assets.The original solution and multiple released patches can be
rolled-up at a later time into an updated version of the original solution, which then
can replace the original solution.
▪ More information: https://msdn.microsoft.com/en-us/library/mt593040.aspx
Service level agreement enhancements
▪ Manually apply SLAs to incidents (cases): You can now manually apply an SLA to a case by
updating the case record, and specifying an active SLA in the new attribute,
Incident.ManualSLA, for the case record.
▪ Programmatically activate or deactivate SLAs: You can now use the UpdateRequest message
to activate or deactivate an SLA record. You must activate an SLA record after creating it for the
SLA record to be applied to cases. You typically deactivate SLAs during maintenance activities
or when you're importing cases and you don't want the SLAs to apply to the cases.
Service level agreements (SLAs) in CRM have been enhanced in the current release.
You can also use the UpdateRequest message to activate and deactivate
automatic record creation and update rules (ConvertRule) and routing rule sets
(RoutingRule).This wasn’t possible in the earlier versions.
Upload and manage document templates
▪ You can now create document templates for Microsoft Excel or MicrosoftWord to have
a standardized representation of your CRM data.These templates can be used by your
team members to generate Excel orWord documents with up-to-date CRM data for
analysis and reporting purposes. Use the SDK to programmatically upload and manage
document templates.
▪ More information: https://msdn.microsoft.com/en-us/library/mt607957.aspx
XRMTooling controls now support OAuth authentication and connection
strings
• Microsoft.Xrm.Tooling.Connector is the primary interface to CRM for all tooling and Unified
Service Desk operations.
• It is also provided as part of the Microsoft Dynamics CRM SDK to developers who want to build
CRM connectedWindows applications.
▪ Developers can use this updated API to allow the OAuth 2 protocol to be used to
authenticate with CRM web services. Adding OAuth enables multi-factor authentication
for improved security and access to CRM.
▪ XRM tooling now also supports connection strings, which allow for the use of SQL-like
connection strings in the CrmServiceClient class.
More Information : https://msdn.microsoft.com/en-in/library/dn689057.aspx
New entities in
CRM 2016
The following table lists new
entities included in this release.
Schema name Display name Description
KnowledgeArticle Knowledge Article Describes articles that are
organizational knowledge for
internal and external use.
KnowledgeArticleInci
dent
Knowledge Article
Incident
Contains the associations
between a knowledge article
and incident.
KnowledgeArticleVie
ws
Knowledge Article
Views
Tracks the number of times an
article is viewed per day.
LanguageLocale Language Contains information about the
supported languages for
translating a knowledge article.
New messages in
CRM 2016
CloneAsPatchReques CloneAsPatch Action Creates a solution patch from a
managed or unmanaged solution.
CloneAsSolutionRequest CloneAsSolution Action Creates a new copy of an
unmanaged solution that contains
the original solution plus all of its
patches.
CreateKnowledgeArticleTranslation
Request
CreateKnowledgeArticleTranslation
Action
Creates a translation of a
knowledge article record.
CreateKnowledgeArticleVersionReq
uest
CreateKnowledgeArticleVersion
Action
Creates a major or minor version of
a knowledge article record.
DeleteAndPromoteRequest DeleteAndPromoteAction Replaces a managed solution plus
all of its patches.
FullTextSearchKnowledgeArticleRe
quest
N/A Performs a full-text search on
knowledge articles in CRM using the
specified search text.
IncrementKnowledgeArticleViewCo
untRequest
N/A Increments the per day view count
of a knowledge article record.
SetProcessRequest SetProcess Action Sets the process that associates
with a given target entity.
UpdateSolutionComponentRequest UpdateSolutionComponentAction Updates a component in an
unmanaged solution.
The following table lists new
messages included in this release.
New privileges
in CRM 2016
Privilege name Name displayed in the security role UI
prv*AzureServiceConnection Azure Service Connection
prv*DataPerformance Data Performance Dashboard
prv*LanguageLocale Language
prv*MobileOfflineProfile Mobile Offline Profile
prv*RecommendationModel Product Recommendation Model
prv*SimilarityRule Similarity Rule
prvConfigureSharePoint Run SharePoint Integration Wizard
prv*KnowledgeArticle Knowledge Article
prv*KnowledgeArticleViews Knowledge Article Views
prvApproveKnowledgeArticle Approve Knowledge Articles
prvPublishKnowledgeArticle Publish Knowledge Articles
prv*DocumentTemplate Document Template
prv*PersonalDocumentTemplate Personal Document Template
prvDocumentGeneration Document Generation
prv*KnowledgeSearchModel Knowledge Search Model
prv*TopicModel Topic Model
prv*CustomControl Custom Control
prv*CustomControlDefaultConfig Custom Control Default Config
The following privileges are new or
changed in this release. For an
overall view of how the security role
editor maps to privilege names in
this SDK,
K.Naveen Kumar
Microsoft Dynamics CRMTechnical
Consultant

More Related Content

What's hot

Salesforce.com overview (1)
Salesforce.com   overview (1)Salesforce.com   overview (1)
Salesforce.com overview (1)Luan Minh
 
What Is Salesforce CRM, Editions, Licenses?
What Is Salesforce CRM, Editions, Licenses?What Is Salesforce CRM, Editions, Licenses?
What Is Salesforce CRM, Editions, Licenses?Thinqloud
 
Microsoft Dynamics CRM 2015 Spring Release - UR1
Microsoft Dynamics CRM 2015 Spring Release - UR1Microsoft Dynamics CRM 2015 Spring Release - UR1
Microsoft Dynamics CRM 2015 Spring Release - UR1C5 Insight
 
Ivan Gubynskyy Salesforce CRM and Platform Overview
Ivan Gubynskyy Salesforce CRM and Platform OverviewIvan Gubynskyy Salesforce CRM and Platform Overview
Ivan Gubynskyy Salesforce CRM and Platform OverviewLogeekNightUkraine
 
Microsoft Dynamic CRM
Microsoft Dynamic CRMMicrosoft Dynamic CRM
Microsoft Dynamic CRMmmmmmm_mala
 
Salesforce and Dynamics 365 seeLogic april 2017
Salesforce and Dynamics 365 seeLogic april 2017Salesforce and Dynamics 365 seeLogic april 2017
Salesforce and Dynamics 365 seeLogic april 2017SeeLogic LTD
 
Salesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSalesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSujesh Ramachandran
 
Sugar Crm Marketing Industries Presentation 2 Sales Force Automation
Sugar Crm Marketing Industries Presentation   2 Sales Force AutomationSugar Crm Marketing Industries Presentation   2 Sales Force Automation
Sugar Crm Marketing Industries Presentation 2 Sales Force AutomationThe Information Lab Netherlands
 
Salesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningSalesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningsuresh
 
Top 10 Salesforce Summer ‘21 Features
Top 10 Salesforce Summer ‘21 FeaturesTop 10 Salesforce Summer ‘21 Features
Top 10 Salesforce Summer ‘21 FeaturesDocmation
 
Implementing salesforce for B2C - Salesforce #DUG
Implementing salesforce for B2C - Salesforce #DUGImplementing salesforce for B2C - Salesforce #DUG
Implementing salesforce for B2C - Salesforce #DUGFabrice Cathala
 
C360 Product Webinar
C360 Product WebinarC360 Product Webinar
C360 Product WebinarArvind Raman
 
Introduction to Salesforce CRM Reporting
Introduction to Salesforce CRM ReportingIntroduction to Salesforce CRM Reporting
Introduction to Salesforce CRM ReportingMichael Olschimke
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platformJohn Stevenson
 

What's hot (20)

Salesforce.com overview (1)
Salesforce.com   overview (1)Salesforce.com   overview (1)
Salesforce.com overview (1)
 
Salesforce
SalesforceSalesforce
Salesforce
 
What Is Salesforce CRM, Editions, Licenses?
What Is Salesforce CRM, Editions, Licenses?What Is Salesforce CRM, Editions, Licenses?
What Is Salesforce CRM, Editions, Licenses?
 
Microsoft Dynamics CRM 2015 Spring Release - UR1
Microsoft Dynamics CRM 2015 Spring Release - UR1Microsoft Dynamics CRM 2015 Spring Release - UR1
Microsoft Dynamics CRM 2015 Spring Release - UR1
 
Ivan Gubynskyy Salesforce CRM and Platform Overview
Ivan Gubynskyy Salesforce CRM and Platform OverviewIvan Gubynskyy Salesforce CRM and Platform Overview
Ivan Gubynskyy Salesforce CRM and Platform Overview
 
Salesforce 101
Salesforce 101Salesforce 101
Salesforce 101
 
Microsoft Dynamic CRM
Microsoft Dynamic CRMMicrosoft Dynamic CRM
Microsoft Dynamic CRM
 
Salesforce and Dynamics 365 seeLogic april 2017
Salesforce and Dynamics 365 seeLogic april 2017Salesforce and Dynamics 365 seeLogic april 2017
Salesforce and Dynamics 365 seeLogic april 2017
 
Microsoft Dynamics Erp
Microsoft Dynamics ErpMicrosoft Dynamics Erp
Microsoft Dynamics Erp
 
Salesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSalesforce Overview For Beginners/Students
Salesforce Overview For Beginners/Students
 
Sugar Crm Marketing Industries Presentation 2 Sales Force Automation
Sugar Crm Marketing Industries Presentation   2 Sales Force AutomationSugar Crm Marketing Industries Presentation   2 Sales Force Automation
Sugar Crm Marketing Industries Presentation 2 Sales Force Automation
 
Microsoft Dynamics 365 for customer services
Microsoft Dynamics 365 for customer servicesMicrosoft Dynamics 365 for customer services
Microsoft Dynamics 365 for customer services
 
Salesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightningSalesforce online training || Salesforce Integration | salesforce lightning
Salesforce online training || Salesforce Integration | salesforce lightning
 
Why Salesforce is the best CRM
Why Salesforce is the best CRMWhy Salesforce is the best CRM
Why Salesforce is the best CRM
 
Top 10 Salesforce Summer ‘21 Features
Top 10 Salesforce Summer ‘21 FeaturesTop 10 Salesforce Summer ‘21 Features
Top 10 Salesforce Summer ‘21 Features
 
Implementing salesforce for B2C - Salesforce #DUG
Implementing salesforce for B2C - Salesforce #DUGImplementing salesforce for B2C - Salesforce #DUG
Implementing salesforce for B2C - Salesforce #DUG
 
C360 Product Webinar
C360 Product WebinarC360 Product Webinar
C360 Product Webinar
 
Introduction to Salesforce CRM Reporting
Introduction to Salesforce CRM ReportingIntroduction to Salesforce CRM Reporting
Introduction to Salesforce CRM Reporting
 
Introducing the Salesforce platform
Introducing the Salesforce platformIntroducing the Salesforce platform
Introducing the Salesforce platform
 
Salesforce vs SugarCRM
Salesforce vs SugarCRMSalesforce vs SugarCRM
Salesforce vs SugarCRM
 

Similar to New Feature in CRM 2016

Architecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzureArchitecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzurePedro Azevedo
 
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018Amazon Web Services
 
WebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David TangWebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David TangSpiffy
 
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Amazon Web Services
 
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Amazon Web Services
 
webservices using salesforce
webservices using salesforcewebservices using salesforce
webservices using salesforcePraneethchampion
 
WebServices using salesforce
WebServices using salesforceWebServices using salesforce
WebServices using salesforceRajkattamuri
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsShailen Sukul
 
WebServices Using Salesforce
WebServices Using SalesforceWebServices Using Salesforce
WebServices Using SalesforceAbdulImrankhan7
 
Análisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la informaciónAnálisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la informaciónPlain Concepts
 
Application and database migration workshop
Application and database migration workshopApplication and database migration workshop
Application and database migration workshopReham Maher El-Safarini
 
Why Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API IntegrationWhy Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API IntegrationNordic APIs
 
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...Amazon Web Services
 
Migrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an ExpertMigrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an ExpertInjae Kwak
 
Migrazione di Database e Data Warehouse su AWS
Migrazione di Database e Data Warehouse su AWSMigrazione di Database e Data Warehouse su AWS
Migrazione di Database e Data Warehouse su AWSAmazon Web Services
 
Resume new it_format
Resume new it_formatResume new it_format
Resume new it_formatRajiv Saini
 
Rits Brown Bag - Extending and Integrating in Microsoft Dynamics CRM
Rits Brown Bag - Extending and Integrating in Microsoft Dynamics CRMRits Brown Bag - Extending and Integrating in Microsoft Dynamics CRM
Rits Brown Bag - Extending and Integrating in Microsoft Dynamics CRMRight IT Services
 

Similar to New Feature in CRM 2016 (20)

Architecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and AzureArchitecture of Dynamics CRM with Office 365 and Azure
Architecture of Dynamics CRM with Office 365 and Azure
 
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018
Migrating Microsoft Applications to AWS like an Expert - AWS Summit Sydney 2018
 
WebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David TangWebFest 2011 Hosting Applications CR by David Tang
WebFest 2011 Hosting Applications CR by David Tang
 
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
 
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
 
Job center
Job centerJob center
Job center
 
webservices using salesforce
webservices using salesforcewebservices using salesforce
webservices using salesforce
 
WebServices using salesforce
WebServices using salesforceWebServices using salesforce
WebServices using salesforce
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
WebServices Using Salesforce
WebServices Using SalesforceWebServices Using Salesforce
WebServices Using Salesforce
 
Análisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la informaciónAnálisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la información
 
Application and database migration workshop
Application and database migration workshopApplication and database migration workshop
Application and database migration workshop
 
Why Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API IntegrationWhy Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API Integration
 
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...
Migrate Microsoft Applications to AWS like an Expert (WIN301) - AWS re:Invent...
 
Migrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an ExpertMigrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an Expert
 
Migrazione di Database e Data Warehouse su AWS
Migrazione di Database e Data Warehouse su AWSMigrazione di Database e Data Warehouse su AWS
Migrazione di Database e Data Warehouse su AWS
 
Resume new it_format
Resume new it_formatResume new it_format
Resume new it_format
 
Cloud computing03
Cloud computing03Cloud computing03
Cloud computing03
 
M365 Teams Automation
M365 Teams AutomationM365 Teams Automation
M365 Teams Automation
 
Rits Brown Bag - Extending and Integrating in Microsoft Dynamics CRM
Rits Brown Bag - Extending and Integrating in Microsoft Dynamics CRMRits Brown Bag - Extending and Integrating in Microsoft Dynamics CRM
Rits Brown Bag - Extending and Integrating in Microsoft Dynamics CRM
 

More from Naveen Kumar

Microsoft SQL Server 2016
Microsoft SQL Server 2016 Microsoft SQL Server 2016
Microsoft SQL Server 2016 Naveen Kumar
 
Service Analysis - Microsoft Dynamics CRM 2016 Customer Service
Service Analysis - Microsoft Dynamics CRM 2016 Customer ServiceService Analysis - Microsoft Dynamics CRM 2016 Customer Service
Service Analysis - Microsoft Dynamics CRM 2016 Customer ServiceNaveen Kumar
 
Email Router Configuration - Gmail and microsoft dynamics crm 2016 online int...
Email Router Configuration - Gmail and microsoft dynamics crm 2016 online int...Email Router Configuration - Gmail and microsoft dynamics crm 2016 online int...
Email Router Configuration - Gmail and microsoft dynamics crm 2016 online int...Naveen Kumar
 
Microsoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureMicrosoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureNaveen Kumar
 
Marketing Automation - Part 3
Marketing Automation - Part 3Marketing Automation - Part 3
Marketing Automation - Part 3Naveen Kumar
 
Marketing Automation - Part 2
Marketing Automation - Part 2Marketing Automation - Part 2
Marketing Automation - Part 2Naveen Kumar
 
Marketing Automation - Part 1
Marketing Automation - Part 1Marketing Automation - Part 1
Marketing Automation - Part 1Naveen Kumar
 
Sales force automation - Part 4
Sales force automation - Part 4Sales force automation - Part 4
Sales force automation - Part 4Naveen Kumar
 
Sales force automation - Part 3
Sales force automation - Part 3Sales force automation - Part 3
Sales force automation - Part 3Naveen Kumar
 
Sales force automation - Part 2
Sales force automation  - Part 2 Sales force automation  - Part 2
Sales force automation - Part 2 Naveen Kumar
 
Business process flows presentation
Business process flows presentationBusiness process flows presentation
Business process flows presentationNaveen Kumar
 
Part 3 - DNS Configuration (IFD)
Part 3 - DNS Configuration (IFD)Part 3 - DNS Configuration (IFD)
Part 3 - DNS Configuration (IFD)Naveen Kumar
 
Part 2 - Setup ADFS (Active Directory Federation Service)
Part 2 - Setup ADFS (Active Directory Federation Service)Part 2 - Setup ADFS (Active Directory Federation Service)
Part 2 - Setup ADFS (Active Directory Federation Service)Naveen Kumar
 
Part 1 - Binding Certificates (IFD)
 Part 1 - Binding Certificates (IFD) Part 1 - Binding Certificates (IFD)
Part 1 - Binding Certificates (IFD)Naveen Kumar
 
Unified Service Desk - Part 3
Unified Service Desk  - Part 3Unified Service Desk  - Part 3
Unified Service Desk - Part 3Naveen Kumar
 
Unified service desk - Part 1
Unified service desk - Part 1Unified service desk - Part 1
Unified service desk - Part 1Naveen Kumar
 
Customizing document templates
Customizing document templates Customizing document templates
Customizing document templates Naveen Kumar
 
New client side features - Microsoft Dynamics CRM 2016
New client side features - Microsoft Dynamics CRM 2016New client side features - Microsoft Dynamics CRM 2016
New client side features - Microsoft Dynamics CRM 2016Naveen Kumar
 
Microsoft dynamics crm 2011 installation
Microsoft dynamics crm 2011 installation Microsoft dynamics crm 2011 installation
Microsoft dynamics crm 2011 installation Naveen Kumar
 
Business rulers in Microsoft Dynamics CRM 2013
Business rulers in Microsoft Dynamics CRM 2013Business rulers in Microsoft Dynamics CRM 2013
Business rulers in Microsoft Dynamics CRM 2013Naveen Kumar
 

More from Naveen Kumar (20)

Microsoft SQL Server 2016
Microsoft SQL Server 2016 Microsoft SQL Server 2016
Microsoft SQL Server 2016
 
Service Analysis - Microsoft Dynamics CRM 2016 Customer Service
Service Analysis - Microsoft Dynamics CRM 2016 Customer ServiceService Analysis - Microsoft Dynamics CRM 2016 Customer Service
Service Analysis - Microsoft Dynamics CRM 2016 Customer Service
 
Email Router Configuration - Gmail and microsoft dynamics crm 2016 online int...
Email Router Configuration - Gmail and microsoft dynamics crm 2016 online int...Email Router Configuration - Gmail and microsoft dynamics crm 2016 online int...
Email Router Configuration - Gmail and microsoft dynamics crm 2016 online int...
 
Microsoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier ArchitectureMicrosoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics CRM Multi - Tier Architecture
 
Marketing Automation - Part 3
Marketing Automation - Part 3Marketing Automation - Part 3
Marketing Automation - Part 3
 
Marketing Automation - Part 2
Marketing Automation - Part 2Marketing Automation - Part 2
Marketing Automation - Part 2
 
Marketing Automation - Part 1
Marketing Automation - Part 1Marketing Automation - Part 1
Marketing Automation - Part 1
 
Sales force automation - Part 4
Sales force automation - Part 4Sales force automation - Part 4
Sales force automation - Part 4
 
Sales force automation - Part 3
Sales force automation - Part 3Sales force automation - Part 3
Sales force automation - Part 3
 
Sales force automation - Part 2
Sales force automation  - Part 2 Sales force automation  - Part 2
Sales force automation - Part 2
 
Business process flows presentation
Business process flows presentationBusiness process flows presentation
Business process flows presentation
 
Part 3 - DNS Configuration (IFD)
Part 3 - DNS Configuration (IFD)Part 3 - DNS Configuration (IFD)
Part 3 - DNS Configuration (IFD)
 
Part 2 - Setup ADFS (Active Directory Federation Service)
Part 2 - Setup ADFS (Active Directory Federation Service)Part 2 - Setup ADFS (Active Directory Federation Service)
Part 2 - Setup ADFS (Active Directory Federation Service)
 
Part 1 - Binding Certificates (IFD)
 Part 1 - Binding Certificates (IFD) Part 1 - Binding Certificates (IFD)
Part 1 - Binding Certificates (IFD)
 
Unified Service Desk - Part 3
Unified Service Desk  - Part 3Unified Service Desk  - Part 3
Unified Service Desk - Part 3
 
Unified service desk - Part 1
Unified service desk - Part 1Unified service desk - Part 1
Unified service desk - Part 1
 
Customizing document templates
Customizing document templates Customizing document templates
Customizing document templates
 
New client side features - Microsoft Dynamics CRM 2016
New client side features - Microsoft Dynamics CRM 2016New client side features - Microsoft Dynamics CRM 2016
New client side features - Microsoft Dynamics CRM 2016
 
Microsoft dynamics crm 2011 installation
Microsoft dynamics crm 2011 installation Microsoft dynamics crm 2011 installation
Microsoft dynamics crm 2011 installation
 
Business rulers in Microsoft Dynamics CRM 2013
Business rulers in Microsoft Dynamics CRM 2013Business rulers in Microsoft Dynamics CRM 2013
Business rulers in Microsoft Dynamics CRM 2013
 

Recently uploaded

fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 

Recently uploaded (20)

fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 

New Feature in CRM 2016

  • 2. List of New Features ▪ Introducing theWeb API ▪ Organization data service (OData v2 REST endpoint) deprecated ▪ CORS Support added (Cross Origin Resource Sharing) ▪ Form script support for keypress events and auto-completion feature ▪ CRM for phones and tablets enhancements ▪ Knowledge management enhancements ▪ Solution enhancements
  • 3. ▪ Service Level Agreement enhancements ▪ Upload and manage document templates ▪ XRMTooling controls now support OAuth authentication and connection strings ▪ New entities in CRM 2016 ▪ New messages inCRM 2016 ▪ New privileges in CRM 2016
  • 4. Introducing theWeb API ▪ The Web API makes it easier to create applications across a wide variety of platforms, devices, and programming languages. ▪ TheWeb API will provide parity with the existing organization service (SOAP endpoint). ▪ You will be able to do anything using the Web API that you can do using the organization service, with a few differences. ▪ You won’t have to download any Microsoft Dynamics CRM SDK assemblies. You can perform all operations using HTTP requests with the Web API located at [organization uri]/api/data/v8.0/. ▪ The Web API implements OData version 4.0, an open standard for data access. For the list of third-party libraries that support OData, version 4.0, ▪ See http://www.odata.org/libraries/.
  • 5. Authentication using theWeb API ▪ To manage authentication, you can use the Web API from inside the CRM web application using JavaScript and HTML web resources without any code to authenticate, just as you can today with the organization (SOAP) or organization data service (Odata v2 REST) endpoints. ▪ When you use the Web API to access CRM Online or Internet-facing deployment (IFD) web services from your own applications, you must first register your app with the Active Directory for your organization. ▪ Then you can use the Azure Active Directory Authentication Library (ADAL) to manage OAuth 2.0 authentication with the CRM web service identity provider. ▪ To access an on-premises CRM deployment from your own applications, you’d use yourWindows network credentials to authenticate with the web services.
  • 6. Organization data service (OData v2 Rest endpoint) deprecated ▪ The new Web API provides better capabilities over the organization data service introduced with Microsoft Dynamics CRM 2011. ▪ We recommend any new code for this version use the Web API instead of the organization data service, so we’re deprecating the organization data service with this release. ▪ The organization data service, also known as the REST endpoint or the OData endpoint, will remain in the application for the foreseeable future to support backward capability. ▪ For information about using this deprecated endpoint, see the Microsoft Dynamics CRM 2015 SDK: Use the OData endpoint with web resources.CORS support added
  • 7. Cross Origin Resource Sharing Supported Added(CORS) ▪ The Web API supports client-side cross-origin web resource requests when called using OAuth token authentication. ▪ This is accomplished by using a compatible implementation of cross-origin resource sharing (CORS). This Web API capability safely works around browser restrictions imposed to prevent cross-site scripting security issues.
  • 8. Use OAuth with Cross Origin Resource Sharing to connect Single Page Application with Microsoft Dynamics CRM ▪ With Microsoft Dynamics CRM (Online & On-premises) with Internet-facing deployment (IFD) you can create a Single Page Apps (SPAs) which uses JavaScript to work with Microsoft Dynamics CRM data. ▪ To provide this, Cross-Origin Resource Sharing (CORS) is enabled so that your SPAs can bypass browser restrictions that normally prevent requests that cross domain boundaries. CORS support is only provided when using the Web API. You cannot use the organization service or the deprecated organization data service.
  • 9. ▪ SPAs and Same-Origin policy ▪ Use CORS with MicrosoftCRM Online ▪ How adal.js works ▪ Preparing to use ADAL.js with a SPA
  • 10. SPAs and Same-Origin policy • SPAs depend on extensive use of client-side JavaScript to create a single dynamic page which doesn't need to load new pages. • Instead they use XMLHTTPRequests to retrieve data and other resources from the server. • SPAs work well when the data and resources exist in the same domain as the application. • But to protect access to data and resources on other domains, all modern browsers enforce a Same-Origin policy to prevent sites from using data and resources from sites on a different domain. • CORS provides a way to gain access to resources on another domain. • Creating a SPA to access Microsoft Dynamics CRM data without CORS is not a viable option.
  • 11. Use CORS with Microsoft CRM Online • The Cross-Origin Resource Sharing specification provides a detailed description of how to implement and use CORS. • It explains all about the various headers and pre-flight requests that you need to apply to make CORS work. • The good news is that you don't need to become an expert in CORS to use it with Microsoft Dynamics CRM.The server-side part has been done for you and all you need is to know how to consume it. • You don't need to understand all the inner workings of CORS to use it with Microsoft Dynamics CRM. • Instead you can use the Azure Active DirectoryAuthentication Library for JavaScript (adal.js) and it will take care of much of the CORS complexity for you . • Since CRM Online and Internet-facing deployment (IFD) users are authenticated using Azure Active Directory, ADAL.js is the supported way to authenticate SPA users.
  • 12. How adal.js works ▪ The core library is adal.js.You can access the minimized version of this library at https://secure.aadcdn.microsoftonline- p.com/lib/1.0.0/js/adal.min.js.The GitHub project and documentation is at https://github.com/AzureAD/azure- activedirectory-library-for-js. ▪ The adal.js library contains the low-level capabilities to authenticate using OAuth2. Adal.js is designed so that it can be used with other frameworks, for example there is an adal- angular.js library that is designed to be used with the Angular framework. ▪ The way you work with this library is to set certain configuration properties and then it will wait until events occur that trigger the interaction flow.This could be simply calling the login function or if your application has routing behaviours, the authentication can be initiated by how the controller for that route is configured. The core library is adal.js.
  • 13. In order to configure your SPA to work with adal.js you will need to : 1. Register your application with the Azure Active Directory tenant 2. Export your registered application manifest and edit it to allowOAuth2 Implicit Flow, and then import the JSON file back to your application registration. 3. Set configuration variables in your SPA with information from that registration. You will need to include the following: ▪ The URL to your Microsoft Dynamics CRM organization ▪ The name of the Active Directory tenant your organization uses to authenticate ▪ The client ID you get when you register your application ▪ The URL to where the SPA will be deployed or debugged during development. Preparing to use ADAL.js with a SPA
  • 14. Form script support for keypress events and auto- completion feature Methods 1. getValue Method 2. Keypress Event Method addOnKeyPress() removeOnKeyPress() fireOnKeyPress() 3. Auto-completion Method
  • 15. Method – getValue This method was previously available only for attribute collection and using it we could get field value after the field was updated and while the cursor was unfocused from that field. Now, we can capture value of field as early as when users start entering value in field. We can use this method as shown below: Xrm.Page.getControl(field name).getValue();
  • 16. Where we want the user to enter value as per our specific pattern or regular expression, we can use code mentioned below: function OnfieldKeyPress() { var fieldValue = Xrm.Page.getControl(“field name here”).getValue().toString().replace(/[^0-9]/g, “”); Xrm.Page.getAttribute(“field name here”).setValue(fieldValue); } This method will work only if we call this on a Keypress event. So let’s first understand how to call a function on Keypress event for a text field.
  • 17. Event -Keypress 1. addOnKeyPress() This is used to attach a function with a Keypress event: Xrm.Page.getControl (fieldname).addOnKeyPress(function name); If we add this statement in function which is called at the loading of the form, then OnFieldKeyPress function will be attached with Keypress event of field. The following three Keypress methods are added for 2016 version:
  • 18. ▪ removeOnKeyPress() This is used to remove/detach a function that is attached with a Keypress event: Xrm.Page.getControl(fieldname).removeOnKeyPress(function name); ▪ fireOnKeyPress() This is used to call Keypress event handler for text or a number field. Xrm.Page.getControl(field name).fireOnKeyPress(); So addOnKeyPress and removeOnKeyPress basically attach or delete already attached function with Keypress event while fireOnKeyPress enables Keypress event for text or number fields.
  • 19. Knowledge management edit and search enhancements ▪ The CRM Service module gets a boost in this release with the addition of powerful knowledge management capabilities. In addition to rich text, the new KnowledgeArticle entity supports multimedia data like pictures and videos. ▪ Articles have a lifecycle where they proceed through a publishing workflow. ▪ Discover the answers to your questions using full text searches of knowledge base records for topics and products using the FullTextSearchKnowledgeArticleRequest message. ▪ This message provides systematic access to a keyword based search index of the article content. Use this message to access that search content and provide search results to customers and partners.
  • 20. ▪ To support the knowledge management capability, new privileges named Publish Knowledge Articles and Approve Knowledge Articles were added. ▪ The Customer Service Representative and Customer Service Manager roles have these privileges, and a new Knowledge Manager role has been added. ▪ For the CRM web client, the client-side form programming API has been updated to include additional properties in the object returned from the getSelectedResult function call. ▪ All other client APIs and events, which were supported by the knowledge base search control in the Microsoft Dynamics CRM 2015 release, continue to be supported. ▪ For the new interactive service hub client, only the getSearchQuery and setSearchQuery methods are supported for the knowledge base search control. ▪ For more information about the client-sideAPIs supported by knowledge base search control, see Knowledge base search control (client-side reference). For more information about knowledge management, see Knowledge management entities.
  • 21. Knowledge base search control (client-side reference) You can add a knowledge base search control to entity forms in your CRM instance that has the knowledge management feature enabled. With this control, you can programmatically automate or enhance users’ search experiences when they use the control. The knowledge base search control is an Xrm.Page.ui control, so it supports all the standard methods that controls have. But it also supports additional events and methods. For information about the standard control methods, see Xrm.Page.ui control (client-side reference). The interactive service hub application, introduced in Microsoft Dynamics CRM 2016, supports only the getSearchQuery and setSearchQuery methods for the knowledge base search control, along with all the standard methods that controls have.
  • 22. ▪ If you know the name of the control, you can access it using the following code where <name> represents the name of the control. Javascript kbSearchControl = Xrm.Page.getControl("<name>"); When the knowledge base search control is added to the social pane the name will be "searchwidgetcontrol_notescontrol".This name can’t be changed. All of the examples in this topic will use kbSearchControl to represent the knowledge base search control in the form. Knowledge base search control events Use the events for this control to allow code to respond to the selected or opened item.
  • 23. ▪ OnResultOpened This event occurs when a KB article is opened in the knowledge base search control in line or through the pop-out action. Use the addOnResultOpened and removeOnResultOpened methods to manage event handlers for this event. ▪ OnSelection This event occurs when a KB article is selected in the knowledge base search control. Use the addOnSelection and removeOnSelection methods to manage event handlers for this event. Knowledge base search control methods Use the methods for the knowledge base search control to set or remove event handlers and interact with the search query and search results.
  • 24. • addOnResultOpened Use this method to add an event handler to the OnResultOpened event. Parameter: Function.The function to add. Example:Add the function named myFunction to the OnResultOpened event. kbSearchControl.addOnResultOpened(myFunction); • addOnSelection Use this method to add an event handler to the OnSelection event. Parameter: Function.The function to add. Example:Add the function named myFunction to the OnSelection event. kbSearchControl.addOnSelection(myFunction); • getSearchQuery Use this method to get the text used as the search criteria for the knowledge base management control. ReturnValue: String.The text of the search query. Example: Set the variable searchQuery to the text of the search query. var searchQuery = kbSearchControl.getSearchQuery();
  • 25. • getSelectedResult Use this method to get the currently selected result of the search control.The currently selected result also represents the result that is currently open. ReturnValue: KBSearchResult.The currently selected result. Example: Set the variable kbSearchResult to the currently selected result. var kbSearchResult = kbSearchControl.getSelectedResult();
  • 26. Solution enhancements ▪ Previously, when an entity was added to a solution and that solution was exported, the entity and all of its assets were exported in that solution.This included attributes, forms, views, relationships, visualizations, and any other assets packaged with the entity. All objects were exported regardless of whether the developer actually wanted to ship the object.This process potentially carried dependencies or modified unintended objects on the target deployment. ▪ Now, a developer or other application customizer can create and publish solution patches that contain subcomponents of entities, as compared to publishing the entire entity and all of its assets.The original solution and multiple released patches can be rolled-up at a later time into an updated version of the original solution, which then can replace the original solution. ▪ More information: https://msdn.microsoft.com/en-us/library/mt593040.aspx
  • 27. Service level agreement enhancements ▪ Manually apply SLAs to incidents (cases): You can now manually apply an SLA to a case by updating the case record, and specifying an active SLA in the new attribute, Incident.ManualSLA, for the case record. ▪ Programmatically activate or deactivate SLAs: You can now use the UpdateRequest message to activate or deactivate an SLA record. You must activate an SLA record after creating it for the SLA record to be applied to cases. You typically deactivate SLAs during maintenance activities or when you're importing cases and you don't want the SLAs to apply to the cases. Service level agreements (SLAs) in CRM have been enhanced in the current release. You can also use the UpdateRequest message to activate and deactivate automatic record creation and update rules (ConvertRule) and routing rule sets (RoutingRule).This wasn’t possible in the earlier versions.
  • 28. Upload and manage document templates ▪ You can now create document templates for Microsoft Excel or MicrosoftWord to have a standardized representation of your CRM data.These templates can be used by your team members to generate Excel orWord documents with up-to-date CRM data for analysis and reporting purposes. Use the SDK to programmatically upload and manage document templates. ▪ More information: https://msdn.microsoft.com/en-us/library/mt607957.aspx XRMTooling controls now support OAuth authentication and connection strings • Microsoft.Xrm.Tooling.Connector is the primary interface to CRM for all tooling and Unified Service Desk operations. • It is also provided as part of the Microsoft Dynamics CRM SDK to developers who want to build CRM connectedWindows applications.
  • 29. ▪ Developers can use this updated API to allow the OAuth 2 protocol to be used to authenticate with CRM web services. Adding OAuth enables multi-factor authentication for improved security and access to CRM. ▪ XRM tooling now also supports connection strings, which allow for the use of SQL-like connection strings in the CrmServiceClient class. More Information : https://msdn.microsoft.com/en-in/library/dn689057.aspx
  • 30. New entities in CRM 2016 The following table lists new entities included in this release. Schema name Display name Description KnowledgeArticle Knowledge Article Describes articles that are organizational knowledge for internal and external use. KnowledgeArticleInci dent Knowledge Article Incident Contains the associations between a knowledge article and incident. KnowledgeArticleVie ws Knowledge Article Views Tracks the number of times an article is viewed per day. LanguageLocale Language Contains information about the supported languages for translating a knowledge article.
  • 31. New messages in CRM 2016 CloneAsPatchReques CloneAsPatch Action Creates a solution patch from a managed or unmanaged solution. CloneAsSolutionRequest CloneAsSolution Action Creates a new copy of an unmanaged solution that contains the original solution plus all of its patches. CreateKnowledgeArticleTranslation Request CreateKnowledgeArticleTranslation Action Creates a translation of a knowledge article record. CreateKnowledgeArticleVersionReq uest CreateKnowledgeArticleVersion Action Creates a major or minor version of a knowledge article record. DeleteAndPromoteRequest DeleteAndPromoteAction Replaces a managed solution plus all of its patches. FullTextSearchKnowledgeArticleRe quest N/A Performs a full-text search on knowledge articles in CRM using the specified search text. IncrementKnowledgeArticleViewCo untRequest N/A Increments the per day view count of a knowledge article record. SetProcessRequest SetProcess Action Sets the process that associates with a given target entity. UpdateSolutionComponentRequest UpdateSolutionComponentAction Updates a component in an unmanaged solution. The following table lists new messages included in this release.
  • 32. New privileges in CRM 2016 Privilege name Name displayed in the security role UI prv*AzureServiceConnection Azure Service Connection prv*DataPerformance Data Performance Dashboard prv*LanguageLocale Language prv*MobileOfflineProfile Mobile Offline Profile prv*RecommendationModel Product Recommendation Model prv*SimilarityRule Similarity Rule prvConfigureSharePoint Run SharePoint Integration Wizard prv*KnowledgeArticle Knowledge Article prv*KnowledgeArticleViews Knowledge Article Views prvApproveKnowledgeArticle Approve Knowledge Articles prvPublishKnowledgeArticle Publish Knowledge Articles prv*DocumentTemplate Document Template prv*PersonalDocumentTemplate Personal Document Template prvDocumentGeneration Document Generation prv*KnowledgeSearchModel Knowledge Search Model prv*TopicModel Topic Model prv*CustomControl Custom Control prv*CustomControlDefaultConfig Custom Control Default Config The following privileges are new or changed in this release. For an overall view of how the security role editor maps to privilege names in this SDK,
  • 33. K.Naveen Kumar Microsoft Dynamics CRMTechnical Consultant