Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
mwallman
Creator III
Creator III

What are some best practices when working with Binary Load Qlik Sense documents?

Hello all,

What are some best practices when working with Binary Load Qlik Sense documents? What should they have and what should you avoid when creating / working with a Qlik Sense app that will be binary loaded into another app?

8 Replies
ToniKautto
Employee
Employee

Binary reload on server side is in my experience a bit tricky. The apps in server storage are used by the server processes for housekeeping and reload tasks, which means your binary reload can fail if the file is locked for other processing. I would recommend that you reuse data through a QVD layer rather than a binary reload.
mwallman
Creator III
Creator III
Author

Hi @ToniKautto,
Could you please explain more on "The apps in server storage are used by the server processes for housekeeping and reload tasks..." I am trying to understand more what you mean by this.
korsikov
Partner - Specialist III
Partner - Specialist III

Hi,
Best practices - not use binnary load in Qlik Sense 🙂
ToniKautto
Employee
Employee

App file is locked by reload process during reload, so you would need to time reloads to avoid theses resource conflicts.
The server will read and write to the app files at times, for example to optimize file content or set app meta data. These are interactions that you will not be able to predicts, which means that there is a high likelihood that your binary load will fail due to the app is used by other processes.

For a successful binary reload, you would have to load from a QVF file, rather than the apps in the app storage (which have no file extension).

QVD layer is a better strategy for reusing data model and structure among apps.
daniel_dalnekoff
Contributor III
Contributor III

In our original implementation from Qlik Services, the architecture we were told to use/setup is like this:

We have a series of QVFs which load data from our source LOB applications, data warehouses, files, etc and store QVDs.

We have a second series of QVFs which consume these QVDs, apply our business definitions/semantic model, and then save a new set of QVDs

We have a layer of Data Model QVFs which consume these QVDs

We have a layer of UI Applications which each binary load a single Data Model QVF (mentioned above)

All of our reloads are linked together, so the binary load of the DM (data model) happens when that application's reload is complete.

Lately we have start to have a number of issues around corrupt QVFs, corrupt QVDs, etc.  Are you all indicating that this setup is not done correctly?  We have hundreds of apps setup this way, and the architecture was delivered by Qlik services.  

kdmarkee
Specialist
Specialist

We do the same thing you describe in QlikView and now want to see if we can do it in Qlik Sense as well, like you.  I want to be able to binary load my Data Model.qvf (which has Section Access in it) and cannot seem to get it working.

ToniKautto
Employee
Employee

@kdmarkee  A binary load will cause the access restrictions to be inherited by the new Qlik Sense app.

https://help.qlik.com/en-US/sense/May2021/Subsystems/Hub/Content/Sense_Hub/Scripting/Security/manage...
Make sure the sa_scheduler user is included in your section access.

https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/Security/manage-securit...

kdmarkee
Specialist
Specialist

Once I located the shared folder of where my guids reside, I was able to get the proper syntax for my binary load.  For those interested, my syntax was built with these parts: 

Binary [lib://<data connection name representing my shared folder location>\<my app guid>];