If you create any custom scenario- or messaging-related code for ATG Knowledge or ATG Self Service, you need to make sure that your code is in a module that is loaded on both servers, and you need to make sure that your data is stored in the svcshared
database tables. This includes customizations to any of the following ATG entities:
event
action
slot
targeter
message sink
message source
any other components referred to by
scenarioManager.xml
ordynamoMessaging.xml
If your customizations are for external scenarios only, you still need to make sure that your ATG Knowledge server loads the code. It is not sufficient to add the customizations to the ATG Self Service server, because the ATG Knowledge server will not notice them, and will fail to launch the external Scenario Manager, causing your customizations to be ignored. Use the scenarioManager.xml
file to register such customizations, and load this file on both the ATG Knowledge and ATG Self Service servers.
ATG provides a module called personalization-minimal
by default, to allow you to make these customizations.
When creating custom events and actions, the ATG Knowledge and ATG Self Service implementations are very similar; they use the same set of methods to work with scenario events. They share the atg.svc.agent.events.EventTools
event logging mechanism with minor variations:
ATG Knowledge uses
AgentEventToolsImpl
to implement theEventTools
class.ATG Self Service uses
ATG SelfServiceEventToolsImpl
to implement theEventTools
class.
Both ATG Knowledge and ATG Self Service use a database called svcshared
, where data necessary for either application is stored. These tables store scenario- and messaging-related data.