Hello Nort, thanks for putting this question out on the community. Since it highlights some product features that seem obvious but turn out to be far less so.
Being an WebUI front-end guy I wasn’t really aware of how this procedure might behave, so I did some asking around.
First of all, and you already correctly compared it to WinUI here, there will be no updates, to anything ‘UI’, while this procedure is running. Only after finishing it. So it definitely won’t work in its current shape.
For WinUI, your way out would be adding a call to the PageRefreshAll function.
For WebUI it does not exist and from what I’ve heard from my colleagues it would also be pretty hard to know which and how many ‘locks’ to undo while refreshing. So not a feature we’re likely to spontaneously extend to WebUI, or built separately, any time soon.
So what are your options then?
From the modelling angle I might suggest using a combination of delay
and scheduleAt
. That should free up the engine to propagate updates, but I suspect they might be less ‘immediate’ then you require.
Another, pretty unconventional approach, might be to do your ‘timed loop’ from within a piece of client-side custom JavaScript. Something which would ‘monitor’ some widget, or take values from it, and then let the JavaScript set other values that can be sent back to the model. Causing updates again elsewhere.
However, this doesn’t feel like something you want to build and maintain for the long run. And I’m also unclear as to how the javascript would have access to the correct values and settings.
So I hope the scheduleAt suggestion helps you towards creating a working solution.
And you could still submit your idea to be able to PageRefreshAll in the ideas section of the community. Our Product Owners will be able to take it up for sizing and consideration for our backlog.
Hello,
A how-to is created based on Edo's idea to use ScheduleAt above.
The model provided has the following UI
With kind regards,
Chris.
Discussion ongoing→In Development
Hi,
Happy to share that with the recently released AIMMS 4.95.1 version, RefreshAllWidgets and UseTransparentVeil procedures were added to the WebUI library in AIMMS. These allow you to provide your end-user with more quickly updated data on his WebUI page.
Here’s the AIMMS 4.95 release notes, which go into detail about every feature present in this update.
Thanks,
Madhu Krishnappa
AIMMS WebUI Product Owner
In Development→Implemented