<?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 Re: App IDs and Object IDs change when deploying in App Development</title>
    <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/1529749#M38130</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;if you want to preserve the object id between your servers, you can add the objects (that you use in the mashup) to the master item.&lt;/P&gt;&lt;P&gt;Object id will never change in this case.&lt;/P&gt;&lt;P&gt;Paul&lt;/P&gt;</description>
    <pubDate>Sun, 13 Jan 2019 14:25:47 GMT</pubDate>
    <dc:creator>paulcalvet</dc:creator>
    <dc:date>2019-01-13T14:25:47Z</dc:date>
    <item>
      <title>App IDs and Object IDs change when deploying</title>
      <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66987#M4431</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;MashUp reference App IDs and Object IDs to embed QlikSense content into it.&lt;/P&gt;&lt;P&gt;For deployment from Test server to Production server, we'll need to do export (from Test server)&amp;nbsp; and import (to Production server) of both the mash up &amp;amp;&amp;nbsp; the application(s) that the mash up uses. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;From what I understand during the export/import of application, the Apps ID and all Objects IDs of the app will be changed. Hence, once deploy to Production server, you will have to manually updated your mash up to reference the new IDs. I am looking for a process to make the deployment process much more automate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can we use name instead of ID ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For application: I think it will works as long as you make sure that your app name is unique.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For object within the app: How do you find out the name of the object ? is it the same as the title?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any other better way for deployment?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Feb 2018 17:30:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66987#M4431</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-02-21T17:30:43Z</dc:date>
    </item>
    <item>
      <title>Re: App IDs and Object IDs change when deploying</title>
      <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66988#M4432</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ID's are allocated when things are created, so on an export / import the App ID will certainly be different Test vs. Prod.&amp;nbsp; But on publishing an app from the the Work Stream to another stream the App ID of the target app will remain as is.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Individual Object ID's within an App should remain unchanged.&amp;nbsp; But if an object is copied from one app to another app then the a new target object will be created and this &lt;SPAN style="font-size: 13.3333px;"&gt;will &lt;/SPAN&gt;have a new Object ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I have done with mashups is have some if statements to open the correct App ID as per the hostname, like this but I have changed the names in the below to protect the innocent :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&lt;STRONG&gt;/* On localhost QlikSense Desktop */&lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;if&amp;nbsp; ( hostName == 'localhost' ) {&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;console.log ( 'Detected Host: ' , hostName ) ;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;var app = qlik.openApp('MyApp.qvf', config);&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;} ;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;/* On QlikSense Dev Server&amp;nbsp; DevServer.net */&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;if&amp;nbsp; ( hostName == '&lt;SPAN style="font-size: 13.3333px;"&gt;DevServer&lt;/SPAN&gt;.net' ) {&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;console.log ( 'Detected Host: ' , hostName ) ;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;var app = qlik.openApp('DevAppID', config);&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;} ;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;/* On QlikSense &lt;SPAN style="font-size: 13.3333px;"&gt;TestServer.net'&lt;/SPAN&gt; */&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;if&amp;nbsp; ( hostName == 'TestServer.net' ) {&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;console.log ( 'Detected Host: ' , hostName ) ;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;var app = qlik.openApp('Test&lt;SPAN style="font-size: 13.3333px;"&gt;AppID&lt;/SPAN&gt;', config);&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;} ;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px; padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;/* On QlikSense &lt;SPAN style="font-size: 13.3333px;"&gt;ProdServer.net'&lt;/SPAN&gt; */&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px; padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;if&amp;nbsp; ( hostName == '&lt;SPAN style="font-size: 13.3333px;"&gt;ProdServer&lt;/SPAN&gt;.net' ) {&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px; padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;console.log ( 'Detected Host: ' , hostName ) ;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px; padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;STRONG&gt;&lt;EM&gt;var app = qlik.openApp('&lt;SPAN style="font-size: 13.3333px;"&gt;Prod&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;AppID&lt;/SPAN&gt;', config);&lt;/EM&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px; padding-left: 30px;"&gt;&lt;SPAN style="color: #993300;"&gt;&lt;EM&gt;&lt;STRONG&gt;} ;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'd be interested if anyone else has a better and less hard coded method.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Feb 2018 17:49:38 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66988#M4432</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-02-21T17:49:38Z</dc:date>
    </item>
    <item>
      <title>Re: App IDs and Object IDs change when deploying</title>
      <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66989#M4433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;yes it will change.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but&amp;nbsp; when you done any changes in app and moving to server you have replace with old app then it will not change the app id and object ids as wwell.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Feb 2018 17:53:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66989#M4433</guid>
      <dc:creator>Chanty4u</dc:creator>
      <dc:date>2018-02-21T17:53:55Z</dc:date>
    </item>
    <item>
      <title>Re: App IDs and Object IDs change when deploying</title>
      <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66990#M4434</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Facing the same situation now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Were you able to find a good solution for this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If yes, please let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2018 07:34:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66990#M4434</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-10-18T07:34:02Z</dc:date>
    </item>
    <item>
      <title>Re: App IDs and Object IDs change when deploying</title>
      <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66991#M4435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The Problems are the same everywhere. &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/wink.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are using Mash ups where the App ID is need as well. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So far our workaround looks like this: &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- App id is replaced by a unique naming of the Apps. This is working fine, but we still have an manageable amount of apps. Also once you have published apps and use those IDs, you can keep publishing updated versions from the same or another server instance into the app and then the App ID will remain. &lt;BR /&gt;- The App Id's don't change and that's how working with the mash ups is possible. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2018 13:22:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66991#M4435</guid>
      <dc:creator>daniela_reinhar</dc:creator>
      <dc:date>2018-10-18T13:22:51Z</dc:date>
    </item>
    <item>
      <title>Re: App IDs and Object IDs change when deploying</title>
      <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66992#M4436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot for the prompt reply Daniela! &lt;IMG src="https://community.qlik.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;Will follow this.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Oct 2018 08:31:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/66992#M4436</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-10-22T08:31:48Z</dc:date>
    </item>
    <item>
      <title>Re: App IDs and Object IDs change when deploying</title>
      <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/1516007#M36744</link>
      <description>&lt;P&gt;I found a way that is using the STREAM-name and APP-name to retrieve the unique app-id. This means that the combination of stream-name and app-name must be unique in your environments. The development-, test-, and produktion-environment must have the same configuration of streams and app-names available for it to work. But this shouldn't be a problem.&lt;/P&gt;&lt;P&gt;The big advantage with this approach is that you ONLY have to know the stream-name and app-name you want to retrieve. NO MORE difficuilt id's to remember! This little function really makes my life easier, managing deployments between different Qlik-Sense environments.&lt;/P&gt;&lt;P&gt;Below you will find the function "getAppIdByStreamAndAppName" which takes the Stream-name and Application-name (without file-type) as in-parameters and finds the app-id for the current connection (config). The app-id is returned in a promise and can then be used further...&lt;/P&gt;&lt;PRE&gt;/////////////////////////////
//FUNCTION
/////////////////////////////
function getAppIdByStreamAndAppName(inStreamName, inAppName){ //Function returns the app-id as a promise
return new Promise(function(resolve, reject) {
	qlik.getGlobal(config).getAppList(function(list){
		for (var i = 0; i &amp;lt; list.length; i++) {
			if(list[i].qMeta.stream){
				console.log(list[i].qDocName);
				console.log(list[i].qMeta.stream.name);
				if(list[i].qDocName==inAppName &amp;amp;&amp;amp; list[i].qMeta.stream.name==inStreamName){
					//FOUND THE APP IN THE STREAM...
					const activeConfigeAppId = list[i].qDocId;
					resolve(activeConfigeAppId); //RETURNS THE APP-ID
					break;
				}
			}
		}
	});
})
}

/////////////////////////
//USAGE:
/////////////////////////
getAppIdByStreamAndAppName("STREAM-NAME...", "APP-NAME...").then(function(outAppId){ //E.g. getAppIdByStreamAndAppName("Economy-Stream", "Costs")

	//PUT YOUR CODE THAT NEEDS THE APP-ID HERE...

});&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Dec 2018 08:55:06 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/1516007#M36744</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-12-04T08:55:06Z</dc:date>
    </item>
    <item>
      <title>Re: App IDs and Object IDs change when deploying</title>
      <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/1529749#M38130</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;if you want to preserve the object id between your servers, you can add the objects (that you use in the mashup) to the master item.&lt;/P&gt;&lt;P&gt;Object id will never change in this case.&lt;/P&gt;&lt;P&gt;Paul&lt;/P&gt;</description>
      <pubDate>Sun, 13 Jan 2019 14:25:47 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/1529749#M38130</guid>
      <dc:creator>paulcalvet</dc:creator>
      <dc:date>2019-01-13T14:25:47Z</dc:date>
    </item>
    <item>
      <title>Re: App IDs and Object IDs change when deploying</title>
      <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/1563917#M41055</link>
      <description>&lt;P&gt;Does it work for qlik sense server upgrade as well?&lt;/P&gt;</description>
      <pubDate>Tue, 02 Apr 2019 12:45:25 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/1563917#M41055</guid>
      <dc:creator>pedromsouza</dc:creator>
      <dc:date>2019-04-02T12:45:25Z</dc:date>
    </item>
    <item>
      <title>Re: App IDs and Object IDs change when deploying</title>
      <link>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/1565278#M41168</link>
      <description>&lt;P&gt;Yes, the upgrade does not break the link&lt;/P&gt;&lt;P&gt;Paul&lt;/P&gt;</description>
      <pubDate>Thu, 04 Apr 2019 15:12:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/App-Development/App-IDs-and-Object-IDs-change-when-deploying/m-p/1565278#M41168</guid>
      <dc:creator>paulcalvet</dc:creator>
      <dc:date>2019-04-04T15:12:18Z</dc:date>
    </item>
  </channel>
</rss>

