Data Connection

This section describes how Data Connections can be configured in Komment

Komment allows for three different methods to be used when saving data.

QIX Engine

Utilizes the built-in QIX Engine API for processing the writing mechanism. Partial reload is performed by the Qlik Sense user.

Does not support Qlik Analyzer license

Kaptain

Kaptain is an added service that you can purchase to enhance the functionality of Komment. There are several reasons as to why Kaptain might be relevant for you:

You have a need for SQL DB storage of saved data => Kaptain enables writeback to MS SQL databases

You have a high number of concurrent users using Komment => Kaptain can handle high concurrency cases (i.e. several users saving comments at the same time)

You will use Komment in larger Qlik applications (+200 mb) => Kaptain increase performance to near real time save and hence, better handling of large Qlik applications.

You require dynamic updates to Komment data model to be possible => Kaptain allows for dynamic updates to Komment data model without breaking with historic data structure - i.e. you can freely add new data entry fields to your existing Komment objects.

You have Analyzer licenses => Kaptain enables Analyzer users to store data using Komment

You want to be prepared for the future => Kaptain will soon make it possible to connect your Qlik Sense apps with many external services which expands the possible use cases for Komment

Just contact us if you would like to add Kaptain to your Qlik Sense writeback solution.

Comparison

Feature/Element

QIX engine

Kaptain

Security rule setup needed

Yes

No

Each user must have ‘CommentingRole’ assigned

Yes

No

Concurrency handling

No

Yes

Supporting Analyzer License users

No

Yes

Extra node.js service to be installed

No

Yes

Partial reload needed when saving data

Yes

No

Kaptain Configuration

The setup is made in the Data Connection Settings section. The default is QIX Engine so if you don't have a plan (Standard, Pro or Premium) where Kaptain Service is included you don't have to touch this section.

  1. Select your Connection Type

  2. Input the URL to Kaptain service

    1. If you have multiple environments (devl, test, prod, etc.) you can ease the setup by defining a variable that holds the URL

    2. Then you just reference this variable in the URL field:

  3. Press Test Service to ensure Komment and Kaptain service are connected

Be aware of the protocol, and service port, that needs to be consistent with the settings in Kaptain config file.

Kaptain Settings

To setup your Komment object to work with Kaptain there are only a few steps needed. You find the Kaptain Settings Under Data Connection Settings:

Kaptain Settings

1. Data Reload Source

Here you select the source Kaptain should use when loading the saved data back into Komment:

Kaptain DB (Kapsule): This will load data directly from Kaptain's MongoDB database (recommended).

QVD: If you have defined a QVD transport you can choose to load data from here.

2. Data Reload Mode

Here you choose which 'user' that will handle the data reload:

Kaptain: This will use the QS Service account to perform reload (recommended).

Komment: This will use the logged-in user account to perform reload.

3. Select Kapsule

Here you define where in Kaptain's MongoDB you want to save the data entered by the users when using Komment. A Kapsule corresponds to a collection in MongoDB. You can think of it as a table in a SQL database.

  • If you have already created a Kapsule you can select from the list

  • If not, then

    • Select <Create New ...>

    • Enter a name

    • Press Add Kapsule

    • Refresh your browser window and select the newly created Kapsule in the list

If you cannot find specific Kapsules in the dropdown menu, contact your admin to ensure you are setup as a Kaptain user and is member of the groups that contain the relevant Kapsules.

Use variable to select Kapsule dynamically:

To be able to easily moved applications with Komment between different Qlik servers and Kaptain installations you can define the Kapsule dynamically using a variable. Here is how.

  • After you have selected your Kapsule as described above, you do the following:

    • Copy the Kapsule ID shown below the Kapsule you have selected

    • Create a new variable using Qlik's variable editor (or define in script) and insert the copied value in the variable value

    • In Kaptain settings switch on Dynamic Kapsule

    • Input the the name of the newly created variable

4. Kaptain Data Connection

Here you can create a Qlik Sense Data Connection that will ensure you can load data from Kaptain. You just choose a name and a REST connection to Kaptain will automatically be established.

  • If a REST data connection to Kaptain is already created you can select this

  • If not, then

    • Press Create Connection

    • Write desired name of connection in pop-up window

    • Press OK (browser window will automatically refresh)

    • Select the newly created data connection from the list

A final step is to decide on what the scope of the data you load from Kaptain and into your Qlik Sense app on each reload (partial and full). By default only the latest records for each Komment Key field will be loaded so to get the full audit trail loaded each time toggle on the Load Full History :

Load full history

Remember to initialize the data model again after you have finalised the Kaptain setup

Initialize Data Model

5. Sync Kapsule

if you add new widgets or remove existing widgets in your Komment setup you need to press Sync Kapsule to enforce the changes to be reflected in the MongoDB Kapsule.

Sync Kapsule

6. Known limitations

Field names:

The field names used in the Komment widgets cannot contain the following characters: . $

Kapsule names:

Kapsule names should begin with an underscore or a letter character, and cannot:

  • contain the $.

  • be an empty string (e.g. "").

  • contain the null character.

  • begin with the system. prefix.

You can learn more here: https://docs.mongodb.com/manual/reference/limits/

Date settings

When using Kaptain as a data connection you have a few more option in relation to the Date widget. The below settings will only affect how the dates entered in the date widget is stored in MongoDB and how they are represented in Komment.

Date settings

Custom Date Format:

By enabling Custom Date Format you get the possibility to set your own Date Format. Note that it is case sensitive.

Ignore Timezone:

If you have users in many different time zones you can also tick Ignore Timezone to ensure that the selected date will be displayed exactly the same to all users.

If you make the settings to an existing Komment object make sure to Sync Kapsule and do a full reload to make sure your changes have been applied.