Roster Management and system.roster scripting

Just upgraded an gateway to 8.0.15 a few weeks ago and we just noticed that the Roster Management component no longer has the ability to remove a user from a roster group???

I didn’t really like the built-in Roster Management component anyways so I decided to create my own using system.roster scripts that were added in 8.0.6. The problem I am having is it throws an error saying

AttributeError: ‘com.inductiveautomation.ignition.common.script.Imm’ object has no attribute ‘roster’

I have the script scoped in the global project, but system.roster doesn’t even come up as an option in the script editor.

Am I missing something (or screwed up this upgrade) or is Ignition having an issue?

Anyone else seen this?

Sounds like something didn’t get loaded correctly. Is your Alarm Notification module up to date and running?

What does this mean? You may have written the script in a script module in the global project, but where are you calling it from?

The notification module is up an running correctly. I can add and remove users to an on call roster from the gateway but from the Roster Management component I can add a user but CAN’T remove a user from a roster.

I have the script defined in the Project Library of the Gateway Scripting Project (“global”). I have tried calling it from a button on a child project and from the scripting console in designer on “global”

Well that’s your issue. These functions are only scoped to gateway (or Perspective, same-ish thing). You need to call them from something like a tag change script, or more realistically in a message handler you define for some project, which you would then call from the client/designer scope.

That makes sense, as I was writing my previous reply it suddenly occurred to me that that might be the case. I just miss interpreted something in the documentation on scripting and the Gateway Scripting Project.

1 Like