Welcome Guest, you are in: Login

QVSource: The QlikView & Qlik Sense API Connector (Docs)

Web Edition Doc Quick Links
QVSource Web Edition is now commercially available should be used - if you are still using the WinForms edition please upgrade now as this is deprecated and will no longer be supported after the 22nd May 2016.

You should find most of the documentation on this wiki for the WinForms edition of QVSource still applies, particularly the connector specific pages (ignoring the minor UI differences).

The following are the most important Web Edition specific pages:

  • Web Edition Overview - A short introduction to the new QVSource Web Edition including the benefits and high level differences.
  • Getting Started - A guide on running the QVSource Web Edition in its simplest mode (e.g. servicing requests from localhost only with no user authentication).
  • Example Deployment Scenarios - Some example diagrams showing how QVSource Web Edition might be deployed with QlikView and Qlik Sense.
  • Advanced Configuration - How to perform advanced configuration of QVSource, for example allowing remote access and setting up users.
  • User Management - How to manage users.
  • Upgrading from WinForms Edition - How to upgrade.
  • SSL Configuration - How to set up a test SSL certificate so that traffic between your browser (or QlikView/Qlik Sense) is encrypted.
  • Troubleshooting - Read this page first if you are having trouble running QVSource.
  • Cloud Hosted Demo - Information on a cloud host demo edition we are currently testing out.


These are the likely steps you will need to follow when upgrading from the WinForms edition of QVSource to the Web Edition.


Remove WinForms Edition Windows Service

If you have configured this edition to run as a Windows Service as explained here, you should first stop and uninstall this service (also explained here).

If you have followed our default instructions you should now have a folder c:\QVSource\ containing the WinForms edition. You can delete this after you have successfully completed the remainder of this upgrade, perhaps taking a zip backup first for your records.

Localhost Only Setups

The QVSource WinForms edition runs on localhost only (i.e. it needs to be running on the same machine where the Qlik reload is running) with no concept of users or external access. If you wish to continue with this setup (which avoids many of the benefits of the Web Edition) then you should be able to simply remove the WinForms edition (see above), install the new Web Edition, configure any locally stored settings for any connectors you are using (e.g. OAuth tokens) and continue as before.

Most users however will need to take a few more steps and understand a few new concepts as outlined below.

More Advanced Setups

Install Web Edition

You will find detailed notes here on installing the Web Edition. If you follow the default instructions you should end up with a folder c:\QVSourceWebEdition containing the installation.

You can then also set this up as a Windows Service as explained here if your licence permits it.

We assume here that you have also followed or at least read the other related pages:
And you now have a new URL where QVSource is running from which is likely not to be localhost, although it could be (note that QVSource WinForms edition was always localhost except for a couple of very rare exceptions), may or may not be over SSL and may or may not be set up for multi user login.

Let's imagine for the following steps we have QVSource running on your local network at:
https://YOUR_SERVER:5555

And you have set up two users (logins) - user1 and user2.

Configure Connectors

Depending on how you have been using QVSource WinForms edition, you may have authenticated or set one or more other settings which are saved in the QVSource settings for a particular connector and table (rather than being embedded in the request URL of the generated load script).

A typical example of this is an OAuth token. For example, if you are using the Google Analytics Connector, by default the generated load script will not contain the OAuth token but rather it will be taken from the QVSource settings (although you can choose to embed this in the load request).

Because QVSource Web Edition has introduced the concept of users (it is designed such that you can now just install it on a single server and browse to it) you will now need to log into the Web UI with your username and password, and authenticate with the connector in the same way, in this case the Google Analytics Connector - in the screen shot below we have done this:

Image

If you now run this table to generate the load script, you should notice a number of things:

Image

1. The loadAccessToken

This is an important parameter (which is new to the web edition) which links the request to the user who configured the connector in the QVSource Web UI. So specifically in this case, because we have chosen not to embed the Google Analytics OAuth token in the request URL it knows which user's settings to retrieve this token from. This is also used to link any log output, error reporting etc. to this user so that they can then be viewed in this section of the UI.

Image

You should also be able to view this load access token in the My Settings section of the Web UI:

Image

2. The Machine Name

We have already covered this, but just note that this - at least for the example scenario - is not localhost, and it may or may not be https depending on how you have set up your server.

3. Allowed IP Addresses

Although you can log in to the Web UI from any IP address, as an extra layer of protection you can also limit requests to the data load URL (the endpoint which QlikView and Qlik Sense communicates with) to certain IP addresses only. This is because your loadAccessToken (see above) will necessarily need to be included and distributed in your Qlik applications and if somebody gets hold of this they can make their own requests to QVSource.

You can configure these IP addresses in the My Settings section of the UI. Note that there is a link to add your current IP address. Note also that you can white list all IP addresses by entering 'any'.

NOTE that you could also of course limit access by setting firewall rules on the server where QVSource is running from.

Image

Update Your Load Scripts

Now we have followed the above steps we need to update our load scripts to:
  • Set the new base url (in our example https://YOUR_SERVER:5555).
  • Add the new loadAccessToken to all requests.

We would recommend placing both of these variables at the start of your load script.

So, for example if previously you had the following:


MyGAData:
LOAD
	dim_country as DataFromTemplateQuery_dim_country,
	metric_visits as DataFromTemplateQuery_metric_visits
FROM
[http://localhost:5555/QVSource/GoogleAnalyticsConnectorV3/?table=DataFromTemplateQuery&profileId=XXXXXX&prebuiltQuery=dimensions%3dga%253acountry%26metrics%3dga%253avisits&startDate=01-01-2015&endDate=14-01-2015&appID=]


This would become:


let vQVSourceBase = 'https://YOUR_SERVER:5555/QVSource';
let vQVSourceLoadAccessToken = 'XXXXXXXX';
let vQVAppID = 'MyGAApp';

MyGAData:
LOAD
	dim_country as DataFromTemplateQuery_dim_country,
	metric_visits as DataFromTemplateQuery_metric_visits
FROM
[$(vQVSourceBase)/GoogleAnalyticsConnectorV3/?table=DataFromTemplateQuery&profileId=XXXXXX&prebuiltQuery=dimensions%3dga%253acountry%26metrics%3dga%253avisits&startDate=01-01-2015&endDate=14-01-2015&appID=$(vQVAppID)&loadAccessToken=$(vQVSourceLoadAccessToken)]


Note that we have also illustrated setting an app specific ID (the appID parameter) which is good practice as this will also be included in any QVSource generated log files.

You should be able to follow a similar pattern to update all of your load scripts.
  Name Size
- GA token.png 39.64 KB
- ip addresses.png 45.25 KB
- load access token.png 47.16 KB
- log files.png 36.38 KB
- new script features.png 39.28 KB


(QVSource works with Qlik Sense as well as QlikView - See this page for notes.)
QVSource - The QlikView & Qlik Sense API Connector | © Copyright 2011 - 2016 Industrial CodeBox Ltd