# Module development noob

**URL:** <https://forum.inductiveautomation.com/t/module-development-noob/11217>\
**Category:** General Discussion\
**Created:** [February 15, 2016, 4:47pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217 "2016-02-15T16:47:35Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![codersmurf](https://avatars.discourse-cdn.com/v4/letter/c/df788c/32.png) [@codersmurf](https://forum.inductiveautomation.com/u/codersmurf)\
**Post date:** [February 15, 2016, 4:47pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/1 "2016-02-15T16:47:35Z")

</div>

I saw some documentation that talked about a skeleton project to get me started, but it doesn’t seem to be around anymore. Where do I start, it’s a pretty simple module I’m trying to write. Thx.

---

<div class="post-metadata">

**Author:** ![ssmith](https://avatars.discourse-cdn.com/v4/letter/s/958977/32.png) [@ssmith](https://forum.inductiveautomation.com/u/ssmith)\
**Post date:** [February 15, 2016, 6:17pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/2 "2016-02-15T18:17:14Z")

</div>

This should take you through a lot of it.[https://docs.inductiveautomation.com/display/SE/SDK+Overview](https://docs.inductiveautomation.com/display/SE/SDK+Overview)  
After the build system switched to Maven, you can now use Maven archetypes to create a new project without the skeleton project creator utility that existed previously. The docs here have info on it as well as a github repository with example projects using the maven build.

---

<div class="post-metadata">

**Author:** ![codersmurf](https://avatars.discourse-cdn.com/v4/letter/c/df788c/32.png) [@codersmurf](https://forum.inductiveautomation.com/u/codersmurf)\
**Post date:** [February 15, 2016, 9:16pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/3 "2016-02-15T21:16:06Z")

</div>

so all I need to do is be able to read get a list of tags, parse tag names, get values tags in these udts and then send an email to myself, does this sound reasonable?

---

<div class="post-metadata">

**Author:** ![codersmurf](https://avatars.discourse-cdn.com/v4/letter/c/df788c/32.png) [@codersmurf](https://forum.inductiveautomation.com/u/codersmurf)\
**Post date:** [February 16, 2016, 1:07am UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/4 "2016-02-16T01:07:14Z")

</div>

Define value for property ‘groupId’: :  
Define value for property ‘artifactId’: :  
[INFO] Using property: version = 1.0-SNAPSHOT  
Define value for property ‘package’: : :

What are these values, just what I want to name my project etc?

---

<div class="post-metadata">

**Author:** ![ssmith](https://avatars.discourse-cdn.com/v4/letter/s/958977/32.png) [@ssmith](https://forum.inductiveautomation.com/u/ssmith)\
**Post date:** [February 16, 2016, 2:24pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/5 "2016-02-16T14:24:21Z")

</div>

[https://maven.apache.org/guides/mini/guide-naming-conventions.html](https://maven.apache.org/guides/mini/guide-naming-conventions.html)  
This link describes the naming convention for groupId. The ignition sdk jars use com.inductiveautomation.ignitionsdk. The artifactId is kinda whatever you want it to be. I would name them based on what scope you’re in like ‘myModule-designer’.

Also, unless you need to do things not listed in your previous post, all of what you mentioned can be accomplished without building your own module. Have you tried to do it in python?

---

<div class="post-metadata">

**Author:** ![codersmurf](https://avatars.discourse-cdn.com/v4/letter/c/df788c/32.png) [@codersmurf](https://forum.inductiveautomation.com/u/codersmurf)\
**Post date:** [February 16, 2016, 3:31pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/6 "2016-02-16T15:31:24Z")

</div>

So I can write a python script to comm with the opc-ua to get tags, that would rock, is there documentation on doing this?

---

<div class="post-metadata">

**Author:** ![ssmith](https://avatars.discourse-cdn.com/v4/letter/s/958977/32.png) [@ssmith](https://forum.inductiveautomation.com/u/ssmith)\
**Post date:** [February 16, 2016, 3:44pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/7 "2016-02-16T15:44:41Z")

</div>

Are you talking about reading SQL Tags or tags direct from OPC? If the latter, I don’t know how you can do that. It might still be possible if you get outside the box with your python, but it’s not going to be a thing that’s documented anywhere.

---

<div class="post-metadata">

**Author:** ![codersmurf](https://avatars.discourse-cdn.com/v4/letter/c/df788c/32.png) [@codersmurf](https://forum.inductiveautomation.com/u/codersmurf)\
**Post date:** [February 17, 2016, 1:21pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/8 "2016-02-17T13:21:17Z")

</div>

I got what you were getting at. I downloaded the freeopcua library and compiled it. So I’ll end up just connecting to the opc-ua server itself for the data. Thanks for the help.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [February 17, 2016, 2:04pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/9 "2016-02-17T14:04:21Z")

</div>

Not to put too fine a point on this but have you taken a look at the [system.opc](https://docs.inductiveautomation.com:8443/display/DOC/system.opc) functions?

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [February 17, 2016, 2:08pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/10 "2016-02-17T14:08:06Z")

</div>

Or, if you’re looking at Ignition tags, the [system.tag](https://docs.inductiveautomation.com:8443/display/DOC/system.tag) functions…

---

<div class="post-metadata">

**Author:** ![ssmith](https://avatars.discourse-cdn.com/v4/letter/s/958977/32.png) [@ssmith](https://forum.inductiveautomation.com/u/ssmith)\
**Post date:** [February 17, 2016, 3:58pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/11 "2016-02-17T15:58:56Z")

</div>

> [@JordanCClark](#):
>
> Not to put too fine a point on this but have you taken a look at the [system.opc](https://docs.inductiveautomation.com:8443/display/DOC/system.opc) functions?

I completely forgot this existed in my previous post. I'd never had the opportunity to use these functions before. ![:thumb_left:](https://us1.discourse-cdn.com/inductiveautomation/original/1X/e26afb081ddde6df016df6ee49159cf56aaca688.gif ":thumb\_left:")

---

<div class="post-metadata">

**Author:** ![codersmurf](https://avatars.discourse-cdn.com/v4/letter/c/df788c/32.png) [@codersmurf](https://forum.inductiveautomation.com/u/codersmurf)\
**Post date:** [February 23, 2016, 7:02pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/12 "2016-02-23T19:02:20Z")

</div>

I found freeopcua online and used that to write a c++ app. It also has python modules if your interested. Thx

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [February 23, 2016, 8:36pm UTC](https://forum.inductiveautomation.com/t/module-development-noob/11217/13 "2016-02-23T20:36:01Z")

</div>

I'll repeat it again, in case you missed it: 😉

> [@JordanCClark](#):
>
> Not to put too fine a point on this but have you taken a look at the [system.opc](https://docs.inductiveautomation.com:8443/display/DOC/system.opc) functions?[/quote][quote="JordanCClark"]Or, if you're looking at Ignition tags, the [system.tag](https://docs.inductiveautomation.com:8443/display/DOC/system.tag) functions...
