Version 10.0.2
Service Installation and Configuration Guide
Oracle ATG One Main Street Cambridge, MA 02142 USA
ATG Service Installation and Configuration Guide
Document Version Service 10.0.2 SERVICEINSTALLv1 04/15/2011
Copyright Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are “commercial computer software” or “commercial technical data” pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark licensed through X/Open Company, Ltd.
This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.
For information about Oracle’s commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/us/corporate/accessibility/index.html.
Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/support/contact.html or visit http://www.oracle.com/accessibility/support.html if you are hearing impaired.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
i i i
C o n t e n t s
μ
Contents
1 Introduction 13 Audience 13 Documentation Conventions 13 Default Ports 13 Related Documents 14 Browser and Environment Requirements 15
2 Illustrating the ATG Service Architecture 17 ATG Service Components 17
Required ATG Service Dependencies 17 Optional ATG Service Dependencies 18
ATG Knowledge Architecture 19 Repositories 20 Data Sources 21
ATG Self Service Architecture 22
3 Requirements for Installation 25 Prerequisites for Installing ATG Service Software 25
4 Installing ATG Service 27 Installing ATG Service Applications 27
Prerequisites 27 Installing ATG Service on Windows 27 Installing ATG Service on UNIX 27
Configuring ATG Service with CIM 28
5 Configuring Databases for ATG Service 31 Prerequisites 31 Required Databases and Users 31 Creating Database Schemas 32
Databases and Switch Deployment 32 Schema Creation Scripts 33
Configuring FakeXADataSource Files 36 FakeXADataSource Files for Importing ATG Service Data 37
Configuring Data Sources for JBoss 38 Enabling XA Data Sources on JBOSS 4.2 38
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
i v
C o n t e n t s
μConfiguring the Production Server 39 Configuring the Agent Server 39 Configuring the Management Server 40
Enabling XA Data Sources on MS SQL 41 Importing Initial Configuration Data 42
Editing WAS_HOME and WL_HOME Variables 43
6 Creating the ATG Service Servers 45 Creating the Servers 45 Configuring the Servers 46
Configuring the Agent-Facing Server 46 Configuring the Customer-Facing Server 46 Configuring the Management Server 47
Configuring the LockManager and SQL Repository 48 ServerLockManager on Customer-Facing Servers 49 ClientLockManagers on Agent-Facing Servers 49 Configuring the LockManager 49 Configuring the ATG Search Requirements 51
Using Window Scoped Failover 51 Adding Additional Components 52
7 Configuring ATG Reporting 53 Before You Begin 53 Installing ATG Service Reports 54
Installing the Reports 54 Accessing Report Metadata 55
Creating the Data Warehouse 55 Creating Data Warehouse Tables 55 Creating the Data Loader Local Tables 56
Configuring the Production Server 56 Enabling Data Collection 56 Configuring Production Data Sources 57 Enabling ATG Search Events Firing 57
Configuring the Management Server 58 Enabling Data Collection 58 Configuring the Data Sources 59 Importing Reporting Roles and Groups 59 Disabling the Scenario Manager Service 59
Configuring the Agent-Facing Server 59 Enabling Data Collection 60 Configuring the Data Sources 60 Enabling ATG Search Events Firing 61
Configuring the Data Warehouse Loader Server 61 Enabling Data Collection 61 Configuring the Data Sources 62 Configuring the Lock Managers 63
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
v
C o n t e n t s
μConfiguring the Data Warehouse Time Zone 63
8 Assembling ATG Service 65 Prerequisites 65 Using the runassembler Command 65 Assembling ATG Knowledge 66 Assembling ATG Self Service 66 Assembling ATG Reporting 67 Assembling ATG Search 69 Starting the Servers 70 Ensuring HTTPS Connectivity 70
Configuring JBOSS SSL 71 Configuring Oracle WebLogic 71 Configuring IBM WebSphere 72
Accessing the ATG Service Interfaces 72
9 Using ATG Search with ATG Service 73 Configuring the ATG Search Server 73
Configuring the ATG Search Engine and Deploy Share 73 Configuring the ATG Search Environment 73
Content Sets 74 Incremental Indexing 74 Configuring Multi-Language Search 75 Root Topics 76 Defining Topic Sets per Country and Language 76
Configuring Remote Host information 77 Categorizing Topics 77
Configuring Default Topic Settings 77 Configuring Profile Search 78
Profile Search Overview 78 Configuring Servers for Search 80 Configuring Search Environments 81 Indexing the ATGProfileBulk Environment 82 Disabling Profile Indexing 82
Performance Tips for Searching 82 Modifying Number of Results Returned 82 Modifying Number of Solutions Displayed 82
10 Implementing Solution Deployment 83 Before You Begin 83 Deployment Concepts 83 Setting up Solution Deployment 84
Plan Deployment Topology 84 Set Up Deployment Agents 84 Configure Switch Deployment 85 Configure Online Deployment 85
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
v i
C o n t e n t s
μManage Asset Security on Target Sites 85 Configure Deployment Data Sources and Destination Repositories 86 Configure Deployment from Multiple Management Server Clusters 86 Define the Deployment Topology 86 Initialize Target Sites 86 Configure Deployment Event Listeners 87 Schedule Deletion of Empty Folders 87 Cache Checksums for File Assets 87
Deploying Solutions 87
11 Using ATG Service Workflows 89 Workflows and Publishing Overview 89
Solutions and Workflows 89 Asset Locking and Check-in 89 Service Center and Workflows 90
Installed Workflows 90 ApproveChangeEditExistingSolution 91 DeleteSolution 92 DisableSolution 93 EditExistingSolution 93 EditNewSolution 94 EditProposedSolution 96 MergeSolutions 98 SingleCheckinEditNewSolution 99 SingleCheckinEditProposedSolution 100
Completing Workflow Definitions 102 Assigning Owning Groups 103 Managing Orphaned Projects 104 Workflow Action Elements 104 Workflow Security 105
Viewing and Working on Solutions 105 Viewing Tasks 106
ATG Service Administration Workflows 106 SvcAdmin Workflow 107
Workflows and Solution Status 107 Modifying Solution Statuses 107 Creating a New Solution Status 107
Modifying ATG Knowledge Workflows 109 Modifying Workflows 110 Changing Access Rights on Action Elements 110 Phasing Out Workflows 110 Deleting Workflows 111
Workflow Best Practices 111 Cloning Project Instead of Editing 111 Define Workflows and Solution Classes First 111
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
v i i
C o n t e n t s
μ12 Defining ATG Service Security 113
Security Elements 113 Types of Security 114 Security Settings 114
Security Example 115 Solution Security Example 116
Organizations and Organizational Roles 117 Creating Organizations 117 Creating Organizational Roles 118 Owning Groups and Internal Audiences 118
Global Roles 119 Creating Global Roles 119 Default ATG Knowledge Global Roles 120
Users and User Roles 120 Creating New Internal Users 121 Adding Roles to Organizations or Users 123
Creating Administration Users 123 Predefined ATG Service Administration Roles 124
Changing BCC Access Control 124 Security on ATG Service Administration Features 125
Page-Level Security 125 Field-Level Security 125 Customizing Option-Level Access Rights 126
Assigning Direct Access Rights to Roles 127 ATG Knowledge and ATG Self Service Security 128
Viewing Solutions 128 Editing Solutions 128 Field and Field Value Security on Solutions 129 ATG Knowledge User Interface security 130 Specifying Access in the User Interfaces 130 Allowing Users to Upload Solution Attachments 130
13 Defining ATG Service User Segments 133 External User Segments 133
Sharing External File Assets 134 Internal User Segments 135
Internal User Segments and Deployment 135 Selecting User Segments in a Project 135
Adding a User Segment 136
14 Configuring Global Service Center Settings 137 Configuring General Site Settings 137 Configuring Helpful Panels Settings 138
Configuring Hot Solutions 138 Configuring User Preferences Default Settings 139
Confirmation When Discarding New Solution 139
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
v i i i
C o n t e n t s
μDefault Home Tab 139 Default Solution Class 139 Answers per Page 139 Default Tab for New Calls 140 Default Panel for New Calls 140
Setting Organization Lists 140 Managing Slots and Renderers 141 Customizing Personalization Panels 141
Viewing Panel Security 142 Editing Panel Content 142
Configuring Messaging 142 Rendering Messages in the Message Bar 143 Implementing Client-Side Validation 144
Configuring Link Validation 147 Configuring Multiple Servers 148
15 ATG Ticketing Configuration and Administration 149 ATG Ticketing Overview 149
Ticket Dispositions and Warnings 149 Requirements 150 Ticket Queues 150
Adding Ticket Queues 150 Global Ticket Queue Timing Properties 152
Setting Ticket Polling 154 Discarding Tickets 155
16 Customizing Ticketing 157 Defining Global Context Area Defaults 157 Configuring Ticket Reason Codes and Contexts 158
Modifying a Reason Code 159 Adding a New Reason Code 160
Indicating Ticket Status/Sub-status 162 Modifying Ticket Sub-statuses 163
Modifying Ticket Escalation 165 Setting Default Ticket Priority 168 Generating Ticket ID Spaces 169
das_id_generator 169 Defining New Ticket Activity Types 170
Displaying Ticket Activities in Service Center 171 Configuring Scheduled Services 172
ExpireOutboundMessageService 172 ReleaseTicketPeriodicService 173 UnsuspendTicketPeriodicService 173
17 Working with an External CRM Application 175 Before You Begin 175
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
i x
C o n t e n t s
μCRM Integration Servlet 176
Single Sign-on 176 LoginAgentUser Web Service 176 CanClientEncryptAgentPasswords Web Service 177 GetAgentPasswordHashKey Web Service 178 GetAgentPasswordHashAlgorithm Web Service 179
Creating/Linking a New ATG Ticket 180 Changing an External Ticket ID and Name 180
Sample Web Service Call Code 181 Searching from an External CRM Application 182
Additional Search Parameters 182
Appendix A: ATG Service Access Rights 185 ATG Service Administration Page Access Rights 185
General Service Administration 185 ATG Self Service Administration 186 Service Center Administration 187
Service UI Elements 188 ATG Self Service Administration UI Options 188 ATG Knowledge UI Direct Access Rights 196
BCC Global Role Rights 202 ATG Service Rights and Global Roles 204
User Access Rights and Global Roles 204 System Administrator Access Rights and Roles 212
Global Service Roles and Direct Access Rights 215 Service Report Access Role 215 Service Admin Role 215 Service Super Admin Role 216 Service Admin Super Admin Role 216 Service Admin Self Service Admin Role 217 Service Admin Self Service Super Admin Role 218 Service Admin Workspace Admin Role 219 Service Admin Workspace Super Admin Role 220 Business Manager Role 221 Content Reviewer Role 221 Knowledge Manager Role 223 Style Reviewer Role 226 Tier 1 Role 227 Tier 2 Role 229
Appendix B: Service Center Framework Repository Architecture 233 Service Framework Object Overview 233 FrameworkObject Inherited Attributes 234 FrameworkDefinition 236 SkinDefinition 237 TabDefinition 238
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
x
C o n t e n t s
μCellDefinition 239 PanelStackDefinition 240 PanelDefinition 242 Framework Supporting Object Definitions 245
Segmented Options 245 ContentDefinition 245 TemplateDefinition 246
Framework Configuration Objects 247 Configuration Object Inherited Attributes 248 FrameworkConfig 248 ContentConfig 248 TemplateConfig 249 SkinConfig 249 TabConfig 249 CellConfig 249 PanelStackConfig 249 PanelConfig 250
Framework Instance Objects 251 Instance Object Inherited Attributes 251 ContentInstance 251 TemplateInstance 251 FrameworkInstance 251 SkinInstance 252 TabInstance 252 CellInstance 252 PanelStackInstance 253 PanelInstance 253 PanelTarget 254
Service Center Framework 254 atgSubmitAction 255 frameworkUrl 257 Service Center API 258 Adding a New Panel to Service Center 259 Adding a Custom Tab in Service Center 261 Troubleshooting Tab Creation 264
Environment Monitoring 265 Current Ticket Disposition 266 Environment Monitoring Components and Classes 267
Appendix C: ATG Service Repository Tables 271 OptionRepository 271
GlobalOption 271 SelfServiceSiteOption 272 SelfServiceSiteOption 272 SiteSegmentPriority 273 SiteSegmentOption 274
UserOptionRepository 275
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
x i
C o n t e n t s
μUserOption 275
ServiceSegmentRepository 276 Segment 276
ServiceSharedRepository 276 KnowledgeQuery 277 KnowledgeQueryPredicate 278 FavoriteQuery 279 ViewedAnswer 280 RecommendedAnswer 281 KnowledgeSession 282 WindowAttribute 283 SolutionRelevance 283 SolutionStatusTaskDefn 284 Favorites 284 RecommendedReading 285 SpellingDictionary 285 SolutionRedirect 285 Link 286 LinkStatus 287 LinkType 287 LinkValidationReport 287
ServiceRepository 288 EnumeratedListValue 288 DefaultFieldValue 288 Field Definitions 290 BooleanFieldDefinitions 291 ListFieldDefinitions 291 ListFieldDefinitions 292 OrganizationFieldDefinitions 292 FieldDefinitionTypeMetadata 292 SolutionClass 293 SolutionClassFieldDefinition 293 Solution 294 QOAA 295 SolutionStatus 295 TransactionalFragmentParameter 296 TransactionalFragmentParameterListValue 296 JSON Encoding for Solution Information 297
ServiceFrameWorkRepository 305 FrameworkObject 305 ContentDefinition 307 TemplateDefinition 307 FrameworkDefinition 308 SkinDefinition 308 TabDefinition 309 CellDefinition 310 PanelStackDefinition 310
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
x i i
C o n t e n t s
μPanelDefinition 311
Appendix D: ATG Service Context Roots 315 ATG Knowledge Mappings 315 ATG Knowledge with ATG Commerce Mappings 316 ATG Self Service Mappings 317
Appendix E: ATG Service CIM Details 319 Product Compatibility 319 Available Add-ons 319 Server Instances 319
Add On Modifications 319 Data Source Configuration 320
JTDataSource for Agent Server Instance 320 JTDataSource for Production Server Instance 323 Imported Files for Management Server Instance 323 Switching Data Source Configuration 324 Data Warehouse Add On Configuration 325
Index 326
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3
1 - I n t r o d u c t i o n
μ1 Introduction
The ATG Service Installation and Configuration guide provides instruction on installation and configuration of the ATG Service applications, ATG Knowledge, and ATG Self Service, as well as configuration information for Web applications, ATG applications such as ATG Search and ATG Reporting.
Audience This manual is intended for system and site administrators responsible for installing and configuring ATG Service.
Documentation Conventions The following conventions are used in this manual:
Home Directories
<ATG10dir>—the directory where you installed ATG 10.0.2. For example, the default location for Windows installations is c:\ATG\ATG10.0.2
Menu Navigation
The “ > “ (greater than) symbol indicates menu choices. For example, “File > Save” means you should select the Save option on the File menu.
Default Ports This guide uses the hostname:port convention in URLs. The default ports for the application servers are:
JBoss: 8080
WebLogic: 7001
WebSphere: 9080
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4
1 - I n t r o d u c t i o n
μRelated Documents
The following documents comprise the ATG Service offering:
Document Description
ATG Knowledge Configuration Guide Describes the configuration of ATG Knowledge. This book is designed for systems administrators, and assists in the tasks needed for configuring and customizing ATG Knowledge.
ATG Knowledge Guide for Business Users Designed to help business users understand and work with ATG Knowledge using the Service Center user interface. Describes how to perform typical tasks such as searching for content to help customers, creating complex search queries, authoring content, sending content via e-mail, and viewing reports.
ATG Self Service Configuration Guide Describes ATG Self Service concepts and tasks for system administrators, such as installing ATG Self Service, configuring it to work with ATG Search, and adding ATG Self Service to an existing site.
ATG Ticketing Guide for Business Users Describes using ATG Ticketing, including creating, modifying, and working with Tickets. Designed for the ATG Ticketing business user and Customer Service Representative.
The following ATG manuals provide additional reference information:
Document Description
ATG Content Administration Programming Guide
Describes how to set up and customize ATG Content Administration and its browser-based user interface, the ATG Business Control Center. Also describes how to deploy content to a production Web site. Intended for system administrators, developers, and page developers.
ATG Business Control Center Administration and Development Guide
Describes how to configure and customize the ATG Business Control Center. Also describes how to manage user profiles and create organizations and roles. Intended for technical audiences.
ATG Multiple Application Integration Guide Provides “best practice” instructions for installing, configuring, and running multiple ATG applications in an integrated environment.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5
1 - I n t r o d u c t i o n
μDocument Description
ATG Programming Guide Presents a detailed description of Nucleus programming concepts for developers and other advanced users. Includes examples and reference information about developing applications with the Dynamo Application Framework.
Browser and Environment Requirements For information about the supported browsers, environments, and configurations, see http://www.atg.com/en/products-services/commerce/supported-environments/.
Users should enable cookies and scripting in the browser they use to access ATG Service.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6
1 - I n t r o d u c t i o n
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7
2 - I l l u s t r a t i n g t h e A T G S e r v i c e A r c h i t e c t u r e
μ2 Illustrating the ATG Service
Architecture
ATG Service applications allow you to design a commerce site that enables your customers to find information and products quickly and easily. You do this by creating and managing content internally using ATG Knowledge. ATG Self Service allows you to present information to your customers on customer-facing Web sites.
ATG Service Components ATG Service is comprised of several different components. These components can be installed in a number of different combinations.
ATG Knowledge – Creates a knowledgebase of content with either structured content that is displayed as ATG Knowledge solutions, or unstructured content that is associated with tickets and is viewed through an ATG Search content set.
ATG Self Service - Customers can search and browse for the information they need. They can also open tickets should they not find the required information.
ATG Ticketing – ATG Service is integrated with ticketing. Solutions and documents can be linked to tickets. ATG Self Service allows customers to create tickets by escalating their problem to the call center. The Ticketing module is automatically included when starting ATG Service.
The recommended set up for ATG Knowledge and ATG Self Service include a combination of agent, management and production servers, as outlined in the diagram below.
Note: The diagram below shows all of the components of ATG Service. Your installation may not include all these components.
Required ATG Service Dependencies
ATG Service works in tandem with the following ATG products. These products must be installed and configured to work with ATG Service.:
ATG Content Administration (CA) – ATG Service uses CA for solution deployment, versioning, and workflows. Also used for deployment of administrative changes including ATG Self Service configurations, ATG Knowledge configurations, and
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8
2 - I l l u s t r a t i n g t h e A T G S e r v i c e A r c h i t e c t u r e
μsolution Meta data. For additional information, refer to the ATG Content Administration Programming Guide
ATG platform – ATG Service uses the following ATG platform components. For additional information on these components, refer to the ATG Programming Guide:
DPS - external profile repository (customers)
DPS.InternalUsers - internal profile repository (support agent)
DSS – scenarios, slots, and targeters for personalization panels.
BIZUI – ATG Service Administration runs as a panel in the BCC
WEBUI – The agent workspace heavily leverages the DOJO library
AGENT – Uses the agent module for agent events used in ATG Knowledge reporting
ATG Search – ATG Service uses ATG Search for searching, browsing, hot solutions, top solutions and best bets lists. The SearchAdmin module must be running so solutions may be indexed.
Optional ATG Service Dependencies
The following ATG products can also be used with ATG Service
ATG Reporting – Using ATG Customer Intelligence (ACI), Reporting creates reports that allow you to track various aspects of your ATG Service installation. Using ATG Data Warehouse, this reporting is started on an agent server using the Service.KnowledgeDatWarehouse module.
ATG Commerce Service Center (CSC) – Using CSC enables an agent to perform ATG Commerce site tasks, such as creating and managing customer profiles, creating and managing orders, issuing refunds and exchanges, processing returned items, and researching customer activity.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9
2 - I l l u s t r a t i n g t h e A T G S e r v i c e A r c h i t e c t u r e
μ
ATG Service, including ATG Knowledge, ATG Self Service, ATG Commerce Service Center, ATG Data Warehouse, and ATG Search
All application and database servers are located behind your inside firewall. The HTTP (or Web) server for ATG Self Service is placed between the inner and outer firewall, limiting the number of ports that must be opened externally to a single HTTP port on the outer firewall (access to the HTTP server) and a single port per ATG Self Service servlet engine. By default, this is port 8080 on JBoss, 7001 on WebLogic, 9080 on WebSphere.
ATG Knowledge Architecture ATG Knowledge, using ATG Content Administration to deploy content, uses a versioned repository that contains versioned content, search routing information, and Internal User information. ATG Knowledge requires ATG Search server to index its content. In addition to the ATG Knowledge repository, ATG Knowledge also uses a Shared Data repository that runs ATG Ticketing and External User information.
ATG Search works in tandem with ATG Knowledge to provide robust search functionality, including linguistic processing to interpret query meaning and concepts based on syntax and vocabulary. You must install and configure an ATG Search module with its own database.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0
2 - I l l u s t r a t i n g t h e A T G S e r v i c e A r c h i t e c t u r e
μ
You use ATG Service Administration and ATG Content Administration to design a customized experience for your Web site users and deploy changes.
Repositories
ATG Knowledge reads solutions, the UI framework, options, and other administrative items from unversioned and versioned repositories. Items that are edited and read by both ATG Knowledge and ATG Service Administration reside in the following repositories:
ServiceRepository - stores all solutions, solution classes, field definitions and other solution related versioned and unversioned items.
ServiceFrameworkRepository – This repository contains all of the UI framework items like panels, panel stacks, etc.
OptionRepository – This repository contains all of the option related items, such as site options, segmented options and user options. Options are the settings that are edited using the ATG Service Administration application, such as number of results per page, etc.
ServiceSharedRepository - stores service sessions and portions of the solution.
ServiceSegmentRepository - stores the Segment repository items.
UserOptionRepository – Contains option items and provides a way to override global options using Segmented and User options that are partitioned by an optional site. This repository is unversioned and directly edited.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1
2 - I l l u s t r a t i n g t h e A T G S e r v i c e A r c h i t e c t u r e
μFor additional information on Service repositories, refer to Appendix C: ATG Service Repository Tables.
Data Sources
The ATG Service applications use the following connections:
A connection for the agent schema that contains all the versioned tables edited by ATG Knowledge and ATG Service Administration
A connection for the production schema that contains all the data deployed from ATG Knowledge and ATG Service Administration along with the non-versioned data shared between ATG Knowledge and ATG Self Service or for ATG Self Service alone
A connection for the data warehouse schema that is used for reporting
For data import via startSQLRepository, there are four components that must be configured:
/atg/dynamo/service/jdbc/FakeXADataSource_production - the connection information for the production schema
/atg/dynamo/service/jdbc/FakeXADataSource_agent - the connection information for the agent schema
/atg/reporting/datawarehouse/FakeXADataSource - the connection information for the data warehouse schema
/atg/dynamo/service/jdbc/FakeXADataSource - used on the agent server for importing the publishing roles into the InternalProfileRepository
A typical production configuration of ATG Service has the following databases:
Production Database – This ATG Self Service database is where the repositories shared by the Management, Agent, and ATG Self Service servers reside.
Agent Database – This database and contains agent information and is where the versioned ServiceRepository resides.
Management Database – This database defines the BIZUI database for the Management server so the BCC can run on the Management server.
Data Warehouse Database (optional) – If you are running Reporting, all data warehouses need to reside in a single database to generate cross application reports. Both the data warehouse and the data warehouse loader tables should reside in this database.
Switching Database – The switching database is used during production to ensure that database updates do not interfere with the performance of a live site. ServiceSwitchingDataSource_production is the switching data source that always points to the offline production data source. The repository components that deploy solutions and other versioned data to production are configured to use this data source. This data source is used exclusively by ATG Knowledge for publishing deployment. ServiceSwitchDataSource_read points to the live production data source. The repository components used by both ATG Knowledge and ATG Self Service to read production data for use in the applications are configured to use this data source.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2
2 - I l l u s t r a t i n g t h e A T G S e r v i c e A r c h i t e c t u r e
μATG Self Service Architecture
By using ATG Knowledge in tandem with ATG Self Service, you create and manage content that can be deployed to and served on the customer-facing ATG Self Service Web site, also known as the Production server, where customers can search and browse for the information they need.
After configuring the content using ATG Knowledge, the content is deployed to the ATG Self Service server where the content and knowledge base are available to your external customers. ATG Self Service runs on a non-versioned repository and requires ATG Adaptive Scenario Engine. Additionally, ATG Self Service uses a Shared Data Repository to store External User information as well as ticketing information.
In a standard ATG Self Service installation, the following ATG architecture is used:
ATG Self Service is the application that serves the knowledge base to your external customers. It requires ATG Adaptive Scenario Engine.
ATG Service Administration and ATG Content Administration let you design the customized experience for your Web site users and deploy those changes to the ATG Self Service customer-facing server using PublishingAgent. PublishingAgent, which contains ConfigFileSystem components, requires PublishingAgent.Base, which contains RMI and other handling components. For additional information on deployment, refer to the ATG Content Administration Programming Guide.
ATG Search provides robust search functionality, including linguistic processing to interpret query meaning and concepts based on syntax and vocabulary. For information on incorporating ATG Search functionality into your ATG Service installation, refer to the ATG Search Installation and Configuration Guide.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3
2 - I l l u s t r a t i n g t h e A T G S e r v i c e A r c h i t e c t u r e
μ
ATG Self Service and ATG Knowledge Architecture
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4
2 - I l l u s t r a t i n g t h e A T G S e r v i c e A r c h i t e c t u r e
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5
3 - R e q u i r e m e n t s f o r I n s t a l l a t i o n
μ3 Requirements for Installation
Before performing an installation, ensure that you have the necessary environments as outlined below.
Prerequisites for Installing ATG Service Software Before installing ATG Service, you must first install and set up the following:
Java JDK 1.6.0_18. Set the Java PATH and JAVA_HOME environment variables
A supported application server, such as JBoss, IBM WebSphere, or Oracle WebLogic. Consult the ATG Installation and Configuration Guide for your application server
A supported database, such as DB2, Oracle or MSSQL
The ATG 10.0.2 platform, including the ATG Adaptive Scenario Engine and ATG Content Administration, Web Publishing Agent and ATG Customer Intelligence (if using data warehousing for reports). Refer to the ATG Content Administration Programming Guide.
ATG Search (installed on another server). Refer to the ATG Search Installation and Configuration Guide for information about how to download and configure ATG Search
For more information on the supported environments and configurations, see http://www.atg.com/en/products/architecture/requirements.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6
3 - R e q u i r e m e n t s f o r I n s t a l l a t i o n
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7
4 - I n s t a l l i n g A T G S e r v i c e
μ4 Installing ATG Service
Once you have ensured that the requirements for installation have been met, install ATG Service. Installation includes downloading and installing the application files, creating database schemas and configuring data sources.
Installing ATG Service Applications This section describes how to install ATG Service applications in Windows and UNIX environments.
Prerequisites
Before you install ATG Service applications, refer to the Requirements for Installation chapter to ensure that you have installed and configured the necessary components.
Installing ATG Service on Windows
Follow these steps to install ATG Service on Windows:
1. Download the following distribution file from the ATG Web site (www.atg.com):
ATG-Service10.0.2.exe
2. Run the ATG-Service10.0.2.exe file. The Introduction screen appears.
3. Click Next. The License Agreement page appears.
4. Select “I accept the terms of the License Agreement.”
5. Click Next. The Choose Install Set page appears.
6. Select ATG Service Administration and any other of the ATG Service Applications, including ATG Knowledge, ATG Self Service, and ATG Commerce Service Center.
7. Click Next. Follow the prompts to complete installation. When you click Install, the installer completes the installation.
8. Click Done to complete the installation process.
Installing ATG Service on UNIX
Follow these steps to install the ATG Service on UNIX:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8
4 - I n s t a l l i n g A T G S e r v i c e
μ1. Download the following distribution file from the ATG Web site (www.atg.com):
ATG_Service10.0.2.jar
2. Unpack the ATG_Service10.0.2.jar file in the destination folder for ATG Service Administration:
jar xvf ATG_Service10.0.2.jar
3. In the directory where you unpacked the jar file, enter the following command to set execute permissions for the installer package:
chmod 755 ATG-Service10.0.2.bin
4. Run the ATG-Service10.0.2.bin file.
5. Follow the prompts, ensuring that ATG Service Administration and any other ATG applications you wish to install are selected.
6. Click Done to complete the installation process.
Configuring ATG Service with CIM The ATG Configuration and Installation Manager (CIM) simplifies ATG product configuration by providing the steps that perform the configuration. This ensures that all necessary steps are completed and are performed in the correct order. Use CIM to get your installation running quickly; however, additional configuration on your installation may be necessary.
CIM handles the following configuration steps:
Creates data sources according to the database connection information you supplied, including those needed for the ACI data warehouse and ATG Search
Creates database tables and imports initial data
Creates and configures ATG servers, including a lock manager and a required loader servers
Assembles your application EAR files for each ATG server
Deploys EAR files to your application server
Note: Do not use CIM to install ATG Service if you are adding a new ATG Service installation to an existing ATG product. The CIM configuration process will overwrite your existing ATG product configurations. Use CIM if you are installing all ATG products for the first time.
See Appendix E: ATG Service CIM Details for a full listing of the database scripts and configuration files CIM uses. Refer to the CIM script help and the ATG Installation and Configuration Guide for additional information on CIM.
To configure ATG Service using CIM, do the following:
1. Install your application server.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9
4 - I n s t a l l i n g A T G S e r v i c e
μ2. Install your application files.
3. Start CIM by going to <ATG10dir>/home/bin and type:
cim
4. Select the products you want to configure.
5. Select add-ons as appropriate.
6. Continue through CIM according to the prompts. Type H at any prompt for additional information.
Note that CIM does not configure the following:
Standalone ATG Search engines
Your ATG Content Administration topology. See the Setting Up an Asset Management Server chapter of the ATG Content Administration Programming Guide.
ATG Search project, indexing rules, and customizations. See the ATG Search Administration Guide.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0
4 - I n s t a l l i n g A T G S e r v i c e
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μ5 Configuring Databases for ATG
Service
This chapter describes how to create database users, create database schemas, configure data sources, and import the initial configuration data for ATG Service.
ATG Configuration and Installation Manager (CIM) will install and configure the data sources for ATG Service. The following information provides installation and configuration information that can be used as examples should you need to make manual changes to the CIM process.
Prerequisites Make sure you have set DYNAMO_HOME and JAVA_HOME in your environment. The
scripts for importing data invoke the startSQLRepository command, which needs this information.
Make sure that you have created the databases and the database users required for your environment. For more information, refer to the ATG Installation and Configuration Guide.
Required Databases and Users ATG requires five different database user accounts for database configuration. Create the following accounts before configuring the databases.
Database Schema Contents
Agent All the tables for the ATG platform, ATG Publishing, internal users, BCC, ATG Knowledge tables.
Production Unversioned repository tables that are used by ATG Knowledge and ATG Self Service.
If this schema already exists, use the existing schema; do not create a new one.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μDatabase Schema Contents
Management Repository tables that are used by ATG Search.
Data Warehouse Repository tables for data warehouse.
If this schema already exists, use the existing schema; do not create a new one.
Switching database Repository tables for production switching.
Creating Database Schemas Once the database and user accounts have been created, the next step is to create the database schemas. ATG Service provides several scripts that create these schemas. However, before these scripts can be run, they must be edited to include your database and connection information or the variables defined in your scripts must be set in your system variables.
Databases and Switch Deployment
Switch deployment deploys updated assets to off-line areas, and then swaps these with assets on the live site as a single transaction. Production sites should always use switch deployment.
Note: If you have installed ATG Service using CIM and are running ATG Commerce, the switching data sources will be configured for ATG Commerce only. You must manually configure the ATG Service switching data sources as outlined in this section.
Switch deployments require two databases, where the repository assets are updated on the target site’s inactive database while its live database runs undisturbed. These databases should begin with identical content. To accomplish this, you can use the tools provided by your database vendor to make the second database identical to the first database. Alternatively, after you configure the target for switch deployments, you can perform a full deployment to the target.
ServiceSwitchingDataSource_production is the switching data source that always points to the offline production data source. The repository components used by DAF Deployment to deploy solutions and other versioned data to production are configured to use this data source. This data source is used exclusively by ATG Knowledge and exclusively for publishing deployment.
ServiceSwitchDataSource_read is the switching data source that always points to the live production data source. The repository components used by both ATG Knowledge and ATG Self Service to read production data for use in the applications are configured to use this data source.
For information about configuring switching data sources, refer to Configure Switch Deployment.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 3
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μ
Schema Creation Scripts
The following table describes the scripts that create the ATG Service schemas.
Note: If you have already created production and data warehouse schemas for your ATG installation, use the existing schemas. Do not create new production and data warehouse schemas.
SQL File Description
service_framework_agent_all.sql This SQL script packages all of the application and platform framework tables required to run ATG Knowledge.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 4
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μSQL File Description
service_agent_all.sql Each supported database has its own version of the service-all script in the <ATG10dir>/Service10.0.2/Service/install/sc
ripts/database-type directory. This script runs a number of SQL files for your specific environment. You can use your own database tool to run the various SQL files outlined in the create-service-all script.
service_agent.sql Versioned ATG Knowledge tables.
service_agent_platform.sql This SQL script packages all platform tables required to run ATG Knowledge. Use this script to install the required platform tables for your Agent schema but not the application tables.
service_datawarehouse.sql These are the ATG Knowledge and ATG Self Service data warehouse tables and should be installed where other data warehouse tables are installed, usually in a separate DB instance optimized for data warehousing.
service_platform_datawarehouse.sql These are all the data warehouse platform tables. This SQL script should be used if you already have the platform data warehouse tables installed. This SQL script should be installed where other data warehouse tables will be installed, usually in a separate DB instance optimized for data warehousing.
service_datawarehouse_all.sql This SQL script combines service_datawarehouse.sql and service_platform_datawarehouse.sql.
service_framework_production
_all.sql
This SQL script creates the necessary framework and platform tables required to run ATG Knowledge and ATG Self Service in a production schema.
service_production_all.sql This SQL script combines service_production_platform.sql, service_self_service.sql, and service_shared.sql. It is provided as a convenience for setting up demos and QA testing. In a production installation, the data warehouse scripts would not be installed in the production schema.
service_production_platform.sql These are all the production/customer facing platform tables need for ATG Self Service. This SQL script should be used only if you do not already have the platform tables installed in the production/customer facing schema. They are installed on the production/customer facing database server. These are installed as part of the service_production_all.sql file.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 5
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μSQL File Description
service_self_service.sql These are the unversioned tables that are read from and written to by both the ATG Knowledge and ATG Self Service applications. They are installed on the production/customer facing database server. This file is installed by default as part of the service_production_all.sql file.
Note: ATG provides table-drop scripts to match each table-create script; for example, drop-service-all that uninstalls tables as necessary.
Using MSSQL in Multi-Language Sites
Keep the following in mind for multi-language sites:
The default schema uses the non-Unicode data type char or varchar for strings, so only one language encoding is supported by default
If you are configuring a multi-language site with MSSQL, to view Japanese characters correctly when the solution is authored in Japanese, ensure that the useSetCharacterStream attribute is set to true in the components for all repositories. You can set the value for all repositories in your ATG installation by editing the GLOBAL.properties file in the top-level configuration layer
MSSQL and Performance
To significantly improve performance, set the sendStringParametersAsUnicode parameter in the Microsoft SQL server driver. If using the com.microsoft.jdbc.sqlserver.SQLServerDriver, make sure the data source URL includes sendStringParametersAsUnicode=false.
For example:
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=admin;
sendStringParametersAsUnicode=false;SelectMethod=cursor
To Edit and Install the ATG Service Schemas
The create-service-all batch/shell script creates the database tables for all of the ATG Service modules, including ATG Search. For more information, refer to Using ATG Search with ATG Service.
Before running the scripts, you must configure the environment variables file service-env for your database.
1. Open the <ATG10dir>/service10.0.2/Service/install/scripts/service-env.bat file and set the variables for your database.
2. Modify the agent, production, and data warehouse database account name for your environment. The script contains several markers for the following variables. Change the variable information to match your environment.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 6
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μNote: Variable names change between database types, and not all variables are required for all database types:
DYNAMO_HOME – For example: DYNAMO_HOME=C:\ATG\ATG10.0.2\home
DB_USER_AGENT – The name of the agent database user
DB_PWD_AGENT – The password of the agent database user
DB_NAME_AGENT – The name of the agent database
(Oracle only) ORA_TNS_PRODUCTION – The TNS identifier on the production machine
(Oracle only) ORA_TNS_AGENT – The TNS identifier on the agent machine
(Oracle only) ORA_TNS_DW – The TNS identifier on the data warehouse machine
(Oracle only) SEARCH_ORACLE_TNS – The TNS identifier on the search machine
DB_USER_PRODUCTION – Identify the name of the database user on the production machine
DB_PWD_PRODUCTION – The password of the database user on the production machine
DB_NAME_PRODUCTION – The name of the production database
DB_USER_DW – The name of the data warehouse database user
DB_PWD_DW – The password of the data warehouse database user
DB_NAME_DW – The name of the data warehouse database
3. Save the service-env script.
4. Once you have completed the edits, run the <ATG10dir>/Service10.0.2/ Service/sql/install/vendor/create_service_all file.
Configuring FakeXADataSource Files ATG Service applications require multiple data sources for each product. The FakeXADataSource files must be configured to import application data. You can configure your data sources before or after you create your database schema, but you must do it before you import any data.
Note: CIM creates the FakeXADataSource files necessary for your ATG Service installation. Refer to the Appendix E: ATG Service CIM Details for installation information.
The information required includes the database user, password, database URL, and driver, similar to the following example:
driver=oracle.jdbc.OracleDriver
URL=jdbc:oracle:thin:@db_server_name_or_ip:db_port:SID_of_oracle_db
user=databaseuser
password=dbuserpassword
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 7
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μRefer to your database driver documentation to find the appropriate syntax for your database. See your third-party application server documentation for information on the appropriate format for data sources.
FakeXADataSource Files for Importing ATG Service Data
The following table lists the data sources required for ATG Service.
Note: All data sources must be configured on all servers in your installation, including the ATG Service Administration and ATG Content Administration instances.
Data Source Directory Location and File Names
URL Points to…
Purpose
<ATG10dir>/home/localconfig/atg/
dynamo/service/jdbc/
FakeXADataSource_agent
Versioned repository data
Connection information for the agent schema
<ATG10dir>/home/localconfig/atg/
dynamo/service/jdbc/
FakeXADataSource_production
Unversioned repository data
Connection information for the production schema
<ATG10dir>/home/localconfig/
atg/reporting/datawarehouse/
FakeXADataSource
Unversioned repository data
Connection information for the data warehouse schema
The following diagram shows the configuration required for the production, agent, and management servers:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 8
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μ
Configuring Data Sources for JBoss The ATG platform installation includes an XML file that contains the configurations for all the data sources for each application, along with a JNDI name for each data source. The startup script copies this XML file into the JBoss config directory.
JBoss data sources defined for the agent server must use an XA driver to allow for commits across multiple data sources. JBoss data sources defined for the production server can use a local transaction driver.
To configure the data sources for Service, you must add data sources to the JBoss server deploy directory – <JBOSS_HOME>/server/atg/deploy – on the agent and production servers. This directory is created by the ATG installer.
Note: During development and testing, you might install multiple ATG servers on the same machine. In this case, you must add the data sources to separate directories under the <JBOSS_HOME>/server directory.
Enabling XA Data Sources on JBOSS 4.2
JBoss 4.2 uses the Arjuna Transaction Manager, which limits multiple resources in a single transaction. Because ATG Service uses multiple data sources, specifically the FakeXAdatasource, you must enable the use of XA data sources in JBoss 4.2. To do this, modify the following property of the conf/jbossjta-properties.xml file.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 9
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μSet the following category property in the conf/jboss-log4j.xml file to suppress any warnings that may occur when using XA.
<category name="com.arjuna.atg.jta.logging">
<priority value="ERROR"/>
</category>
Configuring the Production Server
Add the following data sources to the <JBOSS_HOME>/server/atg/deploy directory on the production server. The values for these data sources must correspond to the connection information configured in the FakeXADataSource components.
ATGProductionDS
ATGDataWarehouseDS
The following example configures the ATGDataWarehouseDS data source on Oracle:
<xa-datasource>
<jndi-name>ATGDataWarehouseDS</jndi-name>
<track-connection-by-tx/>
<isSameRM-override-value>false</isSameRM-override-value>
<xa-datasource-class>
oracle.jdbc.xa.client.OracleXADataSource
</xa-datasource-class>
<xa-datasource-property name="URL">
jdbc:oracle:thin:@name:1521:utf81020
</xa-datasource-property>
<xa-datasource-property name="User">oracleuser</xa-datasource-property>
<xa-datasource-property name="Password">oraclepw</xa-datasource-property>
<no-tx-separate-pools/>
</xa-datasource>
Configuring the Agent Server
Add the following data sources to the <JBOSS_HOME>/server/atg/deploy directory on the agent server. The values for these data sources must correspond to the connection information configured in the FakeXADataSource components.
ATGProductionDS
ATGAgentDS
ATGDataWarehouseDS
The following example configures the ATGDataWarehouseDS data source on Oracle:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
4 0
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μ<xa-datasource>
<jndi-name>ATGDataWarehouseDS</jndi-name>
<track-connection-by-tx/>
<isSameRM-override-value>false</isSameRM-override-value>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource
</xa-datasource-class>
<xa-datasource-property name="URL">
jdbc:oracle:thin:@name:1521:utf81020
</xa-datasource-property>
<xa-datasource-property name="User">oracleuser</xa-datasource-property>
<xa-datasource-property name="Password">
oraclepw
</xa-datasource-property>
<no-tx-separate-pools/>
</xa-datasource>
Configuring the Management Server
Add the following data sources to the <JBOSS_HOME>/server/atg/deploy directory on the management server. The values for these data sources must correspond to the connection information configured in the FakeXADataSource components.
ATGProductionDS
ATGAgentDS
ATGDataWarehouseDS
The following example configures the ATGDataWarehouseDS data source on Oracle:
<xa-datasource>
<jndi-name>ATGDataWarehouseDS</jndi-name>
<track-connection-by-tx/>
<isSameRM-override-value>false</isSameRM-override-value>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource
</xa-datasource-class>
<xa-datasource-property name="URL">
jdbc:oracle:thin:@name:1521:utf81020
</xa-datasource-property>
<xa-datasource-property name="User">oracleuser</xa-datasource-property>
<xa-datasource-property name="Password">
oraclepw
</xa-datasource-property>
<no-tx-separate-pools/>
</xa-datasource>
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
4 1
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μ
Default Non-Switching Server Component Configuration
Enabling XA Data Sources on MS SQL You must enable XA data sources if you are using MS SQL.
1. Ensure that Microsoft SQL Server is installed and configured with the databases as outlined above.
2. Set the Microsoft Distributed Transaction Coordinator (DTC) Service from Manual to Automatic in the Windows Services panel. Note: If the DTC Service is not running, restart the SQL Server. The DTC Service must be started before the SQL Server Service starts for the SQL Server’s JDBC driver to operate in XA mode. Whenever changes are made to the DTC Service, you must restart the SQL Server.
3. Copy the sqljdbc_xa.dll from the XA subdirectory in the JDBC driver distribution to the MSSQL/bin and MSSQL/91/DTS/bin directory of the SQL Server installation.
4. Windows 2003 only: You must add registry keys to the DTC key for XA support. Refer to the Microsoft knowledgebase Web site for additional information.
5. Enable XA transactions for the DTC by accessing Start > Control Panel > Administrative Tools > Component Services. Open the Component Services tree option, and select your computer from the Computers directory. Right click on your computer to access the Properties panel. Select the MSDTC tab, and click the Security Configuration button. Select the Enable XA Transactions check box and click OK to save your settings. Restart the SQL Server manually once the DTC Service is running.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
4 2
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μ6. Start the SQL Server Management Studio and connect to the local database engine as
the system administration. Open the xa_install.sql file from the subdirectory of the downloaded and extracted JDBC driver. Execute the script by selecting Query > Execute.
7. Verify that the DTC Service started properly by accessing the management node of your database server in the SQL Server Management Studio. The DTC icon will contain a green arrow if the SQL Server has recognized the DTC Service. If there is no arrow on the DTC entry, ensure that the DTC was restarted before the database and that the sqljdbc_xa.dll is in the MSSQL/bin directory.
8. In the SQL Server Management Studio, add the SqlJDBCSAUser role to the admin, svcagent and reporting users by executing the following script while replacing the ‘admin' name with the name of your database users:
USE master
GO
EXEC sp_grantdbaccess 'admin'., 'admin'
GO
EXEC sp_addrolemember [SqlJDBCXAUser}, 'admin'
9. Verify the assignment of the SqlJDBCXAUser role by opening the master schema in the systems databases and looking at the role in the security folder. All of the users you added should be listed as members.
Note: Windows XP requires a hot fix to allow XA transactions to work. If you have installed Service Pack 3, the hot fix has been applied. Refer to the Microsoft Support knowledgebase Web site for additional information.
Importing Initial Configuration Data Once you have created and configured the data source files, run the appropriate data initialization script to import initial configuration data into the repositories. This data includes default solution classes, global field definitions, solution statuses, and UI Options, among other items.
Note: CIM runs the data import scripts. Refer to the Appendix E: ATG Service CIM Details for import information.
All scripts are located in <ATG10dir>/Service10.0.2/Service/install/scripts/import-scripts directory. Run the appropriate file to install the ATG Service data.
Note: The DYNAMO_HOME environment variable must be set before running import scripts. If the DYNAMO_HOME variable is not set, the script will attempt to find DYNAMO_HOME by looking for the startSQLRepository script in a directory relative to where these scripts are installed.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
4 3
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μData Initialization Script Included Data
import-roles This script imports all of the roles needed by subsequent import scripts and must be run before executing other agent import scripts as noted below with the exception noted below as well.
import-agent-all
Usage:
import-agent-all [-s servername]
This script imports all of the data needed for the agent platform and application repositories. It first calls the import-roles script and then calls import-agent-platform and import-agent scripts.
import-agent-platform
Usage:
import-agent-platform [-
s servername]
This script imports all of the data needed for the agent platform repositories. The roles imported by the import-roles script must be imported before running this script.
import-agent
Usage:
import-agent [-s servername]
This script imports all of the data needed for the agent platform repositories. The roles imported by the import-roles script must be imported before running this script.
import-production
Usage:
import-production [-s servername]
This script imports all of the data needed for the ATG Knowledge and ATG Self Service production repositories. The agent roles do not need to be loaded before running this script.
import-service-all
Usage:
import-service-all [-a agent-
server-name] [-p production-server-
name]
This script is provided as a convenience for loading both the Agent and Production data. It assumes that two server configurations have been setup, one for agent and one for production as noted above.
Editing WAS_HOME and WL_HOME Variables
If your installation includes an Oracle WebLogic or IBM WebSphere application server running on Windows, perform the following steps to edit the WAS_HOME or WL_HOME variable set in your system environment. If you have more than one of the above variables set, modify the lines for each variable:
1. Comment out the following lines in the <ATG10dir>/bin/j2eeEnv.bat file:
If you have defined WL_HOME, comment out the CLASSPATH=%CLASSPATH%; %WL_HOME%/server/lib/weblogic.jar line.
If you have defined WAS_HOME, comment out the CLASSPATH=%CLASSPATH%; %WAS_HOME%/lib/j2ee.jar line.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
4 4
5 - C o n f i g u r i n g D a t a b a s e s f o r A T G S e r v i c e
μ2. Add the following line to the <ATG10dir>/home/localconfig/
postEnvironment.bat file:
If you have defined WL_HOME, add CLASSPATH=%CLASSPATH%; %WL_HOME%/server/lib/weblogic.jar.
If you have defined WAS_HOME, add CLASSPATH=%CLASSPATH%; %WAS_HOME%/lib/j2ee.jar.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
4 5
6 - C r e a t i n g t h e A T G S e r v i c e S e r v e r s
μ6 Creating the ATG Service Servers
ATG Configuration and Installation Manager (CIM) creates the ATG servers during the installation process. The following information is provided should you need to make modifications to the installation and configuration of the servers.
Use the makeDynamoServer script to create the servers for ATG Knowledge, ATG Self Service, and ATG Search. You will need to know the RMI and DRP port numbers for each server.
The RMI port allows various components of ATG Service to communicate. The default value of the RMI port is 8860.
The DRP port number identifies each server as a unique ATG server instance. The DRP port number must be unique on a given host. The default value of the DRP port is 8850.
The makeDynamoServer script will create a directory for each server in the <ATG10dir>/home/ servers directory. These directories will contain the properties files for each server.
Creating the Servers Note: CIM creates and configures the servers. Refer to the Appendix E: ATG Service CIM Details for information.
To create the servers:
1. From the <ATG10dir>/home/bin directory on each server, run the makeDynamoServer command. The command should include the server name, and the RMI and DRP ports of the server. The default command is:
makeDynamoServer Servername RMIport DRPport
The following example uses the server name KnowledgeServer and uses the default RMI and DRP ports:
makeDynamoServer KnowledgeServer 8860 8850
2. Repeat the command to create the number of servers you have in your environment on each server with different ports.
For example, if you are using ATG Self Service with ATG Search, create three servers for:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
4 6
6 - C r e a t i n g t h e A T G S e r v i c e S e r v e r s
μ svcagent or the agent-facing server directory
svcadmin or the customer-facing server directory
svcsearch or the management server directory
Configuring the Servers The following steps use the example environment outlined above. Configure the servers according to your environment.
Configuring the Agent-Facing Server 1. Create a JTDataSource.properties file in <ATG10dir>/home/servers/
svcagent/localconfig/atg/dynamo/service/jdbc. Edit the file to contain:
$class=atg.nucleus.JNDIReference
JNDIName=java:/ATGAgentDS
2. Create a JTDataSource_production.properties file in <ATG10dir>/ home/servers/svcagent/localconfig/atg/dynamo/service/jdbc. Edit the file to contain:
$class=atg.nucleus.JNDIReference
JNDIName=java:/ATGProductionDS
3. If you are using ATG Reporting, create a JTDataSource.properties file in the <ATG10dir>/home/servers/svcagent/localconfig/atg/reporting/
datawarehouse directory. Edit the file to contain:
$class=atg.nucleus.JNDIReference
JNDIName=java:/ATGDataWarehouseDS
4. If you are using ATG Reporting, create a JTDataSource.properties file in the <ATG10dir>/home/servers/svcagent/localconfig/atg/
reporting/datawarehouse/loaders directory. Edit the file to contain:
$class=atg.nucleus.JNDIReference
JNDIName=java:/ATGDatawarehouseDS
5. Edit the Configuration.properties file in <ATG10dir>/home/ servers/svcagent/localconfig/atg/dynamo directory. Edit the file to contain:
adminPort=admin_port_number
siteHttpServerPort=http_server_port_number
Configuring the Customer-Facing Server 1. Create a JTDataSource.properties file in <ATG10dir>/home/servers/
svcadmin/localconfig/atg/dynamo/service/jdbc. Edit the file to contain:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
4 7
6 - C r e a t i n g t h e A T G S e r v i c e S e r v e r s
μ$class=atg.nucleus.JNDIReference
JNDIName=java:/ATGProductionDS
2. Create a SearchJTDataSource.properties file in /atg/search/service/that points ATG Search to the correct location of your other data sources. Refer to the ATG Search Installation and Configuration Guide for additional information.
3. If you are using ATG Reporting, create a JTDataSource.properties file in <ATG10dir>/home/servers/svcadmin/localconfig/atg/reporting/dataware
house. Edit the file to contain:
$class=atg.nucleus.JNDIReference
JNDIName=java:/ATGDataWarehouseDS
4. If you are using ATG Reporting, create a JTDataSource.properties file in the <ATG10dir>/home/servers/svcadmin/localconfig/atg/reporting/
datawarehouse/loaders directory. Edit the file to contain:
$class=atg.nucleus.JNDIReference
JNDIName=java:/ATGDatawarehouseDS
5. Edit the Configuration.properties file in the <ATG10dir>/home/ servers/svcadmin/localconfig/atg/dynamo directory. Edit the file to contain:
adminPort=admin_port_number
siteHttpServerPort=http_server_port_number
Configuring the Management Server 1. Create a JTDataSource.properties file in <ATG10dir>/home/servers/
svcsearch/localconfig/atg/dynamo/service/jdbc. Edit the file to contain:
$class=atg.nucleus.JNDIReference
JNDIName=java:/ATGProductionDS
2. Create a JTDataSource_production.properties file in <ATG10dir>/ home/servers/svcsearch/localconfig/atg/dynamo/service/jdbc. Edit the file to contain:
$class=atg.nucleus.JNDIReference
JNDIName=java:/ATGProductionDS
3. Edit the Configuration.properties file in <ATG10dir>/home/ servers/svcsearch/localconfig/atg/dynamo directory. Edit the file to contain:
adminPort=admin_port_number
siteHttpServerPort=http_server_port_number
4. Create a RemoteSolutionAuxiliaryDataAdapter.properties file in the <ATG10dir>/servers/svcsearch/localconfig/atg/searchadmin/
adapter/customization directory. Edit the file to contain:
initialRepositories+=/atg/userprofiling/
PersonalizationRepository_production
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
4 8
6 - C r e a t i n g t h e A T G S e r v i c e S e r v e r s
μConfiguring the LockManager and SQL Repository
CIM configures the lock servers and lock managers during installation and configuration. The following information is provided as additional detail.
Lock servers synchronize caches among ATG servers to maintain data integrity, even if an item is modified at the same time by different servers. Configure the ClientLockManager.properties and the ServerLockManager.properties files to ensure all servers are using the correct ports. For additional information on ClientLockManager and ServerLockManager properties, refer to the SQL Repository Caching section in the ATG Repository Guide.
For each SQL repository that contains any item descriptors with cache-mode=“locked” you must set the lockManager property of the Repository component to refer to a ClientLockManager. ATG comes configured with a default client lock manager located at LockManager=/atg/dynamo/service/ ClientLockManager.
By default, the ClientLockManager component has its useLockServer property set to false, which disables the lock server. To use locked mode repository caching, this property must be set to true. For example:
$class=atg.service.lockmanager.ClientLockManager
lockServerAddress=tartini,corelli
lockServerPort=9010,9010
useLockServer=true
The following diagram displays an example of a configuration using the Lock ports of 9010, 9011, and 9012.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
4 9
6 - C r e a t i n g t h e A T G S e r v i c e S e r v e r s
μ
ServerLockManager on Customer-Facing Servers
The customer-facing servers should define a primary ServerLockManager instance. Additionally, there should be a defined ClientLockManager, which points to the primary ServerLockManager. You can configure backup ServerLockManager instances for redundancy if needed.
ClientLockManagers on Agent-Facing Servers
Agent-facing servers must use the Customer facing cluster lock manager for any shared repositories, and individually scheduled services. The agent-facing servers must define a ClientLockManager_production, which points to the ServerLockManager used by the customer-facing server.
Configuring the LockManager
You must configure the ClientLockManager.properties and the ServerLockManager.properties files to ensure that all servers are using the correct ports.
You can configure the lock managers for any unique and unused ports on your system, however the ports must match. The following example uses the ports 9010, 9011 and 9012:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
5 0
6 - C r e a t i n g t h e A T G S e r v i c e S e r v e r s
μ
Server Name
ServerLockManager ClientLockManager ClientLockManager_production
Agent-Facing Server
Port 9011 Port 9011 Port 9010
Management Server
Port 9012 Port 9010 NA
Customer-Facing Server
Port 9010 Port 9012 Port 9010
1. Open the <ATG10dir>/home/servers/svcagent/localconfig/atg/ dynamo/service/directory.
2. Create a ClientLockManager.properties file. Edit the file to contain the following:
useLockServer=true
lockServerPort=9011
3. Create a ClientLockManager_production.properties file. Edit the file to contain the following:
lockServerAddress=ProductionLockServerHostname
useLockServer=true
lockServerPort=9010
4. Create a ServerLockManager.properties file. Edit the file to contain the following:
lockServerPort=9011
5. Create an <ATG10dir>/home/servers/svcagent /localconfig/atg/ dynamo/server/SQLRepositoryEventServer.properties file. Edit the file to contain the following:
clientAddress=servername
clientPort=18860
6. If you are using ATG Self Service, open the <ATG10dir>/home/servers/ svcadmin /localconfig/atg/dynamo/service/directory.
7. Create a ClientLockManager.properties file. Edit the file to contain the following:
useLockServer=true
lockServerPort=9010
8. Create a ServerLockManager.properties file. Edit the file to contain the following:
lockServerPort=9010
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
5 1
6 - C r e a t i n g t h e A T G S e r v i c e S e r v e r s
μConfiguring the ATG Search Requirements
Perform the following steps if you are using ATG Search:
1. Open the <ATG10dir>/home/servers/svcsearch/localconfig/ atg/dynamo/service/directory.
2. Create a ClientLockManager.properties file. Edit the file to contain the following:
useLockServer=true
lockServerPort=9012
3. Create a ClientLockManager_production.properties file. Edit the file to contain the following:
useLockServer=truelockServerPort=9010
4. Create a ServerLockManager.properties file. Edit the file to contain the following:
lockServerPort=9012
5. Create an <ATG10dir>/home/servers/svcsearch /localconfig/atg/ dynamo/server/SQLRepositoryEventServer.properties file. Edit the file to contain the following:
clientAddress=servername
clientPort=18860
Using Window Scoped Failover With window scoped failover, upon server failure, an agent working in ATG Service remains logged in with the current ticket and profile information displayed in the global context area. The agent sees no change because of the failover.
Properties of window-scoped components can be targeted for window backup by adding them to the windowBackupPropertyList property of the /atg/dynamo/servlet/pipeline/ WindowScopeManager component. Upon session failover, the configured property values will be restored. These component property values must implement Serializable to be properly backed up.
The following components are failed over by ATG Service by default:
/atg/svc/ticketing/TicketHolder.currentTicket
/atg/svc/ticketing/TicketHolder.editing
/atg/svc/ticketing/ViewTicketHolder.currentTicket
/atg/svc/ticketing/ViewTicketHolder.editing
/atg/userprofiling/ActiveCustomerProfileFailService.uidForFailover
/atg/userprofiling/ActiveCustomerProfileFailService.dataSource
/atg/userprofiling/ServiceCustomerProfileFailService.uidForFailover
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
5 2
6 - C r e a t i n g t h e A T G S e r v i c e S e r v e r s
μ /atg/userprofiling/ServiceCustomerProfileFailService.dataSource
/atg/svc/agent/environment/CallState.callActive
/atg/svc/agent/environment/CallState.generatedCallId
/atg/svc/agent/environment/CallState.stateDataMap
/atg/svc/agent/environment/CallState.startTime
Adding Additional Components
Note: Making modifications to the existing window scoped and session scoped properties files may cause failover to not work as expected.
Add failover components for any customized code that you have written by modifying the config/atg/dynamo/servlet/pipeline/WindowScopeManager.properties file in your custom module. You must add your customized components into the windowBackupPropertyList+= /new/custom/component.property list.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
5 3
7 - C o n f i g u r i n g A T G R e p o r t i n g
μ7 Configuring ATG Reporting
This chapter describes how to configure the ATG Reporting Framework (ARF) and ATG Customer Intelligence (ACI) for an ATG Service configuration that includes ATG Knowledge, ATG Self Service, and ATG Search. ARF collects data and loads it into the ATG Data Warehouse, where you can use ACI to access and analyze it. Use ACI components to view or create business reports related to your internal and external customer interactions, to analyze data, to perform ad hoc queries, and to create dashboards and scorecards.
For information on installing and configuring ACI, refer to the ATG Customer Intelligence Installation and Configuration Guide. For information about the ATG Data Warehouse, refer to the ATG Customer Intelligence Data Warehouse Guide.
Before You Begin This chapter assumes that you are using the server architecture described in the ATG Multiple Application Integration Guide. This model includes a management server running ATG Content Administration, ATG Search, and other administrative applications, an optional external facing or production server on which ATG Self Service runs, an internal-facing server for ATG Knowledge, and a dedicated data-loading server for reporting.
Note: ATG Configuration and Installation Manager (CIM) installs and configures ATG Reporting. This information is provided should you need to install ATG Reporting manually. Refer to the Appendix E: ATG Service CIM Details for additional information.
It also assumes that the following JNDI data sources have been defined in your application server:
production (customer-facing) database
agent (agent-facing) database
management database
data warehouse
Before you use the procedures in this chapter to configure reporting for the ATG Service applications, you must install the following ATG applications:
Install ATG Service as described in Installing ATG Service.
Install ATG Search as described in Using ATG Search with ATG Service.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
5 4
7 - C o n f i g u r i n g A T G R e p o r t i n g
μ Install ATG ACI as described in the ATG Customer Intelligence Installation and
Configuration Guide
Make sure the database connection from the ACI to the data warehouse schema is working:
1. Open the ATG Reporting Center.
2. Click Tools > Directory and click the Data Sources tab.
3. In the list of data sources, click the name of the ATG data warehouse.
4. Under Actions, click More > Test the Connection.
Installing ATG Service Reports ATG Knowledge and ATG Self Service are preconfigured with a number of reports. ATG Knowledge and ATG Self Service use ATG Customer Intelligence (ACI) to analyze data and provide reports.
ATG Knowledge comes preconfigured with multiple reports on solution and user data. For more information about ATG Knowledge reports, refer to the ATG Knowledge Configuration Guide.
ATG Self Service comes preconfigured with a de-escalation report, which provides information about the percentage of de-escalations and the rate of successful de-escalations. For more information about ATG Self Service reports, refer to the ATG Self Service Configuration Guide.
Installing the Reports
This section describes how to install deployment archives for ATG Service reporting applications. Each archive includes packages, folders, and any preconfigured reports available for that application.
1. Navigate to the appropriate import location:
ATG Knowledge: <ATG10dir>/Service10.0.2/Service/KnowledgeDataWarehouse/ deployment/Knowledge.zip
ATG Self Service: <ATG10dir>/Service10.0.2/Service/SelfServiceDataWarehouse/ deployment/Self Service.zip
ATG Search: <ATG10dir>/ARF/DW/Search/deployment/Search.zip
2. Copy the report archive (.zip) file to <ACI10.0.2>/c8/deployment.
3. Open the ATG Reporting Center.
4. Click Tools > Content Administration.
5. Click the New Import link to display a list of the report archives that are available for importing. This list should include all the ZIP files you copied in steps 1 and 2.
6. Select a ZIP file and complete the import process, following the wizard instructions. Repeat this step for each report archive you want to import.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
5 5
7 - C o n f i g u r i n g A T G R e p o r t i n g
μ7. Once the import is complete, you will see a folder called ATG in the home page of the
Dashboard. Click this folder to display the reports.
Accessing Report Metadata
Each ATG Service application has its own metadata model, used to create the supplied reports:
ATG Search: <ATG10dir>/ARF/DW/Search/cpf/Search.cpf
ATG Knowledge: <ATG10dir>/Service10.0.2/Service/KnowledgeDataWarehouse/
cpf/Knowledge.cpf
ATG Self Service: ATG10dir>/Service10.0.2/Service/SelfServiceDataWarehouse/
cpf/Self_Service.cpf
For complete information on the metadata models for each product, see the ATG Customer Intelligence Data Warehouse Guide.
Creating the Data Warehouse All ATG applications share a single data warehouse. Data warehouse tables can be housed in any supported database in your system. For performance reasons your database should be tuned for data warehousing; see your database vendor documentation for information. It is strongly recommended that the data warehouse reside in a separate database instance from other ATG data.
Note: This section describes how to create data warehouse tables for an ATG Service installation. For information about creating data warehouse tables for other ATG applications, see the ATG Customer Intelligence Installation and Configuration Guide.
The steps for creating data warehouse tables include:
1. Creating the data warehouse tables.
2. If your data warehouse loader is not in your production schema, creating data loader local tables.
Creating Data Warehouse Tables
To create the data warehouse tables, you load an SQL script into the data warehouse database. The script creates:
The data warehouse tables for the ATG platform, ATG Knowledge, ATG Self Service, and ATG Search.
The data loader tables. These tables are used to queue log files for processing and to track load execution. In the event of a failure, load progress resumes where it left off.
ATG recommends that you create the data warehouse loader tables in your production schema.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
5 6
7 - C o n f i g u r i n g A T G R e p o r t i n g
μTo create the data warehouse, load the following SQL script into the data warehouse database:
<ATG10dir>/Service10.0.2/Service/sql/install/db_name/
service_datawarehouse_all.sql
Creating the Data Loader Local Tables
If you did not create the data warehouse tables in your production schema, you must also create data loader local tables. These tables are used by the data loader server, and represent the minimal set of tables required by the ATG platform. These tables should be part of your data warehouse loaders local schema.
Note: All data warehouse loaders are designed to run on a single server. This includes Search Administration, ATG Self Service, and ATG Knowledge data warehouse loaders. If you are running ATG Commerce or other ATG applications, the data warehouse loaders for those applications can also run on the same data warehouse loader server. It is recommended that all of the data warehouse loaders run on a separate application server.
To create data loader local tables, run the following script:
<ATG10dir>/DAS/sql/install/db_name/das_ddl.sql
Configuring the Production Server In an ATG Service configuration, the production, or customer facing, server collects data about site visits, search history, and escalations.
Configurations in this section should be made in the customer-facing server’s <ATG10dir>/home/servers/server_name/localconfig directory.
To configure the customer-facing server:
1. Enable data collection.
2. Configure production data sources.
3. Enable the firing of search events.
Enabling Data Collection
Enable data collection by enabling logging on the server. ARF records generic events, such as site visits, and search events to rotating log files using logger components that run on the agent-facing and customer-facing servers. These log files are processed by loader components running on the data warehouse loader server. By default, the loggers and loaders look for these log files in the server’s logs directory /home/servers/this_server/logs. This is a different location for the loggers and loaders so the logger and loader fileSystem property must be overridden to point to a common location.
To enable data collection:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
5 7
7 - C o n f i g u r i n g A T G R e p o r t i n g
μ1. Create an <ATG10dir>/home/servers/server_name/localconfig/
atg/dynamo/service/DWDataCollectionConfig.properties file.
2. Edit the file to contain the following:
enabled=true
defaultRoot=log_file_directory
The log_file_directory can be any place in your system accessible to both the production and data loader servers.
Configuring Production Data Sources
Configure the production data sources for the data warehouse loader repository by creating three properties files.
To configure production data sources:
1. Create a <ATG10dir>/home/servers/server_name/localconfig/atg/dynamo/ service/jdbc/DirectJTDataSource.properties file and edit the file to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for production datasource
2. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/dynamo/ service/jdbc/DirectJTDataSource_production.properties file and edit the file to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for production datasource
3. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/ reporting/datawarehouse/loaders/JTDataSource.properties file and edit the file to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for production datasource
Enabling ATG Search Events Firing
If your ATG Service environment includes ATG Search, enable the firing of search events by configuring six properties files.
To enable search events firing:
1. Create the following files in the <ATG10dir>/home/servers/server_name/ localconfig directory:
/atg/search/routing/command/search/BrowseRequest.properties
/atg/search/routing/command/search/CategorizeRequest.properties
/atg/search/routing/command/search/QueryRequest.properties
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
5 8
7 - C o n f i g u r i n g A T G R e p o r t i n g
μ/atg/search/routing/command/search/SimilarDocsRequest.properties
/atg/search/routing/command/search/StructuredQueryRequest.properties
/atg/search/routing/command/search/ViewDocumentRequest.properties
2. Edit each file to include the following line:
firingSearchEvents=true
Configuring the Management Server The management server collects information about changes to ATG Search projects, changes to ATG Search environments, and changes to topics.
Configurations in this section should be made in the management server’s <ATG10dir>/home/servers/server_name/localconfig directory.
To configure the management server:
1. Enable data collection by enabling logging on the server.
2. Configure data sources.
3. Import default reporting roles, groups, and permissions.
4. Disable the Scenario Manager service.
Enabling Data Collection
Enable data collection by enabling logging on the server. ARF records generic events, such as site visits, and search events to rotating log files using logger components that run on the agent-facing and customer-facing servers. These log files are processed by loader components running on the data warehouse loader server. By default, the loggers and loaders look for these log files in the server’s logs directory /home/servers/this_server/logs. This is a different location for the loggers and loaders so the logger and loader fileSystem property must be overridden to point to a common location. To do this, define a virtual file system (VFS) component and point the loggers and loaders at that component.
To enable data collection:
1. Create an <ATG10dir>/home/servers/server_name/localconfig/ DWDataCollectionConfig.properties file.
2. Edit the file to contain the following:
enabled=true
defaultRoot=log_file_directory
The log_file_directory can be any place in your system accessible to both the management and data loader servers.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
5 9
7 - C o n f i g u r i n g A T G R e p o r t i n g
μConfiguring the Data Sources
Configure the data source for the data warehouse loader repository by creating three properties files.
To configure the data sources:
1. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/dynamo/ service/jdbc/DirectJTDataSource_production.properties file.
2. Edit the file to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JNDI_name_for_loader_datasource
3. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/ reporting/datawarehouse/loaders/JTDataSource.properties file and edit the file to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for production datasource
Importing Reporting Roles and Groups
Import the default reporting roles and groups into your profile repository. These roles can then be assigned to users.
Note: If you have already installed other applications, such as ATG Commerce, the data imported in this step may already exist; re-importing the roles may cause errors. Check your system and your application documentation before proceeding.
To import the data, issue the following command from a command prompt:
startSQLRepository -m ARF.BIZUI –repository
/atg/userprofiling/InternalProfileRepository –import
<DYNAMO_ROOT>/ARF/BIZUI/data/arf-profile.xml
<ATG10dir>/home/bin/startSQLRepository -m PubPortlet
-repository /atg/userprofiling/InternalProfileRepository -import
<ATG10dir>/ARF/BIZUI/data/arf-profile.xml
Disabling the Scenario Manager Service
Disable the scenario manager component of a server if you will not run, edit, or view scenarios. See instructions for disabling the scenario manager component in the ATG Personalization Programming Guide.
Configuring the Agent-Facing Server The agent-facing server collects data about orders, returns, calls, and solution activity.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
6 0
7 - C o n f i g u r i n g A T G R e p o r t i n g
μConfigurations in this section should be made in the server’s <ATG10dir>/home/servers/server_name/localconfig directory.
To configure the server:
1. Enable data collection by enabling logging on the server.
2. Configure data sources.
3. Enable the firing of search events.
Enabling Data Collection
Enable data collection by enabling logging on the server. ARF records generic events, such as site visits, and search events to rotating log files using logger components that run on the agent-facing and customer-facing servers. These log files are processed by loader components running on the data warehouse loader server. By default, the loggers and loaders look for these log files in the server’s logs directory /home/servers/this_server/logs. This is a different location for the loggers and loaders so the logger and loader fileSystem property must be overridden to point to a common location. To do this, define a virtual file system (VFS) component and point the loggers and loaders at that component.
To enable data collection:
1. Create an <ATG10dir>/home/servers/agent_server_name/localconfig/atg/ dynamo/service/DeploymentDWDataCollectionConfig.properties file.
2. Edit the file to contain the following:
enabled=true
defaultRoot=log_file_directory
The log file directory can be any place in your system accessible to both the publishing and data loader servers. By default, the loggers and loaders look for log files in the <ATG10dir>/home/servers/agent/logs directory.
Configuring the Data Sources
Configure the data source for the data warehouse loader repository by creating three properties files.
To configure the data sources:
1. Create an <ATG10dir>/home/servers/agent/localconfig/atg/dynamo/ service/jdbc/DirectJTDataSource_production.properties file.
2. Edit the file to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JNDI_name_for_production_datasource
3. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/reporting/dataw
arehouse/loaders/JTDataSource.properties file and edit the file to contain the following:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
6 1
7 - C o n f i g u r i n g A T G R e p o r t i n g
μ$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for agent datasource
Enabling ATG Search Events Firing
If your ATG Service environment includes ATG Search, enable the firing of search events by configuring the following six properties files.
To enable search events firing:
1. Create the following files in the <ATG10dir>/home/servers/ server_name/localconfig directory:
/atg/search/routing/command/search/BrowseRequest.properties
/atg/search/routing/command/search/CategorizeRequest.properties
/atg/search/routing/command/search/QueryRequest.properties
/atg/search/routing/command/search/SimilarDocsRequest.properties
/atg/search/routing/command/search/StructuredQueryRequest.properties
/atg/search/routing/command/search/ViewDocumentRequest.properties
2. Edit each file to include the following line:
firingSearchEvents=true
Configuring the Data Warehouse Loader Server The data loaders are responsible for loading the logged data into the ATG Data Warehouse. ATG Knowledge and ATG Self Service each have its own data loader. The two data loaders can run on the same server. Note: Data loaders must run on a dedicated server.
Configurations in this section should be made in the data warehouse loader server’s <ATG10dir>/home/servers/server_name/localconfig directory.
To configure the data warehouse loader server:
1. Enable data collection by enabling logging on the server.
2. Configure data sources.
3. Configure lock management.
4. (optional) Change the default time zone for the server.
Enabling Data Collection
Enable data collection by enabling logging on the server. ARF records generic events, such as site visits, and search events to rotating log files using logger components that run on the agent-facing and customer-facing servers. These log files are processed by loader components running on the data warehouse loader server. By default, the loggers and loaders look for these log files in the server’s logs directory /home/servers/this_server/logs. This is a different location for the loggers and loaders so
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
6 2
7 - C o n f i g u r i n g A T G R e p o r t i n g
μthe logger and loader fileSystem property must be overridden to point to a common location. To do this, define a virtual file system (VFS) component and point the loggers and loaders at that component.
To enable data collection:
1. Create an <ATG10dir>/home/servers/server_name/localconfig/ DWDataCollectionConfig.properties file.
2. Edit the file to contain the following:
enabled=true
defaultRoot=log_file_directory
The log_file_directory can be any place in your system accessible to both the management and data loader servers.
Configuring the Data Sources
Configure the data sources for the data warehouse repository, schemas, and local data warehouse loader machine. In this step, you will create five properties files.
To configure the data sources:
1. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/ reporting/datawarehouse/loaders/DirectJTDataSource.properties file and edit it to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for data warehouse datasource
2. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/dynamo/ service/jdbc/DirectJTDataSource_production.properties file and edit it to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for production datasource
3. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/ reporting/datawarehouse/loaders/JTDataSource.properties file and edit the file to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for production datasource
4. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/dynamo/ service/jdbc/DirectJTDataSource.properties file and edit it to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for local datasource
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
6 3
7 - C o n f i g u r i n g A T G R e p o r t i n g
μ5. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/dynamo/
service/jdbc/DirectJTDataSource_agent.properties file and edit it to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for agent datasource
6. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/dynamo/ service/jdbc/DirectJTDataSource_management.properties file and edit it to contain the following:
$class=atg.nucleus.JNDIReference
JNDIName=JDNI name for management datasource
Configuring the Lock Managers
The data loaders use a lock manager to ensure that only a single loader at a time is processing a log file. This section describes how to create three properties files that configure the client lock manager for the data warehouse loader server, the agent server and the production server. For additional information on the ClientLockManager property, refer to the “SQL Repository Caching” section in the ATG Repository Guide.
To configure the lock managers:
1. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/dynamo/ service/ClientLockManager.properties file and edit it to contain the following:
lockServerAddress=lock server hostname
lockServerPort=lock server port
useLockServer=true
2. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/dynamo/ service/ClientLockManager_production.properties file and edit it to contain the following:
lockServerAddress=lock server hostname
lockServerPort=lock server port
useLockServer=true
3. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/dynamo/ service/ClientLockManager_agent.properties file and edit it to contain the following:
lockServerAddress=lock server hostname
lockServerPort=lock server port
useLockServer=true
Configuring the Data Warehouse Time Zone
The default time zone used for loading data into the data warehouse is UTC (Coordinated Universal Time), which is essentially the same as GMT (Greenwich Mean Time).
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
6 4
7 - C o n f i g u r i n g A T G R e p o r t i n g
μTo change the time zone:
1. Create an <ATG10dir>/home/servers/server_name/localconfig/atg/ reporting/datawarehouse/loaders/TimeRepositoryLoader.properties file.
2. Edit it to contain the following:
dateTimeZoneID=tz database timezone
tz database timezone is a code from the public domain TZ database. For example, the following line sets the time zone to US Central Standard Time (UTC -6 hours):
dateTimeZoneID=CST
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
6 5
8 - A s s e m b l i n g A T G S e r v i c e
μ8 Assembling ATG Service
This chapter provides specific instructions for compiling and building ATG Service.
ATG Configuration and Installation Manager (CIM) assembles ATG Service when running the installation and configuration scripts. The following information is provided should you need to manually assemble ATG Service.
Prerequisites Before assembling the ATG Service modules, you must have configured and set up your data sources, as outlined in the previous chapters.
Using the runassembler Command To assemble the ATG Service Applications, use the –runassembler command. The syntax for the command is:
-runassembler option output-file-name –m dynamo-module-list
Useful options include:
-usage prints out usage instructions, including syntax and options
-standalone configures the assembled EAR in standalone mode, or on a server that does not have ATG installed. In Standalone mode, all the files needed to run the application are included within the EAR.
-liveconfig configures the production level caching
-server servername indicates the server that you are creating if you are assembling multiple instances on one server.
For additional information on assembling an EAR file, refer to the Developing and Assembling Nucleus-Based Applications chapter in the ATG Programming Guide.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
6 6
8 - A s s e m b l i n g A T G S e r v i c e
μAssembling ATG Knowledge
To assemble ATG Knowledge, you create an EAR file that includes the modules ATG Knowledge requires using the <ATG10dir>/home/bin/runAssembler tool. Before assembling the file, identify which modules you will require.
Module Name Description Additional Information
service.Knowledge Required Includes ATG Knowledge
service.Admin Required Includes the ATG Knowledge administration platform
service.Management Required Must run this module on the publishing server
service.Ticketing Required Initiates ATG Ticketing
To create an EAR file for ATG Knowledge on an IBM WebSphere or JBoss application server:
1. Open the runAssembler script located in the <ATG10dir>/home/bin directory to create an EAR file.
In the following example, MyKnowledgeApplication.ear represents the EAR file:
runAssembler –server svcagent –standalone –liveconfig
MyKnowledgeApplication.ear –m Service.Knowledge Service.Admin
Note: The –standalone flag configures the assembled EAR in standalone mode, or on a server that does not have ATG installed. In Standalone mode, all of files needed to run the application are included within the EAR. This flag is required.
For detailed instructions on assembling ATG applications for third-party application servers, see the appropriate section in the ATG Installation and Configuration Guide.
2. Deploy the resulting EAR files to your application server and start them according to the instructions in your application server documentation.
3. The SQL database and the DistributorServer must be running before you start your ATG applications. To start the DistributorServer on your HTTP server machine(s), run the startNucleus –m Distributor command under ATGWebServerExtensions_dir/home/bin.
Assembling ATG Self Service Perform the following steps to build ATG Self Service with an IBM WebSphere or JBoss application server.
Before assembling the file, identify the ATG Service modules that you will require.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
6 7
8 - A s s e m b l i n g A T G S e r v i c e
μModule Name Description Additional Information
Service.SelfService Required for ATG Self Service customer-facing server
Includes ATG Self Service
PublishingAgent Required Allows you to deploy structured content with ATG Knowledge.
1. Open the runAssembler script located in the <ATG10dir>/home/bin directory to create an EAR file.
In the following example, MySelfServiceApplication.ear represents the EAR file and contains the optional Service.SelfServiceDataWarehouse module for Reporting.
runAssembler –server svcadmin –standalone –liveconfig
MySelfServiceApplication.ear –m Service.SelfService
PublishingAgent
Note: The –standalone flag configures the assembled EAR in standalone mode, or on a server that does not have ATG installed. In Standalone mode, all of files needed to run the application are included within the EAR. This flag is required.
For detailed instructions on assembling ATG applications, see the appropriate section in the ATG Installation and Configuration Guide.
2. Deploy the resulting EAR files to your application server and start them according to the instructions in your application server documentation.
3. The SQL database and the DistributorServer must be running before you start your ATG applications. To start the DistributorServer on your HTTP server machine(s), run the startNucleus -m Distributor command under ATGWebServerExtensions_dir/home/bin.
4. You must run a separate Publishing Web Agent to deploy structured content. To start the Publishing Web Agent, run the following command from <ATG10Webdir>/home/bin:
startNucleus -m PublishingWebAgent
Assembling ATG Reporting The following modules are required when installing ATG Reporting. Refer to the instructions for installing Assembling ATG Knowledge.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
6 8
8 - A s s e m b l i n g A T G S e r v i c e
μModule Name Description Additional Information
ARF.base Required Must be running on the Production, Agent, and Management servers
Note: ARF.base is required for search loggers to record search events.
ARF.BIZUI Required Must be running on the management server.
Including this module in your application EAR file ensures that the ATG Business Control Center (BCC) includes a link to ATG Reporting Center. It also enables the platform passport service. When a BCC user logs on, the atg_passport cookie is added to the browser. This cookie contains signed authentication credentials about the user, which are used to log that user in to the Reporting Center.
Note: To support single sign-on between ACI and the BCC, both products must use the same Web server instance. All ACI users must set their browser preferences to accept cookies.
ARF.DW.Search.InternalUsers Required Must be running on the data loader server
Include this module when ATG Knowledge is used with ATG Search
ARF.WSCAP Required Must be running on the management server
SearchAdmin.DataWarehouse Required Must be running on the data loader server
Include this module when ATG Knowledge or ATG Self Service is used with ATG Search
Service.SelfService Required Must be running on the Production or Customer Facing server
PublishingAgent Required Must be running on the customer-facing server
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
6 9
8 - A s s e m b l i n g A T G S e r v i c e
μService.Knowledge Required Must be running on the agent-facing
server
Service.Admin Required Must be running on the agent-facing server
Service.KnowledgeDataWarehouse Required Must be running on the data loader server
Service.SelfServiceDatawarehouse Required Must be running on the data loader server
DPS-UI Required Must be running on the management or search server
Assembling ATG Search To assemble ATG Search, create an EAR file that includes the modules ATG Knowledge requires using the <ATG10dir>/home/bin/runAssembler tool. Before assembling the file, identify which modules you will require. Refer to the ATG Installation and Configuration Guide for additional information.
Module Name Description Additional Information
DafEar.Admin Required Installs the Administration UI for ATG Service.
SearchAdmin.AdminUI Required Installs the Search Administration UI
DAF.Search.Base.QueryConsole Required Installs DAF Search UI
To create an EAR file for ATG Knowledge on an IBM WebSphere, Oracle WebLogic, or JBoss application server:
1. Open the runAssembler script located in the <ATG10dir>/home/bin directory to create an EAR file.
2. Run the runAssembler script.
In the following example, MySearchApplicaiton.ear represents the EAR file and contains the optional Service.KnowledgeDataWarehouse module for Reporting:
runAssembler –server svcsearch –standalone –liveconfig
MySearchApplication.ear -m DafEar.Admin SearchAdmin.AdminUI
DAF.Search.Base.QueryConsole
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
7 0
8 - A s s e m b l i n g A T G S e r v i c e
μNote: The –standalone flag configures the assembled EAR in standalone mode, or on a server that does not have ATG installed. In Standalone mode, all of the files needed to run the application are included within the EAR. This flag is required.
For detailed instructions on assembling ATG applications for third-party application servers, see the appropriate section in the ATG Installation and Configuration Guide.
3. Deploy the resulting EAR files to your application server and start them according to the instructions in your application server documentation.
Starting the Servers Once you have assembled and deployed the .ear files as outlined in your application server documentation, you must start the servers. Refer to your application server documentation for information on starting the servers.
Ensuring HTTPS Connectivity ATG Service uses SSL when logging in. When using HTTPS, you must disable the default access controller. The <ATG10dir>/Service10.0.2/Service/Agent/liveconfig/atg/userprofiling/ ProtocolAccessController.properties file identifies a number of different settings required when using HTTPS. Configure the ProtocolAccessController file as follows:
1. Opening the ProtocolAccessController, disable the access controller by modifying the following parameter:
enabled=false
2. The following properties redirect the HTTP scheme to an HTTPS scheme. Values come from /atg/dynamo/configuration component.
siteHttpServerName =/atg/dynamo/Configuration.siteHttpServerName
httpPort =/atg/dynamo/Configuration.httpPort
httpsPort =/atg/dynamo/Configuration.httpsPort
For example, to configure a server named Commerce using JBoss, the following properties must be defined for the ProtocolAccessController. This example uses JBoss port settings on 8080 and 8443 ports:
/atg/dynamo/Configuration.siteHttpServerName=commerce
/atg/dynamo/Configuration.httpPort=8080
/atg/dynamo/Configuration.httpsPort=8443
3. Configure the list of URLs that must be secure using the securePageList component. Using the securePageList allows you to identify specific pages of your application that must be secure.
securePageList=/agent/login.jsp
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
7 1
8 - A s s e m b l i n g A T G S e r v i c e
μTo secure all pages set the component secureAllPages=true.
Configuring JBOSS SSL
To configure the SSL settings in JBOSS, perform the following steps:
1. Edit the JBoss home/server/server name/deploy/jbossweb-tomcat55.sar/servers.xml file. After the AJP connector definition, add the following:
<!-- SSL/TLS Connector configuration using the ATG keystore -->
<Connector port="8443" address="${jboss.bind.address}"
maxThreads="100" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
scheme="https" secure="true" clientAuth="false"
keystoreFile="DYNAMO_ROOT/DAS/keystore/atg-ssl.jks"
keystorePass="atgkey" sslProtocol = "SSLv3"
truststoreFile="DYNAMO_ROOT/DAS/keystore/cacerts.jks"
truststorePass="changeit"/>
Note: You must replace DYNAMO_ROOT with the path to your ATG installation. For IBM JVMs, you may need to specify algorithm="IbmX509."
2. If you need to specify a different HTTPS port than 8443, then you will also need to match the redirectPort attribute of the other connector definitions to match that port.
3. If installing a Web-server or other proxy to a JBoss instance, you will need to set the proxyHost, and proxyPort attributes as well.
For further information, refer to your JBoss Web Application Server documentation.
Configuring Oracle WebLogic
To configure Oracle WebLogic, perform the following steps:
1. Open the WebLogic console.
2. In the Domain Structure tree on the left, open Environment/Servers.
3. Select your server on the right.
4. Scroll until you see “SSL Listen Port Enabled” and verify if this option is checked.
5. If the option is not checked, click Lock and Edit.
6. Check SSL Listen Port Enabled.
7. Save the configuration.
8. Click Activate to configure SSL.
For further information, refer to your Oracle WebLogic Web Application Server documentation.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
7 2
8 - A s s e m b l i n g A T G S e r v i c e
μConfiguring IBM WebSphere
To configure IBM WebSphere, perform the following steps:
1. Open the IBM WebSphere console.
2. Select Security > SSL Certificate and Key Management from the tree.
3. Configure the settings as outlined in your IBM WebSphere Web Application Server documentation.
Note: For IBM JVMs, you may need to specify algorithm="IbmX509."
Accessing the ATG Service Interfaces Note: Your browser should have cookies and scripting enabled.
Use the following URLs to access the ATG Service components:
You can access ATG Knowledge at http://hostname:port/agent
You can access ATG Self Service at http://hostname:port/service
You can access the BCC at http://hostname:port/atg/bcc
The hostname is the name of the machine the ATG Service application is running on. The port is the port number that your application server uses to listen for requests; see the ATG Installation and Configuration Guide for information on your application server.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
7 3
9 - U s i n g A T G S e a r c h w i t h A T G S e r v i c e
μ9 Using ATG Search with ATG Service
Note: ATG Search should be installed before installing ATG Service. See the ATG Search Installation and Configuration Guide for instructions on downloading and installing ATG Search.
Service administrators can access the Search Management Console for ATG Self Service and ATG Knowledge from the ATG Service Administration user interface.
Configuring the ATG Search Server When you install ATG Knowledge and/or ATG Self Service, you must also install a separate instance of ATG Search for each server. It is ATG Best Practice to install a dedicated ATG Search server.
To configure the ATG Search server to work with ATG Service, perform the following steps. For additional information, refer to the ATG Search Installation and Configuration Guide.
Configuring the ATG Search Engine and Deploy Share
You must identify the location of the ATG Search Engine for routing purposes.
1. Open the <ATG10dir>/home/servers/svcsearch/localconfig/ atg/search/routing/directory. If the directory does not exist, create it.
2. Create a LaunchingService.properties file.
3. Edit the file to contain the following path:
engineDir=<ATG10dir>/Search10.0.2/SearchEngine
deployShare=drive name/SearchDeploymentPath
Configuring the ATG Search Environment The ATG Configuration and Installation Manager (CIM) configures the majority of your search environment when it installs the ATG Service and ATG Search products. This section provides instructions for making the remaining configurations.
To configure the search environment for ATG Service and ATG Search:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
7 4
9 - U s i n g A T G S e a r c h w i t h A T G S e r v i c e
μ1. Make sure that your ATG products have been installed successfully and that the ATG
Configuration and Installation Manager (CIM) has successfully deployed your servers. Start the servers and make sure that they are running without errors.
See information about installing and starting ATG software in the ATG Installation and Configuration Guide.
2. Open the BCC that is running on your asset management server (http://server-name:port-number/atg/bcc). Log into the application.
3. Choose Search Administration > Browse Search Projects.
4. Click the link for ATG Service from the list of search projects in the Projects pane.
5. Click the link for ATG Knowledge Solutions from the list of content names in the Content for Indexing section.
6. Enter the hostname and RMI port of your agent server in the Host Machine and RMI Port fields. The agent server is the server on which the Service Center is running.
7. Click Save.
8. Choose Indexing from the Projects menu in the left pane.
9. Click the Build Index button. Make sure that ATG Search builds the index and deploys it successfully.
10. Configure the search environment on your agent server. See Configuring Search Environments.
11. Index the ATGProfileBulk environment. See Indexing the ATGProfileBulk Environment.
Content Sets
The search project for your ATG Knowledge content may include multiple content sets. A content set is a group of related information resources that ATG Search performs searches on as a unit.
You can use content sets to limit the search function on the Research tab of the Service Center. If you have configured multiple content sets in your search project, you can specify which content sets will be included when the Service Center performs a search. Use the Content Sets control in the Advanced Options section of the search screen.
See information about using content sets to search for files and solutions in the ATG Knowledge Guide for Business Users. See information about adding content sets to a search project in the ATG Search Administration Guide.
Incremental Indexing
Incremental indexing was previously run through a schedule (by default once an hour) run by the syncTaskDefintion. This schedule was editable using Search Administration.
Now incremental indexing must be invoked manually. The /atg/search/repository/ SolutionIndexingDeploymentListener component runs an indexing job when a deployment occurs. If the deployment is incremental, an incremental indexing job is run. If a full deployment occurs, a full indexing job is run.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
7 5
9 - U s i n g A T G S e a r c h w i t h A T G S e r v i c e
μThe SolutionIndexingDeploymentListener depends on the incremental syncTaskDefinition name being “Service-Incremental” and the full syncTaskDefinition being called “Service-Full.” When you install ATG Service, the installation process will ensure that two syncTaskDefinition exist with these names.
A check is run once every 60 minutes to determine if a deployment is required. If deployment is not necessary, the incremental indexing job does not run. However, a manual deployment can be run at anytime using the BCC. The deployment schedule is defined using /atg/epub/deployment/ RecurringDeploymentService.schedule
Note: The /atg/search/SynchronizationInvoker/ component on the agent server needs to configure the host and port settings to point to the RMI port of the Search Administration server.
Configuring Multi-Language Search
If you need to configure your search server to run multi-language searches, perform the following:
Create a New Content Text Processing Option (TPO)
1. On the ATG Search server, open the Search Administration.
2. Go to the Search Work Bench > Customizations > Text Processing Option Sets > Content TPO Sets page.
3. Select Create New Content TPO Set.
4. Enter a Content TPO Set name.
5. In the Input Language option, select Use Content Level Setting Option and select the language for this set.
6. Click Save to save this Content TPO Set name.
Add a File System:
1. Open the ATG Service project and select Content from the Projects tab.
2. In the Content Set panel, click Add Content.
3. Enter the Content Set Name
4. Open the Indexing Options Panel. In the Text Processing Option, select the TPO Set created above.
5. Change the Content Item Type to Index as Unstructured.
6. Select the Type of Content to be File System.
7. Enter the content file path, and click Add to create the content.
For additional information, refer to the ATG Search Installation and Configuration Guide.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
7 6
9 - U s i n g A T G S e a r c h w i t h A T G S e r v i c e
μ
Root Topics
ATG Knowledge associates solutions with the topics that you configure in your ATG Search project. ATG Self Service displays these topics when users open the browse screen or use topics to focus search results. Root topics are the topics that are displayed when a user first opens the browse screen or views search results. Users can select the topics and view the solutions they contain. If root topics contain subtopics, user can expand them and view the solutions they contain.
You can configure more than one topic to be the root topics of an ATG Self Service site. See instructions in the ATG Self Service Configuration Guide.
Defining Topic Sets per Country and Language
The language attribute on the Topic Set in the Search Workbench can limit the topics you browse by country. If a topic set does not have a language associated with it, the topic set will use all languages.
To control topic sets by country, use the /atg/searchadmin/repository/service/TopicService/ localeTopicSetMap. If localeTopicSetMap is set, it overrides the language properties associated with the topic sets.
The Locale Code is either a language code, or a language code and a country code, and a colon-delimited string of topic set names. A topic set can be associated with more than one locale. If associated with a language, the topic set is available in all countries where that language applies. For example:
en=topic set1:topic set2,de=topic set2:topic set3,en_US=topic
set4,en_UK=topic set 5
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
7 7
9 - U s i n g A T G S e a r c h w i t h A T G S e r v i c e
μConfiguring Remote Host information
ATG Search auxiliary data adapters updates solutions that order and update the hot solutions and top solutions list. You need to ensure that the remoteHost and remotePort numbers are set on the search server to associate the solution auxiliary data adapter.
1. On the ATG Search server, open <ATG10dir>/home/servers/svcsearch/ localconfig/atg/searchadmin/adapter/customization and create a file entitled RemoteSolutionAuxiliaryDataAdapter.properties.
2. Configure the file with the following information:
remoteHost=KnowledgeServerName
remotePort=KnowledgeServerRMIPort
enabled=true
3. Re-index the search project to enable these settings.
When the RemoteSolutionAuxiliaryDataAdapter is enabled, you will see a Hot and Top Solutions Meta-Data customization item in the auxiliary customization items in the Customizations section of the Content tab of the search project.
Categorizing Topics If topics are not assigned to a solution, the ATG Knowledge server can be configured to perform one of the following:
Auto-categorize the solution by assigning the same topics that shows up in the suggested topic list in the Contribute tab. This is the default action.
Categorize the solution against a configurable set of default topics.
Assign no topics to the solution. The topics will allow you to find the solution through a browser when topic constraints are applied in a search. However, the topics are not explicitly assigned to the solutions and will not be shown in the solution’s topics property.
Note: A solution must have at least one topic, or it will be auto-categorized. ATG Search uses the topic /Topics/Other as a catchall for content that has no other topics.
Configuring Default Topic Settings
To configure topic and solution categorization options, perform the following steps:
1. On the agent-facing server, use the ACC to access the //application/service/ main/common/src/config/atg/repository/search/indexing/
SolutionPropertyAccessor.properties file and set the defaultTopicIds parameter and/or the autoCategorizeSoltuionWithNoTopics parameter.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
7 8
9 - U s i n g A T G S e a r c h w i t h A T G S e r v i c e
μ2. Use the defaultTopicIds parameter to assign a default topic to a solution if the
solution has no topic.
3. Leave defaultTopicIds blank or set defaultTopicIds to -1 to stop default topic assignment to the solution and the solution from being auto-categorized. The defaultTopicIds parameter is ignored if autoCategorizationSolutionWithNoTopics is set to true and the defaultTopicIds parameter is left blank.
4. Save your changes and exit the ACC.
See the ATG Search Installation and Configuration Guide for further information on configuring topics and solutions with ATG Search.
Configuring Profile Search ATG Knowledge uses an enhanced search method for Customer Profiles that provides search scalability and near-real time indexing of profile changes. This search process is embedded, and does not require the installation and setup of a Search Administration server, as it is configured and administered using the Nucleus Administration UI. This search process is not used for ticket or product searches.
Note: To run profile searches you must add the DPS.Search.Index module to your EAR file on each customer facing and management server.
Profile Search Overview
The profile search configuration is comprised of the following:
A routing component - The routing component allows you to create and administer search environments, as well as handle the live updates of the index
Indexing Output Configurations - An Indexing Output Configuration (IOC) is a component with an associated definition file. The definition file is a standard XML document that defines the repository items, such as fields, that create the search index. The definition document profile-output-config.xml is created for the profile index.
An Indexing Service - The Indexing Service tracks updates in a particular environment and passes information to the routing component to ensure the index is updated.
Indexing Methods
Profile search supports both incremental and bulk indexing. Incremental indexing occurs in real time, and as such, does not require an index deployment.
Incremental indexing, which is enabled by default, checks for modifications to profiles every five seconds from multiple environments. During some operations, such as modification, backup, or restoration of an environment, incremental indexing is not available. During these operations, incremental updates are queued until incremental indexing is restored.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
7 9
9 - U s i n g A T G S e a r c h w i t h A T G S e r v i c e
μBulk indexing, which is started from the IOC component, recreates the complete index and is performed in a temporary staging environment. When the bulk indexing job is completed, the temporary staging environment is swapped with the live environment. During the time that the bulk index is running, searches are performed in the live environment. However, incremental updates are queued and not applied until the bulk indexing job has completed and the environments are swapped.
Customer profile information is queued using incrementalItemQueue, which obtains requests from any server but are processed on the server that executed the indexing request.
Profile Search Components
The following components from DAF.Search.Index are used for profile searches.
/atg/search/repository/IncrementalItemQueue
/atg/search/repository/IncrementalItemQueueRepository
/atg/search/repository/ConfigStatePersister
/atg/search/repository/ConfigAndRepositoryPersister
/atg/search/repository/IncrementalLoader - DPS.Search.Index appends the ProfileOutputConfig to the monitoredOutputConfig property. When the IndexingPeriodicService runs, the IncrementalLoader will process queued indexing requests for each of the IOCs.
/atg/search/repository/BulkLoader
/atg/search/repository/IndexingPeriodicService – Configured in DPS.Search.Index to run every two seconds by default. All servers are configured with the IndexingPeriodicService set to enabled. However, the IndexingPeriodicService only indexes an IOC that has the component enableIncrementalLoading=true and incrementalUpdateSeconds > 0. As such, you should only set the incrementalUpdateSeconds > 0 on servers that will be used for indexing.
The ProfileOutputConfig.incrementalUpdateSeconds is set to 30 by default to ensure that at least one server will process the queued incremental indexing requests. In a production environment, it is recommended that you set incrementalUpdateSeconds=-1 on the agent-facing server and configure incrementalUpdateSeconds>0 on the management server. Incremental indexing can be enabled on any background server that is running DPS.Search.Index.
The IndexingPeriodicService clears any expired configuration claim locks each time it runs using the checkExpiredConfigurationClaimsIntervalSeconds property, which checks for expired configuration claim locks every n seconds. Each time the IndexingPeriodicService runs, it checks to see if the time elapsed has exceeded this interval.
The following components are also used in the profile search process:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
8 0
9 - U s i n g A T G S e a r c h w i t h A T G S e r v i c e
μComponent Description
/atg/userprofiling/search/
ProfileOutputConfig
The profile IOC. Defined in the DPS.Search.Index module so that an indexing request can be queued wherever a profile is added or updated. The component creates the profile-output-config.xml definition file.
/atg/search/repository/
LiveDocumentSubmitter
A special document submitter that updates the index in near real time. This component is defined in the DAF.Search.Index module.
/atg/userprofiling/search/
AddressPropertyAccessor
Uses the atg.repository.search.indexing. accessor.ConcatenatePropertyAccessor class to concatenate address1, address2 and address3 into a single indexed address metaproperty.
/atg/search/repository/
AlphaNumericPropertyAccessor
Removes non-alpha-numeric characters from the indexed meta property. Used to strip white space and punctuation from phoneNumber to promote better search consistency.
Configuring Servers for Search
For every server that creates, updates, or deletes profiles, you must perform the following:
1. Add the DPS.Search.Index module to the EAR file on the servers, if not already present. Add this module to the EAR file for your customer-facing and management servers also.
2. Pick an internal server that will be your live indexing server. This is configured by default to be the customer-facing server. You can modify this setting; however, you must use a dedicated non-agent facing server.
3. Configure the processing of live indexing requests. Set the following property in the /localconfig directory of the customer-facing server:
/atg/userprofiling/search/ProfileOutputConfig
incrementalUpdateSeconds=-1
Set the following property in the /localconfig directory of the management server:
/atg/userprofiling/search/ProfileOutputConfig
incrementalUpdateSeconds=5
By setting incrementalUpdateSeconds to a positive value, you enable incremental indexing of profiles on the management server. The value you enter is the frequency to check for profiles to index. The value you set depends on how often you need the profile indexed.
4. Set the following /localconfig /atg/search/routing/ LaunchingService values on your indexing and agent-facing servers. The
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
8 1
9 - U s i n g A T G S e a r c h w i t h A T G S e r v i c e
μdeployment share directory is a single shared directory where master copies of indexes are stored. For additional information, refer to the Installing Search chapter of the ATG Search Installation and Configuration Guide:
deployShare=drive:/yourSharedDirectory/yourDeployShareMainDirectory
engineDir=drive:/path to Search Engine
For example:
deployShare=C:\ATG\DeployShareMain
engineDir=C:\ATG\ATG10.0.2\Search10.0.2\SearchEngine
Configuring Search Environments
Each Search project creates an indexing environment on the local machine. Configuration of profile search is done using the ATG Dynamo Server Admin. For additional information on search environments, refer to the Managing Search Environments chapter of the ATG Search Administration Guide.
1. Open the ATG Dynamo Server Admin at http://hostname:port/dyn/ admin/nucleus/atg/search/routing/LiveIndexingService/
2. Click the Create New Environment link. A button appears for creating profile search environments.
3. Click the button to create the environments and enter the details of your search engine. You can either select the check box for your existing machine or enter the address of another machine.
4. Click the Environments link to display the current default environments. Two environments, a live indexing and a bulk indexing, are created for the profile process.
Note: If you choose different environment names than the default ATGProfile, you must edit the /atg/userprofiling/search/ProfileSearchConfiguration component to reflect the search environment names and corresponding logical partition names.
5. Use the Environment page to add, delete, or administer your environments.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
8 2
9 - U s i n g A T G S e a r c h w i t h A T G S e r v i c e
μIndexing the ATGProfileBulk Environment
To index the ATGProfileBulk environment:
1. Open the ATG Dynamo Server Admin utility running on your agent server.
2. Open the /atg/userprofiling/search/ProfileOutputConfig/ component in the component browser.
3. Invoke the bulkLoad method of the ProfileOutputConfig component.
Disabling Profile Indexing
If your ATG Service configuration does not display a Customer tab, you can disable profile indexing. To disable profile indexing, change the /atg/userprofiling/search/ ProfileOutputConfig.enableIncrementalLoading to false on all servers that run the DPS.Search.Index module.
Performance Tips for Searching You can increase search performance by making modifications to the default number of results and solutions displayed.
Modifying Number of Results Returned
You can lower the number of results users see per page to enhance search performance. If your searches consistently return result sets larger than 10, decrease the number of results displayed per page to 10.
1. Use the BCC to access Service Admin Configuration > Service Project > Self Service > Global Service Center Settings > User Preferences Defaults > Answers per Page.
2. Change the results number as required.
3. Save your changes.
Modifying Number of Solutions Displayed
It is also possible to increase search performance by modifying the number of solutions displayed in the Solution Queue.
1. Use the ACC to modify the /atg/svc/agent/ui/AgentUIConfiguration component.
2. Change the taskTabTasksPageSize= parameter. The default is 10.
3. Modify the taskTabTasksSortable= parameter to enable sorting within the Task Tab page. Changing the parameter from the default false to true enables sorting within a page.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
8 3
1 0 - I m p l e m e n t i n g S o l u t i o n D e p l o y m e n t
μ10 Implementing Solution Deployment
This chapter describes how to use ATG Content Administration deployment to publish solutions internally, to targets accessed by agents using the Service Center, and externally, to an ATG Self Service environment.
Note: Before you set up solution deployment, read the Deployment Concepts chapter in the ATG Content Administration Programming Guide. Make sure you understand the different types of deployment and the situations in which they should be used.
Before You Begin This chapter assumes that you are using the server architecture described in the ATG Multiple Application Integration Guide. This model includes a management server running ATG Content Administration, ATG Search, and other administrative applications (sometimes called an administration or asset management server), an optional customer facing or production server on which ATG Self Service runs, and an internal-facing server for ATG Knowledge.
Before you use the procedures in this chapter, you must install the following ATG applications:
Install ATG Service on each applicable server in your staging and/or production target as described in Installing ATG Service.
Configure ATG Search as described in Using ATG Search with ATG Service.
This chapter describes the steps required to set up solution deployment. Many steps for solution deployment setup are identical to those for setting up any other ATG Content Administration deployment. When this is the case, this document provides a cross-reference to the section of the ATG Content Administration Programming Guide that documents the step. Steps that are unique to or different in solution deployment are documented in this section.
Deployment Concepts Before you set up solution deployment, read the Deployment Concepts chapter in the ATG Content Administration Programming Guide. This chapter introduces concepts and features that are central to ATG Content Administration deployment.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
8 4
1 0 - I m p l e m e n t i n g S o l u t i o n D e p l o y m e n t
μSetting up Solution Deployment
To set up solution deployment:
1. Plan deployment topology—that is, the target sites and agents that make up the environment where you deploy solutions.
2. Set up deployment agents.
3. Within each deployment target:
Configure the deployment mode for target servers: either configure switch deployment, or configure online deployment.
Manage asset security on target sites: adopt a strategy to protect the ATG Content Administration-managed assets on the target from user modification.
4. Configure the management server:
Configure deployment data sources and destination repositories used by the DAF deployment system.
Define the deployment topology for use by the Deployment Server.
If your environment has several ATG Content Administration clusters, configure deployment from multiple management server clusters to the same site, if desired.
Initialize target sites.
5. (Optional) On the management server and/or target servers, configure deployment event listeners that listen for deployment events and take appropriate action.
6. Schedule deletion of empty folders for folders whose assets moved to a renamed folder.
7. (Optional) Cache checksums for file assets in order to optimize deployment of file assets.
Plan Deployment Topology
The DeploymentServer requires information about the production and staging targets where assets are to be deployed. In order to provide this information you define the deployment topology—that is, deployment targets and their individual servers where agents are installed. Before you do so, however, knowledge of the topology is required for several earlier steps in the deployment configuration process. For this reason, you should plan the deployment topology as the first step towards deployment setup.
For details, refer to the Plan Deployment Topology section of the Setting up Deployment chapter in the ATG Content Administration Programming Guide.
Set Up Deployment Agents
Every ATG Service installation requires a Publishing agent to manage solution deployment to internal (ATG Knowledge) and external (ATG Self Service) targets. For details about installing and running Web
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
8 5
1 0 - I m p l e m e n t i n g S o l u t i o n D e p l o y m e n t
μPublishing agents, refer to the Set up Deployment Agents section of the Setting up Deployment chapter in the ATG Content Administration Programming Guide.
Note: Because the Publishing agent is installed by default with the Adaptive Scenario Engine, installation steps for this agent are not included in the ATG Content Administration Programming Guide.
Configure Switch Deployment
Switch deployment deploys updated assets to off-line areas, and then swaps these with assets on the live site as a single transaction. Production sites, for both ATG Knowledge and ATG Self Service, should always use switch deployment. ATG Service components are configured to use switch deployment by default.
All ATG Service versioned repositories should use a target with a switched data sources:
/atg/svc/ServiceRepository
/atg/svc/ServiceSegmentRepository
/atg/svc/option/OfferRepository
/atg/svc/ui/framework/ServiceFrameworkRepository
ServiceSwitchingDataSource_production is the switching data source that always points to the offline production data source. The repository components used by DAF Deployment to deploy solutions and other versioned data to production are configured to use this data source. This data source is used exclusively by ATG Knowledge and exclusively for publishing deployment.
ServiceSwitchDataSource_read is the switching data source that always points to the live production data source. The repository components used by both ATG Knowledge and ATG Self Service to read production data for use in the applications are configured to use this data source.
For more information about switch deployment, see the section Configure Switch Deployment in the Setting up Deployment chapter of the ATG Content Administration Programming Guide.
Configure Online Deployment
Online deployment deploys updated assets directly to the live site. Online deployment is appropriate only for development and testing. For details about configuring online deployment, refer to the Configure Online Deployment section of the Setting up Deployment chapter in the ATG Content Administration Programming Guide.
Manage Asset Security on Target Sites
Assets that are created and managed in the content development environment should not be modified directly on the target site. Therefore, it is important to secure target site assets to prevent changes that are outside the control of the content development environment.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
8 6
1 0 - I m p l e m e n t i n g S o l u t i o n D e p l o y m e n t
μFor information on securing target sites, see the Manage Asset Security on Target Sites section of the Setting up Deployment chapter of the ATG Content Administration Programming Guide. For information about the security structures used by ATG Service, see Defining ATG Service Security.
Configure Deployment Data Sources and Destination Repositories
For deployment, the management server must have a data source configured to point to each target server’s database. For information on configuring data sources, see Configuring Databases for ATG Service.
For complete instructions on defining a deployment topology, see the Setting up Deployment chapter of the ATG Content Administration Programming Guide. When you access the BCC, make sure you log into the ATG Administration Console with the Service Administrator login.
Note: By default, content is deployed to all target sites in the deployment topology. You can change the deployment model by reconfiguring the ATG Service Administration workflows. See Using ATG Service Workflows for details.
Additionally, you must configure the fileDeploymentPort on each server. This should be a unique port number and all servers should define the same port that is identified on the production server. You can set the fileDeploymentPort in the /atg/dynamo/configurations.properties file.
Configure Deployment from Multiple Management Server Clusters
Multiple clusters of management servers can deploy to a single target site. In order to implement this deployment topology, each cluster must have a unique identifier, which enables target site deployment agents to differentiate the deploying clusters. For details about establishing a cluster’s identity by setting the cluster name and defining the cluster hosts for each server in the cluster, see the section Configure Deployment from Multiple Asset Management Server Clusters in the Setting up Deployment chapter of the ATG Content Administration Programming Guide.
Define the Deployment Topology
After you plan deployment topology, you can implement it through the ATG Administration Console in the BCC. The ATG Administration Console lets you set up the target sites, agents, and agent responsibilities that define an ATG Content Administration deployment topology. For more information, see the section Define the Deployment Topology in the Setting up Deployment chapter of the ATG Content Administration Programming Guide.
Initialize Target Sites
After you configure target sites, you must initialize them for use with the Deployment Server. For complete instructions on initializing an ATG Service target site, see the Setting up Deployment chapter of the ATG Content Administration Programming Guide. When you access the BCC, make sure you log into the ATG Administration Console with the Service Administrator login.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
8 7
1 0 - I m p l e m e n t i n g S o l u t i o n D e p l o y m e n t
μConfigure Deployment Event Listeners
You can manually monitor the status of deployments through the BCC’s Administration Console. The Details section displays the status of each deployment target. Alternatively, you can use event listeners that automatically monitor and manage deployments. These listeners listen for the deployment events that are fired upon the different state changes in a deployment. On receiving these events, the listener can respond with the appropriate action—for example, by sending email. For more information about deployment event listeners, see the Setting up Deployment chapter of the ATG Content Administration Programming Guide.
Schedule Deletion of Empty Folders
When you deploy a renamed folder to a target site, the assets in the original folder are moved to the new one; however, the original folder—now empty—remains on the target site. For details on removing empty folders with the ConfigEmptyDirDeleter and WWWEmptyDirDeleter VFS components, see the section Schedule Deletion of Empty Folders in the Setting up Deployment chapter of the ATG Content Administration Programming Guide.
Cache Checksums for File Assets
ATG 10.0.2 includes several checksum-caching features, which you can use to improve performance for file asset deployments. For more information, refer to the section Cache Checksums for File Assets in the Setting up Deployment chapter of the ATG Content Administration Programming Guide.
Deploying Solutions After a project is approved for deployment, read the Deploying Project Assets section in the ATG Content Administration Programming Guide, which describes how to launch deployment of assets to a target site automatically or manually. It also discusses methods for recovering from deployment failure.
Note: The attachment server and the ATG Knowledge server must be on different hosts or domains to avoid cookie conflict. This can be done using DNS or by modifying the client host file to assign a different machine name to be used for the PublishingWebAgent URL. If the attachment server and ATG Knowledge server share the same domain, the session cookie used when accessing the attachment server will overwrite the ATG Knowledge server session ID, creating a cookie conflict.
Note for JBoss Users: If you are using JBoss 5.0 and using an ATG Knowledge server host name that is the same host name for the external content server, you must configure the following JBoss component:
-Dorg.apache.catalina.connector.Request.SESSION_ID_CHECK=false
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
8 8
1 0 - I m p l e m e n t i n g S o l u t i o n D e p l o y m e n t
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
8 9
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μ11 Using ATG Service Workflows
ATG Service uses workflows to define the tasks that constitute a project’s lifecycle, and to manage the project’s progress from one task to another. Workflows typically let agents and administrators author, review, edit, approve, and deploy solutions.
The following resources contain additional information on ATG Content Administration and workflows:
To learn about the structure of workflows and how t o work with them in the ATG Control Center, see the Using Workflows chapter in the ATG Personalization Guide for Business Users.
For information on workflow configuration, see Creating and Configuring Workflows in the ATG Personalization Programming Guide.
For information about setting access rights to workflow and workflow elements, see Project and Workflow Security in the Managing User Access and Security chapter in the ATG Content Administration Programming Guide.
For information about how solutions use workflows and descriptions of the project workflows installed with ATG Service, refer to the ATG Knowledge Configuration Guide.
Workflows and Publishing Overview ATG Service uses a number of different workflows to ensure that publishing tasks occur in the correct order, and to monitor solutions through each phase of its implementation.
Solutions and Workflows
A workflow is a persistent entity that guides solution creation through a series of modifications, including adding, editing, and deleting content. Each solution independently moves through a workflow, typically starting with creation, proceeding through drafts and content review, and ultimately, ending in live deployment. Solution authors, modifiers, and reviewers all perform assigned tasks that move the solution through the workflow.
Asset Locking and Check-in
Checking out a solution creates a copy of the solution for editing. End users of ATG Self Service cannot access checked-out solutions until they are checked in and deployed.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
9 0
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μChecking in a solution saves it into the versioned repository, where it is indexed for searching. Service Center users cannot access solutions by ID, searching or ticket link until they are checked in and deployed. End users of ATG Self Service cannot access checked-in solutions until they are deployed.
ATG Service workflow deployment elements trigger project asset locking and check in and deployment. For all deployment elements, assets are locked and then checked in when a user approves deployment.
This behavior differs from that of the ATG Content Administration installed workflows. ATG Content Administration workflows keep project assets locked until deployment is complete and verified, and then check in and unlock the assets. For more information, see the Project Workflows chapter in the ATG Content Administration Programming Guide.
Service Center and Workflows
ATG Knowledge does not expose publishing workflows to agents in the Service Center; agents simply author and modify solutions and follow the recommended Next Steps. A project is created behind the scenes with all of the assets that are associated with that solution, such as its properties and attachments.
Installed Workflows ATG Knowledge uses the following workflow types:
Agent workflows govern creating, editing, and managing solutions in ATG Knowledge. These workflows are discussed in detail in this section.
Administration workflows are used by ATG Service Administration to configure ATG Knowledge and ATG Self Service settings. They are also used by administrators who are setting up user segments.
The Import workflows are used to import existing solution, user/group, and topic data from Primus eServer into ATG Knowledge and to import existing solutions using the ATG Repository Loader.
ATG Knowledge provides the following default project workflows. When you view workflows in the ACC, these workflows are located in the /Service/Agent/project folder.
ApproveChangeEditExistingSolution allows a user to approve or reject a suggested change to an existing solution then routes the solution through content and style reviews. Check-in occurs after changes are approved.
DeleteSolution allows a user to delete a solution after approval, deletes the solution from the ATG Knowledge base.
DisableSolution allows a user to disable a solution– the solution is not removed from the ATG Knowledge base but is not available and will not be returned when a query is submitted and will not be visible by browsing the topic tree.
EditExistingSolution allows a user to modify an existing solution, then routes the solution through content and style reviews.
EditNewSolution allows a user to create a new solution.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
9 1
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μ EditProposedSolution allows a user who does not have permission to author
solutions to propose a new solution
MergeSolutions allows a user to merge two solutions, then routes the solution through content and style reviews.
SingleCheckinEditNewSolution performs the same tasks as EditNewSolution, but check-in does not occur until publication.
SingleCheckinEditProposedSolution performs the same tasks as EditProposedSolution, but check-in does not occur until publication
ApproveChangeEditExistingSolution
This workflow performs the following tasks:
1. Approve change
2. Modify solution
3. Content review
4. Style review
Approve change
Options Action
Approve Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Hide solution in ATG Self Service. Change solution status to In Draft. Advance to the next task, Modify Solution.
Reject See action element Delete Project.
Modify Solution
Options Action
Submit for review Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Hide solution in ATG Self Service. Change solution status to In Content Review. Advance to the next task, Content Review.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
9 2
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μContent Review
Options Action
Submit for review Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Hide solution in ATG Self Service. Change solution status to In Style Review. Advance workflow to next task, Style review.
Reject Reopen project; change solution status to In Rework; hide solution in ATG Self Service; return workflow to Modify Solution.
Style Review
Options Action
Publish External Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published External. Check in project’s workspace Show the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Publish Internal Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published Internal. Check in project’s workspace Hide the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Reject Reopen project; change solution status to In Content Review; hide solution in ATG Self Service; return workflow to Content Review.
Reject to Draft Reopen project. Set solution status to In Rework; hide solution in ATG Self Service; return workflow to Modify Solution task.
DeleteSolution
This workflow performs a single task: Delete solution
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
9 3
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μDelete Solution
Options Action
Delete Delete Project; approve removal of solution from all targets;
Reject See action element Delete Project.
DisableSolution
This workflow performs a single task: Disable solution
Disable Solution
Options Action
Disable Set solution status to Disabled. Hide all solutions in this project in ATG Self Service. Disable all solutions in this project. Approve for deployment.
Reject See action element Delete Project.
EditExistingSolution
This workflow performs the following tasks:
1. Modify solution
2. Content review
3. Style review
Modify Solution
Options Action
Submit for review Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Hide solution in ATG Self Service. Change solution status to In Content Review. Advance to the next task, Content Review.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
9 4
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μContent Review
Options Action
Submit for review Set solution status to In Style Review. Hide solution in ATG Self Service. Advance workflow to next task, Style Review.
Reject Reopen project; Set solution status to In Rework; return workflow to Modify solution.
Style Review
Options Action
Publish External Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published External. Check in project’s workspace Show the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Publish Internal Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published Internal. Check in project’s workspace Hide the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Reject Reopen project; change solution status to In Content Review; hide solution in ATG Self Service; return workflow to Content Review.
Reject to Draft Reopen project. Set solution status to In Rework; hide solution in ATG Self Service; return workflow to Modify Solution task.
EditNewSolution
This workflow performs the following tasks:
1. Modify solution
2. Content review
3. Style review
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
9 5
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μModify Solution
Options Action
Submit for review Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Hide solution in ATG Self Service. Change solution status to In Content Review. Advance to the next task, Content Review.
Check in Check in project’s workspace. Hide solution in ATG Self Service. Change solution status to In Draft. Return workflow to Modify Solution task.
Content Review
Options Action
Ready for style review Check in project’s workspace. Hide solution in ATG Self Service. Change solution status to In Style Review. Advance workflow to next task, Style Review.
Reject Reopen project; change solution status to In Rework; hide solution in ATG Self Service; return workflow to Modify Solution.
Style Review
Options Action
Publish External Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published External. Check in project’s workspace Show the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Publish Internal Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published Internal. Check in project’s workspace Hide the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
9 6
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μOptions Action
Reject Reopen project; change solution status to In Content Review; hide solution in ATG Self Service; return workflow to Content Review.
Reject to Draft Reopen project. Set solution status to In Rework; hide solution in ATG Self Service; return workflow to Modify Solution task.
EditProposedSolution
This workflow performs the following tasks:
1. Prepare proposal
2. Approve solution
3. Modify solution
4. Style review
Prepare Proposal
Options Action
Submit proposal Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Propose. Hide solution in ATG Self Service. Advance to the next task, Content Review.
Approve Solution
Options Action
Approve Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Check in project’s workspace. Change solution status to In Draft. Hide solution in ATG Self Service. Advance workflow to next task, Modify solution.
Reject See action element Delete Project.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
9 7
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μModify Solution
Options Action
Submit for review Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to In Content Review. Hide solution in ATG Self Service. Advance to the next task, Content Review.
Content Review
Options Action
Ready for style review Check in project’s workspace. Hide solution in ATG Self Service. Change solution status to In Style Review. Advance workflow to next task, Style Review.
Reject Reopen project. Change solution status to In Rework. Hide solution in ATG Self Service. Check in project’s workspace. Return workflow to Modify Solution.
Style Review
Options Action
Publish External Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published External. Check in project’s workspace Show the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Publish Internal Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published Internal. Check in project’s workspace Hide the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Reject Reopen project; change solution status to In Content Review; hide solution in ATG Self Service; return workflow to Content Review.
Reject to Draft Reopen project. Set solution status to In Rework; hide solution in ATG Self Service; return workflow to Modify Solution task.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
9 8
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μ
MergeSolutions
This workflow performs the following tasks:
1. Declare the source and destination solutions
2. Merge solutions
3. Content review
4. Style review
Declare Source and Destination Solutions
Declares a repository asset placeholder in the workflow. For more details about the Declare workflow action, see the section Using Asset Placeholders in the Project Workflows chapter of the ATG Content Administration Programming Guide.
Merge Solutions
Options Action
Submit for review Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to In Content Review. Hide the destination solution in ATG Self Service. Advance to the next task, Content Review.
Content Review
Options Action
Submit for Review Hide the destination solution in ATG Self Service. Change solution status to In Style Review. Advance workflow to next task, Style Review.
Reject Reopen project. Change solution status to In Rework. Hide destination solution in ATG Self Service. Set solution status to In Rework. Return workflow to Merge Solutions.
Style Review
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
9 9
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μOptions Action
Publish External Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published External. Check in project’s workspace Show the destination solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Publish Internal Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published Internal. Check in project’s workspace Hide the destination solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Reject Reopen project; change solution status to In Content Review; hide destination solution in ATG Self Service; return workflow to Modify Solution.
Reject to Merge Reopen project. Set solution status to In Rework; hide destination solution in ATG Self Service; return workflow to Merge Solutions task.
SingleCheckinEditNewSolution
This workflow performs the following tasks:
1. Modify solution
2. Content review
3. Style review
Modify Solution
Options Action
Submit for review Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Advance to the next task, Content Review.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 0 0
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μContent Review
Options Action
Ready for style review Advance workflow to next task, Approve for production deployment.
Reject Reopen project; return workflow to Author.
Style Review
Options Action
Publish External Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published External. Check in project’s workspace Show the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Publish Internal Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published Internal. Check in project’s workspace Hide the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Reject Reopen project; change solution status to In Content Review; hide solution in ATG Self Service; return workflow to Content Review.
Reject to Draft Reopen project. Set solution status to In Rework; hide solution in ATG Self Service; return workflow to Modify Solution task.
SingleCheckinEditProposedSolution
This workflow performs the following tasks:
1. Prepare proposal
2. Approve solution
3. Modify solution
4. Style review
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 0 1
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μPrepare Proposal
Options Action
Submit proposal Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Advance to the next task, Content Review.
Approve Solution
Options Action
Approve Advance workflow to next task, Approve for production deployment.
Reject Reopen project; return workflow to Author.
Modify Solution
Options Action
Submit for review Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Advance to the next task, Content Review.
Content Review
Options Action
Ready for style review Advance workflow to next task, Approve for production deployment.
Reject Reopen project; return workflow to Author.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 0 2
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μStyle Review
Options Action
Publish External Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published External. Check in project’s workspace Show the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Publish Internal Lock project assets from further edits; check whether the head versions of project assets match the current head versions on the main branch. Change solution status to Published Internal. Check in project’s workspace Hide the solution in ATG Self Service. Approve project for all targets. Clone project. Complete project. Complete process
Reject Reopen project; change solution status to In Content Review; hide solution in ATG Self Service; return workflow to Content Review.
Reject to Draft Reopen project. Set solution status to In Rework; hide solution in ATG Self Service; return workflow to Modify Solution task.
Completing Workflow Definitions Before you can use the installed ATG Knowledge workflows, you must define deployment target sites; then edit the appropriate workflows in the ATG Control Center and specify these targets in the appropriate task elements, such as Publish Internal and Publish External. To learn how to define deployment target sites, refer to Define the Deployment Topology.
To add deployment targets to a workflow:
1. In the ACC, locate the project workflow to use. You must specify target sites in the following workflows:
Workflow > Publishing > Content Administration > CA
Workflow > Publishing > Personalization/editSegmentsAndTargeters
Workflow > Publishing > Service > Admin > SvcAdmin
Workflow > Publishing > Service > Personalization > editInternalSegmentsAndTargeters
2. Open the workflow and look for action elements that appear in red.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 0 3
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μ
3. Double-click the element to edit, select the target item, and select a target from the list.
4. Save and close the workflow.
Assigning Owning Groups Once you have specified targets in the workflows, assign owning groups so that agents can author solutions in the Service Center. To learn how to create and use other owning groups, see Organizations and Organizational Roles.
First, create a project:
1. Open the BCC Home page. If necessary, click BCC Home.
2. Under Operations, expand the Service Admin list. Each option represents a project type that is defined for your environment.
3. Select Service Admin Configuration.
4. Name the project, up to 50 characters. Although not required, it is a good idea to assign unique project names to facilitate easy identification by other users.
5. In the Project Description field, optionally enter text to identify the project’s purpose.
6. Click Continue.
Next, add an Organizational List:
1. Open the Service Center > Global Service Center Settings > > Organizational Lists page.
2. Click Add Organizational List.
3. Select the Organizational Lists to add, and click Save. When you add an organization to the list, by default, it is enabled as a Solution Owning Group and as a Solution Internal Audience.
Finally, deploy the changes:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 0 4
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μ1. Select Ready for Approval from the Task Action drop-down list.
2. Click Go to display the project page.
3. Select Approve and Deploy to Production form the Actions drop-down list.
4. Click Go.
Once the changes are deployed, agents who are included in the assigned owning group can begin authoring solutions in the Service Center.
Managing Orphaned Projects Projects are orphaned when they satisfy the workflow requirements for deployment, but encounter a workflow configuration issue that prevents them from being approved.
You can remove orphaned projects in the BCC.
1. Go to Content Administration > Admin Console > Overview.
2. Click on the Site Name for your target server.
3. Select the To Do tab.
4. Select the projects that are orphaned and click Reject Selected Projects.
Workflow Action Elements This section lists action elements that are specific to ATG Knowledge workflows. For information about standard workflow elements that ATG Content Administration provides to all workflows, including the default set of workflow elements, refer to the Workflow Action Elements section of the Project Workflows chapter in the ATG Content Administration Programming Guide.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 0 5
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μWorkflow actions extend class atg.epub.workflow.process.action.PublishingAction. For general information on workflow architecture, see the ATG Personalization Programming Guide.
Element Description
Abandon project Used to abandon deployment of the current project, and often follows a Reject outcome for a deployment review task of some kind. Deployment does not occur, and the workflow ends. The project is not deleted; an administrator needs to delete the project manually if required. For an example, see the Early Staged workflow.
Approve project for all targets.
Ensures that:
The project is checked in.
No conflict exists between the assets in the project and the base version of the assets.
This element is used in deployment models that let you delay deployment rather than deploying immediately.
Revert assets on all targets Immediately
The same as Revert Assets Immediately, but it applies to all targets defined for deployment.
Workflow Security User access to a solution and its tasks in the Service Center is controlled by the access settings for the solution workflow. For example, access to a solution’s Author task options depends on having Execute access rights to that task in the underlying workflow.
For detailed information about setting access rights to workflow and workflow elements, see Project and Workflow Security in the Managing User Access and Security chapter in the ATG Content Administration Programming Guide. For more information about solution workflows and security, see the Owning Groups and Internal Audiences and Defining ATG Service Security sections, later in this guide. Refer to the Appendix A: ATG Service Access Rights section for default Service roles and the workflow related rights that they are granted.
Viewing and Working on Solutions
A user must be assigned both of the following in order to view and work on solutions:
a global role that allows them to modify workflows
an organization role that allows them to access a solution
Solution task security is based on (Solution.owninggroup.org = user.orgRole.org) AND (user.orgRole.Role.accessRight c
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 0 6
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μontains (StatusAccessRight["Allowed to perform task in Proposal Draft"].status = S
olution.status)). If a solution has been secured to a specific owning group, a user must have the appropriate status rights for the solution’s owning group in order to view the solution. Appropriate status rights are granted by assigning the appropriate organizational roles (as opposed to global roles) to the user.
For example, Solution A is in the draft status but has no owning group. Viewer-role is a global role that includes the View Solution in Draft right. A user must be assigned the Global View-role in order to access Solution A.
However, Solution B, which is also in the draft status, has been secured to the Owning Group B. A user who wants to view Solution B must have the Global Viewer-Role as well as the Organizational B-Viewer-Role, which grants the user the right to view a solution in draft status owned by Owning Group B.
Viewing Tasks
Users can be assigned access rights that allow them to view tasks in the Solution Queue on the Service Center Tasks tab, even if they do not have permission to view the working revision of the solutions associated with the tasks. For example, suppose a group of agents is allowed to suggest changes to solutions but is not allowed to view the working revisions. Allowing agents to view tasks for solutions with suggested changes helps them keep track of their suggestions.
The right to view tasks is based on both owning group and status. A user must be assigned both of the following in order to view tasks:
a global role that allows them to view tasks
an organization role that allows them to view tasks in a particular status
For more information about using the Service Center, refer to the ATG Knowledge Guide for Business Users.
ATG Service Administration Workflows When you make changes to the settings in ATG Service Administration, a project is created automatically and a workflow is started, although workflows are not displayed to the ATG Service Administration UI’s end users.
ATG Knowledge does not expose publishing workflows to internal users in Service Center; users can only author and modify solutions and follow the recommended Next Steps. A project is created behind the scenes with all of the assets that are associated with that solution, such as its properties and attachments.
Important: Modifying the ATG Service Administration workflows is not recommended and may result in errors while making changes to ATG Knowledge and ATG Self Service settings. For detailed information about publishing workflows, projects, and deployment, see the ATG Content Administration Programming Guide.
You can view the ATG Service Administration workflows in the ACC in Workflows > Publishing/Service/Admin ATG Service Administration has two process workflows, SvcAdmin and
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 0 7
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μSvcAdminInternal. These workflows call the respective project workflows SvcAdminProject and SvcAdminInternalProject.
SvcAdmin Workflow
The SvcAdmin workflow creates a project, checks in all the changes in the project, and then approves it for deployment to all targets. The changes are made on ATG Knowledge and deployed to ATG Self Service.
This workflow is used when you make changes to the following settings in the ATG Service Administration UI:
All ATG Self Service settings
Settings under Service Center > Knowledge Settings > Solution Classes
Workflows and Solution Status The default ATG Knowledge solution workflows contain tasks that cause solutions to be checked in to the versioned repository. Check-in occurs because of the solution status associated with that task.
Refer to for information about solution status changes for each task in each of the installed ATG Knowledge workflows.
Modifying Solution Statuses
If you want to change the point at which check-in occurs, you can:
Create a new solution status that allows check-in, and assign that status to a task in the workflow. See Creating a New Solution Status for instructions.
Change the workflow’s tasks so that the check-in status is assigned to a different task. See Modifying Workflows for information on editing workflow tasks.
Note: It is possible to modify workflows so that solutions are checked in at every state change.
Example: Checking in Draft Solutions
By default, agents working in Service Center cannot access new solutions in draft status by solution ID. However, it might be useful to allow agents to search for draft solutions. This allows agents to find and reference new, critical issues, or “hot” solutions before the solution has been formally reviewed. By default, the draft status is not checked in.
Creating a New Solution Status
To create a new solution status for checking in solutions, you must first create the new solution status, create an access right to associate with it, and then create a new task definition to associate with the status. The status access right is then assigned to organizations/roles so users can work on the solution when it is in the given status.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 0 8
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μDefining a New Solution Status
1. Open the BCC and navigate to Service Admin > Service Admin Configuration. Create a new project with a logical name such as “Creating New Solution Status.”
For information about creating a new project, refer to the section Project Basics in the ATG Business Control Center User Interface chapter of the ATG Business Control Center User’s Guide.
Note: There are reserved names that cannot be used when creating a new project. Refer to the Reserved Logical Names section.
2. Click the project’s Assets tab. Click the gray Add asset to project link. In the Asset Picker, choose the ServiceRepository and add an asset of type SolutionStatus. Click Create New. The Properties tab for your new project displays in the BCC.
3. Enter a display name for the new solution status. Click Apply to save the solution status’s name. Click the Back to the project’s assets link.
Make a note of the repository id of the new status. You will need to use in the next procedure, Creating a Solution Status Access Right.
4. In the project’s Tasks tab, choose the Approve and Deploy to Production action and click Go.
Creating a Solution Status Access Right
1. Open the ACC and navigate to People and Organizations > ProfileRepository. List items of type Access Right and create a new access right for your solution status.
2. Set the access right’s SolutionStatus property to the repository id of the solution status you created in the previous set of instructions. Save the access right.
Creating a Task Definition
1. Open the ACC and navigate to Content > ServiceSharedRepository. List items of type SolutionStatusTaskDefn and click the New Item button to create a new task definition.
2. Set the task definition’s taskElementId property to 0 (zero).
3. Set the task definition’s workflowName property to the workflow where you are using the task; for example, /Service/Agent/project/EditNewSolution.wdl.
4. Set the task definition’s solutionStatus property to the repository id of the solution status you created earlier. Click OK to save the task definition.
5. Use the BCC to assign the new status access right to the appropriate organizations and roles.
The new solution task will now be available when you create or edit workflows in the ACC.
Locating a Solution Status Repository ID
To look up the repository ID of a solution status, follow these steps:
1. Open the ACC and navigate to Content > ServiceRepository. You can work inside or outside of a project context.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 0 9
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μ2. List items of type SolutionStatus. Click the desired solution status. Look in the id
property for the solution status repository ID.
Reserved Logical Names
The following logical names cannot be used when creating a project:
displayTitle internalAudienceSorted
bestBet topics
isExternallyVisibleToEveryone topicPaths
visibleStatementFields legacyId
modifiedBy owningGroup
title isVisible
externallyVisible status
topicIds fields
dateCreated recommendedAnswers
displayed Language
id internalAudience
visibleFields Version
visiblePropertyFields Removed
isEditable externallyVisiblePropertyFields
audience dateModified
solutionRelevance externallyVisibleStatementFields
hasExternallyVisible rawTitle
audienceSorted Recognition
author solutionClass
Modifying ATG Knowledge Workflows You can modify the default ATG Knowledge workflows by adding, removing, or changing permissions of tasks or actions.
For example:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 1 0
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μ Add a Legal Review task and create a LegalEditor role responsible for it.
Add a Japanese Translation task with a Translation Complete outcome and create a Translator role responsible for it.
Remove the Review task from the Content workflows if your ATG Knowledge users do not need a manager to review their work.
Modify workflows so that a check-in occurs in every task.
Modifications to workflows should be made only during ATG Knowledge setup prior to the creation of any solutions, or if the system contains solutions for which there are no active tasks. If you try to edit a workflow that has active projects, you are prevented from saving changes to the workflow. You cannot change the workflow until all projects referencing the workflow are complete.
For example, suppose you try to make changes in the ATG Service Administration before you have edited the SvcAdmin.wdl workflow to reference the targets defined in ATG Content Administration deployment. When you try to save changes to the SvcAdmin.wdl workflow, the system will not allow the changes. To prevent this error, first define the publishing targets, and then edit the workflows to reference the targets. For more information, see Completing workflow definitions.
Important: Do not modify workflows while users are logged into ATG Knowledge.
Modifying Workflows
Use the ACC to modify workflows. Open the ACC and navigate to Workflow > Publishing. ATG Knowledge workflows are located in /Service/Agent and /Service/Agent/project.
The basic procedure for modifying a workflow is:
1. Clone the project workflow.
2. Edit the cloned workflow.
3. Change the appropriate process workflow to reference the new project workflow instead of the old one.
For more information about editing workflows, see the section Creating Project Workflows in the Project Workflows chapter of the ATG Content Administration Programming Guide.
Changing Access Rights on Action Elements
ATG Service applications use solution status access rights to control which users can view, modify, and edit solutions in different stages of workflows. See the appendix ATG Service Access Rights in the ATG Service Installation and Configuration Guide for information on solution status access rights.
Phasing Out Workflows
When you introduce a new workflow to replace an existing one, you can safely phase out the old workflow by simply removing access rights to it. In this way, only the new workflow is accessible, and the deprecated workflow is phased out as soon as all current projects that use it are complete.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 1 1
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μDeleting Workflows
Do not delete workflows unless you are certain that they are not used by any ProjectType that is in use in your system. If you delete a workflow that is used by a ProjectType, your system will become unstable.
Workflow Best Practices The following is information that may assist you when working with workflows.
Cloning Project Instead of Editing
Clone projects instead of editing them. Never change an existing project .wdl. Instead, create a clone of the .wdl and point the process .wdl at the new project .wdl.
Define Workflows and Solution Classes First
Define workflows before you start authoring solutions. Once you start creating solutions, you create assets that reference solution project workflows. These assets will continue to use the original workflows. You cannot edit these workflows but must instead clone them. It is simpler and less error prone to define your workflows before you start creating solution assets.
Similarly, it is less error prone to define your solution classes before you start creating solutions. This will ensure that all of your solutions are consistent including populating all required properties defined in the solution class.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 1 2
1 1 - U s i n g A T G S e r v i c e W o r k f l o w s
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 1 3
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μ12 Defining ATG Service Security
ATG Service uses a number of sophisticated security structures. The information in this section describes the structure and methods used by ATG Service to provide secure yet flexible environments.
Concepts found within the ATG personalization framework defines how to set up your security framework. For complete information, see the following guides:
ATG Personalization Programming Guide
ATG Personalization Guide for Business Users
Security Elements ATG Service security is based on the following elements:
Roles – Roles designate the set of rights that are assigned a user or a group
Organizational Roles – Organizational roles are specific to an organization. Status rights are granted to organizational roles to control who can view or modify solutions based on the solution owning group and solution status
Global Roles – Global roles work across all users and organizations, and can be used as a template role when creating organizational roles.
Owning Groups – An owning group for a solution is the group that owns that solution. The owning group designation on a solution controls who can view and modify that solution
Rights – Rights define what tasks the user can perform, for example viewing, modifying, approving solutions or accessing functionality like assigning recommended reading. There are two types of rights, access rights, and status rights. Access rights are rights that grant access to specific application functionality e.g. access to tabs, panels, ability to create solutions. Status rights control access to solutions based on solution status, for example, Right to View Solution in Content Review status
Secondary Organizations – Users can belong to more than one organization by becoming members of a secondary organization. This also allows them to have access to multiple organizational roles
Internal and External Users – Users are defined as being an External User (a customer) or an Internal User (an Agent).
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 1 4
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μTypes of Security
Security is available at several different levels, including:
Solution Security – Security on solutions, which includes the ability view or edit solutions or approve or reject tasks on solutions. This level of security is based on the status rights of the solution combined with the owning group of the solution.
Workflow Security – Controls various actions, such as who can create, propose, suggest change, recommend deletion, or recommend disabling solutions. These are based on access rights, and not on solution status.
Field Security – Security for specific fields that allow a user segments access to the field for viewing or editing.
Field Value Security – Security for field values. Controls who can view or edit specific field values, for example, statement values, or list values.
UI Security – Security set on the UI, which allows user to perform searches or manage queries. UI Security also allows you to set security for tabs and panels and other UI elements.
Security Settings
Configure security settings using the BCC Organizations and Roles section. You must have BCC administrator rights to add users and roles. Use the BCC to add the appropriate direct access rights to each organization or role or user.
Refer to the ATG Business Control Center User’s Guide for more information about working with the BCC.
Note: It may be necessary to assign additional roles if using other ATG Service applications (ATG Knowledge, ATG Self Service, and ATG Commerce Service Center). Refer to the ATG Installation and Configuration Guide for more information about access rights and user roles required to work with the Service Center.
The following table shows how ATG internal entities control aspects of security.
ATG Internal Entity
Security Aspect Controlled Notes
Access Rights granted to internal user
Control which tabs/panes the user sees in Service Center and what application functionality is available to the user
Internal users are part of organizations and are assigned certain roles that map to access rights
Organizations designated as owning group or Internal Audience
Solution owningGroup attribute - Controls solution view/modify access for internal users, based on user role and solution status.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 1 5
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μATG Internal Entity
Security Aspect Controlled Notes
Solution internalAudience attribute - Enables solution view access for internal users in Service Center based on user role.
Global roles assigned to internal user
Via access rights mapped to role, control which tabs/panes the user sees in Service Center and what application functionality is accessible to the user,
Organizational roles assigned to internal user
Controls solution view/modify access for internal users based on solution owning group and solution status
Internal user segments
Controls the groups to which solution statement values, list values, owning group, internal/external audience can be restricted
The following table shows how ATG external entities control aspects of security.
ATG External Entity
ATG Service Aspects Affected Notes
Controls groups to which solution statement values, list values and solution fields can be restricted
external user segments
solution externalAudience attribute - Controls groups to which solutions can be restricted
Enables view access of entire solution in ATG Self Service Web site.
Security Example The security used by ATG Service covers many aspects and concepts. The following examples may help to clarify the security concepts.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 1 6
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μSolution Security Example
For a user to be able to view, modify, or perform a workflow task on a solution in ATG Knowledge, the user must have the correct status rights in the solution’s owning group. The user gets the appropriate rights in the owning group by being assigned the appropriate organizational roles.
In the following example, the Solution is in Solution Owning Group A. The user has a default global access to View Solution and is a member of the default Everyone-Internal organization. However, the user will not be able to view the solution because the user is not a member of the Solution owning group’s organization, which is Mobile Devices.
User 1
Organization: Everyone-Internal
Status Right: View Solution in Draft
Solution A
Organizational Role: View Solutions for Mobile Devices
Organization (and Owning Group): Mobile Devices
Solution Security Example
The administrator includes User 1 to be a secondary member of the Solution’s Owning Group Organization Mobile Devices. However, the user still cannot access the solution.
User 1
Organization: Everyone-Internal,
Mobile Devices
Status Right: View Solution in Draft
Solution A
Organizational Role: View Solutions for Mobile Devices
Organization (and Owning Group): Mobile Devices
Solution Security with Correct Organization
The user does not have the correct Organizational Roles within the Mobile Device Organization to view the solution. The user must have not only the correct organization, but also the correct organizational roles.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 1 7
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μ
Solution Security with Correct Organization and Organizational Role
Once the administrator provides the user with the correct Organizational Role, the user can view the solution.
Organizations and Organizational Roles Organizations represent the hierarchy and grouping of your internal users. Organizations are used for the solution owning group and internal audience attributes.
Creating Organizations
To create a new organization:
1. Open the BCC and navigate to Personalization > Internal Users. Use the Show dropdown to select Organizations.
2. Click Create New and choose Organization from the drop-down menu.
3. Fill out the appropriate information for the new organization. Be sure to select a parent organization by clicking Select Parent.
4. Click Save to save your changes.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 1 8
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μCreating Organizational Roles
Organizational roles are created within the context of a specific organization. They are only available to users who are part of that organization. An organizational role only applies to the owning group that matches that specific organization.
For example, we may have an organization and an owning group hierarchy such as:
Products -> Desktop Apps -> Spreadsheets
If User 1 is granted the organizational role for Desktop Apps, User 1 it also is granted access for the Desktop Apps owning group and the internal audience but is not granted access to Products or Spreadsheets owning groups/internal audience.
The user or an organization the user belongs to must be explicitly granted an organization role for those other owning groups to grant access to them.
Once you create an organizational role, you can do the following:
Assign it to the organization under which you created it in the Organizations window. The role is then automatically assigned to all users who belong to that organization.
Assign it to any individual user who is a member of the organization to which the role belongs. In this case, other members of the organization do not automatically inherit the role’s properties.
To work with Organizational Roles:
1. Using the BCC, navigate to Personalization > Internal Users.
2. In the Show box, choose Organizations and Roles from the dropdown.
3. Click on the Organizations and Roles folder. Roles for each organization are displayed beneath that folder.
Owning Groups and Internal Audiences
Every solution in ATG Knowledge is associated with an owning group. Owning groups define the ATG Service users who have access to read and edit a solution. If a user is assigned an organizational role for an organization that has been configured as an owning group, that user is a member of that owning group.
Once you have created organizations, use those organizations to define security for solution owning groups and internal audiences.
Owning Groups control view/modify access to solutions and the ability to perform approve/reject tasks on the solutions
Internal Audiences are optional and control additional view access to solutions within Service Center.
Parent and Child Owning Groups
Users must be directly or indirectly granted an organizational role whose organization exactly matches the solution owning group. Granting the user an organizational role whose organization is either a parent
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 1 9
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μor a child organization of the solution owning group organization does not grant the user permission to the solution.
Creating Owning Groups and Internal Audiences
To create owning groups and internal audiences:
1. Create organizations in the BCC. See Creating Organizations.
2. Open ATG Service Administration > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > Organization Lists
3. Specify the organization to use as owning groups and internal audiences.
Users who are assigned an organizational role for an owning group organization are member of that owning group.
Default Owning Groups
You can configure the Service Center to allow users to select a default owning group. The default owning group will be applied to each solution that a user contributes. See information about the default owning group in the ATG Knowledge Configuration Guide.
Global Roles Global roles represent any type of generic or specific function or activity that you choose. You can do the following with a global role:
Assign global roles to any users or organizations. Users inherit the properties of these roles as additions to their own profiles.
Group similar global roles together into folders to help you manage them more easily.
Use global roles as template roles for organizational roles in order to grant similar roles to more than one organization.
Creating Global Roles 1. From the agent-facing BCC, navigate to Personalization > Internal Users.
2. Use the Show box to choose Organizations and Roles from the dropdown menu.
3. Click on the Global Roles folder.
4. Select the roles with which you wish to work.
5. Click the Create New plus sign icon to create a global role.
6. Enter the name and description of the role.
7. Add the Role Members and any Direct Access Rights.
8. Save the Role.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 2 0
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μFor additional information on creating Global Roles, refer to the ATG Business Control Center User’s Guide.
Default ATG Knowledge Global Roles
The following default global roles for ATG Service defined in <ATG10dir>/Service10.0.2 /Service/common-pub/src/data/initial/svc_profile.xml.
SelfService (for ATG Self Service Web site users)
ServiceAdmin
Service-Super-Admin
BusinessManager
ContentReviewer
KnowledgeManager
StyleReviewer
Tier1
Tier2
You can adjust the UI rights and status rights for these roles or create new roles.
Note: In order for users to insert attachments and images in a solution, they must have the EPublishing EPub-User role.
Users and User Roles ATG Service recognizes two different types of users: internal users and external users. These users are stored in separate profile repositories and managed using the BCC on the management or agent-facing servers.
Internal users are people within your organization who use ATG Service to create and manage content, as well as assist customers. Internal users are defined with an Internal User profile. Internal users profiles are stored in the /atg/userprofiling/internalProfileRepository, which is defined by the <ATG10dir>/DPS/InternalUsers/config/config.jar/internalUserProfile.xml file. Internal user profiles and segments are managed on the agent-facing server. You must create internal user profiles, as well as internal user accounts with the appropriate security levels, before your agents can access ATG Service.
External users are people who visit your customer-facing Web sites, and are typically customers. External users are defined with an External user profile that is stored in /atg/userprofiling/ ProfileAdapterRepository, which is defined by the <ATG10dir>/DPS/config/profile.jar/ UserProfile.xml file in the sub-module ExternalUsers. External user profiles and external user segments must be managed on the management server. External user profiles can be created when a customer logs onto your Web site and creates a customer profile, or when an Agent creates a customer profile.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 2 1
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μFor additional information on internal and external user management, refer to the ATG Multiple Application Integration Guide. For detailed information on configuring or customizing Internal and External user profile repositories, refer to the ATG Personalization Programming Guide.
Creating New Internal Users
To create user a new user:
1. Log in to the agent-facing BCC as the administrator.
2. Select Personalization >Internal Users.
3. From the Browse tab Show drop-down list, select Users.
4. Click Create New plus sign icon, and then select Customer Service Agent. The Customer Service Agent: InternalUser Profiles page is displayed in the right pane.
5. Required: From the Customer Service Agent profiles page General tab, type the internal user Login Name and Password. The user login name displays in the Service Center for associated agent/user ticket assignments and ticket activities.
6. Enter the internal user Basics information, including First Name, Last Name, and Title.
7. Enter the internal user Email information.
8. Click Create. The user login name is added to the BCC Internal User list. Continue with adding organizations and roles for the internal user.
Note: More configuration options may be available. See additional ATG Service guides for more information. Click the Documentation link in the Service Center Utilities menu to access additional ATG Service documentation.
9. From the Customer Service Agent profiles page, click the Orgs & Roles tab.
10. Click the Select Parent Organization button (to create a new organization, click Create). The Select an Item window is displayed. Use either the Browse or the Search tab to select the parent organization.
11. Select a Parent Organization for the internal user from the available list, and then click OK.
12. Click the Roles Add Existing button.
13. Select a role(s) for the internal user from the available list, and then click OK.
Note: You must select at least one Services role in order for the user to have access to the Service Center.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 2 2
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μ
The selected role(s) and organization(s) are displayed in the Organizations/Roles panel.
Note: A user can be a member of only one primary organization, but can be a member of multiple secondary organizations. A secondary organization is the same type of an organization as a primary organization, except that a user’s membership in a secondary organization does affect a user’s effective principals (auto-assigned roles are not applied, etc.). Secondary organizations are for internal users only.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 2 3
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μ14. Access rights associated with the selected role are available on the Access Rights page.
To view the access rights associated with the selected role, click the Access Rights tab.
15. Click Save. The user is available for ticket assignment and searches using the available Agent list(s) in the Service Center.
Note: Be sure to save changes made to the user profile. Access rights will be out of date.
Adding Roles to Organizations or Users
Once you have created users add them to your .global and organizational roles.
To applying an existing role to all members of an organization:
1. In the BCC, navigate to Personalization > Internal Users. In the Show dropdown, choose Organizations.
2. Select an organization and click the Auto-Applied Roles tab in the right-hand pane.
3. Click Add Existing.
4. In the popup that appears, choose the role you want to add and click OK.
The role appears in the Auto-Applied Roles list.
5. At the bottom of the Auto-Applied Roles tab, click Save to save your changes. The role will appear in the Effective Principals list of all users in that organization.
To add a role to a specific user:
1. In the BCC, navigate to Personalization > Internal Users. In the Show dropdown, choose Users.
2. Select the user you wish to modify and click the Orgs & Roles tab in the right-hand pane. In the Roles area, click Add Existing.
3. In the popup that appears, choose the role you want to add and click OK. The role appears in the Roles list of the user.
4. In the Orgs & Roles tab, click Save to save your changes. The role will appear in the Roles list and the Effective Principals list for the user.
Creating Administration Users When you create users with administration rights, you must use the following procedure, so that the administration users inherit all the roles needed to access the BCC, ATG Service Administration client, ATG Dashboard, and various ATG Content Administration tasks.
1. In the BCC, navigate to a top-level organization. Click the Create New button and create a sub-organization for the administration user(s). For example, ATG > ATG Administrators or Banking > US > US Administrators.
2. In the administration organization, click the Auto-Applied Roles tab. Click Add Existing and add the following global roles to the organization and save your changes:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 2 4
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μ ServiceRoles > ServiceAdminSuperAdmin (or whichever other Service
administrator role you wish to grant)
bizui > 100001-member
EPublishing > EPub-User
Within the administration organization, click the Members tab. Click Add New and create one or more new users of type Agent. All the users in the administration organization will inherit the three roles assigned above.
Predefined ATG Service Administration Roles
ATG Service comes with the predefined administrator roles and associated rights shown in the following table.
Default Administrator Role Default Access
ServiceAdmin ATG Service Administration UI; has only the serviceAdminDefaultRight access right. All administrators must have this role.
Note: This is a template role that allows the user to log in to ATG Service Administration. The user will always need additional roles that grant access to specific pages and subsets of pages.
ServiceAdminSuperAdmin All areas of ATG Service Administration
ServiceAdminSelfServiceSuperAdmin All ATG Self Service areas of ATG Service Administration
ServiceAdminSelfServiceAdmin Only non-contractual rights in the ATG Self Service area of ATG Service Administration
ServiceAdminWorkspaceSuperAdmin All Service Center areas of ATG Service Administration
ServiceAdminWorkspaceAdmin Only non-contractual rights in the Service Center area of ATG Service Administration
Changing BCC Access Control You can change the association between global roles and BCC links. For example, you could allow the Service Center administrator to access the Reporting Center BCC link. All BCC access is controlled by XML configuration files, which use Access Control Lists (ACLs) to enumerate roles and permissions. See the ATG Programming Guide for more information on the syntax and format of these configuration files.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 2 5
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μInitial values for ACLs are inherited from platform XML files, stored in associated modules – for example, ATG Content Administration settings inherit from the Publishing module, and Personalization settings inherit from the DPS-UI module. Any changes that are made in those modules will apply to all Dynamo instances in your installation.
To make changes that apply across all instances in your installation, edit the configuration files in the Service.common-pub module. For example:
/Service/common-pub/config/atg/bizui/activity/publishingActivities.xml
Or edit the configuration files in the appropriate module. For example:
/Service/Answers/config/atg/bizui/activity/publishingActivities.xml
/Service/CustomerCare/config/atg/bizui/activity/publishingActivities.xml
Security on ATG Service Administration Features You can control which users have access to the various UI elements in ATG Service Administration by setting security for:
Pages in ATG Service Administration
Fields in each ATG Self Service page of ATG Service Administration
Fields in each Service Center page of ATG Service Administration
Page-Level Security
Each page in ATG Service Administration has its own access right. For example, to view the Self Service > Global Settings page, you must have the serviceAdminSelfServiceGlobalSettingsPageRight.
Field-Level Security
By default, all the settings in ATG Service Administration – called UI Options – on a given page are visible if you have the page access right for the entire page. Default access rights are shown in the following table.
ATG Service Administration Page and Field
UI Option Name Default Access Right
Self Service > Global Settings > Logo Management
UIConfigPoweredByATG serviceAdminPoweredByATGFieldRight
all other UI options serviceAdminDefaultRight
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 2 6
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μYou can reconfigure any ATG Self Service UI Option in ATG Service Administration so that it has custom security. See Appendix A: ATG Service Access Rights for a complete list of the available UI Options.
Customizing Option-Level Access Rights
If you want to create additional security for UI Options, you must follow this general procedure:
1. If the option is for an ATG Self Service site, create the site and instantiate a new set of segment options.
2. Create an ATG Service Administration deployment project.
3. Within the project, navigate to the role/organization that should have access to the option, and create a new access right object for each option you want to secure.
4. Add the access right object to the matching UI option and deploy the project.
To customize option-level access rights, use the following procedure:
1. If you are editing segment-level options, open ATG Service Administration, navigate to Site Management, and create a new set of segment options. (For detailed instructions, see Defining ATG Service User Segments.)
If you are editing site-level options, skip this step and go to the next step.
2. In the BCC, navigate to Service Admin > Service Admin Configuration.
3. Create a new project (type Service Admin) to manage the rest of this procedure. Name it so you can find it easily later; for example, “Adding FieldRights for SiteOption.”
4. Go to the BCC Home and navigate to Personalization > Internal Users. Enter the name of the project. Choose Organizations and Roles from the drop-down menu and select or create the organization or role whose access you want to modify.
Click on the organization or role’s Access Rights tab. Click Add New.
5. In the next screen, select the accessRight subtype from the dropdown and click Next.
6. In the Access Right editor that appears, fill in the Name and Scope fields. Click Create when you are finished.
Note: New access rights should have names that match existing ATG Service Administration access rights. For example, to secure the Self Service > Global Settings > P3P UI Options, create a right with a name like serviceAdminSelfServiceGlobalSettingsP3PFieldRight.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 2 7
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μ
7. Verify the new right appears in the list of available access rights on the organization/role, by choosing the organization/role in the dropdown at the top of the pane.
8. Go to the BCC Home and navigate to Content Administration > Browse Projects. Locate and select the project you created in step 2. Click on the project’s Assets tab. Click the gray Add asset to project link in the middle-right. In the Asset Picker that appears, in the Repository dropdown, choose OptionRepository; in the Asset Type dropdown, choose SiteOption or SegmentedOption as appropriate. Click Add Existing.
9. Click Go to view existing options.
10. Select the checkbox next to the option you want to edit and click Add. Click Close when you are done adding options.
11. In the Assets tab, click the option you just added. Edit its accessRight property to point to the access right you created in steps 3-5. Do not change other property values. Click Apply at the bottom of the screen to save your changes.
12. Go to the project’s Tasks tab, choose the Check In and Deploy action, and click Go to complete the project. Deploying the project pushes the changes out to the ATG Knowledge and ATG Self Service servers.
After completing this procedure, the UI option is now secure; access to the option must be explicitly granted to any users who need it. Any user without the access right will no longer be able to view the associated UI option.
Assigning Direct Access Rights to Roles For a complete list of available direct access rights, see Appendix A: ATG Service Access Rights.
Note: Direct access rights cannot be assigned directly to users. You must first create a role, and assign the access right to that entity.
To change the rights that any role has:
1. Open the BCC and navigate to Personalization > Internal Users. In the Show dropdown, choose Organizations and Roles.
2. Select the role you wish to modify.
3. Click the Access Rights tab in the right-hand pane. To remove access rights, click Delete next to any access right. To replace one access right with another, select Add and add the new access right. Remove the old access right by clicking its Delete icon.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 2 8
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μTo add access rights to a role:
1. Click Add Existing. (If you choose Add New, you will be taken through the new right creation process; click Create when you are done and begin this procedure again to add the newly created right to the user.)
2. In the window that appears, add appropriate search criteria as desired, and click Find.
3. Select from the resulting list of access rights and click OK.
4. The access rights now appear in the Direct Access Rights list for the role. Click Save to save your changes.
ATG Knowledge and ATG Self Service Security In ATG Knowledge, workflows provide solution-level security based on status rights combined with the owning group.
Viewing Solutions
The following solution properties control who can view a solution in ATG Knowledge (internal users):
The solution’s owning group
Status
Internal Audience (optional)
Important: A user needs to be a member of the solution’s owning group (either primary or secondary) and needs the appropriate org role (that grants rights for the owning group) to be able to view/modify or perform tasks on the solution. Refer to Workflow Security for further information on setting security for solutions. The ability to view or modify a solution is also based on the solution status and whether the user has been granted the appropriate status right for the corresponding owning group/internal audience organization role.
The right to view a solution in ATG Self Service (external users) is controlled by:
The solution’s external audience
The externallyVisible solution property
Editing Solutions
The following solution properties control who can edit a solution:
Solution’s owning group
Status
The entities you select for the Owning Group setting are organizations.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 2 9
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μSolution task security is determined by access rights that control who can perform that task. In addition, rights are defined for the following tasks:
Suggesting a change to a solution
Proposing a new solution
Revert a solution
Recommending that a solution be deleted
Recommending that a solution be disabled
Discard a solution
Merge solutions
Note: In order for users to insert attachments and images in a solution, they must have the EPublishing EPub-User role. See Allowing Users to Upload Solution Attachments for more information.
Field and Field Value Security on Solutions
Each solution field has security settings independent of the solution’s overall security. The entities you select for these settings are internal or external user segments.
Global Field Definitions have security settings that apply across all solutions using those fields. You control this security in ATG Service Administration by setting the field security to the following:
Allowed to View Internal – Internal users are allowed to view the field, but not change it
Allowed to Modify Internal – Internal users are allowed to modify the field
Allowed to View Self Service – External users are allowed to view the field, but not change it
When authoring a solution, you can control for each statement who is allowed to view that statement. By default, statements are visible to all internal and external users if the user can view the solution:
Allowed to View Internal – Allows internal users to view the solution
Allowed to View External – Allows external users to view the solution
Granting User Segment Access to Field Security
1. Open the BCC. Select Service Admin > Service Admin Configuration > Service Project > Service Center > Knowledge Settings > Solutions Classes > Global Field Definitions section of ATG Service Administration.
2. Select the field by clicking on the edit button associated with the field.
3. Scroll to the Field Security section.
Field security can be set to Internal View, Internal Modify, and External View. You can also identify if the field is not available to internal or external users.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3 0
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μ To add all internal user segments, use the Available to View on Internal radio
button. This will add the Everyone-Internal user segment.
To add specific internal user segments to the field security, click the Select Internal Groups radio button and click on the segment name(s). A checkmark will indicate that the segment(s) has been added. Click Save when you have completed your changes.
To add all external user segments, use the Available to View on Self Service radio button. This will add the Everyone-External user segment.
To add specific external user segments, click the Select External Groups radio button and select the segments to add. Click Save when you have completed your changes.
4. Once you have made the changes, you must deploy them by using the Task Action drop down menu. Select Ready for Approval to send the Service project for approval for deployment.
ATG Knowledge User Interface security
You can control which users have access to the various UI elements in ATG Knowledge. You can set security for tabs and panels. You can also control which users have access to various UI actions in ATG Knowledge
For a complete list of access rights, see Appendix A: ATG Service Access Rights.
Specifying Access in the User Interfaces
In Service Center and ATG Service Administration, access rights are displayed according to the following table.
Access Solution Property Name in User Interfaces
Internal Audience internalAudience Allowed to View Internal
Internal Modify internalModify Allowed to Modify Internal
External Audience externalAudience Allowed to View External
Allowing Users to Upload Solution Attachments
Because ATG Knowledge solutions and their attachments are versioned assets in a content repository, any solution-authoring user needs appropriate access rights to create and upload attachment files.
To allow the ability to upload solution attachments:
1. Open the organization or user.
2. Add the EPublishing > EPub-User global role.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3 1
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μSince template roles are inherited within organizations, add the EPub-User role to the highest-level organization that includes all of your solution-authoring users. Any users belonging to that organization or any of its sub-organizations then inherit the EPub-User role and do not need it to be explicitly assigned to them.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3 2
1 2 - D e f i n i n g A T G S e r v i c e S e c u r i t y
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3 3
1 3 - D e f i n i n g A T G S e r v i c e U s e r S e g m e n t s
μ13 Defining ATG Service User Segments
User segments are used to define target audiences. These audiences are either internal or external users who are defined as members of a specific target, such as security access levels or site administration capabilities. User segments are divided into external and internal user segments. Internal user segments are used by ATG Knowledge, while external user segments are used by ATG Self Service.
Note: A management server is required to create external segments.
User segments are used for:
Setting field security on global fields
Setting list value security on list field values
Setting value security on the intrinsic fields Owning Group, internal audience, and external audience
ATG Self Service site management
For information on creating user segments, refer to the User Segments chapter of the ATG Business Control Center Administration and Development Guide.
External User Segments External user segments control the way users interact with ATG Self Service. External user segments can limit access to solutions, determine which statements will appear in a solution, and personalize the appearance of ATG Self Service sites.
Use external user segments as external audiences for solutions. The external audience of a solution determines who can view it in ATG Self Service. See information about controlling solution access in the ATG Self Service Configuration Guide.
You can limit access to individual statements within a solution to specific external audiences. See information about statement entitlement in the ATG Knowledge Guide for Business Users.
Use the BCC on the management server to create and configure external user segments. You cannot access external user segments on the agent-facing server. See information about creating segments in the ATG Business Control Center User’s Guide. After you create an external user segment, you must deploy the project in which the segment was created. When you deploy the project to the customer-facing server, the user segments are also deployed to the agent-facing server.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3 4
1 3 - D e f i n i n g A T G S e r v i c e U s e r S e g m e n t s
μSharing External File Assets
External file assets are targeters, groups, profiles, segments, slots, and scenarios that are created specifically for use with external users.
External file assets that are created through a BCC in one server cluster (such as management cluster) must be configured to be visible to a BCC in another cluster (such as an agent-facing cluster.)
Important: You must ensure that all external file assets that you want to be visible on both the management cluster and the agent-facing cluster are created on the management cluster only and then deployed to the agent-facing cluster. File assets that you create on an agent server cannot be deployed to the management cluster.
File assets that do not have to be visible in both places can be created on the agent-facing cluster if necessary. You can create file assets that are attachments for solutions and deploy those to the customer-facing cluster.
1. Run the Publishing Agent’s DeployedConfig module on each agent-facing server. The DeployedConfig sub-module provides the code necessary to allow the agent server to both initiate its own deployments to the customer-facing server and receive deployments from the management server. The DeployedConfig module contains an instance of a ConfigFileSystem called DeployedConfigFileSystem. The standard ConfigFileSystem is used to expose versioned file assets for deployment, and the DeployedConfigFileSystem is used as an unversioned JournalingFileSystem for receiving deployments.
2. Configure deployment on the management server. For each agent-facing server, add an agent to the deployment site used to deploy assets to the customer-facing server. For each of these deployment agents, map the ConfigFileSystem to the DeployedConfigFileSystem on the agent-facing server using the Available File Systems/Include File Systems fields in the Agents tab of the ATG Content Administration deployment UI. For detailed information on setting up deployment, refer to the ATG Content Administration Programming Guide.
3. Edit your workflow so that the deployment-related elements contain the customer-facing site as the deployment target. Refer to the ATG Content Administration Programming Guide for more information on modifying deployment-related elements. Due to the configuration you made in step 2, when you deploy your file assets to the customer-facing server, they are deployed automatically to the agent-facing server as well.
4. Ensure that all repositories that should be versioned are versioned on either the management server or the agent-facing server, but not both. This avoids conflicts that could occur if a repository is managed by ATG Content Administration from the wrong cluster. The ConfigFileSystem is versioned on both servers, which allows external file assets to be edited in the management server and internal file assets specific to agent servers to be edited in the agent-facing server.
Migrating File Assets Created in Earlier Versions
If you used earlier versions of ATG products, and you created external file assets on your agent-facing cluster, and you want to start using the shared visibility configuration described above, you should complete some migration steps to prepare your existing assets and servers for use with ATG 10.0.2. A
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3 5
1 3 - D e f i n i n g A T G S e r v i c e U s e r S e g m e n t s
μmigration utility is provided to help with this process. For information, refer to the ATG Upgrade and Migration Guide.
Internal User Segments Internal user segments are used for Service Center solution view access and for statement personalization. Internal user segments follow the Internal Segments and Targeters workflow.
You use internal user segments to create solution internal audiences. A solution’s internal audience determines who can view the solution inside Service Center, for example when performing queries in the Research tab. Access to modify solutions is determined by the solution’s owning group and user-specific status access rights.
Internal User Segments and Deployment
Because ATG Knowledge internal user segments follow a workflow (Service Admin Internal), they are deployable assets; but when you are using ATG Self Service, internal user segments should not be deployed to the customer-facing system. To prevent deployment to the ATG Self Service server, ATG Knowledge redirects internal user segments through a FauxInternalProfileRepository, which is excluded from full deployments.
The FauxInternalProfileRepository relies on the following configuration files:
<ATG10dir>/Service10.0.2/SelfService/config/atg/userprofiling/
InternalProfileRepository.properties
<ATG10dir>/Service10.0.2/SelfService/config/atg/svc/self/
FauxInternalProfileRepository.properties
<ATG10dir>/Service10.0.2/SelfService/config/atg/svc/self/
selfServiceInternalProfile.xml
Note: Making additions, deletions, or other changes to the user profile definition is not supported.
By default, the FauxInternalProfileRepository is excluded from the list of deployable assets in the ATG Content Administration server. If you customize your deployment topology, be sure that this repository is excluded.
Selecting User Segments in a Project When you select user segments for ATG Knowledge or for ATG Self Service, you can choose from the following settings:
The Use All Available option will enable all user segments defined in the current BCC.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3 6
1 3 - D e f i n i n g A T G S e r v i c e U s e r S e g m e n t s
μ The Select Specific option allows you to choose a subset of the user segments to use.
Adding a User Segment
Create user segments before adding them to ATG Knowledge or ATG Self Service. See instructions in the ATG Business Control Center Administration and Development Guide.
Note: External user segments must be managed on the management server BCC. Internal user segments are managed on the agent-facing server.
To add a user segment to either ATG Knowledge or ATG Self Service:
1. Log in to the BCC running on your agent server.
2. Choose Service Admin > Service Admin Configuration > Project Name > Service User Segments.
3. Click the Use All Available radio button or the Select Specific radio button for either ATG Knowledge or ATG Self Service.
4. If you want to specify which segments to use, click the Select Specific for the appropriate segment. Click the Add Knowledge Segment or Add Self Service Segment button to display a pop-up window with a list of the available segments.
5. Select the segments you wish to use for use and click Save. Your selections are displayed in the User Segments table.
6. To remove a segment, click the red X icon in its respective table row.
7. Click Save to save your changes.
Note: Segments will not be available on the management server until they have been checked in. A segment is checked in once the Verify Production Deployment step of the workflow has been completed. Refer to the Using ATG Service Workflows for additional information on checking in and deployment.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3 7
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μ14 Configuring Global Service Center
Settings
ATG Service uses the Service Center to define global settings, such as site URLs, user preferences, or slots. The Global Service Center is modified using the BCC > Service Admin > Service Admin Configuration> Service Center > Global Service Center Settings pages.
Configuring General Site Settings The General Settings page allows you to configure general settings for your ATG Service sites.
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > General Settings page.
2. Configure the Site URL by providing the address of your ATG Knowledge site in the text box. For example: http://localhost:8890/agent/
3. Enter the ATG Service Administration URL address of your site in the text box. The settings you provide here will also allow you to access BCC from the Management Toolbox.
The settings for Site URL take precedence over any values that may have been configured in ManagementToolboxConfiguration.properties in localconfig/atg/svc/agent/ui/ in the <ATG10dir>/home directory. Values in the properties file will only be used if the Site URL fields are blank.
4. Enter the address of your ATG Search Administration URL, which allows access to the BCC. For example: http://localhost:8880/searchmc/
The settings for ATG Search Administration URL take precedence over any values that may have been configured in ManagementToolboxConfiguration.properties in localconfig/atg/svc/agent/ui/ in the <ATG10dir>/home directory. Values in the properties file will only be used if the Site URL fields are blank.
5. Provide the Site Administration Email Address for Error Messages that enables users to contact the site administrator regarding error messages.
6. Selecting Disables for All Users disables the ability of users to edit their preferences. Selecting Yes allows users to edit their user preferences. If you later disable user preferences, any user preferences edits made before disabling will be retained. An Administrator cannot go back and modify user preferences that have already been made.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3 8
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μ7. The Call-Center mode check box indicates what mode ATG Service is running. Running
in Call-Center mode is the default.
Configuring Helpful Panels Settings You can set defaults for the helpful panels that appear on the right side of the Service Center interface.
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > Helpful Panels page.
2. Enter the number of Recently Viewed documents to be displayed in the helpful panel.
3. Enter the number of recent search criteria to be displayed in the helpful panel. These panels are designed to give users quick access to useful information and serve as quick navigation to other tabs.
Configuring Hot Solutions
Hot Solutions are identified when a hotScore is associated with the solution. The hotScore is rated according to the following formula:
hotScore= (useCountWeight*hotUseCount)+(viewCountWeight*viewCount)
useCountWeight is provided using the admin option specified in the AgentHSUseCountWeight site option.
hotUseCount is the useCount property on the solution and is incremented every time a solution is linked to a ticket.
viewCountWeight is provided using the admin option specified in the AgentHSViewCountWeight site option.
viewCount is the viewCount property on the solution and is incremented every time a solution is viewed.
To configure the hot solutions panel:
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > > Helpful Panels page.
2. Configure the number of solutions to display. Users can override this default in their preferences.
3. Set the default topics that appear in the Hot Solutions panel. You can select All Topics or select from the list of available topics. Users can override this default in their preferences.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 3 9
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μConfiguring User Preferences Default Settings
Use the Global Service Center Settings controls to configure Service Center functionality that is not specific to a particular ATG Service application. Make these configurations in the BCC instance that is running on the agent server.
Confirmation When Discarding New Solution
To configure the Service Center to prompt users for confirmation before discarding a new solution:
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > User Preferences Default page.
2. Check the appropriate boxes to set the default behavior to alert users when they attempt to discard a new solution or submit a task.
3. Save your changes and deploy the project.
Default Home Tab
You can choose which tab is open in the Service Center when a user logs in. Individual users can override this setting in their own preferences.
To configure the default home tab:
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > User Preferences Default page.
2. Choose a tab from the Default Home Tab menu.
3. Save your changes and deploy the project.
Default Solution Class
You can choose the type of solution that is selected when a user opens the Contribute tab. Individual users can override this setting in their own preferences.
To configure the default solution class:
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > User Preferences Default page.
2. Choose a tab from the Default Solution Class menu.
3. Save your changes and deploy the project.
Answers per Page
To configure the default number of answers per page:
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > User Preferences Default page.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4 0
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μ2. Select the default number of Answers per Page on each page after a search.
3. Save your changes and deploy the project.
Default Tab for New Calls
To select the default tab that appears when the user makes a new call:
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > User Preferences Default page.
2. Select the default tab that appears when the user makes a new call from the New Call Tab menu.
3. Save your changes and deploy the project.
Default Panel for New Calls
To select the default panel that appears when the user makes a new call:
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > User Preferences Default page.
2. Select the default panel that appears when the user makes a new call from the New Call Panels menu.
3. Save your changes and deploy the project.
Setting Organization Lists You can select from organizations defined in the BCC and specify to use those organizations as Owning Groups and Internal Audiences for solutions. Internal audiences are also managed using the BCC.
To add an Organizational List:
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > > Organizational Lists page.
2. Click Add Organizational List.
3. Select the Organizational Lists to add, and click Save. When you add an organization to the list, by default, it is enabled as a Solution Owning Group and as a Solution Internal Audience.
To modify an Organizational List:
1. Select the Organizational List by clicking the Edit icon.
2. Enable or disable the Solution Owning Group Solution field that supports routing and modifying security within ATG Knowledge. By selecting Enable, the organization is to be used as a Solution Owning Group.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4 1
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μ3. Enable of disable the Solution Internal Audience Solution field that supports viewing
security within ATG Knowledge. By selecting Enable, the organization will be available as a Solution Internal Audience.
4. Click OK to save your changes.
Managing Slots and Renderers You can specify which slots and renderers can be used in ATG Service modules. Slots are containers that used to display and maintain dynamic content on your Web site.
Note: You must create slots and renderers in the ACC before you can define them here for use with ATG Service applications. For additional information on configuring slots, refer to the ATG Personalization Programming Guide.
To manage slots and renderers:
1. Open the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > Manage Slots page.
2. Click Add Service Center Slot button to add a slot.
3. Select one or more slots from the list of available slots and select Add Slots. The slot will be added to the list of active slots.
Note: To add a slot, you must have already created the slot.
4. To add a new renderer, click Add New Renderer.
5. Specify a display Name for the renderer. Select a name that will be easily associated with the correct slot.
6. Select the renderer file to upload. The renderer must already have been created. Refer to the ATG Personalization Programming Guide for information on creating renderers.
7. Select the Item Type. The item type must be the same as that of the slot.
8. Click Save to save your changes. The renderer will be displayed in the Current Renderers table.
Customizing Personalization Panels The Offer Management Settings page allows you to manage the personalization panels for ATG Service.
ATG Service includes five panels:
Resources and Training (aimed at agents)
Customer Promotions (aimed at customers)
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4 2
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μ Three additional panels that you can customize. These three additional panels are not
assigned to any of the default global roles. If you use these panels, you must explicitly assign the associated access rights.
Viewing Panel Security
You can view the security rights set on each panel by clicking on the security icon in its respective table row. Access rights to panels are configured in the BCC.
Editing Panel Content
You can click on the edit icon in a panel’s table row to edit the content of a panel.
The Available Slots table shows all the slots you can add to the panel along with their content type, content retrieval method, and content order. You can click the toggle arrow next to any slot name to view a description of that slot.
Adding or Removing Slots
To add or remove slots from the panel, perform the following steps:
1. Select the BCC > Service Admin > Service Admin Configuration > Service Project > Service Center > Global Service Center Settings > Offer Management panel. Use the add icon to add a slot to the panel.
2. Use the Add Slot to Panel pop-up window to indicate if the slot should be displayed using External or Internal Profile fields. This setting determines whether the slot should be viewed using an internal or external profile, and will determine how the content will display in the slot.
3. Identify the Maximum Items to Display in the panel from a list of 1-15.
4. Select a renderer to use with the slot. The list of renderers includes those that have been uploaded in the Manage Slots page and match the item type of the slot.
5. Once you have configured the slot and clicked the Save button, the slot will be displayed in the list of Selected Slots on the Panel page.
Note: You can use the same slot in a panel using a different renderer for each instance.
6. You can remove slots from the panel by clicking the remove icon in the slot’s table row.
7. When you are finished adding slots to the panel, click OK to return to the Current Panels page.
Configuring Messaging This section provides an overview of configuring the messaging UI in Service Center. The information presented in this section assumes that you have Java programming experience and are familiar with dojo widgets.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4 3
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μRendering Messages in the Message Bar
This section describes the requirements necessary to enable messages to display in the message bar being used by both the server-side code and client-side code.
Server-Side Configuration
Before configuring messages, ensure that the exception collector servlet has been activated in the application by inserting it in the servlet pipeline and adding the following lines to the web.xml file:
<context-param>
<param-name>exception-collecting-enabled</param-name>
<param-value>true</param-value>
</context-param>
The exception collector servlet creates messages from DropletException and ServletException objects that occur in the request.
Adding Messages from a Form Handler
There are two methods you can use to add messages to the messaging UI from a form handler:
Add a droplet exception with a meaningful message to the form handler by invoking the addFormException() method on the form handler. The message property on the added exception will be displayed by the UI.
Create a user message bean (atg.web.messaging.UserMessage) directly and add it to the messaging slot using the MessageTools addMessage() method.
The messaging UI will also display unhandled exceptions from the form handlers and server-side business logic.
Message Properties
Messages have the following properties:
type – that can be “error”, “confirmation”, “warning” or “information”
summary - contains the message title
details - contains an array of exception or other messages
When one or more exceptions occur during either a form handler exceptions or an unhandled servlet exception, a single message is created with type = “error.” Each exception is added as a detail within the message. All exceptions that occur during a request are grouped inside a single container message. When no exceptions occur during the request, and a success summary is specified via the request parameters, the messaging UI creates a confirmation message.
Specifying a Message Summary
Success and failure summaries are specified using the atg.successMessage and atg.failureMessage parameters. For example, to specify message summaries with a form enter:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4 4
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μ<input name="atg.successMessage" type="hidden" value="Updated info
for John Doe."/>
<input name="atg.failureMessage" type="hidden" value="There was a
problem updating John Doe's info."/>
If no failure summary is specified in the request, the messaging UI adds the default summary specified in the message bar:
<div dojoType="messaging:MessageBar" errorMessage="There were
errors with the request."/>
By default, no message is displayed for successful requests.
Adding Messages from JavaScript
You can add messages from JavaScript code by using the message bar addMessage function:
dojo.widget.byId('messageBar').addMessage({type:"warning", summary:"An
error has occurred."});
To add a message with bulleted details, use JavaScript similar to the following:
dojo.widget.byId('messageBar').addMessage({type:"error", summary:"An
error has occurred.", details:[{description: "First detail"},
{description: "Second detail"}]});
Implementing Client-Side Validation
Note: Tag converters should be used for server-side validation. They use the mechanism for form handler exceptions described above.
Implementing Client-Side Validation with DSP Tags
Applying client-side validation to dsp:input and dsp:select tags enable the following behaviors based on the state of the validation in the input or select element:
Allows an inline indicator graphic to show or hide
Allows a client-side validation message to be added to the message bar when invalid contents are present (optional)
Causes the dojo SubmitButton widget(s) (if present) to enable or disable
To enable client-side validation with a dsp:input or dsp:select tag, use the dsp:tagAttribute tag:
<dsp:input id="dateOfBirth" type="text" value="01/01/1980"
size="30" converter="date" date="M/dd/yyyy"
bean="/atg/web/messaging/test/UserInfoFormHandler.dateOfBirth">
<dsp:tagAttribute name="dojoType" value="DateTextbox"/>
<dsp:tagAttribute name="lang" value="en-us"/>
<dsp:tagAttribute name="required" value="true"/>
<dsp:tagAttribute name="trim" value="true"/>
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4 5
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μ<dsp:tagAttribute name="invalidMessage" value="The date of birth is
invalid."/>
<dsp:tagAttribute name="missingMessage" value="The date of birth is
required."/>
<dsp:tagAttribute name="inlineIndicator" value="dateOfBirthAlert"/>
</dsp:input>
The dojoType attribute specifies the type of client-side widget to use for the input element.
Note: The dsp:input or equivalent tag must have an ID property defined in order for the SubmitButton auto-enabling feature to work properly.
Available Client-Side Validation Widgets
The following client-side validation widgets are available from dojo:
ValidationTextbox - Provides basic validation functionality, such as required values
IntegerTextbox - Tests for signed or unsigned integer input and ranges
RealNumberTextbox - Tests for real number input and ranges
CurrencyTextbox - Tests if input denotes a monetary value or range
IpAddressTextbox - Tests for a valid IP address
UrlTextbox - Tests for a valid URL
EmailTextbox - Tests for a valid email address
EmailListTextbox - Tests for a list of valid email addresses
DateTextbox - Tests for a valid date in specified locale
TimeTextbox - Tests for a valid time
UsStateTextbox - Tests for a United States state abbreviation
UsZipTextbox - Tests if input is a US zip code: validates zip-5 and zip-5 plus 4
UsSocialSecurityNumberTextbox - Tests for a United States Social Security number
UsPhoneNumberTextbox - Tests for a United States 10-digit telephone number, extension is optional
RegexpTextbox - Tests input based on conformity to a specified regular expression
Refer to the dojo documentation for details on implementing specific widgets.
ATG provides these additional validation widgets:
SimpleComboBox - forces a selection in a drop-down box (use dsp:select with SimpleComboBox)
TextArea - performs range validation on the length of the textarea contents (use dsp:input instead of dsp:textarea with TextArea, since dsp:textarea does not accept dojo widgets)
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4 6
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μPreventing the Form from Submitting
The SubmitButton widget is used to prevent a form from submitting while there is invalid content in any of the contained dojo validation widgets:
<dsp:input id="updateUserInfo" type="Submit" value="Submit"
bean="/atg/web/messaging/test/UserInfoFormHandler.updateUserInfo">
<dsp:tagAttribute name="dojoType" value="validation:SubmitButton"/>
</dsp:input>
When present in a form, the SubmitButton widget will automatically enable and disable to prevent form submission while there are invalid contents in any of the dojo validation widgets contained in the form. One or more SubmitButton widgets may be used in the same form. If the SubmitButton must be placed outside of the form that it validates, use the form attribute of the SubmitButton to specify the form to validate.
Conditional Validation
Validation may be made conditional based on the state of another element, such as a radio button. First, create a function to test the state of the radio button. The following example tests an ATG Commerce Service Center radio button:
atg.commerce.csr.rule0 = function () { return
document.getElementsByName('addressType')[0].checked; };
Then reference the function from the validateIf attribute on the widget:
<dsp:tagAttribute name="validateIf"
value="atg.commerce.csr.rule0.apply()"/>
Now the validation rules of the widget will be applied conditionally only when the referenced function returns true.
Conditional Requirements
A validation widget may be conditionally required based on the evaluation of an expression. As with conditional validation (above), create a function to test the condition. Then reference the function from the requiredIf attribute on the widget. The following example tests an ATG Commerce Service Center condition:
<dsp:tagAttribute name="requiredIf"
value="atg.commerce.csr.rule0.apply()"/>
Now the widget will do required checks only when the condition applies, but will do validation checks always when the widget is non-empty.
Custom Validation Conditions
Custom validation conditions may be applied to any validation widget through the validIf and missingIf attributes. The validIf attribute applies a custom validation condition to the widget:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4 7
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μ<dsp:tagAttribute name="validIf" value="this.getValue() != 'foo'"/>
In the above example, the widget will be considered valid only with the expression in the validIf attribute evaluates to true.
The missingIf attribute applies a custom condition to determine whether the widget is missing a required value.
Additional Field Validation
You can use field validation to capture specific information. For example, to add an additional required field to the billing addresses to capture an e-mail address, add code similar to the following on your billing page:
<span class="atg_messaging_requiredIndicator"
id="emailValidatorAlert"> </span>
<dsp:input type="text" name="emailAddress"
bean="BillingFormHandler.emailAddress" required="<%=true%>"
size="25" maxlength="25">
<dsp:tagAttribute name="dojoType" value="EmailTextbox" />
<dsp:tagAttribute name="required" value="true" />
<dsp:tagAttribute name="missingMessage" value="${emailMissing
}" />
<dsp:tagAttribute name="invalidMessage"
value="${emailInvalid}"/>
<dsp:tagAttribute name="inlineIndicator"
value="emailValidatorAlert" />
</dsp:input>
Additionally, you must have a form handler equivalent to BillingFormHandler in the example that accepts the e-mail address as one of its inputs.
Configuring Link Validation ATG Knowledge solutions may contain links to related resources such as other solutions or Web pages. ATG Knowledge checks these links to make sure the resources remain available. If a linked resource is unavailable, the solution that contains the link will appear in the link validation report in the Service Center. See information about the link validation report in the ATG Knowledge Guide for Business Users.
ATG Knowledge checks the links in all of your solutions one time each day by default. You can configure how often it will check the links in the ValidationService.properties file for your agent server.
By default, ATG Knowledge will use up to five concurrent threads of execution when checking links. You can configure the maximum number of threads in the HttpLinkValidator.properties file for your agent server. Increasing the number of threads may increase the speed of the link validation process. Increasing the number of threads will also increase consumption of server resources.
To configure the times that ATG Knowledge will validate links:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4 8
1 4 - C o n f i g u r i n g G l o b a l S e r v i c e C e n t e r S e t t i n g s
μ1. Create or edit the following configuration file.
<ATG10dir>/home/servers/server_name/localconfig/atg/svc/repository/service
/ValidationService.properties
2. Add the schedule property as shown below. Adjust the values in the calendar configuration control. The control in the example will validate links every day at 1:00 AM according to the server system time.
schedule=calendar * * * * 01 00
The control in the following example will validate links four times each month.
schedule=calendar * 1,7,14,21 * * 01 00
See information about this type of control in the documentation for the Calendar Schedule in the ATG Programming Guide.
To prevent ATG Knowledge from validating links:
1. Create or edit the following configuration file.
<ATG10dir>/home/servers/server_name/localconfig/atg/svc/repository/service
/ValidationService.properties
2. Add the enabled property as shown below. Set its value to false.
enabled=false
To configure the maximum number of threads that ATG Knowledge will use when it checks links:
1. Create or edit the following configuration file.
<ATG10dir>/home/servers/server_name/localconfig/atg/svc/validation/link/
validators/HttpLinkValidator.properties
2. Add the maxThreadCount property as shown below. Set its value to the maximum number of threads that you want ATG Knowledge to use for checking links.
maxThreadCount=9
Configuring Multiple Servers
If you are using multiple agent servers, or a clustered environment, you should ensure that only one agent server is configured to use the /atg/svc/repository/service/ValidationService shouldRetrieveLinksAutomatically property to true. This will prevent all servers in the cluster from trying to create the link items on solution deployment.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 4 9
1 5 - A T G T i c k e t i n g C o n f i g u r a t i o n a n d A d m i n i s t r a t i o n
μ15 ATG Ticketing Configuration and
Administration
Use the BCC to add ATG Ticketing users, organizations, and queues, and to understand and work with the ACC to modify information in the ATG Ticketing/Service Center user interface.
ATG Ticketing Overview ATG Ticketing provides you with the ability to record and track customer and transaction driven inquiries and events received through call center, order placement, and similar applications. ATG Ticketing is not a separate product, SKU, or download, but is part of the ATG platform and the ATG Service application builds.
ATG Ticketing logically groups customer interactions and/or related activities across channels and supports agent/user assignments to tickets created because of these interactions and activities. Tickets are stored as ATG repository items, accessible using the ATG Control Center (ACC).
Depending on the other ATG applications currently in use within your organization, ATG Ticketing related items and features can be accessed from the Service Center tabs and panels, including:
Global Context area- for accessing active tickets, current ticket/ticket activities, and current ticket customer information
Tickets tab - for creating and managing tickets
Customers tab - for creating and managing customer profiles
Tasks tab - for managing ticket tasks
Whenever a user performs a transaction, a ticket is generated. There is always an active ticket, regardless if the ticket has been saved or not. A ticket that has been saved to the repository is known as a persistent ticket, while an unsaved ticket is known as a transient ticket.
Ticket Dispositions and Warnings
When changes are made to the active ticket, either by explicitly creating a new ticket or selecting a different ticket, the user may be prompted with a set of ticket disposition options or warnings. Warnings and the disposition options are directly related to the completion of the action selected by the agent and must be addressed before changes to the ticket can occur.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5 0
1 5 - A T G T i c k e t i n g C o n f i g u r a t i o n a n d A d m i n i s t r a t i o n
μTicket disposition is configured using a set of TicketDispositoinMonitors, for example atg/svc/agent/ticketing/ServiceTicketDispositionMonitorin <ATG10Dir>/Ticketing/lib/ticketing.jar/atg/ticketing/TicketingManager. For additional information on configuration of ticket dispositions and environment monitoring, refer to the Environment Monitoring section.
Warnings same prompt with the ticket disposition options and can appear with or without the ticket disposition options. Whenever an environment object, for example, an order is changing, all applications are notified before the change so they can provide warnings. A prompt appears if any warnings are generated because of the change.
Requirements The following are required when using ATG Ticketing:
For ATG product supported environments and configuration information, go to: http://www.atg.com/en/ecommerce-suite/platform/supported-environments/
Enable browser cookies and scripting to access ATG Ticketing and the Service Center user interface.
Ticket Queues
Adding Ticket Queues
Ticket Queues are created in order to designate relevant ticket assignment. Ticket Queues added to the BCC are available for ticket assignment using the available Ticketing Group lists in the Service Center. If you do not already have organizations set up, you will need to create an organization before adding Ticketing Queues.
To add a ticket queue:
1. Log in to the BCC > Personalization >Internal Users.
2. From the Browse tab Show drop-down list, select Organizations.
3. Click an existing organization name from the directory. The Organization page is displayed in the right pane (to create a new organization, click Create New button).
4. From the Organization page, click the Ticketing tab.
5. Click the Ticket Queues Add New button. The Ticket Queue: LogicalOrganizations page is displayed.
6. Required: From the LogicalOrganizations page, type a Name and a Description for the Ticket Queue. This is the name displayed in the Ticketing/Service Center user interface Group list.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5 1
1 5 - A T G T i c k e t i n g C o n f i g u r a t i o n a n d A d m i n i s t r a t i o n
μ7. From the Ticketing panel, set ticket queue ticket acceptance and ticket timing
properties as required:
Ticket Queue Acceptance/Timing Property Description
Accepting new tickets Choose whether the ticket queue will accept (True), or not accept (False) new tickets. Default is True.
Automatically close ticket after (minutes) Type the required number of minutes to automatically close a ticket.
These are not visible in the Service Center.
Automatically close ticket after (minutes) Type the required number of minutes to automatically close a ticket.
These are not visible in the Service Center.
Escalate to default queue if not handled after (minutes)
Type the required number of minutes to automatically escalate a ticket if not handled by the designated queue.
These are the number of minutes a ticket can be open before being escalated to the default escalation queue for further work or attention. If set to zero (0), no limit is set, and the ticket will not be auto-escalated.
These are not visible in the Service Center.
Remove from agent if not handled after (minutes)
The number of minutes an agent/user (assigned to work on the ticket) in the queue can hold a ticket before it is automatically released (unassigned). If set to zero (0), no limit is set, and the ticket will not be auto-released.
These are not visible in the Service Center.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5 2
1 5 - A T G T i c k e t i n g C o n f i g u r a t i o n a n d A d m i n i s t r a t i o n
μTicket Queue Acceptance/Timing Property Description
Target SLA (minutes) Type the number of minutes required for a due date/time, based on your organization’s service level agreement.
These are the number of minutes to complete the ticket assignment (due date) before the ticket expires. If set to zero (0), no due date is set for the ticket.
SLA minutes display as the ticket Due Date in the Service Center.
For example, to set the due date for the ticket queue at 24 hours from the time a ticket is created, type 1440 in the Target SLA (minutes) box (24 hours = 1440 minutes). When a ticket is created and assigned to the ticket queue, the due date is displayed (where applicable) in the Service Center (for example; in the Ticket Summary panel).
Note: Individual ticket queue settings take priority over global ticket queue settings. If you have set a value for the DefaultQueueDataReader (global ticket queue default settings) the system will first read the information set for an individual ticket queue, and then the global default settings.
8. Click the Escalation Info Add Existing button to select escalation information for the ticket queue. The Select an Item window is displayed.
9. From the Select an Item window, click Find, and then select a ticket queue from the available list. The selected queue is the ticket queue to which a ticket is escalated when requested (using the Escalate Ticket Next Step in the Service Center).
Note: Escalate is an attribute on the ticket, not a ticket status. Escalating a ticket allows a ticket to maintain its status, but reflect that the ticket has been marked for further research, help, or approval, based on your organization’s escalation level definitions.
10. Click Create. The ticket queue is added to the organization and is available for ticket assignment using the Ticketing user interface Group list in the Service Center.
Global Ticket Queue Timing Properties
The following properties are part of the GlobalTicketQueue:
DefaultQueueDataReader
The DefaultQueueDataReader allows additional calculations for ticket queue time-out values. Global default timing properties for ticket queues is 0.
Global default settings for ticket queues are set using the ACC.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5 3
1 5 - A T G T i c k e t i n g C o n f i g u r a t i o n a n d A d m i n i s t r a t i o n
μ
Property Name Description
onlyIfNoQueue=true If there is no ticket queue associated with a ticket, then ticket queue timing defaults will be applied. Defaults are set to zero (0).
availabilityMinutes=0 availabilityMinutes are the number of minutes a ticket can be open before being escalated for further work or attention. If set to zero (0) no limit is set, and the ticket will not be auto-escalated.
deallocationMinutes=0 deallocationMinutes are the number of minutes an agent/user can hold a ticket before it is auto-released (unassigned). If set to zero (0), no limit is set and the ticket will not be auto-released.
inactivityMinutes=0 inactivityMinutes are the number of minutes an outbound message can remain inactive (no response sent) before it is closed. If set to zero (0), the ticket will not be auto-released.
slaMinutes=0 slaMinutes are the number of minutes an agent/user has to complete the ticket assignment (due date) before the ticket is flagged and expires. If set to zero (0), no due date is set for the ticket.
Note: Individual queue settings take priority over global queue settings. If you have set value for the DefaultQueueDataReader, the system will first try to read the information set for an individual ticket queue, and then the global defaults. If the information is null, the global default values set on the DefaultQueueDataReader are used by setting the onlyIfNoQueue to False.
To change global default timing properties for ticket queues:
1. From the ACC, select Pages by Components>Components by Path.
2. From the Components tree, open atg>ticketing, and then double-click DefaultQueueDataReader. The DefaultQueueDataReader Component Editor is displayed.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5 4
1 5 - A T G T i c k e t i n g C o n f i g u r a t i o n a n d A d m i n i s t r a t i o n
μ
3. Type availability minutes in the availabilityMinutes box. For example, to set availability minutes for the ticket queue at 24 hours from the time a ticket was created, type 1440 in the availabilityMinutes box (24 hours = 1440 minutes).
4. Type deallocation minutes in the deallocationMinutes box. For example, to set deallocation minutes for the ticket queue at 12 hours from the time the ticket was created, type 720 in the deallocationMinutes box (12 hours = 720 minutes).
5. Type inactivity minutes in the inactivityMinutes box. For example, to set inactivity minutes for the ticket queue at 8 hours from the time the ticket was created, type 480 in the deallocationMinutes box (8 hours = 480 minutes).
6. Type SLA minutes in the slaMinutes box. For example, to set the due date for the ticket queue at 24 hours from the time a ticket was created, type 1440 in the slaMinutes box (24 hours = 1440 minutes). When a ticket is created and assigned to the ticket queue, the due dates is displayed (where applicable) in the Service Center (for example; in the Ticket Summary panel).
Setting Ticket Polling To enhance performance levels for ticketing, you can set background polling intervals to zero. This disables polling for ticketing information.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5 5
1 5 - A T G T i c k e t i n g C o n f i g u r a t i o n a n d A d m i n i s t r a t i o n
μTo modify the ticket polling time, use the ACC to set the pollInterval property to zero in the /atg/svc/ui/formhandlers/SearchAgentTicketsFormHandler component. This setting controls how often the application polls for new tickets.
Discarding Tickets When working with tickets, an agent’s actions may affect a ticket so that the ticket must be discarded. TicketDispositionMonitors, in the TicketingManager is configured to determine if a ticket can be discarded. Only transient tickets can be discarded. There are two types of tickets that can be discarded, and the ticket disposition monitors decide both cases.
Two types of discardable ticket are:
Immediately discardable - The application has decided that the ticket can be discarded automatically because there is nothing worth saving on the ticket. If the ticket is immediately discardable, there will be no prompt that contains the actions related to the current ticket.
Discardable - This means that the ticket was not immediately discardable and the agent must decide if the ticket should be discarded. A ticket in this state will cause the Discard option to appear in the prompt, giving the agent a choice of whether or not to discard it. Note: The discard option will never appear for saved tickets.
There are two ways that the TicketDispositionMonitors determine the type of the discardable ticket:
Based on activities on the ticket - If the ticket has any activities beyond the base set of activities created when the ticket was created, then it is not immediately discardable. This is handled by the ticket disposition monitor in the platform ticketing layer located in atg/ticketing/ActivityTicketDispositionMonitor
Based on the value of specific properties on the ticket - If the ticket has properties that are not null, the ticket is not immediately discardable. The properties used for this test are configurable and is handled by the ticket disposition monitor in the platform ticketing layer located at atg/ticketing/PropertyTicketDispositionMonitor
Service.Agent has a ticket disposition monitor located at atg/svc/agent/ticketing/ ServiceTicketDispositionMonitor. This monitor, which is configured with the profile update activities, will not let a ticket be discarded if it has any of the configured activities.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5 6
1 5 - A T G T i c k e t i n g C o n f i g u r a t i o n a n d A d m i n i s t r a t i o n
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5 7
1 6 - C u s t o m i z i n g T i c k e t i n g
μ16 Customizing Ticketing
ATG Ticketing is delivered with pre-configured user interface properties. ATG Ticketing can be used as delivered or modified according your organization’s needs. This chapter provides lists of delivered properties and instructions on how to modify them using the ACC.
Defining Global Context Area Defaults The Global Context area provides a quick view of current active tickets (Active Tickets), ticket activities (Ticket), and customer profile information (Customer). The Global Context area is always displayed as the top panel in the Service Center.
The following properties control the Global Context area defaults:
Global Context Area Property/Default Value Description
initialTab=activeTicketsMainPanel Set the initial tab for the Global Context area.
ticketSortProperty Sort tickets by identification number.
ticketSortDirection=ascending Sort tickets by identification number in ascending order (1, 2, etc.).
activitiesSortProperty=creationTime Sort ticket activities by activity creation time.
activitiesSortDirection=descending Sort activities in descending order (most recent first).
expandTopActivity=false Do not automatically expand the first activity in the activities table.
onlyExpandThese=inboundMessageActivity Auto-expand activity type.
Note: Leave blank to expand any activity that defaults as the first activity in the activity list (if expandTopActivity =true).
To access the Global Context area default properties:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5 8
1 6 - C u s t o m i z i n g T i c k e t i n g
μ1. From the ACC menu, select Pages and Components>Components by Path. The
Components page is displayed.
2. From the Components page, expand the atg>svc>agent>ticketing folder, and then double-click the GlobalPanelConfiguration file. The Global Panel Configuration Component Editor is displayed.
Global Context area configuration files are located in:
/Agent/src/config/atg/svc/agent/ticketing/GlobalPanelConfiguration.properties
Configuring Ticket Reason Codes and Contexts In order to identify, differentiate, and/or track certain ticket actions and status changes, Ticketing requires reason codes in certain instances. Reason codes are available in drop-down lists based on the context of an action taken while working with ATG Ticketing in the Service Center.
Reason Contexts
Reason Contexts are set in the Ticketing Repository to control reason code lists. With the exception of adding and removing reasons to the Reason Contexts, modifying the Reason Context is not recommended. Reason Context keys are fixed attributes in the user interface and any modifications will require additional changes to the JSP.
Reason Codes
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 5 9
1 6 - C u s t o m i z i n g T i c k e t i n g
μReason codes are available in drop-down lists in the Service Center based on ticket actions or status changes. Available Reason Code selection is based on the reason code to reason context relationship set in the ACC.
ATG Ticketing is delivered with the following Reason Codes and Reason Contexts:
Reason Context Ticketing Action Reason Code(s)
Ticketing.EscalatePrompt Escalate Ticket Needs Manager Approval
Need Help
Ticketing.ClosePrompt Close Ticket Problem Resolved
Confirmed
Error
Spam
Closed by Customer
Ticketing.ReleasePrompt Release Ticket Need Help
Too Busy
Ticketing.DeferForLaterPrompt Defer Ticket Need Help
Too Busy
Waiting
Ticketing.SendToGroupPrompt Send to Group Need Help
Too Busy
Ticketing.ReassignPrompt Reassign Ticket Need Help
Ticketing.PhoneCallPrompt Phone Call Need Help
For example, while working on a ticket in the Service Center, the agent/user decides to close a ticket. The user is prompted to select a Reason Code in the Close Ticket pop-up window (CloseTicketPrompt reason context). The list of reason codes to select includes those reason codes added to the Close Ticket reason context in ACC.
Modifying a Reason Code
To modify an existing reason code:
1. From the ACC menu, select Content>Ticketing Repository.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6 0
1 6 - C u s t o m i z i n g T i c k e t i n g
μ2. From the TicketingRepository page, select Items of Type Reason, and then click
List. The list of available Reason Codes is displayed.
3. Select a reason code from the available list. The Reason Context details are displayed in the right pane.
4. Modify the Reason Description and the Name as necessary, and then click Save.
Adding a New Reason Code
To add a new reason code:
1. From the ACC menu, select Content>Ticketing Repository.
2. From the TicketingRepository page, select Items of Type Reason, and then click List. The list of available Reason Codes is displayed.
3. Click New Item. The New Item window is displayed.
4. In the New Item window, type a Description and a Name for the new reason code, and then click OK. The Ticketing Repository page is redisplayed.
5. Click Save.
6. From the TicketingRepository page, select Items of Type ReasonContext, and then click List. The list of available Reason Contexts is displayed.
Note: With the exception of adding and removing reason codes, modifying Reason Contexts is not recommended. Reason Context keys are fixed attributes in the user interface and any modifications require additional changes to the JSP.
7. Click the name of the reason context you want to associate the new reason code with.
For example, if you are adding a new reason code named NeedsMoreInfo (to indicate that the agent or user needs time to gather more information in order to continue working on the ticket), you would associate this reason code with the Reason Context: DeferforLaterPrompt. In this case, you would click Reason Context: DeferforLaterPrompt from the list of available reason contexts.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6 1
1 6 - C u s t o m i z i n g T i c k e t i n g
μ
8. From the DeferforLaterPrompt pane, click the Reasons box, and then click the ellipsis button (…). The Reasons window is displayed. The Reasons window contains a list of reason codes that are currently included with the selected Reason Context.
9. From the Reasons window, click Add. The New Item window is displayed.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6 2
1 6 - C u s t o m i z i n g T i c k e t i n g
μ
10. From the New Item window, click List. A list of available reason codes is displayed.
11. Click the name of the reason code you want to add the reason context, and then click OK. The reason context pane is redisplayed with the newly added reason code included in the Reasons list.
12. Click Save.
Note: Reason codes are cached at application startup. You must re-assemble, redeploy, and restart the Web application that includes ATG Reporting after modifications are complete in order to see them in the Service Center.
Indicating Ticket Status/Sub-status The Ticket Status indicates the current condition of a ticket (such as Closed, Closed as Duplicate, Open, Pending) in the Service Center. There are three parent statuses and related sub-statuses delivered with ATG Ticketing.
Note: Modifying Parent Statuses is not recommended.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6 3
1 6 - C u s t o m i z i n g T i c k e t i n g
μParent Status Sub-Status Description
Open Open Ticket is open.
ReOpened The ticket has been re-opened after previously being closed.
Pending The ticket is suspended, awaiting the occurrence of an event. The event may be date/time oriented, in which case it would be triggered by the Pending Date/Time property. If the event is manual, it will be triggered by the agent/user.
Closed Closed The ticket has been closed.
ClosedAsDuplicate The ticket has been identified as a duplicate of another ticket and closed as a result.
ConfirmedClosed The ticket has been closed at the request of a customer.
Restored The ticket has been restored from archive.
Archived ArchivePending The ticket has been partially archived and therefore only summary information is available and not the activities. If the activities are required, a restore will be necessary.
Modifying Ticket Sub-statuses
To modify an existing ticket sub-status:
1. From the ACC menu, select Content>Ticketing Repository.
2. From the TicketingRepository.properties page, select Items of type Substatus, and then click List. The list of available Sub-statuses is displayed.
3. Select a sub-status from the available list, and then modify the Name as necessary. Each sub-status lists its related parent status.
4. Click Save.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6 4
1 6 - C u s t o m i z i n g T i c k e t i n g
μNext, you must modify the sub-status name in the TicketingResources.properties file, located in:
j2ee-apps/Agent.ear/Agent.war/WEB-INF/classes/atg/svc/
agent/ticketing/TicketingResources.properties
5. From the ACC menu, select Pages and Components>J2EE Pages.
6. From the J2EE page, double-click j2ee-apps/Agent.ear to open the Agent.war page.
7. From the Agent.war page, locate the WEB-INF/classes/atg/svc/ agent/ticketing folder, and then double click the TicketingResources.properties file to open the TicketingResources.properties window.
8. From the TicketingResources.properties window, scroll to the # Status labels list.
9. Modify the relevant #Status label(s).
10. Click Save File, and then close the TicketingResources.properties window.
11. From the ACC menu, select Pages and Components>Components by Path.
12. Navigate to the /atg/ticketing/TicketStatusManager component and then modify the relevant properties to match the new sub-status names. Included properties are:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6 5
1 6 - C u s t o m i z i n g T i c k e t i n g
μarchivedSubStatusName
closedAsDuplicateSubStatusName
closedSubStatusName
openSubStatusName
pendingSubStatusName
reOpenedSubStatusName
restoredSubStatusName
confirmedClosedSubStatusName
Important: If you have modified the Open sub-status name, then you must also modify the newTicketSubStatus and unsuspendedTicketSubStatus properties to match the new name for the Open sub-status.
13. Click Save.
Modifying Ticket Escalation Escalate is an attribute on the ticket, not a ticket status. Escalating a ticket allows a ticket to maintain its status, but reflect that the ticket has been escalated for further research, help, or approval, based on your organization’s escalation level definitions. Three escalation levels are delivered with ATG Ticketing
Tier 1
Tier 2
Tier 3
You can use the escalation levels provided, or modify them according to your business needs.
newTicketEscalationLevels
Modify the new ticket escalation property in the TicketingManager.properties file (newTicketEscalationLevel is set to Tier1). For example, instead of Tier 1 as the escalation level for a newly created ticket, you want to the new ticket escalation level to be Agent, or Level 1.
To change the new ticket escalation level:
1. From the ACC menu, select Pages and Components>Components by Path. The Components page is displayed.
2. From the Components page, expand the atg>ticketing folder, and then double-click the Ticketing Manager file. The TicketingManager Component Editor is displayed.
3. From the TicketingManager Component Editor, scroll to the newTicketEscalationLevel property.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6 6
1 6 - C u s t o m i z i n g T i c k e t i n g
μ
4. Modify the newTicketEscalationLevel property as required, and then click Save.
defaultEscalationTicketQueueName
Escalate a ticket to a default ticket queue, first using the designated ticket queue for the ticket (if any), then using the ticket queue specified by the defaultEscalationTicketQueueName property. This creates the associated activities for escalation level changes and ticket queue ownership changes.
To modify the defaultEscalationTicketQueueName:
1. From the ACC menu, select Pages and Components>Components by Path. The Components page is displayed.
2. From the Components page, expand the atg>ticketing folder, and then double-click the Ticketing Manager file. The TicketingManager Component Editor is displayed.
3. From the TicketingManager Component Editor, scroll to the defaultEscalationTicketQueueName property.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6 7
1 6 - C u s t o m i z i n g T i c k e t i n g
μ
4. Type the group name for escalation as required, and then click Save.
defaultEscalatedTicketEscalationLevel
Designate a default escalation level for an escalated ticket using the defaultEscalatedTicketEscalationLevel property. The default escalated ticket escalation level is the escalation level displayed with a ticket after it has been escalated. For example, if your default new ticket escalation level is set at Tier 1, the logical default for the escalated ticket escalation level is Tier 2.
To modify the defaultEscalatedTicketEscalationLevel:
1. From the ACC menu, select Pages and Components>Components by Path. The Components page is displayed.
2. From the Components page, expand the atg>ticketing folder, and then double-click the Ticketing Manager file. The TicketingManager Component Editor is displayed.
3. From the TicketingManager Component Editor, scroll to the defaultEscalatedTicketEscalationLevel property.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6 8
1 6 - C u s t o m i z i n g T i c k e t i n g
μ
4. Type the new escalated ticket escalation level as required, and then click Save.
Setting Default Ticket Priority
newTicketPriority
The default ticket priority for a new ticket created in the Service Center is 0. The newTicketPriority value is set in the TicketingManager.properties file in the ACC.
To change the default priority for new tickets:
1. From the ACC menu, select Pages and Components>Components by Path. The Components page is displayed.
2. From the Components page, expand the atg>ticketing folder, and then double-click the Ticketing Manager file. The TicketingManager Component Editor is displayed.
3. From the TicketingManager Component Editor, scroll to the newTicketPriority property.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 6 9
1 6 - C u s t o m i z i n g T i c k e t i n g
μ
4. In the newTicketPriority property, change the priority number as required, and then click Save.
Generating Ticket ID Spaces The Ticketing repository is configured to use an ID generator service to generate unique IDs for ticket items. By default, the ticket ID space is configured to have a seed of 1000 and a batch size of 100.
das_id_generator
In order to modify the seed, batch size, prefix or suffix information open the das_id_generator database table:
1. Select the row in the das_id_generator table with an id_space_name column value of ticket.
2. Modify the other values in that row as required.
Note: See ID Generators in the Core Dynamo Services chapter of the ATG Programming Guide for more information on the ID Generator.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7 0
1 6 - C u s t o m i z i n g T i c k e t i n g
μDefining New Ticket Activity Types
You can customize Service to track new ticket activities, allowing agents to search and sort tickets based on activity type. Creating a new ticket activity type includes defining the ticket activity, defining new repository item definitions and then displaying the ticket activities in Service Center.
1. Add the necessary SQL tables used for saving the custom activity information.
create table csrt_loyalty(
id varchar(40) not null,
order_id varchar(40) not null,
pointsRedeemed integer not null,
, primary key (id));
alter table csrt_loyalty set pessimistic;
2. Add the repository item definitions to the TicketingRepository. For example,
//Add the item descriptor
<item-descriptor name="RedeemedLoyaltyPoints" super-type="ticketActivity"
sub-type-value="RedeemedLoyaltyPoints" cache-mode="simple">
<attribute name="resourceBundle"
value="my.app.RepositoryTemplateResources"/>
<table name="csrt_loyalty" id-column-name="id">
<property name="pointsRedeemed" data-type="int" column-
name="points_redeemed" display-name-resource="pointsRedeemed"/>
<property name="orderId" data-type="string" column-name="order_id"
display-name-resource="orderId"/>
</table>
</item-descriptor>
//Add the activity type and application name to the base item descriptor
<item-descriptor name="ticketActivity" sub-type-property="type">
<table name="tkt_activity" type="primary" id-column-name="activity_id">
<property name="type" data-type="enumerated" column-name="type">
<attribute name="propertySortPriority" value="20"/>
<attribute name="useCodeForValue" value="false"/>
<option value="RedeemedLoyaltyPoints" code="88001"/>
</property>
<property name="application" data-type="enumerated" column-
name="application" required="true">
<attribute name="propertySortPriority" value="30"/>
<attribute name="useCodeForValue" value="false"/>
<option value="MyAppName" code="88000"/>
</property>
</table>
</item-descriptor>
3. Use the TicketingManager API to create and add new ticket activities to a ticket.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7 1
1 6 - C u s t o m i z i n g T i c k e t i n g
μpublic void someMethod(....)
{
activity = ticketingManager.createActivity("RedeemedLoyaltyPoints", "My
App Name", agentProfileRef,"My reason");
... set properties of item
ticketingManager.addTicketActivity(ticketRef, agentProfileRef, activity);
}
Displaying Ticket Activities in Service Center
The Service Center UI displays a panel with all the ticket activities associated with the ticket. The following describes how to add a new activity to that display.
1. Configure a new ActivityInfo component for the activity and add it to the registry configuration layer located in the /atg/ticketing/activities directory. Note: The name of the file must match the type of the ticket activity.
ActivityInfos define how to display the information contained in the activity. For example, using the /atg/ticketing/activities/ RedeemedLoyaltyPoints.properties file:
$class=atg.svc.ui.activity.ActivityInfo
hidden=true
# JSP to render the Activity column
activityColRenderer^=/atg/ticketing/activities/default.activityColRenderer
# The property to display in the Activity column
activityPropertyName=heading
# The page to use to render detail information for the activity
detailPage^=/atg/ticketing/activities/default.detailPage
options=detailPageProperties=orderId,,pointsRedeemed
# The icon to use to indicate an inbound or outbound activity
# directionIcon=
# The value to use for activity display name if no resourced display name
# value is found
# displayName=
# The resource key for the display name in the resource bundle
displayNameResourceKey=redeemedLoyaltyPointsDisplayName
# The resource bundle
resourceBundleName=atg.commerce.csr.ticketing.ActivityInfoResources
# The JSP to render the source column
sourceColRenderer^=/atg/ticketing/activities/default.sourceColRenderer
# The icon to use when rendering the source column
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7 2
1 6 - C u s t o m i z i n g T i c k e t i n g
μ# sourceIcon=
# The property to display in the Source column
sourcePropertyName=agentProfile.firstName,agentProfile.lastName
# Renderer for the type column
typeColRenderer^=/atg/ticketing/activities/default.typeColRenderer
# The icon used to represent this activity type
# typeIcon
2. The activities panel allows the agent to filter the display to a specific category of activities. For example, the agent can filter the display to view only Commerce related activities. To create a custom filter by creating a filter configuration component, for example, /myapp/activities/MyAppFilter:
$class=atg.svc.ui.formhandlers.CategoryActivityFilter
$scope=request
# The activity types to be grouped under this category
activityTypes=RedeemedLoyaltyPoints,MyOtherActivity1,MyOtherActivity2
# The resource key of the display name for this group
displayNameResourceKey=MyAppActivityFilter
# The resource bundle that contains the resource key
resourceBundleName=myApp.activities.ActivityInfoResources
3. Add the new filter component to the /atg/svc/ui/formhandlers/ ActivityFilters configuration. For example:
customActivityFilters+=/myapp/activities/MyAppFilter
Configuring Scheduled Services The following scheduled services are available within the Ticketing module:
ExpireOutboundMessageService
This service looks for and expires outbound message activities where the activity dueTime is past the current time. By default, this scheduled service is set to run once every hour.
To modify the schedule property of this service:
1. From the ACC menu, select Pages and Components>Components by Path. The Components page is displayed.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7 3
1 6 - C u s t o m i z i n g T i c k e t i n g
μ2. From the Components page, expand the atg>ticketing>scheduled folder, and then
double-click the ExpireOutboundMessageService file. The ExpireOutboundMessageService Component Editor is displayed.
3. From the ExpireOutboundMessageService Component Editor, scroll to the schedule property.
4. Modify the schedule as required, and then click Save.
Note: See Scheduled Services in the Core Dynamo Services chapter of the ATG Programming Guide for more information about scheduled services.
ReleaseTicketPeriodicService
This service releases tickets according to the ticket due time. By default, this scheduled service is set to run once every minute.
To modify the schedule property of this service:
1. From the ACC menu, select Pages and Components>Components by Path. The Components page is displayed.
2. From the Components page, expand the atg>ticketing>scheduled folder, and then double-click the ReleaseTicketPeriodicService file. The ReleaseTicketPeriodicService Component Editor is displayed.
3. From the ReleaseTicketPeriodicService Component Editor, scroll to the schedule property.
4. Modify the schedule as required, and then click Save.
Note: See Scheduled Services in the Core Dynamo Services chapter of the ATG Programming Guide for more information about scheduled services.
UnsuspendTicketPeriodicService
This service releases tickets according to the ticket due time. By default, this scheduled service is set to run once every minute.
To modify the schedule property of this service:
1. From the ACC menu, select Pages and Components>Components by Path. The Components page is displayed.
2. From the Components page, expand the atg>ticketing>scheduled folder, and then double-click the UnsuspendTicketPeriodicService file. The UnsuspendTicketPeriodicService Component Editor is displayed.
3. From the UnsuspendTicketPeriodicService Component Editor, scroll to the schedule property.
4. Modify the schedule as required, and then click Save.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7 4
1 6 - C u s t o m i z i n g T i c k e t i n g
μNote: See Scheduled Services in the Core Dynamo Services chapter of the ATG Programming Guide for more information about scheduled services.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7 5
1 7 - W o r k i n g w i t h a n E x t e r n a l C R M A p p l i c a t i o n
μ17 Working with an External CRM
Application
Integration allows a CRM application to call on the Service Center (for ticket creation and modification, and solution search). Features of the integration include:
Creating a new ATG ticket and linking it with a ticket from an external system
Updating the external ticket identification number and external system name of an existing ATG ticket using a Web service
Performing a solution search using the Service Center launched from an external CRM system
Single sign-on
Integration features can be accessed by issuing an http request to the server running the Service Center for creating a new ticket and performing a research session, and by Web service call to modify external ticket identification numbers and names.
Note: This chapter includes URL examples that begin as follows:
http://hostname:port
where hostname represents the name of the machine running your application server and port is the port number used by your application server to listen for HTTP requests. For more information, including the default port, see the ATG Installation and Configuration Guide for your application server.
Before You Begin Before you begin integration with your CRM application, be sure that the following requirements have been met:
Installation of ATG 10.0.2
Installation of ATG Service 10.0.2
Note: Applications need to support issuing http requests as well as Web service requests. Be sure your Web application includes Service.Knowledge and Service.Ticketing as well as the Service.CRMIntegration module.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7 6
1 7 - W o r k i n g w i t h a n E x t e r n a l C R M A p p l i c a t i o n
μCRM Integration Servlet
The CRM Integration servlet is configured by default to handle requests sent to the URL: /agent/agentIntegrationService
If the context root for the Agent Web application is changed to something other than /agent, then this change will need to be reflected in the CRM integration servlet as well.
In the ACC, edit the matchUri property in /atg/dynamo/servlet/pipeline/ CRMServiceAgentAccessServlet to reflect this change. You also then need to change the matchUri property in /atg/dynamo/servlet/dafpipeline/CRMServiceAgentAccessServlet.
For example, if the context root for the Agent Web app was changed from /agent to /serviceagent, then the matchUri property would need to be changed to /serviceagent/ agentIntegrationService
Single Sign-on
Integration provides single-sign on capability so that users do not have to log in to the Service Center each time they create a new ticket, modify a ticket, or perform a solution search from an external CRM application. The single sign-on capability is provided using the LoginAgentUser Web service (to authenticate the identity of the user for whom the service was called).
The LoginAgentUser Web service is very similar to the standard DPS Userprofiling LoginUser Web service except that it can handle the Customer Service Agent user subtype whereas the LoginUser Web service can only handle the base user type (Internal User). Since the ATG Knowledge Service Center uses the Customer Service Agent user subtype, the LoginAgentUser Web service is required and the LoginUser Web service will not work. If client side encryption is used, then the agent versions of the CanClientEncryptPasswords, GetPassWordHashKey and GetPassWordHashAlgorithm methods should be used.
LoginAgentUser Web Service
The LoginAgentUser Web service authenticates the identity of the agent/user for which the service was called, returning the agent/user profile ID if authentication is successful.
EAR file loginAgentUser.ear
Context root loginAgentUser/loginAgentUser
Servlet loginUser
Web Service URL http://hostname:port/loginAgentUser/loginAgentUser/loginUser
WSDL URL http://hostname:port/loginAgentUser/loginAgentUser/loginUser?
WSDL
Web Service Class webservice.LoginUserSEIImpl
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7 7
1 7 - W o r k i n g w i t h a n E x t e r n a l C R M A p p l i c a t i o n
μInput Parameters String Login
String Password
Boolean IsPasswordEncrypted
Output String ProfileId
Nucleus Component
/atg/userprofiling/AgentProfileServices (class atg.userprofil
ing.ProfileServices)
Method loginUser
String pLogin
String pPassword
Boolean pIsPasswordEncrypted
Executes within a session
Yes
Security FunctionalName
loginOperation
CanClientEncryptAgentPasswords Web Service
The CanClientEncryptAgentPasswords Web service is used as part of the optional client-side encryption feature that you can use with the LoginAgentUser Web service. It is a utility service that checks to see if a client is configured and able to encrypt passwords for sending via an ATG Web service. Currently, only the LoginUser and LoginAgentUser Web services can handle passwords encrypted by the client.
Note: See the ATG Personalization Programming Guide for more information about using client-side password encryption.
EAR file canClientEncryptAgentPasswords.ear
Context root canClientEncryptAgentPasswords/canClientEncryptAgentPasswo
rds
Servlet canClientEncryptPasswords
Web Service URL http://hostname:port/ canClientEncryptAgentPasswords/canCl
ientEncryptAgentPasswords/canClientEncryptPasswords
WSDL URL http://hostname:port/ canClientEncryptAgentPasswords/canCl
ientEncryptAgentPasswords/canClientEncryptPasswords?WSDL
Web Service Class webservice.CanClientEncryptPasswordsSEIImpl
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7 8
1 7 - W o r k i n g w i t h a n E x t e r n a l C R M A p p l i c a t i o n
μInput Parameters None
Output Boolean CanEncryptPasswords
Nucleus Component /atg/userprofiling/AgentProfileServices (class atg.userprofiling.ProfileServices)
Method canClientEncryptPasswords()
Executes within a session
Yes
Security FunctionalName
loginOperation
GetAgentPasswordHashKey Web Service
The GetAgentPasswordHashKey Web service is used as part of the optional client-side encryption feature. It returns a temporary hash Key used by the client to encrypt a password for a single authentication call. The client forward-encrypts the password with this hash key. The server then stores the hash key in the current session so you do not have to return it to the LoginAgentUser service.
Note: See the ATG Personalization Programming Guide for more information about using client-side password encryption.
EAR file getAgentPasswordHashKey.ear
Context root getAgentPasswordHashKey/getAgentPasswordHashKey
Servlet getPasswordHashKey
Web Service URL http://hostname:port/getAgentPasswordHashKey/getAgentPasswor
dHashKey/ getPasswordHashKey
WSDL URL http://hostname:port/getAgentPasswordHashKey/getAgentPasswor
dHashKey/getPasswordHashKey?WSDL
Web Service Class webservice.GetPasswordHashKeySEIImpl
Input Parameters None
Output String PasswordHashKey
Nucleus Component
/atg/userprofiling/AgentProfileServices (class atg.userprofiling.ProfileServices)
Method getPasswordHashKey()
Executes within a session
Yes
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 7 9
1 7 - W o r k i n g w i t h a n E x t e r n a l C R M A p p l i c a t i o n
μSecurity FunctionalName
loginOperation
GetAgentPasswordHashAlgorithm Web Service
The GetAgentPasswordHashAlgorithm Web service is used as part of the optional client-side encryption feature. It returns the name of the algorithm that the containing application on the server uses to hash passwords (for example; MD5, SHA, or SSHA). Along with a hash Key, this service allows the client to encrypt the password and pass it to the LoginAgentUser or Web service over unsecured transport mechanisms.
Note: Only MD5 is currently supported.
EAR file getAgentPasswordHashAlgorithm.ear
Context root getAgentPasswordHashAlgorithm/getAgentPasswordHashAlgorithm
Servlet getPasswordHashAlgorithm
Web Service URL http://hostname:port/ getAgentPasswordHashAlgorithm/
getAgentPasswordHashAlgorithm/getPasswordHashAlgorithm
WSDL URL http://hostname:port/ getAgentPasswordHashAlgorithm/
getAgentPasswordHashAlgorithm/getPasswordHashAlgorithm?WSDL
Web Service Class webservice.GetPasswordHashAlgorithmSEIImpl
Input Parameters None
Output String PasswordHashAlgorithm
Nucleus Component
/atg/userprofiling/AgentProfileServices (class atg.userprofiling.ProfileServices)
Method getPasswordHashAlgorithm()
Executes within a session
Yes
Security FunctionalName
loginOperation
Note: See the ATG Personalization Programming Guide (Part III: Web Services for Personalization and Scenarios) for more information about user profiling and password encryption. Follow the directions contained within the ATG Personalization Programming Guide for using the Web service to login before issuing a request to create a ticket or to perform a search using the Service Center. Agents/users do not need to log in to modify the external ticket identification number since that is handled automatically
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8 0
1 7 - W o r k i n g w i t h a n E x t e r n a l C R M A p p l i c a t i o n
μthrough the Web service call for updating the external ticket identification number and external system name of an existing ATG ticket.
Creating/Linking a New ATG Ticket To create a new ATG ticket that is linked to an external CRM application ticket, pass in the external system name and the external ticket identification number. Once complete, your newly created ticket is visible in the Service Center Ticketing tab.
The op value must be viewTicket.
The login value must be the login name of the user.
The ticket value must be the ticket id within the external system (not the ATG ticket id).
The externalSystem value must be the name of the external system.
The CRM application can issue this request via a dynamically constructed link available on the CRM application page.
The following is an example HTTP request to create a new ticket:
http://mywisdomserver.com:8080/agent/agentIntegrationService?
op=viewTicket&login=serviceLogin&ticket=1234&externalSystem=foobarSystem
Changing an External Ticket ID and Name Changes that are made to an external ticket identification number and/or name are accessed through a Web service (changeExternalTicketId). The integration system locates the ATG ticket that has the external system name and ticket id and modifies it. The Web service returns true if the external id was changed successfully, false if not. .
Note: An alternate way to verify that the external ticket id was changed successfully is to view the ticket in the ATG Control Center (ACC).
The parameters for the Web service are:
Parameter Type Description
externalSystemName String The name of the external CRM system.
oldExternalId String The old external ticket id.
newExternalId String The new external ticket id.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8 1
1 7 - W o r k i n g w i t h a n E x t e r n a l C R M A p p l i c a t i o n
μParameter Type Description
login String Login for the agent worker.
password String Password for the agent/user.
Example Web service URL: http://localhost:8080/changeExternalTicketId/changeExternalTicketIdServlet/changeE
xternalTicketId
Sample Web Service Call Code
Sample code that uses Axis to create a Web service call and change a ticket id:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import java.io.IOException;
public class SampleWebServiceCall
{
public SampleWebServiceCall()
{
}
public static void main(String[] args)
{
try {
String endpoint = http://localhost:8080/changeExternalTicketId/
changeExternalTicketIdServlet/changeExternalTicketId";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.addParameter("externalSystemName",rg.apache.axis.Constants.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter("oldExternalId", org.apache.axis.Constants.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter("newExternalId", org.apache.axis.Constants.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter("login", org.apache.axis.Constants.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.addParameter("password", org.apache.axis.Constants.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.Constants.XSD_BOOLEAN);
call.setOperationName(new QName("http://www.atg.com/webservices",
"changeExternalTicketId"));
Object[] values =
new Object[] {
"sampleExternalSystemName",
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8 2
1 7 - W o r k i n g w i t h a n E x t e r n a l C R M A p p l i c a t i o n
μ "sampleOldExternalTicketId",
"sampleNewExternalTicketId",
"sampleLogin",
"samplePassword"
};
Boolean ret = (Boolean) call.invoke(values);
}
catch(Exception e) {
e.printStackTrace();
}
}
}
Note: See the ATG Web Services and Integration Framework Guide (Accessing ATG Web Services from Java Clients) for more information about using Axis with Dynamo.
Searching from an External CRM Application Perform a Research session from an external CRM application using the Service Center Research tab. To perform a search, pass in the external system name and the external ticket identification number. The values for these parameters are passed directly to the SearchFormHandler. See the ATG Search Administration Guide and the ATG Knowledge Guide for Business Users. Once complete, the Service Center Research tab is displayed.
The op value must be set to initialSearch
The searchTextValues must be set to the string to search for
The login must be set to the same user name used to log in before issuing the http request
An example HTTP request to perform a search: http://mywisdomserver.com:8080/agent/agentIntegrationService?op=initialSearch&logi
n=serviceLogin&ticket=1234&externalSystem=foobarSystem&searchTextValues=macintosh
Note: The ticket must be set to a valid external ticket id and externalSystem must be set to a valid external CRM system name if the user would like the search to take place within the context of an existing ticket. The ATG ticket is located based on the external ticket and external system name.
Additional Search Parameters
In addition to searchTextValues, optional advanced search parameters can be used. The following parameters are activated when a non-empty string value is passed in for the given parameter:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8 3
1 7 - W o r k i n g w i t h a n E x t e r n a l C R M A p p l i c a t i o n
μSearch Parameter Description
initialSearchDelimiter This parameter sets the delimiter character. The default delimiter is a comma. This delimiter value will be set for search text values, document formats, topics, and solution classes.
searchTextValues The delimited string containing the search text values.
favoriteQuery Repository ID of the favorite query you would like to apply as a constraint.
topics Delimited string of topic IDs.
searchAllTopics If set to optAll, then search result must be in all topics listed in topics parameters. If set to optAtLeastOne then search results must be in at least one of the topics listed in the topics parameters.
keywordAllOfTheWords Space delimited list of keywords. All must be present. Generates a constraint like:
<all>keyword1 keyword2</all>
keywordAtLeastOneOfTheWords Space delimited list of keywords. Match if any are present. Generates a constraint like:
<all>keyword1 keyword2</all>
keywordNotTheWords Space delimited list of keywords. None of the words must be present.
documentFormats Delimited list of document formats. Result must match the specified document formats. Possible document formats include XHTML, Text, PDF, HTML, and Other and All.
Solutions are represented as XHTML.
solutionClasses Delimited string of SolutionClass repository item _NAMES_, and not actual IDs.
For example:
“Handy PC Solutions” as opposed to: “100002”
creationDateType If set to true, then numerical range is used for creation date. If set to false, then the from and to range is used.
listCreationRange A number representing days. The solution or file was created within the last N number of days.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8 4
1 7 - W o r k i n g w i t h a n E x t e r n a l C R M A p p l i c a t i o n
μSearch Parameter Description
creationDateFrom A date of the form MM/DD/YYYY specifying the start date for the creation range.
creationDateTo A date of the form MM/DD/YYYY specifying the end date for the creation range.
lastModifiedDateType If set to true, then numerical range is used for last modified date. If set to false, then the from and to range is used.
lastModifiedRange A number representing days. The solution or file was modified within the last N number of days.
lastModifiedDateFrom A date of the form MM/DD/YYYY specifying the start date for the last modified range.
lastModifiedDateTo A date of the form MM/DD/YYYY specifying the end date for the last modified range.
languageQuery The query language code. For example, en.
languageResults The target language code for the results. For example: en
isRecordSearch If true, records the search in the search history.
advancedConstraintsAsXml
advancedNonSolutionConstraintsAsXml
advancedSolutionConstraintsAsXml
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8 5
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μAppendix A: ATG Service Access Rights
This Appendix lists all the ATG Service access rights. Access rights are security permissions that control which users have access to which functionality within ATG Ticketing, ATG Knowledge, and ATG Self Service. There are two types of access rights:
Direct access rights are security permissions that control which tasks users can perform in the Service Center user interface. Direct access rights are associated with Roles, controlling which tabs users see and which tasks users can perform within those tabs. For example, direct access rights allow content authors to use the Contribute tab, while customer service representatives can only use the Research tab.
Status access rights are security permissions that control which users can view, edit, and modify solutions during their workflow. Status access rights control which actions users can perform on those solutions. For example, status access rights allow a Content Editor to edit a solution when it is in the In Review state. You must be using ATG Knowledge to work with solutions.
ATG Service Administration Page Access Rights Each page within ATG Service Administration contains general access rights . To view ATG Service Administration pages, the user must have the correct access.
General Service Administration
ATG Service Administration includes general access rights that are not specific to applications, shown in the following table.
General Access Right Grants Access to this Section
serviceAdminDefaultRight ATG Service Administration access; if this right is not present, then the user cannot log in to ATG Service Administration. Note: access to specific pages and settings is controlled by specific rights.
serviceAdminDeploymentPageRight Deployment page (for deploying changes made in ATG Service Administration)
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8 6
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μGeneral Access Right Grants Access to this Section
serviceAdminServiceUserSegmentsPageRight Service User Segments page
ATG Self Service Administration
You can control which users can access different parts of the ATG Self Service administration section. ATG Self Service administration rights are shown in the following table.
ATG Self Service Access Right Grants Access to
serviceAdminSelfServiceAdminRight Overall ATG Self Service section; if this right is not present, then no ATG Self Service admin operation can be performed
serviceAdminSelfServiceSegmentPageRight Site Management page
serviceAdminSelfServiceGlobalSettingsPageRight Global Settings page
Each segment defined in the Segment Management page has its own set of each of the rights listed in the following table:
Per-Segment ATG Self Service Access Right Grants Access to
serviceAdminSelfServiceSkinSelectionPageRight Skin Selection page
serviceAdminSelfServiceSkinSettingsPageRight Skin Settings page
serviceAdminSelfServiceGeneralSettingsPageRight General Settings page
serviceAdminSelfServiceEmailSettingsPageRight Email Settings page
serviceAdminSelfServiceTopicRootAssignmentsPageRight Topic Root Assignments page
serviceAdminSelfServiceHomePageRight Home Page Settings page and all subsidiary pages
serviceAdminSelfServiceSearchPageRight Search Page Settings page
serviceAdminSelfServiceBrowsePageRight Browse Page Settings page
serviceAdminSelfServiceSolutionPageRight Solution Page Settings page
serviceAdminSelfServiceDocumentPageRight Documents Page Settings page
serviceAdminSelfServiceAccountPageRight Account Page Settings page
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8 7
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μPer-Segment ATG Self Service Access Right Grants Access to
serviceAdminSelfServiceContactUsPageRight Contact Us Page Settings page
Service Center Administration
You can control which users can access different parts of the Service Center administration section. Service Center administration rights are shown in the following table.
Service Center Access Right Grants Access to
serviceAdminWorkspaceAdminRight Overall Service Center section; if this right is not present, then no Service Center admin operation can be performed
serviceAdminWorkspaceGlobalSettingsPageRight Global Service Center Settings page
serviceAdminWorkspaceGlobalGeneralPageRight Global: General Settings page
serviceAdminWorkspaceGlobalHelpfulPageRight Global: Helpful Panels page
serviceAdminWorkspaceGlobalUserPreferencesPageRight Global: User Preferences Defaults page
serviceAdminWorkspaceGlobalOrganizationListPageRight Global: Organization Lists page
serviceAdminWorkspaceGlobalManageSlotsPageRight Global: Manage Slots page
serviceAdminWorkspaceGlobalPersonalizationPageRight Global: Offer Management Settings page
serviceAdminWorkspaceKnowledgeSettingsPageRight Knowledge Settings page
serviceAdminWorkspaceKnowledgeSearchPageRight Knowledge: Search page
serviceAdminWorkspaceKnowledgeResultsPageRight Knowledge: Results page
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8 8
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μService Center Access Right Grants Access to
serviceAdminWorkspaceKnowledgeTopicsPageRight Knowledge: Topics page
serviceAdminWorkspaceKnowledgeLanguagesPageRight Knowledge: Languages page
serviceAdminWorkspaceKnowledgeContributePageRight Knowledge: Contribute page
serviceAdminWorkspaceSolutionClassesPageRight Solution Classes main page
serviceAdminWorkspaceSolutionClassesGlobalFieldPageRight Solution Classes: Global Field Definitions page
serviceAdminWorkspaceSolutionClassesSolutionClassPageRight Solution Classes: Solution Class Definitions page
Service UI Elements Within both the ATG Service Administration and ATG Knowledge, UI elements contain the following options for access.
ATG Self Service Administration UI Options
This section lists the names of each field (option) in the ATG Service Administration user interface, grouped by the page of ATG Self Service Administration where the option appears. For instructions on creating security for UI options, see Field-Level Security.
Global Settings UI Options
User Interface Option Type UI Field Name
AccountLoginSeparatePerSite Site Separate customer logins per site
AllowAnonymousUsers Site Allow Anonymous Users
P3PEnabled Site Policy Enabled
P3PPath Site Policy file path
P3PPolicy Site Compact policy value
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 8 9
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μUser Interface Option Type UI Field Name
UIConfigShowPoweredByATG Site Show “Powered by ATG” logo
SiteAdminEmail Site Site admin email address (for error messages)
SiteURL Site Site URL
PublishingWebAgentDeploymentURL Site PublishingWebAgent URL
AllowBrands Site Allow Brands
BrandSelectionUrl Site Brand Selection Page URL [if Allow Brands is selected]
Skin Selection and Skin Settings UI Options
User Interface Option Type UI Field Name
Skin Segment Ability to choose skins in the Skin Selection screen. Skin chosen determines which Skin Settings pages and UI options are available.
SkinSimpleLinksCSS Segment Skin CSS [for Simple Links skin]
SkinSimpleLinksJS Segment Skin JavaScript [for Simple Links skin]
SkinSimpleLinksShowLogo Segment Show Simple Links Logo [for Simple Links skin]
SkinSimpleTabsCSS Segment Skin CSS [for Simple Tabs skin]
SkinSimpleTabsJS Segment Skin JavaScript [for Simple Tabs skin]
SkinSimpleTabsShowLogo Segment Show Simple Links Logo [for Simple Tabs skin]
SkinHTMLCSS Segment Skin CSS [for Funky Metal skin]
SkinHTMLJS Segment Skin JavaScript [for Funky Metal skin]
SkinHTMLShowHeader Segment Show Header [for Funky Metal skin]
SkinHTMLHeaderHTML Segment Header HTML [for Funky Metal skin]
SkinHTMLShowFooter Segment Show Footer [for Funky Metal skin]
SkinHTMLFooterHTML Segment Footer HTML [for Funky Metal skin]
SkinHTMLShowLeftRail Segment Show Left Rail [for Funky Metal skin]
SkinHTMLLeftRailHTML Segment Left Rail HTML [for Funky Metal skin]
SkinHTMLShowRightRail Segment Show Right Rail [for Funky Metal skin]
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9 0
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μUser Interface Option Type UI Field Name
SkinHTMLRightRailHTML Segment Right Rail HTML [for Funky Metal skin]
General Settings UI Options
User Interface Option Type UI Field Name
QueryLanguages Segment Query Languages
QueryDefaultLanguage Segment Default Query Language
QueryUseBrowserLocale Segment Use Browser’s locale (if supported)
ResultLanguages Segment Result Languages
ResultDefaultLanguage Segment Default Results Language
ResultUseBrowserLocale Segment Use Browser’s locale (if supported)
SearchServerSiteName Segment Search content cluster
AccountSupportsLogin Segment Support Customer Login
AccountSupportsRegister Segment Support Customer Registration
AccountRegisterAlternateURL Segment Alternate URL [shown if AccountSupportsRegister is deselected]
AccountSupportsEdit Segment Support Customer Profile Edits
AccountEditAlternateURL Segment Alternate URL [shown if AccountSupportsEdit is deselected]
AccountSupportsPasswordChange Segment Support Password Changes
AccountForgottenAlternateURL Segment Alternate URL [shown if AccountSupportsPasswordChange is deselected]
Email Settings UI Options
User Interface Option Type UI Field Name
EmailHeaderHTML Segment Email Header
EmailFooterHTML Segment Email Footer
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9 1
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μUser Interface Option Type UI Field Name
EmailForgottenPreamble Segment Forgotten Password Email Preamble
EmailRegistrationPreamble Segment Registration Email Preamble
EmailSolutionPreamble Segment Email-a-friend Email Preamble
Home Page UI Options
User Interface Option Type UI Field Name
HomeCSSUseExternal Segment Home Page Styles > Use CSS
HomeCSSURL Segment Home Page Styles > External CSS URL [if HomeCSSUseExternal is set to External]
HomeCSS Segment Home Page Styles > CSS field [if HomeCSSUseExternal is set to Internal]
HomeColumnCount Segment Home Page Layout > Number of columns
HomePageHotSolutionsNum Segment Home Page > Hot Solutions [Number of solutions to show]
HomePageBestBetsNum Segment Home Page > Best Bets [Number of solutions to show]
HomePageTopQuestionsNum Segment Home Page > Top Questions [Number of questions to show]
HomePageWizardNum Segment Home Page > Guided Search [Number of guides to show]
HomePageWizard1 Segment Home Page > Guide 1
HomePageWizard2 Segment Home Page > Guide 2
HomePageWizard3 Segment Home Page > Guide 3
Search Page UI Options
User Interface Option Type UI Field Name
SearchAllowSearch Segment Allow Search
SearchCSSUseExternal Segment Use CSS
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9 2
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μUser Interface Option Type UI Field Name
SearchCSSURL Segment External CSS URL [if SearchCSSUseExternal is set to External]
SearchCSS Segment CSS field [if SearchCSSUseExternal is set to Internal]
SearchShowExampleQuestions Segment Show Example Questions
SearchRotateQuestions Segment Rotate Questions
SearchRotateQuestionsTimeout Segment Every n seconds
SearchDefaultResultsPerPage Segment Num Results per page
SearchMaxNumberResults Segment Max Number of results
SearchDefaultSorting Segment Default Sorting
SearchAllowUserSorting Segment Allow User Sorting
SearchShowRateTheseResults Segment Show Rate these results
SearchUseFilterByTopics Segment User Filter By Topic
SearchUseAdvancedOptions Segment Use advanced options
SearchAdvancedOptionsOpen Segment Advanced search open by default
SearchAdvShowLanguageSelection Segment Show Language Selection
SearchAdvSolutionFormatsEnabled Segment Solution Formats Enabled
SearchAdvDocFormatsEnabled Segment Document Formats Enabled
SearchAdvDocFormatPDF Segment PDF
SearchAdvDocFormatHTML Segment HTML
SearchAdvDocFormatOther Segment Other
Browse Page UI Options
User Interface Option Type UI Field Name
BrowseAllowBrowse Segment Allow Browse
BrowseCSSUseExternal Segment Use CSS
BrowseCSSURL Segment External CSS URL [if BrowseCSSUseExternal is set to External]
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9 3
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μUser Interface Option Type UI Field Name
BrowseCSS Segment CSS field [if BrowseCSSUseExternal is set to Internal]
BrowseDefaultResultsPerPage Segment Num Results per page
BrowseMaxNumberResults Segment Max Number of results
BrowseDefaultSorting Segment Default Sorting
BrowseAllowUserSorting Segment Allow User Sorting
BrowseShowEmptyTopics Segment Show topics if empty
Solution Page UI Options
User Interface Option Type UI Field Name
SolutionSolutionCSSUseExternal Segment Use CSS
SolutionSolutionCSSURL Segment External CSS URL [if SolutionSolutionCSSUseExternal is set to External]
SolutionSolutionCSS Segment CSS field [if SolutionSolutionCSSUseExternal is set to Internal]
SolutionSolutionAllowRating Segment Allow Ratings
SolutionSolutionShowMetaData Segment Show Metadata
SolutionSolutionAllowEmailToFriend Segment Allow Email a friend
SolutionSolutionAllowBookmark Segment Allow Bookmark
SolutionSolutionAllowPrint Segment Allow Print
SolutionSolutionAllowEscalate Segment Allow Escalate
SolutionPrintHeaderHTML Segment Print Header HTML
SolutionPrintFooterHTML Segment Print Footer HTML
Document Page UI Options
User Interface Option Type UI Field Name
SolutionDocumentCSSUseExternal Segment Use CSS
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9 4
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μUser Interface Option Type UI Field Name
SolutionDocumentCSSURL Segment External CSS URL [if SolutionDocumentCSSUseExternal is set to External]
SolutionDocumentCSS Segment CSS field [if SolutionDocumentCSSUseExternal is set to Internal]
SolutionDocumentAllowRating Segment Allow Ratings
SolutionDocumentShowMetaData Segment Show Metadata
SolutionDocumentAllowEmailToFriend Segment Allow Email a friend
SolutionDocumentAllowBookmark Segment Allow Bookmark
SolutionDocumentAllowPrint Segment Allow Print
SolutionDocumentAllowEscalate Segment Allow Escalate
Account Page UI Options
User Interface Option Type UI Field Name
AccountInfoCSSUseExternal Segment Use CSS
AccountInfoCSSURL Segment External CSS URL [if AccountInfoCSSUseExternal is set to External]
AccountInfoCSS Segment CSS field [if AccountInfoCSSUseExternal is set to Internal]
AccountInfoShowTickets Segment Show Tickets
AccountInfoShowHistory Segment Show History
AccountAllowUserOptions Segment Allow user options
AccountTicketAllowUserClose Segment Allow user to close
AccountTicketAllowUserReopen Segment Allow user to reopen
AccountTicketAllowAddNote Segment Allow user to add a note
AccountShowCompanyField Segment Company
AccountShowTitleField Segment Job Title
AccountShowAddress1Field Segment Address 1
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9 5
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μUser Interface Option Type UI Field Name
AccountShowAddress2Field Segment Address 2
AccountShowCityField Segment City
AccountShowCountyField Segment County
AccountShowStateField Segment State
AccountShowPostalCodeField Segment Postal Code
AccountShowCountryField Segment Country
AccountShowTelephoneField Segment Telephone
AccountRequireCompanyField Segment Company
AccountRequireTitleField Segment Job Title
AccountRequireAddress1Field Segment Address 1
AccountRequireAddress2Field Segment Address 2
AccountRequireCityField Segment City
AccountRequireCountyField Segment County
AccountRequireStateField Segment State
AccountRequirePostalCodeField Segment Postal Code
AccountRequireCountryField Segment Country
AccountRequireTelephoneField Segment Telephone
Contact Us Page UI Options
User Interface Option Type UI Field Name
ServiceEscalationAllowEscalate Segment Allow Contact Us
ServiceEscalationCSSUseExternal Segment Use CSS
ServiceEscalationCSSURL Segment External CSS URL [if ServiceEscalationCSSUseExternal is set to External]
ServiceEscalationCSS Segment CSS field [if ServiceEscalationCSSUseExternal is set to Internal]
ServiceEscalationMethod Segment Service escalation method
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9 6
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μUser Interface Option Type UI Field Name
ServiceEscalationEmail Segment Service escalation email address [if escalation method is email]
ServiceEscalationPrefillFields Segment Pre-fill profile fields
ServiceEscalationShowAdditionalInfo Segment Show Additional Info to User
ServiceEscalationShowTerms Segment Show Escalation Terms
ServiceEscalationShowProblemCategory Segment Show Problem Category
ATG Knowledge UI Direct Access Rights
The following tables contain ATG Knowledge UI elements (tabs and panels) and their associated Direct Access Rights.
Service Center Client
Direct Access Right Description
workspaceLogin Allowed to login and use the Service Center client
Research Tab
Research Tab Panel/Item Direct Access Right Description
Research Tab findTab Allowed to access research tab
Search ResearchSearchPanel Allowed to access search panel in Research/Find
Browse ResearchBrowsePanel Allowed to access browse topic panel in Research/Find
Results ResearchResultsPanel Allowed to access results panel in Research/Find
View Document ResearchFileDocumentPanel Allowed to access view file document panel in Research/Find
View Solutions ResearchSolutionDocumentPanel Allowed to access view solution document panel in Research/Find
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9 7
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μResearch Tab Panel/Item Direct Access Right Description
Properties ResearchSolutionPropertiesPanel Allowed to access view solution properties panel in Research/Find
Solution Tasks ResearchSolutionTasksPanel Allowed to access view solution tasks panel in Research/Find
Associated Tickets ResearchSolutionTicketsPanel Allowed to access view solution cases panel in Research/Find
History ResearchSolutionHistoryPanel Allowed to access view solution history panel in Research/Find
Contribute Tab
Contribute Tab Panel/Item Direct Access Right Description
Contribute Tab ContributeTab Allowed to access contribute tab
Authoring ContributeAuthoringPanel Allowed to access author solution panel in Contribute
Properties ContributePropertiesPanel Allowed to access edit solution properties panel in Contribute
Task Assignment ContributeTaskAssignmentPanel Allowed to access assign solution task panel in Contribute
History ContributeHistoryPanel Allowed to access view solution history panel in Contribute
Contribute-Research Split Screen
Contribute-Research Split Screen Panel/Item
Direct Access Right Description
Contribute-Research Split Screen
researchColumn Allowed to access contribute-research split screen
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9 8
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μContribute-Research Split Screen Panel/Item
Direct Access Right Description
Merge ContributeMergePanel Allowed to access merge solutions panel in Contribute
Quick Find ContributeQuickFindPanel Allowed to access quick find panel in Contribute/Research
View Results ContributeResultsPanel Allowed to access quick find solution results panel in Contribute/Research
View Document ContributeViewFileDocumentPanel Allowed to access research view file document panel in Contribute/Research
View Solution ContributeViewSolutionPanel Allowed to access research view solution document panel in Contribute/Research
Similar Content ContributeFindSimilarPanel Allowed to access find similar solutions panel in Contribute/Research
Possible Duplicates ContributeFindPossibleDupleate Allowed to access find possible duplicates
Respond Tab
Respond Tab Panel/Item Direct Access Right Description
Respond Tab respondTab Allowed to access respond tab
Browse Content RespondBrowseContentPanel Allowed to access content browser panel in Communicate
Linked Documents RespondLinkedSolutionsPanel Allowed to access linked solutions panel in Communicate
Compose Message RespondComposeMessagePanel Allowed to access send message panel in Communicate
Tasks Tab
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
1 9 9
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μTasks Tab Panel/Item Direct Access Right Description
Tasks Tab tasksTab Allowed to access tasks tab
Solution Queue TasksAuthoringTasksPanel Allowed to access task list panel in Tasks
Solution Review Queries TasksReviewSolutionQueriesPanel Allowed to access task list review queries panel in Tasks
My Tickets TasksMyTicketsPanel Allowed to access my tickets panel in Tasks
All Tickets TasksAllTicketsPanel Allowed to access all tickets panel in Tasks
Authoring Tasks TasksAuthoringTasksPanel Allowed to access the authoring tasks panel
Query Builder
Query Builder Panel/Item Direct Access Right Description
Solution Queries QueryBuilderSolutionQueriesPanel Allowed to access solution queries panel in Query Builder
Query Results QueryBuilderResultsPanel Allowed to access query results panel in Query Builder
Query Editor QueryBuilderEditorPanel Allowed to access solution query editor panel in Query Builder
Tickets Tab
Tickets Tab Panel/Item Direct Access Right Description
Tickets Tab ticketsTab Allowed to access tickets tab
Ticket Search TicketsSearchPanel Allowed to access ticket search panel in Tickets
Search Results TicketsResultsPanel Allowed to access ticket search results panel in Tickets
Customer Information TicketsCustomerInformationPanel Allowed to access ticket customer info panel in Tickets
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0 0
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μTickets Tab Panel/Item Direct Access Right Description
Ticket Summary TicketsSummaryPanel Allowed to access ticket summary panel in Tickets
Ticket Activity TicketActivityPanel Allowed to access ticket history panel in Tickets
Customers Tab
Customers Tab Panel/Item Direct Access Right Description
Customers Tab customersTab Allowed to access customers tab
Customer Search CustomerSearchPanel Allowed to access customer search panel in Customer
Customer Results CustomerResultsPanel Allowed to access customer search results panel in Customer
Customer Information CustomerInformationPanel Allowed to access customer info panel in Customer
Ticket History CustomerTicketHistoryPanel Allowed to access customer ticket history panel in Customer
Order History CustomerOrderHistoryPanel Allowed to access customer order history panel in Customer
Customer Account CustomerAccountPanel Allowed to access customer account panel in Customer
Create Customer CustomerCreatePanel Allowed to create a customer account in Customer
Customer Slots CustomerSlotsPanel Allowed to access customer slots information panel in Customer
Utilities
Note: Contains Next Steps panel and Helpful panels.
Helpful Panel Name Direct Access Right Description
Utilities sidebarColumn Allowed to access helpful utility panels
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0 1
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μHelpful Panels
Helpful Panel Name Direct Access Right Description
Favorites HelpfulFavoritesPanel Allowed to access favorites panel in Helpful Panels
Hot Solutions HelpfulHotSolutionsPanel Allowed to access hot solutions panel in Helpful Panels
Management Tool Box HelpfulManagementToolboxPanel Allowed to access management toolbox panel in Helpful Panels
Open By ID HelpfulOpenByIDPanel Allowed to access open solution panel in Helpful Panels
Recent Searches HelpfulRecentSearchesPanel Allowed to access recent search criteria panel in Helpful Panels
Recent Tickets HelpfulRecentTicketsPanel Allowed to access recent tickets panel in Helpful Panels
Recently Viewed HelpfulRecentlyViewedPanel Allowed to access recent documents panel in Helpful Panels
Recommended Reading HelpfulRecommendedReadingPanel Allowed to access recommended reading panel in Helpful Panels
Search Results HelpfulSearchResultsPanel Allowed to access search results panel in Helpful Panels
View Information HelpfulViewInformationPanel Allowed to access info panel in Helpful Panels
Available Panels Note: Available Panels does not require access rights.
Global Ticket Panel
Note: The Global Ticket panel does not require rights if Ticketing rights have been granted.
Next Steps Panel
Note: The Next Steps panel does not require access rights.
Preferences
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0 2
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μItem Name Direct Access Right Description
Preferences GlobalPanel Allowed to access general preferences panel in Preferences
Error Panels
Error Panels Direct Access Right Description
<error panels> rrorPanel Allowed to access any error panel
BCC Global Role Rights The ATG Service Global Roles have access to the BCC UI as shown in the following tables.
Tier 1 Tier 2 Content Reviewer
Style Reviewer
Knowledge Manager
Business Manager
BCC Link
Content Administration
X
Content Admin Projects
X
Browse Projects X
Browse Assets X
Admin Console
Reporting X X X X
Launch Reporting Center
X X X X
Personalization
Targeting and Segmentation
Users
Internal Users
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0 3
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μ Tier 1 Tier 2 Content
Reviewer Style
Reviewer Knowledge
Manager Business Manager
Service Admin Publishing
Service Admin
Service Admin Internal
Service Admin X
Service Admin X
Admin Workspace Admin
Self Service Admin
Super Admin
Workspace Super Admin
Self Service Super Admin
svcAdmin svcAdmin
Workspace
AdminRole
svcAdmin
Self
Service
Admin
Role
service
Admin
Super
Admin
svcAdmin
Workspace
Super
AdminRole
svcAdmin
Self
Service
Super
AdminRole
BCC Link
Content Administration
X X X X X X
Content Admin Projects
X X X X X X
Browse Projects
X X X X X X
Browse Assets X X X X X X
Admin Console X X X X X X
Reporting X
Launch Reporting Center
X
Personalization X X X X X X
Targeting and Segmentation
X X X X X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0 4
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μ Admin Workspace
Admin Self
Service Admin
Super Admin
Workspace Super Admin
Self Service Super Admin
Users X X X X X X
Internal Users X
Service Admin Publishing
X
Service Admin X
Service Admin Internal
X
Service Admin X X X X X X
Service Admin X X X X X X
ATG Service Rights and Global Roles The following tables display the access and status rights that are associated with the default Global Roles.
User Access Rights and Global Roles
The following table displays the access and status rights that are associated with the default User Global Roles:
Rights Type Knowledge Manager
Content Reviewer
Style Reviewer
Tier 1 Tier 2
Allowed to Add to
Recommended Reading
Access X X
Allowed to Assign
Tasks to Users
Access X X X X
Allowed to Create New
Profile
Access X
Allowed to Manage
Claimed Tasks
Access X
Allowed to Manage
Public Queries
Access X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0 5
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μRights Type Knowledge
Manager Content
Reviewer Style
Reviewer Tier 1 Tier 2
Allowed to Manage
Queries
Access X X X X
Allowed to Perform
Advanced Search
Access X X X X X
Allowed to Release
Task to Group
Access X X X X X
Allowed to Set
Statement-Level
security
Access X X X X
Allowed to View Public
Queries
Access X X X X X
Allowed to create
solution
Access X X X X
Allowed to discard
solution
Access X X X X X
Allowed to merge
solution
Access X X X X
Allowed to propose
solution
Access X X
Allowed to open for
edit a disabled
solution
Status X
Allowed to open for
edit externally
published solution
Status X X X X
Allowed to open for
edit internally
published solution
Status X X X X
Allowed to open for
edit solution being
reworked
Status X X X X
Allowed to open for
edit solution in
Content Review
Status X X X X
Allowed to open for
edit solution in Style
Review
Status X X X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0 6
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μRights Type Knowledge
Manager Content
Reviewer Style
Reviewer Tier 1 Tier 2
Allowed to open for
edit solution in draft
Status X X X X
Allowed to recommend
solution for delete
Status X X X X
Allowed to recommend
solution for disable
Status X X X X
Allowed to revert
solution
Status X X X X X
Allowed to suggest
change to solution
Status X X X X X
Perform Task on draft
proposal of solution
Status X X
Perform Task on draft
solution
Status X X X X
Perform Task on
proposed solution
Status X X X
Perform Task on
solution being
reworked
Status X X X X
Perform Task on
solution in Content
Review
Status X X
Perform Task on
solution in Style
Review
Status X X
Perform Task on
solution recommended
for deletion
Status X X
Perform Task on
solution recommened
for disable
Status X X
Perform Task on
solution with
suggested changes
Status X X X
View disabled solution Status X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0 7
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μRights Type Knowledge
Manager Content
Reviewer Style
Reviewer Tier 1 Tier 2
View draft proposal of
solution
Status X
View draft solution Status X X X X
View externally
published solution
Status X X X X X
View internally
published solution
Status X X X X X
View proposed solution Status X X X X
View solution being
reworked
Status X X X X
View solution in
Content Review
Status X X X X
View solution in Style
Review
Status X X X X X
View solution task for
In Disabled
Status X X
View solution task for
In Draft
Status X X X X
View solution task for
In Propose
Status X X X X
View solution task for
In Rework
Status X X X X
View solution task for
Externally Published
Status X X X X X
View solution task for
Internally Published
Status X X X X X
View solution task for
Proposal Draft
Status X
View solution task in
Content Review
Status X X X X
View solution task in
Style Review
Status X X X X X
AgentSlotsPanel UI Access
X X X X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0 8
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μRights Type Knowledge
Manager Content
Reviewer Style
Reviewer Tier 1 Tier 2
ContributeAuthoring
Panel
UI Access
X X X X X
ContributeFind
DuplicatePanel
UI Access
X X X X X
ContributeFindSimilar
Panel
UI Access
X X X X X
ContributeHistoryPanel UI Access
X X X X
ContributeMergePanel UI Access
X X X X
ContributeProperties
Panel
UI Access
X X X X X
ContributeQuickFind
Panel
UI Access
X X X X X
ContributeResultsPanel UI Access
X X X X X
ContributeTask
AssignmentPanel
UI Access
X X X X X
ContributeViewFile
DocumentPanel
UI Access
X X X X X
ContributeViewSolution
Panel
UI Access
X X X X X
CustomerAccountPanel UI Access
X X
CustomerCreatePanel UI Access
X X
CustomerInfoPanel UI Access
X X
CustomerInformation
Panel
UI Access
X X
CustomerOrderHistory
Panel
UI Access
X X
CustomerResultsPanel UI Access
X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 0 9
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μRights Type Knowledge
Manager Content
Reviewer Style
Reviewer Tier 1 Tier 2
CustomerSearchPanel UI Access
X X
CustomerSlotsPanel UI Access
X X
CustomerTicketHistory
Panel
UI Access
X X
ErrorPanel UI Access
X X X X X
Generic Access to the
ATG Reporting Center
UI Access
X X X
GlobalPanel UI Access
X X X X X
HelpfulFavoritesPanel UI Access
X X X X X
HelpfulHotSolutions
Panel
UI Access
X X X X X
HelpfulManagement
ToolboxPanel
UI Access
X
HelpfulOpenByIDPanel UI Access
X X X X X
HelpfulRecentSearches
Panel
UI Access
X X X X
HelpfulRecentTickets
Panel
UI Access
X
HelpfulRecentlyViewed
Panel
UI Access
X X X X
HelpfulRecommended
ReadingPanel
UI Access
X X X X X
HelpfulSearchResults
Panel
UI Access
X X X X X
OrderHistoryPanel UI Access
X X
QueryBuilderEditor
Panel
UI Access
X X X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1 0
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μRights Type Knowledge
Manager Content
Reviewer Style
Reviewer Tier 1 Tier 2
QueryBuilderResults
Panel
UI Access
X X X X
QueryBuilderSolution
QueriesPanel
UI Access
X X X X
ResearchBrowsePanel UI Access
X X X X X
ResearchFileDocument
Panel
UI Access
X X X X X
ResearchResultsPanel UI Access
X X X X X
ResearchSearchPanel UI Access
X X X X X
ResearchSolution
DocumentPanel
UI Access
X X X X X
ResearchSolution
HistoryPanel
UI Access
X X X X
ResearchSolution
PropertiesPanel
UI Access
X X X X X
ResearchSolutionTasks
Panel
UI Access
X X X X X
ResearchSolution
TicketsPanel
UI Access
X X
RespondBrowseContent
Panel
UI Access
X X X X X
RespondComposeMessage
Panel
UI Access
X X X X X
RespondLinkedSolutions
Panel
UI Access
X X X X X
TasksAllTicketsPanel UI Access
X X
TasksAuthoringTasks
Panel
UI Access
X X X X X
TasksMyTicketsPanel UI Access
X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1 1
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μRights Type Knowledge
Manager Content
Reviewer Style
Reviewer Tier 1 Tier 2
TasksReviewSolution
QueriesPanel
UI Access
X X X X X
TicketActivityPanel UI Access
X X
TicketsCustomer
InformationPanel
UI Access
X X
TicketsResultsPanel UI Access
X X
TicketsSearchPanel UI Access
X X
TicketsSummaryPanel UI Access
X X
contentColumn UI Access
X X X X X
contributeTab UI Access
X X X X X
customersTab UI Access
X X
researchColumn UI Access
X X X X X
researchTab UI Access
X X X X X
respondTab UI Access
X X X X X
serviceAdminLogin UI Access
X
sidebarColumn UI Access
X X X X X
tasksTab UI Access
X X X X X
ticketsTab UI Access
X X
workspaceLogin UI Access
X X X X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1 2
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μSystem Administrator Access Rights and Roles
The following table displays the Service Admin rights with the default Service Admin Roles:
Service Admin
ServiceAdminSuper Admin
ServiceAdmin
Self ServiceAdmin
ServiceAdmin
Self ServiceSuper Admin
Service Admin
Workspace Admin
Service Admin
WorkspaceSuper Admin
serviceAdminAccount
TicketingFieldRight X X
serviceAdminCSSFieldRight X X
serviceAdminCallCenter
ModeFieldRight X X
serviceAdminContent
ClusterFieldRight X X
serviceAdminDeescalation
FieldRight X X
serviceAdminDefaultRight X X X X X X
serviceAdminDeployment
PageRight X X X X X X
serviceAdminEscalation
KeyFieldRight X X
serviceAdminEscalation
MethodFieldRight X X
serviceAdminHotSolutions
FieldRight X X X
serviceAdminLogin X X X X X X
serviceAdminPowered
ByATGFieldRight X X
serviceAdminSelfService
AccountPageRight X X X
serviceAdminSelfService
AdminRight X X X
serviceAdminSelfService
BrowsePageRight X X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1 3
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μ Service
Admin ServiceAdminSuper Admin
ServiceAdmin
Self ServiceAdmin
Service Admin
Self Service Super Admin
Service Admin
WorkspaceAdmin
Service Admin
WorkspaceSuper Admin
serviceAdminSelfService
ContactUsPageRight X X X
serviceAdminSelfService
DocumentPageRight X X X
serviceAdminSelfService
EmailSettingsPageRight X X X
serviceAdminSelfService
GeneralSettingsPageRight X X X
serviceAdminSelfService
GlobalSettingsPageRight X X X
serviceAdminSelfService
HomePageLayoutRight X X X
serviceAdminSelfService
HomePagePanelsRight X X X
serviceAdminSelfService
HomePageRight X X X
serviceAdminSelfService
HomePageStyleRight X X X
serviceAdminSelfService
SearchPageRight X X X
serviceAdminSelfService
SiteManagementPageRight X X X
serviceAdminSelfService
SkinSelectionPageRight X X X
serviceAdminSelfService
SkinSettingsPageRight X X X
serviceAdminSelfService
SolutionPageRight X X X
serviceAdminSelfService
TopicRootAssignmentPage
Right
X X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1 4
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μ Service
Admin ServiceAdminSuper Admin
ServiceAdmin
Self ServiceAdmin
ServiceAdmin
Self ServiceSuper Admin
Service Admin
Workspace Admin
Service Admin
WorkspaceSuper Admin
serviceAdminServiceUser
SegmentsPageRight X X X X
serviceAdminShowProblem
CategoryFieldRight X X
serviceAdminWorkspace
AdminRight X X X
serviceAdminWorkspace
GlobalGeneralPageRight X X X
serviceAdminWorkspace
GlobalHelpfulPageRight X X X
serviceAdminWorkspace
GlobalManageSlotsPage
Right
X X X
serviceAdminWorkspace
GlobalOfferMgmtPageRight X X X
serviceAdminWorkspace
GlobalOrganizationList
PageRight
X X X
serviceAdminWorkspace
GlobalSettingsPageRight X X X
serviceAdminWorkspace
GlobalUserPreferences
PageRight
X X X
serviceAdminWorkspaceKnow
ledgeContributePageRight X X X
serviceAdminWorkspace
KnowledgeLanguagesPage
Right
X X X
serviceAdminWorkspace
KnowledgeResultsPageRight X X X
serviceAdminWorkspace
KnowledgeSearchPageRight X X X
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1 5
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μ Service
Admin ServiceAdminSuper Admin
ServiceAdmin
Self ServiceAdmin
Service Admin
Self Service Super Admin
Service Admin
WorkspaceAdmin
Service Admin
WorkspaceSuper Admin
serviceAdminWorkspace
KnowledgeSettingsPage
Right
X X X
serviceAdminWorkspace
KnowledgeTopicsPageRight X X X
serviceAdminWorkspace
SolutionClassesGlobal
FieldPageRight
X X X
serviceAdminWorkspace
SolutionClassesPageRight X X X
serviceAdminWorkspace
SolutionClassesSolution
ClassPageRight
X X X
Global Service Roles and Direct Access Rights The following section contains ATG Knowledge roles and their associated Direct Access Rights delivered with ATG Knowledge:
Service Report Access Role
The Service Reports Access role, svcServiceReportsRole, provides generic access to the ATG Reporting Center. This role is used as a template role to grant ATG Reporting Center access to the BusinessManager, ContentReviewer, KnowledgeManagerand StyleReviewer roles.
Service Admin Role
The Service Admin, or svcAdminRole, role provides the following Direct Access Rights. The Service Admin role is also used as a template in the ServiceAdminSelfServiceAdmin role:
Direct Access Rights
serviceAdminDefaultRight
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1 6
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights
serviceAdminDeploymentPageRight
serviceAdminLogin
Service Super Admin Role
The Service-Super-Admin, or svcSuperAdminRole, role provides the Super Administrator Direct Access Right.
Service Admin Super Admin Role
The Service Admin Super Admin, or svcAdminSelfServiceSuperAdminRole, role provides the following Direct Access Rights. The Service Admin Super Admin role also used the Service Admin role as a template:
Direct Access Rights Direct Access Rights
serviceAdminAccountTicketingField
Right
serviceAdminCSSFieldRight
serviceAdminCallCenterModeFieldRight
serviceAdminContentClusterFieldRight
serviceAdminDeescalationFieldRight serviceAdminDefaultRight
serviceAdminDeploymentPageRight serviceAdminEscalationKeyFieldRight
serviceAdminEscalationMethodField
Right
serviceAdminHotSolutionsFieldRight
serviceAdminLogin serviceAdminPoweredByATGFieldRight
serviceAdminSelfServiceAccountPage
Right
serviceAdminSelfServiceAdminRight
serviceAdminSelfServiceBrowsePage
Right
serviceAdminSelfServiceContactUsPage
Right
serviceAdminSelfServiceDocumentPage
Right
serviceAdminSelfServiceEmailSettings
PageRight
serviceAdminSelfServiceGeneral
SettingsPageRight
serviceAdminSelfServiceGlobalSettings
PageRight
serviceAdminSelfServiceHomePage
LayoutRight
serviceAdminSelfServiceHomePagePanels
Right
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1 7
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
serviceAdminSelfServiceHomePageRight
serviceAdminSelfServiceHomePageStyle
Right
serviceAdminSelfServiceSearchPage
Right
serviceAdminSelfServiceSiteManagement
PageRight
serviceAdminSelfServiceSkinSelection
PageRight
serviceAdminSelfServiceSkinSettings
PageRight
serviceAdminSelfServiceSolutionPage
Right
serviceAdminSelfServiceTopicRoot
AssignmentPageRight
serviceAdminServiceUserSegmentsPage
Right
serviceAdminShowProblemCategoryField
Right
serviceAdminWorkspaceAdminRight serviceAdminWorkspaceGlobalGeneralPage
Right
serviceAdminWorkspaceGlobalHelpful
PageRight
serviceAdminWorkspaceGlobalManageSlots
PageRight
serviceAdminWorkspaceGlobalOfferMgmt
PageRight
serviceAdminWorkspaceGlobal
OrganizationListPageRight
serviceAdminWorkspaceGlobalSettings
PageRight
serviceAdminWorkspaceGlobalUser
PreferencesPageRight
serviceAdminWorkspaceKnowledge
ContributePageRight
serviceAdminWorkspaceKnowledge
LanguagesPageRight
serviceAdminWorkspaceKnowledge
ResultsPageRight
serviceAdminWorkspaceKnowledgeSearch
PageRight
serviceAdminWorkspaceKnowledge
SettingsPageRight
serviceAdminWorkspaceKnowledgeTopics
PageRight
serviceAdminWorkspaceSolutionClasses
GlobalFieldPageRight
serviceAdminWorkspaceSolutionClasses
PageRight
serviceAdminWorkspaceSolutionClasses
SolutionClassPageRight
Service Admin Self Service Admin Role
The Service Admin Self Service Admin, or svcAdminSelfServiceAdminRole, role provides the following Direct Access Rights. The Service Admin Self Service Admin role uses the Service Admin role as a template:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1 8
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
serviceAdminDefaultRight serviceAdminDeploymentPageRight
serviceAdminHotSolutionsFieldRight serviceAdminLogin
serviceAdminSelfServiceAccountPage
Right
serviceAdminSelfServiceAdminRight
serviceAdminSelfServiceBrowsePage
Right
serviceAdminSelfServiceContactUsPage
Right
serviceAdminSelfServiceDocumentPage
Right
serviceAdminSelfServiceEmailSettings
PageRight
serviceAdminSelfServiceGeneral
SettingsPageRight
serviceAdminSelfServiceGlobalSettings
PageRight
serviceAdminSelfServiceHomePageLayout
Right
serviceAdminSelfServiceHomePagePanels
Right
serviceAdminSelfServiceHomePageRight serviceAdminSelfServiceHomePageStyle
Right
serviceAdminSelfServiceSearchPage
Right
serviceAdminSelfServiceSiteManagement
PageRight
serviceAdminSelfServiceSkinSelection
PageRight
serviceAdminSelfServiceSkinSettingsPage
Right
serviceAdminSelfServiceSolutionPage
Right
serviceAdminSelfServiceTopicRoot
AssignmentPageRight
Service Admin Self Service Super Admin Role
The Service Admin Self Service Super Admin, or svcAdminSelfServiceSuperAdminRole, role provides the following Direct Access Rights. The Service Admin Self Service Super Admin role uses the Service Admin role as a template:
Direct Access Rights Direct Access Rights
serviceAdminAccountTicketingField
Right
serviceAdminCSSFieldRight
serviceAdminContentClusterFieldRight serviceAdminDeescalationFieldRight
serviceAdminDefaultRight serviceAdminDeploymentPageRight
serviceAdminEscalationKeyFieldRight serviceAdminEscalationMethodFieldRight
serviceAdminHotSolutionsFieldRight serviceAdminLogin
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 1 9
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
serviceAdminPoweredByATGFieldRight serviceAdminSelfServiceAccountPageRight
serviceAdminSelfServiceAdminRight serviceAdminSelfServiceBrowsePageRight
serviceAdminSelfServiceContactUsPage
Right
serviceAdminSelfServiceDocumentPage
Right
serviceAdminSelfServiceEmailSettings
PageRight
serviceAdminSelfServiceGeneralSettings
PageRight
serviceAdminSelfServiceGlobalSettings
PageRight
serviceAdminSelfServiceHomePageLayout
Right
serviceAdminSelfServiceHomePagePanels
Right
serviceAdminSelfServiceHomePageRight
serviceAdminSelfServiceHomePageStyle
Right
serviceAdminSelfServiceSearchPageRight
serviceAdminSelfServiceSiteManagement
PageRight
serviceAdminSelfServiceSkinSelection
PageRight
serviceAdminSelfServiceSkinSettings
PageRight
serviceAdminSelfServiceSolutionPage
Right
serviceAdminSelfServiceTopicRoot
AssignmentPageRight
serviceAdminServiceUserSegmentsPage
Right
serviceAdminShowProblemCategoryField
Right
Service Admin Workspace Admin Role
The Service Admin Workspace Admin, or svcAdminWorkspaceAdminRole, role provides the following Direct Access Rights. The Service Admin Workspace Admin role also used the Service Admin role as a template:
Direct Access Rights Direct Access Rights
serviceAdminDefaultRight serviceAdminDeploymentPageRight
serviceAdminLogin serviceAdminServiceUserSegmentsPage
Right
serviceAdminWorkspaceAdminRight serviceAdminWorkspaceGlobalGeneral
PageRight
serviceAdminWorkspaceGlobalHelpfulPage
Right
serviceAdminWorkspaceGlobalManage
SlotsPageRight
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2 0
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
serviceAdminWorkspaceGlobalOfferMgmt
PageRight
serviceAdminWorkspaceGlobal
OrganizationListPageRight
serviceAdminWorkspaceGlobalSettingsPage
Right
serviceAdminWorkspaceGlobalUser
PreferencesPageRight
serviceAdminWorkspaceKnowledge
ContributePageRight
serviceAdminWorkspaceKnowledge
LanguagesPageRight
serviceAdminWorkspaceKnowledgeResults
PageRight
serviceAdminWorkspaceKnowledge
SearchPageRight
serviceAdminWorkspaceKnowledgeSettings
PageRight
serviceAdminWorkspaceKnowledgeTopics
PageRight
serviceAdminWorkspaceSolutionClasses
GlobalFieldPageRight
serviceAdminWorkspaceSolutionClasses
PageRight
serviceAdminWorkspaceSolutionClasses
SolutionClassPageRight
Service Admin Workspace Super Admin Role
The Service Admin Workspace Super Admin, or svcAdminWorkspaceSuperAdminRole, role provides the following Direct Access Rights. The Service Admin Workspace Super Admin role also used the Service Admin role as a template:
Direct Access Rights Direct Access Rights
serviceAdminCallCenterModeFieldRight serviceAdminDefaultRight
serviceAdminDeploymentPageRight serviceAdminLogin
serviceAdminServiceUserSegmentsPage
Right
serviceAdminWorkspaceAdminRight
serviceAdminWorkspaceGlobalGeneralPage
Right
serviceAdminWorkspaceGlobalHelpful
PageRight
serviceAdminWorkspaceGlobalManageSlots
PageRight
serviceAdminWorkspaceGlobalOfferMgmt
PageRight
serviceAdminWorkspaceGlobalOrganization
ListPageRight
serviceAdminWorkspaceGlobalSettings
PageRight
serviceAdminWorkspaceGlobalUser
PreferencesPageRight
serviceAdminWorkspaceKnowledge
ContributePageRight
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2 1
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
serviceAdminWorkspaceKnowledgeLanguages
PageRight
serviceAdminWorkspaceKnowledge
ResultsPageRight
serviceAdminWorkspaceKnowledgeSearch
PageRight
serviceAdminWorkspaceKnowledge
SettingsPageRight
serviceAdminWorkspaceKnowledgeTopics
PageRight
serviceAdminWorkspaceSolutionClasses
GlobalFieldPageRight
serviceAdminWorkspaceSolutionClasses
PageRight
serviceAdminWorkspaceSolutionClasses
SolutionClassPageRight
Business Manager Role
The Business Manager, or svcBusinessManagerRole, role provides the following Direct Access Rights. The Business Manager role also uses the Service Reports Access role as a template role:
Direct Access Rights
Allowed to Create New Profile
ErrorPanel
Generic Access to the ATG Reporting Center
GlobalPanel
contentColumn
serviceAdminLogin
sidebarColumn
workspaceLogin
Content Reviewer Role
The Content Review, or svcContentReviewerRole, role provides the following Direct Access Rights. The Content Reviewer role also uses the Service Reports Access role as a template role:
Direct Access Rights Direct Access Rights
AgentSlotsPanel Allowed to Add to Recommended Reading
Allowed to Assign Tasks to Users Allowed to Manage Public Queries
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2 2
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
Allowed to Manage Queries Allowed to Perform Advanced Search
Allowed to Release Task to Group Allowed to Set Statement-Level
security
Allowed to View Public Queries Allowed to create solution
Allowed to discard solution Allowed to merge solution
Allowed to open for edit a disabled
solution
Allowed to open for edit externally
published solution
Allowed to open for edit internally
published solution
Allowed to open for edit solution being
reworked
Allowed to open for edit solution in
Content Review
Allowed to open for edit solution in
Style Review
Allowed to open for edit solution in
draft
Allowed to recommend solution for
delete
Allowed to recommend solution for
disable
Allowed to revert solution
Allowed to suggest change to solution ContributeAuthoringPanel
ContributeFindDuplicatePanel ContributeFindSimilarPanel
ContributeHistoryPanel ContributeMergePanel
ContributePropertiesPanel ContributeQuickFindPanel
ContributeResultsPanel ContributeTaskAssignmentPanel
ContributeViewFileDocumentPanel ContributeViewSolutionPanel
ErrorPanel Generic Access to the ATG Reporting
Center
GlobalPanel HelpfulFavoritesPanel
HelpfulHotSolutionsPanel HelpfulOpenByIDPanel
HelpfulRecentSearchesPanel HelpfulRecentlyViewedPanel
HelpfulRecommendedReadingPanel HelpfulSearchResultsPanel
Perform Task on draft solution Perform Task on proposed solution
Perform Task on solution being
reworked
Perform Task on solution in Content
Review
Perform Task on solution recommended
for deletion
Perform Task on solution recommened for
disable
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2 3
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
Perform Task on solution with
suggested changes
QueryBuilderEditorPanel
QueryBuilderResultsPanel QueryBuilderSolutionQueriesPanel
ResearchBrowsePanel ResearchFileDocumentPanel
ResearchResultsPanel ResearchSearchPanel
ResearchSolutionDocumentPanel ResearchSolutionHistoryPanel
ResearchSolutionPropertiesPanel ResearchSolutionTasksPanel
RespondBrowseContentPanel RespondComposeMessagePanel
RespondLinkedSolutionsPanel TasksAuthoringTasksPanel
TasksReviewSolutionQueriesPanel View disabled solution
View draft solution View externally published solution
View internally published solution View proposed solution
View solution being reworked View solution in Content Review
View solution in Style Review View solution task for Externally
Published
View solution task for In Disabled View solution task for In Draft
View solution task for In Propose View solution task for In Rework
View solution task for Internally
Published
View solution task in Content Review
View solution task in Style Review contentColumn
contributeTab researchColumn
researchTab respondTab
sidebarColumn tasksTab
workspaceLogin
Knowledge Manager Role
The Knowledge Manager, or svcKnowledgeManagerRole, role provides the following Direct Access Rights. The Knowledge Manager role also uses the Service Reports Access role as a template:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2 4
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Roles Direct Access Roles
AgentSlotsPanel Allowed to Add to Recommended Reading
Allowed to Assign Tasks to Users Allowed to Create New Profile
Allowed to Manage Claimed Tasks Allowed to Manage Public Queries
Allowed to Manage Queries Allowed to Perform Advanced Search
Allowed to Release Task to Group Allowed to Set Statement-Level
security
Allowed to View Public Queries Allowed to create solution
Allowed to discard solution Allowed to merge solution
Allowed to open for edit externally
published solution
Allowed to open for edit internally
published solution
Allowed to open for edit solution
being reworked
Allowed to open for edit solution in
Content Review
Allowed to open for edit solution in
Style Review
Allowed to open for edit solution in
draft
Allowed to propose solution Allowed to recommend solution for
delete
Allowed to recommend solution for
disable
Allowed to revert solution
Allowed to suggest change to solution ContributeAuthoringPanel
ContributeFindDuplicatePanel ContributeFindSimilarPanel
ContributeHistoryPanel ContributeMergePanel
ContributePropertiesPanel ContributeQuickFindPanel
ContributeResultsPanel ContributeTaskAssignmentPanel
ContributeViewFileDocumentPanel ContributeViewSolutionPanel
ErrorPanel Generic Access to the ATG Reporting
Center
GlobalPanel HelpfulFavoritesPanel
HelpfulHotSolutionsPanel HelpfulManagementToolboxPanel
HelpfulOpenByIDPanel HelpfulRecentSearchesPanel
HelpfulRecentlyViewedPanel HelpfulRecommendedReadingPanel
HelpfulSearchResultsPanel Perform Task on draft proposal of
solution
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2 5
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Roles Direct Access Roles
Perform Task on draft solution Perform Task on proposed solution
Perform Task on solution being
reworked
Perform Task on solution in Content
Review
Perform Task on solution in Style
Review
Perform Task on solution recommended
for deletion
Perform Task on solution recommened
for disable
Perform Task on solution with suggested
changes
QueryBuilderEditorPanel QueryBuilderResultsPanel
QueryBuilderSolutionQueriesPanel ResearchBrowsePanel
ResearchFileDocumentPanel ResearchResultsPanel
ResearchSearchPanel ResearchSolutionDocumentPanel
ResearchSolutionHistoryPanel ResearchSolutionPropertiesPanel
ResearchSolutionTasksPanel RespondBrowseContentPanel
RespondComposeMessagePanel RespondLinkedSolutionsPanel
TasksAuthoringTasksPanel TasksReviewSolutionQueriesPanel
View disabled solution View draft proposal of solution
View draft solution View externally published solution
View internally published solution View proposed solution
View solution being reworked View solution in Content Review
View solution in Style Review View solution task for Externally Published
View solution task for In Disabled View solution task for In Draft
View solution task for In Propose View solution task for In Rework
View solution task for Internally Published
View solution task for Proposal Draft
View solution task in Content Review View solution task in Style Review
contentColumn contributeTab
researchColumn researchTab
respondTab serviceAdminLogin
sidebarColumn tasksTab
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2 6
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Roles Direct Access Roles
workspaceLogin
Style Reviewer Role
The Style Reviewer, or svcStyleReviewerRole, role provides the following Direct Access Rights. The Style Reviewer role also uses the Service Reports Access role as a template:
Direct Access Rights Direct Access Rights
AgentSlotsPanel Allowed to Assign Tasks to Users
Allowed to Manage Queries Allowed to Perform Advanced Search
Allowed to Release Task to Group Allowed to Set Statement-Level
security
Allowed to View Public Queries Allowed to create solution
Allowed to discard solution Allowed to merge solution
Allowed to open for edit externally
published solution
Allowed to open for edit internally
published solution
Allowed to open for edit solution
being reworked
Allowed to open for edit solution in
Content Review
Allowed to open for edit solution in
Style Review
Allowed to open for edit solution in
draft
Allowed to recommend solution for
delete
Allowed to recommend solution for
disable
Allowed to revert solution Allowed to suggest change to solution
ContributeAuthoringPanel ContributeFindDuplicatePanel
ContributeFindSimilarPanel ContributeHistoryPanel
ContributeMergePanel ContributePropertiesPanel
ContributeQuickFindPanel ContributeResultsPanel
ContributeTaskAssignmentPanel ContributeViewFileDocumentPanel
ContributeViewSolutionPanel ErrorPanel
Generic Access to the ATG Reporting
Center
GlobalPanel
HelpfulFavoritesPanel HelpfulHotSolutionsPanel
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2 7
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
HelpfulOpenByIDPanel HelpfulRecentSearchesPanel
HelpfulRecentlyViewedPanel HelpfulRecommendedReadingPanel
HelpfulSearchResultsPanel Perform Task on draft solution
Perform Task on solution being
reworked
Perform Task on solution in Style
Review
QueryBuilderEditorPanel QueryBuilderResultsPanel
QueryBuilderSolutionQueriesPanel ResearchBrowsePanel
ResearchFileDocumentPanel ResearchResultsPanel
ResearchSearchPanel ResearchSolutionDocumentPanel
ResearchSolutionHistoryPanel ResearchSolutionPropertiesPanel
ResearchSolutionTasksPanel RespondBrowseContentPanel
RespondComposeMessagePanel RespondLinkedSolutionsPanel
TasksAuthoringTasksPanel TasksReviewSolutionQueriesPanel
View draft solution View externally published solution
View internally published solution View proposed solution
View solution being reworked View solution in Content Review
View solution in Style Review View solution task for Externally
Published
View solution task for In Draft View solution task for In Propose
View solution task for In Rework View solution task for Internally
Published
View solution task in Content Review View solution task in Style Review
contentColumn contributeTab
researchColumn researchTab
respondTab sidebarColumn
tasksTab workspaceLogin
Tier 1 Role
The Tier 1, or svcTier1Role, role provides the following Direct Access Rights:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2 8
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μ
Direct Access Rights Direct Access Rights
AgentSlotsPanel Allowed to Perform Advanced Search
Allowed to Release Task to Group Allowed to View Public Queries
Allowed to discard solution Allowed to propose solution
Allowed to revert solution Allowed to suggest change to solution
ChatContentBrowserPanel ChatPanel
ContributeAuthoringPanel ContributeFindDuplicatePanel
ContributeFindSimilarPanel ContributePropertiesPanel
ContributeQuickFindPanel ContributeResultsPanel
ContributeTaskAssignmentPanel ContributeViewFileDocumentPanel
ContributeViewSolutionPanel CustomerAccountPanel
CustomerCreatePanel CustomerInfoPanel
CustomerInformationPanel CustomerOrderHistoryPanel
CustomerResultsPanel CustomerSearchPanel
CustomerSlotsPanel CustomerTicketHistoryPanel
ErrorPanel GlobalPanel
HelpfulFavoritesPanel HelpfulHotSolutionsPanel
HelpfulOpenByIDPanel HelpfulRecommendedReadingPanel
HelpfulSearchResultsPanel OrderHistoryPanel
Perform Task on draft proposal of solution
ResearchBrowsePanel
ResearchFileDocumentPanel ResearchResultsPanel
ResearchSearchPanel ResearchSolutionDocumentPanel
ResearchSolutionPropertiesPanel ResearchSolutionTasksPanel
ResearchSolutionTicketsPanel RespondBrowseContentPanel
RespondComposeMessagePanel RespondLinkedSolutionsPanel
TasksAllTicketsPanel TasksAuthoringTasksPanel
TasksMyTicketsPanel TasksReviewSolutionQueriesPanel
TicketActivityPanel TicketsCustomerInformationPanel
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 2 9
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
TicketsResultsPanel TicketsSearchPanel
TicketsSummaryPanel View externally published solution
View internally published solution View solution in Style Review
View solution task for Externally Publ
ished
View solution task for Internally Publ
ished
View solution task in Style Review chatTab
contentColumn contributeTab
customersTab researchColumn
researchTab respondTab
sidebarColumn tasksTab
ticketsTab workspaceLogin
Tier 2 Role
The Tier 2, or svcTier2Role, role provides the following Direct Access Rights:
Direct Access Rights Direct Access Rights
AgentSlotsPanel Allowed to Assign Tasks to Users
Allowed to Manage Queries Allowed to Perform Advanced Search
Allowed to Release Task to Group Allowed to Set Statement-
Level security
Allowed to View Public Queries Allowed to create solution
Allowed to discard solution Allowed to merge solution
Allowed to open for edit externally pu
blished solution
Allowed to open for edit internally pub
lished solution
Allowed to open for edit solution bein
g reworked
Allowed to open for edit solution in Co
ntent Review
Allowed to open for edit solution in S
tyle Review
Allowed to open for edit solution in dr
aft
Allowed to recommend solution for dele
te
Allowed to recommend solution for disab
le
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3 0
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
Allowed to revert solution Allowed to suggest change to solution
ChatContentBrowserPanel ChatPanel
ContributeAuthoringPanel ContributeFindDuplicatePanel
ContributeFindSimilarPanel ContributeHistoryPanel
ContributeMergePanel ContributePropertiesPanel
ContributeQuickFindPanel ContributeResultsPanel
ContributeTaskAssignmentPanel ContributeViewFileDocumentPanel
ContributeViewSolutionPanel CustomerAccountPanel
CustomerCreatePanel CustomerInfoPanel
CustomerInformationPanel CustomerOrderHistoryPanel
CustomerResultsPanel CustomerSearchPanel
CustomerSlotsPanel CustomerTicketHistoryPanel
ErrorPanel GlobalPanel
HelpfulFavoritesPanel HelpfulHotSolutionsPanel
HelpfulOpenByIDPanel HelpfulRecentSearchesPanel
HelpfulRecentTicketsPanel HelpfulRecentlyViewedPanel
HelpfulRecommendedReadingPanel HelpfulSearchResultsPanel
OrderHistoryPanel Perform Task on draft solution
Perform Task on proposed solution Perform Task on solution being reworked
Perform Task on solution with suggeste
d changes
QueryBuilderEditorPanel
QueryBuilderResultsPanel QueryBuilderSolutionQueriesPanel
ResearchBrowsePanel ResearchFileDocumentPanel
ResearchResultsPanel ResearchSearchPanel
ResearchSolutionDocumentPanel ResearchSolutionHistoryPanel
ResearchSolutionPropertiesPanel ResearchSolutionTasksPanel
ResearchSolutionTicketsPanel RespondBrowseContentPanel
RespondComposeMessagePanel RespondLinkedSolutionsPanel
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3 1
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μDirect Access Rights Direct Access Rights
TasksAllTicketsPanel TasksAuthoringTasksPanel
TasksMyTicketsPanel TasksReviewSolutionQueriesPanel
TicketActivityPanel TicketsCustomerInformationPanel
TicketsResultsPanel TicketsSearchPanel
TicketsSummaryPanel View draft solution
View externally published solution View internally published solution
View proposed solution View solution being reworked
View solution in Content Review View solution in Style Review
View solution task for Externally Publ
ished
View solution task for In Draft
View solution task for In Propose View solution task for In Rework
View solution task for Internally Publ
ished
View solution task in Content Review
View solution task in Style Review chatTab
contentColumn contributeTab
customersTab researchColumn
researchTab respondTab
sidebarColumn tasksTab
ticketsTab workspaceLogin
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3 2
A p p e n d i x A : A T G S e r v i c e A c c e s s R i g h t s
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3 3
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μAppendix B: Service Center Framework Repository Architecture
This Appendix covers the Service Center Framework Repository data model.
The Service Framework Repository is a repository that contains the data definitions for the UI of the Service Center and the applications that use Service Center. This repository lives in an unversioned production schema. This document describes the objects that define the UI data model of the ATG Service applications.
Service Framework Object Overview The Service Framework data model consists of the following key object types:
Framework - Master container for navigation, layout and look-and-feel
Skin - Look-and-feel definition
Tab - Top-level navigation unit
Cell - Basic layout unit
Panel Stack - Ordered content container
Panel - Basic content unit
The framework object is the container for everything else in the UI. A framework contains skins for defining look-and-feel, as well as layout templates and tabs for top-level navigation. Each tab defines the layout cells that are meaningful for the tab (e.g. two cells arranged as vertical columns) and the panel stacks that should be displayed with the tab assigned to specific cells (e.g. left-column panels and right-column panels). The panel stacks contain the panels, which are the most basic content unit.
The Service Framework data model consists of the following supporting object types:
Content - Static content definition
Template: - JSP layout definition
Segmented Option - Full integration to segmented option system
Note: The segmented option object does not extend the FrameworkObject base class.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3 4
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μA few supporting object types can be referenced by any other framework object:
A content object defines static content, such as CSS, JavaScript, and HTML.
Template objects define JSP layout templates.
Segmented options are not a framework object, but are integrated into the framework and can be assigned to any object.
There are three tiers of framework objects:
1. Definition objects: Define the initial or default state for the framework
2. Configuration objects: Define the state of the framework for a particular user
3. Instance objects: Hold the live or transient state of the framework for a browser window
The definition objects define the initial or default behavior for the framework. The configuration objects allow certain aspects of the framework to remain persistent for a user when the user logs out. Definition and configuration objects are both persistent objects that are supported by the database.
Instance objects are transient objects that manage the live state of the framework in a particular browser window as the user navigates through the application. When a user logs into the application, the instance objects, if available, are loaded from the configuration. This preserves the state of the framework when the user last logged out. If configuration is unavailable for the user, the instance objects are loaded from the default definitions.
FrameworkObject Inherited Attributes The FrameworkObject base class contains attributes that are shared by all framework objects via an inheritance relationship. The FrameworkObject shared attributes can be organized into four groups:
Indexing attributes for queries and database housekeeping:
appId
id
objectType
Naming attributes for strings and images:
descriptionKey
imageUrl
nameKey
resourceBundle
State attributes for flags and other state data:
default
enabledYn
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3 5
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μ Object attributes for integration to other objects in the system:
contentIds
optionNames
templateIds
The attributes of the FrameworkObject are described in detail below:
Attribute Description
appId Identifier that partitions objects in a repository by application. The purpose of the application ID is to keep objects that belong to other applications from being loaded.
contentIds Identifies static content for the object, including JavaScript, CSS, HTML, by a user-friendly local key.
default Second object that contains default values for the current object. The default attribute defines a second object that contains default values. This supports functionality to restore defaults.
descriptionKey Resource bundle key for providing an object description in admin tools.
enabledYn The enabled flag provides a quick way to turn the object on or off in the UI without removing it. Value is true or false.
id Repository identifier.
imageUrl Path to object image graphic in admin tools. The imageUrl allows a graphic to represent the object.
nameKey Resource bundle key for providing an object name in admin tools.
objectType Object sub-class name for item-descriptor inheritance.
optionNames Lists segmented option names for the object mapped to a user-friendly local key.
resourceBundle Resource bundle identifier for object resources. The resource bundle identifier allows any resource bundle on the class path to be used for object string resources.
templateIds Identifies JSP page layout templates for the object mapped to a user-friendly local key.
The extension methods shared by all framework objects are described in detail below:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3 6
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μReturns Method Description
Map getContents Returns a map of all ContentDefinition objects assigned to the framework object keyed to the logical content identifier.
Map getTemplates Returns a map of all TemplateDefinition objects assigned to the framework object keyed to the logical template identifier.
Map getFrameworkObjects Arguments: int pItemType
Utility method that returns a map of framework objects by item type.
FrameworkDefinition The FrameworkDefinition object is a container object for navigation, layout, and look-and-feel for the entire UI. The FrameworkDefinition object directly contains skins and tabs. Skins contain configurable look-and-feel and template definitions for the UI layout. Tabs define the top-level navigation for the application.
The attributes of the FrameworkDefinition object, which are in addition to the attributes inherited from the FrameworkObject base class, are described in detail below:
Attribute Description
currentTabId Logical identifier for the currently selected tab.
frameworkId Logical identifier that other objects use to refer to this object, which is exposed to other objects and to the code and which is the primary external way to refer to the object.
skinIds Lists the look-and-feel skins used by the framework mapped to a user-friendly local key.
tabIds Defines the application tabs in order.
The extension methods of the FrameworkDefinition object are described in detail below:
Returns Method Description
List getSkins Returns a list of all SkinDefinition objects assigned to the FrameworkDefinition.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3 7
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μReturns Method Description
List getTabs Returns a list of all TabDefinition objects assigned to the FrameworkDefinition.
List getFrameworkDefinitions Arguments: int pItemType
Utility method that returns a list of framework definitions by item type.
SkinDefinition The SkinDefinition object contains the look-and-feel definitions available to the application. The SkinDefinition object provides a way to package the application’s look-and-feel.
The attributes of the SkinDefinition object, which are in addition to the attributes inherited from the FrameworkObject base class, are described below:
Attribute Description
skinId Logical identifier that other objects use to refer to this object, which is exposed to other objects and to the code and which is the primary external way to refer to the object.
The extension methods of the SkinDefinitionHome interface are described below:
Returns Method Description
SkinDefinition findByUserSegmentAndSkinId Arguments: String appId, String skinId
Returns the SkinDefinition with the specified identifier based on the segment of the current user. If the current user does not have a segment or no object is found for the current segment, a default object is returned based on skin identifier only. The appId indicates the framework application in which to look for the object.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3 8
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μTabDefinition
The TabDefinition object has multiple functions, which are related to the overall purpose of dividing the application into large functional areas:
Define top-level navigation between functional areas
Specify page structure using layout cells and templates
Define panel stacks containing related content groupings
The primary purpose of the TabDefinition object is to define the top-level navigation between major functionality areas in the application. In addition, the TabDefinition object defines the initial content of layout cells and the panel stacks that are assigned to the tab view.
The attributes of the TabDefinition object, which are in addition to the attributes inherited from the FrameworkObject base class, are described below:
Attribute Description
accessRight The access right, which defines a security right required to view the tab.
actionId The application-interpreted action URL or JavaScript function to execute when the user clicks on the tab.
cellAssignments The cell assignments, indicating the initial panel stack in each cell within the page layout. Contains the reverse mapping of the panelStackAssignments map.
currentPanelStacks The listing of the identifiers of the panel stacks currently being displayed on the tab. The panelStackAssignments attribute indicates which cell the panel stack is populating within the page layout.
nextStepsId The identifier of the default next steps menu to display with the tab. Used in Service Center only.
panelStackAssignments The panel stack assignments, indicating the cell within the page layout where each panel stack is displayed. Contains the reverse mapping of the cellAssignments map.
panelStackOrder The list of all panel stacks for the tab in rendering order. This supports the case where rendering dependencies exist between panel stacks that require the panel stacks to be rendered in a specific order.
tabId Logical identifier that other objects use to refer to this object, which is exposed to other objects and to the code and which is the primary external way to refer to the object.
titleKey Resource bundle key for the label that goes in the tab.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 3 9
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μAttribute Description
visibleYn The visibleYn flag determines whether an enabled tab is rendered or hidden.
The extension methods of the TabDefinitionHome interface are described below:
Returns Method Description
TabDefinition findByUserSegmentAndTabId Arguments: String appId, String tabId
Returns the TabDefinition with the specified identifier based on the segment of the current user. If the current user does not have a segment or no object is found for the current segment, a default object is returned based on tab identifier only. The appId indicates the framework application in which to look for the object.
CellDefinition The CellDefinition object represents the basic layout unit within the page structure. The CellDefinition refers to a DOM element or other identifier on the page, which contains a panel stack.
The attributes of the CellDefinition object, which are in addition to the attributes inherited from the FrameworkObject base class, are described below:
Attribute Description
accessRight The access right, which defines a security right required to view the cell.
cellId Logical identifier that other objects use to refer to this object, which is exposed to other objects and to the code and which is the primary external way to refer to the object.
cellOpenYn The cellOpenYn flag determines whether a cell is toggled open or closed. Used in Service Center only.
The extension methods of the CellDefinitionHome interface are described below:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4 0
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μReturns Method Description
CellDefinition findByUserSegmentAndCellId Arguments: String appId, String cellId
Returns the CellDefinition with the specified identifier based on the segment of the current user. If the current user does not have a segment or no object is found for the current segment, a default object is returned based on cell identifier only. The appId indicates the framework application in which to look for the object.
PanelStackDefinition The PanelStackDefinition object contains an ordered collection of panel identifiers. The PanelStackDefinition object is assigned to a cell that corresponds to a DOM element on the page. The cell defines the position of the PanelStackDefinition object on the page.
The attributes of the PanelStackDefinition object, which are in addition to the attributes inherited from the FrameworkObject base class, are described below:
Attribute Description
errorPanelId [Deprecated] Use the optionNames mapping on the FrameworkObject to assign arbitrary identifiers to framework objects. Currently used in Service Center to identify the error panel.
header [Deprecated] Use the optionNames mapping on the FrameworkObject to assign arbitrary options to framework objects. Currently used in Service Center to specify the location of the panel stack header contents.
panelBackgroundTabStyle Not used.
panelIds The ordered collection of panel identifiers.
panelSelectedTabStyle Not used. Styles are indicated in the panel layout template.
panelStackId Logical identifier that other objects use to refer to this object, which is exposed to other objects and to the code and which is the primary external way to refer to the object.
panelTitlebarTabbedStyle Not used. Styles are indicated in the panel layout template.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4 1
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μAttribute Description
panelTitlebarUntabbedStyle Not used. Styles are indicated in the panel layout template.
tabAffinityYn The tabAffinity flag indicates whether the panel stack is associated with a particular tab (true) or whether it can be rendered under any tab, as in the case of user preferences (false). For a given panel stack, if the tabAffinity flag is true and this was the last panelStack viewed under a tab, then, when the user navigates back to that tab, this panel stack will be rendered under the tab.
titleKey Resource bundle key for the label that goes in the panel stack.
The extension methods of the PanelStackDefinition object are described below:
Returns Method Description
List getPanels Returns a list of all PanelDefinition objects assigned to the PanelStackDefinition.
The extension methods of the PanelStackDefinitionHome interface are described below:
Returns Method Description
PanelStackDefinition findByUserSegmentAndPanelStackId Arguments: String appId, String panelStackId
Returns the PanelStackDefinition with the specified identifier based on the segment of the current user. If the current user does not have a segment or no object is found for the current segment, a default object is returned based on panel stack identifier only. The appId indicates the framework application in which to look for the object.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4 2
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μPanelDefinition
The PanelDefinition object is the basic content unit for the application. The PanelDefinition defines a rectangular region of the page with related content referenced by an included JSP content template.
The attributes of the PanelDefinition object, which are in addition to the attributes inherited from the FrameworkObject base class, are described in detail below:
Attribute Description
accessRight The access right, which defines a security right required to view the panel.
allowContentToggleYn The allowContentToggleYn flag indicates whether the panel contents can be closed or minimized, leaving only the panel title bar visible.
allowPanelToggleYn The allowPanelToggle flag indicates whether the entire panel, including title bar, can be closed or minimized and represented by a placeholder in the available panels.
allowSlotsYn The allowSlotsYn flag indicates whether the panel is allowed to contain slots. Panels with this flag set to true are displayed with as the potential slot-enabled panels in admin.
allowTabbingYn The allowTabbingYn flag indicates whether the panel is allowed to be tabbed in a row of panel tabs on a tab-holder panel.
alwaysTabbedYn The alwaysTabbedYn flag indicates whether the panel is forced to be tabbed in a row of panel tabs on a tab-holder panel with no ability to be removed from the tabbed position.
availableYn [Obsolete] Not used (see panelOpenYn).
contentOpenYn The contentOpenYn flag indicates whether the panel contents are currently closed or minimized and whether currently only the panel title bar is visible.
contentUrl Use the templateIds mapping on the FrameworkObject to assign arbitrary JSP pages to framework objects. Currently used in Service Center to identify the contents of the panel.
currentPanelId Holds the identifier of the currently visible panel based on the selected tab for tab-holder panels.
helpKey Originally intended to provide a string for inline help accessible via a help icon located on the panel title bar. The panel help feature has not been implemented. See Global Workspace functional spec.
onload Contains the optional name of a JavaScript function to evaluate when the panel is loaded by the framework.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4 3
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μAttribute Description
onunload Contains the optional name of a JavaScript function to evaluate when the panel is unloaded by the framework.
panelId Logical identifier that other objects use to refer to this object, which is exposed to other objects and to the code and which is the primary external way to refer to the object.
panelItemCount Provides a way for the panel label to contain a number representing the number of items displayed in the panel. For example, a panel that displays 17 search results in its content area is able to display My Search Results (17) in the title bar.
panelOpenYn The panelOpenYn flag indicates whether the entire panel is currently closed or minimized with a placeholder displayed in the available panels.
panelTitleStyle [Obsolete] Not used. Styles are indicated in the panel layout template.
showTitleYn The showTitleYn flag indicates whether the panel has a visible title bar or only a content area with no title bar.
slotRendererCombos Defines the slots to render with the panel. The allowSlotsYn flag must be enabled to render slots within a panel.
tabbedPanelIds Lists the identifiers of the other panels that are tabbed with the current tab-holder panel. The tabs are rendered in the order that the corresponding panels identifiers occur in the list.
tabbedYn The tabbedYn flag indicates whether the panel is currently a tabbed in a row of panel tabs on a tab-holder panel.
tabHolderYn The tabHolderYn flag determines whether the panel can hold other panels in a tabbed format.
tabScrollIndex Supports the scrollable tabs feature for horizontal tab scrolling that has not been implemented. See Global Workspace functional spec.
titleKey Resource bundle key for the label that goes in the panel.
visibleYn The visibleYn flag determines whether an enabled tab is rendered or hidden.
The extension methods of the PanelStackDefinition object are described in detail below:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4 4
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μReturns Method Description
void addSlotRendererCombo Arguments: SlotRendererCombo pCombo
Adds a SlotRendererCombo object defining a slot to this personalization panel for offer management. The allowSlotsYn flag must be enabled for the slots to be rendered.
Boolean removeSlotRendererCombo Arguments: SlotRendererCombo pCombo
Removes a SlotRendererCombo object defining a slot from the personalization panel.
void moveSlotRendererComboDown Arguments: SlotRendererCombo pCombo
Moves a SlotRendererCombo object defining a slot in the personalization panel to a higher-indexed position.
void moveSlotRendererComboUp Arguments: SlotRendererCombo pCombo
Moves a SlotRendererCombo object defining a slot in the personalization panel to a lower-indexed position.
The extension methods of the PanelDefinitionHome interface are described in detail below:
Returns Method Description
PanelDefinition findByUserSegmentAndPanelId Arguments: String appId, String panelId
Returns the PanelDefinition with the specified identifier based on the segment of the current user. If the current user does not have a segment or no object is found for the current segment, a default object is returned based on panel identifier only. The appId indicates the framework application in which to look for the object.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4 5
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μFramework Supporting Object Definitions
As mentioned in the Service Framework object overview, a few supporting object definition types can be referenced by any other framework object. A content object defines static content, such as CSS, JavaScript, or HTML. Template objects define JSP layout templates. Segmented options are not a framework object, but are integrated into the framework and can be assigned to any object.
Segmented Options
The SegmentedOption type is not a framework object, since it does not extend the FrameworkObject base class. The SegmentedOption type defines a segmented option with a unique value per application-defined profile group. The SegmentedOption type is described with the framework objects, because framework objects can map segmented options to a local key. Any framework object can reference segmented options by key. The following is a code example that tests a segmented option value assigned to a panel object:
<c:if test="${myPanel.options.isShowContent.value}">
<%-- Show content based on option value--%>
</c:if>
Since any segmented option defined in the repository can be mapped to any framework objects by key, segmented options provide a powerful extensibility mechanism for the Service framework.
ContentDefinition
The ContentDefinition object provides an extensible way to link static content, such as CSS, HTML, or JavaScript, to framework objects. The MIME type of the content is specified with the ContentDefinition object. Any framework object can define content definitions mapped by key. The following is a code example of importing CSS contents into a JSP page:
<c:out value="${mySkin.contents.css.body}"/>
The attributes of the ContentDefinition object, which are in addition to the attributes inherited from the FrameworkObject base class, are described below:
Attribute Description
body The body of the content being defined as an alternative to referencing the content by URL.
contentId Logical identifier that other objects use to refer to this object, which is exposed to other objects and to the code and which is the primary external way to refer to the object.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4 6
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μAttribute Description
mimeType The type of content being defined. For example, content with a MIME type of text/css would place CSS contents in the body. Content with a MIME type of text/javascript would place JavaScript in the body. Other common content types in a Web application might be text/html or text/xml or any of a wide range of established content types.
objectType ContentDefinition
url A URL that references the static content.
urlYn The URL flag indicates whether the content is referenced externally by a URL. If the URL flag is false, the body of the static content is contained internally in the body attribute of the content definition.
The extension methods of the ContentDefinitionHome interface are described below:
Returns Method Description
ContentDefinition findByUserSegmentAndContentId Arguments: String appId, String contentId
Returns the ContentDefinition with the specified identifier based on the segment of the current user. If the current user does not have a segment or no object is found for the current segment, a default object is returned based on content identifier only. The appId indicates the framework application in which to look for the object.
TemplateDefinition
The TemplateDefinition object defines templates for objects in the Service framework. Templates are JSP pages that define the page structure for a framework object. Any framework object has ability to define its own layout templates mapped by key. The following is a code example of importing a skin layout template:
<dspel:include page="${mySkin.templates.layoutTemplate.url}"/>
The attributes of the TemplateDefinition object, which are in addition to the attributes inherited from the FrameworkObject base class, are described below:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4 7
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μ
Attribute Description
body The body of the content being defined as an alternative to referencing the content by URL.
objectType TemplateDefinition
templateId Logical identifier that other objects use to refer to this object, which is exposed to other objects and to the code and which is the primary external way to refer to the object.
url A URL that references the JSP template.
The extension methods of the TemplateDefinitionHome interface are described below:
Returns Method Description
TemplateDefinition findByUserSegmentAndTemplateId Arguments: String appId, String templateId
Returns the TemplateDefinition with the specified identifier based on the segment of the current user. If the current user does not have a segment or no object is found for the current segment, a default object is returned based on template identifier only. The appId indicates the framework application in which to look for the object.
Framework Configuration Objects In addition to the framework definition objects, which define the default appearance and behavior of the service framework, the configuration objects store the state of the framework for a particular user. The purpose of the configuration objects is to hold the current state of framework objects for a particular user when they logout. The profile ID of the user is associated with the configuration. The use case for this feature is that the agent does not want to re-tab and re-open/close panels once they have adjusted the UI to their specifications.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4 8
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μConfiguration Object Inherited Attributes
The ConfigurationObject base class contains attributes that are shared by all framework configuration objects via an inheritance relationship. The ConfigurationObject shared attributes are the following:
configType
enabledYn
id
userId
The attributes of the ConfigurationObject are described below:
Attribute Description
configType Object sub-class name for item-descriptor inheritance.
enabledYn The enabled flag turns the object on or off in the UI via the object configuration. Value is true or false.
id Repository identifier.
userId Repository ID of the user to whom the configuration belongs.
FrameworkConfig
The FrameworkConfig object manages user configuration for the FrameworkDefinition object. The attributes of the FrameworkConfig object, which are in addition to the attributes inherited from the ConfigurationObject base class, are described below:
Attribute Description
configType FrameworkConfig
currentTabId The identifier of the currently selected tab for the current user.
frameworkId Logical identifier for the corresponding FrameworkDefinition.
tabIds List of tabs visible for the current user.
ContentConfig
The ContentConfig object manages user configuration for the ContentDefinition object and has the same attributes as the ContentDefinition object.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 4 9
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μTemplateConfig
The TemplateConfig object manages user configuration for the TemplateDefinition object and has the same attributes as the TemplateDefinition object.
SkinConfig
The SkinConfig object is a placeholder configuration object for the SkinDefinition object with no significant attributes currently defined.
TabConfig
The TabConfig object manages user configuration for the TabDefinition object. The attributes of the TabConfig object, which are in addition to the attributes inherited from the ConfigurationObject base class, are described below:
Attribute Description
configType TabConfig
tabId Logical identifier for the corresponding TabDefinition.
visibleYn The visibleYn flag indicates whether the tab is visible for the current user.
CellConfig
The CellConfig object manages user configuration for the CellDefinition object. The attributes of the CellConfig object, which are in addition to the attributes inherited from the ConfigurationObject base class, are described below:
Attribute Description
cellId Logical identifier for the corresponding CellDefinition.
cellOpenYn The cellOpen flag indicates whether the cell is open or closed for the current user. Used in Service Center to track the open-closed state of the columns.
configType CellConfig
PanelStackConfig
The PanelStackConfig object manages user configuration for the PanelStackDefinition object. The attributes of the PanelStackConfig object, which are in addition to the attributes inherited from the ConfigurationObject base class, are described below:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5 0
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μ
Attribute Description
configType PanelStackConfig
panelIds List of panels defined for the current user.
panelStackId Logical identifier for the corresponding PanelStackDefinition.
PanelConfig
The PanelConfig object manages user configuration for the PanelDefinition object. The attributes of the PanelConfig object, which are in addition to the attributes inherited from the ConfigurationObject base class, are described below:
Attribute Description
availableYn The available flag indicates whether the panel is displayed in the available panels for the current user.
configType PanelConfig
contentOpenYn The contentOpen flag indicates whether the panel content area is open or closed for the current user.
currentPanelId Holds the identifier of the initially visible panel tab for the current user. Applies to tab-holder panels.
panelId Logical identifier for the corresponding PanelDefinition.
panelOpenYn The panelOpen flag indicates whether the entire panel is open or closed, including the title bar, for the current user.
tabbedPanelIds Lists the identifiers of the other panels that are tabbed with the current tab-holder panel for the current user. Applies to tab-holder panels.
tabbedYn The tabbed flag indicates whether the panel is initially tabbed on a tab-holder panel for the current user.
tabScrollIndex Supports the scrollable tabs feature configuration for horizontal tab scrolling that has not been implemented.
visibleYn The visibleYn flag indicates whether the panel is visible for the current user.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5 1
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μFramework Instance Objects
The framework definition and configuration objects both manage persistent aspects of the Service framework. Framework instance objects manage the transient aspects of the Service framework by holding the current in-memory state of a given framework object in a running Web application within a browser.
Instance objects are loaded first from the configuration object by the same identifier. If no configuration object exists for the requested identifier, the instance object is loaded from the corresponding definition object. When a configuration object exists, it may not override every field in the underlying definition object, in which case unspecified attributes derive from those of the definition object.
Below is a brief summary of the instance objects.
Instance Object Inherited Attributes
The InstanceObject base class contains attributes that are shared by all framework instance objects via an inheritance relationship. The InstanceObject shared attributes are the following:
enabledYn
instanceType
The attributes of the InstanceObject are described below:
Attribute Description
enabledYn The enabled flag turns the object on or off in the UI for the duration of the user’s browser session. Value is true or false.
instanceType Object sub-class name for item-descriptor inheritance.
ContentInstance
The ContentInstance object manages transient state for the ContentDefinition object and has attributes similar to the ContentDefinition object.
TemplateInstance
The TemplateInstance object manages transient state for the TemplateDefinition object and has attributes similar to the TemplateDefinition object.
FrameworkInstance
The FrameworkInstance object manages transient state for the FrameworkDefinition object. The attributes of the FrameworkInstance object, which are in addition to the attributes inherited from the InstanceObject base class, are described below:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5 2
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μ
Attribute Description
currentTabId The identifier of the currently selected tab in the browser.
frameworkId Logical identifier for the corresponding FrameworkDefinition.
instanceType FrameworkInstance
previousTabId The identifier of the last selected tab in the browser.
tabIds List of tabs currently visible in the browser.
SkinInstance
The SkinInstance object is a placeholder configuration object for the SkinDefinition object with no attributes currently defined.
TabInstance
The TabInstance object manages transient state for the TabDefinition object. The attributes of the TabInstance object, which are in addition to the attributes inherited from the InstanceObject base class, are described below:
Attribute Description
cellAssignments Map indicating the panel stacks that are currently assigned to each layout cell in the browser.
currentPanelStacks Map indicating the cell to which each panel stack is currently assigned in the browser.
instanceType TabInstance
nextStepsId Identifier indicating the current next steps menu for the tab in the browser. Used in Service Center.
tabId Logical identifier for the corresponding TabDefinition.
visibleYn The visibleYn flag indicates whether the tab is visible in the browser.
CellInstance
The CellInstance object manages transient state for the CellDefinition object. The attributes of the CellInstance object, which are in addition to the attributes inherited from the InstanceObject base class, are described below:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5 3
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μ
Attribute Description
cellId Logical identifier for the corresponding CellDefinition.
cellOpenYn The cellOpen flag indicates whether the cell is open or closed in the browser. Used in Service Center to track the open-closed state of the columns.
currentPanelStackId Identifier that indicates the current panel stack displayed in the cell in the browser.
instanceType CellInstance
PanelStackInstance
The PanelStackInstance object manages transient state for the PanelStackDefinition object. The attributes of the PanelStackInstance object, which are in addition to the attributes inherited from the InstanceObject base class, are described below:
Attribute Description
instanceType PanelStackInstance
panelStackId Logical identifier for the corresponding PanelStackDefinition.
panelTargetElements List of panel target elements in the panel stack, each representing a single instance of a panel within the UI.
targetMap Map to lists of panel target elements keyed by the logical panel identifier. Each key in the map contains a list of all of the instances of a particular panel target in the UI.
PanelInstance
The PanelInstance object manages transient state for the PanelDefinition object. The attributes of the PanelInstance object, which are in addition to the attributes inherited from the InstanceObject base class, are described below:
Attribute Description
availableYn The available flag indicates whether the panel is listed in the available panels in the browser.
contentOpenYn The contentOpen flag indicates whether the panel content area is open or closed in the browser.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5 4
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μAttribute Description
currentPanelId Holds the identifier of the currently visible panel tab in the browser. Applies to tab-holder panels.
instanceType PanelInstance
panelId Logical identifier for the corresponding PanelDefinition
panelOpenYn The panelOpen flag indicates whether the entire panel is open or closed, including the title bar, in the browser.
tabbedPanelIds Lists the identifiers of the other panels that are tabbed with the current tab-holder panel in the browser. Applies to tab-holder panels.
tabbedYn The tabbed flag indicates whether the panel is currently tabbed on a tab-holder panel in the browser.
tabScrollIndex Supports the transient scrollable tabs feature for horizontal tab scrolling that has not been implemented.
visibleYn The visibleYn flag indicates whether the panel is visible in the browser.
PanelTarget
The PanelTarget object manages transient state for a single instance of a panel in the UI. By providing an auto-generated unique identifier for each panel instance, the PanelTarget object allows multiple instances of the same PanelDefinition to exist simultaneously on the page.
The attributes of the PanelInstance object, which are in addition to the attributes inherited from the InstanceObject base class, are described below:
Attribute Description
instanceType PanelTargetElement
panelId Logical identifier for the corresponding PanelDefinition for the instance.
targetElementId Auto-generated unique identifier for the panel instance.
Service Center Framework The Service Center user interface is partitioned by a movable divider into separate areas:
Global context area – contains rows of tabs that organize application features.
Work area – contains organizational tabs, as well as context and side columns.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5 5
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μThe global context area, content column, and side column are referred to as cells, which contain panels that hold all of the rendered content. Panels are grouped into panel stacks, which are ordered lists of panels related to a particular agent task. Panels can be rendered top-to-bottom in a panel stack or as a row of tabbed panels. Panels can move between the stacked and the tabbed state.
Framework parameters are submitted to the server using the atgSubmitAction function or with form handlers using a successURL formatted by the frameworkUrl tag library.
atgSubmitAction
The JavaScript function atgSubmitAction has the following signature, which accepts a single object argument:
atgSubmitAction = function(params) {};
The params argument is a JavaScript object that may contain any combination of the following properties that are used to configure the framework request. Some properties are converted to request or query parameters and submitted to the server. Others are assigned to the submitted form. Most of the properties are either optional or have defaults, so they do not have to be specified with each request.
Property Description
url Optional target URL for submitting framework requests. Overrides the default framework URL.
mimeType Optional. Sets the mime-type of the request.
handleAs Optional. Sets the expected response format for proper handling.
form Reference to the DOM form to submit the framework request. The form can be a DSP form linked to a form handler. Either form or formId is required.
formId Form ID used to look up the form to submit with the framework request. Either form or formId is required.
formInputValues Requires the form specified in the form property. Maps form element names to values. Each value is bound to the corresponding form element for submission as such: For each name in formInputValues, set form[name].value = forminputValues[name]
tab Navigates to the specified tab by ID. Submits the request parameter t.
nextSteps String name of the next steps to render in the next steps panel. Submits the request parameter ns.
panelStack Navigates to the specified panel stack under the current tab. Renders all of the currently-enabled member panels of the panel stack in the cell for which the panel stack is assigned under the tab definition. Submits the request parameter ps.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5 6
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μProperty Description
panels Array of panel identifiers to refresh. The panel will remain in its current place but the contents will be re-rendered. Submits the request parameter p. For example: ["panel1", "panel2"]
selectTabbedPanels Array of panel identifiers to set to the selected state. Applies to panels that are in a row of tabbed panels. Submits the request parameter selectTabbedPanelIds.
ParamsMapName Optional. Fully qualified nucleus path of the form-handler bean map property that will receive the extraParams. Allows JavaScript data to be passed to a form handler.
formHandler Optional. Fully qualified nucleus path of a form handler with a property named parameterMap. Note: The form handler must have a property named parameterMap. If the form handler does not have a property with this name, use the paramsMapName property.
extraParams Optional. Map of parameters to map to key-value pairs on the default FrameworkBaseFormHandler parameterMap property or another property specified in paramsMapName. The values are assigned into a comma-delimited list as such: For each key in extraParams, append key = extraParams[key] to list. The comma-delimited list is assigned to the form handler parameter map property: key1=value1, key2=value2, etc. Allows JavaScript data to be passed to a form handler map.
listParams Optional. Map of keys to arrays of values. Requires the form specified in the form property and the form handler specified in the formHandler property. The values contained in each array are submitted to the same array-based form handler property. For example, {param1: [a,b,c], param2: [x,y,z]}.
mapParams Optional. Map of keys to other maps. Requires the form specified in the form property and the form handler specified in the formHandler property. The outer keys map to the corresponding property names on formHandler. The inner keys are appended to a comma-delimited list of key-value pairs. For example, {property1: {key1: value1, key2: value2}}.
queryParams Optional. Map of parameters that are added without modification to the request URL as query parameters.
sync Flag indicating whether to submit the request synchronously or asynchronously. If the request is synchronous, the atgSubmitFunction will wait until a response is received from the server (or a timeout occurs) before continuing execution. The default value is false for asynchronous requests.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5 7
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μProperty Description
showLoadingCurtain Flag indicating whether to display a loading curtain and progress indicator during requests. The default value is true to show the loading curtain and progress indicator.
frameworkUrl
The frameworkUrl tag constructs a forwarding and redirection URL with framework parameters. The URL can be assigned to a form handler sucessURL property, allowing the form handler to navigate to different locations in the Service Center application based on the results of processing the form.
The following example navigates to the global panels and the shopping cart panel stacks. If these panel stacks are already displayed, they will be refreshed. This example also contains the custom parameter contentHeader, which will be added to the query parameters as contentHeader=true. The result is stored in the successURL page variable, which can be assigned to a form handler property.
<svc-ui:frameworkUrl var="successURL" panelStacks="globalPanels,
cmcShoppingCartPS" contentHeader="true"/>
The following attributes can be assigned to the tag. Custom dynamic attributes are also allowed and will be included to the redirection URL as query parameters.
Attribute Description
Var Page variable name to be assigned the framework URL.
url Optional. Target URL for forwarding or redirecting the framework request. Overrides the default framework URL.
Context Optional. Context of the framework request URL for forwarding or redirecting. Requires that url is specified.
panelStacks Delimited list of panel stack identifiers for the panel stacks to navigate to under the current tab. Renders the currently-enabled member panels of the panel stack in the cell for which the panel stack is assigned under the tab definition. Includes the request parameter ps. The default delimiter is a comma. The default delimiter can be overridden with the splitChar attribute.
Panels Delimited list of panel identifiers for the panels to refresh. The panels will remain in their current place but the contents will be re-rendered. Includes the request parameter p. The default delimiter is a comma. The default delimiter can be overridden with the splitChar attribute.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5 8
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μAttribute Description
selectTabbedPanels Delimited list of panel identifiers for the tabbed panels to set to the selected state. Applies only to panels that are in a row of tabbed panels. The default delimiter is a comma. The default delimiter can be overridden with the splitChar attribute.
Tab Navigates to the specified tab by ID. Includes the request parameter t.
splitchar Sets the delimiter to the specified set of characters overriding the default comma delimiter.
Service Center API
Service Center provides an API that accesses various features of the UI framework.
The atgChangeTab performs the necessary client and server side actions to change the current tab in the framework using the following attributes that set arguments for atgSubmitAction:
newTab
nextSteps
panelStack
panels
extraParams
Additionally, atg.service.framework contains the following UI functions:
Attribute Description
changeTab Change to the specified tab on the client-side only. Must be called in conjunction with a server-side call to atgSubmitAction that specifies the ID of a valid tab defined in the UI framework.
Arguments: tabId – ID of the tab to make the current tab.
toggleSidebar Changes and restores the state of the sidebar from the default expanded view showing all of the helpful panels to a minimized view showing a vertical bar.
Arguments: none
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 5 9
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μAttribute Description
toggleResearch ATG Knowledge only. Changes and restores the state of the middle column in ATG Knowledge from the expanded view showing all of the research panels to a default minimized view showing a vertical bar.
Arguments; none
selectTabbedPanel Selects the specified panel in a row of tabbed panels as the current panel.
Arguments: panelId – ID of the panel to make the current panel nextStepsId – ID of the next steps nextStepsPanelId – optional ID of the next steps panel
TogglePanel Removes or restores the specified side panel. Removed panels are taken out of the display and moved to a link in the Available Panels panel. Clicking the link in Available Panels restores the panel to its original position.
Arguments: panelId – ID of the panel to toggle.
togglePanelsToTabs Moves a panel and to and from a row of tabbed panels.
Arguments: panelId – ID of panel to move to tabs panelStackId – ID of panel stack that contains the panel to move to tabs
togglePanelContent Shows and hides the content area of a panel. The title bar of the panel remains in place.
Arguments:
panelId – ID of the panel to toggle.
startCall Initiates a new agent session with a customer without ending the existing session.
endCall Terminates the existing agent session with the customer.
endAndStartCall Initiates a new agent session with a customer and terminates the existing session.
Adding a New Panel to Service Center
New panels must be added to the Service Repository. To do this, perform an XML combine with the existing svc_framework.xml file as outlined in the following example:
1. Update the Service Repository with definitions of the new panels. ATG Service stores panels, panel stacks and all other framework type objects in a repository, as defined in the install/data/svc_framework.xml file.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6 0
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μNote: The panel definitions below point to an ATG Commerce Service Center shopping cart. The following properties must be changed: contentUrl, titleKey and resourceBundle.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE gsa-template SYSTEM
"dynamosystemresource:/atg/dtds/gsa/gsa_1.0.dtd">
<add-item item-descriptor="PanelDefinition" id="cmcAdditionalPanel1">
<set-property name="appId" value="workspace"/>
<set-property name="panelId" value="cmcAdditionalPanel1"/>
<set-property name="accessRight" value="AdditionalPanel1"/>
<set-property name="titleKey" value="cmcShoppingCartP"/>
<set-property name="resourceBundle"
value="atg.commerce.csr.FrameworkResources"/>
<set-property name="contentUrl" value="/panels/order/cart.jsp"/>
<set-property name="otherContext" value="DCS-CSR"/>
<set-property name="templateIds" value="panelTemplate=panelTemplate"/>
<set-property name="tabHolderYn" value="true"/>
<set-property name="allowContentToggleYn" value="true"/>
<set-property name="allowTabbingYn" value="true"/>
</add-item>
<add-item item-descriptor="PanelDefinition" id="cmcAdditionalPanel2">
<set-property name="appId" value="workspace"/>
<set-property name="panelId" value="cmcAdditionalPanel2"/>
<set-property name="accessRight" value="AdditionalPanel2"/>
<set-property name="titleKey" value="cmcShoppingCartP"/>
<set-property name="resourceBundle"
value="atg.commerce.csr.FrameworkResources"/>
<set-property name="contentUrl" value="/panels/order/cart.jsp"/>
<set-property name="otherContext" value="DCS-CSR"/>
<set-property name="templateIds" value="panelTemplate=panelTemplate"/>
<set-property name="tabHolderYn" value="true"/>
<set-property name="allowContentToggleYn" value="true"/>
<set-property name="allowTabbingYn" value="true"/>
</add-item>
<add-item item-descriptor="PanelDefinition" id="cmcAdditionalPanel3">
<set-property name="appId" value="workspace"/>
<set-property name="panelId" value="cmcAdditionalPanel3"/>
<set-property name="accessRight" value="AdditionalPanel3"/>
<set-property name="titleKey" value="cmcShoppingCartP"/>
<set-property name="resourceBundle"
value="atg.commerce.csr.FrameworkResources"/>
<set-property name="contentUrl" value="/panels/order/cart.jsp"/>
<set-property name="otherContext" value="DCS-CSR"/>
<set-property name="templateIds" value="panelTemplate=panelTemplate"/>
<set-property name="tabHolderYn" value="true"/>
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6 1
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μ <set-property name="allowContentToggleYn" value="true"/>
<set-property name="allowTabbingYn" value="true"/>
</add-item>
<gsa-template>
The new panels can be added to any existing panel stack by updating the panelIds property. Similarly, the panels may be added to a new panel stack.
Note: It is recommended that the JSPs for new panels should be housed in a custom Web-app. If the JSPs are housed in a custom Web-app, the otherContext property of the PanelDefinition should be set to the value of the context root of the containing Web-app.
2. The list of valid framework components is managed by the FrameworkComponents service in the /atg/svc/configuration/FrameworkComponents.properties file. Add the new panel to the end of the list in the appropriate configuration layer with the flag set to true, for example:
componentIds+=\
myNewPanel=true
Note: The componentIds list is used for both panels and tabs.
Once the repository definition has been extended and the panels have been added to the required panel stack, the Service database should be reloaded. The panels will then be visible.
Adding a Custom Tab in Service Center
The following example displays the addition of a new myNewTab tab definition. It renders a new panel stack called MyNewPS, which renders the three additional panels: myNewPanel1, myNewPanel2, and myNewPanel3.
The following properties will be changed for the tab definition:
The appId property must be set to workspace for the tab to be loaded in Service Center
The tabId property must correspond to the tab ID referenced in the ContentDefinition item defined for the tab action
The titleKey property references a resource defined in the customer resource bundle in the class path.
The accessRight may remain the default GlobalPanel right or a specific right. If using a specific right, the right must be defined and assigned to Service Center users. Note: The access right must be defined or the tab will not be rendered
The panelStackAssignments property uses pre-existing column names defined in the Service Framework Repository. This positions the panel stacks in the left column using contentColumn, the right column using sidebarColumn
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6 2
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μor top area using globalCell. Note: Changing the top area in the globalCell is not supported.
The currentPanelStacks property determines which panel stacks to show initially or by default.
The panelStackOrder property determines the sequence in which the panel stacks are rendered in case there is cross-referencing JavaScript between panel stacks that creates dependencies in the rendering order.
The contentIds property points to the ContentDefinition item defined above so that the requested JavaScript action is executed when the tab is selected.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE gsa-template SYSTEM
"dynamosystemresource:/atg/dtds/gsa/gsa_1.0.dtd">
<!--
The new myNewTab tab definition
-->
<add-item item-descriptor="TabDefinition" id="WsMyNewTabDefinition">
<set-property name="appId" value="workspace"/>
<set-property name="tabId" value="myNewTab"/>
<set-property name="titleKey" value="myNewTab.resource"/>
<set-property name="resourceBundle"
value="atg.commerce.csr.FrameworkResources"/>
<set-property name="accessRight" value="GlobalPanel"/>
<!--
Note: both cmcHelpfulPanels and helpfulPanels must be defined in
case the user goes to Utilities | Preferences while on the Commerce
tab. Preferences needs the next steps menu in the helpfulPanels panel
stack.
-->
<set-property name="panelStackAssignments"
value="MyNewPS=contentColumn,globalPanels=globalCell,
helpfulPanels=sidebarColumn cmcHelpfulPanels=sidebarColumn
preferencesPanel=contentColumn"/>
<set-property name="currentPanelStacks"
value="MyNewPS=contentColumn,cmcHelpfulPanels=sidebarColumn,
globalPanels=globalCell"/>
<set-property name="panelStackOrder"
value="globalPanels,cmcHelpfulPanels,helpfulPanels,MyNewPS,
preferencePanels"/>
<set-property name="templateIds"
value="contentHeader=contentHeaderTemplate"/>
<set-property name="contentIds" value="actionJavaScript=myTabAction"/>
</add-item>
<!--
The panel stack that gets rendered initially when the tab is loaded.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6 3
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μ This is done by setting the currentPanelStacks property of the tab
definition.
-->
<add-item item-descriptor="PanelStackDefinition" id="MyNewPS">
<set-property name="appId" value="workspace"/>
<set-property name="panelStackId" value="MyNewPS"/>
<set-property name="errorPanelId" value="errorPanel"/>
<set-property name="header" value="contentHeader"/>
<set-property name="titleKey" value="MyNewPS"/>
<set-property name="resourceBundle"
value="acme.csr.MyUserResource"/>
<set-property name="panelIds"
value="errorPanel,myNewPanel1,myNewPanel2,
myNewPanel3"/>
</add-item>
<!--
Update the existing framework to be aware of the new tab.
-->
<update-item item-descriptor="FrameworkDefinition"
id="WsAgentFramework">
<set-property name="tabIds" value="myNewTab" remove="true"/>
</update-item>
<update-item item-descriptor="FrameworkDefinition"
id="WsAgentFramework">
<set-property name="tabIds" value="myNewTab" add="true"/>
</update-item>
<gsa-template>
1. Once the new tab and panel stacks are defined, add the ContentDefinition item for the new tab action. This defines the JavaScript action that will be attached to the TabDefinition item for the new tab (via the contentIds map, see below) and will be executed when the tab is selected. For example:
<add-item item-descriptor="ContentDefinition" id="WsMyNewTabAction">
<set-property name="appId" value="workspace"/>
<set-property name="contentId" value="myNewTabAction"/>
<set-property name="mimeType" value="text/javascript"/>
<set-property name="body"><![CDATA[atgChangeTab(atg.service.framework.
changeTab('myNewTab'),null,null,null);]]></set-property>
</add-item>
2. The list of valid framework components is managed by the FrameworkComponents service in the /atg/svc/configuration/FrameworkComponents.properties file. Add the new tab to the end of the list in the end of your customer application configuration layer with the flag set to true, for example:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6 4
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μcomponentIds+=\
myNewTab=true
Note: The same componentIds list is used for both panels and tabs.
You can modify the action that a tab performs by modify the ContentDefinition item for the action in the Service Framework Repository. Once you have modified the item, you must define the JavaScript that will be run when the tab is clicked.
Troubleshooting Tab Creation
When the application is started yet your new tab, panel stack, or panel is not visible, check the following common causes:
1. Verify that the enableYn property is set to true (the default value).
2. If you are using an access right other than GlobalPanels, verify that your access right as been created in the appropriate repository. If unsure, set the accessRight to GlobalPanels, which is an access right with no restrictions. The GlobalPanels access right can be used for both tabs and panels.
3. Verify that the tabId property (for a tab) or the panelId property (for a panel) is defined in the /atg/svc/configuration/FrameworkComponents nucleus component. If you are using a custom configuration layer, use the ACC to confirm that the correct component is active. Note: This applies to tabs and panels only.
4. If a tab is not displaying, verify that the tabId for the tab was added to the tabIds property in the workspace FrameworkDefinition item as described above.
5. If a panel stack is not displaying, verify that the panelStackId for the panel stack is added to the panelStackAssignments, currentPanelStacks and panelStackOrder properties of the TabDefinition item as described above.
6. If a panel is not displaying, verify that the panelId for the panel is added to the panelIds property in the PanelStackDefinition item as described above.
7. If the top panel in the panel stack is not displaying, verify that the tabHolderYn property is set to true.
8. If a panel other than the top panel is not displaying, verify that the tabHolderYn property is false.
9. If tabbed panels are not displaying, verify the following:
The first panel should be configured with tabHolderYn=true, currentPanelId=set to the same as panelId and tabbedPanelIds=set to the list of panelId's of panels in the row of tabs not including first panel
The panels after the first panel should be configured with tabHolderYn=false and currentPanelId and tabbedPanelIds set to null
All the tabbed panels should be configured to alwaysTabbedYn=true, tabbedYn=true and allowTabbingYn=true
10. If all the data is consistent and the item is still not displaying, check whether the following state-saving tables have stale data that is interfering with the loading of the
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6 5
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μnew data. In the admin schema, remove all the data from the following tables and restart the server (if tables are non-empty):
svc_cell_cfg
svc_content_cfg
svc_framewrk_cfg
svc_fw_tab_cfg
svc_panel_cfg
svc_ps_pnl_cfg
svc_pstack_cfg
svc_skin_cfg
svc_tab_cfg
svc_tab_pnl_cfg
svc_template_cfg
Environment Monitoring An environment is the collective state of an agent’s current working context. An environment-monitoring interface is defined for integrating applications with environment management. Use environment monitoring to coordinate changes to the global environment objects.
The environment contains many global objects that are exposed to the agent though the UI and shared by all the applications. The current ticket and customer are examples of global environment objects. Global object changes can be triggered by the agent through UI gestures or programmatically by an application. When the object is changed, the global object is replaced with a different object of the same type.
The framework provides access to two global objects: Current Ticket and Current Customer. These two objects are always available and shared by all the applications using the framework. They are also represented in the UI’s global context area.
Applications can expose their own global objects to the environment monitoring system. The Environment Management API and configuration enables an application to participate in changes to the exposed global environment objects by either requesting a change to a global object (including global objects that are not managed directly by the application) or by being notified of a global object change.
When the global environment is exposed by requesting a change to a global object, the API provides the ability to request that any global object be changed. For example, any application running in the framework can request that the active ticket be changed to a new ticket or another existing ticket.
When the global environment is exposed by being notified of a global object change, whenever a change is initiated, the application is notified and has a chance to attach dependent change details to the change
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6 6
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μrequest. This model allows an application to be aware of any changes taking place that may affect its own state. This takes place in a three step process.
1. Identifying environment changes before they are applied.
All changes to the environment objects, including any dependent changes, are first detected and summarized in a collection of change detail objects. An application participates in this process by monitoring for new change details and creating new change detail objects. Once all the details are collected about a change, the next, optional step is to generate warning messages related to the pending change.
For example, ApplicationY may have an object with dependencies on the active customer profile. Therefore, whenever the active customer is changed, ApplicationY may also want to change its object accordingly. In this case, ApplicationY would monitor for change details specific to the current customer and, when necessary, add a change detail for its own object.
2. Generating warning messages.
Warning messages are optional and are relative to a change initiated by an agent through a UI gesture. Applications that are participating in environment changes are polled to produce warning messages relative to the pending change. The agent must then respond to the warnings before the change can be applied. At this point in the process, the agent has the option of canceling or continuing with the change.
For example, ApplicationY may want to warn the agent that continuing with the change will adversely affect its dependent object. In this case, ApplicationY would contribute a warning relative to its dependent object, when necessary.
3. Applying the change.
The final step is to apply the change to the environment based on the aforementioned detail objects. Each application is responsible for changing the environment objects under its direct control. For example, the Service framework is responsible for applying a change to the current active ticket and customer, while an application only applies changes to its own objects.
For example, when ApplicationY is told to apply the change, it would scan for a change detail specific to its own object and apply it accordingly. (There would be another change detail for the active customer but ApplicationY would ignore it because it is not responsible for that environment object.)
Current Ticket Disposition
This feature includes the ability to automatically handle the disposition of the current ticket whenever it changes. Whenever a different ticket will be loaded into the environment because of a change request, one of several disposition options must be selected as for the ticket being replaced (e.g. the current ticket).
For UI initiated changes, the framework will automatically prompt the agent to select from a set of disposition options before the change can be completed. This prompt also has the option to cancel the change and leave the environment state unchanged.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6 7
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μIt should be noted that the warnings and the ticket disposition options share the same UI prompt and therefore it is possible to see both warnings and the ticket disposition options in a single prompt.
Environment Monitoring Components and Classes
The following section describes some of the components and classes available for Environment Monitoring:
EnvironmentTools
Class atg.svc.agent.environment.EnvironmentTools
Component /atg/svc/agent/environment/EnvironmentTools
Configuration environmentMonitors - a list of EnvironmentMonitor components.
This class provides the core API for applying changes to the environment. It also provides API for accessing the Service managed environment objects such as the active ticket and customer profile.
EnvironmentMonitor, ServiceEnvironmentMonitor, KnowledgeEnvironmentMonitor
Class atg.svc.agent.environment.EnvironmentMonitor
atg.svc.agent.environment.ServiceEnvironmentMonitor atg.svc.knowledge.environment.KnowledgeEnvironmentMonitor
Component /atg/svc/agent/environment/ServiceEnvironmentMonitor /atg/svc/knowledge/environment/KnowledgeEnvironmentMonitor
The EnvironmentMonitor abstract class provides the interface for writing application specific environment monitors. An application participates in the environment change process by implementing a component of this class and adding it to the EnvironmentTool configuration. The ServiceEnvironmentMonitor component detects changes, generates warnings, and applies changes for Service managed objects. The KnowledgeEnvironmentMonitor component detects changes, generates warnings, and applies changes for ATG Knowledge managed objects.
FormHandlers
Class atg.svc.agent.environment.EnvironmentChangeFormHandler atg.svc.agent.ui.formhandlers.ChangeActiveTicketFormHandler atg.svc.agent.ui.formhandlers.ChangeCurrentCustomerFormHandler
atg.svc.agent.ui.formhandlers.DeferActiveTicketFormHandler atg.svc.agent.ui.formhandlers.WorkTicketFormHandler
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6 8
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μComponent /atg/svc/agent/ui/formhandlers/ChangeCurrentCustomer
/atg/svc/agent/ui/formhandlers/CloseTicket /atg/svc/agent/ui/formhandlers/CreateNewTicket /atg/svc/agent/ui/formhandlers/DeferTicket /atg/svc/agent/ui/formhandlers/EndAndStartCall /atg/svc/agent/ui/formhandlers/EndCall /atg/svc/agent/ui/formhandlers/EscalateTicket /atg/svc/agent/ui/formhandlers/ReassignTicket /atg/svc/agent/ui/formhandlers/ReleaseTicket /atg/svc/agent/ui/formhandlers/SendToGroup /atg/svc/agent/ui/formhandlers/StartNewCall /atg/svc/agent/ui/formhandlers/WorkActiveTicket /atg/svc/agent/ui/formhandlers/WorkTicket
These classes and components are used to perform environment changes from UI gestures. They support the start action -> warning/ticket disposition -> complete action UI flow for environment changes.
EnvironmentStateChange
Class atg.svc.agent.environment.EnvironmentChangeState
Component /atg/svc/agent/environment/EnvironmentChangeState
This class represents the state object used to perform environment changes. It contains the change key, input parameters, change details, ticket disposition options and other information related to a change. See the Java doc for more details. EnvironmentTools contains the API for initializing an EnvironmentChangeState instance for a specific change. The state object is then used as input to other API used to execute the change.
ServiceEnvironmentConstants
Class atg.svc.agent.environment.ServiceEnvironmentConstants
This static class exposes the environment change keys defined by Service. Change keys are string values that identify a specific type of change to the system. startNewCall, changeActiveCustomer and newTicket are examples of change keys defined by the Service framework.
This class also exposes the input parameter names for each change key. profileId is an example of an input parameter name required to execute a change using the changeActiveCustomer change key.
TicketDispositionOptions
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 6 9
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μClass atg.svc.agent.environment.TicketDispositionOptions
An instance of this class defines the desired disposition of the current ticket, if it is replaced because of the change. It exposes the names of each disposition option and the input parameters required for each one. Example options are save, close, escalate and defer. If the ticket disposition object is not provided for a change, the default behavior will use the save option.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7 0
A p p e n d i x B : S e r v i c e C e n t e r F r a m e w o r k R e p o s i t o r y A r c h i t e c t u r e
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7 1
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μAppendix C: ATG Service Repository Tables
The following describes the repositories that exist in ATG Service.
OptionRepository Options allow the ATG Knowledge and ATG Self Service applications to be configured via the Service Admin.
GlobalOption
The following table provides information on the GlobalOption item. GlobalOptions determines installation-wide options that act as a default for all option types. These general settings, which are edited in the Administration UI, are versioned and deployed. Global options can be overwritten by Segmented and User options and partitioned. When the site is null, the option is global to all sites.
Table Name Property Data-Type Description
svc_global_opt site The optional site associated
id string
name string Unique logical name of the option
rawValue string The value input by the user
defaultValue string Value to user when no input
accessRight string
multiValued Boolean True if the value represents multiple values
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7 2
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Name Property Data-Type Description
dataType enumerated code=10012 value=String
code=10022 value=Boolean
code=10032 value=integer
code=10042 value=Url
code=10052 value=Date
code=10062 value=Float
svc_globalopt_info info map
svc_globalopt_val allowedValue
s
array The values that are set on the option when edited by enumeration
SelfServiceSiteOption
The following table provides information on the SelfServiceSiteOption item:
Table Name Property Data-Type Description
svc_site id string Defines a site and how administrators tune configurable site options
displayName string
description string
searchSiteName string Site name in ATG Search Management console
SelfServiceSiteOption
The following table displays information on the SelfServiceSiteOption item. SelfServiceSiteOptions are options that are keyed off the name of an ATG Self Service site and are used in ATG Self Service settings in the Administration UI. These options are both versioned and deployed.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7 3
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ
Table Name Property Data-Type
Description
svc_ss_site_opt id string Defines an option partitioned by site.
siteId string The ID of the ATG Self Service site
name string
rawValue string
defaultValue string
accessRight string
multiValued Boolean True if the value represents multiple values
dataType Code=10012 value=String
Code=10022 value=Boolean
Code=10032 value=integer
Code=10042 value=Url
Code=10052 value=Date
Code=10062 value=Float
svc_ss_siteopt_info info map Additional information mapping
svc_ss_siteopt_val allowedValues array Values allowed when an option is edited by enumeration
SiteSegmentPriority
The following table provides information on the SiteSegmentPriority item:
Table Name Property Data-Type
Description
svc_site_seg_pri id string Defines precedence order of SiteSegmentOptions if a user is a member of multiple segments for a site.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7 4
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Name Property Data-
Type Description
siteId string
segment string
priority int
SiteSegmentOption
The following table provides information on the SiteSegmentOption item:
Table Name Property Data-Type Description
svc_site_seg
_opt
id string Defines an ordered set of segments that are used with Segmented Options
siteSegmentPr
iority
SiteSegmentPriority
The site-segment pair associated with the option
name string The name of the option
rawValue big string The value input by the user
defaultValue big string The value used when there is no input from the user.
accessRight string
multiValued boolean Set to true if the value represent multiple values
dataType enumerated 10012 = String
10022 = Boolean
10032 = Integer
10042 = Url
10052 = Date
10062 = Float
svc_sitesego
pt_info
info string
svc_sitesego
pt_val
allowedValues string
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7 5
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μUserOptionRepository
The following provides information on the tables of the UserOptionRepository.
A UserOption applies to either ATG Knowledge or ATG Self Service. Users define user options by setting preferences in the ATG Knowledge or ATG Self Service preferences page. User options supersede segmented options and site options. The UserOption repository item references the user repository item by id rather than by item-type reference so we can use the same repository item to store options for both ATG Knowledge and ATG Self Service users. The UserOption repository item for ATG Knowledge users is stored in the versioned /atg/svc/ServiceRepository although the option itself is not versioned. ATG Self Service user options are stored in the unversioned ServiceRepository that ATG Self Service uses.
UserOption
The following provides information on the UserOption item. These options are keyed off the ID of a user, and are used only by agents. These options, which are edited in the Ser vice UI, are unversioned.
Table Property Data-Type Description
svc-user-opt id string Defines a user option that can override a SegmentedOption or SiteOption and is not versioned
userId string The ID of the user associated with the option
name string Unique logical name
rawValue string
defaultValue string
accessRight string
multiValued Boolean
dataType enumerated
svc_useropt_info info map Map of extra data
svc_useropt_val allowedValues array Values allowed when option is edited by enumeration
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7 6
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μServiceSegmentRepository
The following provides information on the tables of the ServiceSegmentRepository. This repository provides a list of segments (either internal or external) that are used to constrain which user segments are available.
Segment
The following provides information on the Segment item.
This item defines the following derived properties:
internalAudienceSorted - uses a sort derivative property to sort the audience in increasing order by organization name.
audienceSorted – uses a sort derivative property to sort the audience by segment name.
Table Property Data-Type Description
svc_segment id string Defines a set of segments that are specific to Service
name string Segment name from profile group name
internal Boolean True if segment is in internal profile repository
field Boolean True when used for field security
value Boolean True when used for value security
svc_seg_intaud internalAudience array
internalAudienceSorted array
ServiceSharedRepository ATG Service tracks the research performed on a problem by both customers and agents. When the problem is escalated as a ticket the agent can review the search history, documents and solutions that were considered and any documents or solutions that have already been suggested.
The ServiceSharedRepository is a non-versioned repository that is read by both the ATG Knowledge and ATG Self Service servers. Solution repository items are stored in the ServiceRepository and are
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7 7
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μdeployed to ATG Self Service using deployment. Some solution properties are computed and are stored in the ServiceSharedRepository.
The following solution properties are computed:
recommendedAnswers – a list of all the recommendedAnswer repository items associated with the solution listed from the most recent association to the least recent association. Every time an agent links a ticket to the solution or a customer provides feedback that a solution solved their problem, a recommendedAnswer is created. The recommended answer includes a link to a ticket if one was available when the recommended answer was created.
solutionRelevance – The solutionRelevance item tracks statistics about the solution including the use count (i.e. the number of recommendedAnswers), the view count, and some scores computed from the use count and view count. These scores are used to order the hot solutions list, top solutions list and best bets lists.
topicPath –the IDs of the Topic repository items in the TopicRepository. The topicPath property provides a way to reference a set of topics to associate with a solution when importing seed solutions with the Repository Loader.
KnowledgeQuery
The following provides information on the KnowledgeQuery item. A KnowledeQuery is captured for every search and browse performed. ATG Knowledge queries are used to track the user’s most recent queries and ticketing activity. The query captures all query predicates so that the query can be replayed by an agent or the customer.
Table Property Data-Type Description
svc_query id string Records a search request for a problem session or a favorite search
queryDate timestamp
queryType enumerated Attribute useCodeForValue value is false by default
code=10010 value=sessionQuery
For queries that occur during an ATG Knowledge session:
code=10020 value=favoriteQuery
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7 8
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
browseTopicID string Attribute useCodeForValue value is false by default
code=10010 value=similar
code=10020 value=structured
code=10030 value=query
code=10040 value=browse
code=10050 value=matchingstatements
svc_query_pred predicates Set Additional query constraints
KnowledgeQueryPredicate
The following provides information on the KnowledgeQueryPredicate item:
Table Property Data-Type Description
svc_query_pred id string Records search/browse constraints
query query
predicateType enumerated Attribute useCodeForValue value is false by default
code=10010
value=queryParameter
code=10020
value=intrinsicField
code=10030
value=customField
fieldName string Name of the solution property or custom field
valueType enumerated Attribute useCodeForValue value is false by default
code=10010 value=number
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 7 9
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
code=10020 value=date
code=10030 value=user
code=10040 value=organization
code=10050 value=segment
code=10060 value=Boolean
code=10070 value=keyword
code=10080 value=topic
code=10090
value=textMatch
booleanValue Boolean
numberMax float
numberMin float
dateMax date
dateMin date
caseInsenitive Boolean
textValues list
FavoriteQuery
The following provides information on the FavoriteQuery item. The FavoriteQuery repository item allows users to bookmark personal favorite queries. If they have the adequate permission, agents can also bookmark favorite queries to share with other users. These group favorite queries are referred to as recommended reading in ATG Knowledge.
Table Property Data-Type Description
svc_fav_query id Tracks queries saved as favorites
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8 0
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
userId Profile ID of query user
type enumerate Attribute useCodeForValue value is false by default
code=10000 value=solution
code=10010 value=review
name
description
svc_fav_query_org organizationIds set Defines the organizations that can view this query.
ViewedAnswer
The following provides information on the ViewedAnswer item. A viewed answer is an answer found in a document or solution using a search or browse query. The list of the recently viewed answers is built from the viewed answers associated with the users most recent ATG Knowledge sessions.
Table Property Data-Type Description
svc_viewed_answer id Records a viewed answer for a problem session
viewDate timestamp
docType enumerated code=10001 value=solution
code=10002 value=document
code=10003
value=PDFDocument
excerpt string Answer excerpted from the document
Title string Document title
contextId string
url string
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8 1
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
solutionId string
solutionVersion string
RecommendedAnswer
The following provides information on the RecommendedAnswer item. A recommended answer is almost identical to a viewed answer except the answer has been recommended as a solution to a problem. Agents can create recommended answers by linking an answer to the current ticket. Customers can create recommended answers by providing positive feedback about an answer. Recommended answers track which documents and solutions are most helpful.
Table Property Data-Type Description
svc_rec_answer id string Records a viewed answer
dateCreated date
dateModified date
createdBy string
modifiedBy string
docType enumerated code=10001 value=solution
code=10002 value=document
code=10003
value=PDFDocument
solutionID string
solution
Version
string
title string
exceprt
contextId
url
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8 2
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
ticket ticket A recommended answer is not required to be associated with a ticket - they can be created during ATG Self Service sessions.
The recommended answers are used to compute solution use count and must track every time the solution (or document) solves a problem
state enumerated code=10001 value=Suggested
code=10002 value=Helpful
code=10003 value=Rejected
KnowledgeSession
The following provides information on the KnowledgeSession item. A KnowledgeSession item is created for each ATG Self Service session and each new problem solving session (usually identified by a new ticket) in ATG Knowledge. All agent and customer activity is tracked against a current ATG Knowledge session, which exists even if a ticket has not yet been created. If a ticked is created later, the information in the ATG Knowledge session is available as research activity in the ticketing activity history. Even if no ticket is created, the ATG Knowledge session remains to track the user’s most recent queries and recently viewed answers. The KnowledgeSession stores the ticket ID.
Table Property Data-Type Description
svc_ksession id string Records user activity related to a ticket for a specific search
userId string The user ID that conducted this session
session
StartDate
timestamp
sessionEndDate timestamp
ticketId string
svc_session_query queries list
svc_sess_view_ans viewedAnswers list
svc_session_link linkedDocuments set
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8 3
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
svc_session_reject rejectedDocuments set
WindowAttribute
The following provides information on the WindowAttribute item:
Table Property Data-Type
svc_window_attrb id string
sessionId string
windowed string
key string
serializedData binary
SolutionRelevance
The following provides information on the SolutionRelevance item:
Table Property Data-Type Description
svc_solnrevelance id string Tracks solution use, counts and related relevance scores
solutionId string
solutionClassId string
useCount int
hotUseCount int
viewCount int
isQOAA Boolean
lastUserDate timestamp
lastViewDate timestamp
dbHotScore int
dbTopScore int
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8 4
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ dbQOAAScore int
SolutionStatusTaskDefn
The following provides information on the SolutionStatusTaskDefn item:
Table Property Data-Type Description
svc_sstatus_tdefn id string Enumerable set of solution states
solutionStatus
Id
string
workflowName string
taskElementId string
Favorites
The following provides information on the Favorites item:
Table Property Data-Type Description
svc_user_favorites id string Tracks documents and solutions saved as favorites
userId string Profile ID of user
solutionId string
title string
contextId string
url string
type enumerated code=10001
value=solution
code=10002
value=document
code=10003
value=PDFDocument
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8 5
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μRecommendedReading
The following provides information on the RecommendedReading item:
Table Property Data-Type Description
svc_recommend_rea
d
id string Tracks documents and solutions saved as recommended
userId string Profile ID of user
solutionId string
text string
contextId string
url string
type enumerated code=10001
value=solution
code=10002
value=document
code=10003
value=PDFDocument
SpellingDictionary
The following provides information on the SpellingDictionary item:
Table Property Data-Type Description
svc_spell_dics id string Holds global terms to ignore in spell checking
language string
svc_spell_words words set
SolutionRedirect
The following provides information on the SolutionRedirect item:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8 6
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
svc_soln_redirect deletedSolutionDisplayId string Defines deleted solution redirection
deletedSolutionId string
forwardSolutionId string
id string
Link
The following provides information on the Link item:
Table Property Data-Type Description
svc_link id string Defines broken link item descriptor
solutionId string The ID of the solution containing the link.
url string
status LinkStatus The status of the link. Refers to the LinkStatus item.
scanTime timestamp
attemptsNumber int
externallyVisible boolean
linkType LinkType Set to false if the link is a solution link. Set to true if the link is a URL.
solnStatusId string The status of the solution containing the link.
text string The text of the link
solnOwningGroupId string The ID of the owning group of the solution that contains the link.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8 7
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μLinkStatus
The following provides information on the LinkStatus item:
Table Property Data-Type Description
svc_link_status id string Defines broken link status
val enumerated 0 = VALID
1 = NOT_VALID
2 = NOT_RESOLVED
3 = UNMANAGED
4 = VIOLATE_RESTRICTIONS
LinkType
The following provides information on the LinkType item:
Table Property Data-Type Description
svc_link_type id string Defines the status of a broken link
val enumerated 0 = HYPER_LINK
1 = SOLUTION_LINK
LinkValidationReport
The following provides information on the LinkValidationReport item:
Table Property Data-Type Description
svc_link_validation_rep id string The ID of a record
completionTime timestamp
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8 8
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μServiceRepository
The ServiceRepository is a versioned repository that stores solutions, solution classes, and field definitions.
EnumeratedListValue
The following provides information on the EnumeratedListValue item:
Table Property Data-Type Description
svc_list_value id string Defines a range of values for a List field definition
name string Segment name from profile group name
displayName Boolean True if segment is in internal profile repository
svc_lval_intaud internalAudience array
internalAudienceSorted array
DefaultFieldValue
The following provides information on the DefaultFieldValue item. This item provides a default value for a solution field. Field definitions define the characteristics of a field and are combined to make a Solution Class.
Table Property Data-Type Description
svc_fld_defn id string Fields may be members of multiple classes and defined using the Service Field Class Definition table.
displayName string Named displayed in UI
Name string Name of field definition
required Boolean Set to true of the field instance should not allow null values
multiValued Boolean Set to true of the field instance can hold multiple values
default Boolean Used if the field instance should set default values on creation
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 8 9
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
type enumerated attribute=useCodeForValue
value=false
code=10010
value=StatementType
code=10020
value=TextType
code=10030
value=DateType
code=10040
value=NumberType
code=10050
value=BooleanType
code=10060
value=ListType
code=10070
value=UserType
code=10080
value=OrganizationType
code=10085
value=TransactionalFragmentType
code=10090
value=DecimalType
purpose enumerated attributename=useCodeForValue
value=false
code=10100
value=Content
code=10110
value=Property
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9 0
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
indexing enumerated attributename=useCodeForValue value=false
code=10200
value=None
code=10210
value=Searchable
code=10220
value=Constrainable
code=10230
value=Both
usage enumerated attributename=useCodeForValue value=false
code=10300
value=Custom
code=10310
value=Intrinsic
editor enumerated attribute name=useCodeForValue value=false
code=10400
value=System
code=10410
value=User
svc_flddefn
_intaud
internalAudience array
internalAudienceSorted array
svc_flddefn
_intmod
internalModify array
internalModifySorted array Sorted by segment name
svc_flddefn
_extaud
externalAudience array
externalAudienceSorted array Sorted by segment name
Field Definitions
The following provides information on FieldDefinition items. No tables are associated with the following items:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9 1
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μItem Description
StatementFieldDefinition Sub-type of FieldDefinition for rich-text fields.
TextFieldDefinition Sub-type of FieldDefinition for text fields.
DateFieldDefinition Sub-type of FieldDefinition for date fields.
NumberFieldDefinition Sub-type of FieldDefinition for integer fields.
DecimalFieldDefinition Sub-type of FieldDefinition for non-integer fields.
TransactionalFragmentFieldDefinition Sub-type of FieldDefinition for transactional fragment fields.
BooleanFieldDefinitions
The following provides information on BooleanFieldDefinition item:
Table Property Data-Type Description
svc_flddefn_bool falsLabel string Sub-type of FieldDefinition for Boolean fields.
trueLabel string
ListFieldDefinitions
The following provides information on ListFieldDefinition item:
Table Property Data-Type
Description
svc_flddefn_list sortOrder auxiliary If this property is not specified, the list sort order is defined by /atg/svc/repository/service/SolutionMetadataService#getDefaultSortOrder.
svc_flddefn_lval listValues list Sub-type of FieldDefinition for list (enumeration) fields.
listValuesSorted list creates a drop down list of possible values
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9 2
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μListFieldDefinitions
The following provides information on UserFieldDefinition item:
Table Property Data-Type Description
svc_flddefn_seg segments array Sub-type of FieldDefinition for user fields.
segmentsSorted array Sorted by segment name
OrganizationFieldDefinitions
The following provides information on OrganizationFieldDefinition item:
Table Property Data-Type Description
svc_org_value id string Sub-type of FieldDefinition for organization fields.
type enumerated name=useCodeForValue
value=false
code=10500
value=OwningGroup
code=10510
value=InternalAudience
organizationName string
organizationId string
svc_orgval_intaud internalAudience array Defines security for each value
internalAudienceSorted array
FieldDefinitionTypeMetadata
The following provides information on FieldDefinitionTypeMetadata item:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9 3
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
svc_fldtype_data id string Default values for the properties of each type of field definition
type string
required Boolean
multiValued Boolean Default value for a multi-valued property
multiValuedEditable Boolean
puposeTag string
purposeEditable Boolean
indexingTag string
indexingEditable Boolean
SolutionClass
The following provides information on SolutionClass item:
Table Property Data-Type Description
svc_soln_class id string Defines the metadata for a solution and the template to create it from.
name string
description string
workflowName string
svc_scls_fld_defns fields list
svc_scls_intaud internalAudience array
internalAudienceSorted array
SolutionClassFieldDefinition
The following provides information on SolutionClassFieldDefinition item:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9 4
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
svc_scls_fld_defn id string Defines the metadata for a solution field and the template to create it from.
displayName string
fieldDefinition
required Boolean
title Boolean
indexingValue string
searchWeight int
Solution
The following provides information on Solution item:
Table Property Data-Type
Description
svc_soln id string An instance of a solution class that represents a structured knowledgebase item.
legacyId string
rawTitle big string
solutionClass
dateCreated timestamp
dateModified timestamp
author string
modifiedBy string
owningGroup
language string
bestBet Boolean
recognition string
status
externallyVisible Boolean
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9 5
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-
Type Description
encodedFieldData big string This property stores the SolutionField, SolutionFieldValue, TransactionalFragmentParameterValue, and TransactionalFragmentFieldValue fields of a solution. The field values are encoded as a JSON string.
See JSON Encoding for Solution Information.
svc_soln_segment audience array Audience group setting
audienceSorted array
svc_soln_int_aud_id internalAudience list Internal Audience group views
internalAudienceSorted list Sorted by organization name
svc_soln_topic topicPaths Returns the set of topic paths
QOAA
The following provides information on QOAA item:
Table Property Data-Type Description
svc_qoaa id string Member of the “Questions Others are Asking” list
solution
title string
SolutionStatus
The following provides information on SolutionStatus item:
Table Property Data-Type Description
svc_soln_status id string All the possible states of a solution
displayName string
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9 6
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTransactionalFragmentParameter
The following provides information on TransactionalFragmentParameter item:
Table Property Data-Type Description
svc_tf_param id string Parameters that must be filled in by the solution author on a transactional fragment field
name string Name of parameter
label string Label to display
defaultValue string Default value of parameter
hidden Boolean
type enumerated attribute name=useCodeForValue value=false
code=10610
value=TextType
code=10620
value=ListType
code=10630
value=NumberType
code=10640
value=DateType
code=10650
value=BooleanType
svc_tfplval_lnk listValues list Possible values for ListTypes
TransactionalFragmentParameterListValue
The following provides information on TransactionalFragmentParameterListValue item:
Table Property Data-Type Description
svc_tfparam_lval id string Value in an enumerated transactional fragment parameter.
displayName string
value string
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9 7
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μJSON Encoding for Solution Information
Several data fields in solutions are stored in the encodedFieldData property of the SVC_SOLN table. See Solution. These fields are encoded in JSON (JavaScript Object Notation) format. See general information about JSON at http://www.json.org/.
JSON Grammar for Encoding Solutions
The JSON elements used to encode solution information in the encodedFieldData property of the SVC_SOLN table are explained in the following table. See information about JSON syntax at http://www.json.org/.
See examples of encoded solution information that use these elements in the following sections:
Encoding FAQ Solutions
Encoding Break-Fix Solutions
Encoding Question-Answer Solutions
Encoding Multiple Statements
JSON Element Syntax
encodedFieldData JSONObject(fieldName : fields)
fieldName A string that represents the field name
fields JSONArray of field
field JSONArray of fieldId, solutionClassFieldDefinition, fieldValues
fieldId JSONObject("id" : String)
solutionClassFieldDefinition JSONObject("solutionClassFieldDefinition" : String)
fieldValues JSONObject("values" : JSONArray of fieldValue)
fieldValue JSONObject with attributes fieldValueId, fieldType, fieldValueAttr, fieldValueInternalAudience, fieldValueExternalAudience
fieldValueId JSONObject("id" : String)
fieldType JSONObject("type" : fieldTypeConstant)
fieldTypeConstant String equal to one of the following values: “BooleanType”, “DateType”, “DecimalType”, “ListType”, “NumberType”, “OrganizationType”, “StatementType”, “TextType”, “TransactionalFragmentType”, or “UserType.”
fieldValueAttr One of the following elements: bigStringValue, booleanValue, dateValue, fragmentValue, numberValue, or
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9 8
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μJSON Element Syntax
stringValue.
bigStringValue JSONObject("BIGSTRING" : String)
booleanValue JSONObject("BOOLEAN" : Boolean)
dateValue JSONObject("DATE" : Long)
fragmentValue JSONObject("FRAGMENT" : fragment)
numberValue JSONObject("NUMBER" : Float)
stringValue JSONObject("STRING" : String)
fragment JSONArray of fragmentId, fragmentPath, fragmentParameters
fragmentId JSONObject("id" : String)
fragmentPath JSONObject("fragmentPath" : String)
fragmentParameters JSONObject("parameters" : JSONArray of fragmentParameter)
fragmentParameter JSONObject with the attributes fragmentParameterId, fragmentParameterName, and fragmentParameterValue.
fragmentParameterId JSONObject("id" : String)
fragmentParameterName JSONObject("name" : String)
fragmentParameterValue JSONObject("value" : String)
fieldValueInternalAudience JSONArray of String. Representing internal segments.
fieldValueExternalAudience JSONArray of String. Represents external segments.
Encoding FAQ Solutions
This section provides an example of a JSON-encoded solution. The solution was created with the preconfigured FAQ solution class.
{
"answers": {
"id": "219406",
"values": [
{
"id": "219408",
"internalModify": [
"Everyone-Internal"
],
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
2 9 9
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ "internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>Your question is unknown.<\/p>"
}
],
"solutionClassFieldDefinition": "SvcFAQAnswer"
},
"questions": {
"id": "219407",
"values": [
{
"id": "219409",
"internalModify": [
"Everyone-Internal"
],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>What is my question?<\/p>"
}
],
"solutionClassFieldDefinition": "SvcFAQQuestion"
}
}
Encoding Break-Fix Solutions
This section provides an example of a JSON-encoded solution. The solution was created with the preconfigured Break-Fix solution class.
{
"fact": {
"id": "219485",
"values": [
{
"id": "219492",
"internalModify": [
"Everyone-Internal"
],
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0 0
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ "internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>The system requires input.<\/p>"
}
],
"solutionClassFieldDefinition": "SvcBFFact"
},
"cause": {
"id": "219484",
"values": [
{
"id": "219491",
"internalModify": [
"Everyone-Internal"
],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>The system has no input. Input is required for
output.<\/p>"
}
],
"solutionClassFieldDefinition": "SvcBFCause"
},
"fix": {
"id": "219486",
"values": [
{
"id": "219493",
"internalModify": [
"Everyone-Internal"
],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>Supply input to the system.<\/p>"
}
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0 1
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ ],
"solutionClassFieldDefinition": "SvcBFFix"
},
"change": {
"id": "219487",
"values": [
{
"id": "219494",
"internalModify": [
"Everyone-Internal"
],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>System defaults have been removed.<\/p>"
}
],
"solutionClassFieldDefinition": "SvcBFChange"
},
"goal": {
"id": "219489",
"values": [
{
"id": "219496",
"internalModify": [
"Everyone-Internal"
],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>Restore system function.<\/p>"
}
],
"solutionClassFieldDefinition": "SvcBFGoal"
},
"note": {
"id": "219488",
"values": [
{
"id": "219495",
"internalModify": [
"Everyone-Internal"
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0 2
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ ],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>Integers are the only valid input.<\/p>"
}
],
"solutionClassFieldDefinition": "SvcBFNote"
},
"symptom": {
"id": "219490",
"values": [
{
"id": "219497",
"internalModify": [
"Everyone-Internal"
],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>The system produces no output.<\/p>"
}
],
"solutionClassFieldDefinition": "SvcBFSymptom"
}
}
Encoding Question-Answer Solutions
This section provides an example of a JSON-encoded solution. The solution was created with the preconfigured Question-Answer solution class.
{
"answer": {
"id": "219532",
"values": [
{
"id": "219535",
"internalModify": [
"Everyone-Internal"
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0 3
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ ],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>Your question is unknown.<\/p>"
}
],
"solutionClassFieldDefinition": "SvcQAAnswer"
},
"question": {
"id": "219533",
"values": [
{
"id": "219536",
"internalModify": [
"Everyone-Internal"
],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>What is my question?<\/p>"
}
],
"solutionClassFieldDefinition": "SvcQAQuestion"
},
"note": {
"id": "219534",
"values": [
{
"id": "219537",
"internalModify": [
"Everyone-Internal"
],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>Ask useful questions.<\/p>"
}
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0 4
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ ],
"solutionClassFieldDefinition": "SvcQANote"
}
}
Encoding Multiple Statements
This section provides an example of a JSON-encoded solution with multiple statements.
{
"answers": {
"id": "219652",
"values": [
{
"id": "219654",
"internalModify": [
"Everyone-Internal"
],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>Sometimes it rains.<\/p>"
},
{
"id": "219655",
"internalModify": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>Sometimes it does not rain.<\/p>"
}
],
"solutionClassFieldDefinition": "SvcFAQAnswer"
},
"questions": {
"id": "219653",
"values": [
{
"id": "219656",
"internalModify": [
"Everyone-Internal"
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0 5
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ ],
"internalAudience": [
"Everyone-Internal"
],
"externalAudience": [
"Everyone-External"
],
"type": "StatementType",
"BIGSTRING": "<p>Does it rain in your town?<\/p>"
}
],
"solutionClassFieldDefinition": "SvcFAQQuestion"
}
}
ServiceFrameWorkRepository This section provides information about the tables used by the Service framework repository. The Service framework repository stores user interface configurations for ATG Service applications.
The following repository objects are not intended for public use. Do not use them for user interface customization.
ConfigurationObject
FrameworkConfig
ContentConfig
TemplateConfig
SkinConfig
TabConfig
CellConfig
PanelStackConfig
PanelConfig
Slot
Renderer
SlotRendererCombo
MarketingItem
FrameworkObject
This section explains the tables used by the FrameworkObject repository item. This repository item is the base object that is extended by all user interface framework objects that contain shared attributes.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0 6
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ
Table Property Data-Type Description
svc_frmwrk_objct id string
appId string The name of the application for which the framework is used.
selfService = ATG Self Service
workspace = Service Center
siteId string Multi-site site identifier where the framework object is defined
objectType enumerated 10970 = ContentDefinition
10971 = TemplateDefinition
10972 = FrameworkDefinition
10973 = SkinDefinition
10974 = TabDefinition
10975 = CellDefinition
10976 = PanelStackDefinition
10977 = PanelDefinition
enabledYn boolean Indicates whether the object is loaded from the repository
nameKey string The resource bundle key for the object name
descriptionKey string The resource bundle key for the object description
imageUrl string The path or URL to an image file.
resourceBundle string The resource bundle used for strings on the object if different than the default resource bundle
default Framework Object
Object containing framework default values
svc_fwobj_cnt contentIds string All of the content identifiers defined for the object
svc_fwobj_tmp templateIds string All of the template identifiers defined for the object
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0 7
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μsvc_fwobj_opt optionNames string All of the option identifiers
defined for the object
ContentDefinition
This section explains the tables used by the ContentDefinition repository item. This repository item defines static content such as CSS, JavaScript, and HTML.
Table Property Data-Type Description
svc_content_def id string
contentId string A logical identifier for the content within the site
mimeType string The Multipurpose Internet Mail Extensions (MIME) type of the content. For example, text/javascript.
body string The text that is inserted inline in the user interface
url string The path or URL of a linked resource
urlYn boolean Indicates whether the content is a linked resource (true) or inline text (false).
otherContext string Web context for rendering content from other Web applications. For example, “agent.”
TemplateDefinition
This section explains the tables used by the TemplateDefinition repository item. This repository item defines templates that may be applied to framework objects.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0 8
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μTable Property Data-Type Description
svc_template_def id string
templateId string A logical identifier for the template
url string The path or URL of the template. For example, /skins/simpleTabsSkin.jsp.
otherContext string Web context for rendering content from other Web applications. For example, “agent.”
FrameworkDefinition
This section explains the tables used by the FrameworkDefinition repository item. This repository item defines frameworks for user interfaces.
Table Property Data-Type Description
svc_framewrk_def id string
frameworkId string A logical identifier for the framework
currentTabId string The initial default tab for the framework.
svc_frmwk_skin skinIds string An ordered list of the skin identifiers for the framework
svc_frmwk_tab tabIds string An ordered list of the tab identifiers for the framework
SkinDefinition
This section explains the tables used by the SkinDefinition repository item. This repository item defines look-and-feel packages for a framework.
Table Property Data-Type
Description
svc_skin_def id string
skinId string A logical identifier for the skin
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 0 9
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ
TabDefinition
This section explains the tables used by the TabDefinition repository item. This repository item defines tabs that are used in frameworks.
Table Property Data-Type Description
svc_tab_def id string
tabId string A logical identifier for the tab
titleKey string The resource bundle key for the tab label
actionId string An action to perform when the tab is activated. For example, the string may be a JavaScript function or URL. The strings that are acceptable depend on the application that is interpreting them.
nextStepsId string The next steps menu that is initially associated with the tab. The strings that are acceptable depend on the application that is interpreting them.
visibleYn boolean Indicates whether the tab is visible. Invisible tabs are loaded from the repository but not displayed.
accessRight string Tab security based on the rights of the current user role
svc_tab_pstacks panelStackAssignments string A map of panelStackId strings to cellId strings. Indicates the layout cell to which a panel stack is assigned under a tab.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1 0
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μsvc_tab_psinit currentPanelStacks string A map of panelStackId
strings to cellId strings. Only the initial panel stacks for the tab with cell assignments
svc_tab_cells cellAssignments string A list of panelStackId strings. The list includes the rendering order for the panels where order dependencies exist.
CellDefinition
This section explains the tables used by the CellDefinition repository item. This repository item defines a layout cell corresponding to an identified region in the DOM. The cell content is any panel stack assigned to the cell.
Table Property Data-Type Description
svc_cell_def id string
cellId string A logical identifier for the cell within the site. The ID corresponds to a DOM element.
cellOpenYn string Indicates whether the cell is open
accessRight string Cell security based on the rights of the current user role
PanelStackDefinition
This section explains the tables used by the PanelStackDefinition repository item. This repository item defines an ordered container of panel objects.
Table Property Data-Type
Description
svc_pstack_def id string
panelStackId string A logical identifier for the panel stack
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1 1
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ header string A DOM element
identifier for a header, such as a title or image header
imageUrl string A path or URL to an image file to render in the header
errorPanelId string An Identifier for the error panel
panelTitlebarTabbedStyle string Deprecated. Do not use this property.
panelTitlebarUntabbedStyle string Deprecated. Do not use this property.
panelSelectedTabStyle string Deprecated. Do not use this property.
panelBackgroundTabStyle string Deprecated. Do not use this property.
titleKey string A resource bundle key for the optional panel stack label
tabAffinityYn boolean Indicates whether the visibility of the panel stack is saved when the user goes to another tab
svc_ps_panels panelIds string An ordered list of logical panel identifiers in the panel stack
PanelDefinition
This section explains the tables used by the PanelDefinition repository item. This repository item defines panels. Panels are the basic unit in a user interface framework.
Table Property Data-Type Description
svc_panel_def id string
panelId string A logical identifier for the panel
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1 2
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ contentUrl string The path or URL of the
panel contents
otherContext string Web context for rendering panel content from other Web applications. For example, “agent.”
onload string JavaScript evaluated when the panel is loaded by the rendering engine
onunload string JavaScript evaluated when the panel is unloaded by the rendering engine
helpKey string The resource bundle for help
titleKey string The resource bundle for the help label
visibleYn boolean Indicates whether the panel is visible. Invisible panels are loaded from the repository but not initially displayed; for example error panels
showTitleYn boolean Indicates whether to show the panel label in the title bar
panelOpenYn boolean True if the panel is displayed. Applies only to side panels that can be minimized to the “Available Panels” panel. Use of this property is not recommended.
allowPanelToggleYn boolean True if the panel content can be toggled between maximized and minimized state.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1 3
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μ availableYn boolean True if the side panel is
currently minimized to the “Available Panels” panel. Use of this property is not recommended.
contentOpenYn boolean The property is not intended for external use. Do not use it.
allowContentToggleYn boolean True to enable panel maximize and minimize button.
tabHolderYn boolean True to allow panel to contain other panels as tabs.
alwaysTabbedYn boolean True to force panel to be tabbed always
tabbedYn boolean The property is not intended for external use. Do not use it.
allowTabbingYn boolean True to allow the panel to be docked in the tab bar of the nearest tab holder panel.
allowSlotsYn boolean Deprecated. Do not use this property.
currentPanelId string The identifier of the currently-selected tab panel.
tabScrollIndex int The property is not intended for external use. Do not use it.
panelItemCount int The property is not intended for external use. Do not use it.
panelTitleStyle string A CSS style of the panel title – deprecated – do not use!
accessRight string Panel security based on the rights of the current user role
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1 4
A p p e n d i x C : A T G S e r v i c e R e p o s i t o r y T a b l e s
μsvc_ppnl_cmb slotRendererCombos list Deprecated. Do not use
this property.
svc_tab_pnl_def tabbedPanelIds list The property is not intended for external use. Do not use it.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1 5
A p p e n d i x D : A T G S e r v i c e C o n t e x t R o o t s
μAppendix D: ATG Service Context Roots
The tables in this appendix describe the Web Application Mappings for ATG Knowledge and ATG Self Service. Web Application Mappings associate a URI with the path to the directory that contains a module.
Refer to your application server documentation for information about how to specify application mappings for ATG modules.
ATG Knowledge Mappings The following are the Web Application Mappings required to run ATG Knowledge.
Web URI Module Referenced
/svc-common ATG_Service_Common/module/svc-common.war
/svc-branding ATG_Branding/module/Branding.war
/svc-admin ATG_Service_Application_Administration/module/
svc-admin.war
/rl RL/module/web-app.war
/extensions ATG_Agent_Extensions/module/extensions.war
/editlivejava ATG_Business_Control_Center/module/editlivejava.war
/dojo WebUI/module/dojo.war
/default j2eeDefault/module/web-app
/atg ATG_Business_Control_Center/module/bizui.war
/agent ATG_Agent/module/Agent.war
/accessTopic ATG_Service_Topic_Server/module/svc-topic.war
/WebUI WebUI/module/WebUI.war
/PubPortlets Publishing_Portlets/module/portlets.war
/DPS-UI DPS-UI/module/DPS-UI.war
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1 6
A p p e n d i x D : A T G S e r v i c e C o n t e x t R o o t s
μWeb URI Module Referenced
/CAF Common_Application_Framework/module/CAF.war
/AssetUI AssetUI/module/AssetUI.war
/AssetManager AssetUI/module/AssetManager.war
/AssetBrowse AssetBrowse/module/AssetBrowse.war
ATG Knowledge with ATG Commerce Mappings The following are the Web Application Mappings required to run ATG Knowledge and ATG Service Administration with ATG Commerce.
Web URI Module Referenced
/svc-common ATG_Service_Common/module/svc-common.war
/svc-branding ATG_Branding/module/Branding.war
/svc-admin ATG_Service_Application_Administration/module/svc-
admin.war
/rl RL/module/web-app.war
/extensions ATG_Agent_Extensions/module/extensions.war
/editlivejava ATG_Business_Control_Center/module/editlivejava.war
/dojo WebUI/module/dojo.war
/default j2eeDefault/module/web-app
/atg ATG_Business_Control_Center/module/bizui.war
/agent ATG_Agent/module/Agent.war
/accessTopic ATG_Service_Topic_Server/module/svc-topic.war
/WebUI WebUI/module/WebUI.war
/PubPortlets Publishing_Portlets/module/portlets.war
/DPS-UI DPS-UI/module/DPS-UI.war
/DCS-CSR ATG_Commerce_CSR/module/DCS-CSR.war
/CAF Common_Application_Framework/module/CAF.war
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1 7
A p p e n d i x D : A T G S e r v i c e C o n t e x t R o o t s
μWeb URI Module Referenced
/AssetUI AssetUI/module/AssetUI.war
/AssetManager AssetUI/module/AssetManager.war
/AssetBrowse AssetBrowse/module/AssetBrowse.war
ATG Self Service Mappings The following are the required Web Application Mappings required to run ATG Self Service and PublishingAgent.
Web URI Module Referenced
/svc-common ATG_Service_Common/module/svc-common.war
/svc-branding ATG_Branding/module/Branding.war
/service ATG_ATG Self_Service/module/ATG SelfService.war
/extensions ATG_ATG SelfService_Extensions/module/extensions.war
/default j2eeDefault/module/web-app
/CAF Common_Application_Framework/module/CAF.war
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1 8
A p p e n d i x D : A T G S e r v i c e C o n t e x t R o o t s
μ
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 1 9
A p p e n d i x E : A T G S e r v i c e C I M D e t a i l s
μAppendix E: ATG Service CIM Details
The ATG Configuration and Installation Manager (CIM) script assists with the configuration of ATG Service. Note: CIM also configures Service Center, however, there are no specific installation steps required for the installation of Service Center.
Product Compatibility ATG Service is installed using the common Service Center CIM module.
Available Add-ons The following add-ons can be installed with ATG Service using CIM:
Data Warehouse
Switching Data Sources
Server Instances The following server instances are configured for ATG Knowledge and ATG Self Service.
Production
Agent
Asset management
Data warehouse loader(optional)
The data warehouse loader server is only used when you install ATG Customer Intelligence. See information about this server in ATG Customer Intelligence Installation and Configuration Guide.
Add On Modifications
The following modifications occur to the server instances when using these optional add-ons:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2 0
A p p e n d i x E : A T G S e r v i c e C I M D e t a i l s
μ
Add On Server Instance
Changes to Server Instance
Data Warehouse
Data Warehouse
Add DW, Service.DW , Service.SelfServiceDataWarehouse and Service.KnowledgeDatawarehouse schemas Add Service.SelfServiceDataWarehouse and Serivce.KnowledgeDataWarehouse to module list
Note: This adds the Data Warehouse server instance listed above.
Switching Data Source
Production Add two new switching schemas on the production server instance. Add ServiceSwitchingDataSource_read (online)
Switching Data Source
Agent Add ServiceSwitchingDataSource_read (online) and ServiceSwitchingDataSource_production (offline)
Note: New modules are not required for switching data sources. However, two new initially identical Production switching schemas (in addition to the existing Production schema) are required on the Production server(s) for the deployed repositories. For both Agent and Production server instances, ServiceSwitchingDataSource_read points to the online data source and ServiceSwitchingDataSource _production points to the offline data source. For data import, use ServiceSwitchingDataSourceA and ServiceSwitchingDataSourceB as the underlying data sources for the import.
Data Source Configuration The following data source information is configured when running the CIM module.
JTDataSource for Agent Server Instance
The following information is configured for the Agent JTDataSource.
SQL Files
The following SQL scripts create the agent server schema. You must run the scripts in the order they are listed.
1. <ATG10dir>/Service10.0.2/Service/sql/install/vendor/
service_framework_agent_all.sql
2. <ATG10dir>/Service10.0.2/Service/sql/install/vendor/
service_agent_all.sql
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2 1
A p p e n d i x E : A T G S e r v i c e C I M D e t a i l s
μData Imports
The following files are imported for the Agent Server instance:
Repository Imported File Ver
/atg/userprofiling/
InternalProfileRepository
<ATG10dir>/Publishing/base/install/
epub-role-data.xml
False
/atg/userprofiling/
InternalProfileRepository
<ATG10dir>/Publishing/base/install/
epub-role-data.xml
False
/atg/epub/file/
PublishingFileRepository
<ATG10dir>/Publishing/base/install/
epub-file-repository-data.xml
False
/atg/portal/framework/
PortalRepository
<ATG10dir>/BIZUI/install/data/portal.xml True
atg/userprofiling/
InternalProfileRepository
<ATG10dir>/BIZUI/install/data/profile.xml False
atg/web/viewmapping/
ViewMappingRepository
<ATG10dir>/BIZUI/install/data/
viewmapping.xml
False
atg/web/viewmapping/
ViewMappingRepository <ATG10dir>/AssetUI/install/data/
viewmapping.xml
False
atg/web/viewmapping/
ViewMappingRepository <ATG10dir>/AssetUI/install/data/
assetManagerViews.xml
False
/atg/userprofiling/
InternalProfileRepository
<ATG10dir>/SiteAdmin/Versioned/install/
data/siteadmin-role-data.xml
False
/atg/userprofiling/
InternalProfileRepository
<ATG10dir>/SiteAdmin/Versioned/install/
data/users.xml
False
/atg/multisite/
SiteRepository
<ATG10dir>/SiteAdmin/Versioned/install/
data/templates.xml
False
/atg/web/viewmapping/
ViewMappingRepository
<ATG10dir>/SiteAdmin/Search/install/data/
viewmapping.xml
False
atg/web/viewmapping/
ViewMappingRepository <ATG10dir>/DPS-UI/install/data/
viewmapping.xml
False
/atg/web/viewmapping/
ViewMappingRepository
<ATG10dir>/DPS-UI/install/data/
examples.xml
False
/atg/userprofiling/
InternalProfileRepository
<ATG10dir>/ARF/BIZUI/data/arf-profile.xml False
/atg/searchadmin/
TopicRepository
<ATG10dir>/DAF/Search/Topics/data/initial/
topics-data.xml
False
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2 2
A p p e n d i x E : A T G S e r v i c e C I M D e t a i l s
μRepository Imported File Ver
/atg/userprofiling/
InternalProfileRepository
<ATG10dir>/Search10.0.2/SearchAdmin/common
/
data/initial/searchadmin-profile.xml
False
/atg/userprofiling/
InternalProfileRepository
<ATG10dir>/Service10.0.2/Service/
common-pub/data/initial/svc_profile.xml
False
/atg/userprofiling/
InternalProfileRepository
<ATG10dir>/Service10.0.2/Service/
common-pub/data/initial/
svc_profile_arf.xml
False
/atg/svc/userprofiling/
ServiceSegmentRepository
<ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_segment_data.xml
True
/atg/svc/option/
OptionRepository
<ATG10dir>/Service10.0.2/Service/Framework
/
data/initial/svc_option_data.xml
True
/atg/svc/ServiceRepository
<ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_solution_data.xml
True
/atg/svc/OfferRepository <ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_initial_offermgmt.xml
True
/atg/svc/ui/framework/
ServiceFrameworkRepository
<ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_framework.xml
True
/atg/epub/process/
ProcessDataRepository
<ATG10dir>/Service10.0.2/
Service/Agent/data/initial/
svc_initial_pub_data.xml
True
/atg/web/viewmapping/
ViewMappingRepository
<ATG10dir>/Service10.0.2/
Service/common-pub/data/
initial/svc_viewmapping.xml
False
/atg/web/viewmapping/
ViewMappingRepository
<ATG10dir>/Service10.0.2/
Service/commonpub/data/
initial/offer_mgmt_
viewmapping.xml
False
/atg/svc/shared/
ServiceSharedRepository
<ATG10dir>/Service10.0.2/
Service/common/data/initial/
svc_initial_data_shared.xml
False
/atg/svc/shared/
ServiceSharedRepository
<ATG10dir>/Service10.0.2/
Service/Agent/data/initial/
svc_initial_data_shared.xml
False
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2 3
A p p e n d i x E : A T G S e r v i c e C I M D e t a i l s
μJTDataSource for Production Server Instance
The following information is configured for the Production JTDataSource, which is the JTDataSource_production data source in the Agent instance.
SQL Files
The following SQL scripts create the production server schema. You must run the scripts in the order they are listed.
1. <ATG10dir>/Service10.0.2/Service/sql/install/vendor/
service_framework_production_all.sql
2. <ATG10dir>/Service10.0.2/Service/sql/install/vendor/
service_production_all.sql
Note: If you are not using a switching data source for your installation, you must also run the SQL scripts for the switching data source on your production schema. See the list of scripts for the switching data source in Switching Data Source Configuration.
Data Imports
The following Production Server instance files are imported from the Service.common start up module:
Repository Import File Versioned
/atg/svc/userprofiling/
ServiceSegmentRepository
<ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_segment_data.xml
False
/atg/svc/option/
OptionRepository
<ATG10dir>/Service10.0.2/Service/Framework/
data/initial/svc_option_data.xml
False
/atg/svc/ServiceRepository <ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_solution_data.xml
False
/atg/svc/ui/framework/
ServiceFrameworkRepository
<ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_framework.xml
False
/atg/svc/OfferRepository <ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_initial_offermgmt.xml
False
/atg/userprofiling/
ProfileAdapterRepository
<ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_profile.xml
False
Imported Files for Management Server Instance
The following repositories are imported for the Management Server instance. These repositories are configured using the SearchAdmin.AdminUI start up module:
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2 4
A p p e n d i x E : A T G S e r v i c e C I M D e t a i l s
μRepository Import File Vers
/atg/searchadmin/
TopicRepository
<ATG10dir>/Search10.0.2/SearchAdmin/common/
data/initial/atgservice-topics-data.xml
False
/atg/search/routing/repository/
SearchConfigurationRepository
<ATG10dir>/Search10.0.2/SearchAdmin/common/
data/initial/atgservice-searchconfig-
data.xml
False
/atg/search/
SearchAdminRepository
<ATG10dir>/Search10.0.2/SearchAdmin/common/
data/initial/atgservice-searchadmin-
data.xml
False
Switching Data Source Configuration
The following configuration is for the optional switching data source add-on for ServiceSwitchingDataSourceA and ServiceSwitchingDataSourceB.
SQL Files
The following SQL scripts create the switching data source schema. You must run the scripts in the order they are listed.
1. <ATG10dir>/Service10.0.2/Service/sql/install/vendor/
service_framework_switching_all.sql
2. <ATG10dir>/Service10.0.2/Service/sql/install/vendor/
service_switch.sql
Run these scripts on both switching data source schemas.
If you are not using a switching data source in your installation, run these scripts on the production schema. See JTDataSource for Production Server Instance.
Data Imports
The following switching data source files are imported from the Service.common start up module:
Repository Import File
/atg/svc/userprofiling/
ServiceSegmentRepository
<ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_segment_data.xml
/atg/svc/option/
OptionRepository
<ATG10dir>/Service10.0.2/Service/Framework/
data/initial/svc_option_data.xml
/atg/svc/ServiceRepository <ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_solution_data.xml
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2 5
A p p e n d i x E : A T G S e r v i c e C I M D e t a i l s
μRepository Import File
/atg/svc/ui/framework/
ServiceFrameworkRepository
<ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_framework.xml
/atg/svc/OfferRepository <ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_initial_offermgmt.xml
/atg/userprofiling/
ProfileAdapterRepository
<ATG10dir>/Service10.0.2/Service/common/
data/initial/svc_profile.xml
Data Warehouse Add On Configuration
The following configurations are for the optional data warehouse used by ATG Customer Intelligence. See more information about the data warehouse in the ATG Customer Intelligence Installation and Configuration Guide.
SQL Files
The following SQL scripts create the data warehouse schema. You must run the scripts in the order they are listed.
1. <ATG10dir>/Service10.0.2/Service/sql/install/vendor/
service_framework_datawarehouse_all.sql
2. <ATG10dir>/Service10.0.2/Service/sql/install/vendor/
service_datawarehouse_all.sql
Note: if you have already created the data warehouse schema, you only need to create the tables that are specific to ATG Service. To create only ATG Service data warehouse tables, run:
<ATG10dir>/Service10.0.2/Service/sql/install/vendor/
service_datawarehouse.sql.
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2 6
I n d e x
μIndex
A access rights, 105, 106, 110, 113, 114, 123, 185
Administrator, 114, 123, 125, 185 agent example, 116 assigning, 127 customizing, 126 direct, 127 global, 202 Internal User, 135 option level, 126 panel, 142 solution, 128, 129, 130 UI, 130
Adaptive Scenario Engine, 25 agent
access right example, 116 access rights, 106, 113 creating new, 121 owning groups, 103 schema, 21 server, 17, 46
answers per page, 139 Arjuna Transaction Manager, 38 asset management, 85
deployment, 32 external file, 134 migrating, 134 sharing external files, 134
ATG Adaptive Scenario Engine, 22 ATG BCC, 72
access rights, 124 ATG Commerce, 18, 316 ATG Commerce Service Center, 18 ATG Configuration and Installation Manager, 28
script example, 319 ATG Content Administration, 17, 19, 22, 25 ATG Customer Intelligence, 18, 54 ATG Data Warehouse, 18 ATG Knowledge, 17
assembling, 66 URL, 72
ATG Reporting, 18, 53 assembling, 67
ATG Search, 17, 18, 22, 25 configuring, 51, 73 content sets, 74 default topic sets, 77 modules, 69
multi-language cofiguration, 75 profile, configuring, 78 remote host, 77 remote port, 77 search environment, configuring, 73 servers, configuring, 80
ATG Self Service, 17 architecture, 22 assembling, 66 URL, 72
ATG Service architecture, 19 dependencies, 17 installing, 27
ATG Service Administration, 22 ATG Ticketing, 17, 149
C CA. See ATG Content Administration CIM. See ATG Configuration and Installation Manager ClientLockManager, 49 content, 17
deployment, 22 structured, 17, 67 unstructured, 17 workflows, 89
content sets, 74 context roots, 315 CRM application, 175
linking ticket to, 180 searching, 182
D data import, 21, 42 data sources, 21
configuring, 36 data warehouse, 57, 62 datawarehouse agent loader, 60 datawarehouse management loader, 59 FakeXAdatasource, 36 JBoss, 38 management, 86 MSSQL, 41 required, 37 switching, 21, 32, 85 XA, 38, 41
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2 7
I n d e x
μdata warehouse, 55
agent server configuration, 59 database, 21 loader server configuration, 61 loader tables, 56 management server configuration, 58 production server configuration, 56 tables, 55 time zone, 63
database, 21 accounts, 31 agent, 21 data warehouse, 21 management, 21 supported, 25 switching, 21
deployment, 17, 83, 87 agents, 84 assets, 32 data source, 86 management cluster, 86 online, 85 solution, 84 switch, 32, 85 topology, 84
DRP port, 45 DYNAMO_HOME, 31, 42
E EAR, 28 encodedFieldData
JSON encoding, 297 environment monitor, 265
components, 267 tickets, 266
environment variables, 25, 31, 35, 42, 43 escalation, 17, 165 event listeners, 87 External Users, 19, 113, 120
assets, 134 segments, 133
F FakeXAdatasource, 21, 36, 37, 39 framework, 20, 233
architecture, 233
G global options, 20 groups, 59, 134
H helpful panels, 138 hot solutions, 138 HttpLinkValidator.properties, 147 HTTPS, 70
I indexing, 18, 81
attributes, 234 bulk, 78 configuring, 73 content, 19 incremental, 74, 78 service, 78
Indexing Output Configuration (IOC), 78 Internal Users, 19, 113
owning groups, 118 roles, 120 segments, 135
J Java version, 25 JAVA_HOME, 31 JBoss, 25
port default, 19 version 4.2, 38 XA data sources, 38
JSON encoding, for solution fields, 297
K knowledgebase, 17
L links
recommendedAnswers, 277 ticket, 175, 180 validating, 147
loader, 28 lock manager, 28, 48, 49
configuring, 49
M makeDynamoServer, 45 management
database, 21 server, 17, 47, 86
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2 8
I n d e x
μmappings, 315 maxThreadCount
configuration property for link validation, 147 messaging, 142 modules, 66, 315
ATG Reporting, 67 ATG Search, 69
MS SQL, 35 XA data sources, 41
O online deployment, 85 options, 20
global, 20 repository, 271 security levels, 126 segmented, 20 site, 20 user, 20
organizational roles, 113, 118, 140 organizations, 117 owning groups, 103, 113
example, 116 Internal Users, 119 Internal Users, 118 parent-child, 118 solution, 106 solutions, setting, 140
P panels, 141
adding, 259 adding slots to, 142 new call default, 140 reviewing security, 142
port defaults, 19 DRP, 45 lock manager, 48 RMI, 45
production data source, 57 database, 21 server, 17, 46
profiles, 134 searching, 78
projects, 104 and user segments, 135
R remote host, 77 remote port, 77 renderers, 141 reports, 54
ATG Knowledge, 54 ATG Self Service, 54 deployment archies, 54 metadata models, 55 roles and groups, 59
repositories, 20 data model, 233 framework, 305 list of, 20 option, 271 service, 288 service segment, 275, 276 service shared, 276 table description, 271 user option, 275 versioned, 85
RMI port, 45 roles, 59, 113, 215
Administrator, 212 assigning, 123 changing rights, 127 default, 120 Direct Access Rights, and, 215 External Users, 120 global, 113, 119, 204 Internal Users, 120 organizational, 113, 118
root topics, 76 runassembler, 65
S scenarios, 134 scheduled services, 170 schema
agent, 21, 31 creating, 32 data warehouse, 31 management, 31 production, 31 scripts, 33 switching, 31, 32
search configuring environment, 73 external CRM application, 182 increase performance, 82 profiles, 78
security, 113 BCC, 124 field, 114 field value, 114 option level, 126 panel, 142 solution, 105, 114 UI, 114 workflow, 105, 114
segmented options, 20 segments, 20, 133
adding, 136 and projects, 135 External User, 133 Internal User, 135
server agent, 17, 46, 49 configuring, 46 creating, 45
A T G S e r v i c e I n s t a l l a t i o n a n d C o n f i g u r a t i o n G u i d e
3 2 9
I n d e x
μloader, 28, 61 lock manager, 28, 48 management, 17, 47 production, 17, 46, 49 search, 73, 80
ServerLockManager, 49 Service Center, 137
display tickets, 171 framework, 254 general site settings, 137
service framework repository, 305 service repository, 288 service segment repository, 276 service shared respository, 276 Shared Data repository, 19 single-sign, 176 site options, 20 site settings, 137 slots, 134, 141
removing from panels, 142 solution, 20
access, 105 access right, 128 attachment security, 130 checking out, 89 classes, 20 deployment, 17, 83, 84 owning groups, 140 status, 107 user preferences, 139 validating links in, 147
SQL files, 33 SSL, 70
and JBoss, 71 status rights, 128 structured content, 17 switch deployment, 85
T tab
adding, 261 new call default, 140 setting default, 139 troubleshooting, 264
target site, 85 initializing, 86
targeters, 134 targeting audiences, 133 ticket, 158
changing external ID, 180 defining activity types, 170 discarding, 155 display active, 157 escalation, 165 ID space, 169 linking to CRM, 180 polling, 154 priority, 168
queues, 150 reason codes, 159 reason context, 158 status, 162 warnings, 149
topic set, 76 topics
categorizing, 77 root, 76 sets, 76
U unstructured content, 17 user option repository, 275 user options, 20 user preferences, 139 user segments, 133
adding, 136 external, 133 internal, 135
V validation, 144
conditional, 146 field, 147 links, 147 widgets, 145
ValidationService.properties, 147 versioned repository, 19 versioning, 17
W web mappings, 315 WebLogic, 25, 43, 71
port default, 19 WebSphere, 25, 43, 72
port default, 19 window scoped failover, 51 workflows, 17, 89
admin, 90, 106 agent, 90 best practices, 111 deleting, 111 deployment targets, 102 elements, 104 import, 90 modifying, 109 security, 105 solution security, 128 solution status, 107
X XA data source, 38, 41