Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
maxim1500
Partner - Creator
Partner - Creator

Session lost when changing html page on mashup

Hi,

I have a multi-pages mashup with embedded qlik charts. It appears that the session is not kept when moving from a page to the other. The only way I was able to keep the session was to open the other page in another tab, while keeping the first page opened. I am not using identities.

In other words, as long as one page is kept open, the session is maintained. But if you navigate to another page in the same tab, the session is destroyed and recreated when the second page is loaded.

Is there any way to avoid this? I read some other people reporting this issue, but no solution have been posted so far.

Thanks!

24 Replies
maxim1500
Partner - Creator
Partner - Creator
Author

If you use a single HTML page, you need to disconnect the previous models before changing page. You connect your charts to your divs using the getObject() api, which will give you a reference to the model object. Keep this in a collection. When you change page, you close the models before loading the new ones. That way, it won't become slow.

var modelRef;

  1. app.getObject(<elemId>, <objId>).then(function(model) {

    modelRef = model;}


//then when you want to close it

  1. modelRef.close();
mateo_florence
Partner - Contributor
Partner - Contributor

some news?

Is there an alternative option??

Thanks!!

christianlebe
Contributor
Contributor

Yes, I am in the same boat. Do we have any update on this now? 

 

Thanks guys.

christianlebe
Contributor
Contributor

Hi all,

I think I'm onto something good here.. so I found a solution to load parts of pages using jquery. The issue now, all the html parts have been loaded correctly. But the qvobject is not rendered.

So.. basically you'll need one main page and multiple pages for the object

1. Main page - all the menus and the interface

2. Individual pages for object.

 

In the main page.. you have your menu that looks like below:

 

<ul class="nav-third-level nav" aria-expanded="false">
<li>
<a href="#" class="btn-load-section" data-url="kpi-firstKPI.html" data-section="content">KPI 1</a>
</li>
</ul>

and then you have this jquery script.

 

And then put in the body of the main page, something like:

<div id="content"></div>

This div will be replaced by the content from kpi-firstKPI.html.

In kpi-firstKPI.html you'll have something like

<div id="content">
...
Content of your qlik object
...
</div>

 

That's all.. it seems to work to return the html page, but the Qlik object is not rendered yet. I'll get back to it tomorrow.

Hmm.. unless someone can point me to a direction...

Thanks guys.

dannyy81
Contributor III
Contributor III

you can pass the current selections to the new page you just navigated to