Internal users viewing external profiles through the Business Control Center can see only the profile properties defined in the userProfile.xml
file on the server where their Business Control Center is running. By default, the userProfile.xml
file contains only properties for the applications running on that server. For example, agents looking at customer profiles in the agent-facing cluster cannot typically see external profile properties such as opt-in mailing preferences added to the userProfile.xml
file by ATG Outreach on the asset management server. However, it is possible to configure a multiple application environment so that the Business Control Center running on any internal-facing server (any agent-facing or management server) can be configured to display a complete view of the external user profile.
Any application that adds properties to the standard external profile definition and that runs in the asset management cluster, the agent-facing cluster, or the customer-facing cluster has a sub-module that contains the application’s user profile extension file (userProfile.xml
) and any required supporting files. The sub-modules follow the naming convention main module
.ExternalUsers
, for example ABTest.ExternalUsers
. Run these sub-modules on any management, agent, or production server where external user profiles will be viewed and edited. In addition, make sure that any profile extensions you make for use in these applications are added to the userProfile.xml
file in an appropriate ExternalUsers
sub-module. (For information on extending a profile definition file, refer to the ATG Personalization Programming Guide.) In addition, you should create an ExternalUsers
sub-module for any custom module that includes profile extensions.
Example: ATG Outreach typically does not run on the agent-facing cluster. As mentioned above, ATG Outreach extends the standard profile definition, adding properties that track settings such as a customer’s opt-in preferences for receiving e-mails. These profile extensions are stored in ACO.communication.ExternalUsers
, which runs by default in the asset management cluster. Make sure this module also runs on agent servers so that the extra profile properties can be viewed through the Business Control Center on an agent server.
The following table shows the applications that have ExternalUsers
sub-modules and the servers where they should be run.
Application | Name of ExternalUsers sub-module(s) | Already running here | Run here as well to ensure all properties are visible |
---|---|---|---|
ATG Outreach |
| Asset management cluster Customer-facing cluster | Agent-facing cluster Note that running |
ATG Campaign Optimizer |
| Asset management cluster Customer-facing cluster | Agent-facing cluster |
|
| Agent-facing cluster | Asset management cluster Customer-facing cluster |
Self Service |
| Agent-facing cluster Customer-facing cluster | Asset management cluster |
Note: Platform.Agent
is a module installed with the ATG platform that supports agent users in ATG Service applications – it includes external profile extensions such as properties that store agent comments.
To run these modules on a given server, assemble an EAR file that includes the modules and deploy this application on the appropriate server. For information about assembling and deploying applications, see the ATG Platform Programming Guide.
Hiding Sensitive Profile Information: Important
Be aware that using the ExternalUsers
sub-module configuration makes external profile properties visible to internal users. If there are any properties you do not want internal users to see, make sure you hide those properties so that they do not appear in the Business Control Center. Refer to the ATG Business Control Center Administration and Development Guide for information on how to do so.
Referencing Foreign Repositories
If an external profile extension references a repository that does not exist on the server where the sub-module is running (a foreign repository), the property’s value is displayed in the Business Control Center as the ID of the object being referenced. The value can be changed if necessary by entering the appropriate object ID.