Persona

The persona asset is used to store a customized set of keyword evaluation rules that either evaluate the persona as true or false.

When a persona has been created and configured, it can be used with content variations for conditionally displaying versions of a page depending on the persona’s evaluation.

A persona can also be set to evaluate client-side only when in use with a variation. This evaluation means a developer can write condition-based JavaScript and trigger a variation to show or hide by targeting a custom variable saved against the persona attached to the variation.

Details screen

Details

Name

The name of the persona will be reflected in the asset tree as any other asset. However, it will also be used in the drop-down list of available personas to apply to a variation. The order of the personas in this list are ordered alphabetically by their name.

Allowed root nodes

Select what areas of your system allowed to select this persona for a variation on a standard page. Only standard pages located under these root nodes will have this persona available in their variation persona list.

Force no cache

If this is set to Yes, any page using this persona will be served with a Cache-control: no-cache header, regardless of cache configuration settings for the page.

Evaluation settings

This section lets you configure the evaluation rules for the persona. The persona can be server-side based, client-side based, or both.

Server-side evaluation settings

Enabled

Enable this option to make the persona server-side based.

Group logic

Choose what logic to evaluate each group to decide whether the persona is true or false. You can specify that all groups must be matched or only one.

Group

Enter the keyword matches for this group. You can enter multiple keyword matches within a single group. The Select field lets you decide what logic to use for the group to be considered matched.

Client-side evaluation settings

Enable this setting to make the persona dependent on client-side JavaScript evaluation code. If enabled and applied to a variation on a standard page, the content will be printed within a <template> tag. You can then write some frontend JavaScript that decides whether to show or hide this content.

Enabled

Enable this option to make the persona client-side based.

Unique variable

Use this field to enter a unique variable for the persona you can use in your client-side JavaScript to target the variation content. This variable will be printed as an attribute on the <template> tag that wraps the variation content.

For example:

<template data-client-variation_id="{unique variable}">
  //variation content...

</template>

This section only applies when you are using the persona for a variation. It does not affect when used with the globals persona keywords.

Using both server-side and client-side evaluations

You can enable both server-side and client-side evaluations on a persona when using it for variations. When doing so, Matrix will first evaluate the server-side conditions. If the server-side evaluations evaluate as true, the client-side functionality prints the variation within the template tag.

If the server-side evaluation is false, the template tag variation content will never be printed because the server-side conditions prioritize the client-side ones.

Usage screen

The usage screen tells you which standard pages have content variations that are dependent on this persona.

This information is useful if you want to archive the persona and make sure that no live pages are currently using it.

This feature will not tell you which assets are using the persona through globals persona keywords.

Global persona keywords

You can use global keywords to access a persona directly and return its server-side evaluation, which will either be 1 (true) or 0 (false).

Read more about how to use the global persona keywords on the Globals keywords page.