Module Upgrade from 7.7.5 to 8.1 Guide?

Hello all,

Is there a definitive guide for dealing with the API changes between 7.8 and 8.1?

Back in 2015 I wrote a module that integrates with an EDM piece of equipment using the vendor's ethernet protocol. I used netty and xstream among other things and exposed things to the user via OPC-UA Tags.

After 8 years, the client has decided to update their gateway from 7.7 to a more current gateway. This is going to be a process, since I know that there will be some hurdles when transitioning from 7.8 to 7.9 and from 7.9 to 8.0. But, that's not my main problem right now.

I saw a post indicating that I need to switch to Device from Driver among other things.

I actually had been using the SDK during the transition to Maven from the older delivery mechanism, so all I had to do there was update my pom.xml file to point to the correct URLs then I was able to actually compile the code using the Ignition-SDK version 7.7.5.

I then went to 7.8.0 and everything seemed fine. 7.9.0 was not able to work because it was trying to get a snapshot of milo. 7.9.1 resolved everything OK, but then I started to run into the API changes.
Inside my GatewayHook which is extending AstractDriverModuleHook, the initMenu function used LabelConfigMenuNode which had disappeared.

I then started looking at the current Ignition-SDK-Examples opc-ua-device example and did not see any configuration entries. I also looked for it in the SDK documentation and found it lacking in this area as well, same with the tutorial. I did find a comment in the forum that led me to believe that I will end up needing to write a html page for this now, but haven't found a clear example of what needs to be done.

I decided to see what errors would occur if I went directly to the 8.1.0 SDK and now I'm really seeing issues. Some of them I believe I'll be able to resolve just by looking at the examples. It would have been very interesting to see the differences between the 7.7 Modbus sample and an 8.x version, but it seems that sample code disappeared rather than being updated.

Long and short, is there documentation available to aid me with the changes necessary to upgrade my module from the 7.7 SDK to 8.1/8.2?

I'd rather not start from scratch or spend hours trolling through the SDK documentation comparing differences.

Thank you,
Bill S.

Sorry, but you'll have to do some trolling.

A good IDE can help find moved classes,which is a big deal for Driver and Device.

FWIW, Driver is deprecated for v8.1.x, and deleted in v8.3.

Otherwise, troll this category first, and ask questions. My memories of 7.7.x are hazy now, but that's where most of my modules started.

1 Like

What replaces the com.inductiveautomation.opcua.* package?

Thanks for the quick reply, to bad it's negative...

A whole bunch of stuff in org.eclipse.milo.*. Mostly with the same names.

Ah, so that's why I can't find it in the Ignition SDK JavaDocs, they don't have any of the milo stuff included..

Oh well.

Thanks again!

Bill

If you just want to return a standard 'device' extension point instance, you won't need any custom Wicket/HTML/React/etc. In 7.9 through 8.1, you need React-served-via-Wicket for our modern status pages, but not to serve a basic CRUD RecordEditForm (the backing object that populates all the configuration pages).

In 8.3 things are different (Wicket is gone, React is everywhere, including the configuration pages) but you get a lot for free by migrating to our new configuration system, hopefully including automatic record edit forms and thus no need for a JS build pipeline for basic CRUD of pages.