Limiting owner to Queues
Is there any way to limit selections in the owner field to a queue (and not workers)? The goal is to insure that an incident always has group visibility and accountability for automated time based notifications. As multiprocess incidents may get reassigned to several other individuals or queue/groups through the lifecycle of the incident,and both workers and queues appear in both owner and assigned fields, we need a way to insure that a queue/group always maintains ownership visibility of all incidents. Otherwise, workers have the ad-hoc ability to assign to an individual and own to either the same individual or a different individual (this causes problems when the individual is on leave or is reassigned outside of service management). As a result, group/queue accountability is lost, and incidents tend to be missed without frequently changing queue queries to include the queue and the individuals that are part of the queue.
I have incident validation rules that only allow for queues only to be selected for the owner, but non-queue workers still appear in the dropdown box which causes confusion. would be ideal to limit selections to queues only.
Limiting owner to Queues
Since the workers and queues are listed in the same table (Worker Tbl), how would you distinguish between them? They are intermixed with values asssigned in the order they were created. Listing them in separate tables would go beyond basic customizations.
Owners and Assigned to
Both owners and assigned to are based off of the workers data source in the workitemeditgeneral.ascx.
If you really only want to sonly ee the queues for the owners I would do the following
Good Luck! :)
John Golembiewski
Midwest Practice Principal
ITS Partners
Jgo@itsdelivers
Also...
I also meant to say that in your mimic field you could create a query for the new drop down like...
John Golembiewski
Midwest Practice Principal
ITS Partners
Jgo@itsdelivers
Solution
We have recently done this exact thing. The important thing to note is that the Workers are distinguished with the is_virtual column. If is_virtual=1, it is a Queue. 0 is a person.
In order to limit the dropdown box to show these items, you need to exit the subWorkItemEditGeneral template. (Remember that it is recommended to create a custom.config file and copy any modified templates to a custom folder.) in the (My)subWorkItemEditGeneral template, there are 3 lines that need to be copied:
if DataStore("Workers") is nothing then
DataStore("Workers") = New ListDataSet("WorkerList")
end if
Paste the copied lines directly underneath (before the next 'if' statement) and change the code to look like this:
if DataStore("WorkersQueue") is nothing then
DataStore("WorkersQueue") = New ListDataSet("WorkerListIsVirtual")
end if
Now go down near the bottom to this line:
aw:DropDownList ID="ddlOwnedBy".....
and change the value of DataSourceName from "Workers" to "WorkersQueue".
Now the Owned By field can be used to always track which group the incident belongs to, regardless of which individual it is assigned to.
You will need to create some incident rules to properly display the Owned By and Assigned To values, but in our case it is well worth it.
limiting owners to queues- Steve Wayment Solution
I followed Steve steps, but I still show all of the workers and queues in the owner field. Any help?
Some steps to try
First of all, are you sure you are hitting the correct page? Make sure that you are going to the right worker console. If you are using a custom worker console, make sure the custom.config is pointing to the correct version of your subWorkItemEditGeneral file. An easy way to check is change the label of a field that you can recognize, save the file and refresh your incident page. If I change "sidLblType" to "test" it should now display "test" instead of "Type" on the page.
Second, make sure your code is correct. There may be some items that I changed and forgot to mention, such as the PreserveItems value. Here is an example of what mine looks like:
if DataStore("Workers") is nothing thenDataStore("Workers") = New ListDataSet("WorkerList")
end if
if DataStore("WorkersQueue") is nothing then
DataStore("WorkersQueue") = New ListDataSet("WorkerListIsVirtual")
end if
if DataStore("WorkerListPersons") is nothing then
DataStore("WorkerListPersons") = New ListDataSet("WorkerListPersons")
end if
If everything mentioned above looks correct, make sure you have the WorkerListIsVirtual item listed under the Query table in your database. It's possible that this is a custom query, I honestly don't remember. If it does not exist, you can add a row to the table. Name it WorkerListIsVirtual (case sensitive) and add the following code as the expression:
The cache_results column should be set to '1'. Using a script to update the table can sometimes be a little tricky -- the formatting can be confusing. If you need help just let me know!
Would you like to reply?
Login or Register to post your comment.