+

Search Tips   |   Advanced Search

Develop a personalized portlet


This exercise demonstrates how to use Personalization features of WebSphere Portal and Rational Application Developer to build your first personalized portlet. Your final result is a working portlet that uses Personalization rules and content spots to display personal news based on user attributes (or profiles).

The final portlet looks like the following example:

The demonstration Web site is organized into the following three pages:

  1. Front Page

    • Internal News displays internal YourCo news for the user. This portlet displays the news upon clicking upon one of the links.
    • General News displays external worldwide news articles for users. This portlet messages to the GeneralNewsDetails upon clicking upon one of the links.
    • UserInfo displays the current user's information. This information is used in rules to target content throughout the website to the particular preferences of the users. This user information can be modified using the edit feature.

  2. Partners Page

    • Products displays products for the current user. This portlet messages to the PartnersDetails upon clicking upon one of the links.
    • Promotions runs a simple rule targeting the information in the portlet to the user's preferences.

    The promotions portlet also demonstrates running a campaign and the splitting of rules within a campaign. In this case, between March 1 and April 16, 2005 the Tax Season campaign will run. Within this campaign, one content spot is filled with 2 distinct rules, Get Tax Season Promotions and Get 3 Promotions about IRAs. Get Tax Season Promotions will be run 70% of the time and Get 3 Promotions about IRAs the remaining 30%.

    A second campaign is also running in the promotions spot between April 14 and April 15, 2005. This campaign has a higher priority than the Tax Season campaign so it will run at this time.

  3. Services Page

    • Services displays services that are offered to the user. Clicking on one of the services will display the details of the service. If logging is enabled, clicking on one of the services will log the face that this particular type of service was selected by the user.
    • Offers displays current offers for the user. This portlet demonstrates calling an analysis bean from a rule.

Personalization can use database content. This exercise uses the sample database that comes with the Personalization sample. The following tables are used:

FIRST_NAME LAST_NAME DEPARTMENT CUSTOMERTYPE USERNAME*
Scott Green Loans Gold scott
Tawana Streble Human Resources Platinum tawana
Marge Roorda Human Resources Platinum marge
Andy McPherson IT Titanium andy

OFFER_ID* CUSTOMERTYPE TITLE DETAILS
1 Platinum 2nd House Mortgage Excellent Mortgage rates on the beach house.
2 Gold Add other Cards Add other members of the household to your account.
3 Platinum ARM Mortgage 1/3 5.9% APR Mortgage for 27 years.
4 Titanium Free Checking Deluxe Free Checking with the attainment of a YourCo Financial Credit Card.

Notice the common element in these tables is the column CUSTOMERTYPE. This column is important when you invoke Personalization later in the exercise.

  1. Prerequisites for the Personalization portlet exercise
    This exercise is intended for users with significant WebSphere Portal administration experience and strong portlet Java development skills.
  2. Install the Personalization sample
    This exercise installs the Portal Personalization sample and configures the database for the Personalization sample. No additional database requirements are needed.
  3. Create the JSP file in Rational Application Developer
    Create a basic JSR 168 portlet file for the Personalized Offers project and add the welcome text to the portlet.
  4. Create the Personalization content resource classes and content spot
    View the steps to create the Personalization content resource classes and content spot using IBM Rational Application Developer.
  5. Create the Personalization user resource classes and content spot
    Use the Project Explorer of IBM Rational Application Developer to create the user resource classes and content spot for the Personalization demo that creates the Personalized Offers portlet for different customer profiles.
  6. Finish coding the portlet JSP
    Use the Rational Application Developer Project Explorer to work with the pers_offers.Pzn_offersSpot.class and the pers_offers.Per_Offers_UserSpot.class to define the context parameters offersSpot and the userSpot, respectively. Code the setRequest calls to pass the user context to personalization.
  7. Export the WAR file and install the portlet
    Export the IBM Rational Application Developer project to a war file and install the portlet on a portal page.
  8. Import Personalization Workspace resource collections
    Use the Personalization Navigator to create Workspace folders for the resource collections. Then import the resource collections into the Workspace of the Personalization Navigator.
  9. Create a simple content rule
    Use the Personalization Editor to create a business rule for a resource collection.
  10. Create a content spot
    Use the Personalization Editor to create a placeholder for the rulthat renders the selected content on a Web page. This placeholder is the content spot. Specify which rule to place in the content spot; this is called mapping the rule to the content spot or creating a rule mapping. In this example, the content is a resource collection.
  11. Enhance the Personalized Portlet
    Introduce enhancements in the Personalized Portlet.
  12. Insert dynamic table html/jsp code
    Use Rational Application Developer to code the dynamic table in the Personalized Offers portlet JSP. Export the project as a Web archive (WAR) file. Open the WebSphere Portal Administration page for Portlet Management and update the Web module containing the Personalized Offers portlet.
  13. Modify resource collection properties
    Use the Personalization Navigator to specify the Translator Class for the resource collection.
  14. Create the user profiler rule
    Use the Personalization Editor to create a profiler rule for users who qualify as customers for Gold Offers in the Personalized Offers resource collection.
  15. Create additional advanced rules
    For each customer type specified by a profile, add to the business rule (the profiler) by selecting actions to build the syntax of the rule.
  16. Change content spot rule mapping
    Change the default rule mapping to the new binding rule that you created for different customer types who will use the Personalized Offers portlet. Test the portlet for use by all customer types. Verify that the portlet displays the personalized content specified by the business rule for each user profile.
  17. Personalized List portlet
    The Personalized List portlet provides a ready-to-use portlet for displaying personalized content from rules, content spots, or resources. In many cases it eliminates the need to code new portlets and JSP files yourself. We can use this portlet instead of coding the IBM Rational Application Developer portlet.
  18. Uninstall Personalization sample and database
    View the steps to uninstall Personalization sample demo, database, and users.


Parent: Personalization
Previous: Feedback and analytics
Next: Personalization programming reference