Understanding Relative Pathing ( [~] )

I'm working on a project where the trending has suddenly stopped working.

  1. I verified that tag history was working properly by creating a new screen and dragging one of the historized tags onto an easy chart -- it showed the expected trend.
  2. I looked at the easy chart configuration and that tag's path was "[default]foo/bar." I went back to the screen where trending wasn't working and looked at the path in that easy chart for that tag, it was "foo/bar".
  3. I checked the project's default tag browser and it was indeed "default", but I added "[default]" to the beginning of "foo/bar" just to see if it would work. It did not.
  4. I then tried adding [~] to the beginning so that the full path was "[~]foo/bar" and the trending is now working.

Why? I looked up documentation for [~] and found

[~] is used in expression and client tags and means relative to the tag provider of the tag that is being bound (root node). Using the relative path syntax helps avoid problems cause by moving tags and renaming providers.

I looked at the tag providers in the project. There are only 2 and one is disabled. Does this mean that the tags likely originated from the disabled tag provider and were copied into the default tag provider?

When I change [~] to the disabled tag provider's name ( [oldtagprovider]foo/bar ) the trending does not work. Does this mean the tags were not copied from that tag provider?

Could someone please help me understand what [~] is replacing and what functionality it is restoring in this context?

You say that you have the tag foo/bar on two different Easy Charts, are those the exact same tag, or are they different tags where you just used the same example tag path? Is the foo/bar tag in the second Easy Chart actually in the default tag provider?

Hi obober. Yes, the foo/bar I mentioned is referring to the same tag each time. foo/bar is in the “default” (that’s its name) provider, which is also the default project provider in project properties. I verified their pen path was the same (minus the tag provider part in ).

Did you ever solve your issue? I just discovered something I didn't expect in the configuration of an easy chart. There is a cell update binding on the tag pens property! So while they have one thing in the configuration that appears to work, what's really making it work is the cell update binding.