Skip to main content link. Accesskey S
  • Log In
  • Help
  • IBM Logo
  • WebSphere Portal Family wiki
  • All Wikis
  • All Forums
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • IBM Redbooks
Community Articles Product Documentation Learning Center IBM Redbooks This category IBM Redbooks: Building a Sample Website Using IBM Web Content Manager 7.0 IBM Redbooks: Building and Implementing a Social Portal IBM Redbooks: Developing Exceptional Multi-Channel Web Experiences V7: IBM Web Content Manager Product Documentation V7: IBM WebSphere Portal Enable for z/OS Product Documentation V7: IBM WebSphere Portal Express Product Documentation V7: WebSphere Portal Product Documentation V8: IBM Web Content Manager Product Documentation V8: IBM WebSphere Portal Express Product Documentation V8: IBM WebSphere Portal Product Documentation (includes z/OS) Custom Search Scope...
Search
Community Articles > WebSphere Portal > Personalization > Improving IBM Web Content Manager Personalization rule performance using Include Only
  • New Article
  • Share Show Menu▼
  • Subscribe Show Menu▼

About the Original Author

IBM contributorChristopher Knight
Contribution Summary:
  • Articles authored: 24
  • Articles edited: 19
  • Comments Posted: 4

Recent articles by this author

Retrieving WCM Content using PZN Rules Based on Current User's Categories

How to retrieve WCM content based on the current user categories, using PZN rules.

Leveraging WCM rendering portlet configuration values within PZN Rules

Learn how to integrate Personalization (PZN) Rules with IBM Web Content Manager (WCM).

Improving IBM Web Content Manager Personalization rule performance using Include Only

Using realworld examples, this article demonstrates how to use the Include Only option in Personalization rules and explains the performance difference between using and not using the functionality.

Creating a custom rendering plugin to display the average rating for an IBM Web Content Manager item

To leverage the information about rating IBM Web Content Manager (WCM) items, this article uses a custom rendering plugin to display the average rating for a WCM content item. This can be used, for example, within a menu design so you can see what the rating is for a piece of content.

Leveraging JSON JavaScript to extend IBM Lotus Web Content Management component design

This article describes a fully functional example of how to use JavaScript Object Notation (JSON) JavaScript objects within IBM® Lotus® Web Content Management component designs.

Community articleImproving IBM Web Content Manager Personalization rule performance using Include Only

Added by IBM contributor Christopher Knight | Edited by IBM contributor DeAnna Steiner on July 2, 2012 | Version 14
  • Edit
  • More Actions Show Menu▼
Rate this article 1 starsRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars
expanded Abstract
collapsed Abstract
Using real-world examples, this article demonstrates how to use the Include Only option in Personalization rules and explains the performance difference between using and not using the functionality.
Tags: PZN, wcm, pzn-wcm, pzn-portal, personalization, 7.0, include only option
ShowTable of Contents
HideTable of Contents
  • 1 Introduction
  • 2 Sample rules
  • 3 Performance implications
    • 3.1 Specific performance improvements
  • 4 Conclusion
  • 5 Tell us what you think
  • 6 Resources
  • 7 About the author

Introduction


When rules are created to retrieve IBM® Web Content Manager (WCM) content from the repository, some of the rules can get rather complex and expensive. New in IBM WebSphere® Portal version 7 is the ability to use the Include Only option when creating a Personalization (PZN) rule to select content.

This functionality allows the system to further filter the results that are returned from one rule based on the selection criteria from a second rule. To see the best results, the first selection rule should be simple, and then the secondary rules that filter the results can be more complex.

As an example (which will be used below as the actual sample rules), let's say you want to pull all WCM content from a specific site area. Also, that content should use a specific authoring template, and be categorized within a specific category. In the old one-selection-rule approach, that process can generate an expensive query to retrieve the date from the underlying JavaTM Content Repository (JCR). However, if we split the selection criteria into two rules, we can change the query to retrieve the data from the underlying JCR repository into something much simpler. Then, the second rule is used to filter the resulting data in memory, which means a much faster end user experience.

Sample rules


In this example, we use a PZN rule to retrieve WCM content based on its location, authoring template, and a specific category. When using the Include Only option, since the second rule will filter the results of the first, you want the first rule to be simple, and the second rule to be more complicated.

1) The functionality written as one rule is shown in figure 1, with the results shown in figure 2.

Figure 1. Functionality as one rule


Figure 2. Results of the rule



2) Now create the second rule to filter the results. In this case, we want the rule to filter based on authoring template and categories. Figure 3 shows my sample rule, which selects content associated with a category CatA, and the authoring template web content/Article.

Figure 3. Rule with filter based in authoring template and categories


3) Create the first rule to select the content based on a site area, as shown in figure 4.

Figure 4. Rule to select content based on a site area


4) When we preview the rule, we see the results in figure 5.

Figure 5. Preview of rule

Performance implications


There are several reasons why this PZN functionality should be leveraged, one of which is:
  • When PZN caching is used, the broader results from the first rule will be cached. This means that if, for example, the rule retrieves only content based on its location and then filters out based on a specific user's categories, the first rule's results will be cached. So, if three different users all have three different categories, then they can all leverage the same cache for the rule.

Let's now look at some real-world numbers in terms of rule performance.

Specific performance improvements


In the example rule above, one rule was used to populate all the selection criteria (see figure 6).

Figure 6. One rule to populate all selection criteria


Figure 7 is the SplitSecond output showing the timing from previewing the rule in the PZN UI. Basically, it shows that the rule execution took approximately 15 seconds. Note that, when previewing, all caches are bypassed.

Figure 7. SplitSecond output for first rule


Now, in figure 8 we see the SplitSecond output showing the timing from the rule when running the split rule. Note that the SplitSecond configuration was actually modified to show a lower threshold, since the performance was improved enough that it dropped below the threshold for SplitSecond. We can see that the same method call takes instead 1.8 seconds, which is a relatively large improvement from the first rule to the second.

Figure 8. SplitSecond output for second rule


Conclusion


This article has demonstrated how you can use the Include Only option in Personalization rules and how you can take advantage of the improved performance when using the functionality vs. not using it.

Tell us what you think


Please visit this link to take a one-question survey about this article:

http://www.surveymonkey.com/s/9Q6ZKGN

Resources


WebSphere Portal wiki article, "Integrating personalization rules within Web Content Management content":
http://www-10.lotus.com/ldd/portalwiki.nsf/dx/integrating-personalization-rules-within-web-content-management-content

developerWorks IBM Web Content Manager product page:
http://www.ibm.com/developerworks/lotus/products/webcontentmanager/

developerWorks IBM WebSphere Portal zone:
http://www.ibm.com/developerworks/websphere/zones/portal/

About the author


Christopher Knight is a Software Engineer based at IBM's Durham, NC, facility, where he focuses on J2EE/Portal/WebSphere-based technology. You can reach him at cmknight@us.ibm.com.

  • Edit
  • More Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (14)
collapsed Versions (14)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (14)Jul 2, 2012 5:16:00 PMDeAnna Steiner  IBM contributorUpdated categories and tags
13Jun 28, 2012 1:47:30 PMLeslie Gallo  IBM contributor
12Jun 28, 2012 1:06:13 PMLeslie Gallo  IBM contributor
11Jun 28, 2012 11:46:23 AMLeslie Gallo  IBM contributor
10Jun 20, 2012 2:27:25 PMChristopher Knight  IBM contributor
8Jun 7, 2012 4:44:24 PMChristopher Knight  IBM contributor
7Jun 7, 2012 4:03:23 PMChristopher Knight  IBM contributor
6Jun 7, 2012 3:58:19 PMChristopher Knight  IBM contributor
5Jun 7, 2012 3:38:00 PMChristopher Knight  IBM contributor
4Jun 7, 2012 2:30:35 PMChristopher Knight  IBM contributor
3Jun 7, 2012 2:14:59 PMChristopher Knight  IBM contributor
2Jun 7, 2012 1:45:56 PMChristopher Knight  IBM contributor
1Jun 7, 2012 1:43:35 PMChristopher Knight  IBM contributor
1Jun 7, 2012 1:44:13 PMChristopher Knight  IBM contributor
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedHelpAbout
  • IBM Collaboration Solutions wikis
  • IBM developerWorks
  • IBM Software support
  • Twitter LinkIBMSocialBizUX on Twitter
  • FacebookIBMSocialBizUX on Facebook
  • ForumsLotus product forums
  • BlogsIBM Social Business UX blog
  • Community LinkIBM Collaboration Solutions
  • Wiki Help
  • Forgot user name/password
  • Wiki design feedback
  • Content feedback
  • About the wiki
  • About IBM
  • Privacy
  • Accessibility
  • IBM Terms of use
  • Wiki terms of use