.modl development

I have created a maven project with the client-designer-gateway-archetype, and now I’m trying to implement the AlarmNotificationProfile interface, but it doesn’t exist in any of the packages.

If I clone the slack-notification example, I can see that it’s used there.

Am I missing something obvious ?

Note:
I’m new to maven and module development for ignition.

You’ll have to add the alarm notification module as a dependency. I’m afraid I don’t know the artifact IDs. (I don’t use maven.)

Also, this should be in the Module Development category to catch the right peoples’ eyes.

1 Like

And some people’s eyes are everywhere. :laughing:

So according to the slack alarm example, I should be able to fetch it at:
import com.inductiveautomation.ignition.alarming.notification.AlarmNotificationProfile
but that’s not happening.

Then I thought it might be under gateway.alarming, but it’s not there either.

this is the pom, which is located at /gateway
Is this maybe the wrong location ?
It’s the only pom which has ignition dependencies.

another thing that worries me, is that the generation from the archetype is 8.0.1
But I can only get the alarm-notification-common and -gateway-api from 8.1.0-SNAPSHOT

I’m a bit lost actually…
Thanks for the help so far.

Try updating the variable to be 8.1.0 (or whatever the current release is), no -SNAPSHOT. And use the variable with the other Ignition dependencies as well.

The post is tagged ignition80. That’s going to be a problem, I think, as v8.0 is end of life already. It never was an LTS.

I have removed that tag now, thanks

Tried to use 8.1.0 and 8.1.13, but still refers to …api:8.0.1

In the slack example, they are using 8.1.0-snapshot

Is the maven archetype out-dated, since I get 8.0.1 ?

The archetype is just a snapshot to build off. 8.0.1 is declared somewhere in your code - probably in the root pom.xml.

Yep. Said another way: The archetype is simply a convenient starting point to build out boilerplate file structure. It's convenient, but still requires some fundamental understanding on how Maven works.

The archetype isn't frequently updated because the structure of the boilerplate code doesn't really change across minor ignition releases. The version of ignition is not a meaningful part of the archetype, as it's expected that you'll update that regularly for development, testing and releases, just as you would any other dependency.

So don't worry too much about the version of the archetype, just update the versions you want to build against as appropriate.

Ah, thanks for that explanation.
So I removed everything I didn’t need from the generated pom’s from the archetype, rebuilt and now it works. Thank you so much.

1 Like