What happened to [System]Client

from com.inductiveautomation.ignition.common.model import ApplicationScope

scope = ApplicationScope.getGlobalScope()

print ApplicationScope.isClient(scope)
print ApplicationScope.isDesigner(scope)
print ApplicationScope.isGateway(scope)
5 Likes

Can be done without the Java import via system.util.getSystemFlags - Ignition User Manual 8.1 - Ignition Documentation

Nope, cause that function is loaded by the Vision module :man_facepalming:

Oh whoops, I didn't read this all carefully enough.

After thinking about this, Phil was right, one shouldn't expect those system tags without Vision being installed.

If I had a nickel for every time I've said this to myself... :moneybag:

1 Like

Question on the change you mention coming in 8.3, would it still work to call this from a designer scope? If not, could you consider providing an equivalent functionality for designer. Otherwise we’d have to try/catch?

Our scripting function deprecation policy (with only one exception I'm aware of in 8 years at IA) is as follows:

  1. Leave the old method in place at whatever name used to work.
  2. Stop providing an autocomplete hint for the old name.
  3. Offer a new method with corresponding functionality or behavior at the preferred new location.

So, in any situation you can currently use system.util.getConnectionMode and it works (that is, in a Vision client or in a Designer with the Vision module) - your scripts will continue to work. No functionality will change. The only difference is the scope suggested in autocomplete will make it more clear that it's a Vision only function, to help others avoid this implicit reliance in the future.

1 Like

Fantastic. Thanks for the support everyone!