Build module for Ignition 8.0

I try to rebuild a 7.9 module for Ignition 8.0-beta (a vision component)
based on changes from dev/8.0 in https://github.com/inductiveautomation

I have the following error :

[ERROR] Failed to execute goal on project VideoViewer-client: Could not resolve dependencies for project 
com.byes.ignition:VideoViewer-client:jar:1.0-SNAPSHOT: The following artifacts could not be resolved: 
com.teamdev.jxbrowser:jxbrowser:jar:6.19.1, com.teamdev.jxbrowser:jxbrowser-win:jar:6.19.1, 
com.teamdev.jxbrowser:jxbrowser-linux64:jar:6.19.1, com.teamdev.jxbrowser:jxbrowser-mac:jar:6.19.1: Could not find 
artifact com.teamdev.jxbrowser:jxbrowser:jar:6.19.1 in releases 
(https://nexus.inductiveautomation.com/repository/inductiveautomation-releases) -> [Help 1]

@PGriffith,
in the https://github.com/inductiveautomation/ignition-sdk-examples/blob/dev/8.0/vision-component/ce-build/pom.xml
the requiredIgnitionVersion and requiredFrameworkVersion need to be updated to 8.0

Do you have all 3 of the repositories configured?

See: https://github.com/inductiveautomation/ignition-sdk-examples/blob/dev/8.0/vision-component/pom.xml

1 Like

I’ll bump the version, but that’s definitely not the source of the jxBrowser dependency not resolving.

yes I have these repo

Try refreshing dependencies, with mvn clean install -U? The vision component example still builds fine for me.

We updated some settings in our artifact repository to address the error. Please let us know if it continues to fail.

Thanks for the report!

Thanks, that’s ok, but
I Have an other issue with com.inductiveautomation.ignition.client.sqltags.ClientTagManager used in my module and which is not found in 8.0 ?

It got moved. Your IDE should be able to find it for you, but if not: com.inductiveautomation.ignition.client.tags.model.ClientTagManager

Other things moved too, so be ready to fix/find new import locations :slight_smile:

2 Likes

Indeed that class has been removed in Ignition 8. You’ll probably want to migrate to com.inductiveautomation.ignition.client.tags.model.ClientTagManager which is the analogous class (but interfaces with the new Tag system).

We are in the process of building 8.0 javadocs and will get something posted today.

1 Like

Thanks, I’m looking now to replace :

TagPathParser.parseSafe("[System]Client/System/SystemFlags");

Do you just need the value of system flags, or do you specifically need parseSafe?

If the former, from the client module hook you can cast the ClientContext you get in the module hook’s startup to a VisionClientContext, then getSystemUtils().getSystemFlags().

If you actually need parseSafe, then the new class is
com.inductiveautomation.ignition.common.tags.paths.parser.TagPathParser::parseSafe

1 Like

I subscribe to the tag, with an
com.inductiveautomation.ignition.common.sqltags.model.event.TagChangeListener;

I suppose I need to use a :
import com.inductiveautomation.ignition.common.tags.model.event.TagChangeListener;
but equivalent com.inductiveautomation.ignition.common.sqltags.model.TagProp don't exist in 8.0 ?

perhaps, now the TagProp to subscribe can be mentionned with
ClientTagManager.subscribeAsync ?

Here is a link to download a zip of the current beta javadocs, they should prove very helpful. We are also in the process of uploading the docs to be browsable online, I will follow up with a post with that link once it’s available.

Ignition-8.0.0-beta-20181114-1140.zip

1 Like

FWIW, I’ve an updated Simulation Aids for Ignition8. It turned out relatively simple once I got my dev environment set up on Java11: BaseContext ==> CommonContext and Quality/DataQuality ==> QualityCode were the only notable changes.

2 Likes

As promised, here’s a link to the current javadocs.

2 Likes

I just tried to create a new maven project based on sdk from the default archetype from Ignition’s Maven repository and changed the default sdk version 7.7.5 to 8.0.0 in POM file

<properties>
    <ignition-sdk-version>8.0.0</ignition-sdk-version>
</properties>

But it gives errors in the empty project itself for G-D and C projects (package not found).

import com.inductiveautomation.ignition.common.licensing.LicenseState;
import com.inductiveautomation.ignition.gateway.model.AbstractGatewayModuleHook;
import com.inductiveautomation.ignition.gateway.model.GatewayContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Trying to resolve automatically by IDE (NETbeans) doesn’t resolve the issue.

Where as for the default sdk version (7.7.5) it resolves properly.

I am unable to build an empty project itself for version 8?

What could be wrong!

We haven’t released 8.0 yet.

Try 8.0.0-SNAPSHOT like the examples are using right now.

1 Like

Ok. However the previous version (7.*) is building the modl files but its getting rejected by Ignition while installing in version 8.0, it says major version mismatch, which is understandable.

Is there a way to force the installation on 8.0 as my modules use just a few very basic api’s of sdk which I am sure are not going to change from 7 to 8? I am mainly trying to load some external jar files in to Ignition thru this module, as copying them in user lib folder will require restarting of gateway, which I want to avoid.

Is there any alternative approach available? This is only for version 8, as for version 7 the modl is building and installing in Ignition.

regards

Change the required version in your module.xml to be 8.0.0. You can’t have the same module file work in both 7.9 and 8.0. Create a branch in your source control for v8. There’s no alternative.

I renamed the signed file .modl to .zip and edited the module.xml file and changed version from 7.7.3 to 8.0.0 in re-zip it back to my signed module . While installing it in Ignition 8 it says

Entry: “module.xml” not found.
See log for details.

the module.xml is there in the modl file!

(In fact even while installing it on Ignition 7.9.10 I get the same error!)

Anything missing in the Maven POM file? I just used the default settings while creating empty maven project from Ignition G-D-C archetype !