Cached media not updating

I had pushed HTML based content (Webpage type content), live working fine. Then found an error in the data in HTML file so updated it in the server where page is hosted and clicked on “Connect to CMS” so that the app checks for changes and loads content again.

I understand there is no change in layout created so the status would not change but the HTML because is cached is not changing.

We noticed such behavior with image type content also in layout. In this scenario, in spite of updating the image file in the layout, new content was not seen on screen.

These are 2 different problem scenarios but somewhere leads to data caching as per my understanding. What is a solution to this?

CMS version: 1.7.9
Xibo for Android version: 61 and 63

Webpage - that should be updated when layout reloads (or if you close/re-open Xibo) as it will need to connect and check that webpage.

Images - if you add/delete or change images on the layout, that should trigger a change in display status - as schedule and requiredFiles will differ - that could be delayed by the layout duration/collection interval settings, if you’re often making changes to layouts that are currently shown on your displays, then it could be a good idea to enable ‘Expire modified layouts’ in display profile settings.

We’d also recommend R64 if possible.

Thanks for replying quickly.

Webpage - If I understood it correctly, whether or not there is a change in HTML type layout, Xibo app will load the webpage every time open is restarted or device is restarted, provided there is internet connection. We have noticed it is not working. What could be the solution?

Image - We have verified the collection interval. We will try this - “Expire modified layouts”.

This behavior is random. We are not able to reproduce it at our will.

More than 400 devices are shipped and live, we can’t upgrade every device to R64.

It will yes, but if your webserver is saying there’s no change, then the cache won’t be invalidated. Exactly the same as it would work with a web browser. You can control the cache headers your webserver sends to prevent the content being cached at all.

Also check in your Display Settings profile you have “Enable caching of web content” off. That setting requires Player side support. I’m not sure off the top of my head if it’s supported in R61 or not. It should be in R63.

Our team is checking for caching headers. Thanks for your inputs.

We have been using R61 in the stores and it works for caching. If we turn off “Enable caching of Web Resources” we will go back to the problem that we previously discussed with Dan; here is the summary: many of the stores do not have a stable internet connection and HTML menus requires devices to be online. So Dan gave us the solution to turn ON “Enable caching of Web Resources” and it’s working well for us. Thus, turning off caching of web resources won’t work for us. If we find a problem with caching headers in our webpages and fix it, I am not sure it will work or not as we won’t be turning off cache settings from CMS, will have to test it out.

Will share the results as soon as we have tested it out.

Workaround (not the best solution): to quickly solve this problem in a store that is live is to temporarily change the webpage URL in layout and change it back to the required one :wink:

I don’t think you’re going to be able to have it both ways.

You either want it cached, so it works offline, or not cached so it updates.

A simple solution might therefore be to add a query parameter to your URL which you change only when you update the source website. eg http://my.server.com/page.html becomes http://my.server.com/page.html?1 and then http://my.server.com/page.html?2 etc, incrementing every time you want to be sure the players all invalidate what you have.

Got it. Thanks Alex!