Hi All,
recently I found a calculated field in our instance created by someone earlier, that includes this reference:
{portfolio|portfolioMM}.{name}
Could someone please explain me what this is / how it is different from {portfolio}.{name}
I searched the forum and this came up a few times, along with {programMM|program}.{name}, but w/o any explanation about the MM part.
Thank you,
Tibor
Views
Replies
Total Likes
portfolioMM doesn't work, so you can just remove it. If I recall correctly, the pipe symbol just means "or"? So in this case your calculated field is looking for portfolio or portfolioMM name, and so it doesn't error out because one of those is true. But go ahead and create a calculated field for just {portfolioMM}.{name} and you will see when you try to save the custom form, you will get an error that the field does not exist. Conversely if you were to go with {portfolio|hamburger}.{name}, this would also work despite the fact you don't have a hamburger field in Workfront.
I'll let you test the program one out, yourself. A good way to test it would be to make a program report and pull up those two columns, and then add the custom fields to the program and see if you come up with any data in those fields. (I suspect you'll find that you instead get the same error message.)
I was wondering to myself if maybe the portfolio field used to be called portfolioMM and this kind of calculation was put into place as a transition step. But I went back to API v4.0 and as far as I can see, it has always been portfolio.
Views
Replies
Total Likes
Thanks for the quick response!
I had thoughts similar to yours. Still, it doesn't seem to make much sense.
I did some testing and found that all these work:
So I was wondering what happens if I use multiple existing references and tested these:
Again, all these work. Apparently, the first existing reference in the list is used, the rest is ignored.
Two questions remained open though:
What's the use case that this logic was meant to serve?
What is/was the reference portfolioMM?
Views
Replies
Total Likes
After reading your question I was intrigued. I've never used the fields that end in MM and I've even seen ones that end in OM.
Someone on my team was able to get an explanation from someone at Adobe on the MM and OM:
"Typically it means that the data you'll get back is an amalgamation/combination of a group of data. To get that data it requires Workfront to run some additional logic to compile the data and transform it for use in the API, but what you get back the "OM" or "MM" field isn't a representation of an actual data object/data set you can interact with directly if that makes sense."
(Amalgamation is a process of combining or uniting multiple entities into one or merging two or more source files into a single file)
In some other languages, MM means "many to many" and OM means "one to many".
I understand Adobe's explanation for MM/OM, in general, however it's difficult to apply to a referenced object's name (i.e. the Portfolio of the Project).
Anyway, I think I will just simply remove the "programMM|" part from the calculation.
Thank you all for the inputs!
Hi @tibormolnar,
Like @skyehansen, I too was intrigued by your question...but now I am vexed,
Yesterday, I was working with a SysAdmin to help her doublecheck the setup for their 6th year of using our Budget vs Actual solution, which her organization uses to set Portfolio, Program, and/or Project level budgets for the upcoming year, then monitor Budget vs Actual dollars and % throughout the year.
We traced through every step together carefully, and were puzzled to confirm that everything appeared to be in order...until, on a hunch, we examined the custom calculations.
Having developed and entered them myself when we designed this solution over 6 years ago, I can assure you that neither I nor any end user entered the "{portfolio|portfolioMM)" in the formula we checked...let alone the dozens of others in similar related calculated parameters. Furthermore, I found it suspicious that the editor considered all of them valid (ie did not show a red outline; unlike, say "If", vs the snobbier "IF"), despite none of them being shown as an option to select from the typeahead formula field picker.
My current theory is that:
So: with my SysAdmin access reinstated for the occasion, coffee perking, and dander up, I am about to get to the bottom of this.
Stay tuned.
Regards,
Doug
PS. @LilitM...since the New Editor was one of your outstanding achievements, want to Come With...?
Hi Doug,
thanks for the feedback and good luck with the investigation / clean-up.
I'm looking forward to hearing from you.
Tibor
Hi @tibormolnar,
Well, I will defer to @LilitM to explain the root cause, but after some bumpy API off roading and Form Builder experimentation, believe I’ve worked around it for now:
What eventually worked was to:
Although I worked out a way to pull back both Parameter Values and the underlying Custom Expressions in a single API query for easy examination, I suspect that there are many other formulas (across many domains, in my case) that need the above workaround to ensure the calculated data is up to date and correct.
If this is as widespread as I suspect it might be, I am considering building a detect-and-fix-the-formulas option in our Recalc Helper solution.
But for now, at least there is this workaround.
Regards,
Doug
Views
Replies
Total Likes
Hi Doug,
so, is the following a fair summary of the findings?
Thank you for the investigation.
Tibor
Views
Replies
Total Likes
Hi Tibor,
Yes, although further confirmation, your summary matches my speculation so far, noting that I am also wondering:
Given that many of our 50+ solutions across many of our clients rely on custom expressions, those last two concern me the most, so I am doing a bit more research.
In particular -- especially if formulas are going to be changing unexpectedly going forward (even if For Good Reason) -- I'm going to run some tests to assess whether our Recalc Helper solution (without having to continually hunt and peck for such changes) would ensure to our clients that all calculated expressions are up to date and accurate.
Regards,
Doug
cc: @SamTaylor as per sidebar...
Views
Replies
Total Likes
Hi @tibormolnar,
I've now completed my research:
So! (Re)equipped with this understanding, I am going to share this information with our existing clients so they are aware of it, and for you and others who may come across this and suspect it might impact your organization, suggest you:
Regards,
Doug
cc: @SamTaylor
Hi @tibormolnar (and those following),
As below, I am pleased to invite you to try out our Recalc Helper solution for 30 Days so users can easily ensure all of their Custom Data (and Timelines, and Expenses) are up to date.
Regards,
Doug
CC: @SamTaylor
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies