Well, my first step would be to figure out if we could prevent it from failing. If it's a critical alert, and it's timing out or something like that, you could bump up the timeout values and the number of retries to ensure it goes out as it should.
Should it fail for reasons you can't predict or prevent, though, I can understand why it'd be a pain to kick it off manually when you aren't the owner! One slightly less onerous process you could use for the test_alert thing is, rather than re-publishing the workbook, consider simply changing the owner to whoever wants to enter the test_alert comment, then having them enter it. Much easier than re-publishing! Maybe set a new, test version of the alert up, and give that a shot to see if it'd be a bit less painful.
A third option would be to move the subscription that the author has on their own VizAlert to a "fallback" schedule that runs when you typically would be trying to fix the alert. Like if it typically runs at 8am, and you discover and typically attempt to fix things around 10am, create a new VizAlerts schedule for 10:30 or so that the Tableau Server Admin or Site Admin could move the author's subscription to, thus retrying the alert once 10:30am rolls around. Once it runs, move the subscription back to the 8am schedule again.
Really though, it does seem useful to allow the test_alert feature (and possibly subscriptions to Advanced Alerts in general) to work for someone who has elevated privileges--maybe Project Leaders and Site/Server Admins, or maybe just anyone with full Edit rights on the workbook. The thought process in restricting it to the actual owner is that others might not have the right knowledge of how VizAlerts works to go mucking with someone else's alert. But I can see your need for something a bit less restrictive, too. I welcome any thoughts you have on how we can improve things!
A couple of other ideas:
1) One thing I did for a workbook that had to get sent out at 7:30 in the morning was to set up an alert for the workbook that went out at 6:00am just to the admins (i.e. me) so I’d know about failure beforehand and had 1.5 hours to fix things. So instead of scrambling after the fact I had a chance to scramble before anyone else knew there was a problem and take care of it.
2) There’s a sneaky way to get around the ownership problem by using Advanced Alerts. You could have multiple schedules set up in Tableau that are associated with Advanced Alerts that are coming from a dynamically generated data source. Each schedule would be associated with a different worksheet that would have a different filter like 8am, 7:30am, 7am, and so on. Then if regularly-scheduled alert X failed at 7am then once you got it cleaned up could add it to the data source to show up on the 8am schedule. The critical part is to make sure to remove it from that 8am schedule after it runs so people don’t get two alerts the next day (one from the original 7am run and the 8am ‘all fixed now’ run).
Thanks for those great ideas. What happens is that our data warehouse get delays or issues from upstream systems and they may not get data in time, which results in the ETL jobs running longer than expected. This then results in our data sources for this critical alert to not be refreshed by the tabcmd early enough. I greatly appreciate the ideas and suggestions.
I like your suggestion about changing the owner of the workbook. Is there a way we could have a generic tableau user that when this fails – this generic tableau user could have permission to change the owner of this workbook and send the test_alert out?
(There is a small group of us that will be called upon when we heard the data sources are going to be late) and that the alert is not going to go out on time. It would be nice if anyone of these 4 or 5 folks could change ownership and send it out?
Would the above suggestion work if I made these 4 or 5 folks project leader of this workbook. Then would that be sufficient permissions to change ownership and send out?
Yes, exactly. A Project Leader has full rights to modify workbooks, including changing the owner. So you could set up all 4 or 5 of you as Project Leaders, then should an issue occur, one of you could switch the ownership of the workbook to yourselves, then enter the comment to re-trigger.
Now that I know more about your use case, there might be other solutions. One might be to run the alert more frequently than daily--like hourly--but modify the trigger such that it only fires once per day when it detects the condition in the data. I'd need to know more about the data you're working with to see if that might be possible, but it's another, possibly more elegant option.