Since tabs have gone away in NWE, I've been searching for a way to push favorites to users. I don't want to clog up a users nav bar with reports and dashboards, etc. but I want some teams, roles, etc. to have quick access to some things. I think favorites is the way to do that.
It's been a little spare time project of mine for a few weeks.
It seems to be in the user metadata:
"favorites": {
"label": "Favorites",
"typeObjCode": "FVRITE",
"targetTypeObjCode": null,
"fieldType": "Favorite",
"enumTargetObjCode": null,
"enumType": null,
"url": "https://company.my.workfront.com/attask/api/v13.0/fvrite/metadata"
},
but there's really no way I've found to put to it from an API call. If I had the right code I could possibly put a favorite to a user. Or, better than that, use Fusion 2 to push favorites according to teams, groups roles, etc.
I mapped out the structure of the favorite here:
{
"ID": "5e9b570100fc6bc9e55422d14f396df2",
"name": "EG Dashboard",
"objCode": "FVRITE",
"customerID": "5731f662003e348aaef9b720a2b190cd",
"objID": "57b3723001e3d8e99b465892d5258210",
"objObjCode": "PTLTAB",
"userID": "5e2ef17a000e86977aeccba89b685154"
}
"ID": ID of the favorite
"name": Name of the favorite (Label)
"objCode": Object type
"customerID": your company Customer ID
"objID": ID of the target object
"objObjCode": Target object type
"userID": ID of the user who is getting the favorite
Solved! Go to Solution.
Topics help categorize Community content and increase your ability to discover relevant content.
Views
Replies
Total Likes
Hi Randy,
If you're dead set on force-adding favorites to user profiles, I have your API call. It can definitely come in handy for certain situations.
Your question speaks to a bigger problem of "how do I push and maintain a persistent view of objects to users that is dynamic and relevant to each viewer?" Force-adding favorites is one method, but many Workfront customers aren't savvy enough with the API to be able to do that. We've settled on a concept that we call "publishing objects." I won't get into the details of that here, but if folks are interested let me know and I may make time to post the details in a separate thread.
With that out of the way, here you go:
METHOD=POST
https://company.my.workfront.com/attask/api/v13.0/FVRITE?userID=5c4xxx0c0&objObjCode=PROJ&objID=5c4xxx452
Just swap out the userID, account for the correct object type in objObjCode, and plug in the object's ID.
Enjoy!
Instead of Favorites, what about a dashboard that uses Add External Page links with a height of "1"?
That's assuming you're trying to push the same batch of "favorites" to multiple people.
Views
Replies
Total Likes
I already do that but it still takes up a space on the nav bar. Since it's just a database, I should be able to POST to it and get to the favorites.
Views
Replies
Total Likes
Hi Randy,
If you're dead set on force-adding favorites to user profiles, I have your API call. It can definitely come in handy for certain situations.
Your question speaks to a bigger problem of "how do I push and maintain a persistent view of objects to users that is dynamic and relevant to each viewer?" Force-adding favorites is one method, but many Workfront customers aren't savvy enough with the API to be able to do that. We've settled on a concept that we call "publishing objects." I won't get into the details of that here, but if folks are interested let me know and I may make time to post the details in a separate thread.
With that out of the way, here you go:
METHOD=POST
https://company.my.workfront.com/attask/api/v13.0/FVRITE?userID=5c4xxx0c0&objObjCode=PROJ&objID=5c4xxx452
Just swap out the userID, account for the correct object type in objObjCode, and plug in the object's ID.
Enjoy!
@William English‚, I'd like to hear more about these "publishing objects" if you can find the time.
Views
Replies
Total Likes
That's awesome. Thanks for taking the time to post this.
To clarify further:
userID=5c4xxx0c0 (This would be the GUID of the target user)
&
objObjCode=PROJ (This would be the type of object the favorite links to)
&
objID=5c4xxx452 (This would be the GUID of the linked object)
So I would not need:
"ID": (because it's not a Favorite yet)
"name": (I assume it just pulls the object name)
"objCode": (again, because it's not a Favorite yet)
"customerID": (This pulls from my instance)
Is that all correct?
I would be really interested in hearing about Publishing Objects.
And thank you again, you saved me hours of work and discovery.
Views
Replies
Total Likes
That's all correct, Randy. And, I should have taken the opportunity to mention that it is possible to report on user's favorites.
This is a component of a larger approach, that allows users in supportive roles - perhaps group admins who lack login as rights; or a team SME, to check and see if a user they support has a certain object favorited or not. For sys admins with login rights, it saves us clicks because we can just click on the user's name anywhere in Workfront.
The larger approach is sadly not supported in New Workfront Experience, and it's one reason we haven't made the jump. That is, custom dashboards are no longer something you can add on the USER object. Having a good user-detail dashboard that is accessible directly on the user profile is really efficient. It allows admins to make some very fast inline changes without opening up the Edit Profile pane, but moreso just gives us a custom look of all the user attributes that we are interested in seeing at a glance.
In the attached graphic, my favorites are circled in green. The text mode for this column is:
displayname=Favorites
listdelimiter=<br>
listmethod=nested(favorites).lists
textmode=true
type=iterate
valueexpression=CONCAT({objObjCode}," - ",{name})
valueformat=HTML
If I had more patience, I would build a long if statement to replace the objCode with its proper name (Show "Report" instead of "PTLSEC") but the people who use this know what they are so I haven't bothered.
Views
Replies
Total Likes
@William English‚
Here ya go!
BTW, How did you get the little icons in your report?
For those of you who can use this, it replaces object type with common name in a collection of favorites in a user report. Enjoy!
displayname=Favorites
listdelimiter=<br>
listmethod=nested(favorites).lists
textmode=true
type=iterate
valueexpression=IF({objObjCode}="ANCMNT",CONCAT("Announcement"," - ",{name}), IF({objObjCode}="CALEND",CONCAT("Calendar"," - ",{name}), IF({objObjCode}="CMPY",CONCAT("Company"," - ",{name}), IF({objObjCode}="DOCU",CONCAT("Document"," - ",{name}), IF({objObjCode}="OPTASK",CONCAT("Issue"," - ",{name}), IF({objObjCode}="PORT",CONCAT("Portfolio"," - ",{name}), IF({objObjCode}="PRGM",CONCAT("Program"," - ",{name}), IF({objObjCode}="PROJ",CONCAT("Project"," - ",{name}), IF({objObjCode}="PTLSEC",CONCAT("Report"," - ",{name}), IF({objObjCode}="PTLTAB",CONCAT("Dashboard"," - ",{name}), IF({objObjCode}="TASK",CONCAT("Task"," - ",{name}), IF({objObjCode}="TEAMOB",CONCAT("Team"," - ",{name}), IF({objObjCode}="TMPL",CONCAT("Template"," - ",{name}), IF({objObjCode}="TSHET",CONCAT("Timesheet"," - ",{name}), IF({objObjCode}="USER",CONCAT("User"," - ",{name}), CONCAT({objObjCode}," - ",{name}))))))))))))))))
valueformat=HTML
Views
Replies
Total Likes
Views
Replies
Total Likes
Nerds.
Have a great long weekend <grin>
Regards,
Doug