Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
fldc2500
Partner - Contributor III
Partner - Contributor III

Maintaining a Single App Across Tenants

Hi All,

I am currently working on a use case where I need to distribute an app containing data to another tenant for viewing. To achieve this, I developed an automation that exports the app from one tenant and imports and publishes it to the other. This part is working well.

However, I’ve encountered a challenge. My objective is to maintain a single app that can be updated daily through automation, ensuring it is populated with new data. Unfortunately, the current automation creates a new app each time it runs, instead of updating the existing one. This results in issues such as users being unable to rely on bookmarks or being invited to a consistent app, as the app effectively changes with each update.

I am utilizing the Qlik Platform Operations connector for this process. Does anyone know of a solution that would allow me to consistently update the same app across tenants?

Thank you in advance for your insights!

Labels (2)
1 Solution

Accepted Solutions
DaveChannon
Employee
Employee

The usual approach is to give consumers access to a published copy of the app in a managed space on the consumption tenant. Then, even though each import generates a new app in either personal/shared space, you just publish & replace the app in the managed space, maintaining the user created content etc.

Would this work?

View solution in original post

5 Replies
chriscammers
Partner - Specialist
Partner - Specialist

I have a suggestion that I am not "in love" with but I think will solve the "problem with preserving the user content" problem. Also there are a bunch of unresolved issues that you'll have to figure out but this approach could be a start...

  1. Automate the download of the app
  2. Upload the app to the new tenant which will create a new app in the repository.
  3. Automate writing the original app contents to github this will give you a json repository of all the objects in the app.
  4. Make a master copy of the app on the destination tenant.(You now have two copies on the destination)
  5. Add a step to your automation to update the Master App contents based on the objects in your github repo.
  6. Add a step to your automation to replace the load script of your master copy with a binary load of the newly copied app(the one you uploaded)
  7. Reload the Master App

I am suggesting updating items using automations but there are add-on tools that would probably make this easier and fill in some of the holes in the process. Look at the products from Motio like soterre and gitoqlok to work help smooth over the tricky details of what you are proposing.

Best of Luck

Chris

cotiso_hanganu
Partner - Creator III
Partner - Creator III

I would rather do another workaround, which might get easier to handle (assuming you want only the app data set refreshed in the secondary tenant, not also the interface):
- first app data stores final residents in QVDs somewhere in cloud (google drive/dropbox/etc)
- second app loads the date from there
=> no automation required (rather old school)

 

DaveChannon
Employee
Employee

The usual approach is to give consumers access to a published copy of the app in a managed space on the consumption tenant. Then, even though each import generates a new app in either personal/shared space, you just publish & replace the app in the managed space, maintaining the user created content etc.

Would this work?

fldc2500
Partner - Contributor III
Partner - Contributor III
Author

Yes, this approach would be ideal. Your response made me look to the available blocks again and I now found the right block to make this work exactly as you described.

Thank you very much for your assistance!

DaveChannon
Employee
Employee

Great! We also have a "Import and replace app..." which auto deletes any other apps with the same name in the shared space to keep things tidier on the import with fewer blocks, which might be helpful.