Dienstag, 7. Februar 2012

CRM 2011 Walkthrough: Reset Selected Users’ Filters

Introduction

This article describes how to combine the ResetUserFilters tool with the Distribute Workflow Activity tool in order to run the ResetUserFilters task for multiple users. The example shows how to reset views of all users belonging to one business unit, but the method is the same for any other relationship.

Pre-requisites

You need to have the Distribute Workflow Activity and the Views and Filters Toolkit plugins downloaded and registered.
For an introduction about these tools see CRM 2011 Distribute Workflow Activity available in Codeplex and CRM 2011 – Reset User Filters with the Views and Filters Toolkit. You can find the assets referenced in this article in the Codeplex projects (http://crm2011ldgmanager.codeplex.com/ and http://crm2011distributewf.codeplex.com).

Walkthrough

We need to create two workflows, a parent (that runs on Business Unit) and a child (that runs on every User affected). Let’s start by creating the child: a workflow on User that resets the user’s views through the ResetUserFilters utility. I named it Reset User Filters:
Child Workflow
Child Workflow
The workflow runs the ResetUserFilters activity for enabled users. Note that one could also specify additional criteria, depending on business rules. Note also that the workflow is marked “Run as a child process”.
Next we need to determine the name of the relationship between Business Unit and User. Looking at the picture below (showing the Business Unit entity), we see that the relationship’s name is “business_unit_system_users”.
Business Unit and User relationship
Business Unit and User relationship
Next I’m going to create the parent workflow on the Business Unit entity which uses the Distribute Activity workflow one-to-many step to launch the Reset User Filters workflow for all users that have this relationship with the business unit. I named it Reset BU’s Users’ Filter.
Parent Workflow
Parent Workflow
See the figure below for the step parameters:
Distribute Workflow activity parameters
Distribute Workflow activity parameters
Now that the workflows are created and activated, let’s test by invoking the Reset BU’s Users’ Filter for a business unit (or for the whole organisation).
Run for the organization
Run for the organization
Results
Results
Note that the distribution has been applied to four users that belong to the base organisation, but only two are legitimate. SYSTEM and INTEGRATION are default users that have the Enabled flag unset, so the child workflow will have filtered them out. However, to my knowledge, nothing happens if you run the ResetUserFilters for those users too.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Free Samples By Mail