This Question is Answered

15 "helpful" answers available (5 pts)
4 Replies Last post: Nov 8, 2008 10:33 PM by Christopher Barber  
fukuta BlackBelt 146 posts since
Oct 17, 2007
Currently Being Moderated

Nov 8, 2008 7:37 AM

Do we need to ensure a 'start.curl' is not cached in a client http cache?

Hello,

 

Is it true that we should ensure a 'start.curl' file is not to be cached on the client when we might update the resync-as-of time in the applet declaration? If so, are there general ways to ensure that? Should I do some web server settings? (Or does RTE always resync applet files so that we don't have to consider the cache of an applet file?)

I'm afraid that the resynchronization of an applet doesn't work depending on the client http cache settings.

Duke BlackBelt 294 posts since
Oct 17, 2007
Currently Being Moderated
1. Nov 8, 2008 11:54 AM in response to: fukuta
Re: Do we need to ensure a 'start.curl' is not cached in a client http cache?

If you look in the documentation (6.0 or later IDEs have this section, it might not be in 5.0 and earlier documentation even though I think it applies there too) at the index entry for "synchronization", you find the following particularly relevant part:

 

====

We also recommend configuring the HTTP server to give short expiration times to Curl applets, but not to other files loaded directly or indirectly by the applet. The Curl RTE can make sure that the files it loads are synchronized according to the applet's resync-as-of declaration, but has no control over the synchronization of the applet file itself since that is controlled by the web browser. The end-user can force synchronization in the browser by holding down either Control (for IE) or Shift (for Netscape/Mozilla) when pressing the reload button (usually mapped to the F5 key), but that requires the end user to know when to do that. The expiration period depends on the nature of your application, but unless the applet is very large and you do not need users to notice changes quickly, it usually makes sense to expire it immediately. Setting expirations for other files used by the applet is not recommended because it will result in extra unnecessary HTTP synchronization.

====

 

So you do need to make some web server settings to make the caching and synchronization work best.

Duke BlackBelt 294 posts since
Oct 17, 2007
Currently Being Moderated
3. Nov 8, 2008 12:50 PM in response to: fukuta
Re: Do we need to ensure a 'start.curl' is not cached in a client http cache?

That section of the documentation had major revisions and expansions for the 6.0 release I think.  So it is good for people to reread that section if they are interested in the topic.  I think there are a few related feature changes and additions planned for 7.0, so there should be some new documentation to read in the final 7.0 release also.  The 6.0 documentation will still be generally true, I think there is just going to be some new variation on how to give resync-as-of time in an applet or manifest.

Christopher Barber BlackBelt 137 posts since
Sep 27, 2007
Currently Being Moderated
4. Nov 8, 2008 10:33 PM in response to: Duke
Re: Do we need to ensure a 'start.curl' is not cached in a client http cache?

In 7.0, a new 'resync-file' declaration will be supported in the applet declaration. This will set the resync time based on the modification time of a specified file, which could be the applet itself. It will also adjust the time based on the observed difference between the HTTP server and the client machine if they are different. Then you will only need to touch that file to force synchronization.

 

Of course, you will still need to make sure that your web server is configured to give your applet start file a short expiration or expect the user to use Shift or Control F5 to force the applet file to resynchronize.

More Like This

  • Retrieving data ...