# Module Development

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

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

**Page:** 17

---

## [Limit amount of specific component per Container](https://forum.inductiveautomation.com/t/limit-amount-of-specific-component-per-container/92510)

<div class="topic-metadata">

**Author:** [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Replies:** 4\
**Last updated:** [June 28, 2024, 2:23am UTC](https://forum.inductiveautomation.com/t/limit-amount-of-specific-component-per-container/92510 "2024-06-28T02:23:52Z")

</div>

How would I go about restricting any container within Vision to only allow one component of a specific class? I created an OutlineHandlerComponent, as seen in this topic: I want to only allow one of these to be placed …

---

## [Relaoding Expression Function when the module is reloaded?](https://forum.inductiveautomation.com/t/relaoding-expression-function-when-the-module-is-reloaded/92391)

<div class="topic-metadata">

**Author:** [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Replies:** 3\
**Last updated:** [June 26, 2024, 2:24pm UTC](https://forum.inductiveautomation.com/t/relaoding-expression-function-when-the-module-is-reloaded/92391 "2024-06-26T14:24:16Z")

</div>

In a gateway module Hook, we can add expression Function: @Override public void configureFunctionFactory(ExpressionFunctionManager factory) { factory.getCategories().add(FUNCTION\_CATEGORY); factory.addFunction(FUNC…

---

## [Component outline on different z-order than component](https://forum.inductiveautomation.com/t/component-outline-on-different-z-order-than-component/92128)

<div class="topic-metadata">

**Author:** [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Replies:** 22\
**Last updated:** [June 24, 2024, 6:11pm UTC](https://forum.inductiveautomation.com/t/component-outline-on-different-z-order-than-component/92128 "2024-06-24T18:11:49Z")

</div>

I'm drawing an outline around my component when the mouse hovers over it. Sometimes the component needs to be partially covered by another component, but I still want to show the full outline when the mouse hovers over i…

---

## [Any way to have a custom editor on an AlarmProperty?](https://forum.inductiveautomation.com/t/any-way-to-have-a-custom-editor-on-an-alarmproperty/92267)

<div class="topic-metadata">

**Author:** [@Ron\_Beyer](https://forum.inductiveautomation.com/u/Ron_Beyer)\
**Replies:** 1\
**Last updated:** [June 24, 2024, 5:20pm UTC](https://forum.inductiveautomation.com/t/any-way-to-have-a-custom-editor-on-an-alarmproperty/92267 "2024-06-24T17:20:37Z")

</div>

I'm trying to have a custom editor (the "\_\_tagPath" editor) on an alarm property being provided by my module, but it doesn't seem there is a way to do this (or at least I'm not seeing it). The AlarmManager.registerExten…

---

## [Questions regarding style props and how they behave when they are nested](https://forum.inductiveautomation.com/t/questions-regarding-style-props-and-how-they-behave-when-they-are-nested/92195)

<div class="topic-metadata">

**Author:** [@Phillip\_Wu](https://forum.inductiveautomation.com/u/Phillip_Wu)\
**Replies:** 1\
**Last updated:** [June 21, 2024, 6:08am UTC](https://forum.inductiveautomation.com/t/questions-regarding-style-props-and-how-they-behave-when-they-are-nested/92195 "2024-06-21T06:08:23Z")

</div>

Hi! I have created a perspective component that has a dynamic number of elements (like a multistate button). I have some questions regarding it's props: In the designer, when I click the + button next to the prop, ho…

---

## [Forcing a full/partial sync between nodes in a redundant pair](https://forum.inductiveautomation.com/t/forcing-a-full-partial-sync-between-nodes-in-a-redundant-pair/86385)

<div class="topic-metadata">

**Author:** [@Nick\_Gendron](https://forum.inductiveautomation.com/u/Nick_Gendron)\
**Replies:** 2\
**Last updated:** [June 19, 2024, 9:35pm UTC](https://forum.inductiveautomation.com/t/forcing-a-full-partial-sync-between-nodes-in-a-redundant-pair/86385 "2024-06-19T21:35:08Z")

</div>

In a module I am developing, I want to programmatically initiate both a full and partial sync when certain conditions are met. I was looking through the Javadoc's and found some interfaces that seem related to this, but …

---

## [Deleting historical records from the module code](https://forum.inductiveautomation.com/t/deleting-historical-records-from-the-module-code/92048)

<div class="topic-metadata">

**Author:** [@Christopher\_Campbell](https://forum.inductiveautomation.com/u/Christopher_Campbell)\
**Replies:** 4\
**Last updated:** [June 18, 2024, 9:26pm UTC](https://forum.inductiveautomation.com/t/deleting-historical-records-from-the-module-code/92048 "2024-06-18T21:26:53Z")

</div>

I have a module that is using the DatasourceManager to create a table in a SQL db and write BasicHistoricalRecords. I would like to be able to prune data from this table that is too old, or based on another event. I ca…

---

## [Self signed module not loading](https://forum.inductiveautomation.com/t/self-signed-module-not-loading/79678)

<div class="topic-metadata">

**Author:** [@glennr](https://forum.inductiveautomation.com/u/glennr)\
**Replies:** 5\
**Last updated:** [September 28, 2023, 7:29am UTC](https://forum.inductiveautomation.com/t/self-signed-module-not-loading/79678 "2023-09-28T07:29:44Z")

</div>

I've tried to follow the module signing instructions here: https://docs.inductiveautomation.com/display/SE/Module+Signing and, along with help some other resources, managed to get my module signed but it won't load on …

---

## [Module with embedded jetty server for websockets break Ignition GAN connections](https://forum.inductiveautomation.com/t/module-with-embedded-jetty-server-for-websockets-break-ignition-gan-connections/87343)

<div class="topic-metadata">

**Author:** [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Replies:** 25\
**Last updated:** [June 7, 2024, 3:40pm UTC](https://forum.inductiveautomation.com/t/module-with-embedded-jetty-server-for-websockets-break-ignition-gan-connections/87343 "2024-06-07T15:40:54Z")

</div>

I write a module who need to start an embedded jetty server to reply to web sockets. The server run on the same ip address as Ignition but on another port (not 8060). When the first client connect on the websocket Igni…

---

## [Adding Custom Properties Dynamically](https://forum.inductiveautomation.com/t/adding-custom-properties-dynamically/91502)

<div class="topic-metadata">

**Author:** [@Asjal\_Ahmad](https://forum.inductiveautomation.com/u/Asjal_Ahmad)\
**Replies:** 2\
**Last updated:** [June 6, 2024, 6:10pm UTC](https://forum.inductiveautomation.com/t/adding-custom-properties-dynamically/91502 "2024-06-06T18:10:46Z")

</div>

In my client module code, how can I dynamically add custom properties to my component? I know I can use addProp(...) in my BeanInfo class, but I do not know how I can add a generated property to the component in the desi…

---

## [Adding multiple modules at the Gateway scope](https://forum.inductiveautomation.com/t/adding-multiple-modules-at-the-gateway-scope/91436)

<div class="topic-metadata">

**Author:** [@Benjamin\_Furlani](https://forum.inductiveautomation.com/u/Benjamin_Furlani)\
**Replies:** 2\
**Last updated:** [June 5, 2024, 7:12pm UTC](https://forum.inductiveautomation.com/t/adding-multiple-modules-at-the-gateway-scope/91436 "2024-06-05T19:12:51Z")

</div>

I am attempting to get into module development. For now I am just trying to add a scripting library to interface with an external API I have. I want to add layers to the scripting library so for example: system.example.…

---

## [JSON Serializing Qualified Value](https://forum.inductiveautomation.com/t/json-serializing-qualified-value/91420)

<div class="topic-metadata">

**Author:** [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Replies:** 1\
**Last updated:** [June 5, 2024, 6:57pm UTC](https://forum.inductiveautomation.com/t/json-serializing-qualified-value/91420 "2024-06-05T18:57:13Z")

</div>

What is the go-to way for serializing a tag value to JSON? com.inductiveautomation.perspective.gateway.messages.json.QualifiedValueSerializer exists, but it is kinda lame. It seems to fail on anything except primitive …

---

## [Removing ScriptModules from ScriptManager](https://forum.inductiveautomation.com/t/removing-scriptmodules-from-scriptmanager/91430)

<div class="topic-metadata">

**Author:** [@Jason\_Zhou](https://forum.inductiveautomation.com/u/Jason_Zhou)\
**Replies:** 4\
**Last updated:** [June 5, 2024, 5:59pm UTC](https://forum.inductiveautomation.com/t/removing-scriptmodules-from-scriptmanager/91430 "2024-06-05T17:59:03Z")

</div>

Hello, I'm currently developing a third-party Java module that adds additional functions. I'm doing this the exact same way the IA scripting-function example is doing it, by having a ScriptModule, and adding it to the Ga…

---

## [Async Servlet Support?](https://forum.inductiveautomation.com/t/async-servlet-support/91260)

<div class="topic-metadata">

**Author:** [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Replies:** 6\
**Last updated:** [June 5, 2024, 3:36am UTC](https://forum.inductiveautomation.com/t/async-servlet-support/91260 "2024-06-05T03:36:22Z")

</div>

I'm trying to user Jetty's EventSourceServlet (from org.eclipse.jetty:jetty-servlets:10.0.21), which calls: AsyncContext async = request.startAsync(); and then subsequently throws: java.lang.IllegalStateException: !as…

---

## [QualifiedPath to regular tag path](https://forum.inductiveautomation.com/t/qualifiedpath-to-regular-tag-path/91311)

<div class="topic-metadata">

**Author:** [@Asjal\_Ahmad](https://forum.inductiveautomation.com/u/Asjal_Ahmad)\
**Replies:** 4\
**Last updated:** [June 4, 2024, 3:22pm UTC](https://forum.inductiveautomation.com/t/qualifiedpath-to-regular-tag-path/91311 "2024-06-04T15:22:10Z")

</div>

For a historical tag, how can I convert a QualifiedPath like this histprov:Sample\_SQLite\_Database:/drv:ignition-2023lt-c3faby3-:sample\_tags:/tag:realistic/realistic0 to a regular tag path: \[Sample\_SQLite\_Database\]real…

---

## [Anchored Layout - Vision Component](https://forum.inductiveautomation.com/t/anchored-layout-vision-component/91184)

<div class="topic-metadata">

**Author:** [@e.sagnelonge](https://forum.inductiveautomation.com/u/e.sagnelonge)\
**Replies:** 6\
**Last updated:** [June 3, 2024, 7:10am UTC](https://forum.inductiveautomation.com/t/anchored-layout-vision-component/91184 "2024-06-03T07:10:37Z")

</div>

Hello, Does anyone know how to set a custom component to use an "Anchored" layout type by default instead of "Relative"? (from java) Additionally, is it possible to disable the ability to edit the layout from the des…

---

## [Custom non-JDBC database module](https://forum.inductiveautomation.com/t/custom-non-jdbc-database-module/91215)

<div class="topic-metadata">

**Author:** [@Sreeram\_Machavaram\_C](https://forum.inductiveautomation.com/u/Sreeram_Machavaram_C)\
**Replies:** 1\
**Last updated:** [May 31, 2024, 6:41pm UTC](https://forum.inductiveautomation.com/t/custom-non-jdbc-database-module/91215 "2024-05-31T18:41:59Z")

</div>

Hi, I have very dumb question. Say, if I want to connect with an non-jdbc database and allow data fetch by components, is it possible? How to build module for the same? Regards, Sreeram

---

## [Custom Expression Function not recognized "Unknown Function"](https://forum.inductiveautomation.com/t/custom-expression-function-not-recognized-unknown-function/91206)

<div class="topic-metadata">

**Author:** [@Andrew\_Smagala](https://forum.inductiveautomation.com/u/Andrew_Smagala)\
**Replies:** 5\
**Last updated:** [May 31, 2024, 5:00pm UTC](https://forum.inductiveautomation.com/t/custom-expression-function-not-recognized-unknown-function/91206 "2024-05-31T17:00:35Z")

</div>

Trying to follow the expression function example. I packaged the example, installed on the gateway, and then configured an expression tag. As expected the new "Extended" folder and "exampleMultiply" function were prese…

---

## [Adding default onClick script to perspective component](https://forum.inductiveautomation.com/t/adding-default-onclick-script-to-perspective-component/90925)

<div class="topic-metadata">

**Author:** [@Phillip\_Wu](https://forum.inductiveautomation.com/u/Phillip_Wu)\
**Replies:** 1\
**Last updated:** [May 26, 2024, 11:51pm UTC](https://forum.inductiveautomation.com/t/adding-default-onclick-script-to-perspective-component/90925 "2024-05-26T23:51:45Z")

</div>

Hi! I am making some buttons as perspective components and need them to by default call a project library function when clicked. I want to do this by adding a default onClick() script to it's Mouse onClick event, such t…

---

## [SQL for storing Tags using SDK - Custom Module](https://forum.inductiveautomation.com/t/sql-for-storing-tags-using-sdk-custom-module/90784)

<div class="topic-metadata">

**Author:** [@Srivatsa\_N](https://forum.inductiveautomation.com/u/Srivatsa_N)\
**Replies:** 3\
**Last updated:** [May 24, 2024, 7:34am UTC](https://forum.inductiveautomation.com/t/sql-for-storing-tags-using-sdk-custom-module/90784 "2024-05-24T07:34:12Z")

</div>

I'm trying to create a tag group for some of my instruments to store metadata about the instruments, not the actual instrument data. I used ProviderConfiguration and ManagedTagProvider in GatewayContext as shown below an…

---

## [Using svg icons inside custom component](https://forum.inductiveautomation.com/t/using-svg-icons-inside-custom-component/71096)

<div class="topic-metadata">

**Author:** [@Titus\_Louage](https://forum.inductiveautomation.com/u/Titus_Louage)\
**Replies:** 11\
**Last updated:** [May 23, 2024, 6:58am UTC](https://forum.inductiveautomation.com/t/using-svg-icons-inside-custom-component/71096 "2024-05-23T06:58:55Z")

</div>

Hello everyone I would like to use the icons already present inside ignition. (~\\Inductive Automation\\Ignition\\data\_20221121021\\modules\\com.inductiveautomation.perspective\\icons) How can you access these inside React? W…

---

## [Designer Error: Graphics2D from BufferedImage lacks BUFFERED\_IMAGE hint](https://forum.inductiveautomation.com/t/designer-error-graphics2d-from-bufferedimage-lacks-buffered-image-hint/90710)

<div class="topic-metadata">

**Author:** [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Replies:** 2\
**Last updated:** [May 22, 2024, 5:26am UTC](https://forum.inductiveautomation.com/t/designer-error-graphics2d-from-bufferedimage-lacks-buffered-image-hint/90710 "2024-05-22T05:26:12Z")

</div>

Hey, I have a custom Perspective component and after adding thumbnail images to my palette entries, I'm getting the following error in the designer: Graphics2D from BufferedImage lacks BUFFERED\_IMAGE hint The thumbnai…

---

## [Custom QualifiedValue](https://forum.inductiveautomation.com/t/custom-qualifiedvalue/90394)

<div class="topic-metadata">

**Author:** [@Matt\_McCormick](https://forum.inductiveautomation.com/u/Matt_McCormick)\
**Replies:** 5\
**Last updated:** [May 17, 2024, 4:46pm UTC](https://forum.inductiveautomation.com/t/custom-qualifiedvalue/90394 "2024-05-17T16:46:02Z")

</div>

I would like to implement a custom QualifiedValue which contains some additional information beyond the base class of BasicQualifiedValue. However, I'm running into an issue where deserialization fails when attempting to…

---

## [SDK Programmer's Guide for Perspective Component Development](https://forum.inductiveautomation.com/t/sdk-programmers-guide-for-perspective-component-development/75321)

<div class="topic-metadata">

**Author:** [@ferihandoyo](https://forum.inductiveautomation.com/u/ferihandoyo)\
**Replies:** 11\
**Last updated:** [May 16, 2024, 4:18pm UTC](https://forum.inductiveautomation.com/t/sdk-programmers-guide-for-perspective-component-development/75321 "2024-05-16T16:18:15Z")

</div>

Where can I find good reference for perspective module development? The SDK Programmer's Guide I find only has Vision Component Development.. Is there an updated version of this guide? I have followed the SDK examples,…

---

## [How to change the property of a component from the frontend code](https://forum.inductiveautomation.com/t/how-to-change-the-property-of-a-component-from-the-frontend-code/90469)

<div class="topic-metadata">

**Author:** [@Phillip\_Wu](https://forum.inductiveautomation.com/u/Phillip_Wu)\
**Replies:** 1\
**Last updated:** [May 16, 2024, 6:21am UTC](https://forum.inductiveautomation.com/t/how-to-change-the-property-of-a-component-from-the-frontend-code/90469 "2024-05-16T06:21:20Z")

</div>

I am making a custom component similar to the built-in multistate button but with some extra visual. I need to determine which button has been clicked so that the onClick script will work properly. The built-in multistat…

---

## [HighChart Module](https://forum.inductiveautomation.com/t/highchart-module/90418)

<div class="topic-metadata">

**Author:** [@Mehrdad\_Telli](https://forum.inductiveautomation.com/u/Mehrdad_Telli)\
**Replies:** 3\
**Last updated:** [May 15, 2024, 2:17pm UTC](https://forum.inductiveautomation.com/t/highchart-module/90418 "2024-05-15T14:17:43Z")

</div>

I have developed a HighChart module for perspective, since Highchart is for personal use only unless you buy a license, can i share the module here?

---

## [Need to develop Module for IEC-60870-104 and ICCP (Tase.2)](https://forum.inductiveautomation.com/t/need-to-develop-module-for-iec-60870-104-and-iccp-tase-2/27027)

<div class="topic-metadata">

**Author:** [@kkomara](https://forum.inductiveautomation.com/u/kkomara)\
**Replies:** 5\
**Last updated:** [May 14, 2024, 8:41am UTC](https://forum.inductiveautomation.com/t/need-to-develop-module-for-iec-60870-104-and-iccp-tase-2/27027 "2024-05-14T08:41:38Z")

</div>

Anyone have modules developed for these 2 Utility/Electric Grid protocols ??? Libraries for IEC-60870-104 are available through Triangle Microworks, and libraries for ICCP are available from SISCO (not Cisco). Looking …

---

## [Creating First Custom Vision Component](https://forum.inductiveautomation.com/t/creating-first-custom-vision-component/90208)

<div class="topic-metadata">

**Author:** [@R\_S](https://forum.inductiveautomation.com/u/R_S)\
**Replies:** 2\
**Last updated:** [May 10, 2024, 2:22pm UTC](https://forum.inductiveautomation.com/t/creating-first-custom-vision-component/90208 "2024-05-10T14:22:45Z")

</div>

Hi all, I'm after some advice as to how easy/hard creating a custom Vision component would be: I'd like to make a component that extends the standard Text Area component, but adds syntax highlighting to text entered in…

---

## [File attachment for alarms](https://forum.inductiveautomation.com/t/file-attachment-for-alarms/90112)

<div class="topic-metadata">

**Author:** [@Theodor\_Ahlgren](https://forum.inductiveautomation.com/u/Theodor_Ahlgren)\
**Replies:** 0\
**Last updated:** [May 8, 2024, 4:36pm UTC](https://forum.inductiveautomation.com/t/file-attachment-for-alarms/90112 "2024-05-08T16:36:09Z")

</div>

I've been trying to implement a feature where you can attach pdf files to alarms, similar to how alarms have notes. I have tried to use custom alarm properties like AssociatedData, but i can't upload files. AssociatedDa…

---

## [Trigger Navigation in Designer](https://forum.inductiveautomation.com/t/trigger-navigation-in-designer/89927)

<div class="topic-metadata">

**Author:** [@kgamble](https://forum.inductiveautomation.com/u/kgamble)\
**Replies:** 6\
**Last updated:** [May 6, 2024, 6:25pm UTC](https://forum.inductiveautomation.com/t/trigger-navigation-in-designer/89927 "2024-05-06T18:25:15Z")

</div>

Is there a way to automatically trigger navigation to a resource within the Designer Context? Ideally something similar to when you Find/Replace and you select a found item and it navigates directly to the view. Specif…

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

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