How Do I Work With Dynamically Changing Images?
Is there any way to set up OpenZoom so the images do not cache? I am working on setting something up where the OpenZoom image will continually be changing, so I am wondering if there is something already in place for this.
2
people have this question
I have this question, too!
Tell me when someone answers.
The more people who ask this question, the more it gets noticed.
The more people who ask this question, the more it gets noticed.
The company marked this question as answered.
The best answers from the company
-
Max,
Since I haven't implemented an API for ImagePyramidRenderer invalidation yet I suggest you go ahead, fork the code and make certain inaccessible properties public in order to get access to the ImagePyramidRenderManager and hence Cache:
1.) container in MultiScaleImageBase
2.) renderManager in MultiScaleContainer
3.) tileCache in ImagePyramidRenderManager
Then implement a method clear in Cache which disposes all cached items and call invalidateDisplayList on ImagePyramidRenderManager. Take this as a rough outline since I haven't got a running test environment to play around with this.
Please make sure you publish your improvements to the OpenZoom SDK according to the terms of the MPL or whichever license you chose.
Let me know how this works out for you.
Cheers,
Daniel
The company says
this answers the question
-
Sean,
Good question. At this point, OpenZoom does not have a mechanism that caches images, it's primarly done by the browser. Caching is a good thing because your users will get a great experience with little waiting time.
If you absolutely have to make sure the images are not cached, you can override the getTileURL method in the corresponding MultiScaleImageDescriptor and append a random String as described in this technote:
http://kb.adobe.com/selfservice/viewC...
Good luck!
Cheers,
Daniel
The company says
this answers the question
-
Inappropriate?Sean,
Good question. At this point, OpenZoom does not have a mechanism that caches images, it's primarly done by the browser. Caching is a good thing because your users will get a great experience with little waiting time.
If you absolutely have to make sure the images are not cached, you can override the getTileURL method in the corresponding MultiScaleImageDescriptor and append a random String as described in this technote:
http://kb.adobe.com/selfservice/viewC...
Good luck!
Cheers,
Daniel
The company says
this answers the question
-
Inappropriate?Another solution could be to instruct browsers not to cache the tiles. If you're using an Apache webserver, you could put a .htaccess file in the folder containing the tiles.
http://www.askapache.com/htaccess/apa... -
Inappropriate?Has anywone solved the problem for good? We need to reset the cache and reload all tiles at will as we sometimes update tiles on the fly!
-
Hi Max, has there been any update on this? did you manage to solve the problem?
Thanks, Philip -
Philip,
Have you tried the solution I've outlined right below?
–Daniel -
Inappropriate?Max,
Since I haven't implemented an API for ImagePyramidRenderer invalidation yet I suggest you go ahead, fork the code and make certain inaccessible properties public in order to get access to the ImagePyramidRenderManager and hence Cache:
1.) container in MultiScaleImageBase
2.) renderManager in MultiScaleContainer
3.) tileCache in ImagePyramidRenderManager
Then implement a method clear in Cache which disposes all cached items and call invalidateDisplayList on ImagePyramidRenderManager. Take this as a rough outline since I haven't got a running test environment to play around with this.
Please make sure you publish your improvements to the OpenZoom SDK according to the terms of the MPL or whichever license you chose.
Let me know how this works out for you.
Cheers,
Daniel
The company says
this answers the question
-
Hi, If you manage to do this, please note that I don't want the users zoom level to change when the images are refreshed. I mean, it wouldn't be nice if the user is automatically re-zoomed to the top level.
I only wish for the images to change. hopefully very quickly in a way the user doesn't notice it.
Thanks!! Philip -
Inappropriate?Hi,
I want to use the open zoom with my server, but my server images will change over time. For example, I have a map, but the map will update every 30 seconds. Could the open zoom refresh the image it pulls down every 30 seconds?
Don't worry about lag, server and client on same machine. What I want is that the image can dynamically update its image contents based upon new images.
Thanks, Philip
This reply was created from a merged topic originally titled
How Do I Work With Dynamically Changing Images?. -
Inappropriate?I've had a go at this and have run into some problems. I implemented a solution similair to what Daniel suggested ie create a function clear() in Cache which clears the cache then call the invalidateDisplayList function in ImagePyramidRendererManager. This works fine the first few times I clear the cache but then it gets stuck in an infinite loop whereby updateDisplayList() is repeatedly called in ImagePyramidRendererManager as it keeps thinking that theres a nextTile and calls invalidateDisplayList(). This is probably due to the cache not working correctly after I've cleared it. Will let you know if I figure out whats wrong
J
Loading Profile...




EMPLOYEE