Category Archives: Administration

5 Things you will learn in the Dynamics CRM Management and Troubleshooting Workshop

On Wednesday, January 27th, I’ll be hosting a new edition of my Dynamics CRM Management and Troubleshooting workshop.  Here are 5 things that you’ll learn to help you in your Dynamics CRM administration efforts:

1. Tools every administrator should have in their toolbox

There are a handful of extremely useful, and free, tools available that will help you in your administration efforts. We will discuss where these can be found and how they are used.

2. How to read and understand Dynamics CRM error messages

There are all types of errors that show up in various places within Dynamics CRM. Knowing and understanding these error messages, their origin, etc., can help you reduce the likelihood that they will happen on a frequent basis.

3. Cleaning up your Dynamics CRM organization database

There are a couple of main areas within the Dynamics CRM organizational database that need to be maintained in order to keep the system functioning at its highest level. We’ll cover how and why to keep your database clean.

4. Automating database maintenance tasks

Once we have cleaned up our database, it’s a good practice to add maintenance jobs to keep it clean. We’ll cover the various ways this can be accomplished.

5. The art of platform tracing

Have you ever had to turn on tracing to track down a pesky CRM issue, then you know how challenging it can sometimes be. We will covert both the tools and techniques to make the job of platform tracing easier.

 

Eventbrite - Dynamics CRM Management and Troubleshooting (On Premises)

 

Got questions?  Just let me know.

Thanks, Mitch

End of Year Sale on All Dynamics CRM Utilities

Hi Everyone,

The Dynamics CRM community has been really good to me this year and I thought that I would give everyone who doesn’t already own one of my Dynamics CRM administration or development utilities a chance to purchase one at a discount.

The discount expires at Midnight (Central Daylight Time) on January 1st.

So what utilities do you have?

Here is  a quick review of my Dynamics CRM utility portfolio:

SnapShot!

SnapShot! is the ultimate documentation tool for Dynamics CRM. In face, the only way you can extract most of the information provided in SnapShot!’s reports, is to write a custom application to do so.  We’ve already done this, so let us save you the time and trouble.

Explorer!

Explorer! allows you to review the contents of your Dynamics CRM system to verify:

  • Do I really show my users the data they need to see?
  • Do I have fields in the database not being used and just taking up disk space?
  • Are my forms properly designed, showing the most important information first?
  • Identify Custom Entities that contain little or no data.
  • Find Entities with a higher proportion of disabled records to enabled records.

Transformer!

Transformer! converts your Dynamics CRM JavaScript from the CRM 4.0 object model to the Xrm.Page object model (CRM 2011 and above).  This can save you hundreds, possibly thousands, of hours in converting your JavaScript between the two models. Absolutely anything and everything that could be converted, is converted. What remains must be converted manually. Regardless, it is the fastest way to get into a supported state with your Dynamics CRM JavaScript.

Get the Discount

Use discount code: EOY2015 when you check out.  Remember, the discount expires at Midnight (Central Daylight Time) on January 1st.

 

If you have any questions, please free to contact me.

Thank for you so much for the support over the past year and I would like to wish you a happy and safe New Years holiday.

Thanks, Mitch

v4.1 of SnapShot! for Dynamics CRM Released

Hi Everyone,

I’ve released a new version (4.1) of SnapShot!, my documentation tool for Dynamics CRM.  Here are some of the changes:

Enhanced security privileges by entity

The security privileges by entity report has been enhanced and an issue corrected that did not report a security role properly if the role had no privileges assigned to an entity.

Here is an example of this report:

image

Additional reports while in Trial mode

I’ve expanded the number of available reports while SnapShot! is running trial mode:

image

If you have any questions, or have suggestions for future features, then please let me know.

Thanks, Mitch

v4.0 of SnapShot! for Dynamics CRM is available

Hi Everyone,

Version 4.0 of SnapShot! is now live.  This is the most major update I’ve made in quite a while with so many adjustments that I am skipping versions 3.8 and 3.9 and moving straight to v4.0.

The following changes and additions have been made to SnapShot!

New Reports

  • Access Team Templates
  • Themes
  • Positions
  • Hierarchical security configuration
  • Entity Access Privileges

I am really excited about this report!  It shows you entity privileges across security roles. Here is a sample of the Account entity:

image

New Features

  • SnapShot! now supports a trial mode which will allow you to produce the following reports without having to purchase a license:
  • Entities
  • Fields
  • Views
  • Forms
  • Dynamics CRM 2016
    • Verified security privileges included any changes introduced to CRM 2016
    • Verified connectivity and report processing functionality

    Changes

    • Views Report
    • Now includes disabled views
    • Added the following additional view types:
    • A template for Microsoft Dynamics CRM for Outlook
    • Offline template
  • Process Report
    • Renamed the workflow type PBL to Business Rule.
  • User Report
    • Added a Position field to report hierarchical security configuration information for CRM 2015 and 2016.
    • The Client Access License types (CALs) are now:
    • Professional
    • Administrative
    • Basic
    • Device Professional
    • Device Basic
    • Essential
    • Device Essential
    • Enterprise
    • Device Enterprise
  • Dynamics CRM Component List
    • Modified the component list to make it more compatible with the Dynamics CRM user interface navigation:

    image

    Since SnapShot! supports Dynamics CRM 2011, 2013, 2015, and 2016, I filter the component list based on the version of Dynamics CRM that you have connected to so that only components that are available in that version are displayed.

    • Report Generation
    • Modified the output folder structure and file contents to match the component CRM list show in the SnapShot! user interface.
  • User Privileges Report:
    • Added sections to show the security roles and teams the user is a member of:

    image

    • Security Role and User Privileges Report:
    • Made minor cosmetic changes to the reports.
    • Modified output to only show privileges that are found on the specific version of CRM the report is being created for.

    Previously, all privileges were shown, regardless if they were actually available within that version of Dynamics CRM.

    • Forms Report
    • Modified report to exclude the following form types:
    • Dialog (#8)
    • MiniCampaignBO (#3)
  • Entities Report
    • All Dynamics CRM entities are now exported. Previously, only entities marked as Customizable were export.
    • The Introduced Version property has been added to the report.

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

    If you have any questions or suggestions for enhancements, then please let me know.

    Thanks, Mitch

    System-Wide Alerts in Dynamics CRM 2015

    Dynamics CRM 2015 implemented a new system-wide alerts to inform you of issues with things like the Server-side Sync process. They appear in the user interface as a yellow bar at the top of the page, as you can see below:

    image

    Clicking the View Alerts button will take you to the Alerts view where you may review the individual alerts.

    At this point I am not certain what will be alerted on, besides issues with Server-Side Sync, but those for sure are there.

    Viewing Alerts

    The actual Alerts view is on the Dynamics CRM user interface at the end of the Sales Area:

    image

    The rather fascinating thing about Alerts, is that they are not actually Alerts, they are Traces.  So, when you are working with Advanced Find, you need to use the Traces entity.

    image

    Programmatic Access and Automation

    The Traces (Alerts) entity is actually called TraceLog, which is the entity name to use when writing code using the Dynamics CRM SDK.

    Traces are fairly locked-down so here are some of things you can do with the entity:

    • Create a workflow to trigger on the Traces entity
    • Perform a query using Advanced Find
    • In the SDK TraceLog is listed a “internal use only” but it appears you may use the SDK to perform standard CRUD operations.  NOTE: I have not tested this.

    Security

    Privileges for the Traces entity are found on the Core Records tab:

    image

    It would appear that everyone can Create, Read, and Append Trace records, but only the System Administrator role can delete them.  Since these are standard security roles, you should be able to change these settings if you wish.

    Conclusion

    Traces are a very interesting addition to the Dynamics CRM platform and I need to get more information from Microsoft as to its intended use and if we as developers can actually create alerts that may be seen by the System Administrator.

    That will be my next step, when I have time.

    Explorer! v3.5 for Dynamics CRM Released

    A new version of Explorer! for Dynamics CRM: My answer to a better understanding of your CRM data, the way the data is presented to users, and how it is stored within your database.

    Version 3.5 adds improved compatibility with Dynamics CRM 2013 and 2015.

    Visit the product page for more information about how Explorer! for Dynamics CRM can help you manage your Dynamics CRM data.

    Monitor Queue Routing Rule Workflows

    We ran into a fascinating issue when creating Routing Rule recently.

    Here is the rule:

    image

    This is fairly straightforward, but for some reason, we had an issue where the rule was not firing as we expected.

    I turns out that behinds the scenes, CRM actually creates a workflow to handle the magic required to route the email.

    Normally, you never really see these workflows run because they have the flag set to delete the history if the workflow was successful

    But unfortunately, in our case, something was not configured correctly in this workflow and it was failing:

    image

    We modified the rule slightly and everything seemed to work fine after that. (I wasn’t the one doing the modification so I an not exactly sure what was changed.

    Anyway, the moral of the story is that if you ever see strange workflows, that you did not create, failing, see if they are Routing Rules.

    Registration for Extending Dynamics CRM 2013 Ends Thursday

    Hi Everyone,

    I just wanted to remind you that registration for the Extending Microsoft Dynamics CRM 2013 workshop ends on Thursday, July 17th at 10:00am CDT.

    For more information about this workshop, please review the following:

    http://www.infinite-x.net/2014/07/01/extending-dynamics-crm-2013-workshop

    http://www.infinite-x.net/2014/07/08/why-you-should-be-attending-the-extending-dynamics-crm-workshop

    When you’re ready to register, just click this button:

    Eventbrite - Extending Dynamics CRM 2013

     

    Thanks and I’ll be talking to some of you next week.

    Mitch

    Refreshing your development or QA environment with production data

    In a multi-server environment (Development, QA/Staging/Testing, Production), you occasionally run into an issue where you need to have the latest production data in the lower environments.

    Here is a set of steps that will help you move the Production CRM database into Development or QA.  PowerShell is your friend here so much of this process can be automated.

    Unfortunately, I don’t have any code to share because this was a customer project. But, this is not that hard to reproduce yourself.

    We will review the task of moving to the QA environment, but the steps will apply to any other environment as well.

     

    Step 1: QA Environment – SQL Server

    The first step is to save any data that is specific to that environment, including:

    • SharePoint configuration
    • Custom configuration data, such as is used by plugins

     

    Step 2: Production Environment

    Make or get the latest full backup of the production CRM database.

     

    Step 3: QA Environment – CRM Server

    Turn off the following services:

    • Email Router service.
    • Asynchronous Processing Services.
    • Sandbox service.
    • Unzip service

    Use Get-Service and Stop-service

    Using the CRM Deployment Manager:

    • Disable the QA organization.
    • Delete the QA organization.

    Use Disable-CrmOrganization and Remove-CrmOrganization

     

    Step 4: QA Environment – SQL Server

    From the SQL Management Studio, perform the following tasks:

    1. Detach QA_MSCRM database.
    2. Move QA_MSCRM.MDF and QA_MSCRM.LDF to a separate file system as backup. This is optional, but I’m a little on the paranoid side.
    3. Delete the QA_MSCRM database.
    4. Restore the Production database backup to QA_MSCRM.

    This can be automated using PowerShell using at least two techniques: SMO commands or raw SQL commands, with the latter being the easiest.

     

    Step 5: QA Environment – CRM Server

    Using the CRM Deployment Manager, import the QA database.

    From the Operating System, perform these tasks:

    1. Run IISRESET.
    2. Turn on Email Router service.
    3. Turn on Sandbox service.
    4. Turn on Unzip service
    5. Turn on Asynchronous Processing Services.

    Use Get-Service and Start-service

     

    Step 6: QA Environment – SQL Server

    Perform any PHI cleanup to remove or obfuscate sensitive information including:

    • Phone/Fax numbers
    • Email addresses
    • Contact first and last names
    • Address information

    I would recommend the SSIS Integration Toolkit for Microsoft Dynamics CRM from KingswaySoft.

    You may also wish to review the ALM Toolkit from AdxStudio for additional application life cycle management capabilities.

    So that is about it. As you can see, it’s not rocket science, just a bunch of steps.

    By the way, one assumption is that the servers are all in the same domain. If your environments are in different domains, you’ll have a bit more work to handle mapping users from one domain to the other, but that is something that is totally doable.