Dynamics CRM Online 2011 vs Dynamics CRM Online 2013 [API Changes] - ruby

I am doing some research on building integrations for Microsoft Dynamics CRM Online. The integration I am building will be for Dynamics CRM Online 2013, but I am curious if the 2013 version shares an API with the 2011 version.
Does anyone know if an integration built for Dynamics CRM Online 2013 will be backwards compatible with Dynamics CRM Online 2011?
Any insight here would be appreciated.
Also, if anyone has good resources for working with these API's using Ruby that would be awesome...
Thanks!

I wrote some integration for CRM 2011 Online (C# and PHP/SOAP) and I can happily say both still work.
Any integration written with CRM4 in mind would need some modifications I believe (this may just be changing the endpoints) but 2011 and 2013 seem to work ok together.
If you are wanting to connect using a non .Net language be careful as it can be significantly more painful then creating a wrapper for the web service then talking to that from Ruby.
To connect with a non .Net language you need to use SOAP. I have put some posts here (PHP code but it should be easy enough to convert)
http://crmtroubleshoot.blogspot.com.au/2013/07/dynamics-crm-2011-php-and-soap-using.html
I currently don't have it working with Active Directory authentication though!

Everything that I've read about the API changes from 2011 to 2013 has boiled down to the removal of the CRM 4 aspx endpoint. Besides that, most of the changes to CRM are front end.

I read somewhere that a solution made in 2013 can't be exported in 2011. So I don't think will be retro-compatible.
Chapter-
Introduction to solutions
here it is from the SDK:
Version compatibility
Solutions exported from an older version can be imported into newer versions. Solutions exported from newer versions cannot be imported into older versions. This includes major and minor version differences.
Solutions exported from a Microsoft Dynamics CRM 2011 environment or a Microsoft Dynamics CRM Online organization prior to the Fall '13 Service Update can be imported into organizations using the initial release of Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online Fall '13 Service Update. However as updates are applied and include new features or metadata definitions, these new features or definitions cannot be included in a solution that is installed on an organization that is not current with the definition that the solution was exported from.

Related

What is the correct way to access Microsoft Dynamics 365 data on the cloud? SDK vs Web Api

I'm .NET Web Developer and new to Microsoft's CRM, so bear with me. I'm trying to find the correct way to connect to Microsoft Dynamics 365 and retrieve some PDF files. I need to know which is the correct way to do so. I have some questions of some topics found Googling around that don't make sense to me.
Accessing through the SDK
I have found this Microsoft documentation which explains the SDK. However there is a NOTE that says that this has changed with the 2016 update, and Googling more around, it seems to be that the SDK it's not used anymore. I am wrong?
Accessing data using Web API
There's yet another Microsoft documentation that tries to explain the way to connect through a Web Api, however from the start, it says: "This section contains reference documentation of the types, functions, and actions that constitute the Web API for Microsoft Dataverse and Dynamics 365 Customer Engagement (on-premises)".
That "On-Premises" comment bothers me. I don't want to learn something that doesn't work for me. Why the web api seems to work only on premise? Why not Dynamics in the cloud?
And for what you can see, I'm utterly confused as to how in the world I can access data to retrieve a file programmatically through C# code from Microsoft Dynamics 365 cloud based.
Please, if you can point me in the right direction, I will really appreciate it.
Thank you!
If your language is C# you can use the SDK provided by Microsoft, it works with the Online (cloud) version.
If you are using .NET Framework you can use this NuGet package:
https://www.nuget.org/packages/Microsoft.CrmSdk.XrmTooling.CoreAssembly/
If you are using .NET Core/.NET 5.0+ you can use this NuGet package (but in public preview):
https://www.nuget.org/packages/Microsoft.PowerPlatform.Dataverse.Client/
Some details about these packages here: https://www.crmanswers.net/2021/05/microsoftpowerplatformdataverseclient.html
Adding to Guido's excellent information here are a few more considerations:
Plugins and custom workflows are custom .NET assemblies where you would use the SDK. They currently only support the full .NET Framework.
To call into the system from a JavaScript library on a form (a.k.a. Client-side scripting), you'd use the WebAPI.
For console apps, web apps, and other external code, you can choose between the SDK and WebAPI. (And as Guido points out, the .NET Core version of the SDK is in preview).
When using the SDK there are two possible coding approaches: Early Bound and Late Bound.
With early bound, you generate proxy classes for DataVerse tables. The classes have properties for each column/attribute, which enables intellisense.
With late bound, you use the string names of tables and attributes.
This article has more info.
Tools for generating early bound classes include Microsoft's CrmSvcUtil.exe, Daryl LaBar's Early Bound Generator in the XrmToolbox,
and the commercial Visual Studio add-on for DataVerse XrmToolkit.
If you're going the WebAPI route, David Yack's API Helper might interest you.

Unable to find a Dynamics CRM 2011 installer

I've recently acquired a new client, they are using Microsoft Dynamics CRM 2011 and I need to replicate their working environment on my server.
I seem unable to find a download link for the server setup, the official Microsoft download center gives 404, and all other sources I've found on the web aren't working (the new Partner Center doesn't provide a download for the 2011 version).
Does anyone know where I can find a working installer?
Thanks

Entity Change Tracking in Dynamics 365 8.2 (On Premise)

Is Entity Change Tracking supported in version 8.2 on-premise?
I couldn't find an actual article from Microsoft that confirms this.
Use change tracking to synchronize data with external systems
For Microsoft Dynamics CRM Online organizations, this feature is available only if your organization has updated to Dynamics CRM Online 2015 Update 1. This feature is not available for Dynamics CRM (on-premises).

How to get Microsoft CRM for Development Purposes?

I am a recent graduate, who has done some work experience at a company developing/designing Microsoft Dynamics CRM Solutions. I have moved on from there and have no official ties anymore. However, I do see the future in this product and I would like to keep developing solutions and increasing my development knowledge of Microsoft Dynamics CRM.
Taking into account the above and that I have a job in a different IT area. As well as the fact that I am determined to start this from scratch... What are my options?
My intentions for the future(1-3 yrs) is to develop Microsoft CRM 2013 Solutions and hopefully sell to local small businesses.
MSDN subscription or using trial subscription on CRM Online instance or using trial key:
http://www.microsoft.com/en-us/download/details.aspx?id=40341
Or if you want to be a startup, you might be eligible for BizSpark subscription:
http://www.microsoft.com/bizspark/
I think your best bet would be to get an online subscription. Your solution's code should be 100% compatible with the new CRM APIs in the SDK. Running everything from an online CRM solution would ensure it will work. This will also ensure that when the next version is released, you will be ready for it.
Unless Microsoft changes their licensing, this might be your only reasonably priced choice.
Try the Demo Builder:
http://demobuilder.cloudapp.net/unauthenticated-home/#
It's a Wizard base tool that will guide you through the process of setting up an online demo environment.
There are a bunch of templates that you can select from that will give you a good idea of the different scenarios where CRM can be deployed.

Develop Sharepoint 2013 365 Workflow in Visual Studio

My clients have bought an Office 365 SharePoint 2013 site and I'm in the process of configuring it.
Their business rules require a very complicated Workflow which can just about be developed in SharePoint Designer. However, as I'm an experienced Visual Studio .NET developer I'd rather do it programmatically and hopefully save some time.
At present I can't figure out how to connect my desktop version of Visual Studio to the Cloud-based SharePoint site. I've downloaded the Workflow Manager tool but I'm struggling to figure out how to configure the Farm Databases etc. Available documentation seems patchy.
Has anyone out there found a way of doing this? This link suggests that it might not be possible.
Thanks
Edward
According to this article it's possible, though probably not really nice.
You will have to deploy your Workflow as a SharePoint App. Which means you will only be able to call the webservices.
Another option which might be worth looking at is Nintex, which has a module for office 365 as well.
Nintex has alot of useful functions, though I don't know how good the office 365 version is.
You would have to check whether it suits your requirements.

Resources