In a current project I'm working on, we have automation scripts that are scheduled to run at different intervals and these scripts generate reports that will be sent via email. We are providing the ability to manually trigger these scripts on demand. We are planning to use a Visual Overview overlay so that operators do not need to delve into the list of automation scripts to find the right one to run.
I'm having difficulty finding the right Visual Overview options to emulate the same user feedback when running the script from the Automation app. For example when running a script from Automation with defaults: (1) the user is unable to repeatedly click 'Execute Now' until the script finishes. (2) the user is informed of the status of the script execution when script finishes.
In Visual Overview, using "Execute = Script:script_name|||||NoConfirmation, I predict that due to the lack of feedback on the status of the running script, this may cause the user to repeatedly click on the shape thereby queuing multiple script executions. Is there a way to disable the shape from being clicked until the script finishes, and also to communicated the result of the script execution through Visual Overview?
The easy way out is to expose that Automation app's 'Execute now' dialog box to the user. Nothing wrong with that. I'm just thinking whether it would be possible to keep the user within the Visual page without having to interact with the Automation pop-up.
Hi Bing,
As far as I know, currently it is not possible to 'disable' a button while an automation script is running.
Possible alternatives:
- Since you are already implementing an overview, maybe we could map an extra indicator in the overview (e.g. a parameter value or an alarm) that will indicate the user that the script has been triggered. Of course this implies that the workflow performed by the automation script includes an action that will set a parameter (or trigger an alarm)
- If you have the opportunity to modify a driver that works closely with the automation script, you could create extra parameters in the driver that will allow you to use Extended conditional shape manipulation actions. These extra parameters can be mapped to shapes in the overview. This will allow you, for example, to show/hide shapes when an automation script has been triggered
- The feature indicated by Michiel is also a nice one and will allow you to set session variables, however it will set session variables only when the automation script finishes successfully
If the above alternatives don't fit your requirements, at the moment I don't see other option than using interactive automation scripts. Please also have a look at other options available when running automation scripts from an overview.
Note that you can additionally set a session variable when executing a script. This could trigger an overlay shape to become visible while the script is running. At the end of the script, the session variable can be set to its original value again which will hide the overlay shape.
I believe this is the most clean solution as it only requires changes in the script and the Visual Overview.
From 10.0.13 onwards, you can set a session variable from an automation script. See help - Linking a shape to an Automation script for more details. Using this feature and show/hide options, you could show a button with the actual link when the script is not running, and a placeholder shape, e.g. a greyed out version of this button without actual link while the script is running.
This can easily be done by removing the NoConfirmation option
Hi Michiel, thanks for responding. Yeah I’m aware of that as that was what I started with. What I’m after is whether we can achieve the same behavior purely in Visio without having to interact with the Automation pop-up dialog box.
Hi Miguel, appreciate your thoughts on this matter. I’ll look into the alternatives and select what works best with my use case.