Scenarios are managed and run by the Scenario Manager services, ScenarioManager
and InternalScenarioManager
. Depending on the subject of the scenario, the agent or the customer, you must know which Scenario Manager to run.
ScenarioManager and InternalScenarioManager
Just as you need to be aware of whether your slots and scenarios are displaying content targeted to the agent or the customer they are helping, you need to be aware of where those scenarios need to be created. In a production environment, ATG applications run on an internal server cluster and your external website runs on an external server cluster. Each instance in the internal cluster uses two separate scenario managers: the standard scenario manager, ScenarioManager
, which handles scenarios in which the main subject of the scenario is the customer and the internal scenario manager, InternalScenarioManager
, which handles scenarios in which the main subject of the scenario is the agent. Each instance of the external cluster only has a standard scenario manager in which you create scenarios where the main subject of the scenario is the customer. When you author a scenario that populates a slot, the scenario must be created in the appropriate cluster (internal or external) depending on its use.
Scenarios in which the customer is the subject of the scenario belong in the standard scenario manager. These scenarios should be created in the external cluster. (Examples include when the customer’s profile drives the scenario, or the customer’s behavior on the external website drives the scenario)
Scenarios in which the agent is the subject of the scenario belong in the internal scenario manager. These scenarios should be created in the internal cluster. (Examples include when the agent’s profile drives the scenario, or if actions the agent takes in Service Center drives the scenario)
This means that you will have to create one set of scenarios for delivering content in which the agent is the subject of the scenario (in the InternalScenarioManager
service) and one set of scenarios for delivering content in which the customer is the subject of the scenario (in the ScenarioManager
service).
As with any environment in which you are using scenarios, one of the scenario instances in each cluster will have to be configured as the Scenario Editor Server. Internal scenarios are created and updated while pointing to the Scenario Editor Server designated for the internal cluster. External scenarios are created and updated while pointing to the Scenario Editor Server designated for the external cluster.
Scenario Managers in a Development Environment
If you are working in a development environment where the external and internal environments are running on the same machine, you will need to point your ACC to either the standard Scenario Manager or the InternalScenarioManager
service. The ACC can only display one of these at a time; it is configured to show the Standard ScenarioManager
by default. You must manually configure the ACC to point to the InternalScenarioManager
to create scenarios for the internal environment. See Configuring the ACC to Point to the InternalScenarioManager for instructions on how to do this.
Scenario Managers in a Production Environment
If you have a production environment running, you will have two clusters: one for your internal applications (such as the ATG application) and one for your external sites (such as your external website). In this situation, the ACC in the internal cluster can still point to both the InternalScenarioManager
and the standard ScenarioManager
. However, the external cluster, which uses only the standard ScenarioManager
, should be used to create or update scenarios in which the customer is the main subject.
The ScenarioManager
on the external cluster shares the same database as the ScenarioManager
on the internal cluster. This enables you to create your customer-subject scenarios in just one place. The scenarios created in the ScenarioManager
on the external cluster will not show up automatically in the ScenarioManager
for the internal cluster. You must update the scenarios across the clusters.
Updating Scenarios Across Clusters
If you create or update any of the scenarios running on the ScenarioManager
in the external cluster, you will need to manually update the ScenarioManager
in the internal cluster. This update ensures that the two ScenarioManagers
are not out of sync.
To make this update you will need to go to the Dynamo Server Admin console and navigate to the ProcessUpdateService
component and invoke the updateAllProcesses
method. This will update all scenarios in all instances of the ScenarioManager
in the internal cluster.
The path to the ProcessUpdateService
component is:
<ATG10dir>/nucleus/atg/svc/scenario/ProcessUpdateService/
If you are running in a development environment and/or are not using an external website, you do not need to worry about using the ProcessUpdateService
to communicate scenario changes across clusters.
Configuring the ACC to Point to the InternalScenarioManager
In a development environment you must configure the ACC to point to the InternalScenarioManager
. To do this you need to specifically include the DSS.InternalUser.ACC
module when creating your environment.
For detailed information on working with scenarios, refer to the ATG Personalization Programming Guide.