One suggestion I have...is this add-on just an App? If so, I would recommend versioning the App rather than the Add-On for the time being. Not that this isn't a nasty experience, and I will take this internally to see if we can improve the experience; however, if you version the app independently this will help you maintain agility without having to manage the Add-On version, which should allow you to update the app version without updating the App for each user.
Based on your app.xml?version=18.104.22.168 url, I assume you understand what I'm talking about, but if not, let me know and we can talk. If I get a better answer from engineering, I'll post it back here.
If there were a way to programmatically or manually flush the application cache for all users, that would be ideal. Part of the problem that makes me a little hesitant (maybe bummed is a better word) to change how I'm versioning things is related to my build and deployment process. When I do a build, the maven profile I'm using (which sets connection strings, etc. for UAT vs. Production) as well as the version number are all incorporated into the .war file name. When I deploy to Tomcat, it's default behavior is to use the .war file name as the context path for the web app. This makes it really easy to host dev, UAT and production instances on the same server and to know what version is actually running.
I'll see if I can't temporarily fix the problem by removing the version number in my Apache httpd.conf ProxyPass mappings.
ProxyPass /my-app-uat http://localhost:8080/my-app-uat-22.214.171.124
ProxyPassReverse /my-app-uat http://localhost:8080/my-app-uat-126.96.36.199
ProxyPass /my-app-prod http://localhost:8080/my-app-prod-188.8.131.52
ProxyPassReverse /my-app-prod http://localhost:8080/my-app-prod-184.108.40.206
Okay, that seemed to work. Here's the process.
1) Build version 1.0.0
2) Deploy to Tomcat
3) Update ProxyPass mappings in httpd.conf
4) Install add-on in Jive
5) Log in as several different users and use app
6) Make changes to code
7) Build version 1.0.1
8) Undeploy old version from Tomcat
9) Deploy new version to Tomcat
10) Update ProxyPass mappings in httpd.conf
11) Install new version of add-on in Jive
12) Log in as several different users and use app (changes should be seen)
1 person found this helpful
Great feedback Casey Gum, I've filed a feature request for Jive to flush related app caches for an add-on when it is uninstalled. Hoping this will help with the scenario and take the need to programmatically clear it out of your hands. The request # is JIVE-44078.
Has JIVE-44078 been implemented? Currently I'm struggling with testing changes to an addon. The only reliable way I've found to bust the cache is to change the URL of my service endpoint, update meta.json, rebuild and upload package. I'm hoping there's a better way...