Tuesday, July 12, 2011

Modifying Queue Item Views

While the default queue layout might be fine for most users, there are instances when it would be nice if the views for queue items could be modified.  Let's take for example, incoming email queues.  The default layout for an incoming email queue shows the title, type of activity, and the date the activity entered the queue.  What it noticeably does not show is when the email was actually received.  For an incoming email queue, this is typically the creation date.  The activity preview view will show this information, but if you have been assigned several email activities, and would like to work on them in the order the emails were received, the preview isn't a very user friendly way to accomplish this.  It would be better to add the Created On attribute to the queue item view and sort the emails accordingly.

Unfortunately in CRM 4.0, queue item is a system entity, and cannot be customized.  This includes the views.  I believe this to be an oversight on Microsoft's part, one which was corrected in CRM 2011.  CRM supports modifying views that cannot be removed in its system customizable entities, so it would seem that you should be able to modify the views on its system entities as well.

In fact, this can be done, although you have to work around CRM's restrictions to do so.  First, you have to find the Query Id for the view in question.  This can be found easily enough by navigating to the view, and selecting Advanced Find.  Advanced Find will open to this view, and the Query Id can be found in the URL.  You may need to change your Internet Explorer options to always open pop-ups in a new tab in order to insure that the URL for the window is displayed.  The Query Ids for the queue item views are {00000000-0000-0000-00AA-000010001400}, {00000000-0000-0000-00AA-000010001403}, and {00000000-0000-0000-00AA-000010001404}.

Once you have the Query Id, you can call the view manager page directly to modify the view.  The URL for the view manager is http(s)://ServerName/tools/viewEditor/viewManager.aspx?id={[Query Id]}.  From here, you modify the view in the same way you would modify any other view in the system.  You can add columns, change the sort, etc. 

After making the required modifications and saving them, you are ready to publish.  Unfortunately you cannot just select the queue item entity and publish it.  Dynamics CRM will not allow system entitites to be published.  The only way to publish your customizations is to select "Publish All Customizations from the Actions menu.  This will publish your changes to the queue item views, and as the name implies will publish any other pending changes.

Once published, you should see the changes when viewing the queues.  You will need to change all three views mentioned above to see the changes consistently.  While I've used queue item here as an example, this process will work for any of the system entities.