Migrating from 7.7 to 7.9

Is there a list of things necessary to switch from a 7.7 driver module to a 7.9.

I recently attempted to install a custom driver I built on 7.9.4 and it doesn’t start giving errors that seem to indicate I have some work to do in the initialization portion of the code.

I did use your development maven based SDK when developing this driver.

Thank you,

Bill

Without knowing what the errors are, it’s going to be hard to say.

1 Like

Difficult to say if you have a list of things necessary when updating a driver from 7.7.x to 7.9.x SDK?

We don’t generally keep lists for updating module code from a specific major version to another specific major version. We try to make very few if any breaking changes to the public API, but we don’t tend to track things that aren’t in the public API.

ModuleManager	06Jun2018 19:51:49	Error loading hook classes for module "com.mwes.gfms.wsc".
com.inductiveautomation.ignition.common.modules.ModuleLoadException: Unable to load hook class "com.mwes.gfms.wsc.driver.GatewayHook" for module "com.mwes.gfms.wsc".

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$LoadedModule.loadHook(ModuleManagerImpl.java:2222)

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$LoadedModule.load(ModuleManagerImpl.java:1920)

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.startupModule(ModuleManagerImpl.java:1086)

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$2.call(ModuleManagerImpl.java:682)

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.executeModuleOperation(ModuleManagerImpl.java:834)

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.installModuleInternal(ModuleManagerImpl.java:653)

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.access$1000(ModuleManagerImpl.java:135)

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$InstallCommand.execute(ModuleManagerImpl.java:1791)

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$Receiver.receiveCall(ModuleManagerImpl.java:1728)

at com.inductiveautomation.ignition.gateway.redundancy.QueueableMessageReceiver.receiveCall(QueueableMessageReceiver.java:47)

at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl.dispatchMessage(RedundancyManagerImpl.java:722)

at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl$ExecuteTask.run(RedundancyManagerImpl.java:743)

at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:518)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.NoClassDefFoundError: com/inductiveautomation/ignition/gateway/web/models/IConfigMenuNode

at java.lang.Class.getDeclaredConstructors0(Native Method)

at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)

at java.lang.Class.getConstructor0(Class.java:3075)

at java.lang.Class.newInstance(Class.java:412)

at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$LoadedModule.loadHook(ModuleManagerImpl.java:2202)

... 19 common frames omitted

Caused by: java.lang.ClassNotFoundException: com.inductiveautomation.ignition.gateway.web.models.IConfigMenuNode

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 24 common frames omitted


ModuleManager	06Jun2018 19:51:49	Starting up module 'com.mwes.gfms.wsc' (v1.5.0 (b0))...
ModuleManager	06Jun2018 19:51:49	Installing module: "com.mwes.gfms.wsc"

Anyways, I was just checking if there was going to be anything else, once I figured out the ConfigMenu stuff.

The config menu changes caught me on my Time Series Cache Module. I had managed to keep that module compatible with multiple Ignition versions until I needed that.