VizAlerts icon indicating copy to clipboard operation
VizAlerts copied to clipboard

Tableau Cloud Support

Open jdrummey opened this issue 8 years ago • 8 comments

There are at least three challenges for Tableau Online support:

  1. VizAlerts directly queries the PosgreSQL database and there aren't equivalent REST API functions. This would require a new scheduling mechanism for the trigger views to be built.

2)Tableau Online doesn't support trusted authentication. This could be worked around with the REST API.

  1. The REST API does not support downloading images/PDFs/etc., it only supports thumbnails. Theoretically there's a workaround for this where the authentication token is used, but that hasn't been tested on Tableau Online.

jdrummey avatar Apr 06 '16 09:04 jdrummey

Site Admins for Online aren't able to create their own Schedules either, so you would not be able to create a disable Subscription schedule specifically for VizAlerts to trigger itself on. So a new scheduling mechanism for (1) would still be required even if we could connect to Online's Postgres db, or if the REST API added a call for getting the same info.

mcoles avatar Jul 10 '16 14:07 mcoles

re: trusted auth and downloading images. Implementing #33 for tabcmd support would get around both of these.

jdrummey avatar Jul 10 '16 14:07 jdrummey

Now that the REST API contains the bare minimum to allow VizAlerts to work with it, I'm taking this on. About 60% complete.

mcoles avatar Jul 06 '18 22:07 mcoles

Now that the REST API contains the bare minimum to allow VizAlerts to work with it, I'm taking this on. About 60% complete.

Is the remaining 40% complete yet? :)

VizAlerts for online would be (pardon the pun) "epic" for our org but I understand the insane challenges of working with the REST API. Either way, I hope you're doing well! - Jason

JudgeMod avatar Jun 18 '20 14:06 JudgeMod

Hey, I know you! Good to hear from you, JSON :)

Answer: No, it's not. I ran into some issues with the Python library I was using to talk to Online. I believe they've since fixed those, but I haven't revisited this since. I may be picking this up again in the near future since we may have to drop trusted ticket usage internally, but I can't promise anything.

It's worth pointing out that even if I do get this built, the method you'll have to use to schedule your VizAlerts will be far less intuitive--the plan at present is to use specifically formatted tags to denote the schedules, since we can't create disabled Subscription schedules to key off of. That'd mean creating such fun tags as "VizAlerts_Hourly_MWThF_0400" or somesuch. It can be done, it's just going to be ugly. There'd be some other restrictions as well, but the core functionality would still work.

mcoles avatar Jun 18 '20 16:06 mcoles

Thanks for the detailed update. That all makes sense. Perhaps what I should do is use my new superpower (aka being a paying customer) to ask for all of these features to be added to the native product…hmmm.

Thanks again, Matt. You continue to be a force for awesomeness on the Tableau community forums!

JudgeMod avatar Jun 18 '20 18:06 JudgeMod

As currently coded, the 60%-done implementation I have now would consume at least 36% of the REST API call limit that Tableau Cloud (Online) establishes per site. The code currently publishes the config workbook to a site every time the vizalerts.py code runs, which means 1,440 runs every 24 hours...a significant chunk of the total allocation. And that's assuming the GET calls don't count towards the overall capacity.

This approach might require some additional thought / planning. There's no real reason that the workbook couldn't connect to a live data source that the code populates based on the GET calls (which will be unavoidable)...the trick is to find something that all customers would have access to, and find easy to configure. Perhaps a simple CSV to an S3 bucket? Or other cloud storage? Even a local file would work via Bridge.

mcoles avatar Sep 19 '22 19:09 mcoles

. The code currently publishes the config workbook to a site every time the vizalerts.py code runs, which means 1,440 runs every 24 hours.

5min resolution would probably be within acceptable parameters for a lot of users. (288 runs every 24 hours) May need logic for sending things that were in a 5min window vs the exact minute.

Would be great to have VizAlert parity directly in Tableau. Including the feature here https://github.com/tableau/VizAlerts/pull/184 (CSV table embedded in the body of an email)

https://community.tableau.com/s/idea/0874T000000HBiWQAW (Add CSV export to Subscriptions) https://community.tableau.com/s/idea-extension/a044T000004DnvvQAC/create-subscriptions-for-non-tableau-online-users

micmorgan-clgx avatar Jul 05 '23 20:07 micmorgan-clgx