Siebel Tools Reference > Siebel Architecture (Basic Concepts) > Operating Architecture Overview >

View Layout Caching


View layout caching (also referred to as layout caching or view caching) speeds up the rendering of views by caching the following on a browser:

View layout caching creates multiple HTML frames on a browser to store the layout for a view. The number of these frames will equal the view cache size. When displaying a view, the HTML frame containing the layout for that view will be sized to occupy all (100%) of the available screen space while the other frames will be hidden (sized to occupy 0%).

If you navigate to a view whose layout is already available in the view cache, the HTML frame containing that view will be made visible and the currently visible frame will be hidden. If a view's layout is not available, one of the available HTML frames will be used to load the layout of the view from the server. In each case, the JavaScript objects for the view (for example, the view, applets or business components) and the data will always be retrieved from the server.

The view cache is implemented as an LRU cache. The cache contains the layouts of views that you have visited (and that are available for view caching). When the view cache is full, the first view you visited is removed from the cache.

The size of the view cache is controlled by a user preference, described in the following procedure.

To set the size of the view cache

  1. From the application-level menu, choose View > Site Map > User Preferences > Behavior.
  2. In the View Cache Size field, select a value from the drop-down list.
  3. The default value for this field is 10. Setting this field to 1 will turn off view caching. Setting this field to greater than 10 can cause some degradation in performance. Setting this field to 20 will produce times which are approximately the same as when there is no view caching.

Determining if Views Are Available for Layout Caching

All views are not available for layout caching. Views that contain applets which have dynamic layouts or controls that are data dependent can not be cached. Since layout caching is a feature of the C++ class that implements an applet, the ability to be cached is listed in the repository as an attribute of the class object. You can perform a query on the High Interactivity field of a class object to determine the value of the class object and whether or not it is available for layout caching. Table 5 lists these values and their definitions.

Table 5. High Interactivity Field Values
Value
Using High Interactivity
Using Standard Interactivity
Available for Caching?
1
No
Yes
No
2
Yes
No
Yes
3
Yes
No
No
4
Yes
Yes
Yes (only in high interactivity)
5
Yes
Yes
No

In order for a view to be available for caching, all of the applets in the view must have class objects with values of 2 or 4 (available for caching).

NOTE:  Only applets that support high interactivity are available for view layout caching.

Disabling View Layout Caching

In addition to checking the attribute of a class object to determine if it can be cached, the Siebel Web Engine framework will disable the layout caching of a view in the following cases:

You can also disable view layout caching for an application by changing the parameter "EnableViewCache" to FALSE under the Siebel Web Engine (SWE) section in the configuration (.cfg) file used by the application.

[SWE]

EnableViewCache=FALSE

The framework for view caching (the loading of the view cache HTML frames) is performed only when a user navigates from a startup view (for example, the Home Page view) to another view. So, in order to cache a startup view, you need to visit the startup view twice (the startup view must also be a high interactivity view in order to be available for caching).

The view caching framework is designed so that if the frames containing cached views are deleted (for example, by performing a browser refresh, which reloads the application and removes any previously cached views) the framework begins reloading the layout cache starting with the next available view.

If you are running an application and want to determine if a particular view is being cached, go to the view and change the predefined query (PDQ) for the view. If the view is not being cached, the entire view will be refreshed. If the view is being cached, only the data in the view will change.


 Siebel Tools Reference, Version 7.5, Rev. A 
 Published: 18 April 2003