Laziness/convenience - other scopes requires extra RPC work, extra data type shenanigans, more work overall.
Hey @paul-griffith, I know you don't have much on your plate right now
, but are you planning to update this extension to support v8.3?
Also, any chance of getting the functions in this module within the product itself?
Yes, I'll (eventually) get it working in 8.3; none of the stuff here should require significant overhaul.
I'd definitely like to get some of this stuff into the platform eventually, like the dataset extensions, but I'm not in too big of a hurry, and some of the stuff is explicitly not intended to be available without "opting in" by installing this module.
Hi,
The dataset extensions look so handy. Is this meant to work on Edge? I tried to install the module but got a 'not licenced on Edge' error...
Koen
Edge does not allow for arbitrary 3rd party modules to be installed.
Can this module be included in the whitelist? As I understand it, the reason most 3rd party modules aren't whitelisted is because they could introduce functions that could circumvent things specifically excluded to make the lower pricepoint viable (like database access, despite this still being technically possible through Jython/Java at the expense of labour). However, modules that simply add creature comforts would be nice to be allowed. Perhaps it being open source makes this difficult though?
That being said, it would be extremely nice to have some of the functions in Paul's module moved into the Ignition source itself... like isAvailable - I use this function in 80% of my views. An Edge project for me would be painful going back to using:
indexOf(toStr(qualityOf({tag})), 'Bad_NotFound') = -1 &&
indexOf(toStr(qualityOf({tag})), 'Bad_Disabled') = -1
![]()
I'm able to offer my Integration Toolkit in Edge when you buy one of my drivers. The Modbus module is just $200 in Edge. {/shameless plug}
Yeah I knew that you finally got your module approved which is great, but your module isn't open source like Paul's. Guessing that might affect it's eligibility?
I can't read IA's mind, but I expect that is a consideration. And that I am trusted to not break the Edge rules.
You could use my transform() function to do a single qualityOf() operation and then the two comparisons against value(), if you want something particularly efficient.
I should mention that my tags() expression does transfer each result quality into the dataset using BasicDataset's quality arrays. I'm not sure if the [] operator retrieves those qualities, but if it does, and you have many tags for which to check availability, wrapping the tags() function will be most efficient.
SubscriptExpression does not pay attention to the quality flag on dataset data. Might be an improvement, might break all the things...
I can see the logic here, though this module as it stands offers too many "dangerous" functions to be something I'd campaign for including. I think the best path forward is for me to just add a few of the minimally invasive helpers to the core product, rather than push for this module to be added to the whitelist.
That would be marvellous if you could! ![]()
Hi @paul-griffith . Iām wondering is there any news on the Ignition Extensions module being updated for 8.3 compatibility? Is this something that is planned? Maybe itās already done and Iām looking in the wrong place?
The IsAvailable function has been very helpful for me on a number of projects.
I haven't yet had time to work on it, but it should be a pretty straightforward upgrade - just a matter of updating the dependencies the module builds on and bumping the minimum required version.
I'll try to get to it in the next few weeks.
Any updates? ![]()
First, I put out an 0.8.1 update for 8.1 that contains the uuid4 expression/scripting functions @bmusson added...a year ago ![]()
This will be the final release compatible with Ignition 8.1.
Then I did the required dependency API updates:
I have done zero functional testing of this - but there'll be an unsigned build available on the PR. On a development gateway, I would invite anyone interested in a 'real' release of Ignition Extensions for 8.3 to configure their gateway to allow unsigned modules and load up the artifact from here:
To tell me whether it's actually working or not.
Well, either nobody tried it or nobody told me it was horribly broken, so here's 0.9.0, compatible with 8.3.0+:
Shoutout to @bmusson for some functional testing and module code improvements, plus some very appreciated build improvements.
Thanks Paul, I currently use this module in 8.1 and find it invaluable!
Just thought Iād chime in since I found this last night looking for a better way to evaluate expressions in script (in 8.1.x). Seems to work perfectly! Still had to resolve the relative tag paths ā[.]ā (unless thereās a way to make this happen) but better than all the functions I was trying to redefine to use in script. Kept hitting roadblocks there⦠Good job my good sir!
Problem I was trying to solve mainly was resolving expressions in alarms. Just reading the tags/properties gave a value but not always correct. Canāt seem to determine when those bindings actually execute for the reads to work other than usually the tag / alarm has to be enabledā¦
This isn't possible currently, but it wouldn't be a particularly hard thing to add a basePath argument to the function.
No idea when I (or anyone else motivated) will get to it but I added an issue to the tracker:
Iāve been keeping an eye on this thread over the years but never got around to installing the module. I will probably do so soon though on newer projects.
Just wondering, can you please copy the functions available and how they work / what they do to the Github readme file?
I know theyāre listed in this thread, but its hard to gather them all up and if they change over the years, new users might miss them as they scroll down.