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: 
cheenu_janakira
Creator III
Creator III

Managing Data Connections with QAP - multi-developers.

Hi Michael,

I know this post is "old" but I am researching something that looks a tad problematic in our new deployment/environment.

We have a new QAP server which we will be using with web mashups on our client portal and offering our clients BIaaS. From a Qlik standpoint, I therefore cannot generate any script/app via the server (hub) itself anymore. I therefore need to generate the scripts on desktop and import the apps/files into QAP and schedule a task to them.

However, since desktop (I just started using the desktop version recently, I have been using hub until now) does not allow LIBs in a 'repository', is my only choice having to re-create a LIB connection for every file I need to migrate to the QAP server? (Apart from embedding the full connection string and going 'legacy' mode in QAP, if this is possible and viable 'security' wise, as stated in Qlik Sense guide?).

Do you have any workaround or thoughts in this regard? Since we are multiple developers in-house, should we create a shared XLSX/SharePoint list to keep/share the naming convention of LIBs?, i.e. if two same-named LIBs are created pointing to different sources when scripting on desktop and pushed to QAP, can this generate an "error"/problem?

Many thanks for any advice/help in this regard.

Kind regards,

Cheenu

8 Replies
Michael_Tarallo
Employee
Employee

Hi Cheenu,

Let me review this:

We have a new QAP server which we will be using with web mashups on our client portal and offering our clients BIaaS. From a Qlik standpoint, I therefore cannot generate any script/app via the server (hub) itself anymore. I therefore need to generate the scripts on desktop and import the apps/files into QAP and schedule a task to them.

So - Since you only have QAP (that means you do not have the 'client inteface - hub' to quickly develop Qlik Sense apps using drag and drop etc. - correct? You use free Desktop to build the scripts / app / visualizations and import the .qvf file into QAP and setup a scheduled task. I don't work directly with QAP, but I assume it still has the QMC available to you and you use those tools - correct?

However, since desktop (I just started using the desktop version recently, I have been using hub until now) does not allow LIBs in a 'repository', is my only choice having to re-create a LIB connection for every file I need to migrate to the QAP server? (Apart from embedding the full connection string and going 'legacy' mode in QAP, if this is possible and viable 'security' wise, as stated in Qlik Sense guide?).

when you mean LIB connection - you are referring to the data connections that use the LIB:\\ syntax.

as in ...

FROM [lib://mydata]

are you saying that QAP - does not store the existing data connections in the repository - once you import the app with the data connection I assume it should be created in QAP and you should see it under data connections in the QMC:

therefore allowing you to reuse them - I would assume - you would not need to recreate the LIB connection for every file - you could use variables as well (in legacy mode only, LIB:// does not support variables yet but if they are different file names - you would need to update the app with the different file name:

Do you have any workaround or thoughts in this regard? Since we are multiple developers in-house, should we create a shared XLSX/SharePoint list to keep/share the naming convention of LIBs?, i.e. if two same-named LIBs are created pointing to different sources when scripting on desktop and pushed to QAP, can this generate an "error"/problem?

I am not exactly sure as I have not run into this, but I think it would make sense to use legacy mode and parameterize the filenames so you can keep the same file location. Unless I am not understanding this correctly. I will see if one of my colleagues can provide some input. msi‌ or mbg‌ - do you have any suggestions on this topic?

When applicable please mark the appropriate replies as CORRECT. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads as HELPFUL if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads as HELPFUL if you feel additional info is useful to others.

Regards,

Michael Tarallo (@mtarallo) | Twitter

Qlik

Regards,
Mike Tarallo
Qlik
cheenu_janakira
Creator III
Creator III
Author

Hi Michael,

Thanks for the detailed reply. As per required clarifications:

I assume it still has the QMC available to you and you use those tools - correct?

Yes. Tasks can be scheduled on QAP and it has the QMC available.

when you mean LIB connection - you are referring to the data connections that use the LIB:\\ syntax.

as in ...

  1. FROM [lib://mydata] 

are you saying that QAP - does not store the existing data connections in the repository - once you import the app with the data connection I assume it should be created in QAP and you should see it under data connections in the QMC:

therefore allowing you to reuse them - I would assume - you would not need to recreate the LIB connection for every file - you could use variables as well (in legacy mode only, LIB:// does not support variables yet but if they are different file names - you would need to update the app with the different file name:

Yes. By "LIB connection" I mean the data connection in a Sense script.

My reference and yours to the 'legacy' mode and variables seems like the only way out of having to systematically recreate all data connections every single time a QVF is created on desktop which will need to be "exported" to QAP. However, Qlik Help Guide for Sense says: "You can disable standard mode, or in other words, set legacy mode, in order to reuse QlikView load scripts that refer to absolute or relative file paths as well as library connections." "Disabling standard mode can create a security risk by exposing the file system."

This is why I was questioning whether legacy mode was "viable 'security' wise".

When I import the QVF on QAP, I get this message:

QAP_QVF_Import.png

Therefore, I am supposing that if I and another developer both generate a connection called "Data_Connection" in a QVF (I'm just taking any example) which point to different SQL servers, when we both import the QVF into the QAP server, what would the result be: an "error"/problem?

In order to "manage" the data connections which result on the QAP server (in the "Data Connections" as per your screendump), is the only way to create an 'external list' (XLSX or SharePoint list) to define what names should be used when creating a QVF? This is also trying to prevent a myriad of the same data connections with different names resulting in the QAP.

Hope this clarifies things, otherwise let me know. What would be the best way to approach this and still keep the QAP "Data Connections" clean and error/problem free?

Kind regards,

Cheenu

cheenu_janakira
Creator III
Creator III
Author

Hi Michael,

I think your comment on "Data Connections" was the hint. The only way I can truly see the connections being "managed" across multiple developers, is to look into the Connection properties in the QMC prior to generating the QVF.

I would much prefer the 'legacy' route and using VARs or 'include'.

Is there any document that gives further details as to what are the "Security Risks" implied with going into legacy mode? (I'll also look for such a document in discussion boards, in the interim).

Many thanks for your help.

Kind regards,

Cheenu

Not applicable

Hi Cheenu,

We use a third party tool ebiexperts Version Manager for Qlik that is able to transfer apps with connections.

You can point the connection of the destination QMC on publication. You can also deploy all assets like LIB items, Images, Excel, QVD and mashups in the same set of files, very practical.

John

Michael_Tarallo
Employee
Employee

I will find out for you.

John - thanks for the additional information your provided as well.

Regards,
Mike Tarallo
Qlik
cheenu_janakira
Creator III
Creator III
Author

John - Many thanks for the Version Manager tool suggestion. I will test it.

Michael - Please let me know if there is any article on Security risks in legacy mode. We were inclined to deploy our Sense server that we you for in-house analytics, until we read the warning and decided against it. I think in the QAP deployment it makes more sense to have a "config file" that we point to for data connections, however, this server will ultimately reside in our DMZ and I don't want to take any chances on security.

Many thanks.

Michael_Tarallo
Employee
Employee

HI Cheenu,

The PM stated:

"This refers to showing the actual path of the files stored (if they are using xls/csv etc as a data source) vs a connection name, so if someone who is malcontent was reviewing the actual script file in edit mode - they would know where the file location was."


The LIB option hides the location of the files as the location name is stored in the depository and referenced by the connection name instead in the script.


HTH


Regards,


Mike

Qlik

Regards,
Mike Tarallo
Qlik
cheenu_janakira
Creator III
Creator III
Author

Hi Mike,

Super. Thank you very much for this crucial piece of information.

Kind regards,

Cheenu