# Profiler Help

### NOTE: This help file is in English Only. TODO: add a option to locate by locale to the GenericServletPortlet

### NOTE: Please DO NOT TRANSLATE since its still under construction.

The Profiler locates portal resources given a set of request parameters, properties, and attributes The Profiler is invoked during the request processing pipeline. It requires that the request context is already populated with the portal request and response, and capability and user information. The request context parameters, properties and attributes make up the profile criterion which the profiler uses to locate portal resources:

- page
- navigations
- document lists

The profiler does not actually locate the document. It creates a Profile Locator, an abstract definition of a resource locator.

## Rules

Rules define how a resource locator is created. A rule is an ordered sequence of one or more criterion. The profiler will apply all criteria for a given rule in fallback order. It will start from the lowest fallback number for a criteria, and continue trying to locate until it either locates a resource, or until the fallback type of the criteria dictates that it either stop or continue to loop.

## Resolvers

Resolvers are Java classes associated with a criterion. A resolver determines what runtime parameters and state to look at when building a profile locator.

path | Looks at the Request Path of the request.
group | Looks in HTTP Request Parameter (Standard) for the named parameter. Next looks at current authenticated subject, finding all group principals for the subject.
role | Looks in HTTP Request Parameter (Standard) for the named parameter. Next looks at current authenticated subject, finding all role principals for the subject.
user | Looks in HTTP Request Parameter (Standard) for the named parameter. Next looks at current authenticated subject, finding all user principals for the subject.
language | Looks in HTTP Request Parameter (Standard) for the named parameter. Next looks at the Locale.LanguageCode for the current request.
mediatype | Looks in HTTP Request Parameter (Standard) for the named parameter. Next looks at the Mediatype (Mime Type) for the current request.
country | Looks in HTTP Request Parameter (Standard) for the named parameter. Next looks at the Locale.CountryCode for the current request.
hard.coded | Applies the value specified in this rule as a constant.
path.session | Looks in HTTP Request Parameter (Standard) for the named parameter. Looks in Portal's Servlet Session for the named attribute.
group.user.role | todo

## Fallback Types