Expand my Community achievements bar.

The next phase for Workfront Community ideas is coming soon. Learn all about it in our blog!

Queue Topic Reporting

Avatar

Level 10

Hi all, so this Queue Topic report is one of my favorite reports to use and also to share with my key stakeholders. It helps me see all of the queue topics in my system and what the configuration behind them is. Prompts are awesome as well, which help provide pre-defined settings for the stakeholders to use for understanding configurations and for building reports. This is what you get as output:

0690z000008K7gtAAC.png

Anyhow, here's the procedure for setting one up. I'm curious to hear how others are managing queue topics. Do you have other reports that you use?

  1. Create a new "Queue Topic" Report
  2. Add a New Column
  3. Delete all of the default columns in the "Columns (View)" interface
  4. Switch to Text Mode on the remaining "Column"
  5. Add first column text block
  6. Add a New Column
  7. Add second column text block
  8. Switch to Grouping Tab
  9. Switch to Text Mode & Add the following:

group.0.displayname=Request Type

group.0.textmode=true

group.0.valuefield=queueDef:project:name

group.0.valueformat=string

group.1.displayname=Topic Group

group.1.linkedname=direct

group.1.namekey=name

group.1.valuefield=parentTopicGroup:name

group.1.valueformat=string

textmode=true

10. Save & Close

First Column

column.0.displayname=Queue Topic

column.0.sharecol=true

column.0.textmode=true

column.0.value=<div style="border-color:#e2e2e2; border-style:solid; border-width:1px; background-color:#deebf2; border-radius:5px; margin-top: 3px; padding-left:5px; padding-top:4px; padding-bottom:4px; font-size:13px;"><strong>Name:

column.0.valueformat=HTML

column.0.width=1

column.1.link.linkproperty.0.name=ID

column.1.link.linkproperty.0.valuefield=ID

column.1.link.linkproperty.0.valueformat=val

column.1.link.lookup=link.view

column.1.link.valuefield=val(objCode)

column.1.listsort=HTML(name)

column.1.namekey=name

column.1.querysort=name

column.1.sharecol=true

column.1.sortOrder=2

column.1.sortType=asc

column.1.textmode=true

column.1.valuefield=name

column.1.valueformat=HTML

column.2.sharecol=true

column.2.textmode=true

column.2.value=&nbsp;Queue Topic ID: </strong>

column.2.valueformat=HTML

column.2.width=1

column.3.linkedname=direct

column.3.namekey=ID

column.3.querysort=ID

column.3.sharecol=true

column.3.sortOrder=1

column.3.textmode=true

column.3.valuefield=ID

column.3.valueformat=HTML

column.4.sharecol=true

column.4.textmode=true

column.4.value=</div><div style="border-color:#e2e2e2; border-style:solid; border-width:1px; background-color:#f2f1ea; border-radius:5px; margin-top: 3px; padding-left:5px; padding-top:4px; padding-bottom:4px; font-size:12px;"></strong>&nbsp;&nbsp;<strong>Topic Group: </strong>

column.4.valueformat=HTML

column.4.width=1

column.5.namekey=queue.topicgroup

column.5.querysort=parentTopicGroup:name

column.5.sharecol=true

column.5.textmode=true

column.5.valuefield=parentTopicGroup:name

column.5.valueformat=HTML

column.6.sharecol=true

column.6.textmode=true

column.6.value=<br>&nbsp;&nbsp;<strong>Default Duration: </strong>

column.6.valueformat=HTML

column.6.width=1

column.7.displayname=Duration

column.7.linkedname=direct

column.7.namekey=defaultDurationMinutes

column.7.querysort=defaultDurationMinutes

column.7.sharecol=true

column.7.textmode=true

column.7.valueexpression=IF(ISBLANK({defaultDurationMinutes}),"N/A",CONCAT({defaultDurationMinutes}/60/8," Days"))

column.7.valueformat=HTML

column.8.sharecol=true

column.8.textmode=true

column.8.value=<br><strong>&nbsp;&nbsp;Custom Form(s): </strong><br>&nbsp;&nbsp;&bull;

column.8.valueformat=HTML

column.8.width=1

column.9.listdelimiter=&nbsp;&nbsp;<br>&nbsp;&nbsp;&bull;&nbsp;

column.9.listmethod=nested(objectCategories).lists

column.9.textmode=true

column.9.type=iterate

column.9.valueexpression={category}.{name}

column.9.valueformat=HTML

Second Column

column.10.displayname=Routing Rule

column.10.sharecol=true

column.10.textmode=true

column.10.value=<div style="border-color:#e2e2e2; border-style:solid; border-width:1px; background-color:#deebf2; border-radius:5px; margin-top: 3px; padding-left:5px; padding-top:4px; padding-bottom:4px; font-size:13px;"><strong><strong>Name:

column.10.valueformat=HTML

column.10.width=1

column.11.linkedname=defaultRoute

column.11.namekey=view.relatedcolumn

column.11.namekeyargkey.0=defaultRoute

column.11.namekeyargkey.1=name

column.11.querysort=defaultRoute:name

column.11.sharecol=true

column.11.textmode=true

column.11.valuefield=defaultRoute:name

column.11.valueformat=HTML

column.12.sharecol=true

column.12.textmode=true

column.12.value=</strong></div><div style="border-color:#e2e2e2; border-style:solid; border-width:1px; background-color:#f2f1ea; border-radius:5px; margin-top: 3px; padding-left:5px; padding-top:4px; padding-bottom:4px; font-size:12px;"></strong>&nbsp;&nbsp;<strong>Assigned To Team: </strong>

column.12.valueformat=HTML

column.12.width=1

column.13.linkedname=defaultRoute

column.13.namekey=view.relatedcolumn

column.13.namekeyargkey.0=defaultRoute

column.13.namekeyargkey.1=name

column.13.querysort=defaultRoute:defaultTeam:name

column.13.sharecol=true

column.13.textmode=true

column.13.valuefield=defaultRoute:defaultTeam:name

column.13.valueformat=HTML

column.14.sharecol=true

column.14.textmode=true

column.14.value=&nbsp;&nbsp;<strong>Team ID: </strong>

column.14.valueformat=HTML

column.14.width=1

column.15.displayname=Route to Team

column.15.linkedname=defaultRoute

column.15.namekey=view.relatedcolumn

column.15.namekeyargkey.0=defaultRoute

column.15.namekeyargkey.1=ID

column.15.querysort=defaultRoute:defaultTeam:ID

column.15.sharecol=true

column.15.textmode=true

column.15.valuefield=defaultRoute:defaultTeam:ID

column.15.valueformat=HTML

column.16.sharecol=true

column.16.textmode=true

column.16.value=<br>&nbsp;&nbsp;<strong>Default Assigned To: </strong>

column.16.valueformat=HTML

column.16.width=1

column.17.displayname=Default Assigned To

column.17.linkedname=defaultRoute

column.17.namekey=view.relatedcolumn

column.17.namekeyargkey.0=defaultRoute

column.17.namekeyargkey.1=defaultAssignedToID

column.17.querysort=defaultRoute:defaultAssignedTo:name

column.17.sharecol=true

column.17.textmode=true

column.17.valuefield=defaultRoute:defaultAssignedTo:name

column.17.valueformat=HTML

column.18.sharecol=true

column.18.textmode=true

column.18.value=<br>&nbsp;&nbsp;<strong>Queue: </strong>

column.18.valueformat=HTML

column.18.width=1

column.19.link.linkproperty.0.name=ID

column.19.link.linkproperty.0.valuefield=defaultRoute:defaultProject:ID

column.19.link.linkproperty.0.valueformat=string

column.19.link.lookup=link.view

column.19.link.value=nested(defaultRoute).nested(defaultProject).val(objCode)

column.19.listsort=nested(defaultRoute).nested(defaultProject).HTML(name)

column.19.namekey=default.project

column.19.sharecol=true

column.19.textmode=true

column.19.valuefield=defaultRoute:defaultProject:name

column.19.valueformat=HTML

column.19.width=120

column.20.sharecol=true

column.20.textmode=true

column.20.value=&nbsp;<strong>Queue ID: </strong>

column.20.valueformat=HTML

column.20.width=1

column.21.displayname=Route to Project ID

column.21.listsort=nested(defaultRoute).nested(defaultProject).HTML(name)

column.21.namekey=default.project

column.21.sharecol=true

column.21.textmode=true

column.21.valuefield=defaultRoute:defaultProject:ID

column.21.valueformat=HTML

column.21.width=120

column.22.sharecol=true

column.22.textmode=true

column.22.value=<br>&nbsp;&nbsp;<strong>Queue Group: </strong>

column.22.valueformat=HTML

column.22.width=1

column.23.namekey=default.project.group.name

column.23.textmode=true

column.23.valuefield=defaultRoute:defaultProject:group:name

column.23.valueformat=HTML

column.23.width=120

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

15 Replies

Avatar

Level 10

Very nice Narayan!

I think it would be interesting to also chart this information over time; perhaps three on a dashboard, grouped by month, one above another showing:

  • stacked bar by Queue Topic per month
  • stacked bar by Routing Rule
  • stacked bar by Status

Connecting this thought with my conversation with Vic late Friday, if he decides to take the plunge and automatically delete originating Issues when they are converted to Tasks:

  • do you convert such Issues in your workflow (and if so, keep, or delete the original)?
  • do you think this information could be preserved in a custom text field (e.g on the Task)?
  • if so, would you bother?

Regards,

Doug

Avatar

Community Advisor

This is awesome !! Thanks Narayan for sharing and giving perfect instructions. Not sure how we will use this, but definitely glad to have it in our arsenal! Monique Evans Stanley Black & Decker, Inc.

Avatar

Level 4

Brilliant report! Just brilliant. Demonstrates a bunch of different textmode techniques that I want to get familiar with / add to my tool belt. I'm focusing on taking our request fulfillment function to the next evolutionary step and this will definitely come in handy. Thanks for sharing!

You win the Internet today.

Avatar

Level 6

This is really cool.

Is there a way to filter out projects that aren't published as Help Request Queues? This report currently shows all projects in my instance, even ones that aren't request queues.

Avatar

Level 10

thanks Narayan! Our instance has a lot of templates that employ use of queue topics, so I made the following changes to the report in order to audit templates.

In Groupings:

group.0.displayname=Request Type

group.0.textmode=true

group.0.valuefield=queueDef:template:name

group.0.valueformat=string

group.1.displayname=Topic Group

group.1.linkedname=direct

group.1.namekey=name

group.1.valuefield=parentTopicGroup:name

group.1.valueformat=string

textmode=true

In Filters:

Queue | Project ID | Is Blank

Avatar

Level 4

You could filter on "Is Public". If "Is Public" equals 'None', the queue hasn't been published.

Note: You may also want to filter on the project status, as there could be 'published' queues in a status that would hide them from users (eg. anything other than Current)

Avatar

Level 6
Awesome Rick! That's exactly what I needed. Vincent Goodwin The Capital Group Companies

Avatar

Level 2

Hey @NRYN R - inactive‚ this is such a great report!

Have you by chance been able to solve the issue with the New Experience wrapping each shared col in a SPAN?

I had a very similar report built but yours looks much nicer so I decided to try it out.

‚I've attached some screenshots of what I am talking about.

0690z000008K7jiAAC.png0690z000008K7jsAAC.png

0690z000008K7jOAAS.png

Avatar

Level 10

Hi Cory,

I'm glad you're finding this code useful. If you manage request queues, it's a must have report in my opinion. In fact, I've since combined this report with several others in what's now our WFPro Request Queues package, something you might want to explore further since you use request queues.

Unfortunately, I am not attempting to adjust any of my code for New Experience for a few reasons. The main reason is that my code relies mostly on HTML, which I expected would render exactly in Workfront New as it does in Workfront Classic. However, New wasn't ready to handle these kind of views when it was released in beta. I've recently partnered with @Exp - Lilit Mkrtchyan‚ at Workfront to test various views against a development environment to assist in bringing parity to the experiences and significant progress has been made, including a fix that causes shared columns to render incorrectly.

I'm not sure how long it will take to see these changes in New, but I suggest switching back to Classic (or create a second admin account) if you need to use reports such as this one. Unfortunately, that doesn't help all of the other users who rely on this or similar reports, which is why I and every one of my users must remain in Classic until the entire app is in parity with New.

Thanks,

Narayan

Avatar

Level 10

This is really excellent Narayan. This helps at a great level to see the Queue topic name Vs Routing name at the same time as per company wise.

Thanks a lot for sharing your expertise in this regard.

With regards,

Kundan.

Avatar

Level 4

Hello, Narayan,

Thanks for all the collaboration to make sure the complex text mode views are being rendered correctly. Our text mode fixes are already in Preview and should be applied to both NWE and Classic. Can you please confirm that your reports and views look correct in NWE too?

Thank you!

Lilit

Avatar

Level 10

Hi @Exp - Lilit Mkrtchyan‚ ,

Please see the WFPro Classic vs New recording, which I think calls out most of the issues I see between the two at this time. I'm happy to revisit these same reports when changes have been applied.

Thanks,

Narayan

Avatar

Level 2

Hello @Exp - Lilit Mkrtchyan‚ ,

I can confirm the issue I reported up above does seem to be fixed in Preview. Is there an ETA when Preview changes will be pushed to NWE?‚‚

Avatar

Level 6

Thanks for sharing this @NRYN R - inactive‚ Although it was a little startling to see the amount of clean up that's needed in our queue set ups, this report is really very helpful!

Avatar

Level 4

Hello, @Cory Onay‚ ,

I'm glad your issues are fixed now! Our latest improvements with text mode will be delivered to Production with 20.1 release in a couple of months. Please let me know if you notice anything else that we should look into before the release.

Thank you!

Lilit‚