Search our knowledge base, curated by global Support, for answers ranging from account questions to troubleshooting error messages.
This article provides an overview of how to manage space membership for groups using a Qlik Application Automation. This approach can be useful when migrating from QlikView, or Qlik Sense Client Managed, to Qlik Sense Cloud when security concerns prevent the usage of Qlik-CLI and Powershell scripting.
In this example, we use Microsoft Excel to configure group Space memberships. A sheet name, for example, Groups, must be added and this must also be provided as input when running the automation. The sheet must also contain the following headers:
This article describes how to resolve the NPrinting connection verification error:
x Qlik NPrinting webrenderer can reach Qlik Sense hub error
This article is intended to get started with the Microsoft Outlook 365 connector in Qlik Application Automation.
To authenticate with Microsoft Outlook 365 you create a new connection. The connector makes use of OAuth2 for authentication and authorization purposes. You will be prompted with a popup screen to consent a list of permissions for Qlik Application Automation to use. The Oauth scopes that are requested are:
The scope of this connector has been limited to only sending emails. Currently, we do not enable sending email attachments and are looking to provide this functionality in the future. The suggested approach is to upload files to a different platform, e.g. Onedrive or Dropbox and create a sharing link that can be included in the email body.
The following parameters are available on the Send Email block:
As we do not currently support email attachments, we need to first generate a sharing link in Onedrive or an alternative file sharing service. The following automation shows how to generate a report from a Qlik Sense app, upload the report to Microsoft Onedrive, create a sharing link and send out an email with the sharing link in the body. This automation is also attached as JSON in the attachment to this post.
During a Replicate Full Load, incoming changes occur while the Full load is in progress. What happens to those changes?
Qlik replicate starts the CDC thread before starting the Full load and all the changes show as cached events while the Full load is running. For example, 2 billion records are applied in the Full load state and Replicate again check at the end of the Full load for committed changes. If 100k changes are also committed before finished then it will also be applied in the full load otherwise the 100k changes will go to CDC.
Another example, for a full load takes 12 hours, then updates during the 12 hours full load window are also applied. Note- these two examples assume you have CDC enabled in the task.
If CDC is turned off during a full load task, then Replicate will not capture the cached events.
The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.
This article will guide you on how to check audit logs to see users' activity on object/sheet/app.
First of all, we would need to enable Audit Logs on Qlik Sense side, to do so, you can follow this guide.
Once done all the steps from the above's guide, then we can check all user activity on object/sheet/level through the Operations Monitor app (from Qlik Sense 2019 release).
In the example below we will see a graphic example of how to check this information from Audit Logs.
User with ID "f9b8183a-bc07-4571-8ccb-94f7a1c5d9db" navigates into app with ID "1e4a22db-7395-46b3-bd43-78bc4cef811f" and then clicks on sheet with ID "1e4a22db-7395-46b3-bd43-78bc4cef811f" and finally selects a dimension:
User performing selections on an app
As we enabled Audit Logs, all traces coming from users selections will be logged on this path location: C:\ProgramData\Qlik\Sense\Log\Engine\Trace\ServerName_Audit_Engine.txt
Now we can check the audit logs directly from Operations Monitor app:
Checking logs through the Operations Monitor app
Furthermore, you could also check from logs the object ID and action performed on it on the following columns from C:\ProgramData\Qlik\Sense\Log\Engine\Trace\ServerName_Audit_Engine.txt:
Checking object ID and action performed
Qlik Sense Enterprise on Windows
The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.
How to enable Audit Logging in Qlik Sense Enterprise on Windows
When attempting to connect to a new Direct Access Data Gateway data source within the load script editor of a Qlik Application, the new data connection test fails.
When reviewing the Data Gateway logs at "C:\Program Files\Qlik\ConnectorAgent\data\logs" , the following error is discovered:
ERROR partner 'myremotedataserver.com:3350' not reached"
Expected Result:
The information in this article is provided as-is and will be used at your discretion. Depending on the tool(s) used, customization(s), and/or other factors, ongoing support on the solution below may not be provided by Qlik Support.
If you want to submit a new idea or improvement request for Qlik's products, our Ideas section in the Qlik Community is open to all registered customers.
Content:
Ideas are qualified and prioritized based on their value to improving and enhancing the Qlik product. For a successful request, please consider including a strong business case on why you think the change would be beneficial, including:
Before you get started, review Ideation Guidelines: How to Submit an Idea for submission guidelines and eligibility information.
Ideas and Improvement requests are reviewed by our product teams. While we strive to provide answers, we cannot guarantee a specific response time.
Ideation on Community
Ideation Platform Updates
Ideation Guidelines: How to Submit an Idea
This article explains how to save network logs in web development tools and the console logs from the browser and how to capture and read client-side response trace with HAR file analyzer.
For Qlik Sense it is important that the trace is started prior to Qlik Sense login so that WebSocket creation is captured.
Environment:
To read the files, use a tool such as the HAR Analyzer https://toolbox.googleapps.com/apps/har_analyzer/
To read the files, use a tool such as the HAR Analyzer https://toolbox.googleapps.com/apps/har_analyzer/
Further Troubleshooting
In this Webinar, we covered how to approach a Qlik Sense Enterprise on Windows migration.
The session covers:
Qlik Sense Migration: Migrating your Entire Qlik Sense Environment (Blog post)
Help.Qlik.Com Documentation: Backup and Restore Qlik Sense Enterprise on Windows
Qlik Sense Upgrade Guide
Qlik Admin Playbook
Q: Is it possible to migrate from a standalone installation to a clustered one?
A: Yes. Once the Central Node has been moved to a new host, additional Rim nodes can be added as usual through the QMC.
Q: What about the personnal objects created by users (sheets, bookmarks, ...) ? Are they included in the QSR backup ?
A: All user objects as well as base sheets are included both in the Apps themselves as well as in the QSR.
Q: Is this possible to migrate one repository to another server and merge the repository with another one?
A: Not through the procedure outlined in this webinar. If your goal is to merge content from multiple sites, or seamlessly migrate content, I recommend reaching out to your Account Manager and discuss Qlik Mission Control platform.
Q: Would the steps given here change if postgres is installed on a stand-alone server?
A: The only steps that would change would be the backup/restore for the DB itself, as this would have to be performed locally on the DB host. Additionally, if the DB location has changed, the QRS connection strings will have to be updated via QlikSenseUtil.
Q: Is it necessary to have the same release on both servers before migrating ? Or is there compatibility between versions of QlikSense ?
A: You can restore a database from a previous version on a newer Qlik Sense release and the system will update the internal objects automatically, however the reverse is not possible. It is recommended to perform the upgrade in place, before migrating the server.
Q: Is it possible to restore without certificate ?
A: Yes, Trust Root and Qlik Client certificates can be recreated from scratch, however as mentioned during the call, all internal metadata values that were previously encrypted, such as data source connection strings, would have be updated via the QMC by re-entering the connection password and saving.
The Qlik Enterprise Manager has two licensed modules:
Replication Analytics - Provides measurements of server and task metrics over a specific time-period.
A sqlite editor and knowledge on how to use it is required for this change, such as the DB Browser for SQLite: https://sqlitebrowser.org/
The backup step is crucial. Always back up your setup before proceeding with database changes.
The main Analytics tab is shown by default, regardless of whether or not you have registered a Replication Analytics license. If you do not intend to use the Replication Analytics module, you can hide the tab by either clicking the Hide Analytics Dashboards link in the Analytics tab or by following the procedure described below.
This option is only available if no Replication Analytics license is registered.
To show/hide the main Analytics tab:
In the Qlik Enterprise Manager Console, Click Settings (cogwheel on the right)
Select the Licenses tab.
Select the Replication Analytics sub-tab.
Clear or select the Hide Analytics Dashboards check box as required.
Click Save.
Registering and managing licenses
Upgrading Qlik Sense Enterprise on Windows does not automatically upgrade the bundled PostgreSQL version. New versions of PostgreSQL are only deployed during a new install. This means upgrading from, for example, Qlik Sense Enterprise on Windows May 2021, PostgreSQL will remain on 9.6.
For many organizations, running on the latest supported PostgreSQL version is a security requirement. To achieve this:
Content:
The information in this article is provided as-is and to be used at your own discretion. Depending on the tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.
This process requires a full reinstallation of the product. Despite the fact that a backup is being taken as part of the process, it is highly recommended to have a second backup plan in place such as a Virtual Machine snapshot and/or a Server Backup.
It is highly recommended to test this process in a test environment to get familiar with it.
The first step is to upgrade your environment to Qlik Sense Enterprise on Windows May 2021 following the steps and recommendations provided on this link.
Once the upgrade is done make sure your Qlik Sense site is completely operational.
At this point, you have an operational Qlik Sense site running on Qlik Sense Enterprise on Windows May 2021, however, the bundled PostgreSQL is still on version 9.6.
The next step will be to backup your entire Qlik Sense site following these instructions (including the certificates) . The backup is essential as it will need to be restored later on.
You will now need to uninstall Qlik Sense from the central node following these instructions.
During the uninstall:
Now that Qlik Sense Enterprise on Windows May 2021 is uninstalled on the central node, you will reinstall it as a result will deploy a bundled PostgreSQL 12.5. Instructions available here.
Do not check the box Start theQlik Senseservices when the setup is complete at the end of the installer.
You now have a clean Qlik Sense Enterprise on Windows May 2021 deployed on your central node with PostgreSQL 12.5. You now need to restore your environment to retrieve all your configurations and apps.
Please follow the Restoring a Qlik Sense site (including the certificates).
Note: While restoring the database backup you will most likely receive the following error which can be ignored. This error is caused by the version discrepancies between the pg_dump that made the dump file and the pg_restore that's restoring it - in example files coming from PostgreSQL version 9.6 vs files coming from PostgreSQL version 12.5. QSR backup taken and restored with the same version of PostgreSQL will not produce that error.
pg_restore: while PROCESSING TOC:
pg_restore: from TOC entry 3; 2615 2200 SCHEMA public postgres
pg_restore: error: could not execute query: ERROR: schema "public" already exists
Command was: CREATE SCHEMA public;
pg_restore: warning: errors ignored on restore: 1
Once the environment is restored, you should be able to start your central node and rim nodes successfully.
Qlik Sense Enterprise on Windows May 2021 and later
This article explains how the user can manage the queued reloads using automation by retrieving all the reloads in the tenant and viewing the reloads that are in queued state and can cancel the less important reloads.
Example output
Amazon Bedrock is a fully managed service that makes base models from Amazon and third-party model providers accessible through an API.
This article explains how the Amazon Bedrock connector in Qlik Application Automation can be used within Qlik Cloud.
Content:
By default, users and roles don't have permission to create or modify Bedrock resources. They cannot perform tasks using the AWS Management Console, AWS Command Line Interface (AWS CLI), or AWS API. To grant users permission to perform actions on the resources that they need, an IAM administrator can create IAM policies. The administrator can then add the IAM policies to roles, and users can assume the roles.
To learn how to create an IAM identity-based policy by using these sample JSON policy documents, see Creating IAM policies in the IAM User Guide.
The Amazon Bedrock connector consists of the following blocks:
This article covers the usage of the Qlik Application Automation cloud storage blocks and gives design flow examples which apply them. You can also download an example JSON using Google Cloud Storage, and we have compiled a list of links for more in-depth platform connections and atypical usages.
Content
Selecting Cloud storage when creating your automation will present you with the following list:
Here is an example of how to verify if a file exists prior to creating a new one. This is specifically important when you set up an automation meant to save your result in a target file that might or might not be at the location suggested. Since you cannot create a new file if a previous one exists, you will need to apply the following to your automation:
You can verify if the file exists initially, and, based on the response from that block, either simply create a new file or delete the old file and create a new one to write data to.
And last but not least, this is a list of supported platforms for the native blocks as well as links to how to connect to them as well as more quirky details they have.
The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.
When all steps above can be completed successful the connection is confirmed as valid. Apply the directory path, username, and password in the QlikView, NPrinting or Qlik Sense LDAP configuration. Assistance with modifying filters and ports for LDAP and Active Directory is not in the realm of the Qlik Support SLA.
Another recommendation is to use the ADUC Module from the server and test your LDAP filters there, outside of Sense. This can be added through Roles and Features.
It's also suggested to check if you have a non-default domain policy set in active directory that enforces all LDAP authentication to be secured with SSL. This policy on the domain controller is: "Domain controller: LDAP server signing requirements" and if set to "Require signing" the LDAP data-signing option must be negotiated. The customer's IT Dept will need to verify.
Note: Qlik Support assists in diagnosing user directory imports, however if a new LDAP filter is applied using the User Directory Connector feature of the QMC, and the users are not imported, then this is considered an environmental-related issue and Qlik Consulting Services will need to be elected by clients if they'd like further assistance. Qlik Support is for break/fix of embedded Qlik features and any external or third-party integrations or interactions requires consulting services to assist.
This article explains how a reload task chain can be built that will run longer than the maximum automation run limit of 4 hours.
This is an advanced article, if you’re new to automations or task chaining, I suggest you first read this basic article.
Content:
The maximum run time of an automation is 4 hours. This can be a problem when you want to build a task chain of multiple reloads of big apps that could take longer than that. To solve this, we'll build a system of two automations that run together:
Automation 1: Task Chain Initiator, this automation will run once and start the task chain. It will trigger the first app reloads.
Automation 2: Task Chain Manager, this automation will be scheduled to run every 5 minutes. It will verify if any reloads have finished, whether they were successful and if any new reloads should be triggered.
The Task Chain Manager automation will need to know which reloads were triggered by the Task Chain Initiator and will need a way to store which reloads it already processed in previous runs. In other words: these automations need some sort of state to track the progress of the reload task chain. We’ll use Google Sheets for this, but of course, feel free to use any other cloud storage tool.
The state will be stored in one file and divided over 4 sheets. Go ahead and create a new file in Google Sheets.
Sheet 1: Apps for initial reload, this sheet contains the ids and names of the apps that should be reloaded in the first automation. They will be executed by the Reload Initializer automation and run in parallel. Add a new sheet to the file you created, give it the name “Apps for initial reload” and add each app's id and name as in the below example. The order of the apps in the sheet is ignored.
Sheet 2: Queued reloads, this sheet will keep track of which apps were already triggered for reloading.
Add the sheet to the file and name it “Queued reloads” but don’t fill in any fields, the content of the sheet is autogenerated by the automations.
Sheet 3: Finished reloads, this sheet keeps track of all reloads that have finished, it contains their id, name, the status of the reload, and the reload log. Add the sheet to the file and name it “Finished reloads” but don’t fill in any fields, the content of the sheet is autogenerated by the Task Chain Manager automation.
Sheet 4: Chained reloads, this sheet dictates which apps should be reloaded after certain apps finished reloading. Add a new sheet to the file and name it “Chained reloads” specify the order in which apps should be executed.
The order of the rows in the sheet is ignored, the sheet is processed as follows:
If a reload has finished for an app from column “First_id”, then trigger a new reload for the app that’s specified in the column “Next_id” on the same row.
Add this sheet to the file and specify the apps as in the example below:
This automation will only run once at the beginning of the full task chain process, it will execute the following steps:
Note: an export of this automation is attached to this article as a JSON file named "Task chain initiator.json".
This automation will run on a schedule and will be the engine of our task chain process. Feel free to adjust the schedule according to your needs. On each run of the automation, the following steps will be executed:
Note: an export of this automation is attached to this article as a JSON file named "Task chain manager.json".
The reloads in the Finished reloads sheet will look like this:
When scheduled every 5 minutes, the "Task Chain Manager" automation will generate 288 daily runs. This bonus paragraph explains how the number of total runs can be reduced. Instead of having an automation that has many executions that run short, we'll build an automation that has only a few executions that run for a longer time.
The information in this article is provided as-is and to be used at your own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.
How to task chaining with Qlik Application Automation
How to import and export automations
This article explains how you can Delete spaces in Qlik Cloud Services using Qlik Application Automation. Multiple spaces can be deleted during one run. As when deleting a space via the user interface, this will also delete any apps, data files or other content within the space(s) using the relevant blocks for those content types.
For information about spaces in Qlik Cloud, see Navigating Spaces.
This automation is not designed to be triggered using a webhook or on a schedule. It has been designed with manual user input in mind and requires multiple confirmations.
If you use your own automation to delete spaces, know that deleting a space via the space blocks will not delete the content in the space, and will instead result in that content being orphaned in the tenant. Leverage the examples in this automation to first delete content from spaces prior to deleting the space.
Once deleted, spaces, apps, or data files cannot be recovered.
Content:
This automation assumes you have a TenantAdmin role.
The automation is divided into five sections:
The Start section retrieves all available spaces and prompts you to select what spaces you want to delete.
Overview:
Setting it up:
This section provides the possibility to review the selected spaces before deleting them.
Overview:
Setting it up:
Once deleted, spaces, apps, or data files cannot be recovered.
This section deletes all existing apps inside the space(s). A space cannot be removed before all apps are deleted.
Overview:
Setting it up:
Once deleted, spaces, apps, or data files cannot be recovered.
This section deletes all data files within the selected space(s).
Overview:
Setting it up:
Once deleted, spaces, apps, or data files cannot be recovered.
This section deletes all selected spaces.
Overview:
Setting it up:
This section wraps up the automation and updates the final status of the automation run.
Overview:
Setting it up:
Navigating Spaces
Managing permissions in shared spaces
Managing permissions in managed spaces
Qlik Application Automation
Qlik Cloud
The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support.