This is very much a collaborative post. Leon had a first go at it, George threatened to rip it all apart if posted because of the tiny technical inconsistencies. The verbal abuse discussion ensued, links were cross-checked, and now we have this. We have known for a while that the Dynamics CRM 2011 endpoint is […]
BAD Masterclass
What Why Where Agenda Tip of the Day and 365.Training present Business Application Developer (BAD) Masterclass What is it The Power Platform has a rapid release cadence and with that come the new features, new developments, and new challenges. In case you were not paying attention, the waves are coming every 6 months. This is your chance to get […]
Tip #1145: Tracing in Azure Functions MkIII
This never ends. Shortly after I finished writing about tracing in Azure Functions, I found Daryl “Always Raising” LaBar explaining how to use ExtendedOrganizationService wrapper to easily capture everything in your plugin: Wouldn’t it be nice for debugging if your plugins automatically traced every IOrganzationService Request, along with the parameters and the time that it […]
Tip #1143: Managing Dynamics Goes Beyond Technology
It is easy to focus on training and certifications and think this will be enough to implement or maintain a successful Dynamics system but, especially with process management systems like Dynamics, being tech savvy is not enough. Certainly knowing the system, its limitations and capabilities is important but understanding the impact of change is vital […]
Tip #1142: Tracing in Azure Functions MkII
When describing tracing in Azure Functions previously, I dropped almost in passing that to capture .NET traces in Azure Functions is easy – just create your own TraceListener. I also added that the code takes a shortcut with log.Info and requires a bit of tuning like mapping logging levels from Connector to TraceWriter but those […]
Tip #1141: Timezones and application users
Once upon a time server-side connections to Dynamics 365 / CRM were easy. Use username and password to connect and, if you are license-conscious, use non-interactive account. Users have timezones that can be set using personal options (for non-interactive, logon after assigning the license but before converting to non-interactive, and set the zone). The day […]
Tip #1137: Learn language and study API to simplify your code
I already wrote about the benefits of learning new language features. Equally important is to understand what assemblies are available as part of Dynamics 365 SDK, how they work, what classes and interfaces are available, and how the edge cases work (basically, “what-if” scenarios, like “what if this is null”). This week I had “privilege” […]
Tip #1135: For plugins, use SDK with the same or below the server version
Problem Another week, another challenge from Guido “Future Olive Farmer” Preite: I created a plugin for one Online instance (version 8.2.2.1862), I created a class library project with .NET 4.5.2 and with nuget I installed the Microsoft.CrmSdk.CoreAssemblies version 9.0.2.3 I registered the plugin and I always get this error: Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, […]
Tip #1130: Refactoring Makes Sense For Configuration Too
If you hang around developers long enough you will hear them use the term “refactoring”. On one project, the developer even had a “Refactor Friday” where this is all they did at the end of the week. So what is refactoring and why should us configuration folks care? Refactoring is taking existing code and reworking […]
Tip #1127: Don’t update auto number field
We did mentioned in the past that most of the good inventions are driven by the laziness. Auto numbering the new records is one of those. Instead of manually looking up the next available number, calling other users to see if they have any intention of creating a new record in the next few minutes, […]