Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
louisZL
Contributor
Contributor

Qlik Sense Iframe reload button problem

Hi, I'm new to Qlik.

I'm using Qlik iframe in my project. I have a button (Action: Reload) and a data table in my worksheet.

The current situation is that UserA and UserB have opened the web pages separately. When UserA presses the button to trigger a reload, both UserA's and UserB's data tables are refreshed simultaneously. What I need is for the refresh action to only affect UserA without impacting other users.

I understand that the issue arises from them using the same application, but it is a requirement for me to use the same data source. Is there any way to prevent this situation from happening?

I apologize for any confusion caused. English is not my primary language. If you have any questions, please let me know.

Best regards.

Labels (2)
1 Solution

Accepted Solutions
MartW
Partner - Specialist
Partner - Specialist

so if I understand this correctly. You got an website on that website there is a page that has an Iframe embedded into it.  the embedded I frame can be multiple things. (sheets, single objects etc.) for now I assume that you embedded a single sheet into an Iframe. if this is not the case. the following still stands.

 

when User A presses the the Reload button in the Iframe it takes a couple of seconds (or longer) and after that data for UserA and UserB are refreshed.

 

you are already saying it yourself where the issue might arise.


I understand that the issue arises from them using the same application, but it is a requirement for me to use the same data source. Is there any way to prevent this situation from happening?


when an app is refreshed the data in this app is also refreshed. Because User A and User B are looking at the same app/sheet the data is going to be the same. so when the refresh is done (triggered by User A) all users see the same data.

 

how can this be prevented.

there is only 1 way to prevent this. you need to copy this app and give UserA and UserB there own copy.

2 sidenotes to this.

1. on the website part you need to make sure that the specific user will be send to there app.

this  can be done by security rules and appID's.

2. I think that for 2-10 users this will be manageable but 100+ will be a nightmare if you need to update stuff.

therefore a good system needs to be in place (preferably automated) that if the main app is updated with new code/object all the user apps will be too. this can be done by automations (if you are on Qlik Cloud) or via a python script if you use Qlik Sense enterprise for windows. 

 

View solution in original post

2 Replies
MartW
Partner - Specialist
Partner - Specialist

so if I understand this correctly. You got an website on that website there is a page that has an Iframe embedded into it.  the embedded I frame can be multiple things. (sheets, single objects etc.) for now I assume that you embedded a single sheet into an Iframe. if this is not the case. the following still stands.

 

when User A presses the the Reload button in the Iframe it takes a couple of seconds (or longer) and after that data for UserA and UserB are refreshed.

 

you are already saying it yourself where the issue might arise.


I understand that the issue arises from them using the same application, but it is a requirement for me to use the same data source. Is there any way to prevent this situation from happening?


when an app is refreshed the data in this app is also refreshed. Because User A and User B are looking at the same app/sheet the data is going to be the same. so when the refresh is done (triggered by User A) all users see the same data.

 

how can this be prevented.

there is only 1 way to prevent this. you need to copy this app and give UserA and UserB there own copy.

2 sidenotes to this.

1. on the website part you need to make sure that the specific user will be send to there app.

this  can be done by security rules and appID's.

2. I think that for 2-10 users this will be manageable but 100+ will be a nightmare if you need to update stuff.

therefore a good system needs to be in place (preferably automated) that if the main app is updated with new code/object all the user apps will be too. this can be done by automations (if you are on Qlik Cloud) or via a python script if you use Qlik Sense enterprise for windows. 

 

amccreary
Contributor
Contributor

This has probably been solved long ago, but thought I'd share in case it's useful.

After you get your ticket,
when you assemble your URL to fetch the app,
add &identity= to that URL like below.

The &identity should be something unique, like perhaps
the sessionId of the user.

https://yourapp.yourdomain.com
/qlikticket
/single/
?qlikticket=yourTicketValue
&app=yourAppId
&sheet=yourSheetId
&identity=yourChosenValueToUseForIdentity
&opt=currsel