Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.
Endpoint Management Community Blog

Assign and Reassign Searches Should Only Return Users That Are Servicedesk Technicians

Created: 28 Sep 2011 • Updated: 28 Sep 2011 • 5 comments
toomas's picture
0 0 Votes
Login to vote

The steps below should do the trick for the Idea from this link:
https://www-secure.symantec.com/connect/ideas/assign-and-reassign-searches-should-only-return-users-are-servicedesk-technicians

I. Advanced Incident Submit Form:

SD.Feeder.TechnicianIncidentForms > Primary model > Create Incident dialog > User Interaction tab > Forms Model

The simplest way seems to be adding a check after results have been received.
1. Add a 'Configurable Collection Filter' component after 'SearchUser (8)' on 'Found' path:
- Data Type: LogicBase.Core.Ensemble.UserMan.User
- Array Variable Name: FoundAssignees

2. Edit the Filter model in that component

3. Add 'GetUserGroups' component:
- Inputs: UserEmail: Process Variables > Add > Element.PrimaryEmail
- Outputs: Result: UserGroupsList

4. Add 'Item Is In Collection' component:
- Data Type: Text
- Array Variable Name: UserGroupsList
- Item: Constant Value: Support I

5. Connect the outputs from 'Item Is In Collection' to
- True: Keep Value
- False: Filter Out Value

This will leave only users in Support I group. To include users in other groups (Support II, Service Managers, custom technician groups etc), just add more similarly configured 'Item Is In Collection' components onto the 'False' path of previous one.

Offtopic, but as this has been asked recently, you might as well also sort the results while you are already modifying that workflow:
- Add a 'Simple Collection Sort' component on the same path
- Data Type: LogicBase.Core.Ensemble.UserMan.User
- Sort Field: FirstName
- Array Variable Name: FoundAssignees
- Sort Direction: Ascending

II. Incident Reassignment Smart Task:

SD.IncidentEscalation > Primary model
There are two Embedded models called 'Search Users' - In 'Advanced Escalation Settings' and 'Specific Escalation'. Both of these should be modified. As these models already include looping through found users, we can add the same group list checking into these loops:

1. Add 'GetUserGroups' component as the first thing after 'For Each Element in Collection':
- Inputs: UserEmail: Process Variables > Add > UserFoundInSearch.Email
- Outputs: Result: UserGroupsList

2. Add 'Item Is In Collection' component:
- Data Type: Text
- Array Variable Name: UserGroupsList
- Item: Constant Value: Support I

3. Connect the outputs from 'Item Is In Collection' to
- True: continue to 'Create Assignment Target'
- False: directly to 'For Each Element in Collection', skipping the rest of the looped components.

Again - this will leave only users in Support I group. To include users in other groups (Support II, Service Managers, custom technician groups etc), just add more 'Item Is In Collection' components onto the False path of previous one.

Comments 5 CommentsJump to latest comment

paro's picture

Hello Toomas.

Thanks for the guide.

I did however run into "problems" with the first task where you state that we should pick LogicBase.Core.Ensemble.UserMan.User for data type.

This item isn't selectable. There is no UserMan.User item at all in there.

Can you please check if that value is applicable in SD 7.1 (sp1) which I am running.

Cheers,

Patrik
 

Project Manager / Founder
Asterio AB, Sweden
www.asterio.se

0
Login to vote
toomas's picture

Use the datatype Workflow shows you for 'FoundAssignees' variable. Right-click on 'SearchUsers' or a component after that, select 'Browse Data' and tick 'Show type name'. 'FoundAssignees' should be of type User.

The datatype selection list occasionally acts a bit strangely for me, I don't have a User variable there and had to select specifically the variable mentioned above.

0
Login to vote
paro's picture

*** Update ***

I figured it out and here's the full syntax for others:

SD.Feeder.TechnicianIncidentForms > Primary model > Create Incident form builder

Next to the Search User label there's a magnifying glass (subdialog component). Right click this component and edit it > User Interaction tab > Forms Model

Both modifications in this guide works.

Hey Toomas.

I just had an opportunity to try this again (long time I now) but I am having problems understanding which dialog you are referring to in the absolute first instruction.

Can you please clarify: "SD.Feeder.TechnicianIncidentForms > Primary model > Create Incident dialog > User Interaction tab > Forms Model"

I can't find a "Create Incident Dialog" in the primary model.

Please advice.

Cheers,

Patrik

Project Manager / Founder
Asterio AB, Sweden
www.asterio.se

0
Login to vote
IwistIT's picture

Hello Toomas,

Thank you for this article.

I made this customizations in SD 7.1 SP2.

This is slightly different than in version SP1. The Smart Task is also in the sd.incidentmanagement workflow.

Question:

When you open the task in the history webpart, there is a different Assignment Action. I am looking for this workflow/component to change this as well.

Can you help me out?

Thanks,

Willem

0
Login to vote
toomas's picture

The short answer is that these are not in a workflow and thus not modifiable.

Actions in the actual task entry in the History web part are different from smart tasks. In context of ServiceDesk, I would strongly recommend leaving these alone, at least in the normal usage.

The reason - Actions section in these tasks (Edit/Assignments/Postpone/Remove Task) is a Workflow core functionality. When you use these, all the process steps in the projects are skipped as you are modifying the task and task alone directly.

0
Login to vote