Hi guys, i've created an application with arcgis experience builder dev edition (1.15)
Each time I made major modification, i publish another version. For example in August it was "Application 1.7.2" and for the major update of September it was changed to "Application 1.8".
Before, i just extract the ZIP of the application on the "wwwroot", and each time i have an update, each ZIP was on another folder and I just change the URL on the application in my content. So I change the name here :
and here
So for example https://gis-portal.com/Application_1_7_2 became https://gis-portal.com/Application_1_8 (do not click on the link, there are only example).
But to use google analytics, and to be more logical, I prefere to keep a link like this : https://gis-portal.com/Application in this case, the link never change.
In practice here is my method : I rename my "Application" folder in wwwroot by "ApplicationT", delete the ClientID, create a folder "Application" and unzip my experience builder inside. After that i assignate the ClientID of my application in my portal content and go to the application.
But i have one major problem : for certain of my user, the application is the oldest version. The new features do not appears.
So I try to unregister the app and create another one only for this version, modifie the ClientID in the config.js files on the "Application" folder.... but this created a second problem, when people connect to the application (SSO connexion) there is the following error :
and in the link : https://gisportal.com/portal/sharing/rest/oauth2/authorize?client_id=T7XQ9XNR6D6T8S4I&
The client ID on the URL is the oldest client ID of the oldest Application that I unregister before.
So i'm lost. What should I do to keep the same URL when I update my Experience Builder and that users have the new update and not the old one which remains for a reason that I do not know?
And why after changing the ClientID, when I'm launching the app the request are send with the old client ID ?
Thanks for your help
For this problem, you can try adding your new URL to the application of this client id.
what do you mean about no header change ?
And for your second point it's what I do generally. But because i have the cache problem i was thinking it was better to create each time a new application (but nope, bad idea).
So yes I have to use the same app in my content, delete the old link and add the new link. But i want to find a solution to use all the time the same link; change the content of the folder where the app is hosted, and allow my users to access to the new app without manipulate their cache. but idk how to do this.
You said specific users were encountering the issue? Is it essentially loading from the same url? This makes me wonder if its a caching issue.
Also, something to consider, since it sounds like you are hosting under Internet Information Server (IIS). If you are extracting the entire App as a separate website, you may need to make sure, you restart the application pool(s) only for this site (and possibly the website site to stop/start as well, in order to make sure caching is properly cleansed. (I didn't see if you mentioned doing that step)
Hi @TimWestern After some search with my IT team, it would be certain that is a cache problem. Each time the problem appears, we try to clear cache and the app works.
But it's a problem for me because i've 150 users and for certain of them, they have not the reflex to clear the cache.
Yeah, browser cache has always been the bane of software developers on the web. We use it to speed things up, but things sometimes get stuck there. Other than completely restarting the site, and the application pool and forcing it to cleanup memory of cache and rebuild it, I don't know a way around it.
Now some people will point out you could reset IIS, but that would bust cache I believe for EVERY app and site deployed on that instance, and that may not be ideal.
https://learn.microsoft.com/en-us/iis/extensions/configuring-application-request-routing-arr/delete-...
https://learn.microsoft.com/en-us/previous-versions/iis/6.0-sdk/ms525803(v=vs.90)
https://learn.microsoft.com/en-us/answers/questions/1292106/how-to-recycle-and-app-pool-using-micros...
Normally, wheN i've done this when deploying an app, I end up doing the cache busting as part of the deploy process, because to copy into the folder, technically you should stop the site and app pool and let it cleanup while you copy the folder in place and change its target folder to run from.
its been about a year since I've had to do this though.
Okay ! I'm not friendly with the notion mentionned on your links, but I think that if I share this information with my IT team they can help me to do the right manipulation.
Thanks !