Introduction to Qlik Sense Extension
  • 11 Oct 2024
  • 6 Minutes to read
  • Dark
    Light

Introduction to Qlik Sense Extension

  • Dark
    Light

Article summary

General

The self-service extension is a Qlik Sense extension that can be used to allow Qlik users to interact with Mail & Deploy.

NOTE

You need to set up HTTPS in the Server Settings and connect to the API via HTTPS in order for the extension to work.

Section Access

WARNING

Whenever a report document is created through the self-service extension, Mail & Deploy connects to the Qlik Sense app using the configured Service Account or the account defined by the credentials configured in the Datasource. That means, that section access restrictions applicable to the user who requests the export/report document do not apply during the creation of the report document and may therefore contain more data than the user is allowed to see. In specific cases using the Field Names property of the extension can help to avoid that effect, but unfortunately due to restrictions in the API provided by Qlik Sense there is no 100 % guarantee to have section access applied correctly.

Installation

The ZIP file that contains the extension is located in the SelfService\Qlik Sense sub-folder of the root installation directory. Please follow the Qlik Help Page to install the extension.

Configuration

Once the extension is placed on a sheet, you can specify the following properties:

Connection

Name

Description
API Service URLThe URL of the API Service of the Mail & Deploy instance to connect to (e.g. https://mdserver:14999/Api).
Access KeyThe access key to use for authentication; this needs to be the access key of a User with a role of at least API User.

Localization

Name

Description
Default Language CodeThe code of the language to use if the extension is run in anonymous mode (see below).

en. The UI of the extension will be displayed in English.

de. The UI of the extension will be displayed in German.

Impersonation

Name

Description
EnableNo. The extension runs in anonymous mode.

Yes. The extension runs in impersonated mode.
TypeDetermines how the extension maps the Qlik user with a User. This property is only applicable in impersonated mode.

Custom Username. The Qlik user will be mapped with a User by finding a user with a custom username that equals the Match property of the extension.

Windows Account Name. The Qlik user will be mapped with a User by finding a user with a windows account name that equals the Match property of the extension.
MatchThe value to match the Qlik user with a User. This property is only applicable in impersonated mode.

Context

Name

Description
Workspace NameThe name of the Workspace to which the extension shall connect.
Datasource NameThe name of the Datasource that represents the app to which the extension has been added. The datasource needs to be one of the datasources in the Workspace to which the extension connects.

Alerts

Name

Description
EnableThis property is only applicable if the extension runs in impersonated mode.

No. The extension will not offer the possibility to manage Alerts.

Yes. The extension will offer the possibility to manage Alerts.

Subscriptions

Name

Description
EnableThis property is only applicable if the extension runs in impersonated mode.

No. The extension will not offer the possibility to manage Subscriptions.

Yes. The extension will offer the possibility to manage Subscriptions.

Exports

Name

Description
EnableNo. The extension will not offer the possibility to perform Exports.

Yes. The extension will offer the possibility to perform Exports.

Request Report Documents

Name

Description
EnableNo. The extension will not offer the possibility to perform Report Document Requests.

Yes. The extension will offer the possibility to perform Report Document Requests.
Available Report NamesA semicolon-separated list of names of Reports that may be requested. All reports must be contained in the Workspace to which the extension connects.

Variables & Fields

Name

Description
Field NamesAn expression that can return one or more field names separated by semicolon (i.e. ='Sales Rep Name;Year'). For every field provided, the extension will read all possible values and send it to the server as a filter to be applied before creating the report document.

The reason for this feature is that the server will always establish a connection to Qlik Sense using the Service Account or another account if specified in the Datasource. That user, however, may have access to more data than the user requesting the report document has (i.e. due to section access restrictions).

Example: Suppose you have a data model that has a field CountryName with three fields (Germany, Austria, and Switzerland). The user requesting the report document through the extension only has access to Germany. By default, the report document would be created using the service account (or the account set in the datasource); that account, however, will have access to all countries, therefore not applying the section access restriction of the requesting user. In other words: the created report will have data of all countries even though the requesting user only has access to Germany. By adding CountryName to the field list, the extension will send all available values within the user session (in this example: only Germany) to the server. The server will then apply a filter before creating the report document (thus filtering CountryName to Germany) and the created report document will correctly be filtered to only Germany.

Important: This does not mean that all section access restrictions apply in the session established by Mail & Deploy; therefore this feature should carefully be tested.
Variable NameAn expression that can return one or more variable names separated by semicolon (i.e. ='vTest;vVariable2'). For every variable provided, the extension will read its current value and send it the server; the server will then set that variable value before creating the report document.

If a user sets a variable that may influence the report document (i.e. by setting a slider etc.), the value of the variable will only be changed in the current user session. However, when creating a report document, Mail & Deploy will connect to the Qlik Sense app using a different user; therefore, the values of all variables in the session that Mail & Deploy uses to create the report document will be reset to their default values. If you specify the names of all affected variables in this extension property, the extension will send the value currently set within the user session to the server, who will set those variables before creating the report document.

Operation Modes

The self-service extension can run in two different modes.

Anonymous Mode

When the extension runs in anonymous mode, the extension doesn't have any link to a User. This has the following consequences:

  • The extension can be used by any Qlik user and it is not required that the Qlik user has a matching User.
  • The extension cannot be used to manage Alerts and Subscriptions because both require a matching User.

Impersonated Mode

When the extension runs in impersonated mode, there is a match between the Qlik user using the extension and a User.

Example: If you enable impersonation in the extension, you set the Type property of the extension to Windows Account Name and you set the Match property of the extension to an expression that returns the windows account name of the Qlik user in DOMAIN\accountname format then the extension will match the Qlik user with the User linked to the same windows account. If such a user cannot be found, the extension will display an error.

In impersonated mode, the extension offers all features, including the ones which are not available in anonymous mode.


Was this article helpful?

What's Next