ShowTable of Contents
Table of Contents |
Previous Page |
Next Page
Personalization involves using technology to accommodate the differences between individuals. Web pages may be personalized based on the characteristics of an individual. Personalization implies that the changes are based on implicit data, such as items purchased or pages viewed. The term customization is used instead when the site only uses explicit data such as ratings or preferences.
Web personalization models include rules-based filtering, based on "if this, then that" rules processing, and collaborative filtering, that serves relevant material to customers by combining their own personal preferences with the preferences of like-minded others. Collaborative filtering works well for books, music, video, and so on.
The benefits of personalization include:
- Focused content delivery based on the interests of the Web site visitor.
- Increase in site usage by the visitor, that may lead to more sales.
- Customers get what they want to see and keep coming back to the site.
- Enterprises get an opportunity for more focused campaign and marketing by targeting the right audience.
Some examples of personalization include:
- Recommended products based on previous activity by visitors.
- Self service pages where users login to a site and see content meant for them
- Marketing campaigns such as pesronalized e-mail
- Portal sites such as MyYahoo and MyGoogle.
Personalization components
Portal personalization provides automatic customization of Portal-based web sites for individual users and user groups.
A Portal personalization engine can be used for the following tasks:
- Recognize a specific user based on a profile or determine characteristics of a user based on previous purchases, products or pages viewed, and so forth.
- Select content that is appropriate for each profile, for example,:
- If a person has a high salary range, personalization can be configured to retrieve information about a commercial Web site's premium products.
- If an individual belongs to a particular geographic region, content specific to that region may be targeted to the individual.
- Assemble pages with the proper personalized information so the user sees her personalized page.
Portal personalization engine (often referred as PZN) is composed of five components:
Personalization browser
The Personalization user interface is a Portal based application where authorized users:
- Register resource collections
- Author rules, campaigns, and content spots
- Map rules into content spots for a particular campaign
Rules engine
The rules engine evaluates rules created in the Personalization browser.
In a Portal environment, there are different ways to invoke rules:
- Personalization rules may be invoked through the Personalized List portlet and presented as a list of text and links
- Web Content Management (WCM) Personalization components allow you to invoke a selection rule or content spot and format the results by using WCM tags
- Hide rules associated with pages or portlets through Portal administration are automatically triggered when a user navigates a Portal page
LikeMinds recommendation engine
Personalization contains a dynamic recommendation system based on LikeMinds. LikeMinds analyzes user interactions that occur on your Web site and generates real time predictions and recommendations to your Web site users.
Resource engine
The resource engine resolves the queries produced by rules into content pieces to be returned. Content for personalization is created using whatever content management tool you choose, or may come from an LDAP or any other database. Content is accessed via a set of Resource Collection classes.
Logging framework
The logging framework is used to record information about Web site usage to the feedback database and the recommendation engine. It is entirely up to the site developers to decide what information is logged.
Four approaches to personalization
Some approaches to personalization are described int he following sub-sections.
Security
A site usually filters content based on the access rights of visitors. For example, if a site visitor is in the Human Resources department, the site provides access to content containing Human Resources policy manuals.
User preferences
The user pulls relevant content from the system by telling what categories are the most important for him. The system will save that preferences to drive content lists in the future.
Rules engine
The site owner defines a set of business rules that determine what category of content is shown when a user with a certain profile type visits the site. An example would be: Display all four wheel drive SUVs to visitors in the northeast in the 21 to 35 age group. This approach has the advantage of driving the site's behavior with the business objectives of the site owner.
Collaborative filtering
A site visitor rates a selection of products, explicitly or implicitly. Those ratings are compared with the ratings offered by other visitors. Software algorithms detect similarities. For example, a visitor receives book recommendations based on the similar purchases of others.
Rules driven personalization
Rules are used to define how your Web site interacts with individual and groups of Web site visitors. Rules are composed of easy-to-read logic statements that, in their final form, specify how to evaluate various conditions and what actions to take based on those conditions.
WebSphere Portal supports several kinds of rules:
Profiling
Function
Create dynamic profiles based on user attributes, date, browser capabilities or any other information managed by PZN
Sample
Selection
Function
Selects a list of content from
- Lotus Web Content Management SQL
- LDAP
- Atom
- Custom
Sample
Binding
Function
Pulls all the other rule types together:
- Conditions come from profiles
- If conditions are met, select or recommend content, perform updates, send emails.
Sample
Update
Function
Updates the current user object or the state.
Updates may be persisted as with the current user or
Updates may be transient or application managed such as a shopping cart
May also set portlet or HTTP request and portlet or HTTP session attributes
Sample
Email
Function
Ability to trigger email from a page
Personalized email body
Email may run rules to select content for the email
Email campaigning using a scheduled email rule
Examples: targeted newsletters, emails triggered to verify or send receipt of user actions
Sample
Content spot
Function
Creates a virtual content area that will be managed by a personalization campaign. The campaign will define which content is displayed in this area by binding the content spot with different selection rules
Sample
Campaigns
Function
Campaigns define time or frequency constraints to bind rules to spots.
Sample
Recommendation
Function
Allow recommended content based on user navigation, item affinity or user preferences. Requires the user to first make calls to the feedback or LikeMinds API to log transactions.
Sample
Visibility
Function
Allows for showing or hiding pages and portlets depending on the result of a rule.
Sample
Extending personalization
There are a series of articles in IBM developerWorks that shows how to to extend WebSphere Portal Personalization capabilities to make data from external sources available to your portal using Personalization rules:
Sample scenarios
This section shows the implementation steps of two personalization scenarios. The WCM artifacts for the RiverBend Web site are reused. All personalization artifacts, such as business rules, content spots, and so on are created in the personalization section of WP. They are organized in two folders, named as "Camapign1" and "Campaign2" for personalization scenarios 1 and 2 respectively.
Personalization scenario 1
In this scenario, a campaign for recommended products is run for a fixed duration in the "Recommended products" portlet in the home page. There are two sets of content related to coffee and tea products. Their display needs to be divided in an equal ratio. Therefore, for one request to the Web site, content 1 is displayed and for the next request, content 2 is displayed. Here are the implementation steps for Personalization scenario 1.
Step 1: Prepare two categories one for Tea and one for coffee. These categories are used to classify content.
Step 2: Profile the content with the two categories. For example, we profiled content titled "Earl grey" with category tea and "Coffee cioccolato" with category coffee. These are stored in the location "River Bend/Beverages/Teas" and "River Bend/Beverages/Coffee" as shown in the figures below.
To profile a content with a particular category, open the content in the WCM authoring portlet in edit mode, select profile section and choose the particular category to profile the content.
Step 3: Prepare selection rules: We go the personalization section of WP, go to the folder "Campaign 1". We create a new selection rule "SelectTeaContent" to select content titled "Earl grey". Similarly, we create a new selection rule "SelectCoffeeContent" to select content titled "Coffee cioccolato".
Step 4: We create a content spot "ContentSpot_teacoffee" with default rule binding as "SelectTeaContent".
Step 5: We create a campaign "Campaign_teacoffee" whose validity date is from Nov 10, 2009 to Nov 12, 2010. We ensured that the current date falls within the validity period.
Step 6: We create a rule mapping to map the campaign with a content spot and rules. We have assigned a split of 50 to give each rule mapping an equal weight to display. Therefore, 50% of the time, rule mapping 1 would be executed and 50% of the time, rule mapping 2 would be executed.
Step 7: We create a personalization component in the WCM authoring portlet and map it to the content spot "ContentSpot_teacoffee". The component uses WCM custom tags to render the menu search result.
Step 8: We render the personalization component into the portlet named "Recommended products" in the homepage.
On first request, here is the view of the portlet.
Logout and login to the portlet again. Now the view of the portlet changes to show the second campaign.
On first request, here is the view of the portlet. Logout and login to the portlet again. Now the view of the portlet changes to show the second campaign.
Personalization scenario 2
In this scenario, we are going to show personalized content based on location of the registered users. Based on a location attribute filled in on the registration page of the registered user, the location specific content is delivered in the "Campaign" portlet in the homepage.
Step1: Lets add the location attribute in the "Edit my profile" page for users and let us populate this attribute.
In this example, we populate the countryName of the registered users with countries either India or Spain.
Step 2: Verification of appropriate categories in WCM: Contents are segregated for two countries - India and Spain. Therefore we ensure that there are two categories in the WCM authoring portlet.
Step 3: We have country specific content in the site area "River Bend/Company/Where we are" :
We need to assign content related to India and Spain titled "India Bangalore" and "Spain La Ramblas" to the two categories created in Step 2.
Step 4: Creation of profile rules: This is used to profile users based on their countyName attribute in their profile. As shown in the figure, the profile of users is "visitor_India" when the countyName attribute of the users is India.
Step 5: Creation of select content rules: This rule selects content for a specific country. For example, as shown in the figure, the "SelectSpainContent" selects content whose category is "Spain".
Step 6: Creation of binding rules: This rule binds the profile rule (created in step 4) with the select rules (created in step 5).
Step 7: Creation of Content Spot: As shown in the figure below, the default mapping of this content spot is the binding rule, created in step 6.
Step 8: Creation of Personalization component: Personalization component maps the content spot, created in step 7. The component uses WCM custom tags to render the menu search result.
Step 10: Viewing in WCM rendering portlet:
We add a "WCM Content Viewer" portlet to the home page of the RiverBend Web site. We then map the personalization component, created in step 9, to the rendering portlet.
Here is the screenshot of the portlet seen by the user from Spain.
We then sign up a new user with CountryName attribute as India. Upon logging in by that user, here is the view of the portlet.
Personalization demonstration sample
This section includes steps to download and execute the sample code used in the devlopment of this page.
Step 1: Import the personalization artifacts. Here is a link to more detailed information on importing artifacts:
http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/topic/com.ibm.wp.ent.doc/wpf/pzn_stage_prod.html
Links to sample files:
Campaign1.nodes
Campaign2.nodes
Step2: Import the WCM library named "RiverBend". Click
HERE for more information on importing libraries.
Link to sample file:
JCR_export.zip
Step 3: Change the portal theme. Unzip the file to the location
\installedApps\\Enhanced_Theme.ear\wp.theme.enhancedtheme.war
Please take a backup of the previous themes folder.
Link to sample file:
themes.zip
4. Import the portal page through Import XML in portal administration.
Link to sample file:
pageExport.xml
5. Navigate to the link "RiverBend" in the portal theme as shown in the screenshot below. The RiverBend portal page should be up and running.

Summary
This page has provided a brief overview of various personalization techniques and considerations. We have also provided two simple examples of setting up customized content through WebSphere portal.
Table of Contents | Previous Page | Next Page