When a customer imports data into Cloud from a Server instance, or when a Cloud instance is migrated to a new url any installed Connect add-ons break.
This is because the clientKey is generated from the OAuth consumer key, which is seeded from the instance baseUrl. If the baseUrl changes, already installed add-ons may stop working.
Ask the vendor to update their registry and update the baseUrl/clientKey to the new values.
Reinstall the add-on. Note that this may cause data loss depending on the add-on, if the remote service stores data which is keyed off the old clientKey/baseUrl combo. Speak to the add-on vendor before doing this.
Implement a contract for Atlassian Connect to allow vendors to be notified when an instance has been migrated so that any data can be appropriately migrated.
I’d like just to point out we’ve got multiple Apps and we have had some issues regarding:
Migrations/system backup restored
Site base URLs being reused or renamed
We’ve dealt with most cases but since we have no straightforward way to know site B was actually site A and why that change happened, customer loses all data, which sucks.
So, if this issue are still being considered, please look into it.
We are trying to find a way to overcome this issue with having multiple client keys for the same instance and I just wanted to make sure that the following assumptions are correct or not.
So let's assume that we have an entry with:
clientKey: 1 and baseUrl www.foo.com
and then we receive a payload with the following
clientKey: 2 and baseUrl www.foo.com
I guess that we can be sure that the entry with clientKey: 1 and baseUrl www.foo.com is 'expired' and is not used any more ?
Now, there is also the option for an instance to change the baseUrl. According to https://confluence.atlassian.com/cloudkb/changing-the-cloud-instance-url-address-or-migrating-to-a-new-cloud-instance-691011835.html in order for an instance to get a new baseUrl will have to
"migrate to a new site with your desired URL".
My question is, in this case will we receive an install payload with a new clientKey (and a new baseUrl of course) ?
And a last question, is it possible a baseURL being reused ? For example if an instance A with a baseUrl www.foo.com updates to www.bar.com, is it possible for a different- new instance B - to use the www.foo.com ?
Sorry for the radio silence, we are actively working on a solution to this problem. Expect more details in the next few weeks
check this out
OK, so when I said a “few weeks”, I really meant 19 weeks. I committed the cardinal product manager sin of promising that something was “almost done”!
I’m sorry it took us so long to get this resolved. We now have a recommendation for how apps should behave to prevent this problem. I’ve posted a detailed guide in the announcements section on the developer community: https://community.developer.atlassian.com/t/ensuring-your-atlassian-connect-app-handles-customer-site-imports/41874
Please let me know on the community thread if you have any feedback, questions or concerns!