Faulted Not eligible for use with Ignition Maker Edition

Hi,

using sample on GitHub I compiled the “OPC-UA-Device-Example-unsigned.modl”.
Importing the module on gateway I’m notified : “License > Invalid”, “Faulted Not eligible for use with Ignition Maker Edition”. What I can do?

1 Like

You’ll have to modify the example to be compatible with Maker Edition.

I think this is as easy as using the most recent SDK dependency versions and then overriding isMakerEditionCompatible() from GatewayModuleHook.

Hi, thanks for reply.
I didn’t find “isMakerEditionCompatible()” function but i found isFreeModule().
Overriding isFreeModule() the license is now ok.

I am having the same issue. Where is isMakerEditionCompatible()``GatewayModuleHook located.

Then only place I can find that has the @Override is:
/home/nx/Kafka/kafka-gateway/src/main/java/org/ignitionmdc/apache/kafka/GatewayHook.java

but when I put it there and compile it throws this error:
[ERROR] /home/nx/Kafka/kafka-gateway/src/main/java/org/ignitionmdc/apache/kafka/GatewayHook.java:[36,5] method does not override or implement a method from a supertype

What version of the SDK are you compiling against?

joev - I’m guessing you’re just pulling from the Ignition Module Development Community repos. ( https://github.com/IgnitionModuleDevelopmentCommunity/Kafka ). Those point at 8.0.1 for compatibility with everything in the 8 branch. Make sure you update your pom.xml to point at the 8.0.14 SDK or later to get the isMakerEditionCompatible() function included in the API.

I'm running into the same problem here - I'm trying to build the example for the vision-component.

I cloned the repo using:

git clone https://github.com/inductiveautomation/ignition-sdk-examples.git

I set the vision-component/pom.xml ignition-platform-verison = 8.1.7 (8.1.7 = my current maker version):

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.inductiveautomation.ignition.examples</groupId>
    <artifactId>component-example</artifactId>
    <version>1.8.0</version>
    <packaging>pom</packaging>

    <modules>
        <module>ce-client</module>
        <module>ce-designer</module>
        <module>ce-build</module>
        <module>client-launcher</module>
        <module>designer-launcher</module>
    </modules>

    <properties>
        <ignition-platform-version>8.1.7</ignition-platform-version>
        <ignition-sdk-version>${ignition-platform-version}</ignition-sdk-version>
    </properties>

    <pluginRepositories>
        <pluginRepository>
            <id>releases</id>
            <url>https://nexus.inductiveautomation.com/repository/inductiveautomation-releases</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <repositories>
        <repository>
            <id>releases</id>
            <url>https://nexus.inductiveautomation.com/repository/inductiveautomation-releases</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
        </repository>

        <repository>
            <id>snapshots</id>
            <url>https://nexus.inductiveautomation.com/repository/inductiveautomation-snapshots</url>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>

        <repository>
            <id>thirdparty</id>
            <url>https://nexus.inductiveautomation.com/repository/inductiveautomation-thirdparty</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

</project>

I set the MyModuleDesignerHook.java located at i
gnition-sdk-examples/vision-component/ce-designer/src/main/java/com/inductiveautomation/ignition/examples/ce/MyModuleDesignerHook.java
to return true for the isMakerEditionCompatible() mehod:

/* Filename: MyModuleDesignerHook.java
 * Created by Perry Arellano-Jones on 12/11/14.
 * Copyright Inductive Automation 2014
 */
package com.inductiveautomation.ignition.examples.ce;

import com.inductiveautomation.ignition.common.licensing.LicenseState;
import com.inductiveautomation.ignition.designer.model.AbstractDesignerModuleHook;
import com.inductiveautomation.ignition.designer.model.DesignerContext;
import com.inductiveautomation.ignition.examples.ce.components.HelloWorldComponent;
import com.inductiveautomation.vision.api.designer.VisionDesignerInterface;
import com.inductiveautomation.vision.api.designer.palette.JavaBeanPaletteItem;
import com.inductiveautomation.vision.api.designer.palette.Palette;
import com.inductiveautomation.vision.api.designer.palette.PaletteItemGroup;


/**
 * This is the Designer-scope module hook for the component example module for the Ignition SDK.
 */
public class MyModuleDesignerHook extends AbstractDesignerModuleHook {

    public static final String MODULE_ID = "component-example";
    
    @Override
    static isMakerEditionCompatible() {return true}
    
    @Override
    public void startup(DesignerContext context, LicenseState activationState) throws Exception {
        // Add the BeanInfo package to the search path
        context.addBeanInfoSearchPath("com.inductiveautomation.ignition.examples.ce.beaninfos");

        // Add my component to its own palette
        VisionDesignerInterface sdk = (VisionDesignerInterface) context
                .getModule(VisionDesignerInterface.VISION_MODULE_ID);
        if (sdk != null) {
            Palette palette = sdk.getPalette();

            PaletteItemGroup group = palette.addGroup("Example");
            group.addPaletteItem(new JavaBeanPaletteItem(HelloWorldComponent.class));
        }
    }
    
    

}

I'm able to build the module with maven and import it, but I I still get the error - Faulted

Not eligible for use with Ignition Maker Edition

The attributes of your isMakerEditionCompatible method don’t look right. Shouldn’t be static, should have a boolean return type.

{ Please also fix your code formatting blocks. }

In addition to what Phil said, Maker doesn’t allow Vision module…

2 Likes

Thanks, Phil.

I didn't realize that Vision is not available with Maker. Too bad, from what I understand, Vision is probably the easiest to learn the SDKs with... Do you have any advice on what would be a nice intro to the SDK dev with Ignition?

Regardless, I'm still curious why it says 'not eligible for use with Maker', after I changed the method to a non-static boolean method like you suggested. Any more ideas?

/* Filename: MyModuleDesignerHook.java
 * Created by Perry Arellano-Jones on 12/11/14.
 * Copyright Inductive Automation 2014
 */
package com.inductiveautomation.ignition.examples.ce;

import com.inductiveautomation.ignition.common.licensing.LicenseState;
import com.inductiveautomation.ignition.designer.model.AbstractDesignerModuleHook;
import com.inductiveautomation.ignition.designer.model.DesignerContext;
import com.inductiveautomation.ignition.examples.ce.components.HelloWorldComponent;
import com.inductiveautomation.vision.api.designer.VisionDesignerInterface;
import com.inductiveautomation.vision.api.designer.palette.JavaBeanPaletteItem;
import com.inductiveautomation.vision.api.designer.palette.Palette;
import com.inductiveautomation.vision.api.designer.palette.PaletteItemGroup;


/**
 * This is the Designer-scope module hook for the component example module for the Ignition SDK.
 */
public class MyModuleDesignerHook extends AbstractDesignerModuleHook {

    public static final String MODULE_ID = "component-example";
    
    @Override
    public boolean isMakerEditionCompatible() {return true}
    
    @Override
    public void startup(DesignerContext context, LicenseState activationState) throws Exception {
        // Add the BeanInfo package to the search path
        context.addBeanInfoSearchPath("com.inductiveautomation.ignition.examples.ce.beaninfos");

        // Add my component to its own palette
        VisionDesignerInterface sdk = (VisionDesignerInterface) context
                .getModule(VisionDesignerInterface.VISION_MODULE_ID);
        if (sdk != null) {
            Palette palette = sdk.getPalette();

            PaletteItemGroup group = palette.addGroup("Example");
            group.addPaletteItem(new JavaBeanPaletteItem(HelloWorldComponent.class));
        }
    }
    
    

}



Interesting, that's too bad, since from what I understand, vision might be the easiest to apply the SDK, and I'm just getting my feet wet here.

Are you sure you're installing a newly compiled module and not one that you maybe built before trying to make changes? Both of the snippets you posted have syntax errors that would prevent compilation, but I'm not sure if that's just an error in your transcription for the forum or not.

edit: not that it matters. You don't have Vision installed, because you can't have Vision installed, so trying to build and install this example will never work.

I think modules that supply expression functions and/or scripting features under the system.* namespaces are the easiest starting points.

1 Like

I think you are right (I'm not actually compiling my module). Here's what I did -

  1. I cloned the repo.

  2. I used eclipse to import all dependencies in the pom for the vision-component pom.xml.

  3. I tweak the .java file located here:
    gnition-sdk-examples/vision-component/ce-designer/src/main/java/com/inductiveautomation/ignition/examples/ce/MyModuleDesignerHook.java

  4. I navigate to:
    ignition-sdk-examples/vision-component

  5. I then execute:
    mvn package

Edit - It looks like when I run maven clean install from that same directory I see the compilation error:

[ERROR] /home/trent/Dev/ignition-sdk-examples/vision-component/ce-designer/src/main/java/com/inductiveautomation/ignition/examples/ce/MyModuleDesignerHook.java:[24,5] method does not override or implement a method from a supertype