Understand basic text mode for groupings
- To gain a more in depth understanding of text mode we recommend watching the recorded webinar event Ask the Expert - Introduction to Text Mode Reporting, which is one hour in length.
- To learn even more about text mode we recommend watching the Advanced reporting tutorials, which together are five and a half hours in length.
- Click here to access API Explorer
In this video, you will learn:
- What text mode is
- What camel case is
- Some text mode code blocks you can use in your report groupings
Many report writers use Text Mode in Adobe Workfront because they’ve exhausted their resources with the Standard Builder, and in some cases still don’t have the report they need or want.
Although Text Mode is not a cure-all solution, it does allow you to get around some of the limitations that you may be experiencing through the Standard Builder. Let’s click on New View here. Now you’ve seen how columns and views are created in the Standard Builder by clicking on New Column and then using a drop-down menu to select Available Field. The Standard Builder simplifies the reporting tool, but because of that simplification, it can be limited. It actually doesn’t have all the fields that could be used in this list here.
That’s why you may want to look to Text Mode to expand your options. The system reads the information you put into the Standard Builder and puts it into a code for Workfront to read. This is Text Mode. All of the same components are there, they just look different. The thing to keep in mind when working with Text Mode is that fields are written in what is called CamelCase.
That means the field is written with a mixture of upper and lower case letters and no spaces. Workfront uses CamelCase to string words together in Text Mode, and most of the time what you find in the Standard Builder would be similar in CamelCase.
For instance, this is how Planned Completion Date looks in the Standard Mode, and here’s what it looks like in CamelCase.
Here’s Budget Status in Standard, and here’s Budget Status in CamelCase.
There are some fields in the Standard Builder that have a CamelCase equivalent that doesn’t follow these rules exactly, but they’re usually pretty easy to recognize and they still refer to the Standard Builder field. For example, Duration in Minutes is Duration Minutes in CamelCase, and External Reference ID is XRefID in CamelCase. A list of fields can be found in the API Explorer.
You can learn more about the API Explorer in the Advanced Reporting Tutorials in Experience League. And that’s a good place to go to find a link to the API Explorer. The Advanced Reporting Tutorials teach you more about Text Mode than we can do here. They contain five and a half hours of video instruction and a manual that you can download.
Here we’ll just show you some handy Text Mode code you can use without having to take the advanced course. Here are a couple of Text Mode code blocks, but I think you’ll find that it’s pretty handy to know.
Here we have a report grouped by team name.
There’s an easy way to remove or change prefixes on groupings. You just need to edit them out using Text Mode.
So we’ll go in and edit this report. Go to the Groupings and click Switch to Text Mode. So all we have to do is change the Group 0 name key field.
And that’s this right here.
To remove this name altogether, we can just change this to Group 0 name equals. Now we save this. There’s no name in there at all.
If you want to put some name, some different name, you can do that as well. Let’s go back in here. And we’ll put name, and whatever we type in here is what it’ll show.
Plus it’ll put that colon in there still, but no way to get rid of that.
You can at least put some other word in there if you want to. Suppose that in your organization, you use many levels of subtasks. In some cases, subtasks have the same names and can only be accurately identified by the parent tasks they’re associated with. So if you watch the Basic Text Mode for Views, you recognize this view here of the For Parents view. Let’s say that your boss wants you to come up with a task grouping that will group based on all the parents of a task up to four generations back.
Your boss wants all the parent tasks to show in the grouping bar separated by commas. If there’s a grouping with fewer than four generations, your boss wants to only have the actual parents shown and doesn’t want to see a lone comma in place of a blank parent.
So here’s the view that will do that. It’s called the For Parents grouping. And you can see that it’s got what your boss asked for. Multiple parents and where there’s no parents, no comma just left there. So how do you get that? How do you make it? That’s what we’ll go do right now. Create a new grouping. We’ll call it another For Parents grouping. Now we’ll switch to Text Mode and get rid of whatever’s there.
And then go to our tutorial. We’ll copy the Text Mode code block and we’ll plug it in. Save the grouping.
And there you go. Be sure and check out the additional Text Mode groupings in this tutorial text.
“Understand basic text mode for groupings” activities
Task - 4 parents grouping
The following text mode will group tasks based on up to four levels of parents, and leave parents that don’t exist blank.
textmode=true
group.0.name=Parents
group.0.valueexpression=CONCAT({parent}.{parent}.{parent}.{parent}.{name},IF(ISBLANK({parent}.{parent}.{parent}.{parent}.{name}),"",", "),{parent}.{parent}.{parent}.{name},IF(ISBLANK({parent}.{parent}.{parent}.{name}),"",", "),{parent}.{parent}.{name},IF(ISBLANK({parent}.{parent}.{name}),"",", "),IF(ISBLANK({parent}.{name}),"No parent",{parent}.{name}))
group.0.linkedname=parent
group.0.namekeyargkey.0=parent
group.0.namekeyargkey.1=name
group.0.valueformat=string
Task - Percent complete grouping
The following text mode will group tasks based on their percent complete. Tasks will fall into one of the following categories when grouped:
- 0%
- 1% to 25%
- 26% to 50%
- 51% to 75%
- 76% to 99%
- 100%
group.0.linkedname=direct
group.0.namekey=percentComplete
group.0.valueexpression=IF({percentComplete}<1,"0%",IF({percentComplete}<26,"1% to 25%",IF({percentComplete}<51,"26% to 50%",IF({percentComplete}<76,"51% to 75%",IF({percentComplete}<100,"76% to 99%",IF({percentComplete}=100,"100","***"))))))
group.0.valueformat=doubleAsString
textmode=true
Task - statusEquatesWith, then status
The following text mode will group tasks by statusEquatesWith, then by status.
group.0.enumclass=com.attask.common.constants.TaskStatusEnum
group.0.enumtype=TASK
group.0.linkedname=direct
group.0.name=State
group.0.type=enum
group.0.valuefield=statusEquatesWith
group.0.valueformat=val
group.1.enumclass=com.attask.common.constants.TaskStatusEnum
group.1.enumtype=TASK
group.1.linkedname=direct
group.1.namekey=status
group.1.type=enum
group.1.valuefield=status
group.1.valueformat=val
textmode=true
Proof Approval - Group by project name
group.0.valueformat=HTML
group.0.valuefield=documentVersion:document:project:name
group.0.displayname=Project Name
Proof Approval - Group by document name
group.0.displayname=Document Name
group.0.valuefield=documentVersion:document:name
group.0.valueformat=HTML