As noted earlier, the scenario server has to maintain some amount of state information for every individual going through each scenario segment. This state is stored in the profile repository. Specifically, the user item descriptor in the /atg/userprofiling/ProfileAdapterRepository
component (and the associated /atg/userprofiling/userProfile.xml
template file) has a scenarioInstances
property, which contains a set of individual scenario instances (repository items of type individualScenario
) currently associated with that user.
Each individual scenario instance maintains the state associated with a particular scenario segment through which the user is progressing. Individual scenario instances have the following properties:
id
: the repository ID of this individual scenario instance.processName
: the name of the scenario.modificationTime
: the time the scenario was last modified (see the next section).segmentName
: the name of the scenario segment.creatorId
: the repository ID of the scenario instance which created this instance (see below).state
: the ID of the SSM state this scenario instance is currently in.subject
: the pointer back to the “user” repository item.contextStrings
,contextBooleans
,contextLongs
,contextDoubles
,contextDates
: each of these properties is a map of scenario variables of the specified type; for example,contextBooleans
is a map of boolean context variables which have been set for this scenario instance.