Skip to main content
Alexander_Thor
Employee
Employee

Sometimes you want QlikView to open with a specific set of selections, apply a bookmark or perhaps even deep link to a specific sheet.

A typical use case could be to embed an entire app or a single object inside a CRM or ERP system and depending on the context, current customer for example, filter the QlikView app to only show records related to that specific context.

So how do I use this black magic?


One approach would be to use triggers with the obvious downside being that the trigger would always fire regardless of how you opened the app.

Another approach is to supply a set of parameters to the URL for that specific app.

Let’s take an example, the Sales Compass demo from the demo site. Below us the URL to access the app and the different components explained.

Actual URL

demo.qlik.com/QvAJAXZfc/opendoc.htm?document=qvdocs%2FSales%20Compass.qvw&host=demo11

Explained URL

<host name>/<virtual directory>/opendoc.htm?document=<url encoded full name for the application>&host=<name of QVS>

In addition to this URL you can also supply some extra parameters to control which actions will fire when the app is opened. For example the URL below will open the Sales Compass app with the value “Q2” selected in the listbox with id LB5699 (yes we create way to many objects )


demo.qlik.com/QvAJAXZfc/opendoc.htm?document=qvdocs%2FSales%20Compass.qvw&host=demo11&select=LB5699,Q2

Of course this is only a simple example, in the table below you will find all the available parameters you can append to your URL.

Feel free to mix and match these til your hearts content.

ActionParameterExample
Select a single value&select=<Listbox ID>,<Value>&select=LB01,Total
Select multiple values&select=<Listbox ID,(Value|Value2)&select=LB02,(2011|2012)
Open the app on a specific sheet&sheet=<Sheet ID>&sheet=SH01
Open the app with a bookmark applied&bookmark=<Bookmark ID>&bookmark=Server\BM01

Wait a minute, you mentioned single objects?

Ah, yes! When QlikView 11 was launched we also introduced the capability to display a single object from an app.

This allowed customers to integrate objects from different applications into a single view in a external system. It is also this screen that powers the small devices client.

Substitute opendoc.htm with singleobject.htm and specify the object id you want to display,

demo.qlik.com/QvAJAXZfc/singleobject.htm?document=qvdocs%2FSales%20Compass.qvw&host=demo11&object=CH378

And voila! You now have a fully interactive single QlikView object!

91 Comments
rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

I'm trying to use the singleobject.htm inside a web page viewer extension, but it renders as blank. I've confirmed that the URL works fine in a browser window. I've tried both the QV shipped web page extension and Stefan Walther's improved version.

Should this be possible in theory, and any idea where the problem may lie?

-Rob

0 Likes
6,187 Views
datanibbler
Champion
Champion

Hi,

very strange - sometimes this is working just fine, at other times the URL I pass seems to be interacting with something, either the sheet opens with some selections applied which are not part of the URL or, just the other way round, some selection or bookmark that is part of the URL is disregarded and the sheet just opens without any selections.

Best regards,

DataNibbler

0 Likes
6,187 Views
Alexander_Thor
Employee
Employee

Hey Rob,

Yeah it is possible. However with the extensions you are referencing they are simply inputting a iframe without setting any sandbox permissions. With the HTML5 spec we got more control over how a iframe can interact with the parent page and now modern browsers usually blocks script execution from within the iframe unless you explicitly set the sandbox properties.

For example, <iframe sandbox="allow-scripts allow-top-navigation" src="<your url>"> </iframe> should do the trick for you. Drop me an email at akl@qlik.com if you can't get it to work and I'll send you a modified version of the web page viewer extension.


EDIT: Rob: So I just tried it and you most likely also have to set the allow-same-origin sandbox attribute since we are loading qvajax.js and the css files of the QlikView server. If you open up the script.js file of the webpage viewer example change line 7 to:

el.setAttribute('sandbox', 'allow-scripts allow-same-origin allow-top-navigation');

Also if you have third party cookies blocked in your browser the page will end up in a endless loop so please enable them as we use that to set the session cookie to track users.


Example of loading a chart through the webpage viewer extension or Yo dawg, I heard you like QlikView so I put QlikView in your QlikView.inception.png




6,187 Views
Alexander_Thor
Employee
Employee

Hey DataNibbler,

It sounds as you might have Session Recovery turned on in QVS? I.e the QlikView session will pick up where you last left off?

0 Likes
6,187 Views
thanstad
Creator
Creator

Thanks, The original tread is very useful for our users. I have retweeted your post internal in our company as an alternativ to privat bookmarks. We have sometimes been into technical problems with AJAX and a few occations we needed to deleted the sharedfile and the users loosing their privat bookmarks. Now with this URL feature they can go on as before.

Tormod  

0 Likes
6,171 Views
Alexander_Thor
Employee
Employee

Hey Tormod,

Ah yes, the .shared file going corrupt is something we are aware of and have been investigating.

Once the file breaks I recommend that you try to repair it with the Power Tools Power Tools 1.2 for QlikView since it also contains any server objects that the users might have created which is a pain to re-create.

0 Likes
6,171 Views
Not applicable

Hey Thanks for this wonderful explanation!

I have a question here. How do I pass multiple listbox selections in the URL.

Say I want to select Q1 in Quarter and 2011 in Year together.

Please help me with this.

Thank you.

0 Likes
6,171 Views
thanstad
Creator
Creator

Pramod Karanam I have been playing around with a few examples to our users and this one is a popular one

http://qv.xxxxxxxxxx.com/QvAJAXZfc/opendoc.htm?document=Group%2F610.CDGO%20-%20Demographic.qvw&host=...


0 Likes
6,171 Views
rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

Thanks for the pointers Alexander. I tried modifying line 7 as suggested and got the error below in webview. However commenting out line 7 -- not setting any sandbox attribute -- works in both webview and the server. I'll continue testing.

-Rob

Capture.PNG.png

0 Likes
6,171 Views
Not applicable

Thank you Tormod!! Worked perfectly..

0 Likes
6,171 Views