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: 
Not applicable

.NET SDK IApp.DoReload method works only for not published apps

Hi,

There is an issue with Qlik Sense API that results in reloading not published apps only. I am calling the API with .NET SDK IApp.DoReload and it returns 'true' result, so I would expect the app had been reloaded which is not true. Is there any philosophy behind it? I have the necessary permissions (being the author). Note that all apps reload correctly when reloading by using QMC. The apps contain custom load script. Any help or walkaround appreciated. Thank you.

6 Replies
Alexander_Thor
Employee
Employee

Hey Anna,

If you have the permissions to reload the app then it should work.

However are you calling DoSave after your reload has finished so your new data model persists?

Not applicable
Author

Hi Alexander,

Thank you for mentioning DoSave. From the developer documentation is hard to reason about mandatory usage of this method. It does work for published apps, too. Yet one has to be careful, because I have noticed that once DoSave is called the application identifiers enumeration from ILocation.GetApplicationIdentifiers is modified to contain only one item (the app DoSave has been called on). Happily I have found a walkaround. It takes only to save the application identifiers collection to an array and enumerate the array.

Not applicable
Author

Hi Alexander,

Please see the related issue: Qlik Sense API DoSave() is not effective for published apps‌as it became clear that ability to call the right API is not the same as one being able to get the results. Are you sure that DoSave() can be called on published apps?

Alexander_Thor
Employee
Employee

Yes, DoSave is the correct method. However with default security rules in place a user is not able to save published apps. Normally you would connect directly to QIX as a service user and perform the the reload, the benefit of being a service user is that they are exempt of the security rules by default.

You could of course assign update and reload privileges on published apps to the user running your reqeusts and you should no longer get a 403 back.

Not applicable
Author

What do you mean by 'reload privileges'? Please name the specific privilege, so I can use Qlik audit capabilities to find whether it is set. I can see that the user has got all available permissions on all apps. It's in RootAdmin role, so this is what I would expect to be. Moreover it fails to reload occassionaly with no error returned and fails always to save.

Could you elaborate on connecting directly to QIX? Do you mean QRS (Qlik Sense Repository Service API ‒ Qlik Sense)? I understand that the service user is a user that Qlik Windows Services use to run.

Not applicable
Author

Hi,

To be able to reload published apps you need to have read and update privilege to App_* and read privilege on ReloadTask_* .

For more description see http://help.qlik.com/en-US/sense/2.2/Subsystems/ManagementConsole/Content/create-security-rules.htm

Best regrads

Lars-Göran Book