Expand my Community achievements bar.

My favorite code snippet for reporting... what's yours?

Avatar

Level 10

This is my favorite by far. It can be added to any Project, Task, Issue or Document Report or List view, and gives you a glimpse into the last update on the record including the first 140 characters, the user and the date of the update all in one cell. This can usually eliminate a few clicks into a record to find the latest update.

Just add a column into your view, switch to text mode and paste the following:

displayname=Latest Update

namekey=latest update

textmode=true

valueexpression=IF(LEN({lastNote}.{noteText})>140, CONCAT(SUBSTR({lastNote}.{noteText},0,139),"...(open for more) -- ", {lastNote}.{owner}.{name}," on ", {lastNote}.{entryDate}), IF(LEN({lastNote}.{noteText})>0, CONCAT({lastNote}.{noteText}," -- ", {lastNote}.{owner}.{name}," on ", {lastNote}.{entryDate})))

valueformat=HTML

Topics

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

19 Replies

Avatar

Level 4
I love it! Thanks for sharing.

Avatar

Level 4

Hi Narayan,

Thanks for posting! This is a great addition to status reports. How did you decide on the 140 character limit, just following Twitter's model? Also, is it possible to include the Time of Day on the entry date?

Andrew Beard

Avatar

Level 3
This is great, Narayan. Thank you!

Avatar

Level 10

It just displays reasonably without adding too much vertical scroll and gave us enough information for a preview. Twitter was pretty successful with that count, so they must be doing something right. ‚ò∫

I don’t believe it’s possible to accomplish the time of day on the entry in a single calculated expression. I was able to adjust it and add a second column for the date and time of day, then setup a shared column, to achieve this. It’s not quite as straight-forward, but gives you what you need to get the following format:

Hey, was this just an older request related to the report I provided today giving insight into the BIO, or is this a little ...(open for more) -- Narayan Raum on 10/27/16 7:37 PM

The code behind the columns is:

column.12.displayname=Latest Update

column.12.namekey=latest update

column.12.sharecol=true

column.12.textmode=true

column.12.valueexpression=IF(LEN({lastNote}.{noteText})>140, CONCAT(SUBSTR({lastNote}.{noteText},0,139),"...(open for more) -- ", {lastNote}.{owner}.{name}," on "), IF(LEN({lastNote}.{noteText})>0, CONCAT({lastNote}.{noteText}," -- ", {lastNote}.{owner}.{name}," on ")))

column.12.valueformat=HTML

column.13.sharecol=true

column.13.textmode=true

column.13.valueformat=HTML

column.13.width=1

column.14.displayname=

column.14.linkedname=lastNote

column.14.namekey=view.relatedcolumn

column.14.namekeyargkey.0=lastNote

column.14.namekeyargkey.1=entryDate

column.14.querysort=lastNote:entryDate

column.14.textmode=true

column.14.valuefield=lastNote:entryDate

column.14.valueformat=longAtDate

Avatar

Level 1

Hi @NRYN R - inactive‚ and @Kruse Collins‚ ,

This is my first post, and I'm new to WF, so please forgive my ignorance. Is there a way to use the "last update" code at the top of this string and have it show ALL updates? I have some users that want to see all updates, and they don't mind scrolling like crazy. Being able to inline edit would be a huge bonus.

Thanks in advance!

Mel

Avatar

Level 5
Narayan, Thank you a ton for sharing this code snippet for Latest Update. I have started using it in many of our reports. By chance, have you figured out the code to do something similiar in the description field? I am not having any luck getting it to work so it shows the first 140 characters.

Avatar

Level 10

This should work. This will just include the description, not any "last updated" information:

displayname=Description

namekey=description

textmode=true

valueexpression=IF(LEN({description})>140, CONCAT(SUBSTR({description},0,139),"...(open for more) -- "), IF(LEN({description})>0, {description}))

valueformat=HTML

Avatar

Level 5
Narayan, thanks a ton! This text mode code is exaclty what I was looking for. Hope you have a great week!

Avatar

Level 7

I like this Narayan! Thanks.

I'll add one that I like that Kathy Leeman gave on this community earlier (for those that missed it). This text mode displays a blue circle if there is a detail description (can be used for both Tasks and Issues). And when you mouse over the blue dot, it displays the text. I like this because it saves space on the view, yet you can see the detail without clicking into the Task or Issue.

displayname=

image.case.0.comparison.icon=true

image.case.0.comparison.leftmethod=description

image.case.0.comparison.lefttext=description

image.case.0.comparison.operator=notblank

image.case.0.comparison.operatortype=string

image.case.0.comparison.righttext=

image.case.0.comparison.truetext=/static/img/r15/icons/casebuilder/light_blue.gif

image.namevalue=string(description)

image.valuefield=description

linkedname=direct

shortview=false

textmode=true

valuefield=description

valueformat=HTML

Avatar

Level 10

My favorite snippet of code is doing a task collection on a project report. This way I can get all the project information for a status report but can also include the incomplete tasks due in the next week.

[Side note: One issue that makes some groups not like this is that tasks don't come back in chronological order. Wanted to give you that heads up]

displayname=Tasks For The Next Week

listdelimiter=

listmethod=nested(tasks).lists

textmode=true

type=iterate

valueexpression=IF({plannedCompletionDate}<$$TODAYe+5d,IF(ISBLANK({actualCompletionDate}),CONCAT({name}," (",{plannedCompletionDate},") || ")))

valueformat=HTML

Avatar

Level 10
Narayan, Greg (and Kathy), this is great. I've taken parts of Narayan's and Kathy's code to just have an icon and show last condition update upon hover on my projects I'm on page. Thanks!

Avatar

Level 2

Hi Greg,

Have you tried to modify this code? I was trying to show the Last Note:Note Text field and haven't gotten it to work. I have tried various versions of the below to lines of code.

image.namevalue=string(description)

image.valuefield=description

Below is my code:

image.case.0.comparison.icon=true

image.case.0.comparison.leftmethod=lastNote:noteText

image.case.0.comparison.lefttext=lastNote:noteText

image.case.0.comparison.operator=notblank

image.case.0.comparison.operatortype=string

image.case.0.comparison.righttext=

image.case.0.comparison.truetext=/static/img/r15/icons/casebuilder/light_grey.gif

image.namevalue=string({lastNote}.{noteText})

image.valuefield=lastNote:noteText

linkedname=direct

namekey=lastNote:noteText

querysort=lastNote:noteText

textmode=true

valuefield=lastNote:noteText

valueformat=HTML

Thanks,

Ali

Avatar

Level 10

Hi Ali, here's my code which I've posted on another thread which I've found this really useful to get to see the last update without having to get into the project.

displayname=Last Update

image.case.0.comparison.icon=true

image.case.0.comparison.leftmethod=lastNote:entryDate

image.case.0.comparison.lefttext=lastNote:entryDate

image.case.0.comparison.operator=gte

image.case.0.comparison.operatortype=date

image.case.0.comparison.righttext=$$TODAY

image.case.0.comparison.truetext=/static/img/r15/icons/casebuilder/flag_green.gif

image.case.1.comparison.icon=true

image.case.1.comparison.leftmethod=lastNote:entryDate

image.case.1.comparison.lefttext=lastNote:entryDate

image.case.1.comparison.operator=between

image.case.1.comparison.operatortype=date

image.case.1.comparison.righttext=$$TODAY-7d

image.case.1.comparison.righttextrange=$$TODAY-1d

image.case.1.comparison.truetext=/static/img/r15/icons/casebuilder/flag_yellow.gif

image.case.2.comparison.icon=true

image.case.2.comparison.leftmethod=lastNote:entryDate

image.case.2.comparison.lefttext=lastNote:entryDate

image.case.2.comparison.operator=notnull

image.case.2.comparison.operatortype=date

image.case.2.comparison.righttext=

image.case.2.comparison.truetext=/static/img/r15/icons/casebuilder/light_grey.gif

image.namevalue=lastNote:noteText

linkedname=lastNote

namekey=view.relatedcolumn

namekeyargkey.0=lastNote

namekeyargkey.1=noteText

querysort=lastNote:noteText

shortview=false

textmode=true

valuefield=lastNote:entryDate

valueformat=HTML

Avatar

Level 2
Thanks, Polly! This is exactly what I needed.

Avatar

Level 4
Thank you for sharing your favorite code to shorten the last status update! I use something similar for the description but couldn't get it to work on the last note text - this is perfect! Leslie Stinson Viasat, Inc.

Avatar

Level 2

this code does not seem to work anymore since the latest update. Has anyone tried to make it work again? It seems that the imag.namevalue=string(description) code is not working - thanks, Yannick

Avatar

Level 10

Yannick, if you copied the code and pasted into this email, then I think the problem might be where the word "image" is missing the "e".

imag.namevalue=string(description)

Avatar

Level 2

Thank you Narayan,

Unfortunately I typed it.

This is the full code I use for a customized view I created of our timeline so the project managers did not have to click on the task to see the description.

displayname=

image.case.0.comparison.icon=true

image.case.0.comparison.leftmethod=description

image.case.0.comparison.lefttext=description

image.case.0.comparison.operator=notblank

image.case.0.comparison.operatortype=string

image.case.0.comparison.righttext=

image.case.0.comparison.truetext=/static/img/r15/icons/casebuilder/light_blue.gif

image.namevalue=string(description)

image.valuefield=description

linkedname=direct

shortview=false

textmode=true

valuefield=description

valueformat=HTML

The code for the latest update works though. Also, it used to work before the latest WF update.

Thanks,

Yannick

Avatar

Level 5

Hi, Yannick,

We reported this as a bug to Workfront, and they've made a fix to the extent that the circles show up now.

There are still flaws.

If you have two or more columns based on Task Description, the second one overwrites the first one. A fix to this is in the WF backlog, but not queued up for any work.

Also, the hover to show the content of the description doesn't work.

I'll reiterate that functionality. I think they forgot about the hover.

Best,

Alana