Vizlib Server for Qlik Cloud (Qlik Sense Saas) is provided as a Docker container and is different than the Windows installer we provide for Vizlib Server with Qlik Sense Enterprise support.
Vizlib Server for Qlik Cloud can only be used with Qlik Cloud and not with Qlik Sense Enterprise and vice versa.
TABLE OF CONTENTS
- 1. Prerequisites and checklist
- 2. Copy Vizlib Server license key from Vizlib Portal
- 3. Download Vizlib Server docker container and extensions from Vizlib Portal
- 4. Download and install Docker Engine on a Linux server
- 5. Copy files to the Linux server
- 6. Modify docker and haproxy configuration
- 7. Start the docker containers
- 8. Verify that the container is running
- 9. Configure domain
- 10. Sign in to Vizlib Management Console (VMC)
- 11. Install/Update extensions
- 12. Enable API keys and generate an API key in Qlik Cloud
- 13. Create an OAuth client in Qlik Cloud
- 14. Create Content Security Policy in Qlik Cloud
- 15. Configure the Qlik Cloud section in VMC
- 16. Create Security rules for Content Admins
- 17. Create a Data Space - VizlibWritebackDemoData
- 18. Add API Key user to the Data Space with edit rights
- 20. Add API Key user to the Shared Space with edit rights
- 20. Upload the Getting started demo application to Qlik Cloud
- 21. Create a destination in VMC for the Update operation
- 22. Configure the demo application
- 23. Do writeback in the demo application
1. Prerequisites and checklist
Before you start the installation, make sure you have all the information and permissions you need. Work through all the items in this checklist, and you'll be ready to start.
- Qlik Cloud tenant
- User with a professional license, developer, and tenant admin roles
- Linux server
- Public domain and correct setup DNS for the server's IP address
- Windows server (2019 and later) is supported but needs a paid version of Docker to run Linux containers (Vizlib Server is a Linux container). We recommend a Linux server because it's both cheaper and more stable.
- Certificate
- PEM file with certificate key inside
- The certificate should be issued for the public domain of the server
2. Copy the Vizlib Server license key from Vizlib Portal
Open a browser tab and go to home.vizlib.com.
Click the Log in button and sign in to the Vizlib Portal.
Figure 1 Homepage of Vizlib, home.vizlib.com
Click the Vizlib Server section under Products.
Figure 2 Vizlib Server section in the Vizlib Portal
Click Copy Key to copy your license key to Vizlib Server.
Store this in a safe place, as we will need it for the VIZLIB_SERVER_LICENSE environment variable when we modify the docker-compose.yml in a later step.
3. Download Vizlib Server docker container and extensions from Vizlib Portal
Open up the versions pop-up to select the latest version of Vizlib Server for Qlik Cloud by clicking Saas Versions under Download product in the panel to the right of the page.
Figure 3 Vizlib Server section in the Vizlib Portal
Open up the versions pop-up to select the latest version of Vizlib Server for Qlik Cloud by clicking Saas Versions under Download product in the panel to the right of the Vizlib Server page on the Vizlib Portal.
Note down the version number because we need it later when we download the extensions to check the versions are compatible.
Figure 4 Saas version download pop-up.
Download the compatible extension versions to the Vizlib Server version we downloaded in the previous step.
Click the Collaboration section under Products. Open up the Extensions pop-up by clicking Extensions under Download product in the panel to the right of the page.
Figure 5 Collaboration section in the Vizlib Portal.
This opens the Extensions pop-up with all the versions of the extensions included in the Vizlib Collaboration product.
Figure 6 Extensions pop-up.
Type Table in the search input at the top to filter the list of Vizlib Writeback Table versions.
Find the latest version that is compatible with the Server version you downloaded in the previous step.
Click the Offline download button to download the extension.
It's important to download the offline version because the online version is automatically updated and makes the extensions incompatible with the Vizlib Server version installed.
Please note: your Extensions and Vizlib Server MUST be upgraded at the same time to make sure the versions are compatible.
Figure 7 Filtered Vizlib Writeback Table versions in Extensions pop up.
Replace Table with Input in the search input at the top to only show the Vizlib Input Form versions.
Find the latest version that is compatible with the Server version you downloaded in the previous step.
Click the Offline download button to download the extension.
Figure 8 Filtered Vizlib Input Form versions in Extensions pop up.
4. Download and install Docker Engine on a Linux server
To be able to run the Vizlib Server for Qlik Cloud docker container, you must first install the Docker engine.
Please note: The steps are different depending on what operating system the server is running. It's possible to run Docker Engine on a Windows Server (2019 or later), but it requires a paid subscription to run a Linux container; this is not covered in this guide.We recommend running Vizlib Server for Qlik Cloud on Linux since it's cheaper and more stable.
These steps guide you through how to create a Linux server on the Google Cloud Platform (GCP).
They are easy to apply for set up on Amazon Web Services (AWS), Azure, or a private cloud where the process steps are the same, but the procedures differ depending on the platform.
4.1 Create the VM instance
Start by logging into the Google Cloud console console.cloud.google.com.
>Navigate to Compute Engine -> VM Instances. Click CREATE INSTANCE in the top menu.
Figure 9 VM Instances Google Cloud Platform
Configure your new instance like this:
- Give the instance a Name
- Select the Region that corresponds to where you want to host the instance.
- Select the e2 micro Machine type. We recommend starting small (1 Gb) and upgrading if your usage requires more CPU or memory. Vizlib Server for Qlik Cloud is single-threaded and will not benefit from more cores.
- An option is to create an e2-medium instance and downgrade it after the Docker Engine and Vizlib Server for Qlik Cloud are installed and running to an e2-micro.
- Check Allow HTTP traffic
- Check Allow HTTPS traffic
After you have configured it, click the CREATE button.
Figure 10 New VM Instances configuration
Once the instance is created and running, we can connect to it, to install the Docker Engine and configure permissions to the folders.
Click the SSH button or the down caret in the connect column and select Open in browser window. If multiple people are administrating this instance, we recommend using a service account or setting up the instance with a service account ssh key that is shared between the administrators.
Please note: this guide does not cover how to set up a shared SSH key and configure the instance.
Figure 11 Connect to the instance with SSH in a browser window.
4.2 Install the Docker Engine and set up the rights
Figure 12 SSH terminal.
To be able to run the installation commands, we need to first enter root mode in the terminal. We do that by entering this command:
sudo sh -
Figure 13 Root in terminal
Now that you are in root mode, run this command in the terminal.
If you are running a Linux server with a different distribution than a Debian-based distribution, the command must be modified.
Please note: Vizlib Server has been tested on GCP with version Linux version Debian 5.10.106-1.
apt update && apt install --yes apt-transport-https ca-certificates curl gnupg2 software-properties-common && curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - && add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" && apt update && apt install --yes docker-ce && curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
This command installs docker and grants the current user access to the docker folders to run docker.
Press Ctrl + D to exit root mode.
Figure 14 Add current user to the docker user group
Add the current user to the docker user group by entering this command:
sudo usermod -aG docker $USER
Close the browser window and reconnect with SSH again for the changes to be applied.
4.3 Verify that the Docker Engine is installed correctly
To verify that the Docker Engine is installed correctly and that our user has the correct rights, we can run this command to test the Docker Engine:
docker run hello-world
Figure 15 Successful execution of docker run hello-world
If successful, it should look like Figure 15 above. If not, resolve the errors presented on the screen before you proceed.
5. Copy files to the Linux server
Unzip the VizlibServer-QlikCloud-Docker-vX.Y.Z zip file we downloaded from the Vizlib Portal in a previous step. Of the five files in the unzipped folder, you only need three.
Rename the file docker-compose-example to just docker-compose.yml or upload the setup file and run the file. Using the setup file also creates the docker-compose.yml file. You only need to do one of these options.
Click the Upload file icon.
Figure 16 Upload file SSH browser terminal GCP.
Click Choose Files (Figure 17) and select these files:
- docker-compose.yml
- haproxy-cfg
- vizlib-server.tar.gz
Figure 17 Upload files pop-up with selected files.
Click Upload Files.
Figure 18 Transferring in progress.
Wait until all the files are transferred.
For Vizlib Server for Qlik Cloud to be hosted on a secure protocol HTTPS, the example docker-compose.yml file is configured to run HAProxy as a proxy service.
To be able to do that, a pem certificate file is needed with the private key inside.
The certificate must be issued by a third-party certificate authority like DigiCert, GoDaddy, etc.
Upload the pem file to the VM instance.
Figure 19 Upload cert.pem
Now we have all the files needed for us to configure the Vizlib Server for Qlik Cloud docker config and haproxy config in the next step.
6. Modify docker and haproxy configuration
The provided files are examples and need to be modified before use. This command opens the Linux text editor nano to modify the haproxy.cfg example file that we uploaded in the previous step.
nano haproxy.cfg
Figure 20 Nano editor haproxy.cfg
Update the line YOUR_DOMAIN_HERE with the fully qualified domain name (FQDN).
The certificate must be issued for the same domain as the FQDN.
Press Ctrl + X to save the file and exit.
Figure 21 Save modified buffer?
Press Y to confirm. You will be prompted as to what filename you want to save the file to.
Press Enter to save and overwrite the file with your changes.
Figure 22 File Name to Write?
Let's modify the docker-compose.yml next. We do that with this command:
nano docker-compose.yml
Figure 23 docker-compose.yml in nano editor.
Modify the marked sections in the image in Figure 23.
IMAGE | It's important to add the vizlib server version to the image name. E.g. vizlib-server:4.7.0. Note! If you have registered the vizlib-server docker container in a container register like, GCP Artifact Registry or Container Registry, set the image name to the correct URL pointing to the vizlib-server image with the correct version. |
CERTIFICATE_LOCATION_HERE | If you named the certificate pem file cert.pem then it should look like this. ./cert.pem:/etc/ssl/cert.pem If your file is named differently replace cert.pem before the : with your filename. The part on the right side of the : should remain the same. |
SERVER_LOGS_LOCATION_HERE | Here you specify where you want to store your log files e.g ./log:/log if you want to store the in the log subfolder of the folder where the docker-compose.yml is stored. |
VIZLIB_VMC_PASSWORD | Replace admin with a more secure password for the root admin user in the VMC |
VIZLIB_DATABASE_URL | This should equal the Postgres environment variables in the section at the bottom. If you do not update those variables the VIZLIB_DATABASE_URL should be postgres://sa:Pass123@postgres:5432/collaboration If you want to use an external or existing DB see the next section. |
PUT YOUR LICENSE HERE | Put your license string here. Only the eyJ... part of the key, the first row of the key should be excluded, OwnerName=... etc. |
POSTGRES environment variables | These define the credentials for the database root user and the database name. If these are updated and not using the default values, the VIZLIB_DATABASE_URL needs to be updated to reflect the changes. |
The provided docker-compose.yml example also has a container for Postgres that Vizlib Server uses to store the configuration, and it can be used for Writeback and comments.
We recommend using an external PostgresSQL server that is maintained and backed-up regularly instead.
To modify the example, docker-compose.yml remove the Postgres and the lines below it and modify the VIZLIB_DATABASE_URL environment variable.
Figure 24 docker-compose.yml in nano editor, External Postgres config.
Modify the connection string in Figure 24 and replace the below values with the correct ones corresponding to the external Postgres server.
USERNAME | User name for the user to be used by the Vizlib Server |
PASSWORD | Password for the user to be used by the Vizlib Server |
HOSTNAME | Hostname or IP of the server. 5432 can also be modified if the server is running on a custom port instead of the default. |
DATABASE_NAME | Database name. The user-specified in the connection string needs to have write access and the ability to create new tables in the database. |
Exit and save the file by pressing Ctrl + X.
Figure 25 Save modified buffer?
Press Y to confirm. You will be prompted as to what filename you want to save the file to.
Press Enter to save and overwrite the file with your changes.
Figure 26 File Name to Write?
7. Start the docker containers
Before we start the docker containers, we need to load the Vizlib Server docker container tar file into the Docker Engine. We do that with this command:
docker load < vizlib-server.tar.gz
Once it is loaded, we can start the containers in a detached state in the background, this makes the terminal not attached. Run this command:
docker-compose up -d
8. Verify that the container is running
To verify that the container is running correctly, check the docker logs and make sure there are no errors.
We can do that for the Vizlib-server container by typing this command:
docker logs vizlib-server
Figure 27 docker logs for vizlib-server container when Vizlib Server is running.
9. Configure domain
If you are using a GCP VM Instance and Google Cloud DNS, you can follow this guide from step 4 to set up your VM Instance with a domain.
If your certificate is issued by a third party, follow their guide on how to set up a DNS zone and connect the Linux server IP address to the domain.
Please note: It's important that your instance uses a reserved IP, so it's not changed after a restart of the instance.
10. Sign in to Vizlib Management Console (VMC)
Open a new tab and use the domain you connected to the IP of the docker container https://yourdomain.com/vmc.
Figure 28 Sign-in window.
Use the credentials configured in the docker-compose.yml. The Username should be equal to the VIZLIB_VMC_USERNAME environment variable, and the Password equal to VIZLIB_VMC_PASSWORD.
Click the Login button.
Figure 29 VMC dashboard after successful sign-in.
The image above is how the VMC should look if everything is configured correctly and set up.
Make sure the URL has the padlock, and the HAProxy is serving the VMC securely over HTTPS; otherwise, the user will not be able to connect to the Vizlib Server.
Before we configure the Qlik Cloud section, we need to do a few steps in the Qlik Cloud management console.
11. Install/Update extensions
Now it's time to install the extensions we download from the Vizlib Portal the previous step. If you have already installed the Vizlib Writeback Table skip the next step and go to the 11.2 Update extensions step instead.
11.1 Install extensions
Navigate to the Extensions section in Qlik Cloud Management Console.
Click the Add button.
Figure 30 Empty extensions section in Qlik Cloud management console.
Drop the Vizlib Input Form zip file in the Drop your extension file here area.
Only one extension can be added at a time.
Figure 31 Add Vizlib Input Form in Add new extensions popup.
This is what it should look like if the Vizlib Input Form is added successfully.
Figure 32 Extensions section in Qlik Cloud management console after Vizlib Input Form is added.
Click the Add button to install Vizlib Writeback Table.
Figure 33 Add Vizlib Writeback Table in Add new extensions popup.
Drop the Vizlib Input Form zip file in the Drop your extension file here area.
Figure 34 Extensions section in Qlik Cloud management console after Vizlib Input Form is added.
Now the extensions have been added successfully, and you can skip the next step and continue here.
11.2 Update extensions
If you have installed a previous version of the Vizlib Writeback Table and Vizlib Input Form, you can learn how to update the extension.
In Qlik Sense Enterprise, you needed to first delete the extension before you re-installed it. This is not needed in Qlik Cloud, where you are able to update the extensions in the Qlik Cloud Management Console.
Click the ... button on the extension you want to update.
Select Edit in the dropdown.
Figure 35 Extensions section in Qlik Cloud management, Edit option in the dropdown.
Drop the zip file in the Drop your extension file here to replace area and click Save.
Figure 36 Edit Vizlib Input Form in Edit extensions popup.
Updating extensions will keep the Tags added to them. That is not the case when deleting and re-installing them.
12. Enable API keys and generate an API key in Qlik Cloud
Vizlib Server needs to call the Qlik Cloud APIs to perform reloads and storing of data to QVDs, and to be able to do so, you need to generate an API key that Vizlib Server can use.
The API key permissions are connected to the users' permissions that generate the API key.
Navigate to the Settings section under Configuration in the Qlik Cloud management console and scroll down to the API keys section.
Figure 37 API keys section in Qlik Cloud management console.
Switch the Enable API keys if it's not already enabled. Before we generate the API key, we recommend extending the maximum token expiration setting to 1000 days.
Make sure you are signed in to the Qlik Cloud tenant with the user that will be the API key user, and ensure that the user has a professional license, developer, and tenant admin roles.
Click the Generate new button.
Figure 38 API keys section in User settings and management console.
Click the Generate new key button.
Figure 39 Generate a new API key.
Fill in the API key description and select the option for '3 years' in the dropdown Expires in.
Click Generate button to generate the API key.
Figure 40 Copy and close API key.
Click Copy and close button and store the copied API key in a secure place e.g. a password manager. You will need the API key when configuring the Qlik Cloud section in the VMC.
13. Create an OAuth client in Qlik Cloud
To allow the users to authenticate with Vizlib Server, we need to create an OAuth client in the Qlik Cloud management console under the OAuth section under Integration.
Figure 41 OAuth client section.
Give the OAuth client a name and a description. Redirect URLs are filled in by Vizlib Server automatically when configuring the Qlik Cloud section in the VMC.
Click the Create button.
Figure 42 Create a new OAuth client configuration.
Click the Copy to clipboard button and store the Client ID and Client secret in a secure place; it will be used in a later step when we configure the Qlik Cloud section in the VMC.
Figure 43 Copy your Client ID and secret
14. Create Content Security Policy in Qlik Cloud
To allow access from Qlik Cloud to the Vizlib Server, you need to create a Content Security Policy in the Qlik Cloud management console under the Content Security Policy section under Integration.
Figure 44 Content security policy section in Qlik Cloud management console.
Click the green Add button above the table to the right to create a new content security policy for Vizlib Server.
Figure 45 Add Content security policy origin.
Give the policy a name (Vizlib Server) and type the domain to your Vizlib Server in the origin input (e.g. vizlib-server.yourdomain.com). Check the connect-src, connect-src (WebSocket), and img-src checkboxes and click the green Add button to create the policy.
15. Configure the Qlik Cloud section in VMC
Navigate to the Qlik Cloud section under System settings in the VMC to configure the connection to your Qlik Cloud tenant.
Figure 46 Qlik Cloud system settings in VMC.
Fill in the inputs in this section.
Tenant | URL to your Qlik Cloud tenant. Important, it needs to be the hostname and not the alias hostname. See figure 47. |
API Key | API Key generated in section 12. Enable API keys and generate API key in Qlik Cloud. |
OAuth Client Id | OAuth Client Id created in section 13. Create OAuth client in Qlik Cloud |
OAuth Client Secret | OAuth Client Secret created in section 13. Create OAuth client in Qlik Cloud |
Click the Save Changes button to save the configuration. The OAuth client will be updated with the correct Redirect URI automatically when the configuration is saved.
Figure 47 Hostname setting in Qlik Cloud management console.
If you get an error message when saving the Qlik Cloud system settings, resolve the issue and try again to save the settings.
Figure 48 Hostname setting in Qlik Cloud management console.
If everything is set up correctly, a green checkmark should be visible next to Qlik Cloud API on the Dashboard section of the VMC.
Figure 49 Green checkmark next to Qlik Cloud API on the Dashboard in the VMC.
16. Create Security rules for Content Admins
If you want to grant your users the ability to sign in to the VMC and create their own Writeback destinations, follow these steps.
Start by navigating to the Security Rules section in the VMC.
Figure 50 Security rules section in the VMC.
Click the New Rule button to create a new security rule.
Figure 51 Create Security Rule pop-up.
Fill in the inputs in the pop-up.
Click Create Security Rule button to create the rule.
If there is more than one group that should have content admin access to the VMC, it's possible to add more conditions and use the OR operator.
Figure 52 Example of a multi-condition security rule on groups attribute.
17. Create a Data Space - VizlibWritebackDemoData
The next step is to create a Data space in your Qlik Cloud tenant to store the QVD files that the demo application uses to write back data.
Navigate to the Management Console of your Qlik Cloud tenant and go to the Spaces section.
Click Create new button to create a new space.
Figure 53 Spaces in Management Console.
Select Data in the Type dropdown and name the space VizlibWritebackDemoData.
Click the Create button to create the Space.
Figure 54 Create a space pop-up.
18. Add API Key user to the Data Space with edit rights
The next step is to give Vizlib Server access to write to the newly created Data space. We do this by adding the API key user to the space with the role of Can edit. If the API key user is the owner of the space, this step can be skipped.
Click the button with the ... (three dots) in the right-most column in the Spaces table on the newly created row VizlibWritebackDemoData space.
Figure 55 ... button dropdown menu.
Click Manage members. The Members section of the space opens in a new tab.
Click Add members button on the top right of the members and roles list.
Figure 56 Members section of data space.
Select the API key user and select Can edit role in the input to the right.
Click Add members button.
Figure 57 Add members pop-up.
The API key user should now be added to the space with the correct permissions to perform a write-back.
Figure 58 VizlibWritebackDemoData space with API key user as a member that can edit.
19. Create a Shared Space - Vizlib Collaboration DEV
Applications that we upload are saved in our Personal space. The API key user does not have access to other users' personal spaces and is not able to open or reload the application.
Instead, we should use a Shared space where the API key user can have permission to reload applications.
The next step is to create a Shared space in your Qlik Cloud tenant that we will use to store the application and use as a development space where we test and make changes to the application before we publish it to a Managed space.
Navigate to the Management Console of your Qlik Cloud tenant and go to the Spaces section.
Click the Create new button to create a new space.
Figure 59 Spaces in Management Console.
Select Shared in the Type dropdown and name the space Vizlib Collaboration DEV.
Click the Create button to create the Space.
Figure 60 Create a space pop-up.
20. Add API Key user to the Shared Space with edit rights
The next step is to give Vizlib Server access to write to the newly created Data space. We do this by adding the API key user to the space with the role of Can edit. If the API key user is the owner of the space, this step can be skipped.
Click the button with the ... (three dots) in the right-most column in the Spaces table on the newly created row Vizlib Collaboration DEV space.
Figure 61 ... button dropdown menu.
Click Manage members. The Members section of the space will open up in a new tab.
Click Add members button on the top right of the members and roles list.
Figure 62 Members section of data space.
Select the API key user and select Can edit or Can manage role in the input to the right.
Click the Add members button.
Figure 63 Add members pop-up.
The API key user should now be added to the space with the correct permissions to perform a write-back.
Figure 64 Vizlib Collaboration DEV space with API key user as a member that can edit.
20. Upload the Getting started demo application to Qlik Cloud
Download the attached demo application Getting started with Vizlib Writeback in Qlik Cloud.qvf from this guide here, or you find it at the bottom of this page.
Once it's downloaded, navigate to your Qlik Cloud tenant and go to the home section under Analytics Services.
Click the + Add new green button in the top right and click Upload app in the menu that appears.
Figure 65 + Add new button Qlik Cloud Tenant Home
Drag the Getting started with Vizlib Writeback in Qlik Cloud.qvf to the Drop your files here area.
Figure 66 Upload apps pop-up.
Select the Vizlib Collaboration DEV space in the Space dropdown.
Figure 67 Upload apps pop-up ready to upload.
Click Upload.
21. Create a destination in VMC for the Update operation
The next step is to configure our first Writeback destination in the VMC that will be used by the demo app on the Update operation.
Navigate to the Destinations section in the VMC under Writeback Settings.
Figure 68 Destinations section in the VMC under Writeback Settings.
Click the Add Destination button.
Figure 69 Add destination pop-up.
Change the id to VizlibWritebackDemoData. For Reload Options, we use Reload App and add the dynamic tag APP.ID so that this destination reloads the application from the Writeback, and is done will be reloaded.
Dynamic tags are great when you want to use multiple apps with the same destination. Add the dynamic tag by clicking the plus (+) icon to right inside the App input, and choose Id from the dropdown.
Figure 70 Dynamic reload options tag
Select the VizlibWritebackDemoData data space we created earlier in the Space input.
Figure 71 Space
Since the demo application is using multiple Writeback Tables and Input Forms writing data to different QVD files, we want to enable File name set by the extension.
Figure 72 Enabled File name set by the extension
To make it a bit more secure, we can define a file name whitelist to only allow certain file names to be used by the destination; if left empty, all file names are allowed.
Copy all the values from the table below.
Settings |
ColumnShowcase |
ScatterSalesDate |
EmployeeForm |
EventLog |
LiveTotals |
IconOptions |
CountryOptions |
UserDirectoryOptions |
DropdownOptions |
Variables |
ColorVariables |
InsertAuditData |
RequiredIf |
Paste values in the input Add new File Name and all 14 values should be added at the same time. This is what the completed destination pop-up should look like.
Figure 73 Add destination pop-up complete.
Click Add Destination button to create the destination.
22. Configure the demo application
Let's navigate to the Vizlib Collaboration DEV space where the demo app is.
Go to Catalog in Qlik Cloud Analytics Services and select Vizlib Collaboration DEV in the Spaces filter box.
Figure 74 Demo application in Vizlib Collaboration DEV space.
Hover over the application and click the Open App button.
Once the application is open, we need to modify the load script and reload the application before we can use it. Open the Data load editor.
Figure 75 Data load editor.
Figure 76 README section of load script.
Figure 77 Successful reload of the application.
To verify that the files have been created, select the VizlibWritebackDemoData space in the dropdown in the Add data panel to the right.
Figure 78 Add data panel with VizlibWritebackDemoData space selected.
Click the Select data icon to bring up the file explorer.
Figure 79 Select file dialog.
This shows the files that the demo application generates when the application is reloaded for the first time. This dialog is where you are able to delete files in a space.
Please note: Qlik Cloud does not have folders. You can write to a file with '/' in the filename, but it does not create a folder as it does in Qlik Sense Enterprise.
23. Do writeback in the demo application
Let's navigate to sheets, and once you are there, you will notice that the OAuth window to authenticate with Vizlib Server is blocked.
Figure 80 OAuth window pop-up blocked.
Click the blocked pop-up icon, and select Always allow pop-ups and redirects... on your Qlik cloud tenant.
Figure 81 Allow pop-ups on your Qlik cloud tenant.
The OAuth window displays and you must authenticate with the IDP configured with your tenant.
Figure 82 Oauth sign-in screen.
After you are successfully signed in, you are presented with a consent screen to grant the OAuth client access to the scope offline_access for your user.
Click Approve.
Figure 83 Consent screen.
If it takes too long to complete these steps, you might have to reload the page and try again if the authentication process times out. When it is successful, you will see the Input Form on the first sheet of the application.
Navigate to the next sheet. This time you will not be presented with the OAuth window because Vizlib Server has created a session cookie to make sure you stay signed in during the session.
Make some changes to the Vizlib Writeback Table and click the Update button to perform your first Writeback.
Figure 84 Vizlib Writeback Table with updated values.
When the writeback starts, you will notice that it will be quite a bit slower than when using Vizlib Writeback Table in a Qlik Sense Enterprise setup. Qlik Cloud's architecture is different, and that is the reason for this.
Reloads can be a lot slower because Qlik Cloud needs to start a reload pod if it does not have one available already. Another thing that can cause reloads to take a long time is that they can be queued.
If you are using Qlik Cloud Bussiness, you are sharing reload pods with other tenants, and if other tenants are executing reloads, your reload is queued until they have finished.
This is not good, as having as short reload times as possible is key when using writeback. To improve this, we recommend upgrading to a Qlik Cloud Enterprise license and contacting Qlik to buy dedicated reload pods to prevent queues. Only the Qlik Cloud Enterprise license will not prevent queueing, and it can still occur.
Find out more about Qlik Cloud capacity here.
Figure 85 Reload Queued.
Once the export and reload are completed, you should see your updated values reflected in the data model and in the Writeback Table.
Figure 86 Successful writeback.
Congratulations, you have now done your first Writeback of data using Vizlib Server for Qlik Cloud!