Skip to main content

CSA Plugin Overview

This page provides details and information on the CSA plugin.

What is the CSA Plugin?

The CSA plugin is a user agent that allows customer service agents (middle office users) to access both customer and account details. Existing accounts can be serviced and new accounts can be created using very simple flows, all accessible through a simple and intuitive user interface.

Technical Design Ethos

The CSA plugin follows this design ethos:

  • Web components are defined to render each "card" visible to the user
  • Web components are defined on a more granular level where necessary or when reusability is possible
  • Data only enters web components via attributes (properties)
  • Data is only received from web components via events (event.detail payload objects)
  • CSA web components do not currently have public methods (this may change in the future).
  • CSA employs “vanilla-router” as a mechanism for navigating between pages/cards/popups, the basic page skeleton is not normally re-rendered
  • Web components themselves only handle the rendering of the page and simple validation. Accordingly, most have a corresponding "router" helper JavaScript library that manages transitions from vanilla-router, monitors for component events and initiates API calls and defines callback routines.

It is planned to create a base class for CSA web components that will implement common functionality and ensure consistency

Source Code

Main Folder

The CSA plugin souce code is located in the following folder within the Temenos Explorer repository:

/TemenosExplorer/public/plugins/CSA

Sub-Folders

The CSA plugin contains various sub-folders:

Sub-FolderDescription
./BaseJs/Local copy of Javascript libraries (including UUX) for standalone use only
./config/Configuration required by the Temenos Explorer framework
./css/Styling
./dist/Bundled JavaScript (output of webpack build)
./images/Images
./js/JavaScript before bundling
./src/Main source code

Key Pages

There are some key pages within the CSA plugin whose source code is located in ./src/ in named sub-folders. These pages are accessed by the specified route.

Sub-FolderRouteDescription
./customer-search-criteria/criteriaThe page where the user enters the customer search criteria
./customer-search-results/resultsThe page which shows the customer search results
./customer-overview/customerThe page which shows the customer overview
./account-details/accountThe page which shows the account details

There are other pages which follow a similar naming convention and should be simple to locate.

Configuration

The CSA plugin has a single configuration file which is used in addition to the default Temenos Explorer configuration files:

/TemenosExplorer/public/plugins/CSA/CSA_config.js

This configuration file specifies the location of APIs among many other settings. The values will need to be configured on-site after delivery.

NB: for WAR deployments, see/consider ConfigServlet as a possible alternative to the direct use of the CSA_config.ts file mentioned above)

PropertyTypeDescription
loggingBooleanControls whether debug logging occurs
MOCK*BooleanControls whether mock data for the specified application is used
OVERVIEWSCREENINFINITYTABSBooleanControls whether customer overview shows tabs relating to Infinity Spotlight
AUTH*StringAuthorization API keys for microservices
CODE*StringQuerystring code= API keys for microservices
SESSIONTIMEOUT*StringSession timeout period, no longer used when CSA is run inside Temenos Explorer
MAXRECORDSStringMaximum number of records requested from the Party microservice when searching for a customer
KEYCLOAK*StringKeycloak server information, no longer used when CSA is run inside Temenos Explorer
TRANSACTSYSTEMStringIndicates if connecting to Transact (no functionality is currently conditioned on this flag)
TRANSACTURLStringRoot URL of Transact JBoss
APIPREFIX*StringPrefix of APIs used throughout CSA
APISUFFIX*StringSuffix of APIs used throughout CSA
URL*StringUXP Browser URLs, no longer used
INFINITYASSISTROOTURLStringRoot of Infinity Assist, no longer used
DOCUMENTROOTURLStringRoot URL of Document Management System (see View Documents functionality)
SRMSROOTURLStringRoot URL of SRMS (currently uses SRMS mock server)
FONTStringDefault font
DIRECTIONStringDefault text direction, now controlled by the Temenos Explorer framework
LANGUAGEStringDefault language, now controlled by the Temenos Explorer framework
ENHANCEDACCESSIBILITYStringNot used

Multiple Customers

The CSA plugin permits the user to open five customers at the same time and easily switch between them. Consequently, CSA has to make sure that the correct data is displayed for the current customer.

A JSON object handles this data and is stored in the browser session storage under the key tabData. API response data for each card/page is held as a sub-object so that it can always be recalled when necessary.

In addition, a "Find Customer" tab is always available and its data is stored in a JSON object which is also stored in the browser session storage under the key searchData.

In addition to the tabData and searchData objects being stored in session storage they are also stored as normal JavaScript variables. This enables CSA to restore the state of these variables when the user presses F5 or they select a new role or language that necessitates a reload of the CSA plugin.

For more information on session storage, please see the state management reference.