Understanding Activities and their unique powers

Dynamics

This post is about technology related to Microsoft Dynamics CRM and contains facts as they relate to the 2016 Online version, but may also apply to earlier versions.  In the previous post on this topic, Dynamics CRM Activities, Activities were introduced. In this post, we review the implications of making an entity an Activity.

Implementing Activities

My first foray into Dynamics began last October with 90% custom entities. I was a babe in the woods with no Dynamics experience or training.  I figured things out as I went along.  All the while I had this nagging concern that I would make a decision that would have downstream implications.  So far, there have been a few gotchas, and the most recent one relates to Activities.  This type of contextual information is where the Microsoft help is so wholly deficient.

Two truths:

  1. A entity can be a type of Activity. This causes the entity to be created with some default functionality related to activities; like start time, stop time, duration, resources involved, etc. as outlined in Dynamics CRM Activities.  See 1 in the screenshot below.
  2. An entity can have related Activities.  See 3 in the screenshot below.

Both of these configuration choices are made during Entity Definition and are permanent. Once you save the entity you cannot change this configuration option.

NewActivityEntity

What does this mean?  Here’s what I’ve discovered:

An entity can be an Activity

When creating an entity, you have a choice to make it an Activity type by checking the Define as an activity entity checkbox.  Checking that box is final.  It cannot be changed, which means more than I realized at first.

First:  The entity is created with a handful of default attributes with special powers. One of them is a Regarding lookup attribute. This lookup is populated with all records from all entities which can have related Activities.  Out of the box, that’s Account, Cases, Contacts, and others.

If you create a record for this entity from a parent, like a Case, the Regarding attribute is automatically populated with the primary key from the Case record.  If, however, you create the entity outside of a parent, the Regarding attribute is not pre-populated.

Like mentioned in the previous paragraph, the Regarding lookup is populated with all records from all entities which can have related Activities. This is problematic if you intended for the Regarding to always be one record type.

For example, I created a File Room Request entity that should only be related to Cases.  When a user is creating a File Room record from a Case, Regarding is pre-populated with the Case’s primary key.  However, if the user creates it from a View or a Dashboard, the Regarding is not pre-populated and the user can select anything.  They could make the mistake of associating it with a contact.  

RegardingLookup

You can filter the list of entities defined as Activities so they make the right choice, but that requires Javascript.

Second: As an Activity entity, the View ribbon displays a button for each entity defined as an Activity. In this screenshot you can see Task, Email, Phone Call, Fax, Campaign Response, and under Other Activities are the custom entities you’ve created as Activity types.

ribbon

Third:  Where Activities appear in the user experience is different and you must consider this as it relates to the overall user experience.  Because I checked the Define as an activity entity checkbox when creating the File Room Request entity, I now have File Room Requests launched from the Activities ellipsis on the Case form; whereas, I have other case-related related entities launched from sub-grids.  I could add File Room Request to the a sub-grid as well, but can’t remove it from Activities.  Too many ways for a user to skin the cat creates confusion.

activitylaunch

Activity component within Case form

Note:  You can prevent the entity from appearing in the Activities menu shown in the screenshot above by unchecking the Display in Activity Menus checkbox during Entity Definition as shown in the first screenshot.

Fourth:  The icon you select for the 32×32 dimension (you can specify a 16×16 and 32×32 icon for a custom entity) must be designed to appear on a white background; otherwise, it will blend into the background on the form it’s on.  You can see it working correctly in the screenshow above.

This is the same 32×32 image used on the Site Map as the sub-area icon; so consider its design carefully.  Related Site:  www.flaticon.com.  Free simple icons that can be downloaded in pre-specified sizes and colors.

I now wish I could figure out how to change all the OOTB icons because I like my white background better. 😉

sitemap

Fifth: If an entity is defined as an Activity, it appears in the Activities View which is filtered on entity type.  Not such a big deal; but consider the user experience and what appears there vs. doesn’t appear there in the context of all of your solution’s functionality.  If they see Tasks, Phone Calls, Appointments, and records from any other activity defined as an Activity type, they may have stop and think why something doesn’t appear that that “feels” like an activity.  If your user has to stop and think, you’ve failed in your UI design.

mywork

An entity can have related Activities

During Entity Definition you can also specify whether the entity you’re creating can have related Activities. You choose this option by checking the Activities checkbox in the Communication & Collaboration section of the Entity Definition dialog as shown in the first screenshot of this post.

The downstream impact is as follows:

First:  The ACTIVITIES section is available for displaying on the entity’s forms.  Each item with a red dot is an example of an entity configured as an Activity type described in the first section.

activities

Second: The Activities icon appears in the related navigation section when clicking the down arrow to the right of the record’s name.

Related

In the second installment I’ll explain all of the unique attributes of an Activity entity.

Leave a Reply

Your email address will not be published. Required fields are marked *