Features
|
CRM
2013
|
CRM
2015/2016
|
User Interface
|
|
|
Duplicate Detection Rule
|
Removed |
Removed |
Business Logic/Rules
|
Introduced. |
Enhanced.
Complex condition
branching added.
|
Adv Find
|
Under, Not-under filter not present. |
Under, Not-under filter criteria is introduced. |
Social Enterprise Collaboration
|
Introduced.
Users can participate
in social conversations directly within Microsoft Dynamics, through the
Yammer web and desktop applications as well as apps running on Microsoft
(Windows Phone), Apple (iOS) and Google (Android) mobile devices.
|
Enhanced
|
Calculations and formulas via Business Rules
|
Available.
Setting a field value
in a business rule allows the use of formulas to do calculations for
applicable fields such as fields of type “Money”. Addition, subtraction,
multiplication & division are the calculation operations available and
can be done between fields or values. So for example: set “Total Box Value”
field value to “Price per item” field multiplied by “24”. (assuming every box
has 24 identical items for instance).
|
Available.
Rollup fields.
calculated fields
|
Product Bundling
|
Not Available |
Introduced.
Products can be
bundled and offered as packages, for discounts and offers
|
Pause & Resume SLA’s
|
Not Available |
Pause and Resume SLAs to track time efficiently
through system settings
|
Themes
|
Not Available |
Introduced.
You can now brand your
CRM! Themes offer the option of changing the default colors and adding your
logo to the top navigation as pictured below. This is just one more way to
customize CRM to match the uniqueness of your organization.
|
OneNote Integration
|
Not Available |
Introduced.
Users can now easily
capture meeting details using OneNote from within CRM Online. This
functionality allows the information to be available to other CRM Online
users in the Social Pane.
|
Advance Find Older Than Filter
|
Not Available |
Introduced.
|
Export to Excel Redesign
|
Only allows to save as excel in local computer. Limiting record 10000. |
Record Limit increased
to 100000 or 32 MB.
Import excel opens
online facility.
|
RAJEEV KUMAR, Azure Architect, Azure Data Engineer, AZURE Developer, Prince2®, SAFe®, CSM®, ITIL® (Linkedin: www.linkedin.com/pub/rajeev-kumar/13/459/663)
Sunday, May 15, 2016
Microsoft Dynamics CRM 2013 vs. Microsoft Dynamics CRM 2015
Thursday, May 12, 2016
Post XML over HTTP and capture the response – C#
Recently we got a requirement to post the data from ‘CRM Plug-in’ to an external API and capture response.External API was built as XML over HTTP (i.e., Its not a SOAP based and no WSDL). In this approach we post the Request XML to a URL and in return we will get the Response.
public static string PostXMLData(IOrganizationService orgService, ITracingService tracingService, string obmXMLString, string url, string userName, string password)
{
tracingService.Trace("Creating WebRequest Object." + url);
WebRequest myWebRequest = WebRequest.Create(url);
tracingService.Trace("Completed creating WebRequest Object." + url);
tracingService.Trace("Setting WebRequest Object -> Method property.");
// Set 'Preauthenticate' property to true. Credentials will be sent with the request.
tracingService.Trace("Setting Preauthenticate to true");
myWebRequest.PreAuthenticate = true;
tracingService.Trace("Completed Setting Preauthenticate to true");
// Create a New 'NetworkCredential' object.
tracingService.Trace("Creating the Network credentials");
NetworkCredential networkCredential = new NetworkCredential(userName, password);
tracingService.Trace("Creating credential object to hold the id and password");
string credentials = userName + ":" + password;
tracingService.Trace("Completed creating credential object to hold the id and password");
tracingService.Trace("Creating authorization object to hold the credentials");
string authorization = Convert.ToBase64String(Encoding.UTF8.GetBytes(credentials));
tracingService.Trace("Completed creating authorization object to hold the credentials");
tracingService.Trace("Setting the servicepointmanager security to SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12");
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;
tracingService.Trace("Completed setting the servicepointmanager security to SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12");
tracingService.Trace("Completed creating authorization object to hold the credentials");
tracingService.Trace("Setting WebRequest object Header");
myWebRequest.Headers["Authorization"] = "Basic " + authorization;
tracingService.Trace("Complted setting WebRequest object Header");
tracingService.Trace("Setting WebRequest object Credentials property");
myWebRequest.Credentials = networkCredential;
tracingService.Trace("Completed Creating the Network credentials");
myWebRequest.Method = "POST";
tracingService.Trace("Completed Setting WebRequest Object -> Method property.");
tracingService.Trace("Creating byte Array Object to hold xmlString.");
byte[] byteArray = Encoding.UTF8.GetBytes(obmXMLString);
tracingService.Trace("Completed creating byte Array Object to hold xmlString.");
tracingService.Trace("Setting WebRequest Object ContentType Property.");
//myWebRequest.ContentType = "application/xml";
myWebRequest.ContentType = "text/xml";
//hmyWebRequest.ContentType = "application/xml";
tracingService.Trace("Completed setting WebRequest Object ContentType Property.");
tracingService.Trace("Setting WebRequest Object ContentLength Property.");
myWebRequest.ContentLength = byteArray.Length;
tracingService.Trace("Completed Setting WebRequest Object ContentLength Property.");
tracingService.Trace("Creating dataStream Object.");
var dataStream = myWebRequest.GetRequestStream();
tracingService.Trace("Completed Creating dataStream Object." + dataStream.ToString());
tracingService.Trace("Write byteArray to dataStrean Object.");
dataStream.Write(byteArray, 0, byteArray.Length);
tracingService.Trace("Completed Write byteArray to dataStrean Object.");
tracingService.Trace("Closing dataStream object.");
dataStream.Close();
tracingService.Trace("Completed Closing dataStream object.");
tracingService.Trace("Creating response object.");
var response = myWebRequest.GetResponse();
tracingService.Trace("Completed Creating response object." + response.ToString());
tracingService.Trace("Creating status description object.");
var statusDesc = ((HttpWebResponse)response).StatusDescription;
tracingService.Trace("Completed Creating status description object." + statusDesc.ToString());
tracingService.Trace("Creating status code object.");
var statusCode = ((HttpWebResponse)response).StatusCode;
tracingService.Trace("Completed Creating status code object." + statusCode.ToString());
tracingService.Trace("Set dataStream object with response.");
dataStream = response.GetResponseStream();
tracingService.Trace("Completed Set dataStream object with response." + dataStream.ToString());
tracingService.Trace("Creating stream reader object.");
var reader = new StreamReader(dataStream);
tracingService.Trace("Completed Creating stream reader object." + reader.ToString());
tracingService.Trace("Creating response string object.");
var responseString = reader.ReadToEnd();
tracingService.Trace("Completed Creating response string object:" + responseString);
tracingService.Trace("Closing reader object.");
reader.Close();
tracingService.Trace("Completed Closing reader object.");
tracingService.Trace("Closing dataStream object.");
dataStream.Close();
tracingService.Trace("Completed Closing dataStream object.");
tracingService.Trace("Closing response object.");
response.Close();
tracingService.Trace("Completed Closing response object.");
return responseString;
}
Wednesday, May 4, 2016
JavaScript Intellisense in Visual Studio for Microsoft Dynamics CRM 2016
Intellisense in Microsoft Visual Studio is great feature to speedup development as it can suggests the method name, parameters, data type and hint about the method functionality and parameters use. With Intellisense we don't have to lookup in the documentation and is great time saver for the developers.
MSXRMTOOLS.Xrm.Page.2016.js provides similar capability in JavaScript for Microsoft Dynamics CRM 2016.
MSXRMTOOLS.Xrm.Page.2016.js provides following benefits for the Dynamics CRM developers:
- Complete methods coverage available in Dynamics CRM 2016.
- Suggestions for methods available in Xrm.Page namespace so that developers don't have to look up in SDK for available methods in Dynamics CRM 2016.
- Hint about the methods functionality available while typing.
- Hint about each of the input parameters i.e. the intended purpose of each of the parameter while typing.
- Shows the data type of input parameters and output value.
- Hint about the possible input values wherever possible while typing.
- Hints are same as documented in Microsoft Dynamics CRM 2016 SDK. So that developers can easily identify and correlate.
Steps for using MSXRMTOOLS.Xrm.Page.2016.js JavaScript library for Microsoft Dynamics CRM 2016 development.
- Drag MSXRMTOOLS.Xrm.Page.2016.js file to your .js file in your Visual Studio project. It will add a reference to MSXRMTOOLS.Xrm.Page.2016.js in your .js file.
- Now start typing Xrm. and you will see the Visual Studio intellisense suggesting the methods for Microsoft Dynamics CRM 2016 JavaScript development.
Subscribe to:
Posts (Atom)
Get files of last hour in Azure Data Factory
Case I have a Data Factory pipeline that should run each hour and collect all new files added to the data lake since the last run. What is...
-
I find that using workflow id might be problematic across deployment, so I wrote a function to retrieve workflow’s guid given the workflow...
-
Object-Oriented Programming (OOP) Terms Basics Object-Oriented Programming (OOP) : An approach to designing and building applicatio...
-
Microsoft Dynamics CRM supports two types of parameters for a workflow activity. Input Parameters Output Parameters Input Paramete...