Workfront Tag

Thank you for checking out Part 4 of our Evolution of Modern Work series.  If you’re just tuning in, check out Parts 1, 2, and 3 where we have walked through the history of work to arrive at the conclusion that the only way to master modern work is through the intelligent integration of best of breed systems, including an Operational System of Record.   

We’re here at our last stop in this journey – why do I need to master modern work? We’ll start with why and then we’ll meet some of the organizations that are on their “A-Game” in mastering modern work. 

Enterprise Business Outcomes

Surging consumer confidence and record-breaking market milestones have been the norm for the last few years.  But leading expert predictions and economic indicators are signaling a downshift.  Pair that with an increasingly chaotic political environment and heading into a Presidential-election year: in 2019-2020, we may not see the same upward curve.

Organizations that enter this uncertainty excelling at the essentials will be able to devote scarce resources to innovation; competitors, mired in the chaos of undisciplined modern work, are already struggling and most certainly won’t be able to keep up.

With the virtuous circle created by intelligent integrations of best of breed systems, including the Operational System of Record – where strategy, operations, and tactics are all tightly aligned, an organization can drive and achieve enterprise business outcomes:

  • Increase operational efficiency, reduce operational spend
  • Infuse innovation and digital change into the business
  • Create a hard-to-replicate competitive advantage
  • Enhance customer experience and employee satisfaction
  • Maximize return on investment and shareholder value

 

Meet the A-Gamers

There are organizations already on their journey to mastering modern work through the intelligent integration of best of breed systems to drive enterprise business outcomes.  In the public and private sectors, these organizations are at the top of their game – they’re the A-Gamers, bringing the A-Game.

A-Game Enterprises  

With an executive champion and full C-suite support, the A-Game Enterprise is fully integrated and marching in unison toward enterprise business outcomes.  The CIO likely leads the charge; with enterprise reach, deep insight into the technology landscape and ecosystem, and increasing demand in an environment of shrinking budgets, the CIO is uniquely positioned to bring the A-Game to fruition. These same organizations will likely be the early-adopters of a new C-suite role we’ll see emerge: the Chief Work Officer – a role dedicated to the invaluable asset of work.

A-Game Organizational Units

With a departmental champion, the A-Game Organizational Unit is fully integrated and marching in unison toward departmental goals that support enterprise business outcomes. Any organizational unit can be A-Game and even without initial enterprise buy-in, the A-Game Organizational Unit soon stands out – with strategy, operations, and tactics aligned, and actionable insights gained through the Operational System of Record, the A-Game Organizational Unit emerges as the most prepared, the most responsive, the most productive, the most resilient – a master of modern work.

A-Game Leaders

Even if the enterprise or organizational unit hasn’t adopted the A-Game, the A-Game Leader forges ahead. He or she knows the value of the A Game and champions the cause in his or her world of work. Portfolio / Program / Project Management Office Leaders are examples of A-Game Leaders.

Check out some of the A-Gamers LeapPoint has had the privilege of partnering with throughout their A-Game journey.

 

Thank you for joining us for our Evolution of Modern Work series.  Want to know more about mastering modern work and the A-Game?  Join us on our 13-city tour – The A-Game, Powered by LeapPoint; find out more at www.leappoint.com

 

In my last post I talked about the benefits of having a dedicated Workfront system administrator. But from my experience with clients I’ve learned that not everyone anticipates needing full time resources to support a SaaS application. More often than not this stems from a lack of context—being unsure of what duties a sys admin could or should take on and not knowing just how much time those activities can consume. If your organization decides that it needs a Workfront administrator but doesn’t know what to expect, I have created a “starter” list of roles and responsibilities I have performed while working as a Workfront administrator:

 

1. User profile management (1-2 hours per month)

While your account rep will almost certainly ensure you don’t go over your license count for any extended period of time, it can be incredibly helpful to keep track of how close you are to the threshold, whether licenses are appropriately allocated across groups, and whether accounts need to be deactivated. Additionally, it’s a good practice to regularly validate that users have all the appropriate settings—layout template, job role, team assignments, etc.—even more so if you’re leveraging group administrators. Most of this can be easily done by setting up a few key reports. But they still require someone to manually check the information. Below are three simple reports I’ve used in the past:

  • Quarterly license audits
  • Bi-weekly Human Resources termination audits
  • Monthly groups and teams audits

 

2. Report and dashboard management (4-8 hours per month)

This one is no small feat. Depending on where you are in your Workfront journey, creating and managing reports could actually account for the vast majority of your time. The trick, of course, is to create a suite of reports that can be flexibly applied across users through a combination of wildcard filters. But the path to get there is not always so easy…or quick. In my experience, work in this area typically falls into one of three categories:

  • Create reports and dashboards to support project managers, project teams, and executive leadership
  • Customize layout templates for different user personas by applying dashboards to enhance the user experience
  • Quarterly report and dashboard audits

 

3. Custom fields and forms management (1-2 hours per month)

Custom fields can get tricky. Staying on top of field consistency and eliminating redundancy can be the difference between sys admin sanity and overload. But your users don’t really tend to care about all that so long as the fields and forms they need are to their liking. So it’s a “shadow” responsibility for any prudent admin to consistently review custom fields, make sure they have the right data type (string, date, currency, etc.), and that there’s as little redundancy as possible. Doing so will ultimately help keep the Workfront instance leaner and reduce the overhead associated with changes.

  • Create and update custom fields and custom forms to support the various teams using Workfront
  • Review fields across user groups and identify opportunities to consolidate

 

4. Create and maintain standard PMO processes and training documents (8-32 hours per month)

While Workfront is certainly a powerful tool it can’t technically dictate or enforce what your processes and procedures look like. It can help provide some structure; but it still requires users to take an appropriate set of actions in any given situation. That said, your processes certainly need to be simpatico with Workfront. And your procedures need to tie the two together. The Workfront administrator is a powerful resource for helping to do just that: defining procedures, mapping processes, and creating or maintaining training materials that educate staff on how to apply a process in a Workfront-driven world.

 

5. Troubleshoot technical Workfront issues and bugs and coordinate with Workfront technical support when necessary (40-48 hours per month)

I mean, come on, can you imagine a world without a support desk?

 

6. Test Workfront beta preview releases and inform executive leadership and the PMO of Workfront Release changes (4-5 hours per month)

Release management is a big one. There are really two scenarios: 1) completely new functionality or features are being released and you need to assess whether it makes sense to leverage them; or 2) features are being deprecated and you need to game plan how to roll out and train staff on alternatives. The latter doesn’t happen very frequently but when it does it poses a huge risk. Which is why someone needs to stay on top of the releases.

  • Workfront conducts three releases a year that have minor and significant changes to the software. It is recommended that a Workfront administrator or a dedicated resource review and test all new features in the Preview Sandbox region prior to launch
  • Testing is conducted to confirm that current workflows and processes will not be negatively impacted

 

7. Project development and management (1-2 hours per month)

These activities ring particularly true for organizations that don’t yet have fully matured project management methodologies—organizations where project plans may be subject to frequent change or the portfolio/project hierarchy is still fluid. But even teams that have been “PMO-ing” for ages will still find that they need to make the occasional change as they better learn how to take advantage of things like workflow automation and some of the other collaborative features of Workfront.

  • Create project templates in coordination with the PMO
  • Quarterly portfolio, program, and project audits
  • Quarterly queue audits

 

8. Perform general maintenance and updates of the Workfront system (4-8 hours per month)

Invariably things need to get tidied up. Even with the most careful user base there are errors and incorrect settings. And while it’s easy enough to ignore these things, they can go a long way to ensuring data integrity. And if you don’t care about data integrity right now, you will when it comes time to perform operational analysis. Want to know how long projects for a specific line of business take? Then you need to make sure the necessary custom fields are filled out. Need to re-baseline your project benchmarks? Then you need to have confidence in your duration actuals. At the end of the day, the data is all incredibly important, and while users do their best, you need a system of checks and balances to help ensure integrity and accuracy.

 

9. Create configuration documentation for all internal changes and updates to the Workfront system (1-2 hours per month)

A lot of organizations don’t take this one seriously. They see it as needless overhead. But from experience I can tell you it’s anything but. Configuration documentation is basically a requirements and design artifact that gets created when you implement the system and gets updated with each major change you make. It serves, in this sense, as a change log so that if ever you make a serious design/architecture faux pas you have a historical record of what things got changed from so that you can more easily change them back. Trust me when I say nothing is worse than implementing a major change only for there to be user mutiny and no quick means to change things back.

 

10. Traffic intake management (8-12 per month)

Depending on your processes or how many licenses you have, the number of users that can create projects might be incredibly limited. In these instances, traffic and project set up are handled, primarily, by system administrators. They act as traffic managers and make sure all the requisite details on custom forms are filled out and that all approvals are completed in accordance to PMO processes (as applicable). While this area of responsibility is more closely aligned with business users, it can often fall within the purview of sys admins and, when it does, it can take up a significant amount of time.

 

By now, hopefully you’ve realized not just how important dedicated sys admin support is, but how much of it there is to do. It takes a lot of time from a very skilled resource and can be incredibly difficult for someone to do “in the margins”. If you’ve been doing the math you know my “starter list” can easily eat up over 70% of an FTE. And that’s before we even delve into more advanced functions like operational analysis and continual process improvement. The moral of the story is that, if you’re wondering if a dedicate Workfront administrator will have enough to do, you’re asking the question the wrong way. The real question is “who will support these responsibilities if you don’t have a dedicated administrator?”

 

If you’re interested in learning more about what to look for in a Workfront system administrator or if you’d like information on our managed services, contact us at info@leappoint.com.

 

5 questions to ask yourself if you’re debating getting a system admin for Workfront

Many of our clients ask if they should hire a Workfront system administrator. As an ex-sys admin myself, my short answer is almost always “yes”. Workfront, like any other SaaS application in your stack, needs consistent love and care to ensure you’re getting the most out it. And as such, I highly recommend adding a full-time sys admin to your team. In fact, depending on the size of your Workfront instance, you may need more than one. But before you decide to hire a Workfront administrator, ask yourself the following questions:

 

  1. Do your current resources have the time necessary to maintain and update your Workfront instance?
  2. How many users will actively use Workfront?
  3. How mature is the PMO/project management function at your organization?
  4. Does your team/department have the budget to hire a Workfront system administrator?
  5. Has your organization used a Portfolio Project Management (PPM) tool in the past?

 

Let’s take a look at each of these questions in more detail and consider how and why they impact the potential need for a system administrator.

 

1. Do your current resources have the time necessary to maintain and update your Workfront instance?

If your resources do not have the time to test, maintain, and update your Workfront instance, it is highly recommended that you invest in a Workfront administrator or hire a consulting company [insert shameless self promotion for LeapPoint] to handle admin responsibilities. One of the biggest misconceptions about SaaS applications is that you pay someone to implement them for you and then you’re done. Full stop. No more changes required. The reality though, is that environments are in an almost constant state of flux. As users gain a more complete understanding of what the system can and can’t do, their requirements often change; as teams and processes and procedures all evolve, so too must the system configuration; as new features are rolled by the software vendor you need someone there to assess what they are, if they should be leveraged, and then actually implement the necessary changes. When you start to tally up the list of things that need to be done it becomes pretty clear that it’s a difficult responsibility for someone to assume in their spare time. And that’s before routine things like fielding user questions or creating reports.

 

2. How many users will actively use Workfront?

This question really builds upon the previous.  Just because you have X-number of users does not necessarily mean you need Y-number of system admins. However, when you think about maintaining and updating Workfront for the various user bases, there’s obviously a correlation between the number of users and the number of teams, groups, and processes and, in turn, the general complexity of the configuration. Many large enterprises have hundreds if not thousands of active users. And so managing licenses, teams, groups, and companies within Workfront takes significant time and the larger your active user base, the more likely you’ll need a Workfront administrator. While there’s no hard-and-fast rule, my experience has been that organizations typically benefit from a dedicated system admin at around 100 paid licenses (Work or Plan) and an additional 1/2 – 1 FTE for every 150-200 users past that. While it may sound like overkill to some, remember that the system admins are really the ones who ensure things run like a well-oiled machine. They’re the ones who are going to make sure you’re able to use the system to drive measurable business value.

 

3. How mature is the PMO/project management function at your organization?

Successful change management takes time, energy, and money. The more significant the change, the more of each of those things it usually takes. So when we think about the project management maturity of an organization, there’s going to be a very strong correlation between how nascent or unstructured their approach to project management is and the degree of change inherent in bringing in a very structured, very robust PPM tool like Workfront (see “Has your organization used a Portfolio Project Management (PPM) tool in the past?” for more on PPM). Having a dedicated Workfront system administrator can help promote and implement PMO initiatives or related PM processes if you don’t have a formal PMO. Even if you don’t have clear workflows and processes (or perhaps especially if you don’t), a dedicated Workfront administrator can help reduce the time it takes to implement changes at your organization, especially if change happens frequently.

 

4. Does your team/department have the budget to hire a Workfront system administrator?

The one’s pretty self explanatory. You can’t buy what you can’t afford. A couple of thoughts on the topic though. When making the case for sys admin support think about the previous questions and the fact that the effort related to them isn’t really optional. If you want Workfront—or any SaaS application—to be successful and deliver valuable impact to the business, these activities all need to be given dedicated attention, even if the attention isn’t coming from a dedicated resource. So if you don’t hire a sys admin, those responsibilities still have to go somewhere. And that usually means tradeoffs in terms of productivity or quality or potentially both. The other consideration I’ll throw out is that, in a lot of organizations, it can be easier to get budget for contractor support than headcount. It’s also easier to contract out part-time system admin work than to find a direct part-time hire. Together these facts help bolster the business case for this type of support, especially when you can demonstrate the value a sys admin will bring (or the risk inherent in not having one).

 

5. Has your organization used a Portfolio Project Management (PPM) tool in the past?

Workfront is a complex and powerful PPM tool. With that being said, a Workfront administrator has the knowledge and capabilities to configure your Workfront instance as efficiently as possible. When thinking about the cost-benefit of sourcing a sys admin versus using someone from your existing team, don’t discount the learning curve required to truly become an expert. And not just an expert in Workfront. But an expert in PPM methodology as well—object hierarchy, object relationship, etc. And then think of all of that in the context of having to manage and administer Workfront as part of a secondary responsibility. It’s sort of like trying to fly the plane while building it……while trying to learn to fly…..while trying to learn to build an airplane. A Workfront system admin is someone who will come equipped with all of this knowledge, helping you drastically reduce the time to value on your Workfront investment.

 

Ok, so DO I need a Workfront system administrator?

A good administrator will know how to configure your Workfront system to maximize user engagement, increase overall tool efficiency, and improve the effectiveness of the system and the way it’s used. They will know the limitations of the tool and when to “customize” objects (i.e., develop new features that are not out of the box features) in order to meet your organization’s demands. And they’ll know how to strategically “evolve” the configuration to provide continued improvements at a digestible pace. In a nutshell, they’ll enable your organization to leverage Workfront to drive tangible business value. So do you need one? Almost certainly.

 

But not every organization can justify hiring a full-time Workfront administrator. Some organizations repurpose an existing role so that part of the resource’s time will be devoted to Workfront administrative duties. Other organizations contract consulting firms like LeapPoint to perform Workfront administrator roles on their behalf. Either way, hiring or contracting a Workfront administrator will help your organization maximize user engagement, mitigate technical bugs and issues, and reduce the time and cost of fixing, maintaining, and updating your Workfront instance.

 

Still not sure? In the next post I’ll delve into more details about what the day-to-day looks like for many admins, providing a discrete list of responsibilities to help the Workfront community get a better sense of the full scope of the role, and discussing how Workfront administrators can help drive continuous improvement for the organization.

 

Want to learn more about system admin support? Contact us at info@leappoint.com.

 

 

1. Add a billing record to safeguard project

Although Workfront has recently added a recycling bin feature, deleting a project can cause panic, confusion, and loss of productivity, especially if the project you just deleted was a request queue. Prevent any worry around losing key projects by adding a zero dollar billing record to them.

Even if your company or group isn’t using the billing record feature for its native purpose, it can be used here as an extra layer of protection against project deletion. Simply go to the project, create a new billing record, and set the status to Billed”. Then, if someone attempts to delete the project this error message will display and the project will stay out of the recycling bin:

 

2. Make a placeholder job role to prevent assigning users to parent tasks

By default parent tasks can’t be updated or completed independently from their child tasks. The one task detail that can be independently edited on a parent task is the assignment; however, when users are assigned to parent tasks we find that it often leads to frustration when they receive the inevitable error message for trying update the status or completion percentage. To help prevent project managers and other users from accidentally assigning workers to parent tasks, create a job role titled “Do not assign – Parent Task”. Assign this to all of the parent tasks on your project templates and it will serve as a reminder/safeguard that these tasks are a summary of their child tasks and shouldn’t have a user assigned to them.

 

3. As a plan license user, view the resource planner by user

(Note: this assumes your Workfront instance has completed the prerequisites needed for Resource Planning) The Resource Planner is a helpful widget in Workfront to manage the allocation of resources to projects and forecast their availability for future work. Formerly, this was limited to only users who were listed as Resource Managers on projects. With recent updates, however, any user with a plan license can get valuable information from the Resource Planner by setting the view to “View by User”. If the view is set to View by Project or View by Role, results will only be returned for projects where the user is listed as a Resource Manager, putting you right back at square one. View by User doesn’t have that prerequisite and allows other plan license users to see the allocation of all users, regardless if they’re listed as a resource manager.

 

4. Change ID to name in text mode

(Note: this only works for details tab) When creating views and reports in Workfront, there will be instances where the information you want to display is too many levels away from the object you’re working on. This will limit the display options from the field explorer. For example, when adding a column to a task report or task view for the name of the project sponsor, you will find the only option is “SponsorID”. While this makes sense to the Workfront database, this doesn’t provide much value to users viewing the report. Luckily this can be changed with a quick text mode edit.

While in the report or view editor, click on the column for the ID field and switch to Text Mode.

  • On every line where you see “fieldnameID” change the “ID” to “:name”
  • For example change project:sponsorID to project:sponsor:name
  • Click “Save” in the text mode window, then save the view or report.
displayname=Documents
valuefield=project:sponsor:name
querysort=project:sponsor:name
valueformat=HTML
displayname=
linkedname=project
namekey=view.relatedcolumn
namekeyargkey.0=project
namekeyargkey.1=sponsor
namekeyargkey.2=name

 

5. Flag task commit dates greater than planned completion dates

Commit dates are set by task assignees and can’t be changed by the project owner. While the project manager is notified when commit dates affect the project timeline, it can be hard to quickly review a project and see which task commit dates are later than their planned completion dates. With some text mode code, the commit date field can be added to a task view with conditional formatting to display in red when later than the planned completion date.

This can be done by adding a blank column to a task view and switching to text mode, and pasting in the code below:

displayname= Commit Date
linkedname=direct
namekey=commitDate
querysort=commitDate
styledef.case.0.comparison.icon=false
styledef.case.0.comparison.leftmethod=commitDate
styledef.case.0.comparison.lefttext=commitDate
styledef.case.0.comparison.operator=gt
styledef.case.0.comparison.operatortype=date
styledef.case.0.comparison.rightmethod=plannedCompletionDate
styledef.case.0.comparison.righttext=plannedCompletionDate
styledef.case.0.comparison.trueproperty.0.name=fontstyle
styledef.case.0.comparison.trueproperty.0.value=bold
styledef.case.0.comparison.trueproperty.1.name=textcolor
styledef.case.0.comparison.trueproperty.1.value=d30519
styledef.case.0.comparison.truetext=

Click “Save” in the text mode window then save the view you’re editing. Now when viewing a task list, any user commit dates that are later than the planned completion dates will be displayed in red.

 

6. Link directly to queue topics

Have you ever instructed someone to submit a Workfront request and found yourself listing off the steps of selecting the proper request queue, topic group, then queue topic? Theses directions can be eliminated and the end user experience enhanced by sending them a link directly to the queue topic. Instead of sending the URL “domain.workfront.com/requests” with instructions on which drop downs to select, if you select the request queue & specific queue topic, the URL in your browser grows with each selection. This enables the URL to take the user to the specific queue topic without having to manually make any selections. This is incredibly handy when posting Workfront URLs on intranet sites for users to submit work requests.

 

7. Link directly to a sub-tab on an object

In similar vein to tip #6, URLs can also be built to take users to specific tabs on a project, task, issue, etc. To land a user on a specific sub-tab of an object, Workfront allows for a parameter to be added to the URL with the structure below:

https://<domain>.my.workfront.com/project/view?ID=5b6c7eb5003d2022cea3a135cca33ac1&activeTab=tab-project-updates

Normally when viewing a project (or task, or issue), the URL stops after the object ID regardless of which tab is being viewed. By adding the parameter “&activeTab” the URLs will navigate directly to the project tab of your choosing. Some more examples:

 

URL modifier Landing tab
&activeTab=tab-project-details-forms Project Details
&activeTab=tab-project-approvals Project Approvals
&activeTab=list-project-documents Project Documents
&activeTab=tab-project-updates Project Updates
&activeTab=tab-project-optasks Project Issues

 

The same concept and URL structure works on other Workfront objects such as tasks, issues, programs, portfolios, etc. For other objects, simply change the object reference in the URL examples above from ‘project’ to the object you’re referencing.

 

8. Make sure your browser zoom setting is at 100%

Occasionally, when selecting a request queue or an option from a drop down field in older browsers, the drop down option menu appears on a random part of the screen or, in some cases, doesn’t appear at all. Although this seems like a major issue, 99% it’s not a bug and can be fixed very quickly. Double check the zoom on your browser and make sure it is set to 100%. In certain browsers, if the zoom is set to a value other than 100%, it can cause issues with drop downs appearing.

 

9. Link to documents in a project or task view

Use this text mode trick to create hyperlinks to documents from a project view. When creating a project/task view or report, add a blank column and switch into text mode. Copy and paste in the text mode code below, and be sure to update the <domain> section of the URL with the domain of your Workfront instance.

displayname=Documents
listdelimiter=
listmethod=nested(documents).lists
textmode=true
type=iterate
valueexpression=CONCAT({name}, - "https://&lt;domain&gt;.my.workfront.com/document/view?ID=",{ID},"; ")
valueformat=HTML

Click “Save” the text mode window, then save the view or report. Now, when viewing the results, the names of any attached documents will be listed along with a URL to navigate directly to the document.

 

10. Find projects with no tasks, issues, or documents

After Workfront has been implemented, there will inevitably be projects in your system that were either created by mistake or abandoned shortly after creation. While many of these can be cleaned up by searching your instance for “Untitled Project” and deleting any results, this doesn’t work for projects that have had a name change. To assist in system maintenance, use this text mode to find projects with no tasks, issues, or documents. Creating a project report, go to the filter page, switch into text mode, and paste in the code below:

EXISTS:a:$$EXISTSMOD=NOTEXISTS
EXISTS:a:$$OBJCODE=OPTASK
EXISTS:a:projectID=FIELD:ID
EXISTS:b:$$EXISTSMOD=NOTEXISTS
EXISTS:b:$$OBJCODE=TASK
EXISTS:b:projectID=FIELD:ID
EXISTS:c:$$EXISTSMOD=NOTEXISTS
EXISTS:c:$$OBJCODE=DOCU
EXISTS:c:projectID=FIELD:ID[/CSS]

 

Workfront reporting is great. But you’re pretty much limited to either basic visualizations or tables. If you find yourself using tables a lot, chances are you’re trying to display a whole bunch of information associated with a single record. And while you can easily just tack on additional columns to accommodate this information, sometimes doing so becomes more of a hindrance than a help.

So let’s look at some advanced formatting options you can employ to help consolidate information (and pretty things up a bit too!). Take a look at the screenshot below. This is pulled from our user directory where we found ourselves wanting to display more information than was feasible in a table. So we broke it out into things we need to more closely monitor and/or sort on such as groups and teams. We then collapsed what I’ll call “secondary” information into a single column and applied some fancy formatting to help make it all a bit more legible.

 

 

So what’s going on behind the curtain. It’s really just two main tricks:

  1. Shared columns; and
  2. HTML formatting

 

Shared columns

Let’s look at the shared column function first. The second column in the report–“Name”–is technically two columns combined into one which, oddly enough, actually requires three columns. In the code below you’ll see a reference to column.1, column.2, and column.3. Column.1 is really just pulling in the username, but it uses the default field code which comes with some additional features beyond just the first and last name–most notably the status of the user profile (i.e., registered/unregistered)–so it’s a good idea to pull this directly from the text mode of the username field (or just copy it below!).

Similarly, column.3 contains the default code for the avatar field. The magic happens in the code for column.2 (lines 13-17 below). There are two key things going on here. First, and most importantly, is the code “column.2.sharecol=true”.This is the code that tells Workfront to join the adjacent columns on either side. IMPORTANT! You ALSO have to include the sharecol code on what would be the column to the left in order for everything to work. In this case, that’s column.1. The other interesting piece of code worth mentioning is on line 16. The <hr> (horizontal rule) tag is what inserts that nifty line between the username and avatar. Now, in theory, you can leave “column.2.value=” blank. But in this case it’s a great formatting tool to help provide both visual interest and some boundaries between the two data elements. Alright! Grab the code below, drop in the second column of your report and let’s hop on to the next piece: HTML formatting (it’s worth pointing out, the column identifiers in text mode start at zero so column.1 technically refers to the second column of the report. If you wanted this to be the first column you’d need to subtract one from each of the column identifiers, i.e, column.0, column.1 and so on).

column.1.displayname=
column.1.linkedname=direct
column.1.namekey=name
column.1.querysort=name
column.1.sharecol=true
column.1.textmode=true
column.1.tile.name=component.user.name
column.1.usewidths=true
column.1.valuefield=name
column.1.valueformat=HTML
column.1.width=100
column.1.tile.template=/WEB-INF/jsp/lists/components/username.jsp
column.2.sharecol=true
column.2.shortview=false
column.2.textmode=true
column.2.value=<hr>
column.2.valueformat=HTML
column.3.displayname=
column.3.linkedname=direct
column.3.namekey=avatar
column.3.textmode=true
column.3.tile.name=component.avatar
column.3.usewidths=true
column.3.valueformat=HTML
column.3.width=100


HTML formatting

Ok the next part looks a lot more formidable but it’s actually pretty simple. Using the sharecol principles we just learned, this piece is really just creating unique columns for the formatted text (title, manager, access level, etc.) and the corresponding user data. So, for example, in column.4 you have the word “title” and in column.5 you have the actual user title data, all of which gets mushed together using the sharecol=true function.

The important lines to pay attention to are the ones that contain HTML formatting such as line 6 where you have <font color=000000><b>Title: </b></font>. Admittedly, this is all a bit easier if you’re already familiar with HTML and CSS, but technically this is just taking two simple HMTL attributes and wrapping the text “Title: ” in them. As you may have already guessed, the font color attribute allows you to change the native color of the text while <b> is making the font bold. A couple things I want to point out. First, the colors we’ve used are what’s known as hexadecimal or “hex”, colloquially. You may have seen them with the hash symbol in front. Ours, obviously, do not have them. Workfront text mode will accept either. Additionally, Workfront will also accept basic colors in word format (i.e., red, black, blue, green, etc.) so if you’re working with a very simple, primary color set, a lot of times that’s just easier. And finally, Workfront also accepts RGB values. In the example above, we would just change the hex code to an RGB value as well as the corresponding HTML attribute: <font color=rgb(0,0,0)><b>Title: </b></font>. A lot of options. Use what feels easiest.

So what are some of the other formatting tricks you can employ beyond bold and font color? There are certainly some limitations that you wouldn’t encounter if you were using traditional CSS but we’ve compiled as complete a list as we can think of at the end of this post.

One last thing I’ll point out about the columns that contain formatted text: since they’re not referencing any actual data, they all use value= as opposed to valuefield= or valueexpression=. As you start to adapt this to your own needs it’s an important thing to take note of.

column.4.displayname=User Information
column.4.sharecol=true 
column.4.shortview=false 
column.4.textmode=true 
column.4.usewidths=true 
column.4.value=<font color=000000><b>Title: </b></font> 
column.4.valueformat=HTML column.4.width=200 
column.5.descriptionkey=title 
column.5.linkedname=direct 
column.5.namekey=title.abbr 
column.5.sharecol=true 
column.5.shortview=false 
column.5.textmode=true 
column.5.usewidths=true 
column.5.valuefield=title 
column.5.valueformat=HTML 
column.5.width=200 
column.6.sharecol=true 
column.6.shortview=false 
column.6.textmode=true 
column.6.usewidths=true 
column.6.value= <font color=000000><b>Manager: </b></font> 
column.6.valueformat=HTML column.6.width=200 
column.7.descriptionkey=manager 
column.7.link.linkproperty.0.name=ID 
column.7.link.linkproperty.0.valuefield=manager:ID 
column.7.link.linkproperty.0.valueformat=int 
column.7.link.lookup=link.view 
column.7.link.valuefield=manager:objCode 
column.7.link.valueformat=val 
column.7.linkedname=manager 
column.7.namekey=manager 
column.7.querysort=manager:name 
column.7.sharecol=true 
column.7.shortview=false 
column.7.textmode=true 
column.7.usewidths=true 
column.7.valuefield=manager:name 
column.7.valueformat=HTML 
column.7.width=200 
column.8.sharecol=true 
column.8.shortview=false 
column.8.textmode=true 
column.8.usewidths=true 
column.8.value= <font color=000000><b>Access Level: </font><font color=CC0033> 
column.8.valueformat=HTML column.8.width=200 
column.9.descriptionkey=accesslevel 
column.9.linkedname=accessLevel 
column.9.namekey=accesslevel 
column.9.querysort=accessLevel:name 
column.9.sharecol=true 
column.9.shortview=false 
column.9.textmode=true 
column.9.usewidths=true 
column.9.valuefield=accessLevel:displayName 
column.9.valueformat=HTML 
column.9.width=200 
column.10.displayname=Primary Associated Fields 
column.10.sharecol=true 
column.10.shortview=false 
column.10.textmode=true 
column.10.usewidths=true 
column.10.value=</b></font><hr><font color=0000FF><b>Primary Job Role: </b></font> 
column.10.valueformat=HTML 
column.10.width=200 
column.11.descriptionkey=role 
column.11.displayname=Primary Job Role 
column.11.linkedname=role 
column.11.namekey=name 
column.11.sharecol=true 
column.11.shortview=false 
column.11.textmode=true 
column.11.usewidths=true 
column.11.valuefield=role:name 
column.11.valueformat=HTML 
column.11.width=200 
column.12.displayname=Primary Associated Fields 
column.12.sharecol=true 
column.12.shortview=false 
column.12.textmode=true 
column.12.usewidths=true 
column.12.value= <font color=0000FF><b>Home Group: </b></font> 
column.12.valueformat=HTML column.12.width=200 
column.13.descriptionkey=homegroup 
column.13.linkedname=homeGroup 
column.13.listsort=nested(homeGroup).string(name) 
column.13.namekey=homegroup 
column.13.sharecol=true 
column.13.shortview=false 
column.13.textmode=true 
column.13.usewidths=true 
column.13.valuefield=homeGroup:name 
column.13.valueformat=HTML 
column.13.width=200 
column.14.sharecol=true 
column.14.shortview=false 
column.14.textmode=true 
column.14.usewidths=true 
column.14.value= <font color=0000FF><b>Home Team: </b></font> 
column.14.valueformat=HTML 
column.14.width=200 
column.15.descriptionkey=hometeam 
column.15.linkedname=homeTeam 
column.15.namekey=hometeam 
column.15.shortview=false 
column.15.textmode=true 
column.15.valuefield=homeTeam:name 
column.15.valueformat=HTML



Additional attributes

Italic
Attribute
<i></i>
Can you use it in a sentence?
<font color=0000FF><i>Home Group: </i></font>
Output
Home Group:

Bold
Attribute
<b></b>
Can you use it in a sentence?
<font color=0000FF><b>Home Group: </b></font>
Output
Home Group:

Font size
Attribute
<font size=></font>
Can you use it in a sentence?
<font size=18><Home Group: </font>
Output
Home Group:

Font color
Attribute
<font color=></font>
Can you use it in a sentence?
<font color=red><Home Group: </font>
Output
Home Group:

Font face
Attribute
<font face=></font>
Can you use it in a sentence?
<font face=comic sans><Home Group: </font>
Output
Home Group:
(side note: please don’t use comic sans!)

Have you ever been working in a Workfront project and needed to find the point of contact or name of the person who originally submitted the request? If so, you’ve probably also experienced the annoyance of having to navigate back to the original request just to find that information. As you’ve probably already guessed if you read the title, there’s a much simpler way. With a little easy set-up on the front end you can save yourself some serious aggravation.

 

  • Add a calculated field to the request custom form
  • Give the field a name
  • Set the format type as needed (for all the list fields below the format will be “Text”)
  • Add the appropriate issue calculation in the calculation area (see listing below) and click Save
  • Add the same calculated field to the corresponding project custom form
  • In the calculation area enter the name of the calculated field and click Save

 

And that’s it! Pretty easy, huh? So what these calculations are going to do is create a field on the issue form that references a native issue object (project queue, original requestor, etc.) and—since a field can’t self-reference—the project calculation will point to the same field on the only possible related object: the request. Repeat the above process for any additional data points you want to capture.

 

Requestor name

Field name: Original Requestor

Issue calculation: Owner.Name

Project calculation: Original Requestor

 

Queue project

Field name: Queue Project

Issue calculation: Project.Name

Project calculation: Queue Project

 

Parent request type

Field name: Parent Request Type

Issue calculation: Queue Topic.Parent Topic Group.Name

Project calculation: Parent Request Type

 

Request type

Field name: Request Type

Issue calculation: Queue Topic.Name

Project calculation: Request Type

 

Requestor company

Field name: Requestor Company

Issue calculation: Owner.Company.Name

Project calculation: Requestor Company

 

Request reference number

Field name: Request Reference Number

Issue calculation: Reference Number

Project calculation: Request Reference Number

 

Primary contact

Field name: Request Primary Contact

Issue calculation: Primary Contact

Project calculation: Request Primary Contact