Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
malradi88
Creator II
Creator II

Moving apps between Environments (Qlik Sense Enterpries to Qlik Analytics Platform)

To Whom it May Concern,

I am trying to figure out a way to automate the import of Qlik Sense Enterprise apps into Qlik Analytics platform.

I have imported a few apps into the QAP via exporting QVFs from my Qlik Sense Enterprise management console and importing it into the QAP management console - this is not ideal as I would have to repeat this step for many apps and every time an app is updated etc..

The respective servers for Qlik Sense Enterprise and QAP can communicate so I thought of creating an automated file-transfer system that would take all the files from the Qlik Sense Enterprise app save location and import them to the QAP app save location every week or so...

Unfortunately I discovered that the GUID app files cannot simply be copy and pasted from one environment to another like a QVF can. I tried testing it but when copy and pasting GUID app files from Enterprise to QAP nothing appeared in the QAP QMC or hub. Is there a way around this issue? Or another method to import Enterprise apps to QAP regularly without a lot of manual work?

Thank you for your support!

Best,

Mohammed

3 Replies
Gysbert_Wassenaar

I think you can use Qlik-Cli-windows for this. See https://github.com/ahaydon/Qlik-Cli-Windows for more information


talk is cheap, supply exceeds demand
malradi88
Creator II
Creator II
Author

@Gysbert_Wassenaar  thank you very much for sharing this resource. Do you know of any other way to achieve an automated file-sharing system between the two Qlik environments? 

At present I have 20+ apps that I would like to be moved from the Qlik Sense Enterprise app save location to the Qlik Analytics Platform app save location on at least a weekly basis (many of the apps in my Qlik Enterprise environment are updated daily and ideally I would like the most updated visualisations to be available on the company website via the QAP). From my limited understanding of Qlik-Cli-windows, a script would have to be written for each individual app right? And would it also be possible to automate the file-transfer with Qlik-Cli-windows being used, or would it have to be run manually each time? (It would be much easier if it was just a case of sending QVFs from one environment to another!).

I expect the # of apps that will have to be sent from Qlik Sense Enterprise to QAP to increase over time as well as the frequency so I am trying to figure out the most scalable, low maintenance solution (currently I am just exporting from the Enterprise QMC and importing from the QAP QMC manually). Thank you again for your support!

Best,

Mohammed

 

Spivey
Partner - Contributor III
Partner - Contributor III

This is a late reply but it seems like you could write the PowerShell script to loop through each app migration, thus saving you from having to write a separate script for each one. Something like this:

# Connect to your Qlik Sense engine:
Get-ChildItem cert:LocalMachine\my | Where-Object { $_.FriendlyName -eq 'QlikClient' } | Connect-Qlik `
-ComputerName xx.xx.xx.xx -UserName DOMAIN\qlik_user `
-TrustAllCerts

# Set a temporary folder location to hold the app mid-migration:
$TempMigratedAppsFolder = "./TempFolder"

# Get the apps that match a particular name, export
# them to the temp folder from the previous step, and
# then tag the apps "MigratedToQAP":
Get-QlikApp -filter "name so 'App name(s) to migrate'" `
| ForEach-Object {
    Export-QlikApp -id $_.id -filename "$($TempMigratedAppsFolder)/$($_.name).qvf"
    Update-QlikApp -id $_.id -tags "MigratedToQAP"
}

# Now, connect to your QAP engine:
Get-PfxCertificate "C:\QlikCerts (QAP server)\Windows format\client.pfx" | Connect-Qlik `
-ComputerName xx.xx.xx.xx -UserName DOMAIN\qlik_user `
-TrustAllCerts

# Finally, import the apps to your QAP environment and 
# publish them to the Everyone stream:
Get-ChildItem -Path $TempMigratedAppsFolder -Filter *.qvf `
| ForEach-Object {
    Import-QlikApp -file $_.Fullname-name $_.Basename -upload `
    | Publish-QlikApp -stream "Everyone"
    Remove-Item -Path "$($TempMigratedAppsFolder)/$($_.name)" -Confirm
}