Possibilities to avoid deleting the browser cache after installing a new patch

WebOffice 10.9 R3 provides possibilities to avoid deleting the browser cache after installing an accumulative patch or service pack. Therefor, Apache Tomcat expiry filters are used in order to determine how long certain files are stored within the browser cache. Each filter is also assigned to a special filter mapping, which determines, which directories and files located therein are affected by the expiry filter. The appropriate parameters are configured in ..\Tomcat\webapps\<WebOffice Application>\WEB-INF\web.xml :



The file web.xml contains a standard configuration, which is delivered with WebOffice 10.9 R3. Please note that it is not allowed to change anything within this file!!


The filter called <filter-name>CacheExpiryFilter_oneYear</filter-name> affects all directories and the respective files located therein, which should be kept in the browser cache for a maximum of one year:
..\Tomcat\webapps\<WebOffice Application>\arcgis_js_api
..\Tomcat\webapps\<WebOffice Application>\client
..\Tomcat\webapps\<WebOffice Application>\dojo
..\Tomcat\webapps\<WebOffice Application>\client_flex
..\Tomcat\webapps\<WebOffice Application>\client\mobile\js\dojo-release-1.7.2
..\Tomcat\webapps\<WebOffice Application>\client_preview


The filter called <filter-name>CacheExpiryFilter_oneDay</filter-name> affects all directories and the respective files located therein, which are not listed above. These files are stored in the browser cache for a maximum of one day.


There are also other directories and respective files located therein, which should never be stored in the browser cache. This is determined by the filter called <filter-name>CacheExpiryFilter_immediate</filter-name>.



Advantages of this standard configuration:

One day after installing an accumulative patch or a service pack, all end users will see the current status without deleting the browser cache. It is recommended to install a new patch on Friday evening or on Saturday, so that all end users will benefit from the update on Monday morning.


Disadvantages of this standard configuration:

If a proxy server maintains outdated files in the cache, it may happen that changes are not visible immediately after installing a new accumulative patch. Since the configured expiry filter also affects the cache of the appropriate proxy server, the changes will be visible within the client after a respective time offset according to the configured expiry filter.

Some WebOffice files are never cached and thus always retrieved - this may have a negative effect on the performance.

Some WebOffice files are retrieved every day. As a result, the first project call per day could take a little bit longer.


Customizing of caching

It is also possible to optimize this standard configuration regarding to your own needs. However, it is not allowed to make any changes to the web.xml file, which contains the standard configuration described above.  The settings of this file can be overwritten by using corresponding entries within ..\Tomcat\webapps\<WebOffice Application>\WEB-INF\web_user.xml . Therefor, the following steps must be observed:


Open web_user.xml in a text editor (e.g. Notepad++)

This file requires at least one filter and one corresponding filter mapping (see the screenshot below). Copy the corresponding lines from web.xml to web_user.xml



When copying the corresponding entries to web_user.xml, please make sure that no entries are overwritten in web.xml !


Configuration within web_user.xml

Configuration within web_user.xml


Optimize the appropriate attributes according to your own requirements



It is not allowed to overwrite the standard filters CacheExpiryFilter_oneYear, CacheExpiryFilter_oneDay and CacheExpiryFilter_immediate with the same filter names as used in the web.xml .        

Please have a look at Expiry Filters (Apache Tomcat Documentation) for more details about the individual attributes and their possible variations.        

According to the Servlet Specification SRV.11.2, the following patterns are allowed for the <url-pattern> attribute:        

oA string beginning with a / character and ending with a / * suffix is used for path mapping.        

oA string beginning with a *. Prefix is used as an extension mapping.        

oAll other strings are used for exact matches only.        

If a resource is affected by multiple expiry filters, the effect of the last filter is applied. This means that the last configured filter is used for the appropriate resources.


Finally, save your customizations in the text editor