<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic mashup manage objects in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/mashup-manage-objects/m-p/1231104#M6498</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi folks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need your help urgently with a qlik sense mashup. I'm new in both angularjs and qlik sense. The problem I have is that the performance of the application suffers as I navigate between different states to the point that objects take a long time to load and stop working correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is an excerpt from the code I use to load the application:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var app;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.................&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function getQlikApp(app1) &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (app1 == null) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; appl =&amp;nbsp; qlik.openApp( "6bdf6084-6578-5f79-be7g-d8339089ae1s", config );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return appl;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myApp.config(function config($locationProvider, $routeProvider) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $routeProvider &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; .when('/position', { &lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp; controller: 'controller.position', &lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp; templateUrl: 'position.html',&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp; resolve: {&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp;&amp;nbsp; app: function () { &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp;&amp;nbsp; app = getQlikApp(this.app);&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp; return app;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; })&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ......................&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As for the objects I have tried to load them by calling them directly:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$route.current.locals.app.getObject(element, id);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and through a service, passing the element and its id by parameters:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myApp.service('getObjects', ['$route', '$q', function($route, $q) {&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp; var self = this;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp; self.var = null;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp; self.getObjects = function (objects) {&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var deferred = $q.defer();&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var promises = [];&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 60px;"&gt; angular.forEach(objects, function(key, value) {&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt; $route.current.locals.app.getObject(value, key).then(function(){&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 120px;"&gt; deferred.resolve(value);&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp; });&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp; promises.push(deferred.promise);&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp; }); &lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp; return $q.all(promises);&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp; }; &lt;/P&gt;&lt;P&gt;}]);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But the result is the same. After changing status, the console returns errors related to objects:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error from Engine: Object {jsonrpc: "2.0", id: 79, error: Object}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you know where the problem is? Am I&amp;nbsp; handling the load of objects incorrectly? Should they be removed every time you change status? (In the API I have found method qlik.app.destroySessionObject (id)). If you need more code/details just tell and I will provide them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for your help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 25 Nov 2016 20:30:28 GMT</pubDate>
    <dc:creator />
    <dc:date>2016-11-25T20:30:28Z</dc:date>
    <item>
      <title>mashup manage objects</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/mashup-manage-objects/m-p/1231104#M6498</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi folks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need your help urgently with a qlik sense mashup. I'm new in both angularjs and qlik sense. The problem I have is that the performance of the application suffers as I navigate between different states to the point that objects take a long time to load and stop working correctly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is an excerpt from the code I use to load the application:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;var app;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.................&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;function getQlikApp(app1) &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (app1 == null) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; appl =&amp;nbsp; qlik.openApp( "6bdf6084-6578-5f79-be7g-d8339089ae1s", config );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return appl;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myApp.config(function config($locationProvider, $routeProvider) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $routeProvider &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; .when('/position', { &lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp; controller: 'controller.position', &lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp; templateUrl: 'position.html',&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp; resolve: {&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp;&amp;nbsp; app: function () { &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp;&amp;nbsp; app = getQlikApp(this.app);&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp; return app;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; })&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ......................&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As for the objects I have tried to load them by calling them directly:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$route.current.locals.app.getObject(element, id);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and through a service, passing the element and its id by parameters:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;myApp.service('getObjects', ['$route', '$q', function($route, $q) {&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp; var self = this;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp; self.var = null;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp; self.getObjects = function (objects) {&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var deferred = $q.defer();&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var promises = [];&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 60px;"&gt; angular.forEach(objects, function(key, value) {&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt; $route.current.locals.app.getObject(value, key).then(function(){&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 120px;"&gt; deferred.resolve(value);&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp; });&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&amp;nbsp; promises.push(deferred.promise);&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp; }); &lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp; return $q.all(promises);&amp;nbsp; &lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp; }; &lt;/P&gt;&lt;P&gt;}]);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But the result is the same. After changing status, the console returns errors related to objects:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Error from Engine: Object {jsonrpc: "2.0", id: 79, error: Object}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you know where the problem is? Am I&amp;nbsp; handling the load of objects incorrectly? Should they be removed every time you change status? (In the API I have found method qlik.app.destroySessionObject (id)). If you need more code/details just tell and I will provide them.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for your help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Nov 2016 20:30:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/mashup-manage-objects/m-p/1231104#M6498</guid>
      <dc:creator />
      <dc:date>2016-11-25T20:30:28Z</dc:date>
    </item>
  </channel>
</rss>

