tableau / extensions-api

Extensions API sample code and developer docs.
http://tableau.github.io/extensions-api
MIT License
268 stars 251 forks source link

Extension Popup appearing outside of the Dashboard context (needs data changed event) #368

Open adrianasg122 opened 3 years ago

adrianasg122 commented 3 years ago

Hi everyone,

We are facing a problem developing Write-back. The problem is the following: It is necessary to do a login to use the extension, which is done through a popup, opened using the Tableau Extensions API. When we move the extension to a dashboard and the login cycle starts, a popup will automatically open. After that, if we move to the data sources tab, the login popup is always appearing, and we suspect that the reason is that the dashboards are constantly refreshing. We've already performed an investigation and exploration of the Tableau Extensions API to see if it's possible to know the current user location within the Tableau application, but we haven't found anything.

Is there any possible workaround or solution?

Kovner commented 3 years ago

Hrmm I don't think we've seen this. We need to look into it. Is there any chance you have a workbook or sample code we could use to shorten the process?

adrianasg122 commented 3 years ago

I'm attaching an example dashboard with the Write-Back extension. The way to reproduce the problem that I have reported is:

  1. Open the dashboard
  2. Accept the extension
  3. You can log in or not but after, close the popup without doing any configuration
    • User: user1
    • Password: password
  4. After you close the popup, go to the data sources tab
  5. Edit something, like add the Sheet1 (here, it is necessary to change something to trigger a refresh on tableau)
  6. After that, the login appears on the data sources tab.

Hopefully, this flow will help you to see what happens with our extension.

Example_Dash.zip

johnDance commented 3 years ago

Hi @adrianasg122 Thanks for the repro that you shared. That was very helpful. The data source change is causing the extension to reload. This will happen when you update the data source, or modify the dashboard in key ways like adding a new worksheet. There is no work-around right now. We are thinking about the possibility of adding a data changed notification, then we wouldn't have to reload on the data change.

Meanwhile, the only work-around would be to not automatically open your password dialog. Perhaps you could have a "configure" button in your extension that the user could click to activate the login and configuration.

John

adrianasg122 commented 3 years ago

Hi @johnDance, Thank you for the feedback given. Regarding the workaround you suggested, we had already considered this possibility and implemented it where possible, but due to SSO with SAML and OpenId, we can't do this in all scenarios.

Thank you for your attention, and if it is possible, please keep us updated on changes.