# Module Development

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

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

**Page:** 23

---

## [AbstractNavTreeNode subclass usage?](https://forum.inductiveautomation.com/t/abstractnavtreenode-subclass-usage/74923)

<div class="topic-metadata">

**Author:** [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Replies:** 6\
**Last updated:** [June 12, 2023, 9:31pm UTC](https://forum.inductiveautomation.com/t/abstractnavtreenode-subclass-usage/74923 "2023-06-12T21:31:59Z")

</div>

I'm trying to use ProjectBrowserRoot root = designerContext.getProjectBrowserRoot(); and its children and childrens children to get project resources. I can get them as AbstractNavTreeNode, but whenever I try casting the…

---

## [Get project directory?](https://forum.inductiveautomation.com/t/get-project-directory/74853)

<div class="topic-metadata">

**Author:** [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Replies:** 3\
**Last updated:** [June 12, 2023, 1:34pm UTC](https://forum.inductiveautomation.com/t/get-project-directory/74853 "2023-06-12T13:34:21Z")

</div>

I'm trying to get the directory for projects, but because I have conf set to wrapper.java.additional.6=-Dignition.projects.dir="C:\\IgnitionProjects" (so i can use git without mucking with permissions) I can't use System…

---

## [Ip camera module timeout (byes-util.modl)](https://forum.inductiveautomation.com/t/ip-camera-module-timeout-byes-util-modl/74854)

<div class="topic-metadata">

**Author:** [@KIM\_SUNG\_HOO](https://forum.inductiveautomation.com/u/KIM_SUNG_HOO)\
**Replies:** 1\
**Last updated:** [June 9, 2023, 8:01pm UTC](https://forum.inductiveautomation.com/t/ip-camera-module-timeout-byes-util-modl/74854 "2023-06-09T20:01:05Z")

</div>

hi, I am trying to use the ip camera sample. The module received from this post has a 2 hour limit. Is there any way to lift this restriction?

---

## [Error when launching Designer debug from Intellij](https://forum.inductiveautomation.com/t/error-when-launching-designer-debug-from-intellij/74711)

<div class="topic-metadata">

**Author:** [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Replies:** 12\
**Last updated:** [June 7, 2023, 4:21pm UTC](https://forum.inductiveautomation.com/t/error-when-launching-designer-debug-from-intellij/74711 "2023-06-07T16:21:14Z")

</div>

Trying to debug some client/designer scope module stuff, and I've been working on getting Intellij set up for a bit but i've gotten stuck with this pesky error when trying to run the configuration as it is on the SDK dev…

---

## [Managed tag provider, create custom properties of type: Number, Array. Java class to use?](https://forum.inductiveautomation.com/t/managed-tag-provider-create-custom-properties-of-type-number-array-java-class-to-use/74631)

<div class="topic-metadata">

**Author:** [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Replies:** 7\
**Last updated:** [June 6, 2023, 4:30pm UTC](https://forum.inductiveautomation.com/t/managed-tag-provider-create-custom-properties-of-type-number-array-java-class-to-use/74631 "2023-06-06T16:30:11Z")

</div>

Ignition 8.1.28 In a managed tag provider, I try to create some Custom properties to my exposed tags. For Boolean, I can do for example: BasicBoundPropertySet realtimeProperty = new BasicBoundPropertySet(); realtimePr…

---

## [Unable to load bundle](https://forum.inductiveautomation.com/t/unable-to-load-bundle/68678)

<div class="topic-metadata">

**Author:** [@Ben\_Duran](https://forum.inductiveautomation.com/u/Ben_Duran)\
**Replies:** 6\
**Last updated:** [June 5, 2023, 9:15pm UTC](https://forum.inductiveautomation.com/t/unable-to-load-bundle/68678 "2023-06-05T21:15:11Z")

</div>

Hello, I'm a new module developer still very much learning. I am trying to follow the gateway-webpage example and after I have made all my changes I see the question marks on the gateway config page. The error I get jav…

---

## [SecurityLevelConfig find() path format / not working?](https://forum.inductiveautomation.com/t/securitylevelconfig-find-path-format-not-working/74315)

<div class="topic-metadata">

**Author:** [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Replies:** 2\
**Last updated:** [June 5, 2023, 2:43pm UTC](https://forum.inductiveautomation.com/t/securitylevelconfig-find-path-format-not-working/74315 "2023-06-05T14:43:11Z")

</div>

Trying to use this to determine if the user has a certain security level, and I've copied the path directly from the SecurityLevels page in the gateway, but it doesn't seem to find it? The Optional isPresent always retur…

---

## [How to resolve dependency version conflict between customized module and internal lib?](https://forum.inductiveautomation.com/t/how-to-resolve-dependency-version-conflict-between-customized-module-and-internal-lib/74545)

<div class="topic-metadata">

**Author:** [@weixionglichina](https://forum.inductiveautomation.com/u/weixionglichina)\
**Replies:** 1\
**Last updated:** [June 5, 2023, 3:09am UTC](https://forum.inductiveautomation.com/t/how-to-resolve-dependency-version-conflict-between-customized-module-and-internal-lib/74545 "2023-06-05T03:09:42Z")

</div>

I am going to work with POI 5.2.3 but I saw POI 4.1.1 inside of Lib, how do I ignore 4.1.1 and use 5.2.3 in my module? Note: the old version made my customized module error out. Any ideas are appreciated.

---

## [Gateway module accessing the gateway scripts](https://forum.inductiveautomation.com/t/gateway-module-accessing-the-gateway-scripts/74539)

<div class="topic-metadata">

**Author:** [@PRAMANJ](https://forum.inductiveautomation.com/u/PRAMANJ)\
**Replies:** 0\
**Last updated:** [June 4, 2023, 6:01am UTC](https://forum.inductiveautomation.com/t/gateway-module-accessing-the-gateway-scripts/74539 "2023-06-04T06:01:08Z")

</div>

I want to use some of the Jython gateway script libraries functions from an Ignition gateway module of mine. Can someone give me an example of which libraries to include at the top of gateway module and how to access som…

---

## [Accessing Gateway Address](https://forum.inductiveautomation.com/t/accessing-gateway-address/74514)

<div class="topic-metadata">

**Author:** [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Replies:** 2\
**Last updated:** [June 2, 2023, 11:16pm UTC](https://forum.inductiveautomation.com/t/accessing-gateway-address/74514 "2023-06-02T23:16:56Z")

</div>

This is probably an overly simple question, but where in the SDK can we access the equivalent of: \[System\]Client/Network/GatewayAddress ? I had a look at GatewayContect.getSystemProperties().getHomepageUrl() but that …

---

## [Driving Execution At a Fixed Rate](https://forum.inductiveautomation.com/t/driving-execution-at-a-fixed-rate/74325)

<div class="topic-metadata">

**Author:** [@nicholas.robinson](https://forum.inductiveautomation.com/u/nicholas.robinson)\
**Replies:** 1\
**Last updated:** [May 31, 2023, 11:48am UTC](https://forum.inductiveautomation.com/t/driving-execution-at-a-fixed-rate/74325 "2023-05-31T11:48:07Z")

</div>

If I want to drive an action in a module to happen say every 1 minute, is the following a valid way to do it? gatewayContext.getExecutionManager().registerAtFixedRate({params}) Or, what is everyone's best practices for…

---

## [Set default record on RecordActionTable](https://forum.inductiveautomation.com/t/set-default-record-on-recordactiontable/74155)

<div class="topic-metadata">

**Author:** [@YF129701](https://forum.inductiveautomation.com/u/YF129701)\
**Replies:** 5\
**Last updated:** [May 25, 2023, 3:10pm UTC](https://forum.inductiveautomation.com/t/set-default-record-on-recordactiontable/74155 "2023-05-25T15:10:12Z")

</div>

I'm working on a module and I have a gateway webpage with a RecordActionTable component that keeps track of clients I'm interfacing with. I'd like to set one and only one as a default (so that I can retrieve a default cl…

---

## [How is the Perspective Sessions status page info found?](https://forum.inductiveautomation.com/t/how-is-the-perspective-sessions-status-page-info-found/73921)

<div class="topic-metadata">

**Author:** [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Replies:** 4\
**Last updated:** [May 22, 2023, 9:53pm UTC](https://forum.inductiveautomation.com/t/how-is-the-perspective-sessions-status-page-info-found/73921 "2023-05-22T21:53:56Z")

</div>

On the Gateway, the Status-\>Connections-\>Perspective Sessions has a list with information about all open sessions, both designer and perspective. Is there a way to access this list, or equivalently, how is this informati…

---

## [Where to create JSON file written from module (linux)](https://forum.inductiveautomation.com/t/where-to-create-json-file-written-from-module-linux/73976)

<div class="topic-metadata">

**Author:** [@Sarah\_Sonnier](https://forum.inductiveautomation.com/u/Sarah_Sonnier)\
**Replies:** 3\
**Last updated:** [May 22, 2023, 7:13pm UTC](https://forum.inductiveautomation.com/t/where-to-create-json-file-written-from-module-linux/73976 "2023-05-22T19:13:21Z")

</div>

Hey everyone, I have a module that writes a JSON file to a folder that the module creates in the data directory. When the file doesn't exist, my module creates the JSON file. On Windows this is \\Ignition\\data{myDirector…

---

## [Getting PerspectiveContext](https://forum.inductiveautomation.com/t/getting-perspectivecontext/73834)

<div class="topic-metadata">

**Author:** [@Robert\_McIlvenna](https://forum.inductiveautomation.com/u/Robert_McIlvenna)\
**Replies:** 6\
**Last updated:** [May 17, 2023, 4:36pm UTC](https://forum.inductiveautomation.com/t/getting-perspectivecontext/73834 "2023-05-17T16:36:15Z")

</div>

I'm trying to find how many Perspective sessions are currently open with Session Monitor. I've tried to use PerspectiveContext.get(context) inside GatewayHook, but it causes the module to fault. Is there some reason this…

---

## [Subscribing to Property Changes for a Custom Perspective Component](https://forum.inductiveautomation.com/t/subscribing-to-property-changes-for-a-custom-perspective-component/73737)

<div class="topic-metadata">

**Author:** [@Kevin\_Kirspel](https://forum.inductiveautomation.com/u/Kevin_Kirspel)\
**Replies:** 1\
**Last updated:** [May 15, 2023, 6:23pm UTC](https://forum.inductiveautomation.com/t/subscribing-to-property-changes-for-a-custom-perspective-component/73737 "2023-05-15T18:23:37Z")

</div>

I have built a custom perspective component based on the Ignition SDK example. The module that contains the component has been successfully installed on the gateway and it works as expected. I am now trying expand on t…

---

## [Reporting component looking for icon image in the wrong location](https://forum.inductiveautomation.com/t/reporting-component-looking-for-icon-image-in-the-wrong-location/73562)

<div class="topic-metadata">

**Author:** [@Tyler\_Dolan](https://forum.inductiveautomation.com/u/Tyler_Dolan)\
**Replies:** 2\
**Last updated:** [May 11, 2023, 3:53pm UTC](https://forum.inductiveautomation.com/t/reporting-component-looking-for-icon-image-in-the-wrong-location/73562 "2023-05-11T15:53:19Z")

</div>

I'm trying to create a report component following the example. In the @ShapeMeta of Smiley.java, they have iconPath = "smiley.png", and then smiley.png is in resources/images. I've done the same with my png icon, but I'm…

---

## [Error Writing OPC-UA Node](https://forum.inductiveautomation.com/t/error-writing-opc-ua-node/45649)

<div class="topic-metadata">

**Author:** [@brandon1](https://forum.inductiveautomation.com/u/brandon1)\
**Replies:** 6\
**Last updated:** [May 8, 2023, 5:46am UTC](https://forum.inductiveautomation.com/t/error-writing-opc-ua-node/45649 "2023-05-08T05:46:31Z")

</div>

I am trying to write a tag that references a ManagedDevice implementation using the Milo OPC-UA driver. The following is the error that the designer throws at me: Error writing to InterMessageDelay.value: Bad("Bad\_Inte…

---

## [Is it possible to configure only one database?](https://forum.inductiveautomation.com/t/is-it-possible-to-configure-only-one-database/73179)

<div class="topic-metadata">

**Author:** [@KIM\_SUNG\_HOO](https://forum.inductiveautomation.com/u/KIM_SUNG_HOO)\
**Replies:** 8\
**Last updated:** [May 8, 2023, 12:11am UTC](https://forum.inductiveautomation.com/t/is-it-possible-to-configure-only-one-database/73179 "2023-05-08T00:11:23Z")

</div>

hi. There are a few questions about configuring the system. first, I am trying to configure two ignition servers up to redundancy. Is it possible to link two servers with one database? second, I am trying to configure…

---

## [Call System functions within custom module?](https://forum.inductiveautomation.com/t/call-system-functions-within-custom-module/73227)

<div class="topic-metadata">

**Author:** [@j.israelsen](https://forum.inductiveautomation.com/u/j.israelsen)\
**Replies:** 3\
**Last updated:** [May 4, 2023, 4:29pm UTC](https://forum.inductiveautomation.com/t/call-system-functions-within-custom-module/73227 "2023-05-04T16:29:27Z")

</div>

First, is there a way to utilize system functions in a 3rd party module? For example: system.util.getEdition system.util.getSystemFlags system.alarm.queryStatus Second, is there a method to check for trial mode?

---

## [Arrays in props.json - adding custom object to array, description for array properties](https://forum.inductiveautomation.com/t/arrays-in-props-json-adding-custom-object-to-array-description-for-array-properties/72518)

<div class="topic-metadata">

**Author:** [@Bjornar\_Alvestad](https://forum.inductiveautomation.com/u/Bjornar_Alvestad)\
**Replies:** 2\
**Last updated:** [May 3, 2023, 1:24pm UTC](https://forum.inductiveautomation.com/t/arrays-in-props-json-adding-custom-object-to-array-description-for-array-properties/72518 "2023-05-03T13:24:52Z")

</div>

In the \*.props.json file I am able to add properties for objects that either show up as default or can be added from designer by pressing the + button. I can also add description to objects and primitive types inside the…

---

## [Scripting Module Structure](https://forum.inductiveautomation.com/t/scripting-module-structure/72986)

<div class="topic-metadata">

**Author:** [@Jason\_Zhou](https://forum.inductiveautomation.com/u/Jason_Zhou)\
**Replies:** 2\
**Last updated:** [April 27, 2023, 8:42pm UTC](https://forum.inductiveautomation.com/t/scripting-module-structure/72986 "2023-04-27T20:42:30Z")

</div>

Right now I'm working on fleshing out a custom scripting module. Some questions I have are: In the SDK scripting function, the module path example is "system.example". Something I'd like to do is categorize further, a…

---

## [Gateway-Scoped Event Handler Script](https://forum.inductiveautomation.com/t/gateway-scoped-event-handler-script/71263)

<div class="topic-metadata">

**Author:** [@eric.hollering](https://forum.inductiveautomation.com/u/eric.hollering)\
**Replies:** 6\
**Last updated:** [April 19, 2023, 10:34pm UTC](https://forum.inductiveautomation.com/t/gateway-scoped-event-handler-script/71263 "2023-04-19T22:34:36Z")

</div>

In my module I have a manager-style object in the Gateway scope to which we can add typed EventListeners. This works great in Java, but we have a use-case that would benefit from being able to add an event listener for …

---

## [GIT module needs to refresh project tree](https://forum.inductiveautomation.com/t/git-module-needs-to-refresh-project-tree/38012)

<div class="topic-metadata">

**Author:** [@thijs1](https://forum.inductiveautomation.com/u/thijs1)\
**Replies:** 7\
**Last updated:** [April 18, 2023, 5:56am UTC](https://forum.inductiveautomation.com/t/git-module-needs-to-refresh-project-tree/38012 "2023-04-18T05:56:53Z")

</div>

Hi, We are currently in the progress of building a module that incorporates GIT functionality into Ignition. By adding the project folders into GIT, we can commit, pull, push. This functionality all seems to work fine…

---

## [How to get alarm journal datasource?](https://forum.inductiveautomation.com/t/how-to-get-alarm-journal-datasource/72397)

<div class="topic-metadata">

**Author:** [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Replies:** 4\
**Last updated:** [April 13, 2023, 3:44pm UTC](https://forum.inductiveautomation.com/t/how-to-get-alarm-journal-datasource/72397 "2023-04-13T15:44:58Z")

</div>

I don't find a way to get alarm journal datasource with script or the SDK

---

## [Upgrade gateway sql tag related classes from 7.9 to v8.1](https://forum.inductiveautomation.com/t/upgrade-gateway-sql-tag-related-classes-from-7-9-to-v8-1/72290)

<div class="topic-metadata">

**Author:** [@Rahul\_k](https://forum.inductiveautomation.com/u/Rahul_k)\
**Replies:** 1\
**Last updated:** [April 11, 2023, 12:41pm UTC](https://forum.inductiveautomation.com/t/upgrade-gateway-sql-tag-related-classes-from-7-9-to-v8-1/72290 "2023-04-11T12:41:27Z")

</div>

Hi, We have few custom modules in Ignition 7.9. We are working on migrating those to Ignition 8.1. The below APIs seems to be missing in Ignition8.1 Could you please help us with guiding how we can migrate these to 8.1…

---

## [What is Web browser module?](https://forum.inductiveautomation.com/t/what-is-web-browser-module/72191)

<div class="topic-metadata">

**Author:** [@KIM\_SUNG\_HOO](https://forum.inductiveautomation.com/u/KIM_SUNG_HOO)\
**Replies:** 2\
**Last updated:** [April 7, 2023, 10:02pm UTC](https://forum.inductiveautomation.com/t/what-is-web-browser-module/72191 "2023-04-07T22:02:03Z")

</div>

hi, communication. I have questions about Web browser module. first, What is the Web Browser Module? Is it simply using web components(ex) weather API, IP Camera)? Or, can vision be run on the web? second, If you purc…

---

## [How should I browse tags using the java API? Bugs?](https://forum.inductiveautomation.com/t/how-should-i-browse-tags-using-the-java-api-bugs/72029)

<div class="topic-metadata">

**Author:** [@Andrew\_Cunningham](https://forum.inductiveautomation.com/u/Andrew_Cunningham)\
**Replies:** 6\
**Last updated:** [April 6, 2023, 8:58pm UTC](https://forum.inductiveautomation.com/t/how-should-i-browse-tags-using-the-java-api-bugs/72029 "2023-04-06T20:58:10Z")

</div>

Hi all. I'm trying to write a module component which reads all tag configurations in ignition on module start (TODO: have it periodically rescan) in order to look for custom configuration attributes and act on them. I'…

---

## [SQL/Query Scripting Module](https://forum.inductiveautomation.com/t/sql-query-scripting-module/71683)

<div class="topic-metadata">

**Author:** [@Jason\_Zhou](https://forum.inductiveautomation.com/u/Jason_Zhou)\
**Replies:** 21\
**Last updated:** [April 5, 2023, 6:58pm UTC](https://forum.inductiveautomation.com/t/sql-query-scripting-module/71683 "2023-04-05T18:58:38Z")

</div>

Hey, so I'm interested in implementing what Ignition's system.db.runPrepQuery essentially does, but as a scripting module. Does anyone know how I would begin to go about this?

---

## [Referencing Objects created in GatewayHook](https://forum.inductiveautomation.com/t/referencing-objects-created-in-gatewayhook/71968)

<div class="topic-metadata">

**Author:** [@W\_Perkins](https://forum.inductiveautomation.com/u/W_Perkins)\
**Replies:** 7\
**Last updated:** [April 3, 2023, 2:28pm UTC](https://forum.inductiveautomation.com/t/referencing-objects-created-in-gatewayhook/71968 "2023-04-03T14:28:58Z")

</div>

In the GatewayHook startup() method, I am creating and registering some scheduled tasks using the ExecutionManager. These tasks are unregistered at shutdown(). This is all working well. My question is: Is there a goo…

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

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