# Module Development

**URL:** https://forum.inductiveautomation.com/c/module-development/7.md?page=18

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

**Page:** 19

---

## [Unit- /Integration-Testing Ignition modules?](https://forum.inductiveautomation.com/t/unit-integration-testing-ignition-modules/86520)

<div class="topic-metadata">

**Author:** [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Replies:** 1\
**Last updated:** [February 28, 2024, 4:03pm UTC](https://forum.inductiveautomation.com/t/unit-integration-testing-ignition-modules/86520 "2024-02-28T16:03:41Z")

</div>

Hi all, so after getting my IoTDB Historian sort of working ... I'd love to add some automated tests. I could possibly mock the subsystems, but mocking a system you don't understand doesn't really test things ... I wou…

---

## [Missing Security Jars 8.1.34 and higher](https://forum.inductiveautomation.com/t/missing-security-jars-8-1-34-and-higher/86035)

<div class="topic-metadata">

**Author:** [@meredithj](https://forum.inductiveautomation.com/u/meredithj)\
**Replies:** 12\
**Last updated:** [February 20, 2024, 7:07pm UTC](https://forum.inductiveautomation.com/t/missing-security-jars-8-1-34-and-higher/86035 "2024-02-20T19:07:16Z")

</div>

Hello, Looks like in 8.1.34 and higher, the client-api and designer-api artifacts both have a dependency on an artifact called security. \<dependency\> \<groupId\>com.inductiveautomation.ignition\</groupId\> \<artifactId\>secu…

---

## [Bug in BundleUtil.removeBundle? Driver classes do not unload](https://forum.inductiveautomation.com/t/bug-in-bundleutil-removebundle-driver-classes-do-not-unload/4249)

<div class="topic-metadata">

**Author:** [@chi](https://forum.inductiveautomation.com/u/chi)\
**Replies:** 12\
**Last updated:** [February 20, 2024, 5:05pm UTC](https://forum.inductiveautomation.com/t/bug-in-bundleutil-removebundle-driver-classes-do-not-unload/4249 "2024-02-20T17:05:11Z")

</div>

There seems to be a little bug or at least a documentation problem with the bundle util. When i add a bundle in ModuleHook.setup with BundleUtil.get().addBundle(xxx.class); and remove it in ModuleHook.shutdown with…

---

## [This is a topic about alarm](https://forum.inductiveautomation.com/t/this-is-a-topic-about-alarm/85994)

<div class="topic-metadata">

**Author:** [@lindeng\_chen](https://forum.inductiveautomation.com/u/lindeng_chen)\
**Replies:** 0\
**Last updated:** [February 20, 2024, 8:48am UTC](https://forum.inductiveautomation.com/t/this-is-a-topic-about-alarm/85994 "2024-02-20T08:48:29Z")

</div>

Hi. Where can I call the AlarmNotificationContext

---

## [Springboot Inside of Ignition Gateway Module](https://forum.inductiveautomation.com/t/springboot-inside-of-ignition-gateway-module/85709)

<div class="topic-metadata">

**Author:** [@Nick\_Gendron](https://forum.inductiveautomation.com/u/Nick_Gendron)\
**Replies:** 3\
**Last updated:** [February 16, 2024, 4:06pm UTC](https://forum.inductiveautomation.com/t/springboot-inside-of-ignition-gateway-module/85709 "2024-02-16T16:06:16Z")

</div>

I'd like to integrate Spring into my current Ignition gateway module to provide a management API for our application and to make the core functionality a bit more portable for different use cases. Is this something that …

---

## [Forcing SFC Transitions (Through SDK)](https://forum.inductiveautomation.com/t/forcing-sfc-transitions-through-sdk/85761)

<div class="topic-metadata">

**Author:** [@lehrichm](https://forum.inductiveautomation.com/u/lehrichm)\
**Replies:** 2\
**Last updated:** [February 15, 2024, 3:29pm UTC](https://forum.inductiveautomation.com/t/forcing-sfc-transitions-through-sdk/85761 "2024-02-15T15:29:41Z")

</div>

I was wondering if anyone knew of a way to force an SFC transition through the SDK module. I know the SFC can be built to have a separate path to take that will skip the transition, but in my circumstance, I would like t…

---

## [How to use runClientActions() events?](https://forum.inductiveautomation.com/t/how-to-use-runclientactions-events/85683)

<div class="topic-metadata">

**Author:** [@Md\_Sabbir\_Ahamed](https://forum.inductiveautomation.com/u/Md_Sabbir_Ahamed)\
**Replies:** 5\
**Last updated:** [February 14, 2024, 5:52pm UTC](https://forum.inductiveautomation.com/t/how-to-use-runclientactions-events/85683 "2024-02-14T17:52:12Z")

</div>

Can someone explain the purpose of this function and provide an example of how to use it? I am familiar with using the fireComponentEvent method, but I am unsure about how to use the runClientActions() method.

---

## [Pointers to implementing a new Tag-Historian for Apache IoTDB?](https://forum.inductiveautomation.com/t/pointers-to-implementing-a-new-tag-historian-for-apache-iotdb/85278)

<div class="topic-metadata">

**Author:** [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Replies:** 11\
**Last updated:** [February 13, 2024, 10:49am UTC](https://forum.inductiveautomation.com/t/pointers-to-implementing-a-new-tag-historian-for-apache-iotdb/85278 "2024-02-13T10:49:56Z")

</div>

Hi, I am currently working hard on getting Apache IoTDB deployed on various platforms, that would benefit from a high performant time-series DB. As part of this, would I love to implement a Tag-Historian extension for I…

---

## [Trigger built-in events from custom component](https://forum.inductiveautomation.com/t/trigger-built-in-events-from-custom-component/85587)

<div class="topic-metadata">

**Author:** [@Chad\_Gregory](https://forum.inductiveautomation.com/u/Chad_Gregory)\
**Replies:** 0\
**Last updated:** [February 12, 2024, 8:13pm UTC](https://forum.inductiveautomation.com/t/trigger-built-in-events-from-custom-component/85587 "2024-02-12T20:13:12Z")

</div>

I have been trying to figure out how to trigger all the built-in perspective events from a custom component. For example I may want to trigger the built-in onClick event. Has anyone done this before? Are they just no…

---

## [How to update custom component props in the designer](https://forum.inductiveautomation.com/t/how-to-update-custom-component-props-in-the-designer/85391)

<div class="topic-metadata">

**Author:** [@Chad\_Gregory](https://forum.inductiveautomation.com/u/Chad_Gregory)\
**Replies:** 3\
**Last updated:** [February 12, 2024, 8:09pm UTC](https://forum.inductiveautomation.com/t/how-to-update-custom-component-props-in-the-designer/85391 "2024-02-12T20:09:26Z")

</div>

I am tinkering around with creating a custom TextField to explore and learn how to build a component for perspective. I have a component with many props to set different aspects of the component but what I am struggling …

---

## [Conical Gradient Paint](https://forum.inductiveautomation.com/t/conical-gradient-paint/85107)

<div class="topic-metadata">

**Author:** [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Replies:** 22\
**Last updated:** [February 12, 2024, 6:55pm UTC](https://forum.inductiveautomation.com/t/conical-gradient-paint/85107 "2024-02-12T18:55:46Z")

</div>

Does anybody have a recommendation on what to use to paint a cone? Something that would paint an object like this:

---

## [Configuration Page, Interactive Disable/Enable?](https://forum.inductiveautomation.com/t/configuration-page-interactive-disable-enable/48248)

<div class="topic-metadata">

**Author:** [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Replies:** 7\
**Last updated:** [February 12, 2024, 4:16pm UTC](https://forum.inductiveautomation.com/t/configuration-page-interactive-disable-enable/48248 "2024-02-12T16:16:08Z")

</div>

I’m trying to build something on my settings page similar to the Redudancy/Network Settings category. I can set the enabled/disabled status of my text field (to test I’ve been using a validator), but how can I make…

---

## [Debugging in IntelliJ - error in SDK docs](https://forum.inductiveautomation.com/t/debugging-in-intellij-error-in-sdk-docs/85332)

<div class="topic-metadata">

**Author:** [@YF129701](https://forum.inductiveautomation.com/u/YF129701)\
**Replies:** 1\
**Last updated:** [February 7, 2024, 3:33pm UTC](https://forum.inductiveautomation.com/t/debugging-in-intellij-error-in-sdk-docs/85332 "2024-02-07T15:33:42Z")

</div>

Should be an easy fix in the SDK docs: That space between , and address will cause the gateway to not start, as I just found out.

---

## [React / perspective-client versions](https://forum.inductiveautomation.com/t/react-perspective-client-versions/80268)

<div class="topic-metadata">

**Author:** [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Replies:** 18\
**Last updated:** [February 6, 2024, 10:02pm UTC](https://forum.inductiveautomation.com/t/react-perspective-client-versions/80268 "2024-02-06T22:02:23Z")

</div>

Hello, It seems that the most recent version of "@inductiveautomation/perspective-client" is 2.1.16, which requires react version 16.11.0. Is there any way of finding out which versions of the "perspective-client" pack…

---

## [Include third-party libraries in custom module](https://forum.inductiveautomation.com/t/include-third-party-libraries-in-custom-module/85293)

<div class="topic-metadata">

**Author:** [@BenS](https://forum.inductiveautomation.com/u/BenS)\
**Replies:** 4\
**Last updated:** [February 6, 2024, 3:20pm UTC](https://forum.inductiveautomation.com/t/include-third-party-libraries-in-custom-module/85293 "2024-02-06T15:20:41Z")

</div>

For the module that I am developing, I need to include third-party libraries in a directory where they can be accessed by Ignition. The only way I have been able to do this so far is to copy those libraries into in the /…

---

## [Multiple modules using a 3rd party library with different versions](https://forum.inductiveautomation.com/t/multiple-modules-using-a-3rd-party-library-with-different-versions/85119)

<div class="topic-metadata">

**Author:** [@omoon](https://forum.inductiveautomation.com/u/omoon)\
**Replies:** 1\
**Last updated:** [February 1, 2024, 8:49pm UTC](https://forum.inductiveautomation.com/t/multiple-modules-using-a-3rd-party-library-with-different-versions/85119 "2024-02-01T20:49:12Z")

</div>

Is it possible that this cause an issue? I assume my software com.bowery.scada running in the same process with 3rd party module com.cirruslink.mqtt.engine.gateway, and they load different version of HikariCP bowery@bf-…

---

## [Hide Conditional Property](https://forum.inductiveautomation.com/t/hide-conditional-property/84971)

<div class="topic-metadata">

**Author:** [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Replies:** 8\
**Last updated:** [January 30, 2024, 6:51pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971 "2024-01-30T18:51:22Z")

</div>

Is it possible to hide a property on a vision component based on a condition? I know I can use the HIDDEN\_MASK in the BeanInfo class, but that hides the property permanently.

---

## [How to hide Perspective Component PROP based on Condition](https://forum.inductiveautomation.com/t/how-to-hide-perspective-component-prop-based-on-condition/84847)

<div class="topic-metadata">

**Author:** [@Md\_Sabbir\_Ahamed](https://forum.inductiveautomation.com/u/Md_Sabbir_Ahamed)\
**Replies:** 5\
**Last updated:** [January 30, 2024, 3:30pm UTC](https://forum.inductiveautomation.com/t/how-to-hide-perspective-component-prop-based-on-condition/84847 "2024-01-30T15:30:38Z")

</div>

Hello SDK module developers I need your help, any help will be appreciated greatly. I want to hide this buildInMeterConfig prop when the totalDrive is greater than 1 , I saw only equal conditions in the SDK example of …

---

## [Bounds2DComponent bounding box listener](https://forum.inductiveautomation.com/t/bounds2dcomponent-bounding-box-listener/84835)

<div class="topic-metadata">

**Author:** [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Replies:** 1\
**Last updated:** [January 29, 2024, 7:10pm UTC](https://forum.inductiveautomation.com/t/bounds2dcomponent-bounding-box-listener/84835 "2024-01-29T19:10:21Z")

</div>

I have a component that implements Bounds2DComponent so that I can have control over the bounding rectangle. The Bounds2DComponent interface causes the swing bounds to be the same as the parent. Because of the swing boun…

---

## [Missing API Jar Files](https://forum.inductiveautomation.com/t/missing-api-jar-files/84877)

<div class="topic-metadata">

**Author:** [@jimender2](https://forum.inductiveautomation.com/u/jimender2)\
**Replies:** 5\
**Last updated:** [January 29, 2024, 4:43pm UTC](https://forum.inductiveautomation.com/t/missing-api-jar-files/84877 "2024-01-29T16:43:48Z")

</div>

I am building a module and trying to upgrade the version of the SDK that I am compiling against to match what I currently have deployed out in the field. Moving my SDK version up to 8.1.17, I get an error saying that "t…

---

## [Component empty space](https://forum.inductiveautomation.com/t/component-empty-space/84775)

<div class="topic-metadata">

**Author:** [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Replies:** 1\
**Last updated:** [January 25, 2024, 5:04pm UTC](https://forum.inductiveautomation.com/t/component-empty-space/84775 "2024-01-25T17:04:40Z")

</div>

Is there a way to prevent a component from being selected if the mouse is in empty space, but within the component's bounds? Using the below component as an example, I want to prevent it from being selected if the mouse…

---

## [Align as Stack Error](https://forum.inductiveautomation.com/t/align-as-stack-error/84527)

<div class="topic-metadata">

**Author:** [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Replies:** 1\
**Last updated:** [January 19, 2024, 9:43pm UTC](https://forum.inductiveautomation.com/t/align-as-stack-error/84527 "2024-01-19T21:43:12Z")

</div>

I created a AbstractVisionShape component, which works other than when I grab multiple and try to align them using Vision's "Align as Stack" function, I get the following error: Exception in thread "AWT-EventQueue-0" ja…

---

## [Get License Key or similarly unique license value from module context](https://forum.inductiveautomation.com/t/get-license-key-or-similarly-unique-license-value-from-module-context/84462)

<div class="topic-metadata">

**Author:** [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Replies:** 0\
**Last updated:** [January 18, 2024, 5:16pm UTC](https://forum.inductiveautomation.com/t/get-license-key-or-similarly-unique-license-value-from-module-context/84462 "2024-01-18T17:16:38Z")

</div>

I working on Maker support in my EtherNet/IP module and am wrestling with the E/IP specification's requirement for serial numbers. When I issue an E/IP license for standard Ignition, the license includes extra details t…

---

## [Is it possible to have a variable/dynamic amount of fields in a settings page?](https://forum.inductiveautomation.com/t/is-it-possible-to-have-a-variable-dynamic-amount-of-fields-in-a-settings-page/84417)

<div class="topic-metadata">

**Author:** [@Tyler\_Dolan](https://forum.inductiveautomation.com/u/Tyler_Dolan)\
**Replies:** 1\
**Last updated:** [January 17, 2024, 10:19pm UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-have-a-variable-dynamic-amount-of-fields-in-a-settings-page/84417 "2024-01-17T22:19:24Z")

</div>

I would like to be able to set how many areas there are at a site, and then have a set of settings for each area. For a rough general example, could I have one field that accepts a number, which creates that many string…

---

## [Client Progress in Scripting Function](https://forum.inductiveautomation.com/t/client-progress-in-scripting-function/84283)

<div class="topic-metadata">

**Author:** [@Preston\_Barnett](https://forum.inductiveautomation.com/u/Preston_Barnett)\
**Replies:** 1\
**Last updated:** [January 16, 2024, 11:16pm UTC](https://forum.inductiveautomation.com/t/client-progress-in-scripting-function/84283 "2024-01-16T23:16:30Z")

</div>

I'm currently making a module that utilizes Amazon S3 as a way to keep our projects, tags, tag groups, modules, images, and other resources synced between 10+ gateways. It's basically an opinionated version control syste…

---

## [ClientTagProvider.subscribeAsync](https://forum.inductiveautomation.com/t/clienttagprovider-subscribeasync/84335)

<div class="topic-metadata">

**Author:** [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Replies:** 12\
**Last updated:** [January 16, 2024, 9:45pm UTC](https://forum.inductiveautomation.com/t/clienttagprovider-subscribeasync/84335 "2024-01-16T21:45:25Z")

</div>

com.inductiveautomation.ignition.client.tags.model.ClientTagProvider subscribeAsync(List\<TagPath\>, List\<TagChangeListener\>) How do I use this method? My class is extending AbstracVisionShape, so I'm using the context t…

---

## [Database Trigger Module](https://forum.inductiveautomation.com/t/database-trigger-module/84270)

<div class="topic-metadata">

**Author:** [@Subin\_Adhikari](https://forum.inductiveautomation.com/u/Subin_Adhikari)\
**Replies:** 5\
**Last updated:** [January 15, 2024, 9:01pm UTC](https://forum.inductiveautomation.com/t/database-trigger-module/84270 "2024-01-15T21:01:42Z")

</div>

Hello Gurus, I was wondering if there could be some database trigger setup. What I am looking for is whenever named queries are processed I want to log the ms it took to execute them. whenever runPrepQuery / runQuery …

---

## [Retrieve default tag provider](https://forum.inductiveautomation.com/t/retrieve-default-tag-provider/84081)

<div class="topic-metadata">

**Author:** [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Replies:** 11\
**Last updated:** [January 12, 2024, 3:16pm UTC](https://forum.inductiveautomation.com/t/retrieve-default-tag-provider/84081 "2024-01-12T15:16:02Z")

</div>

Is there a way to use the Ignition's project default tag provider in my module? Not a provider with the name "default", but the provider that is selected as default under Project Properties.

---

## [Component error in 3D module building using React Three fiber and SDK](https://forum.inductiveautomation.com/t/component-error-in-3d-module-building-using-react-three-fiber-and-sdk/84179)

<div class="topic-metadata">

**Author:** [@Md\_Sabbir\_Ahamed](https://forum.inductiveautomation.com/u/Md_Sabbir_Ahamed)\
**Replies:** 0\
**Last updated:** [January 12, 2024, 11:03am UTC](https://forum.inductiveautomation.com/t/component-error-in-3d-module-building-using-react-three-fiber-and-sdk/84179 "2024-01-12T11:03:42Z")

</div>

Has anyone in our community developed modules using React Three Fiber library? I am currently experiencing a major issue with this. The SDK successfully compiles everything and no error can be seen inside gateway or an…

---

## [Get Gateway Context](https://forum.inductiveautomation.com/t/get-gateway-context/83376)

<div class="topic-metadata">

**Author:** [@BenS](https://forum.inductiveautomation.com/u/BenS)\
**Replies:** 8\
**Last updated:** [January 10, 2024, 8:37pm UTC](https://forum.inductiveautomation.com/t/get-gateway-context/83376 "2024-01-10T20:37:17Z")

</div>

Hello, I am running into an issue when getting the gateway context while developing a module to write to tags. The SDK example for writing to tags (located at Read and Write Tags | Ignition SDK Programmer's Guide) begi…

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

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