Expand my Community achievements bar.

Check out the upcoming December events for Workfront System Administrators!

Help: Text Mode for Conditional Formatting on Current Task Details in a Project Report

Avatar

Level 3

I have a Project Report that pulls in the current task details (assignee name, task, and planned completion date) using the text mode below:

 

displayname=Current Task Details
listdelimiter=<p>
listmethod=nested(tasks).lists
textmode=true
type=iterate
valueexpression=IF({canStart}=true && {status}!='CPL' && {numberOfChildren}=0,CONCAT("•",{assignedTo}.{name},": ",{name},"- ",{plannedCompletionDate}))
valueformat=HTML
width=270

I would like the cell to highlight red if the current task due date has passed. I can get the text mode to work if the planned completion date of the project has passed using the code below, but not sure how to write the code to work for the current task's planned completion date. Can anyone help? 

styledef.case.0.comparison.icon=false
styledef.case.0.comparison.leftmethod=plannedCompletionDate
styledef.case.0.comparison.lefttext=plannedCompletionDate
styledef.case.0.comparison.operator=lte
styledef.case.0.comparison.operatortype=date
styledef.case.0.comparison.righttext=$$TODAY
styledef.case.0.comparison.trueproperty.0.name=bgcolor
styledef.case.0.comparison.trueproperty.0.value=eac6c9
styledef.case.0.comparison.truetext=

7 Replies

Avatar

Community Advisor

Hi Sarah, 

The text mode used to display task-level data in a project report is called a collection. Unfortunately, collections have limited controls and are incompatible with conditional formatting.

If the conditional formatting is critical to your report, then you might consider using a task report instead, and grouping by project. 

If you like my content, please take a moment to view and vote on my Idea Requests: https://tinyurl.com/4rbpr7hf

Avatar

Level 3

Bummer. About 80% of my columns are at the project level, this is the only column I pull in at the task level so I don't think a task report would work because I need some of my columns to be inline editiable, such as the Project Status. 

Avatar

Level 4

Howdy! 

 

For many years I too wanted to achieve the above yet all told me "not possible." Well guess what... with the right text mode  anything is possible. I picked the brain of one of my web developers and they helped me piece together the code to achieve the below. As soon as I figured it out I HAD to share with others. And this is the first thread that came up on the topic  ENJOY! Sorry for the multiple posts but I'm quickly hitting the character limit here haha.

 

What it does...

On a project report, pulls in the current task, ready to start but not complete. It pulls each item in with an emoji next to it, and if there are multiple items, each should go to its own line. This makes it easier to read when multiple tasks are happening on the project at a given time.

lindselib_0-1683552879444.png

 

Avatar

Level 4
  • The icon next to the task due date will appear green if today or greater, and red if past due. If the task is assigned to a person, a smile emoji and the person’s name will display, if assigned to a team a group of people and the team name will display, and if the task is unassigned a question mark and the words “unassigned” will display.

lindselib_6-1683553228158.png

 

lindselib_7-1683553228160.png

 

And yes this means that you can now search the report for  “unassigned” or for a specific person or team name and it will pull up those items sitting with them.

Avatar

Level 4

Here is the cheat code to achieve this awesomeness...

 

TASK NAME

displayname=Current Task
listdelimiter=<div>
listmethod=nested(tasks).lists
textmode=true
type=iterate
valueexpression=IF({numberOfChildren}=0,IF({canStart},IF(CONTAINS("CPL",{status}),"",CONCAT("✔ ",{name}))))
valueformat=HTML

 

TASK ASSIGNMENT

displayname=Task Assigned To
listdelimiter=<div>
listmethod=nested(tasks).lists
textmode=true
type=iterate
valueexpression=IF({numberOfChildren}=0,IF({canStart},IF(CONTAINS("CPL",{status}),"",IF({assignedToID}!="",CONCAT(" ",{assignedTo}.{name}),IF({team}.{ID}!="",CONCAT(" ",{team}.{name})," Unassigned")))))
valueformat=HTML

 

TASK DUE DATE

displayname=Task Due
listdelimiter=<div>
listmethod=nested(tasks).lists
textmode=true
type=iterate
valueexpression=IF({numberOfChildren}=0,IF({canStart},IF(CONTAINS("CPL",{status}),"",IF({plannedCompletionDate}<$$TODAY,CONCAT(" ",{plannedCompletionDate}),CONCAT("🟢 ",{plannedCompletionDate})))))
valueformat=HTML

Avatar

Level 4

*Credit due too to Jason from Workfront consulting, for helping teach me some of the text mode to lay the foundation for the above. If you are on the fence about paying for consulting JUST DO IT! So worth it.

Avatar

Level 10


Very nice @lindselib — thanks for sharing!


Pasting icons into calculated valueexpressions within an iterate using divs…gorgeous.

 

Regards,

Doug