Entity JavaScript Scaffold

Saturday, July 23, 2016

In the last couple of years I have been writing more JavaScript code than Server side code in my Microsoft Dynamics CRM projects. Better UX, plethora of supporting JavaScript libraries, easier deployment and maintenance made me prefer a client side solutions. I usually create a JavaScript library for each entity requiring client side functionality (forms, command bars etc.).Over time, I have formed a JavaScript class scaffold. As this scaffold has improved my productivity when it comes to developing, debugging and maintaining client side code, I would like to share it here. Consistently using this or any other scaffold,...
no comments

Customization Aware Web Resource – Part 1

Friday, March 11, 2016

Web Resource is one of the most powerful and versatile extension mechanism in Microsoft Dynamics CRM. It supplies an open canvas to draw custom UI, business logic and whole applications within entity forms, dashboards and stand alone pages. Coupled with the plethora of  free JavaScript libraries out there, you can easily provide your users with advanced solutions that work with Microsoft Dynamics CRM Data. In that sense, Web Resource can implement a custom client which can also be embedded into MSCRM elements. One concern regarding the investment in Web Resource development is the loss of dynamic customization capabilities, which...
one comment

Asynchronous Batch Process Solution Revisited – part 3

Monday, August 10, 2015

In the previous post, I walked through the ABP Target Records Scenario. In this post, I’ll go through the Aggregative Query Scenario. Prerequisites 1. Download the Asynchronous Batch Process Solution, import into Microsoft Dynamics CRM 2015 on-premise/Online organization2. Go to Settings – > Solutions and Open the ABP solution. Go to the Batch Process entity definition and check the Settings checkbox in the ‘Areas that display this entity’ section3. Save and publish the solution As always, I advise against publishing any external solution on your production environment without testing it first. Aggregative Query Scenario ...

Logging and Handling Microsoft Dynamics CRM 2013 Exceptions – Part 3

Tuesday, July 15, 2014

In the previous post I described a solution to the business problem of logging & handling implementation level exceptions (presented in the first post of this series). In this post, I will supply an actual solution, demonstrate common usage scenarios and other solution features. Before I walkthrough usage scenarios, some implementation notes: In order to support exceptions raised from transactional components (such as Plugin registered to pre/post operation stages), the LogException method in ExceptionManagement.cs file is using the ExecuteMultipleRequest class to execute the e4d_LogExceptionRequest request. As the ExecuteMultipleRequest instance is external to the Plugin transaction, it manages to create the Exception record...

Logging and Handling Microsoft Dynamics CRM 2013 Exceptions – Part 1

Monday, June 2, 2014

In this 3-parts post I would like to suggest a general approach and solution for logging and handling exceptions in Microsoft Dynamics CRM 2013 implementations. By exceptions, I don’t mean Microsoft Dynamics CRM product core exceptions which occur from time to time. These are logged by various designated repositories (such as Event Viewer and CRM Trace) and beyond our reach anyway, certainly in Online deployments. I do mean unexpected events that arise from custom code written in both server and client side in most Microsoft Dynamics CRM 2013 implementations. These events are usually related to poorly written code,...