Warren Hinchliffe Posted November 25, 2021 Posted November 25, 2021 Hi Everyone, Im hoping someone knows where the internal setting IBI_CACHE_FLUSH_KEY value is. We are going to need roll out a change to one of the core js files and changing this will guarantee the browsers will pick up the new version without a manual cache clear.
Toby Mills Posted November 29, 2021 Posted November 29, 2021 Hi Waz Im looking for this. So far, most of the references seem to assume it already exists so I havent found its root location. I do see ibi using it a lot in ibigbl.js scriptsHtmlCanvas.push(cgiPath + jquery/js/ + IBI_CACHE_FLUSH_KEY + jquery-ui.custom.min.js); Not sue that helps you. Just thinking if you could see how ibi uses it, it might help you with your js files. Ill keep looking for a bit.
Warren Hinchliffe Posted November 29, 2021 Author Posted November 29, 2021 I think I tracked it down. The flush key is generated from two entries in the manifest of the WebFOCUS jar files. Build-Number and Build-Timestamp Part of the start up is to get these values and generate the key, which is embedded into ibigbl.js. Frustrating. We have just been given the fix for an ib_composer.js error and asked to clear our cache we have thousands of clients across many companies subscribed to what we offer, we cant just ask them to clear their cache. Sorry, started to rant. Seems to be a function of how old I am.
Toby Mills Posted November 30, 2021 Posted November 30, 2021 Hey Waz I also found this to be a variable thats internal and we never really see. FWIW, it does look to me like it might work to stick it in webfocus.cfg though. I suppose you could test this easily by just looking in the event.log - it displays what it things the IBI_CACHE_FLUSH_KEY is at startup. But - I presume (maybe incorrectly) that tech support just means to clear the cache of your web application server (tomcat/websphere) They know you cant make the users all clear their cache (one would think). I guess all you can do is test it - load up the untouched ib_composer.js first in a browser, put the new js in and then stop/start your webapp server. if its tomcat, Id go so far as to wipe out the work folder. I bet theyre thinking youll just press the clear cache button in the admin console. That might work too, but a restart might be a stronger option. Isnt there something with browsers where they will check the size of the .js and re-download if its different Or do you just get a 302 right away as soon as the filenames match I dont recall right now.
Toby Mills Posted November 30, 2021 Posted November 30, 2021 Well turns out in 8207.28 I dont see the value displayed in the event.log. In 8105m I see Application init. parameter: IBI_Cache_Flush_Key, value=/S353_15036233441F
Warren Hinchliffe Posted November 30, 2021 Author Posted November 30, 2021 Yes, I think it was clear test in earlier releases. But now seems to be really embedded in the jar files. And I think, as it is stored in the manifest, that each WebFOCUS jar file will need changing. Ive opened a case and we will see where it leads
Warren Hinchliffe Posted December 7, 2021 Author Posted December 7, 2021 A quick update: This is what came back from Support. Here are the steps: Add this to Tomcat : -DSafeNewFileFilter.varMode=each-app-server-start (to Catalina.sh JAVA_OPTS on linux) example JAVA_OPTS="-Xms1024m -Xmx2048m -Djava.awt.headless=true -DSafeNewFileFilter.varMode=each-app-server-start" (backup) Change WebFOCUSwebappswebfocusWEB-INFweb.xml near line 120: SafeNewFileFilter.varMode each-app-server-start Restart TC This works, but the drawback is that each restart a new flush key is created.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now