SnapShot! v4.5 for Dynamics CRM/365 is now available

Hi Everyone,

It is said that a journey of 1000 miles starts with a single step. On this, I wholeheartedly agree.

My journey with SnapShot! for Dynamics CRM started almost five years and 20-some-odd versions ago.  It rather freaks me out that SnapShot! is even older than my two kids.

It started off with a collection of code-snippets that performed different data extraction tasks. Much of it I learned while working with my JavaScript conversion tool, Transformer!.  The remainder was just a need here and a requirement there. In the Fall of 2012, I finally decided to unify all of the parts and pieces I had collected and written over the years.  And so SnapShot! was born.



Today I am releasing SnapShot! version 4.5. This is the largest update that I’ve released in quite some period time and it represents months worth of work of which I am quite proud.

I am also moving all of my applications to my xRM Coaches, LLC, away from CRM Accelerators.  This starts with SnapShot! and will involve transitioning all of the applications over time with a culmination of CRM Accelerators being moved fully into xRM Coaches.  Not much would change, but when gets folded into, I didn’t want it to come as a surprise.

Drop me an email if you have any questions.

Thanks, Mitch

SnapShot! v4.5 Release

Please visit the new SnapShot! product page for more information links to other resources.


Here are the highlights:

New Reports

  • A report for Reports has been added to the Business Management worksheet.
  • The Recurring System Jobs report contains things like bulk-delete jobs, duplicate detection jobs, etc.
  • The Duplicate Detection Settings report consolidates information related to the Duplicate Detection feature including settings and rules.
  • The Auto Numbering report simply consolidates the auto-numbering system settings into its own worksheet.

New Features

  • JavaScript Web Resources may now be exported and will be placed into a JavaScript folder below the ForDevelopers folder.
  • Document Templates have been added to the Templates report.

Bug Fixes

  • The Processes report could fail if a Global Action was encountered. This was caused by the Primary Entity name being blank.
  • Removed any characters Excel considers “illegal” when naming workbooks.



SnapShot! was updated to use the Dynamics 365 assemblies (dlls). This corrected issues connecting to Dynamics 365 as well as some of the later versions of Dynamics 2016.

The entire codebase for SnapShot! was refactored. As we all know, everything within Dynamics CRM is related and when creating documentation, it is not any different.
I examined the entire codebase and made sure that I was only retrieving the data that I needed, when I need it. This resulted in several major speed improvements. Instead of pulling back an entire dataset I only retrieve the required subset.

SnapShot! v4.3 documented my main xRM Coaches CRM Online 2016 environment in: 6m:03s.

SnapShot! v4.5 produced the same reports, plus the new reports in: 3m:43s.

Where practical, the documentation file is created soon after the data is collected. Prior versions collected all the data, then created the reports. This change is to help alleviate some resource and memory constraints caused by extremely large Dynamics CRM deployments.

The Dynamics CRM Online data center list updated with these new additions:

  • Canada (CRM3)
  • United Kingdom (CRM11)
  • Microsoft Cloud Germany


I’ve given the Excel reports an overhaul and tried to make them easier to read by adding things like:

  • Frozen top row.
  • Cell word-wrap.
  • Column widths that are sized to the content, where possible.
  • Set column widths for cells that generally contain a lot of text, like Description which makes use of the word-wrap feature.
  • Cell content positioning is now at the top-left, instead of the bottom-left. This will help readability when word-wrapping extends the size of the cell.


I realized that I had neglected to omit a type of entity known as an Intersect Entity. This is the table that stores the many-to-many relationship data. I have now excluded it from the Entity List because there is nothing that you can configure or change either manually or programmatically. This will reduce the size of the report output for both the Customization reports and the Security Role reports.


  • Removed the Default Queues from the report. Default Queues are those created automatically by the system and contain < and > in the name.

Security Roles

  • Removed the Activity Feeds and Support User from the list of security roles.
  • Added new security privileges added to Dynamics CRM 2016 and Dynamics 365.
  • Added a column that would display the count of the Teams that have the role assigned.

Security Role Detail

  • The report has been reformatted to make it more visually appealing (I hope).
  • The dots indicating privilege level have been converted into high-resolution images so that they are not so “grainy-looking” when printed. This did increase the size of the documents, but not horribly so.
  • The User Count and Team Count have been included in the report so you know how many users and teams have been assigned a security role.

System Settings

  • Removed unnecessary settings
  • Modified any setting that contains a reference to a System User to include that user’s full name in addition to their ID.
  • The System Settings report has been modified and the settings categorized base on how they are displayed within the Dynamics CRM/365 user interface. Each tab on the system settings dialog (plus some hidden settings), are being reported on individual worksheets within the Administration Report workbook. This is to help you more easily locate a specific system setting.

User Settings

  • Added an Active column to indicate if the user is Active or Inactive


  • This data is now only extracted for entities where the IsCustomizable flag is set to true. The Fields report already used this filter but it was added to the OptionSets report as well.

JavaScript Libraries

  • Any Microsoft-created library (those that begin with “msdyn_”) is automatically removed from the list. This effects the Jscript Library Usage and Jscript Function Reference reports.


  • The Publisher Prefix was added to the report.
  • The Unique Name was added to the report.


  • The ViewDetail report has the following changes:
    • Now includes a View Status field which will either be Active or Inactive.
    • There was an issue where nested Linked-Entities were not being extracted from the FetchXML and displayed in the Linked Entities section. This has been corrected.
  • The main View report has the following changes:
    • Rows are now sorted by Entity, then View Name.
    • Associated Views are now included.
    • Layout Column Names now include the pixel width of the column.
    • Fields from Linked Entities found in the Layout Column Names now use the Entity Name instead of the Linked Entity Alias, i.e., contact.fullname.
    • Sort Column Names are now included
    • Find Column Names, which are used by Quick Find Queries now show the proper value.
    • Filter Criteria shows the FetchXML filters for the primary query (not any nested Linked-Entity queries)
    • The Custom View column was using the wrong metadata column and therefore reporting incorrect information (IsUserDefined vs. IsCustom). This has been corrected.


  • Added Delegated Admin as an option to the Access Mode field.


  • The background color of each cell now represents the color of the theme selection.

Leave a Reply 1 comment