# Module Development

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

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

**Page:** 18

---

## [Multiple RPC Handlers in Module](https://forum.inductiveautomation.com/t/multiple-rpc-handlers-in-module/59379)

<div class="topic-metadata">

**Author:** [@cody.tamaki](https://forum.inductiveautomation.com/u/cody.tamaki)\
**Replies:** 17\
**Last updated:** [May 2, 2024, 9:20pm UTC](https://forum.inductiveautomation.com/t/multiple-rpc-handlers-in-module/59379 "2024-05-02T21:20:28Z")

</div>

How would I go about adding multiple RPC handlers to the gateway? The current module I’m working on has a fairly large API and I would like to split it over organize it over multiple classes. Do I have to do some sort …

---

## [AlarmListener and tag alarms modified with tag.configure](https://forum.inductiveautomation.com/t/alarmlistener-and-tag-alarms-modified-with-tag-configure/89296)

<div class="topic-metadata">

**Author:** [@kyler.kamyszek](https://forum.inductiveautomation.com/u/kyler.kamyszek)\
**Replies:** 0\
**Last updated:** [April 23, 2024, 3:48pm UTC](https://forum.inductiveautomation.com/t/alarmlistener-and-tag-alarms-modified-with-tag-configure/89296 "2024-04-23T15:48:55Z")

</div>

I'm working on a module that listens for alarms and pushes the alarm data somewhere. What I've discovered is that the alarms that are modified through scripting with system.tag.configure by changing the "IsActive" to tr…

---

## [Calling a script function from the Bacnet driver from another module](https://forum.inductiveautomation.com/t/calling-a-script-function-from-the-bacnet-driver-from-another-module/89029)

<div class="topic-metadata">

**Author:** [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Replies:** 0\
**Last updated:** [April 18, 2024, 9:55am UTC](https://forum.inductiveautomation.com/t/calling-a-script-function-from-the-bacnet-driver-from-another-module/89029 "2024-04-18T09:55:37Z")

</div>

Hello, I am currently developing a perspective component for manipulating Bacnet schedules. I would like to call the system.bacnet.readRaw function from the Bacnet Driver module directly within the Java code of my modu…

---

## [How to update Persistent Records default values](https://forum.inductiveautomation.com/t/how-to-update-persistent-records-default-values/88876)

<div class="topic-metadata">

**Author:** [@Roberto\_Neves](https://forum.inductiveautomation.com/u/Roberto_Neves)\
**Replies:** 2\
**Last updated:** [April 16, 2024, 2:40pm UTC](https://forum.inductiveautomation.com/t/how-to-update-persistent-records-default-values/88876 "2024-04-16T14:40:57Z")

</div>

Hello, I want to update a persistent record table to change the columns default values, but the function context.getSchemaUpdater().updatePersistentRecords() only has any effect if I'm adding a new column, otherwise, th…

---

## [Flyway and jdbc](https://forum.inductiveautomation.com/t/flyway-and-jdbc/88740)

<div class="topic-metadata">

**Author:** [@Darren\_Steele](https://forum.inductiveautomation.com/u/Darren_Steele)\
**Replies:** 2\
**Last updated:** [April 12, 2024, 3:09pm UTC](https://forum.inductiveautomation.com/t/flyway-and-jdbc/88740 "2024-04-12T15:09:40Z")

</div>

Hi all, I've now moved on to evaluating flyway as a mechanism to keep our DB in sync with our modules. I've built a simple java module that connects to a local MSSQL DB and starts to do a migration. This all works. W…

---

## [Ignition - Graph mode selector / JFreeChart](https://forum.inductiveautomation.com/t/ignition-graph-mode-selector-jfreechart/88219)

<div class="topic-metadata">

**Author:** [@MG3](https://forum.inductiveautomation.com/u/MG3)\
**Replies:** 6\
**Last updated:** [April 10, 2024, 12:00pm UTC](https://forum.inductiveautomation.com/t/ignition-graph-mode-selector-jfreechart/88219 "2024-04-10T12:00:46Z")

</div>

Hi all, I am starting develop some addons apps and modules for Ignition and was wondering if anyone could offer advise regarding JFreeChart. With the Chart components in Ignition we have a mode switch, with different o…

---

## [Getting all tags in a historical tag provider](https://forum.inductiveautomation.com/t/getting-all-tags-in-a-historical-tag-provider/88469)

<div class="topic-metadata">

**Author:** [@Asjal\_Ahmad](https://forum.inductiveautomation.com/u/Asjal_Ahmad)\
**Replies:** 0\
**Last updated:** [April 6, 2024, 7:04pm UTC](https://forum.inductiveautomation.com/t/getting-all-tags-in-a-historical-tag-provider/88469 "2024-04-06T19:04:21Z")

</div>

How do I get all tags in the tag history provider? @Override public void setup(GatewayContext gatewayContext) { this.context = gatewayContext; try { GatewayTagHistoryManager tagHisto…

---

## [Liquibase and no default logger](https://forum.inductiveautomation.com/t/liquibase-and-no-default-logger/88287)

<div class="topic-metadata">

**Author:** [@Darren\_Steele](https://forum.inductiveautomation.com/u/Darren_Steele)\
**Replies:** 2\
**Last updated:** [April 3, 2024, 2:10pm UTC](https://forum.inductiveautomation.com/t/liquibase-and-no-default-logger/88287 "2024-04-03T14:10:44Z")

</div>

Hi all, I've been trying to integrate Liquibase into a module and I'm seeing some odd behaviour. When I use Liquibase 4.x.x in the module I get an exception that there is no default logger available. However if I just…

---

## [How to ensure module is actually removed on shutdown()](https://forum.inductiveautomation.com/t/how-to-ensure-module-is-actually-removed-on-shutdown/88085)

<div class="topic-metadata">

**Author:** [@Allen\_Miller](https://forum.inductiveautomation.com/u/Allen_Miller)\
**Replies:** 5\
**Last updated:** [March 29, 2024, 8:41pm UTC](https://forum.inductiveautomation.com/t/how-to-ensure-module-is-actually-removed-on-shutdown/88085 "2024-03-29T20:41:58Z")

</div>

Problem We are working on a module that has unexpected behavior when restarted or uninstalled/reinstalled. I believe these issues are caused by resources that are not removed by the module shutdown() method, and I'd like…

---

## [Set Tag Groups/Scan Rates in Ignition SDK](https://forum.inductiveautomation.com/t/set-tag-groups-scan-rates-in-ignition-sdk/88086)

<div class="topic-metadata">

**Author:** [@BenS](https://forum.inductiveautomation.com/u/BenS)\
**Replies:** 1\
**Last updated:** [March 29, 2024, 7:34pm UTC](https://forum.inductiveautomation.com/t/set-tag-groups-scan-rates-in-ignition-sdk/88086 "2024-03-29T19:34:35Z")

</div>

Hello, I am continuing development on an Ignition SDK module. This module creates a tag provider and populates it with tags; I would like to set different scan rates for two different groups of tags. From reviewing the …

---

## [AlarmManager with Ignition Gateway Hub and remote ignition nodes sourcing alarms](https://forum.inductiveautomation.com/t/alarmmanager-with-ignition-gateway-hub-and-remote-ignition-nodes-sourcing-alarms/82141)

<div class="topic-metadata">

**Author:** [@Denis\_Cote](https://forum.inductiveautomation.com/u/Denis_Cote)\
**Replies:** 4\
**Last updated:** [March 28, 2024, 7:57pm UTC](https://forum.inductiveautomation.com/t/alarmmanager-with-ignition-gateway-hub-and-remote-ignition-nodes-sourcing-alarms/82141 "2024-03-28T19:57:15Z")

</div>

We have two issues in this scenario. Using GetAlarmManager().AddAlarmListener() - is not sending any alarm events for this configuration(Remote ignition nodes causing alarms) Acknowledging an Ignition Alarm on the …

---

## [Errors when compiling Project](https://forum.inductiveautomation.com/t/errors-when-compiling-project/87846)

<div class="topic-metadata">

**Author:** [@wmcoleman](https://forum.inductiveautomation.com/u/wmcoleman)\
**Replies:** 3\
**Last updated:** [March 25, 2024, 8:37pm UTC](https://forum.inductiveautomation.com/t/errors-when-compiling-project/87846 "2024-03-25T20:37:53Z")

</div>

I set up a development server following the example in the SDK. I'm having an issue when I compile - it looks like it's trying to download packages from inductive but I get a not authorized error. I'm sure I followed all…

---

## [\[Bug\] ':deployModl' step fails when using Gradle 8.5 \[Feature Deprecated\]](https://forum.inductiveautomation.com/t/bug-deploymodl-step-fails-when-using-gradle-8-5-feature-deprecated/85235)

<div class="topic-metadata">

**Author:** [@Tyler\_McLean](https://forum.inductiveautomation.com/u/Tyler_McLean)\
**Replies:** 5\
**Last updated:** [March 25, 2024, 5:20pm UTC](https://forum.inductiveautomation.com/t/bug-deploymodl-step-fails-when-using-gradle-8-5-feature-deprecated/85235 "2024-03-25T17:20:50Z")

</div>

Hey team, I'm working on a new module to add some scripting functions to my company's Ignition instance and while there have been some pain points, I've mostly been able to solve the issue or find a work around. In the …

---

## [Export component event scripts](https://forum.inductiveautomation.com/t/export-component-event-scripts/5070)

<div class="topic-metadata">

**Author:** [@systemparadox](https://forum.inductiveautomation.com/u/systemparadox)\
**Replies:** 21\
**Last updated:** [April 24, 2020, 8:30pm UTC](https://forum.inductiveautomation.com/t/export-component-event-scripts/5070 "2020-04-24T20:30:48Z")

</div>

Is there any way to export all the component event scripts? I would like to be able to see all event code in one place so I know what can be safely re-factored. I'm hoping to end up with text files, but I don't mind writ…

---

## [Unable to open debugger port](https://forum.inductiveautomation.com/t/unable-to-open-debugger-port/87806)

<div class="topic-metadata">

**Author:** [@Asjal\_Ahmad](https://forum.inductiveautomation.com/u/Asjal_Ahmad)\
**Replies:** 2\
**Last updated:** [March 24, 2024, 10:08pm UTC](https://forum.inductiveautomation.com/t/unable-to-open-debugger-port/87806 "2024-03-24T22:08:16Z")

</div>

I'm following along this video for attaching a debugger to a remote JVM in IntelliJ for the vision client. SDK Debugging Using Breakpoints Video at Inductive University However, when I launch the application in the vis…

---

## [CKR\_USER\_NOT\_LOGGED\_IN Error when Signing ZIP file with Sectigo USB eToken](https://forum.inductiveautomation.com/t/ckr-user-not-logged-in-error-when-signing-zip-file-with-sectigo-usb-etoken/58107)

<div class="topic-metadata">

**Author:** [@Ben\_Amar](https://forum.inductiveautomation.com/u/Ben_Amar)\
**Replies:** 6\
**Last updated:** [March 22, 2024, 11:26pm UTC](https://forum.inductiveautomation.com/t/ckr-user-not-logged-in-error-when-signing-zip-file-with-sectigo-usb-etoken/58107 "2024-03-22T23:26:03Z")

</div>

Hey everyone, I have tried to sign a zip file with module-signer code from GitHub - inductiveautomation/module-signer: A utility that signs modules for use in Ignition to create MODL file. We are using Sectigo USB eTo…

---

## [How to Sign the unsigned module](https://forum.inductiveautomation.com/t/how-to-sign-the-unsigned-module/87689)

<div class="topic-metadata">

**Author:** [@Anita.Shinde](https://forum.inductiveautomation.com/u/Anita.Shinde)\
**Replies:** 5\
**Last updated:** [March 21, 2024, 2:45pm UTC](https://forum.inductiveautomation.com/t/how-to-sign-the-unsigned-module/87689 "2024-03-21T14:45:12Z")

</div>

Hi Team, I have one module(Symbolic AI) which is implemented in java(eclipse), When we are building that java module one unsigned module is generated. we are trying to upload that unsigned module in ignition gateway bu…

---

## [Gradle Build perspective-component No PSK Available](https://forum.inductiveautomation.com/t/gradle-build-perspective-component-no-psk-available/68752)

<div class="topic-metadata">

**Author:** [@Jonathan](https://forum.inductiveautomation.com/u/Jonathan)\
**Replies:** 2\
**Last updated:** [March 21, 2024, 4:51am UTC](https://forum.inductiveautomation.com/t/gradle-build-perspective-component-no-psk-available/68752 "2024-03-21T04:51:50Z")

</div>

I am trying to build the perspective-component using gradlew.bat and I am receiving this output. It looks to me like it cannot get some file from the nexus repo, but I am not sure why. C:\\ignitionModuleDev\\ignition-sdk-…

---

## [Tag browser context menu new feature](https://forum.inductiveautomation.com/t/tag-browser-context-menu-new-feature/87438)

<div class="topic-metadata">

**Author:** [@Nathan\_Foster](https://forum.inductiveautomation.com/u/Nathan_Foster)\
**Replies:** 2\
**Last updated:** [March 20, 2024, 3:39pm UTC](https://forum.inductiveautomation.com/t/tag-browser-context-menu-new-feature/87438 "2024-03-20T15:39:58Z")

</div>

I'm a newbie to module development and trying to add a new feature to the tag browser context menu. I was able to add a new menu item to the tag browser context menu, but how do I get which tag(s) was selected when the a…

---

## [Property description - Multiple Lines](https://forum.inductiveautomation.com/t/property-description-multiple-lines/87415)

<div class="topic-metadata">

**Author:** [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Replies:** 2\
**Last updated:** [March 15, 2024, 4:52pm UTC](https://forum.inductiveautomation.com/t/property-description-multiple-lines/87415 "2024-03-15T16:52:29Z")

</div>

How can I achieve more than one line on a component property description? Here is what I tried in the BeanInfo, but the \\r\\n is just ignored, see screenshot below. addProp("findBreakpoints", "Find Breakpoints", "Au…

---

## [Ignition Developer Mode Not Working After adding allowunsignedModules=true](https://forum.inductiveautomation.com/t/ignition-developer-mode-not-working-after-adding-allowunsignedmodules-true/87414)

<div class="topic-metadata">

**Author:** [@alexandercs](https://forum.inductiveautomation.com/u/alexandercs)\
**Replies:** 2\
**Last updated:** [March 15, 2024, 4:49pm UTC](https://forum.inductiveautomation.com/t/ignition-developer-mode-not-working-after-adding-allowunsignedmodules-true/87414 "2024-03-15T16:49:42Z")

</div>

Hi all, I have tried a few things and wondering if someone can help me out. I have been trying to get into developer mode and it will not work. Here are my conf settings. I have tried setting it to other numbers like 4 a…

---

## [getTagConfigsAsync with recursive true](https://forum.inductiveautomation.com/t/gettagconfigsasync-with-recursive-true/87286)

<div class="topic-metadata">

**Author:** [@omoon](https://forum.inductiveautomation.com/u/omoon)\
**Replies:** 0\
**Last updated:** [March 13, 2024, 5:34pm UTC](https://forum.inductiveautomation.com/t/gettagconfigsasync-with-recursive-true/87286 "2024-03-13T17:34:44Z")

</div>

Regarding getTagConfigsAsync API, does anyone know how the recursive parameter works? Does it only read tag models of its children or traverse sub directories? If it collect from entire directory tree, is there a perform…

---

## [addListener for alarms from remote tag provider?](https://forum.inductiveautomation.com/t/addlistener-for-alarms-from-remote-tag-provider/87219)

<div class="topic-metadata">

**Author:** [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Replies:** 0\
**Last updated:** [March 12, 2024, 9:06pm UTC](https://forum.inductiveautomation.com/t/addlistener-for-alarms-from-remote-tag-provider/87219 "2024-03-12T21:06:25Z")

</div>

I try to subscribe to alarms in a module for the gateway scope with the AlarmManager with: qpListener = new QualifiedPath.Builder().build() this.gatewayContext.getAlarmManager().addListener(qpListener, myAlarmListenerB…

---

## [The perspective-component module does not appear or does not work](https://forum.inductiveautomation.com/t/the-perspective-component-module-does-not-appear-or-does-not-work/87158)

<div class="topic-metadata">

**Author:** [@Jose\_Enrique\_Ogando](https://forum.inductiveautomation.com/u/Jose_Enrique_Ogando)\
**Replies:** 4\
**Last updated:** [March 12, 2024, 5:46pm UTC](https://forum.inductiveautomation.com/t/the-perspective-component-module-does-not-appear-or-does-not-work/87158 "2024-03-12T17:46:43Z")

</div>

Why doesn’t the example component module offered by Ignition (ignition-sdk-examples/perspective-component at master · inductiveautomation/ignition-sdk-examples · GitHub) appear in my designer after importing the module, …

---

## [Import fonts in a module](https://forum.inductiveautomation.com/t/import-fonts-in-a-module/62763)

<div class="topic-metadata">

**Author:** [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Replies:** 6\
**Last updated:** [March 12, 2024, 8:44am UTC](https://forum.inductiveautomation.com/t/import-fonts-in-a-module/62763 "2024-03-12T08:44:44Z")

</div>

Hello, Is it possible to import new fonts in a module ? I would like use a particular font on my perspective components.

---

## [Custom driver has No ClassDefFoundError; works on Ignition V8.1.24 but fails in V8.1.27 +](https://forum.inductiveautomation.com/t/custom-driver-has-no-classdeffounderror-works-on-ignition-v8-1-24-but-fails-in-v8-1-27/87147)

<div class="topic-metadata">

**Author:** [@Amazon\_MAP\_Team](https://forum.inductiveautomation.com/u/Amazon_MAP_Team)\
**Replies:** 1\
**Last updated:** [March 11, 2024, 7:35pm UTC](https://forum.inductiveautomation.com/t/custom-driver-has-no-classdeffounderror-works-on-ignition-v8-1-24-but-fails-in-v8-1-27/87147 "2024-03-11T19:35:57Z")

</div>

Hello Team, We have a custom driver module created for a particular MHE ; and this is working fine on our current fleet version of Ignition V8.1.24. We are in the process of upgrading to the minor revision V8.1.3+; and…

---

## [Properly subscribing to Tag Changes from an Expression](https://forum.inductiveautomation.com/t/properly-subscribing-to-tag-changes-from-an-expression/85455)

<div class="topic-metadata">

**Author:** [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Replies:** 8\
**Last updated:** [March 4, 2024, 8:12pm UTC](https://forum.inductiveautomation.com/t/properly-subscribing-to-tag-changes-from-an-expression/85455 "2024-03-04T20:12:21Z")

</div>

Okay, I'm stumped, or probably more likely beating my head against a wall because I should be going a different direction. I have a resource which accepts an expression, to utilize this I have created an expression whic…

---

## [Perspective Client, additional WebSocket connections](https://forum.inductiveautomation.com/t/perspective-client-additional-websocket-connections/86765)

<div class="topic-metadata">

**Author:** [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Replies:** 3\
**Last updated:** [March 4, 2024, 5:31pm UTC](https://forum.inductiveautomation.com/t/perspective-client-additional-websocket-connections/86765 "2024-03-04T17:31:12Z")

</div>

Are there any SDK functionalities for creating additional WebSocket connections between a Perspective client and the gateway?

---

## [PropertyTreeChangeEvent Questions](https://forum.inductiveautomation.com/t/propertytreechangeevent-questions/86707)

<div class="topic-metadata">

**Author:** [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Replies:** 3\
**Last updated:** [March 4, 2024, 4:34pm UTC](https://forum.inductiveautomation.com/t/propertytreechangeevent-questions/86707 "2024-03-04T16:34:01Z")

</div>

I'm trying to subscribe to property changes in my component model delegate, and usage of PropertyTreeChangeEvent is tripping me up. My goal: subscribe to an array of objects at path this.props.tags. 1: Why do I have …

---

## [Some inconsistencies with tag paths](https://forum.inductiveautomation.com/t/some-inconsistencies-with-tag-paths/86494)

<div class="topic-metadata">

**Author:** [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Replies:** 6\
**Last updated:** [February 28, 2024, 4:57pm UTC](https://forum.inductiveautomation.com/t/some-inconsistencies-with-tag-paths/86494 "2024-02-28T16:57:50Z")

</div>

HI, I am making quite some progress with my Apache IoTDB tag historian, but currently struggling with a problem, that hopefully you folks here can provide some insights on. I implemented the browse method of my history…

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

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