# Import Tags csv/xml/json in a custom OPC-UA like module

**URL:** <https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680>\
**Category:** Module Development\
**Tags:** ignition80\
**Created:** [October 14, 2020, 7:17pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680 "2020-10-14T19:17:02Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![pabaribrinda](https://avatars.discourse-cdn.com/v4/letter/p/c89c15/32.png) [@pabaribrinda](https://forum.inductiveautomation.com/u/pabaribrinda)\
**Post date:** [October 14, 2020, 7:17pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/1 "2020-10-14T19:17:02Z")

</div>

I want to be able to import tags, not from the designer, but when a new device is created. Device belongs to a custom module, an extension to opc-ua sdk example. Can you guide me to a direction that I should explore? I want something similar to having a more configuration in Modbus-TCP driver when there is a functionality to import/upload config.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 14, 2020, 8:42pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/2 "2020-10-14T20:42:47Z")

</div>

You’ll want to study that part of the modbus driver code example. You have to switch to the Ignition 7.9 branch of the examples repository to find it, as it was deleted for v8.0. (Because it doesn’t implement the new Device model…) Anyways, start here:

> **[inductiveautomation/ignition-sdk-examples](https://github.com/inductiveautomation/ignition-sdk-examples/tree/ignition-7.9/ModbusDriverExample)**
>
> ignition-7.9/ModbusDriverExample

Fair warning, [Wicket](https://ci.apache.org/projects/wicket/guide/6.x/) is a maze of twisty passages, all alike. I’ve been banging my head on it the last few days for my Modbus Server module’s configuration UI. /:

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 14, 2020, 8:48pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/3 "2020-10-14T20:48:32Z")

</div>

> [@pturmel](#):
>
> Fair warning, [Wicket](https://ci.apache.org/projects/wicket/guide/6.x/) is a maze of twisty passages, all alike. I’ve been banging my head on it the last few days for my Modbus Server module’s configuration UI. /:

Wicket is on the chopping block for 8.2... 😬

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 14, 2020, 8:57pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/4 "2020-10-14T20:57:34Z")

</div>

> [@Kevin.Herron](#):
>
> Wicket is on the chopping block for 8.2…

You're killing me. ☹

Every driver or module that has config/status pages (mine!) will break.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 14, 2020, 9:40pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/5 "2020-10-14T21:40:47Z")

</div>

Everything everywhere by everyone will break hopelessly and need to be written from scratch in something that probably has a javascript toolchain full of horrors like react.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [October 14, 2020, 9:46pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/6 "2020-10-14T21:46:21Z")

</div>

But on the plus side, gateway configuration on the filesystem…

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 14, 2020, 10:19pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/7 "2020-10-14T22:19:07Z")

</div>

Module authors can already put config on the filesystem. Breakage for breakage’s sake is not wise when other new tech is sucking down resources. IMNSHO.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 14, 2020, 10:25pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/8 "2020-10-14T22:25:34Z")

</div>

Moving away from Wicket and storing config on the filesystem are not actually related to each other. ~~Either one could happen independently of the other.~~

edit: scratch that, because it wouldn’t be that easy… we’d have to fake out the whole ORM system to keep Wicket config pages but move files to the filesystem.

Anyway sorry I didn’t mean to derail this topic.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 14, 2020, 11:15pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/9 "2020-10-14T23:15:18Z")

</div>

> [@Kevin.Herron](#):
>
> we’d have to fake out the whole ORM system to keep Wicket config pages but move files to the filesystem.

Well, I did fake PersistentRecord subclasses for the Ethernet/IP driver. Ugly but quick. This time I'm doing the config page with just a properly modeled POJO and only the barest connection to the ORM.

> [@Kevin.Herron](#):
>
> Anyway sorry I didn’t mean to derail this topic.

Heh. Not too far off topic. I hope we haven't totally discouraged you, @pabaribrinda.

---

<div class="post-metadata">

**Author:** ![pabaribrinda](https://avatars.discourse-cdn.com/v4/letter/p/c89c15/32.png) [@pabaribrinda](https://forum.inductiveautomation.com/u/pabaribrinda)\
**Post date:** [October 15, 2020, 8:18pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/10 "2020-10-15T20:18:23Z")

</div>

Pardon my limited understanding of the discussion. I am a beginner with ignition project 🙂

Thank you @pturmel for the insights. I am looking into modbus driver code as an example which uses wicket.  
Basically, I am upgrading a custom module from 7.5 to make it cohesive with the latest ignition v8.1. So I am a little concerned with wicket being knocked-off in 8.2 as mentioned by @Kevin.Herron, if I were to use it.

Can you suggest a likely alternative that could also be compatible with future releases? Otherwise I would be pulling my hair over this again 😆

Thank you for the replies.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 15, 2020, 8:22pm UTC](https://forum.inductiveautomation.com/t/import-tags-csv-xml-json-in-a-custom-opc-ua-like-module/39680/11 "2020-10-15T20:22:38Z")

</div>

I don’t know for sure that it will happen or what technology it will use. A safe bet would be react. It may be possible to build this page in react on top of the wicket/react panel we have available somewhere but there’s no example of how you might do this and I’m not really sure how it works either.

Ignition 8.2 isn’t coming before late 2022 at best, so it’s probably not worth worrying too much about it.
