In some cases, you may have scenarios that are specifically designed to handle visitors who start as anonymous users and then either log in or register to become site members while they are progressing through the scenario.

The Scenarios module manages the transition from anonymous to registered visitor by means of an instance of atg.scenario.userprofiling.ScenarioProfileFormHandler, which is a subclass of atg.userprofiling.ProfileFormHandler. The ScenarioProfileFormHandler takes the scenario instances associated with an anonymous visitor and attaches them to the persistent visitor when he or she registers or logs in. With this behavior, guest users can progress through a scenario and then, when they become persistent users, the Scenarios module does not lose track of their scenario states.

For the Scenarios module, the /atg/userprofiling/ProfileFormHandler component is automatically overridden to point to the default ScenarioProfileFormHandler, so there are no configuration steps to perform. However, if you want to extend the ProfileFormHandler class and keep the ScenarioProfileFormHandler functionality described here, you must subclass ScenarioProfileFormHandler instead of ProfileFormHandler.