Thursday 19 July 2018

Dynamics CRM : ViewRoleConfiguration

Recently in Dynamics 365 I got a requirement to show system views based on user security role. 
I try find any out-of-box way to achieve this but unfortunately there is no Out-of-box way to achieve this.
I had developed customize way to configure System views visibility based on security role. 
After completing my solution, I think this might be requirement for other CRM users also.

This tool is working only on classic CRM and also install a solution in your environment.

So, I have created XRMToolBox plugin for this configuration. Now anyone can download this plugin either from XRMToolBox or from given link ( Download Pluginand configure.

Configuration: -

  • Open XRMToolBox and connect to your Organization.
  • Search “view-role configuration” if already installed else go to XRMToolBox “Plugin Store” and install this plugin. Or save downloaded plugin in your Plugin folder.















  • Open View-Role Configuration plugin. If you are using this plugin first time you need to click on “Import Solution” button first.
















  • This step will install a new solution named “ViewRoleConfiguration” in your organization. This solution is developed on Dynamics 365(9.0) version.









  • Once this solution is successfully installed. We are ready to configure our system views based on different security role.
  • Click on “Retrieve Data” button. This will retrieve security role list and entities list.














  • Select your “Security Role” for which you want to configure view permission.













  • Now select entity for which need to configure view permission.















  • On Entity selection, it will show all system views whose (querytype is 0). I.e view which shows in view selector.





























  • Select the view which you want to hide for given security role.

Example: - I am using “My Active Accounts” for demo.

  • Now click on “Save Data”. This will create a record in “View Role Configuration” entity. This record will be used to enable security role-based view visibility.





















Before View-Role view configuration: -





After View-Role Configuration: -
























  • We can see that “My Active Accounts” is not visible in Account view selector list. Even this view also not available in advance find view.












  • When we want to remove View-role security. Follow the same process and now just de-select view and click on “Save Data”. This will delete the configuration record and view will become available for that security role.
  • We can also delete this solution from your organization with the help of given plugin.












Note: - Use two users while testing this plugin. One user by which you connect XRMToolBox. Second user which have that security role on which you are configuring security role-based system views.

Please provide your comment and share your reviews.

Thursday 5 July 2018

Dynamics CRM: Manage Solutions


People says, “Necessity is the mother of invention”. But I think “Laziness also initiator of invention”.  ðŸ˜Š

In CRM as a developer we always played with Solution. We create new solution to manages our development and to transfer our work from Dev to Test instance etc. Solution also required for marketplace package movement.


After CRM 2016, Microsoft also added two new option in Solution: -
Clone a patch- To make small change related to parent solution.
Clone Solution- To merge current solution and patch in single updated solution. And remove previous one.
But here I am not discussing about these features because you will find some good materials related to these new features in google.

Use Cases: -
  • When I was working for one of my project I have a solution more than 400 components. And I need to create a solution with 300 components of that solution. You could say Clone a patch might work but not in my case because it creates dependency on parent solution and create a blank solution.
  • In one of another project I had a managed solution in Production. In development Organization have unmanaged solution which played by lot of team members, as we developer do always.😉 We need an unmanaged solution from that managed solution. But Microsoft do not give any feature for this.
  • I need to export list you all solutions. But no option found either in advance find or in solution view.
While tackle with these situation, I was thinking there should be something a single click option to do so.
Now I started developing a XrmToolbox plugin to help me. Today I am deploying my Plugin for all developers and soon it will be available in XRMToolbox also.

Features of this Plugin.
  • Retrieve all Solutions
  • Make a Copy of Solution
  • Delete Solution
  • Export Solution to folder
  • Export Solution list to excel
  • Publish All Customization.

Download XRMToolBox from given URL and install. https://www.xrmtoolbox.com/

Install Managed Solution Plugin in your XRMTollBox using plugin store.























If you are not able to find Manage Solution plugin.
Download Plugin
Install in XRMToolBox by clicking Settings->Path->Storage folder->Plugin folder.
Copy assembly in Plugin folder.









































Connect your organization and open plugin Managed Solution.






Click on “Retrieve Solution”. Now you will see list of all solutions and their information.














Select any managed or unmanaged solution to make a copy of it. Select solution and click on “Make a copy” button. Before creating a copy, you need to provide new solution name.










It will create a copy of your solution with all source solution component.










To Delete any solution, select your solution and click on “Delete Solution” button.

To Publish all customization, click on “Publish All Customization” button.

To export all solutions list, click on “Export Grid” button provide your location to store solution excel sheet. Make sure you have MS office preinstall to use this option.










To export any unmanaged solution, select unmanaged solution and click on “Export Solution” and it open a new form. Fill required details in new form and click “Export” button.



























It will save your unmanaged solution in your specified location. You can save managed and unmanaged solution same time.
With this plugin I was able to tackle all my use cases in lesser time. 

"I choose a lazy person to do a hard job because a lazy person will find an easy way to do it" 
      Bill Gates.......
Note: - Plugin based on .net framework 4.5.2

Please share your feedback.
Follow my blog so you will not miss my new upcoming blogs.

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