# Use Explicit User Profiles to Activate Rules

You can set up your QMS rules to activate based on values in the explicit profile of a user. For example, you might have rules that activate based on manually-added fields in your user profiles, such as a location or profession.

## Create an Explicit Profile

You create explicit profiles for your users in the IDOL Community component, by manually adding fields to the user profile. To add a field, you use the `FieldFieldName` parameter in the `UserAdd` or `UserEdit` actions.

For use in QMS explicit profiling, you must add fields with the prefix `AUTN_EXPLICIT_PROFILE_`. For example:

    action=UserAdd&UserName=AlexSmith&Password=mypswd&FieldAUTN_EXPLICIT_PROFILE_PROFESSION=teacher

For more information about how to add user fields, refer to the IDOL Community Component Reference.

After the prefix, you can use any valid IDOL document field name. QMS does not impose any limits on the number of fields, or the type of field values. Fields can have multiple values, in a comma-separated list.

## Configure QMS Rules for Explicit Profiling

To set up explicit profiling, you use the `QMSFIELDTEXT` field in your rules to specify restrictions that refer to the explicit profile fields.

QMS strips the `AUTN_EXPLICIT_PROFILE_` prefix when it matches against your rules, so you use the shortened form of these field names to set restrictions.

For example, to specify that a particular rule applies only to users that have the value teacher in the `AUTN_EXPLICIT_PROFILE_Profession` field, you set the following `QMSFIELDTEXT` field in the rule:

    #DREFIELD QMSFIELDTEXT="MATCH{Teacher}:PROFESSION"

You can use any valid `FieldText` expression to match explicit profile fields.

NOTE: QMS does not validate the `FieldText` expressions against your user profile fields. You must ensure that the explicit profile field names in the IDOL Community component and `QMSFIELDTEXT` are consistent, and that they interact as planned.

TIP: QMS retrieves explicit profile fields only for queries where you turn on explicit profiling. When you create your rules and `FieldText` expressions, consider whether you always want to turn on explicit profiling, or how the rule behaves when you do not have the explicit profile fields.

## Turn On Explicit Profiling

To turn on explicit profiling for a particular `Query` action, you:

- Set the `ExplicitProfiling` parameter to `True`.
- Set the `Username` parameter to the name of the user.

When you turn on explicit profiling for a query, QMS performs the following operations:

1. QMS retrieves all the explicit profile fields from the user profile for the specified user. It strips the `AUTN_EXPLICIT_PROFILE_` prefix from the field names, and then creates a TextParse document that includes the original query text and the explicit profile fields.

   `TextParse` documents are an IDOL document that you can use for querying. IDOL uses fields in the document as query text, and can match `FieldText` against other fields. For more information about `TextParse`, refer to the IDOL Server Administration Guide.

2. QMS uses the usual methods to find all rules in the promotion Agentstore that match the TextParse document version of the query and explicit profile.

   This process uses the usual matching procedure to match the query text and AgentBoolean expressions (see Match QMS Rules in Queries). It also finds any blacklist or whitelist rules that you specify in the query.

   It then matches the `QMSFIELDTEXT` in the rules against the fields in the query document, which includes the explicit profile fields.

3. For any rules that match all query and `FieldText` restrictions, QMS applies the rule to the query or query results, as appropriate.

## Example

The following rule is a simple boost rule.

    #DREREFERENCE BOOST_RULE_5_1254181469986
    #DRETITLE boost rule 5
    #DREFIELD QMSTYPE="7"
    #DREFIELD QMSAGENTBOOL="*"
    #DREFIELD QMSFIELDTEXT="MATCH{Teacher}:PROFESSION"
    #DREFIELD CONCEPT="BIASVAL{GCSE,70}:examination"
    #DREFIELD ALWAYSMATCH="1"
    #DREENDDOC

A user, with the user name `AlexSmith`, has the following field in their user profile:

    #DREFIELD AUTN_EXPLICIT_PROFILE_PROFESSION=teacher

When you enable explicit profiling, and this user sends a query, QMS retrieves both the explicit profile fields and the rule (because the AgentBoolean is set up to match all query text). Because the user has the value `Teacher` in the `PROFESSION` field, the explicit profile matches the `QMSFIELDTEXT` in the rule, and QMS applies the rule to the query; that is, it adds the boost `FieldText`: `BIASVAL{GCSE,70}:examination`.

If the user has a different value in the `PROFESSION` field, or does not have a `PROFESSION` field, QMS does not apply the boost rule.

_FT_HTML5_bannerTitle.htm