Custom Vendor Name

i am trying to build a custom module on ignition 8.3 beta. So far i am successfully do some tweaks to understand the whole process. But when i compiled and integrated the module, i couldn’t see module vendor name appear on the module list.

I went to my build.gradle.kts, i couldn’t find parameters for Vendor Name to be setup (see the ignitionModule section below).

import java.util.concurrent.TimeUnit
import io.ia.sdk.gradle.modl.task.Deploy

plugins {
    base
    // the ignition module plugin: https://github.com/inductiveautomation/ignition-module-tools
    id("io.ia.sdk.modl") version("0.1.1")
}

allprojects {
    version = "1.0.0"
    group = "au.com.falcon.group.modules"
}

ignitionModule {
    // name of the .modl file to build
    fileName.set("FalconGroupModules")
    // module xml configuration
    name.set("FalconGroupModules")
    id.set("au.com.falcon.group.modules")
    moduleVersion.set("${project.version}")
    moduleDescription.set("A module that adds components to the Perspective module.")
    requiredIgnitionVersion.set("8.3.0")
    requiredFrameworkVersion.set("8")
    // says 'this module is free, does not require licensing'.  Defaults to false, delete for commercial modules.
    freeModule.set(true)
    license.set("license.html")

    // If we depend on other module being loaded/available, then we specify IDs of the module we depend on,
    // and specify the Ignition Scope(s) that apply. "G" for gateway, "D" for designer, "C" for VISION client
    // (this module does not run in the scope of a Vision client, so we don't need a "C" entry here)
    moduleDependencies.putAll(
        mapOf(
            "com.inductiveautomation.perspective" to "GD"
        )
    )

    // map of 'Gradle Project Path' to Ignition Scope in which the project is relevant.  This is is combined with
    // the dependency declarations within the subproject's build.gradle.kts in order to determine which
    // dependencies need to be bundled with the module and added to the module.xml.
    projectScopes.putAll(
        mapOf(
            ":gateway" to "G",
            ":common" to "DG",
            ":designer" to "D"
        )
    )

    // 'hook classes' are the things that Ignition loads and runs when your module is installed.  This map tells
    // Ignition which classes should be loaded in a given scope.
    hooks.putAll(
        mapOf(
            "io.ia.example.perspective.min.gateway.OneComponentGatewayHook" to "G",
            "io.ia.example.perspective.min.designer.OneComponentDesignerHook" to "D"
        )
    )
    skipModlSigning.set(true)
}


val deepClean by tasks.registering {
    dependsOn(allprojects.map { "${it.path}:clean" })
    description = "Executes clean tasks and remove node plugin caches."
    doLast {
        delete(file(".gradle"))
    }
}

Can anybody help me to point out how to setup vendor name ?

Regards

There is known bugs on the beta, IA have acknowledged these and will fix them.

2 Likes

Thanks David.

1 Like

If you are self signing your certificates, I believe that the Common Name (CN) is what’s used for Vendor Name there in the Ignition gateway in 8.3

Here’s my PowerShell code for self signed certificate and export to .p7b
try {
    $keystoreDir = "C:\Code\keystore"

    Write-Host "Setting up keystore directory..."
    # Create keystore directory if it doesn't exist
    if (-not (Test-Path -Path $keystoreDir)) {
        New-Item -ItemType Directory -Path $keystoreDir | Out-Null
        Write-Host "C:\Code\keystore directory created."
    }

    # Change to keystore directory
    Set-Location $keystoreDir

    Write-Host "Generating self-signed certificate..."
    # Generate keystore with self-signed certificate
    keytool -genkeypair -alias myalias1 -keyalg RSA -keysize 2048 -validity 3650 -keystore mykeystore1.jks -storepass PASSWORD -keypass PASSWORD -dname "CN=Amentum, OU=Advanced Solutions, O=Amentum, L=Tullahoma, S=TN, C=US"

    # Export certificate chain to PKCS#7 (.p7b)
    Write-Host "Exporting certificate to .p7b format..."
    keytool -exportcert -rfc -alias myalias1 -keystore mykeystore1.jks -storepass PASSWORD -file myalias1.p7b
    Write-Host "Certificate exported successfully to myalias1.p7b"
} catch {
    Write-Host "Failed to generate or export certificate. Error: $_"
}