Softdial Publisher™ is a generic tool for building ETL (Extract, Transform, and Load) processes for the call center, as well as serving real-time report data to customers. This document focuses on the default SQL data model used for storage of session and agent data.
The original intention behind Publisher was to deliver a tool that users could configure to
Publisher uses XSLT as a translation mechanism. End-user configuration requires a degree of learning effort and knowledge of XSLT. To bridge this knowledge gap, a standard data model based on the SQL model for Sytel's first-generation reporting suite was produced, and a set of XSLT transformations developed (in the Softdial/PUB/Primary/xml/xslt folder) to deliver this data set.
Not all of the transformations in this folder are used to populate the standard set of SQL tables.
Many Softdial users modify this data set to suit their specific requirements.
The default configuration for Publisher writes this data to a MySQL database, but Publisher is able to output data to any relational store.
The SQL schema provides what Sytel believes is a best-fit normalisation of call center event data relating to:
The tables (see SQL Table Definitions) are updated on completion of an event cycle, e.g:
Each tenant requires their own set of tables. This means that either a separate database instance must be created per tenant, or each tenant needs to have their own schema within a database instance.
Schema-per-tenant is the model most common with users. This minimises DBMS licensing costs and it makes for a simpler model for database replication as there is only 1 instance to replicate for multiple tenants.
The default DSN is SccReporter. On installation, this is configured to point to the pre-configured mySQL database (accessible from http://localhost/apanel - Tools - phpMyAdmin).
The mySQL based reporting database is intended for demo and training purposes only and should not be used in production.
After setting up the production database and configuring the DSN, Publisher must be set up to use the new DSN, as follows:
<!-- The ODBC DSN name -->
<param name="dsn" value="SccReporter"/>
<!-- The ODBC DSN username -->
<param name="user" value="root"/>
<!-- The ODBC DSN password -->
<param name="psw" value="root"/>
<!-- -->
<param name="transaction" value="true"/>
<!-- -->
<param name="document expiry days" value="30"/>
<!-- The database type e.g. MySQL, MSSQL -->
<param name="dbtype" value="MYSQL"/>
The transformation files use rules and parameters that are defined in the rules.xml file (also located in Softdial/PUB/Primary/xml).
The schema described is as per the default implementation. It is possible to modify every detail of this implementation.
Common possibilities are:
Date & time values can be extracted from the SDMP messages to populate fields in the way appropriate for your needs.
This is done by including Sytel code via an XSLT Extension, declared in the stylesheet as follows:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sytel="sytel:Extension">
This gives access to the following methods:
Method | Output | ||
---|---|---|---|
Universal (UTC) | Local | Type | Example |
yearfromoautc | GetLocalYearFromOAUTC | int | 2021 |
monthfromoautc | GetLocalMonthFromOAUTC | int | 11 |
dayfromoautc | GetLocalDayFromOAUTC | int | 30 |
hourfromoautc | GetLocalHourFromOAUTC | int | 17 |
minutefromoautc | GetLocalMinuteFromOAUTC | int | 26 |
secondfromoautc | GetLocalSecondFromOAUTC | int | 36 |
- | GetOALocalFromOAUTC | double | 44530.726805556 |
Date/ time options above are offered in 2 categories:
Local here refers to the location of the Reporting server.
For more on translating UTC to local time zone, see http://earthsky.org/astronomy-essentials/universal-time.
Usage can then follow this pattern:
<xsl:param name="Z0"/>
<xsl:value-of select="sytel:GetLocalDateAndTime($Z0)"/>