WSDL is your best friend when you’re dealing with non .NET clients, e.g. Java, that need to talk to CRM. Historically, it’s always been a 2-step process: Hit https://crm/XRMServices/2011/Organization.svc?wsdl and get a very small file back usually containing the line Hit https://crm/XRMServices/2011/Organization.svc?wsdl=wsdl0 and get a complete file containing full definitions. Starting from CRM 2013 (or, […]
Tip #431: Avoid Silverlight when living on the Edge
If you ever wondered whether the move of CRM development team under Scott Guthrie is a good idea, now we have the proof. That’s right, details about the support for the upcoming versions of OS, browser and Office have already emerged. Some vigilantes, like Jason “Scintillating” Lattimer, have kept their cool heads and pointed out […]
Tip #427: Making sense out of plugin parameters like a boss
As some of you may know, correcting Joel is one of my hobbies. But being able to add to a Tanguy’s tip takes it to a completely new level. To recall: our challenge is to find all parameters including their types specific to a plugin message. Instead of writing some temporary code only to delete […]
Tip #426: Making intelli-sense out of plugin parameters
Our today’s tipster is the man himself: Tanguy “The XRM Toolbox” Touzard. Did you ever feel lost when you wanted to develop a plugin and didn’t know what keys to use in IPluginExecutionContext.InputParameters or IPluginExecutionContext.OutputParameters? Did you ever wonder why we do use the mysterious “Target” key when writing a plugin for Create, Update or […]
Tip #416: You have OAuth token, now what?
You went through all the motions of authorization endpoints, return URIs, codes and whatsnot and finally got the magic mushroom authorization token. Now what? Option 1 Use HttpClient to send requests to the CRM endpoints, add authorization token to the header of every request: Once reply is received, go through the pain of manually parsing […]
Tip #398: Careful with those .js libraries
After denting his table, Mehmet “Sputnik” Ozdemir finally decided to use his call-a-friend card. The problem? After attaching this trivial piece of script to the birthday field one would reasonably expect to select a date and see that selected value (+local time) popping up in a box. Instead, the returned value was null. Sometimes but […]
Tip #376: Stay with the versions
Andre “I’ve got 88 in my handle” Margono reports from the development trenches: Based on the recommended practice to get the latest assemblies of Dynamics CRM SDK through Nuget I encountered one problem when I recently working on a demo with a CRM online instance. Tipp Jarr: the problem Andre has encountered is that when […]
Tip #375: Rolling in cash
Mini truck stop. Finally, something exciting to discuss – money! Today’s Roles The Self-Healer: Jerry “I’m still in Kansas” Weinstock For The Affirmative: Mitch “Snapshot” Milam The problem, by Jerry I have two rollup fields on a form – one for decimal and the other for currency – both pulling from the same child entity. […]
Tip #371: Use your fingers
Here, at eXtremeCRM 2015 Madrid, my good friend Gustaf (not V) Westerlund and I had a privilege of delivering a session with a gloomy name Seven Deadly Sins of CRM Development. That’s right, doom and gloom, and Spießrutenlaufen, all over again. I will come back to the topic in the future but for now I […]
Tip #368: Keep your early bound classes lean
The convenience of early bound classes often overshadows the side-effects of using those. It is, indeed, very easy to write: CrmSvcUtil.exe /url:https://myorg.api.crm.dynamics.com/XRMServices/2011/Organization.svc /out:GeneratedCode.cs /username:”myname@live.com” /password:”myp@ssword!” then add generated file to the project and use syntax-checked a.accountname = “Acme Inc” instead of a[“acountname”] = “Acme Inc” (see what I’ve done here to demonstrate the usefulness of […]