Migration to Ignition 8.1 - removed interfaces

Hi,

Across our company we’re upgrading our ignition from 7.9 to 8.1 and with that some of our custom-built modules. We noticed there are a few interfaces that were removed and couldn’t find an alternative as of yet. The missing classes are the following:

com.inductiveautomation.ignition.gateway.opc.SROPCServer
SubscriptionChangeEventcom.inductiveautomation.ignition.gateway.opc.SubscriptionChangeEvent
com.inductiveautomation.ignition.gateway.sqltags.SQLTagsManager (missing shutdown method)
om.inductiveautomation.ignition.gateway.sqltags.SQLTagsManager
com.inductiveautomation.ignition.gateway.sqltags.TagProvider
com.inductiveautomation.ignition.gateway.sqltags.simple.SimpleProviderInterface
com.inductiveautomation.ignition.gateway.sqltags.simple.WriteHandler
com.inductiveautomation.ignition.gateway.SRContext
com.inductiveautomation.ignition.gateway.sqltags.simple.SimpleTagProvider
com.inductiveautomation.ignition.common.tags.config.TagConfigSet
com.inductiveautomation.ignition.common.sqltags.model.TagInfo
com.inductiveautomation.ignition.gateway.ContextStartup
com.inductiveautomation.ignition.gateway.SRContext
com.inductiveautomation.ignition.common.browsing.BrowseResults
com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl

Can we please have some guidance on the best way to replace these? We’ve looked at the documentation but couldn’t find anything specific enough and customer support has directed us to this forum.

1 Like

Some of the .sqltags. items have analogs in .tags., and SRContext is now IgnitionGateway. Beyond that, you’re pretty much on your own. IA has always disclaimed any API stability, which is why support won’t help you. Also, some items are not API classes, like ModuleManagerImpl. You’re not supposed to use non-API classes. (You can use them anyways, but the dependencies are not available through IA’s Maven repository.)

You are using parts of Ignition that I don’t have in any of my modules (tag providers), so I don’t have more specific suggestions. I recommend you browse the diffs on Github for the example projects closest to your functionality.

1 Like

The “SimpleTagProvider” stuff became “ManagedProviders” as your colleague was told in the other thread. This one has an example in the GitHub examples repo.

The tag stuff is mostly in the .tags package now and probably everything you need spirals off the new TagManager interface: TagManager

SRContext is IgnitionGateway but both of those are private, you should only be using the GatewayContext interface in your modules. ModuleManagerImpl is private too, you should only use the ModuleManager interface you get from GatewayContext.

There isn’t necessarily a 1:1 drop in replacement import for much of what you’re asking about. It might be better to break apart the different functionality your module(s) had and ask about it that way.

1 Like

Thank you!