Hi Everyone,

Version 3.2 of SnapShot! has been released.

I made minor changes to this release, mainly around the Status and Status reason fields. They are now included on the Field report and the OptionSet report.

Visit the SnapShot! product page for more information and to download the sample report.

As always, thanks for your support and let me know if you have any suggestions for additional reports.

Thanks, Mitch

Notes to myself on troubleshooting issues with SSRS.

Error: Report render failure. Error: An error has occurred during report processing. (rsProcessingAborted)

This is probably a security issue.

 

Useful article:

Microsoft Dynamics CRM 2011: Reports created by report wizard may fail when executing

 

List SPNs associated with a server:

setspn –L <servername>

 

SQL Reporting Services Log File Locations:

%programfiles%\Microsoft SQL Server\<SQL Server Instance>\Reporting Services\LogFiles

In most cases, <SQL Server Instance> will be something like: MSRS10_50.MSSQLSERVER

SnapShot! 3.0 for Dynamics CRM is now available.  Here is a quick overview of what is included in this release:

 

Enhancements

SnapShot! was enhanced in the following ways:

 

Report Generation Speed

Internally SnapShot! was entirely re-architected to reduce the amount of time it took to extract data from Dynamics CRM. Additionally, the engines that generate the Microsoft Excel and Microsoft Word documents was replaced.  While the performance of each installation will vary, in my test environment this combination resulted in a speed improvement of greater than 50%.

 

Pack and Go

The ZIP archive technology I was using in SnapShot! produced .zip files that were not compatible with Windows 8 so it was replaced with something that was.

 

Business Object Report Generation

On the SnapShot! user interface, I separated the business objects from the other Dynamics CRM components. Business Objects include:

  • Business Units
  • Users
  • Queues
  • Teams
  • Security Roles

Since each of these can result in an extremely large Excel worksheet, I decided that the summary reports should each receive their own worksheet.

 

New Features

The following new features were added.

Audit Summary

This singular report allows you to see what entities and fields are being audited. Read more about this feature here.

 

JavaScript Function Reference

Produces a list of JavaScript functions found with in the JScript web resources of an organization. Read more about this feature here.

 

JavaScript Events

Converts the JavaScript events defined on a form into JavaScript calls using the built-in Xrm.Page methods. Read more about this feature here.

 

Automation Testing Matrix

This feature creates a comprehensive list of all of the workflows and plug-ins defined within the system which will allow your QA department (or the developers) to develop testing scenarios which will activate the various automation components to ensure they are functioning as designed.

 

For a complete list of all SnapShot! features, please visit our product page.

 

Want Something Special?

If you purchase SnapShot! before Friday, March 7th at 11:59pm MST, you will receive a 10% discount.

Use the code: Conv2014 when you check out.

Hi Everyone,

Next week I will be releasing an update to the ultimate Dynamics CRM documentation tool:
SnapShot! for Dynamics CRM.

This is such a major update that I am moving the version number to 3.0.  Here are some highlights:

  • The internal architecture has been completely changed and the report-generation engines replaced.
  • Report generation is at least 50% faster; more if you have a larger organization.
  • Enhanced support for Dynamics CRM 2013.
  • Additional analysis tools including a comprehensive auditing report.
  • Developer tools including an automation testing matrix to help your QA staff properly test your plug-ins and workflows.

 

Attending Convergence?

I will be there all week working in the Microsoft booth and appearing at the Ask the MVP sessions.  Track me down and ask me for the discount code for 10% off of the purchase price of SnapShot!.

 

Not Attending Convergence?

Email me at mitch at crmaccelerators dot net and ask for the same code.

 

Thanks for your support everyone.

Mitch

I verified a strange bug related to attachments and the deleting of the parent record chain.

  • If you delete an Email with an attachment it deletes the attachment.
  • If you delete a Contact with emails that have attachments the email is deleted but not the attachment.

For on-premise CRM administrators, you can use this script to find the orphans:

SELECT t1.*
FROM Attachment t1
LEFT JOIN ActivityMimeAttachment t2 ON t2.AttachmentId = t1.AttachmentId
WHERE t2.AttachmentId IS NULL

My assumption is that you would need to clean these up manually.

If you are using CRM Online, then you will have a much different story and one for which I do not have an answer.

In a nutshell, you need to use the CRM SDK write a small application that will compare the IDs in the Attachment table to those in the ActivityMimeAttachment table and produce a list of Attachments that are not connected to ActivityMimeAttachments, then delete those records.

Occasionally, and for reasons that are unclear, the CRM Email Router file  Microsoft.Crm.Tools.EmailAgent.SystemState.xml gets corrupted which causes the Email Router service to stop (and your email along with it).

If you find your Email Router is not running and a restart does not work-it immediately starts and stops, check the Windows Application event log to see if you see any errors in the MSCRMEmail category.

They actual error can vary, but it contains a message stating some type of problem with the Microsoft.Crm.Tools.EmailAgent.SystemState.xml file.

Here is a sample Microsoft KB article outlining one such error:

Error event when you try to start the Microsoft Dynamics CRM E-mail Router Service in Microsoft Dynamics CRM: "The E-mail Router service could not run the service main background thread"

Regardless of the error, the solution is to delete the Microsoft.Crm.Tools.EmailAgent.SystemState.xml file then restart the Email Router service.

In the first article we discussed using SQL to determine the size of the Attachments in the database.

My friend Aron Fischman shared with me similar queries using FetchXml:

 

<!--Email Attachment File Size Analysis-->
<fetch distinct='false' mapping='logical' aggregate='true'> 
  <entity name='activitymimeattachment'> 
    <attribute name='activitymimeattachmentid' alias='EmailAttachmentCount' aggregate='count'/> 
    <attribute name='filesize' alias='FileSizeSum' aggregate='sum'/> 
    <attribute name='filesize' alias='FileSizeAvg' aggregate='avg'/>
    <attribute name='filesize' alias='FileSizeMax' aggregate='max'/> 
    <attribute name='filesize' alias='FileSizeMin' aggregate='min'/> 
  </entity> 
</fetch>

<!--Annotation File Size Analysis-->
<fetch distinct='false' mapping='logical' aggregate='true'> 
  <entity name='annotation'> 
    <attribute name='annotationid' alias='AnnotationCount' aggregate='count'/> 
    <attribute name='filesize' alias='FileSizeSum_bytes' aggregate='sum'/> 
    <attribute name='filesize' alias='FileSizeAvg_bytes' aggregate='avg'/>
    <attribute name='filesize' alias='FileSizeMax_bytes' aggregate='max'/> 
    <attribute name='filesize' alias='FileSizeMin_bytes' aggregate='min'/> 
  </entity> 
</fetch>

Way back when, like in version 3.0 and 4.0, Dynamics CRM had a hidden page that would display a list of entities and attributes in a concise list.

That went away in version 2011 but the good folks on the CRM SDK team (Jim specifically), created a managed solution that was included in the SDK.

The main purpose of the tool is to show you information about CRM entities that does not show up on the normal CRM user interface through the dialogs associated with solutions.  This information is available, but only available via programmatic access.

My utility SnapShot! for Dynamics CRM uses exactly the same techniques to produce reports showing information not normally seen through the CRM UI.

 

Installation

After you have downloaded and installed the SDK, you can find the Metadata Browser here:

sdk\Tools\MetadataBrowser

Install the Metadata Browser as you would any other managed solution. When finished, open the solution and go to the Configuration page, where you can launch the different Metadata Browser components.

 

Metadata Browser

The first tool is the main Metadata Browser itself, which you activate by clicking the Open Metadata Browser button:

image

The interface looks like this:

image

As you click on an entity on the left-hand side, it’s properties will be displayed on the right.

At this point you can either view or edit the entity and its details.

 

Entity Metadata Browser

The second function will display a dialog that will allow you to edit an entity. This is the same dialog that is shown when you click the Edit Entity button on the Metadata Browser.

Here is what that interface looks like:

image

As you can see, you can edit or view any of the properties of the entity.

 

In conclusion, this is a simple yet powerful tool and one that is often overlooked but one which is great to have in your toolbox, should you need it.

Version 2.0 of SnapShot! is now available.

Visit the SnapShot! product page to download the sample reports and get more detailed information.

With this update, I've added a report that will dump the raw Security Role data returned by CRM. Several people have requested access to the raw data, instead of having the pretty Word document containing all of the circles.

The report, in Excel format, looks something like this:

image

As you can see, we have the name of the Privilege, the Depth as a human-readable value, and the Depth as it is stored in the database.

This is a precursor to a feature that I would like to add that will perform a comparison of security roles, which should be available sometime before the end of the calendar year. In the mean time, you can create your own role comparison.

SnapShot! v1.9 is now available. The following changes have been made in this release:

1. An Active? column has been added to the Users list to indicate that the user is enabled or disabled.

2. A User Count column have been added to the Security Role, Business Unit, and Team reports.

3. A new column has been added to the Team report to designate Business Unit or Custom.

4. The Views report now includes user-created or Personal views so that we can document custom views added via the Advanced Find feature.

Visit the Product Page for more information and to download a sample report.

As always, please let me know if you have any comments or suggestions.

Thanks, Mitch

Sign up for our new KnowledgeBits service and get news, tips and tricks and more, delivered straight to your inbox.