Overview

The Jetspeed Profiler is a portal resource location rule-based engine. As of Jetspeed version 2.0, the profiler locates the following kinds of portal resources:

  • PSML pages
  • Folders
  • Menus
When a request is received by the portal, the profiler will map the request to a resource based on a normalized set of runtime parameters and state such as request parameters, HTTP headers, and session attributes. The Profiler is invoked during the Jetspeed request processing pipeline in the profiler valve. This valve requires that the request context is already populated with the portal request and response, capabilities, language and user information. The runtime parameters make up the profile criterion which the profiler uses to locate portal resources.

The profiler works hand in hand with the Site and Page Manager components. The profiler takes runtime information as input, generalized that information into

Profiling Rules

A ProfilingRule defines a list of criteria used when evaluating a request to determine the location of a specific resource. Profiling rules are used by the profiler to generically locate portal resources based on the decoupled criteria for known portlet request data. A rule consists of an ordered list of criteria which should be applied in a given order. Following this rule's order, the profiling engine applies each criteria of the rulusing a less-specific algorithm until the least specific resource criterion is considered. When all criteria are exhausted, the rule will fail and a fallback resource will be required.

Rule Criterion

RuleCriteria are templates for locating profile properties. The default implementation has a profiling policy defined in this proposal based on resource-specific URLs, Mime-Types and language preferences. More complex implementations will need to use other inputs in mapping to resources such as Cookies, IP Address Ranges, Statistical Resource Usage Analysis, Business Rules inside of servlets or EJBs,...

Rule Criterion Resolvers

ResolverDescriptionExample
requestresolve by matching to a request parameter name
sessionresolve by matching to a session attribute name
request.sessionresolve by matching to a request attribute name first, then matching to a session attribute name
hard.codedresolve with a hard.coded value
group.role.userfallback controller: search for resource under folders of the current users group, then role, then users own folder
usermatch resources in the current user directory
group
role
mediatypematch media type in the request context
country
user.agent
language
rolesRole Fallback
path
page
path.session
user.attribute
navigationchange the current navigation path

Principal Rules

Profile Locators

Profile Locators are used to locate profiled portal resources such as pages, documents, and fragments. A locator contains properties describing the actually resource to be located. Since the locator is based on properties that are usually related to a user or other subject's profile, it is referred to as a profile locator.

Profile Locator Paths

Component Configuration