In addition to an expression for tag exists, an expression for isDisabled would be great. We use the same UDTs on a lot of different ancient and modern PLCs (thank you for tag property overrides and scripted tag creation!) and disable unused UDT members that don’t exist in the older PLCs. Templates adapt based on whether members are disabled or not. Unfortunately we seem to be stuck with magic strings to make this happen.
Alternatively, we could use the isGood expression if it weren’t for the fact that disabling quality overlays on internal template properties bound with indirect tag bindings using a tagPath template parameter causes the isGood expression to evaluate to true on those template properties regardless of the quality of the binding. This means we can’t use isGood without showing bad quality overlays for disabled features (disabled via disabled UDT members). Is this a bug or intended behavior (observed in Vision 8.0.16)?
Either way, exists() and isDisabled() tag quality expressions would be useful. Or maybe something like isEnabled() could tell us it both exists and is enabled–would be perfect for our use case.