Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

inProcess App Operations was designed to work with Configuration Profiles.
A Configuration Profile is a collection of settings stored in the appsettings.json file, located in the inProcess App Operations root directory.

On this page

The appsettings.json file

This is the default structure of the appsettings.json file:

{
  "QlikSenseConnections": [
    {
      "ConnectionName": "",
      "UserDomain": "",
      "UserName": "",
      "SecurePassword": "",
      "QlikSenseUrl": "",
      "VirtualProxyPath": "",
      "CertificatePath": "",
      "CertificatePassword": "",
      "CertificatePort": 4242,
      "CertificateValidation": true,
      "QcsApiKey": ""
    }
  ],
  "AppExportProfiles": [
    {
      "ProfileName": "",
      "AppTitleFilter": "",
      "AppStreamFilter": "",
      "SkipData": true,
      "DestinationFolder": "",
      "AppListJsonFileName": "",
      "SkipConfirmation": false,
      "FileNamePattern": ""
    }
  ],
  "AppImportProfiles": [
    {
      "ProfileName": "",
      "QVFSourceFolder": "",
      "AppListJsonFileName": "",
      "AppNamePattern": "",
      "SkipConfirmation": false
    }
  ]
}

There are three groups of Configuration Profiles, each one described in details in this documentation:

Qlik Sense Connections

inProcess App Operations supports connections to Qlik Sense client manage and Qlik Cloud.

All Qlik Sense Connection Profiles should be stored inside the QlikSenseConnections node:

  "QlikSenseConnections": [
    {
      "ConnectionName": "",
      "UserDomain": "",
      "UserName": "",
      "SecurePassword": "",
      "QlikSenseUrl": "",
      "VirtualProxyPath": "",
      "CertificatePath": "",
      "CertificatePassword": "",
      "CertificatePort": 4242,
      "CertificateValidation": true,
      "QcsApiKey": ""
    }
  ]

The QlikSenseConnections attributes are:

  • ConnectionName
    (Required) The Connection Name. Must have an unique name.
    This name is required and must be used during Bulk Export Apps and Bulk Import Apps commands.

  • UserDomain
    (Optional) if connecting using to Qlik Cloud with QcsApiKey.
    (Required) if connecting to Qlik Sense client manage.

  • UserName
    (Optional) if connecting using to Qlik Cloud with QcsApiKey.
    (Required) if connecting to Qlik Sense client manage.

  • SecurePassword
    (Optional) if connecting using to Qlik Cloud with QcsApiKey.
    (Required) if connecting to Qlik Sense client manage.

  • QlikSenseUrl
    (Required) The URL of the Qlik Sense Cloud or client manage.

  • VirtualProxyPath
    (Optional) Used on Qlik Sense client manage connections.

  • CertificatePath
    (Optional) The folder where the Certificate file is located

  • CertificatePassword
    (Optional) The Certificate password.

  • CertificatePort
    (Optional) The QRS Port. The default value is 4242.

  • CertificateValidation
    (Optional) To validate or not the Certificate.

  • QcsApiKey
    (Optional) The API Key, required for Qlik Cloud connections.
    For more details Generate your first API key article.

Store a single Qlik Sense Connection

The example below shows how to store a single Qlik Sense client manage connection:

"QlikSenseConnections": [
    {
      "ConnectionName": "CLIENT_MANAGEMENT",
      "UserDomain": "MyDomain",
      "UserName": "MyUserName",
      "SecurePassword": "MyPassword",
      "QlikSenseUrl": "https://myclientmanagement/",
      "VirtualProxyPath": "",
      "CertificatePath": "",
      "CertificatePassword": "",
      "CertificatePort": 4242,
      "CertificateValidation": true,
      "QcsApiKey": ""
    }
  ]

Store multiple Qlik Sense Connections

The example below shows how to stored multiple Qlik Sense Connections.
One for Qlik Sense client manage, one for client manage with certificate and another for Qlik Cloud:

"QlikSenseConnections": [
    {
      "ConnectionName": "CLIENT_MANAGEMENT",
      "UserDomain": "MyDomain",
      "UserName": "MyUserName",
      "SecurePassword": "MyPassword",
      "QlikSenseUrl": "https://myclientmanagement/",
      "VirtualProxyPath": "",
      "CertificatePath": "",
      "CertificatePassword": "",
      "CertificatePort": 4242,
      "CertificateValidation": true,
      "QcsApiKey": ""
    },
    {
      "ConnectionName": "CLIENT_MANAGEMENT_WITH_CERTIFICATE",
      "UserDomain": "MyDomain",
      "UserName": "MyUserName",
      "SecurePassword": "",
      "QlikSenseUrl": "https://myclientmanagement/",
      "VirtualProxyPath": "",
      "CertificatePath": "C:\MyCertificateFolder\Windows",
      "CertificatePassword": "",
      "CertificatePort": 4242,
      "CertificateValidation": false,
      "QcsApiKey": ""
    },
    {
      "ConnectionName": "CLOUD",
      "UserDomain": "",
      "UserName": "",
      "SecurePassword": "",
      "QlikSenseUrl": "https://mycloud/",
      "VirtualProxyPath": "",
      "CertificatePath": "",
      "CertificatePassword": "",
      "CertificatePort": 4242,
      "CertificateValidation": true,
      "QcsApiKey": "MyApiKey"
    }
  ]

inProcess App Operations uses the field QcsApiKey to decide the connection to Qlik Cloud, if populated, or Qlik Sense client managed, if left blank.

App Export Profiles

An App Export Profile tells to inProcess App Operations which applications it should look for, which Stream and where and how to store the QVF files.

All App Export Profiles should be stored inside the AppExportProfiles node:

  "AppExportProfiles": [
    {
      "ProfileName": "",
      "AppTitleFilter": "",
      "AppStreamFilter": "",
      "SkipData": true,
      "DestinationFolder": "",
      "AppListJsonFileName": "",
      "SkipConfirmation": false,
      "FileNamePattern": ""
    }
  ]

The AppExportProfiles attributes are:

  • ProfileName
    (Required) Name of the App Export Profile. The Profile Name must be unique.
    This name is required and must be used during Bulk Export Apps commands.

  • AppTitleFilter
    (Optional) Exact name of the application, a regular expression or leave blank to return all applications.

  • AppStreamFilter
    (Optional) Exact name of the Stream, a regular expression or leave blank to search on all Streams.

  • SkipData
    (Required) (true|false) Set true do export the Qlik Sense Application without data or false to export with data.

  • DestinationFolder
    (Required) Folder where the QVF files will be stored.
    Non-existing folders will be created.
    Folder names can contain pattern segments:
    {id}: The ID of the Qlik Sense Application
    {app}: The Name of the Qlik Sense Application
    {stream}: The Stream of the Published Qlik Sense Application
    {year}: The export Year (yyyy)
    {month}: The export Month (MM)
    {day}: The export Day (dd)
    {hour}: The export Hour (HH)
    {minute}: The export Minute (mm)
    {second}: The export Second (ss)
    {ownerId}: The Qlik GUID Owner ID
    {ownerUserId}: The Qlik Owner User ID
    {ownerUserDirectory}: The Qlik Owner User Directory
    {ownerName}: The Qlik Owner User Name

  • AppListJsonFileName
    (Optional) Full file name to store the list of exported Qlik Sense Applications.
    Leave blank to not save this information.
    For more details: https://ipc-global.atlassian.net/wiki/spaces/IAO/pages/14696939569/Bulk+Export+Apps#The-AppList.json-file

  • SkipConfirmation
    (Required) (true|false) Skip Confirmation message. Set to true for Scheduled Tasks.

  • FileNamePattern
    (Optional) Defines the name pattern of the saved QVF files.
    When FileNamePattern is blank, the default pattern '{app} [{id}].qvf' will be used
    Pattern segments:
    {id}: The ID of the Qlik Sense Application
    {app}: The Name of the Qlik Sense Application
    {stream}: The Stream of the Published Qlik Sense Application
    {year}: The export Year (yyyy)
    {month}: The export Month (MM)
    {day}: The export Day (dd)
    {hour}: The export Hour (HH)
    {minute}: The export Minute (mm)
    {second}: The export Second (ss)
    {ownerId}: The Qlik GUID Owner ID
    {ownerUserId}: The Qlik Owner User ID
    {ownerUserDirectory}: The Qlik Owner User Directory
    {ownerName}: The Qlik Owner User Name

Store a single App Export Profile

App Export Profile created to export all Qlik Sense Applications from a specific Stream:

"AppExportProfiles": [
    {
      "ProfileName": "MIGRATION",
      "AppTitleFilter": "",
      "AppStreamFilter": "MyStream",
      "SkipData": true,
      "DestinationFolder": "MyMigrationWinFolder",
      "AppListJsonFileName": "",
      "SkipConfirmation": false,
      "FileNamePattern": ""
    }
  ]

Store multiple App Export Profiles

The example below shows how to stored multiple App Export Profiles.
One App Export Profile created to export all Qlik Sense Applications from a specific Stream and another is to make a backup of all Qlik Sense Applications with Data from all Streams:

"AppExportProfiles": [
    {
      "ProfileName": "MIGRATION",
      "AppTitleFilter": "",
      "AppStreamFilter": "MyStream",
      "SkipData": true,
      "DestinationFolder": "MyMigrationWinFolder",
      "AppListJsonFileName": "",
      "SkipConfirmation": false,
      "FileNamePattern": ""
    },
    {
      "ProfileName": "BACKUP",
      "AppTitleFilter": "",
      "AppStreamFilter": "",
      "SkipData": false,
      "DestinationFolder": "MyBackupWinFolder",
      "AppListJsonFileName": "C:\\MyBackupWinFolder\\AppList.json",
      "SkipConfirmation": false,
      "FileNamePattern": ""
    }
  ]

App Import Profiles

An App Import Profile tells to inProcess App Operations which applications it should upload and how they should be named in the target Qlik Sense Server.

All App Import Profiles should be stored inside the AppImportProfiles node:

  "AppImportProfiles": [
    {
      "ProfileName": "",
      "QVFSourceFolder": "",
      "AppListJsonFileName": "",
      "AppNamePattern": "",
      "SkipConfirmation": false
    }
  ]

The AppImportProfiles attributes are:

  • ProfileName
    (Required) Name of the App Import Profile. The ProfileName must be unique.
    This name is required and must be used during Bulk Import Apps commands.

  • QVFSourceFolder
    (Optional) Folder where QVF files are stored.

  • AppListJsonFileName
    (Optional) Full file name of stored list of exported Qlik Sense Applications.
    FileName property will overlap QVFSourceFolder parameter.
    For more details: https://ipc-global.atlassian.net/wiki/spaces/IAO/pages/14696939569/Bulk+Export+Apps#The-AppList.json-file

  • SkipConfirmation
    (Required) (true|false) Skip Confirmation message. Set to true for Scheduled Tasks.

  • AppNamePattern
    (Optional) Defines the name pattern of the Qlik Sense Application to be created.
    When AppNamePattern or AppListJsonFileName is blank, the App name will be the QVF file name.
    Pattern segments:
    {id}: The ID of the Qlik Sense Application
    {app}: The Name of the Qlik Sense Application
    {stream}: The Stream of the Published Qlik Sense Application
    {year}: The export Year (yyyy)
    {month}: The export Month (MM)
    {day}: The export Day (dd)
    {hour}: The export Hour (HH)
    {minute}: The export Minute (mm)
    {second}: The export Second (ss)
    {ownerId}: The Qlik GUID Owner ID
    {ownerUserId}: The Qlik Owner User ID
    {ownerUserDirectory}: The Qlik Owner User Directory
    {ownerName}: The Qlik Owner User Name

Store a single App Import Profile

App Import Profile created to import all Qlik Sense Applications from a specific folder keeping the original QVF file names:

"AppImportProfiles": [
    {
      "ProfileName": "MIGRATION",
      "QVFSourceFolder": "MyMigrationWinFolder",
      "AppListJsonFileName": "",
      "AppNamePattern": "",
      "SkipConfirmation": false
    }
  ]

Store multiple App Import Profiles

The example below shows how to stored multiple App Import Profiles.
One App Import Profile created to import all Qlik Sense Applications from a specific folder keeping the original QVF file names and another Profile to import all QVF files listed in the C:\MyBackupWinFolder\AppList.json file renaming the Qlik Sense Applications following the AppNamePattern pattern:

"AppImportProfiles": [
    {
      "ProfileName": "MIGRATION",
      "QVFSourceFolder": "MyMigrationWinFolder",
      "AppListJsonFileName": "",
      "AppNamePattern": "",
      "SkipConfirmation": false
    },
    {
      "ProfileName": "BACKUP",
      "QVFSourceFolder": "",
      "AppListJsonFileName": "C:\\MyBackupWinFolder\\AppList.json",
      "AppNamePattern": "[{year}-{month}-{day}] {stream} - {app} - Restored",
      "SkipConfirmation": false
    }
  ]

Populated appsettings.json sample

Following a full example of a populated appsettings.json file:

{
  "QlikSenseConnections": [
    {
      "ConnectionName": "CLIENT_MANAGEMENT",
      "UserDomain": "MyDomain",
      "UserName": "MyUserName",
      "SecurePassword": "MyPassword",
      "QlikSenseUrl": "https://myclientmanagement/",
      "VirtualProxyPath": "",
      "CertificatePath": "",
      "CertificatePassword": "",
      "CertificatePort": 4242,
      "CertificateValidation": true,
      "QcsApiKey": ""
    },
    {
      "ConnectionName": "CLIENT_MANAGEMENT_WITH_CERTIFICATE",
      "UserDomain": "MyDomain",
      "UserName": "MyUserName",
      "SecurePassword": "",
      "QlikSenseUrl": "https://myclientmanagement/",
      "VirtualProxyPath": "",
      "CertificatePath": "C:\MyCertificateFolder\Windows",
      "CertificatePassword": "",
      "CertificatePort": 4242,
      "CertificateValidation": false,
      "QcsApiKey": ""
    },
    {
      "ConnectionName": "CLOUD",
      "UserDomain": "",
      "UserName": "",
      "SecurePassword": "",
      "QlikSenseUrl": "https://mycloud/",
      "VirtualProxyPath": "",
      "CertificatePath": "",
      "CertificatePassword": "",
      "CertificatePort": 4242,
      "CertificateValidation": true,
      "QcsApiKey": "MyApiKey"
    }
  ]
  "AppExportProfiles": [
    {
      "ProfileName": "RND",
      "AppTitleFilter": "( - Data )(Model|Mart)$",
      "AppStreamFilter": "My Stream",
      "SkipData": true,
      "DestinationFolder": "C:\\QVF\\{year}\\{month}",
      "AppListJsonFileName": "C:\\QVF\\AppList.json",
      "SkipConfirmation": false,
      "FileNamePattern": ""
    },
    {
      "ProfileName": "CLOUD",
      "AppTitleFilter": "",
      "AppStreamFilter": "",
      "SkipData": true,
      "DestinationFolder": "C:\\QVF-CLOUD\\",
      "AppListJsonFileName": "C:\\QVF-CLOUD\\AppList.json",
      "SkipConfirmation": false,
      "FileNamePattern": "{year}-{month}-{day} {hour}_{minute}_{second} -- {stream} - {app}.{id}"
    }
  ],
  "AppImportProfiles": [
    {
      "ProfileName": "RND",
      "QVFSourceFolder": "",
      "AppListJsonFileName": "C:\\QVF\\AppList.json",
      "AppNamePattern": "[{year}-{month}-{day} {hour}_{minute}_{second}] {stream} - {app} - New Import",
      "SkipConfirmation": false
    },
    {
      "ProfileName": "CLOUD",
      "QVFSourceFolder": "C:\\QVF-CLOUD\\",
      "AppListJsonFileName": "",
      "AppNamePattern": "",
      "SkipConfirmation": false
    }
  ]
}

Other related pages

https://learn.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference

https://youtu.be/rhzKDrUiJVk

  • No labels