We upgraded from 8.0.2 to the nightly a couple days ago and the tag() function no longer works without specifying the tag provider in the tag path.
Where are you using the function? Expression evaluation is totally different depending on context, so knowing where you’re encountering issues helps a lot.
We’re using it all over. Ideally you create something the global project that gets inherited and uses whatever the default tag provider is of the project that uses it.
To provide it is broke I just put a label on the window and created an expression to a string tag without indicating the tag provider.
Exception: Error executing expression binding on
Dashboard.Root Container.Label.text
caused by ExpressionException: Error parsing/subscribing path ‘SPG/Config/project’ in tag() expression.
caused by ExpressionException: Invalid relative tag path ‘SPG/Config/project’. No enclosing tag could be found.
Ignition v(Dev Version)
Java: Azul Systems, Inc. 11.0.3
I’m seeing the same behavior in 8.0.3 RC2. @PGriffith is this being addressed?
We’re looking into it - glad you pinged me on this, since it had slipped through the cracks. Should make it into 8.0.3.
Thanks, Paul. Do you have an ETA for 8.0.3 release? I promise not to complain if the estimate is not correct. Best guess would help me with some release planning.
Thursday
I noticed a similar issue last night and I was hoping it would get fixed with this issue, but it seems to still be broken after upgrading today. When you access a tag within a client tag expression it requires a tag provider and will not pull it from the default tag provider.
I concur. This bug still exists when the function is used on a Vision display.
Reading release notes for 8.0.3, I see it addressed for tags, but no mention in Vision.
A quick test of the tag() function in 8.0.3 was working for me (on vision property bindings and client tags), just a couple of questions for the two of you:
- My test was just with the default provider, are you using a custom provider other than default?
- If you create a brand new client tag or new component property binding, does the tag() function work as expected? My test was with a clean install of 8.0.3.
Mine is working if I just do a binding on a component. This was fixed in 8.0.3.
I did some more checking on the client tags. If i use the tag() function it works without the tag provider. If I just go straight to the tag with { } it requires the tag provider.
We are using a default provider with a custom name. Thanks!
Please post code snippets and screenshots to help those that are not yet as familiar. Thank you all.
Yes, I have multiple tag providers. But the tag being referenced is from the default tag provider for the project.
I created new components to confirm the problem.
here’s a screenshot:
expression:
tag({Root Container.Label 48.text})
@James.Lorenz is this being addressed?
I’ll have to look into this some more. My initial replication attempt was unsuccessful (even though it seems easy to replicate), but I’ll keep plugging away.
for anyone following this thread, I retested and could not reproduce that above. my observations are that this is not an issue in 8.0.3.