Rise to distinction
Time & tide wait for none
Search shared data across CRM entities
In one of recent project requirements, I implemented a solution to share Personal Email Templates. Requirement was to allow super users to share specific templates with users/teams in readonly or write permissions. Though language filter provides a way to limit templates for specific users, it is still possible for users to see organization visible templates. What we needed was to have personal templates that could be further shared, specially when defined by users, in higher businessunits, that shall be visible for usage to users below.
CRM SDK allows templates to be owned by users / teams, and / or can also be shared, however the templates lists / views interface is not as intuitive as compared to commonly used entities. My solution comprised of a CRM dialog combining with workflow activity code, to implement very specific business logic as per requirements. Implementing this solution was not a big trick, however the more surprising part came later, when it was time to verify whether the specific templates were shared with required users. One way was to login in multiple browsers with different users and other was to somehow query CRM. Honestly, i did not like either of those approaches. So i looked into our favorite: XrmToolBox. There is a nice plugin named “Access Checker”, but I still could not see a list of all records shared with with users & teams. And there I got the idea “why not build one such plugin myself”. So folks, I wrote my first plugin for XrmToolBox, (hopefully not the last).
You can find it here:
Search shared CRM entity records (data across PrincipalObjectAccess)
I am using POA (PrincipalObjectAccess) entity here, but of course there is no direct querying of CRM database to read from this table. If you are not aware of POA => It is one central entity / table where CRM maintains which entity’s which record is shared with which user / team in which access mode.
In order to access this plugin, make sure you are using latest version of XrmToolBox (i am using 1.2018.10.29). In Plugin Store, look for “Search data in PrincipalObjectAccess (POA)”. Select the plugin and install
Once installed, the plugin shall show (as below) in the main screen of XrmToolBox.
Open the plugin and explore, i hope you will find it interesting and helpful.
Note: once i started working on this plugin, I thought of a number of additional features to implement in this interface. I will keep working on improvements, however your suggestions / comments / critics will be extremely helpful in improving this
Looks promising! 🙂
Feedback will be a lot easier if you implement the IGitHubPlugin interface, then we can submit issues directly from within XTB 🙂
Sure, soon coming some improvements, this is one of those 🙂 thanks
Next version is available, with the GitHub feedback support also 🙂
Ameed – I’m glad to see you working on this – I really like the things I see within it. Gaining this type of additional transparency into the permissions / entitlements within Dynamics 365 Customer Engagement is critical for troubleshooting and ensuring compliance, but diving into the depths of the POA table is not for the “faint of heart”. 🙂
Thanks Scott 🙂…. if one thing that I like to redesign in platform … that will be POA. Shall be an exciting challenge 🤟
Is it possible to export this data? I have tried various things but no luck.
Not currently … i have to implement that … i must say this should have been there from version 1, as many have been asking for this. I shall do this very soon. hopefully in a few days
You would so be my hero. It will save days of work for me and my team. I love the plugin, it has given us so much insight.
hello, is there any progress to adding export functionality?
Hi Diane, no sorry … I have been simply too occupied with clients at work …
I must do this now
Hi Diane, I just published a new version with excel export facility. For now it is limited to current page only, however I am going to release another version (within 2018) to support Max 5000 records export matching criteria and specified ordering. Hope you can try this
Many thanks for comments and sorry for long wait
Ameed
Hi,
I just published a new version with this facility … for now only exports current page records … but working on next version to allow max 5000 records export, based on criteria and selected ordering
Sorry for long wait & thanks for feedback … more awaited
Ameed
A full featured Export to excel is now available in most recent version (1.2018.12.31). Please make sure that you use XrmToolBox latest version before you install my tool’s update. Please do report issues, feedback. Many thanks for support
Nice work and keep on adding new functionality.
Thanks 🙂
Hi Ameed, How one can search for the records which are not shared with Team?
Hi Nachiket, Thanks for feedback. Unfortunately, this is not possible with the current options. For now one can only say select only to find “Only Unshared” but not with saying those which are not shared with teams. I will keep that in the features list for next versions.
Thanks
Ameed
HI, XLSX Download does not work. After I provided a file name nothing happens
Hi René, thanks for feedback. I will surely take look soon and get back on this.
Hi René, i just tried with latest version and got a file downloaded in the folder that i selected in dialog box. Are you sure you have looked into the same folder where you saved the file ? If you still dont get find, could it be that you need to run xrmtoolbox as administrator ? I am eager to know more about this test case, so may be we can do a short screen sharing call ? If you leave another comment, with details on how to reach you, i will not publish that comment, and then delete after connecting with you. I hope this helps.