21.3 Portlet Caching

Portlet caching options are useful for speeding up page response times. This section describes portlet caching options and how to apply them. It includes the following sub-sections:

21.3.1 Changing How a Portlet Is Cached

To change how a portlet is cached:

  1. Go to the page where the portlet instance is located.

    For information on locating a page, see Section 8.1, "Locating Pages in Oracle Portal".

  2. Switch to Edit mode.

  3. Click the Actions icon (Figure 21-1) next to the portlet instance.

    Figure 21-1 The Actions Icon

    Actions icon
  4. On Actions page, click the Edit Portlet Instance link.

  5. In the Portlet Caching section, specify how this portlet instance is cached.

    For more detail, see Section 21.3.2, "Portlet Caching Options".

  6. In the Portlet Caching Level section, specify a caching level for this portlet instance.

    For more detail and a description of each caching level, see Section 21.3.3, "Portlet Caching Level Options".

  7. Click OK to save your changes and return to the page.

21.3.2 Portlet Caching Options

Table 21-2 lists and describes Portlet Caching options on the Edit Portlet Instance page:

  • Rely on Portlet to Implement Caching

  • Force Portlet to be Cached for [ ] Minutes

Table 21-2 Portlet Caching Options

Option Description

Rely on Portlet to Implement Caching

By default, a portlet instance is only cached if the portlet author implemented caching for the portlet. The portlet's caching implementation is suitable for most portlet instances. If you find that the portlet performance on your page is not acceptable, you can change how the portlet is cached by selecting the option described next, Force Portlet to be Cached for [ ] Minutes.

Force Portlet to be Cached for [ ] Minutes

Enter the duration (in minutes) for which content from this portlet instance is cached in the Oracle Portal file system cache.

After the portlet content is generated, it is stored in the Portal Cache for the specified duration. This is called expiry-based caching. If the portlet content is requested while assembling page content during this period, there is a cache hit and the portlet does not need to be contacted. This caching is in addition to any caching that is implemented by the portlet.

Select this option to improve page performance in cases where a portlet does not implement caching, or the caching implementation does not provide enough performance benefit. For example, the portlet may use validation-based caching but the validation check is too expensive, or the portlet uses expiry-based caching but the expiry period is too short.

Setting this option can improve page performance because the portlet is not contacted on each request. However, if the portlet's content changes within the specified time, the portlet may display stale content. This may be acceptable in some portlet applications, where a fast(er) page response is deemed more important than frequently refreshed content.

When setting this option, note that:

  • If the portlet also specifies an expiry period for its content, the longer expiry period is used.

  • For the period specified, setting this option overrides any validation-based caching that the portlet may specify.

  • For a Page portlet, the assembled Page portlet content is stored in the Portal Cache in addition to any page caching specified on the Page portlet.


21.3.3 Portlet Caching Level Options

Table 21-3 lists and describes Portlet Caching Level options on the Edit Portlet Instance page:

  • Page's Caching Level

  • User Level Caching

  • System Level Caching

The Portlet Caching Level option enables you to modify the caching level in either the caching policy defined by the portlet author, or the forced caching policy (see Force Portlet to be Cached for [ ] Minutes in Table 21-2, "Portlet Caching Options").

This option does not force the portlet to be cached. This option controls whether user or system level information is sent in the portlet request.

The Portlet Caching Level option is not available when:

  • The portlet itself specifies system-level caching. If this is the case, the portlet is always cached at the system-level.

  • The page is cached with the option Cache Page Definition and Content at System Level for [ ] Minutes. When the page is cached at this level, portlet instances on the page can display only public data.

Note:

To ensure that WSRP portlets operate correctly, we recommend that you place WSRP portlets that are cached at the user-level, on user-level cached pages, and place WSRP portlets that are cached at the system-level, on system-level cached pages.

Table 21-3 Portlet Caching Level Options

Option Description

Page's Caching Level

If the portlet is cached, it is cached at the page's caching level—either user level or system level.

User Level Caching

If the portlet is cached, it is cached at the user level. The portlet content is cached for each user. When a portlet is cached at the user level, users may personalize the portlet (if portlet personalizations are allowed).

If the portlet's caching policy specifies that the portlet is not cached and the portlet is not forced to be cached using the setting Force Portlet to be Cached for [ ] Minutes, the portlet will not be cached. However, user level information will be sent with the portlet request.

For Page portlets, this option does not affect the page caching specified in the page definition of the source page. However, it does affect the caching of the assembled Page portlet content when using the option Force Portlet to be Cached for [ ] Minutes.

System Level Caching

If the portlet is cached, it is cached at the system level. The portlet content is cached once for all users.

When a portlet is cached at the system level the portlet content is the same for all users. The portlet runs as the public user, and only public data is shown. Portlets that do not contain public data, for example, the Recent Objects portlet or the External Applications portlet, are not displayed.

Select this option to improve page performance in cases where a portlet does not need to display user-specific data, the portlet's caching policy is not already set at the system level, and the portlet is cached either by the portlet's own caching policy or by using the option Force Portlet to be Cached for [ ] Minutes.

For Page portlets, this option in combination with the Portlet Caching option affect how the Page portlet is displayed:

  • If System Level Caching and Rely on Portlet to Implement Caching are selected, the Page portlet displays the same as for the page caching option Cache Page Definition at System Level.

  • If System Level Caching and Force Portlet to be Cached for [ ] Minutes are selected, the Page portlet displays the same as for the page caching option Cache Page Definition and Content at System Level for [ ] Minutes (system level expiry-based caching).

    With this combination, the assembled Page portlet content is stored in the Portal Cache at the system level.