4 Replies Latest reply: Mar 14, 2017 1:55 AM by Shaun Lombard RSS

    Connection libraries when scripting on desktop and pushing to a QAP server

    Cheenu Janakiram

      Hello everyone,

       

      I am researching something that looks a tad problematic in our new deployment/environment. I'm looking for experience/thoughts from developers with a similar environment: developing scripts on desktop and then pushing them to a QAP server.

       

      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' or re-using the same LIBs across applications/QVFs, is my only choice having to re-create a LIB connection for every file/QVF I need to migrate to the QAP server? (... Apart from maybe 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?).

       

      Are there any workarounds or thoughts/experience 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 on two separate QVFs pointing to different sources when scripting on desktop and pushed to QAP, can this generate an "error"/problem at reload?

       

      Many thanks for any advice/help in this regard.

       

      Kind regards,

       

      Cheenu

        • Re: Connection libraries when scripting on desktop and pushing to a QAP server
          Shaun Lombard

          That is a very interesting idea, I would be interested to know if you get it all working.

           

          We use Qlik Sense Enterprise and QAP and it also has challengers, for instance how do you create a data connection to a folder or OLE DB source for the apps you import from QSE, with the absence of the HUB in QAP?

            • Re: Connection libraries when scripting on desktop and pushing to a QAP server
              Cheenu Janakiram

              Hi Shaun,

               

              [mto: Hi Mike, could you help Shaun by pointing this post to the other similar post with all discussion threads (I can't seem to find it and think it is in a different post section/category?).]

               

              There were multiple threads and answers to this post, but I can't find them anymore. The "ideal" manner for a QAP deployment, is that developers check in the QAP QMC prior to building a QVF on desktop to get the name of the connection prior to building the script and prevent ending up with loads of different connection names/labels for the same connection. When the QVF gets pushed/imported from desktop to QAP, it will hold that (shared) connection name and therefore, since the connection name already exists, it will not create a new name for every instance. This does require the developer to look into the QMC and understand the content of the connection. I would believe that if you use account X for a connection Y and then a new developer uses account Z for connection Y, the connection Y will get overwritten with account Z credentials, affecting the prior instance. This could be problematic if an account is restricted on its table privileges (e.g. account Z cannot read tables needed by the script that was created using account X). The latter is my own "2 cents", I would be glad if someone could confirm/renege this claim.

               

              This being said, I don't think there is any way of migrating a script from Sense Hub directly to QAP. I think the hub script would reference a connection into the QSR DB, rather than "hard-coding" it in the underlying file. I think the desktop version does "hard-code" the LIB connection (with hash-algo for security). [I acquiesce this is a bit pedestrian an explanation, but is the"best" I can give.] This is why a script developed in hub, would have to be exported to desktop, connection reset and then re-imported into QAP. This would be in a Sense "standard mode". If you choose to deploy in "legacy mode", you would be able to call for a connection somewhere on the server (e.g. a text file using an "INCLUDE", which would contain the credentials required to connect to DB). However, the Sense Help file defines this as a potential security risk. Hence, I asked Mike Tarallo if he could give more details (which he did on the other post I cannot find anymore). The only "security risk" is that the script does not have a true "LIB connection" which would effectively "hide" the connection string. That said, if only developers are given access to the Sense machine (if local domain security is effectively implemented), "legacy mode" and using text/include statements would not pose any further risk than doing this in a QlikView environment (like we have). However, please wait for Mike to re-direct you to the original post with discussion points to get the info from there, rather than just from me.

               

              Hope the info helps. Please share your experience/thoughts also, as this could also be useful to me and others.

               

              Kind regards,

               

              Cheenu