# Module Development

**URL:** https://forum.inductiveautomation.com/c/module-development/7.md?no_subcategories=false&page=10

[Latest](https://forum.inductiveautomation.com/latest.md) · [Categories](https://forum.inductiveautomation.com/categories.md) · [Tags](https://forum.inductiveautomation.com/tags.md)

**Page:** 11

---

## [Different Browser Resources in Designer vs Perspective Client](https://forum.inductiveautomation.com/t/different-browser-resources-in-designer-vs-perspective-client/104035)

<div class="topic-metadata">

**Author:** [@kgamble](https://forum.inductiveautomation.com/u/kgamble)\
**Replies:** 2\
**Last updated:** [April 19, 2025, 10:44am UTC](https://forum.inductiveautomation.com/t/different-browser-resources-in-designer-vs-perspective-client/104035 "2025-04-19T10:44:20Z")

</div>

I am trying to do some stuff to make the tailwind CSS libraries more accessible in Ignition, however to do so I need to be able to load the full CSS library into the designer scope, but a lighter-weight compiled version …

---

## [Ignition sdk prespective component development](https://forum.inductiveautomation.com/t/ignition-sdk-prespective-component-development/105167)

<div class="topic-metadata">

**Author:** [@avinash.jha](https://forum.inductiveautomation.com/u/avinash.jha)\
**Replies:** 8\
**Last updated:** [April 17, 2025, 12:40pm UTC](https://forum.inductiveautomation.com/t/ignition-sdk-prespective-component-development/105167 "2025-04-17T12:40:32Z")

</div>

I want to create a button folder in the prespective component-\>rad component example and move two action buttons that i have created, the button folder shall open and close and shows inside buttons

---

## [ReferenceField to TagProvider in PersistentRecord](https://forum.inductiveautomation.com/t/referencefield-to-tagprovider-in-persistentrecord/85536)

<div class="topic-metadata">

**Author:** [@Ryo\_Kamata](https://forum.inductiveautomation.com/u/Ryo_Kamata)\
**Replies:** 3\
**Last updated:** [April 11, 2025, 4:18pm UTC](https://forum.inductiveautomation.com/t/referencefield-to-tagprovider-in-persistentrecord/85536 "2025-04-11T16:18:29Z")

</div>

I'm trying to make a config on the gateway to have a tickbox to have a boolean config field per tag provider in a gateway. Essentially I'm trying to create a table with a one-to-one relationship to tag providers and an a…

---

## [Ignition Module File Upload](https://forum.inductiveautomation.com/t/ignition-module-file-upload/104969)

<div class="topic-metadata">

**Author:** [@Manuel\_Rodriguez](https://forum.inductiveautomation.com/u/Manuel_Rodriguez)\
**Replies:** 1\
**Last updated:** [April 10, 2025, 8:00pm UTC](https://forum.inductiveautomation.com/t/ignition-module-file-upload/104969 "2025-04-10T20:00:03Z")

</div>

Hi everyone, I’m having trouble integrating a file upload for MQTT certificates in my custom module. I need to upload a certificate using a file upload editor, but unfortunately, the certificate information (neither its…

---

## [Error MessageHandlerManager is null in ScriptConfig!](https://forum.inductiveautomation.com/t/error-messagehandlermanager-is-null-in-scriptconfig/104920)

<div class="topic-metadata">

**Author:** [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Replies:** 4\
**Last updated:** [April 9, 2025, 7:59pm UTC](https://forum.inductiveautomation.com/t/error-messagehandlermanager-is-null-in-scriptconfig/104920 "2025-04-09T19:59:03Z")

</div>

I have a module with a ProjectListener. on Project update I send a gateway message handled by a gateway script message handler @Override public void projectUpdated(String project) { if (enabled && filterProjectUpdated…

---

## [Block component until event completion](https://forum.inductiveautomation.com/t/block-component-until-event-completion/104503)

<div class="topic-metadata">

**Author:** [@mykhaylo.hryhoryev](https://forum.inductiveautomation.com/u/mykhaylo.hryhoryev)\
**Replies:** 13\
**Last updated:** [April 8, 2025, 4:57pm UTC](https://forum.inductiveautomation.com/t/block-component-until-event-completion/104503 "2025-04-08T16:57:45Z")

</div>

Hello. I am trying to create a perspective component that fires a component event (eg. onActionPerformed) and waits for the full execution before allowing the user to fire another. The idea is for the user to not have th…

---

## [Create and use reusable property schemas](https://forum.inductiveautomation.com/t/create-and-use-reusable-property-schemas/72859)

<div class="topic-metadata">

**Author:** [@haakon.soehoel](https://forum.inductiveautomation.com/u/haakon.soehoel)\
**Replies:** 3\
**Last updated:** [April 8, 2025, 1:38am UTC](https://forum.inductiveautomation.com/t/create-and-use-reusable-property-schemas/72859 "2025-04-08T01:38:55Z")

</div>

In our perspective components module we typically have some configuration properties that are shared by multiple of our components. Is there a way to define the schema for such common properties in a separate file, and r…

---

## [Refresh the resources in the Perspective Component Registry](https://forum.inductiveautomation.com/t/refresh-the-resources-in-the-perspective-component-registry/104537)

<div class="topic-metadata">

**Author:** [@kgamble](https://forum.inductiveautomation.com/u/kgamble)\
**Replies:** 4\
**Last updated:** [April 7, 2025, 7:14pm UTC](https://forum.inductiveautomation.com/t/refresh-the-resources-in-the-perspective-component-registry/104537 "2025-04-07T19:14:16Z")

</div>

I have a module that needs to execute some JS on the startup of every perspective page, because its pulling in some additional CSS that isn't located in the themes directory. I managed to copy some strategies in @bmusso…

---

## [JxBrowser Usage](https://forum.inductiveautomation.com/t/jxbrowser-usage/104729)

<div class="topic-metadata">

**Author:** [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Replies:** 8\
**Last updated:** [April 4, 2025, 6:55pm UTC](https://forum.inductiveautomation.com/t/jxbrowser-usage/104729 "2025-04-04T18:55:39Z")

</div>

Hopefully this question doesn't require a team of lawyers. I'd like to use JxBrowser in my module, but when I try to create a JxBrowser engine instance I get the following error: com.teamdev.jxbrowser.engine.NoLicenseE…

---

## [Validating Persistent Record Fields and using feedback panel to show errors](https://forum.inductiveautomation.com/t/validating-persistent-record-fields-and-using-feedback-panel-to-show-errors/104721)

<div class="topic-metadata">

**Author:** [@prashanta.shrestha](https://forum.inductiveautomation.com/u/prashanta.shrestha)\
**Replies:** 4\
**Last updated:** [April 4, 2025, 4:13pm UTC](https://forum.inductiveautomation.com/t/validating-persistent-record-fields-and-using-feedback-panel-to-show-errors/104721 "2025-04-04T16:13:59Z")

</div>

I’m working on a gateway module that needs to store some properties as Persistence Records. I’m validating a StringField, and instead of throwing an exception that would cause the UI form to exit, I want to display a mes…

---

## [IconUtil.getGlyphIcon](https://forum.inductiveautomation.com/t/iconutil-getglyphicon/59801)

<div class="topic-metadata">

**Author:** [@cody.tamaki](https://forum.inductiveautomation.com/u/cody.tamaki)\
**Replies:** 11\
**Last updated:** [April 4, 2025, 3:24pm UTC](https://forum.inductiveautomation.com/t/iconutil-getglyphicon/59801 "2025-04-04T15:24:06Z")

</div>

Hello, I see you guys have a method to return GlyphIcons in the SDK. I’m wondering if you guys have any kind of guide/documentation on what these Glyph Icon numbers/names correspond to? I’m hoping I can reuse some of …

---

## [Is there a way to recall a tag browser via the SDK?](https://forum.inductiveautomation.com/t/is-there-a-way-to-recall-a-tag-browser-via-the-sdk/104675)

<div class="topic-metadata">

**Author:** [@kgamble](https://forum.inductiveautomation.com/u/kgamble)\
**Replies:** 9\
**Last updated:** [April 4, 2025, 12:35am UTC](https://forum.inductiveautomation.com/t/is-there-a-way-to-recall-a-tag-browser-via-the-sdk/104675 "2025-04-04T00:35:10Z")

</div>

I have been digging around, and not found an easy way so far without me just building it from scratch via a tag configuration manager. Is there a relatively easy way to get the Swing tree UI for the Tag browser parametr…

---

## [OPC-UA Method Call from Java API](https://forum.inductiveautomation.com/t/opc-ua-method-call-from-java-api/104365)

<div class="topic-metadata">

**Author:** [@sam3](https://forum.inductiveautomation.com/u/sam3)\
**Replies:** 4\
**Last updated:** [March 28, 2025, 4:12pm UTC](https://forum.inductiveautomation.com/t/opc-ua-method-call-from-java-api/104365 "2025-03-28T16:12:17Z")

</div>

Is it possible to call an OPC-UA method from the Java API?

---

## [How to add a custom extended Dropdown property in Ignition using Module development](https://forum.inductiveautomation.com/t/how-to-add-a-custom-extended-dropdown-property-in-ignition-using-module-development/104318)

<div class="topic-metadata">

**Author:** [@Anurag](https://forum.inductiveautomation.com/u/Anurag)\
**Replies:** 2\
**Last updated:** [March 28, 2025, 1:07pm UTC](https://forum.inductiveautomation.com/t/how-to-add-a-custom-extended-dropdown-property-in-ignition-using-module-development/104318 "2025-03-28T13:07:32Z")

</div>

I have a requirement where I want to populate and display the Ids (string/guid type) from the dropdown in Ignition Alarm Property Editor in designer. For example, something like below I want to develop, like when I crea…

---

## [Project Scan Hook](https://forum.inductiveautomation.com/t/project-scan-hook/104304)

<div class="topic-metadata">

**Author:** [@kgamble](https://forum.inductiveautomation.com/u/kgamble)\
**Replies:** 3\
**Last updated:** [March 27, 2025, 1:40pm UTC](https://forum.inductiveautomation.com/t/project-scan-hook/104304 "2025-03-27T13:40:47Z")

</div>

Is there a hook present to fire actions on a project scan that identifies changes? I have a module that is compiling some side-content in a gateway that depends on certain resources, and I dont really want to setup a cu…

---

## [License API bugs](https://forum.inductiveautomation.com/t/license-api-bugs/104259)

<div class="topic-metadata">

**Author:** [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Replies:** 0\
**Last updated:** [March 26, 2025, 4:39pm UTC](https://forum.inductiveautomation.com/t/license-api-bugs/104259 "2025-03-26T16:39:46Z")

</div>

Hello, API =\> https://api.inductiveautomation.com/ I'm not sure if this is the right place to report this type of bug. When generating a license using the /licenses/generate route, the grants are set to 0 by default, …

---

## [Gateway Settings Password Field](https://forum.inductiveautomation.com/t/gateway-settings-password-field/104001)

<div class="topic-metadata">

**Author:** [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Replies:** 4\
**Last updated:** [March 21, 2025, 11:50am UTC](https://forum.inductiveautomation.com/t/gateway-settings-password-field/104001 "2025-03-21T11:50:41Z")

</div>

I feel like I'm blind here, but what is the correct declaration for a password field in a gateway settings page? public static final EncodedStringField Password = new EncodedStringField(META,"Password"); This doesn't m…

---

## [\[IGN-12300\]Support for ES Modules?](https://forum.inductiveautomation.com/t/ign-12300-support-for-es-modules/103481)

<div class="topic-metadata">

**Author:** [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Replies:** 10\
**Last updated:** [March 21, 2025, 1:07am UTC](https://forum.inductiveautomation.com/t/ign-12300-support-for-es-modules/103481 "2025-03-21T01:07:08Z")

</div>

I can't find a way to use an ES Module as a BrowserResource. When marked as BrowserResource.ResourceType.JS, there isn't way to add the type="module" attribute to the inserted HTML: \<!-- Current --\> \<script type="ap…

---

## [Module written functions not displaying documentation consistently](https://forum.inductiveautomation.com/t/module-written-functions-not-displaying-documentation-consistently/103967)

<div class="topic-metadata">

**Author:** [@Jason\_Zhou](https://forum.inductiveautomation.com/u/Jason_Zhou)\
**Replies:** 1\
**Last updated:** [March 20, 2025, 6:35pm UTC](https://forum.inductiveautomation.com/t/module-written-functions-not-displaying-documentation-consistently/103967 "2025-03-20T18:35:20Z")

</div>

So I'm running into issues occasionally where in designer scripting, function documentation will sometimes fail to display. When this happens, I would need to restart the module itself and then the documentation starts d…

---

## [Set module free](https://forum.inductiveautomation.com/t/set-module-free/103540)

<div class="topic-metadata">

**Author:** [@Jonathan](https://forum.inductiveautomation.com/u/Jonathan)\
**Replies:** 6\
**Last updated:** [March 11, 2025, 8:32pm UTC](https://forum.inductiveautomation.com/t/set-module-free/103540 "2025-03-11T20:32:09Z")

</div>

Where in the pom.xml file and using what attribute do I set the module to being free?

---

## [Build module on 8.1.32 Failed](https://forum.inductiveautomation.com/t/build-module-on-8-1-32-failed/103472)

<div class="topic-metadata">

**Author:** [@Jonathan](https://forum.inductiveautomation.com/u/Jonathan)\
**Replies:** 7\
**Last updated:** [March 10, 2025, 7:28pm UTC](https://forum.inductiveautomation.com/t/build-module-on-8-1-32-failed/103472 "2025-03-10T19:28:22Z")

</div>

I need to build a module on Ignition version 8.1.32. When I try building the example scripting-function project I receive the following error. Any ideas what I need to do? I am using the repo commit before it was change…

---

## [How to import/access any method available on Java SDK](https://forum.inductiveautomation.com/t/how-to-import-access-any-method-available-on-java-sdk/103315)

<div class="topic-metadata">

**Author:** [@abhijit.patil](https://forum.inductiveautomation.com/u/abhijit.patil)\
**Replies:** 1\
**Last updated:** [March 6, 2025, 1:08pm UTC](https://forum.inductiveautomation.com/t/how-to-import-access-any-method-available-on-java-sdk/103315 "2025-03-06T13:08:11Z")

</div>

Noob question. But as I don't have java background, not able to import modules available on https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.8/index.html I want to import public String getGatewayScriptin…

---

## [Module generator exception during clean build](https://forum.inductiveautomation.com/t/module-generator-exception-during-clean-build/93244)

<div class="topic-metadata">

**Author:** [@abelew](https://forum.inductiveautomation.com/u/abelew)\
**Replies:** 13\
**Last updated:** [February 28, 2025, 7:21pm UTC](https://forum.inductiveautomation.com/t/module-generator-exception-during-clean-build/93244 "2025-02-28T19:21:10Z")

</div>

I'm following the getting started documents. running gradlew.bat clean build in ignition-module-tools\\generator throws the following exception. C:\\Users\\osk\\eclipse-workspace\\ignition-module-tools\\generator\>gradlew.bat …

---

## [ExampleDevice : onDataItemsModified?](https://forum.inductiveautomation.com/t/exampledevice-ondataitemsmodified/103057)

<div class="topic-metadata">

**Author:** [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Replies:** 3\
**Last updated:** [February 28, 2025, 4:07pm UTC](https://forum.inductiveautomation.com/t/exampledevice-ondataitemsmodified/103057 "2025-02-28T16:07:10Z")

</div>

in the ExampleDevice, I don't understand when the "onDataItemsModified" is triggered when I add/delete/rename tags in Ignition ?

---

## [Authentication on custom data routes](https://forum.inductiveautomation.com/t/authentication-on-custom-data-routes/102962)

<div class="topic-metadata">

**Author:** [@Stian\_Strom](https://forum.inductiveautomation.com/u/Stian_Strom)\
**Replies:** 7\
**Last updated:** [February 27, 2025, 3:37pm UTC](https://forum.inductiveautomation.com/t/authentication-on-custom-data-routes/102962 "2025-02-27T15:37:18Z")

</div>

I've created a gateway-scoped module that has some data endpoints set up using mountRoutes in the GatewayHook. I need to secure these endpoints so that only authenticated users can GET/POST data to them. I've looked int…

---

## [Calling Function to Retrieve System Resources in Component JavaScript](https://forum.inductiveautomation.com/t/calling-function-to-retrieve-system-resources-in-component-javascript/102706)

<div class="topic-metadata">

**Author:** [@Muti\_Gozel](https://forum.inductiveautomation.com/u/Muti_Gozel)\
**Replies:** 4\
**Last updated:** [February 26, 2025, 7:10pm UTC](https://forum.inductiveautomation.com/t/calling-function-to-retrieve-system-resources-in-component-javascript/102706 "2025-02-26T19:10:15Z")

</div>

Hi everyone, I'm currently working on an Ignition Perspective component, and I need to call a function that retrieves some system resources, like a list of tags or historical values of a specific tag, directly from with…

---

## [\`ProjectConfig\` - \`Unable to find registered component for id="..."\` on custom perspective components module on startup](https://forum.inductiveautomation.com/t/projectconfig-unable-to-find-registered-component-for-id-on-custom-perspective-components-module-on-startup/102834)

<div class="topic-metadata">

**Author:** [@Bjornar\_Alvestad](https://forum.inductiveautomation.com/u/Bjornar_Alvestad)\
**Replies:** 3\
**Last updated:** [February 26, 2025, 1:59pm UTC](https://forum.inductiveautomation.com/t/projectconfig-unable-to-find-registered-component-for-id-on-custom-perspective-components-module-on-startup/102834 "2025-02-26T13:59:21Z")

</div>

We have a custom perspective module adding several components. These all work fine. But when we start/restart the Ignition gateway, we get a rush of warnings from Perspective.ProjectConfig With message Unable to fi…

---

## [Create a unique identifier (id) in the schema](https://forum.inductiveautomation.com/t/create-a-unique-identifier-id-in-the-schema/102744)

<div class="topic-metadata">

**Author:** [@Mehrdad\_Telli](https://forum.inductiveautomation.com/u/Mehrdad_Telli)\
**Replies:** 2\
**Last updated:** [February 26, 2025, 6:02am UTC](https://forum.inductiveautomation.com/t/create-a-unique-identifier-id-in-the-schema/102744 "2025-02-26T06:02:42Z")

</div>

I used the code below to generate a unique ID, but apparently it is not supported, is there a way to generate a unique ID in schema? type: string format: uuid

---

## [Custom React Component not Rendering in Perspective Designer](https://forum.inductiveautomation.com/t/custom-react-component-not-rendering-in-perspective-designer/102779)

<div class="topic-metadata">

**Author:** [@hrushikesh.hd1](https://forum.inductiveautomation.com/u/hrushikesh.hd1)\
**Replies:** 11\
**Last updated:** [February 25, 2025, 11:13pm UTC](https://forum.inductiveautomation.com/t/custom-react-component-not-rendering-in-perspective-designer/102779 "2025-02-25T23:13:54Z")

</div>

Hey Guys, I'm trying to upload a custom dropdown (just for testing) to ignition designer. I'm using a dropdown component my org's components library. Just to test how the component looks, I created a demo react app and r…

---

## [Signed Module Signature Verification Failing](https://forum.inductiveautomation.com/t/signed-module-signature-verification-failing/98471)

<div class="topic-metadata">

**Author:** [@cody.tamaki](https://forum.inductiveautomation.com/u/cody.tamaki)\
**Replies:** 7\
**Last updated:** [February 24, 2025, 6:26pm UTC](https://forum.inductiveautomation.com/t/signed-module-signature-verification-failing/98471 "2025-02-24T18:26:33Z")

</div>

Hello, I have a module that I've signed and installed on docker/linux multiple times but seems to be failing on windows due to a bad signature size. Is there a setting I can change to get around this or do I need a diff…

[Previous page](https://forum.inductiveautomation.com/c/module-development/7.md?no_subcategories=false&page=9)

[Next page](https://forum.inductiveautomation.com/c/module-development/7.md?no_subcategories=false&page=11)
