Thursday 30 August 2018

Dynamics CRM: Note Control Customization


In Dynamics CRM 2013 onward Microsoft introduce note control with more options.
Note control have “Posts’, “Assistance”, “Activities” , “Notes”, “One Note” etc.
















This is a great Control to see all information in single control.
But this control does not support any customization. Some time we need to customize this control for our users.

I will try to explain how we can customize note control. However, this customization is Unsupported customization and not recommended by Microsoft.

Requirement: - I had the requirement where I need to show “Activities” and “Notes” on contact form and only “Notes” on Account Form.

Solution: - I have create a html web resource to accomplish my requirement. In HTML we are getting note control help of getElementById method of DOM Javascript. After getting note control based on our requirement we remove unwanted elements from our control like “POST” and “ASSISTANT” from contact form.

Import below solution in your organization. CRM version 9.0. This solution contains HTML web resource need to use. If you faced any issue while importing, unpack this solution and create a new HTML web resource in your organization and paste html code from sav_wsblankhtml file.


Download Solution


Once web resource is created, add this on contact or other entity form as required below note control.











After adding web resource pass parameter to hide required components. And uncheck visibility. Change value as per requirement.

POSTS=true&ASSISTANT=true&ACTIVITIES=false&NOTES=false&ONENOTE=true























Open “Activities Tab” property and select tab which need to default and visible always.
























Now Publish your customization. And refresh(ctrl+r) your entity record.

Result: -

Contact record:













Account record:














Share your comments and follow blog to be updated.
Happy CRM!!

Wednesday 1 August 2018

Dynamics CRM: Delete Components From Managed Solution


Currently I have faced a scenario where I need to remove few unused components from my managed solution in Production Instance.

My first approach was remove unused components from my solution in Dev instance and export as managed solution than re-import in Production. But this approach not worked for me.

So, my second approach was delete unused components from my solution in Dev instance and export as managed solution than re-import in Production. But this approach also not worked for me.

Finally, I found one approach that works and fulfill my requirement. Here I am sharing my final approach, and this also work in supported way.

I will try to explain this with a simple example where no dependencies components are present.


  • I have created one solution named Solution1 in Dev instance and create a two new entities Entity1 and Entity2 in that solution and publish all customization.









  • Export Solution1 as Managed Solution from Dev and import in Production Instance. This will create Entity1 and Entity2 and my Production Instance.






  • Now create new solution named Solution2 in Dev Instance and add Entity1. Here we have not added Entity2 in this solution because we need to delete Entity2 from all Instance as result.








Note: - If number of components are larger, than use Xrmtoolbox “Manage Solution” Plugin to create clone to solution. And remove unused component from newly created solution.










  • Export Solution2 as Managed Solution from Dev and import in Production Instance. This will not create any entity but hold Entity1 as another managed solution layer.







  • Delete managed solution Solution1 from your Production instance. This will delete solution and its component but Entity1 will remain in your Production Instance due to Solution2.







  • Now Delete Entity2 from Dev instance and publish all customization.








  • Export Solution1 as Managed Solution from Dev and import in Production Instance. This will not create any entity but hold publisher, solution name all other components as it was required in this approach. 
Expected Result: -








  • Delete managed solution Solution2 from Production and Dev instance to clean instance.

 With this approach, I was able to remove my all unused component from my solution. Also, solution name is same and no need to data backup and reimport. But solution Installed On date is changed which was not important in my use case.

Field Security Profile - Based on Owner

 Recently received requirement related to Field security profile. Expectation : - 1.       Set to users need access of secure attributes. 2....

Test