Develop > Tailoring > Web tier > Setting web client preferences

Setting web client preferences

You can define global web client preferences from the web configuration file (web.xml). You can find the web.xml file in the sm/WEB-INF folder of your application server installation. This file contains global preferences that you can change by editing the file with any text or XML editor. Any changes that you make to this file must conform to XML syntax requirements. You must have administrative access to the server operating system in order to set global web client preferences.

The settings that you define in the web.xml file determine the default client preferences for all web clients. However, users can override some of these preferences directly from the URL. For more information about which preferences users can set from the URL, see the comments in the web configuration file.

Set Web client preferences from the server

You can define global Web client preferences from the Web configuration file (web.xml). This file contains global preferences that you can change by editing the file with any text or XML editor. Any changes you make to this file must conform to XML syntax requirements.

The settings you define in the web.xml file determine the default client preferences for all Web clients. Users can override some preferences however, directly from the URL. See the comments in the web configuration file for information about which preferences users can set from the URL.

You must have administrative access to the server operating system to use this procedure.

  1. Open the web.xml file in a text editor.
    This file is located in the sm/WEB-INF folder of your application server installation.
  2. Add or edit the preferences in the file.
  3. Save the file and restart the Web application server.
    All Web clients that log in to the Service Manager server use the new client preferences you defined.

Optimize web client cache control

Applies to User Roles:
System Administrator

You can define the web client cache control from the following control file on the Web tier server: <webtier>/WEB-INF/classes/application-context.xml. The web tier uses the incoming request URL to determine whether to apply one of the following cache filtering rules:

  • cacheFilter

  • neverCacheFilter

When the neverCacheFilter rule applies, the response page or resource will never be cached in the user's browser. When the cacheFilter rule applies, the user's browser caches the response page or resource for a period of time specified in the max-age value (in seconds).

The cacheControlProxy bean defines which web resources the cacheFilter and neverCacheFilter rules apply to. For example, the Web tier uses the cacheFilter rule for any web resources whose path matches /images/**, and sets the Expires' or 'Cache-Control' HTTP header in the response. The Web tier uses the neverCacheFilter rule on any web resources whose path matches /**/*.jsp, and sets the corresponding HTTP header in the response to disable browser caching for the matched resources.

Note We recommend that you do not change the default settings in the cacheControlProxy bean.

As of version 9.32, the directory structure of the Web tier has been modified to reflect the current build number of the Web tier. These changes were implemented because the SM Web tier is typically updated every few months. When these updates occur, it is sometimes necessary for users to clear their browser cache. For enterprise clients that have tens of thousands of users, getting all of those users to do this requirement is onerous. With this revised implementation, users will no longer need to clear their browser cache.

To change the max-age value:

Caution The default max-age value is 1555200 seconds (6 months). To better utilize browser cache, you are recommended to set the max-age property to a value no less than 1555200.

  1. Open the file <webtier>/WEB-INF/classes/application-context.xml in a text editor.
  2. In the cacheFilter bean section, set the max-age property to an appropriate value:
  3. <bean id="cacheFilter"
        class="com.hp.ov.cwc.web.CacheControlFilter">
        <property name="headers">
          <map>
            <entry key="Expires"><value>Sat, 6 May 2017 12:00:00 GMT</value></entry>
            <entry key="Cache-Control"><value>public, max-age=15552000</value></entry>
          </map>
        </property>
      </bean>

    The cacheFilter bean defines when the cached web resources will expire (based on the Expires key) or how long the user's browser will cache web resources (based on the max-age value, if any). The max-age value supersedes the Expires value. For example, if you set the max-age to 1555200 seconds (default), the user’s browser caches web resources for up to 180 days.

  4. Restart the web application server for your change to take effect.