Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Below are the different modules that fall under the category of Control and Configuration, which allows you to make general customizations to your Perspectium application. All of the modules below can be found at Perspectium > Control and Configuration. Explore the following modules to learn more: 

...

titleProperties

...

stylebackground: white

The Propertities module defines the options, settings, and preferences applied to your Perspectium application. 

To configure Perspectiujm's properties, go to Perspectium > Control and Configuration > Properties

In the following sections you can find instructions for customizing your General Settings and DataSync Settings, as well as an overview table of Perspectium properties.

...

titleGeneral Settings

...

stylebackground: white

From the Properties page, click General Settings (Perspectium > Control and Configuration Properties > General Settings)

On the General Settings page, you can:

...

Tip

The application installs a role called perspectium that has access to the Perspectium application's tables. This role can be used to limit ServiceNow users to only have access to the Perspectium application and can be given to a user used with theDataSync Agent to access ServiceNow table schemas in order to replicate accurately and dynamically to external databases.

Image Removed

...

titleDataSync Settings

...

stylebackground: white

...

...

Your DataSync Settings contain the default encryption and decryption keys that are used for shared and subscribed data, as well as various configuration options for your bulk shares and inbound messages.

On the DataSync Settings page, you can:

  • Share display values
  • User a percentage of workers to run concurrent scheduled bulk shares
  • Save Perspectium properties in the sys_properties table
  • Disable inbound messages
  • Enable multiple jobs to process messages in the inbound table
  • Skip updating the sys_domain_path field when subscribing to records
  • Alert before bulk sharing a large number of records
  • Generate unique names for business rules associated with dynamic shares

Image Removed

...

titlePespectium Properties Overview

...

stylebackground: white

Listed are a few of the Perspectium properties needed for the application:

...

Used to send messages to Perspectium Integration Mesh to monitor status of the Perspectium for ServiceNow application. 

(info) NOTE: If the Perspectium application cannot connect to the Default Mesh, this values will toggle to true

...

Specify node to run Perspectium Scheduled Jobs (Warning: Changing from default may affect performance)

(info) NOTE:

  • The value "Default" allows your ServiceNow instance choose which node to run scheduled jobs on
  • This feature is only available on ServiceNow production instances as developer instances only have one node

...

com.perspectium.enable_receipts

...

com.perspectium.outbound.delete_immediately 
(DataSync)

com.perspectium.observer.outbound.delete_immediately 
(Observer)

...

Deletes messages as soon as they are posted to the Integration Mesh, rather than updating them to sent and letting a different process delete the message. 

(info) NOTE: This can be used under systems with high volume to limit the different processes going to the Outbound Message tables. 

...

com.perspectium.replicator.track_shared_records

...

true/false

...

titleStop/Start all jobs

...

stylebackground: white

DataSync for ServiceNow runs several scheduled jobs in the background of your instance. 

...

...

...

...

...

stylebackground: white

...

On the resulting page, make sure to read through what will and won't be done. If it all looks good, click Confirm

Tip

To use this feature, you will need the Admin role. See ServiceNow Roles on how to assign roles. 

...

titleView all scheduled jobs

...

Any MultiOutput jobs you create will also appear here.

...

...

...

...

stylebackground: white

ServiceNow tables maps are used to map and/or transform outbound ServiceNow field data for the record being dynamic shared or bulk shared. If the field names of the record being shared out from ServiceNow need to be modified, or if the value of one or more fields needs to be transformed, you can create an outbound table map to modify the fields for your integration.

...

...

Table maps are typically used in Perspectium Service Gateway integrations. For more information about how to use a ServiceNow table map to transform data being shared out of your ServiceNow instance, see Service Gateway.

...

titleCreate a ServiceNow table map

...

stylebackground: white

Here's how:

...

titleCopy a ServiceNow table map

...

stylebackground: white

Existing table maps, as well as transform maps and all other related mappings, can be duplicated or copied. If you plan to modify any of the Common Table Maps, e.g. Incident to Common Incident, we recommend that you modify a new copied table map. 

Here's how:

...

titleUse scripts to serialize records

...

stylebackground: white

Table maps can be configured to use scripts to serialize the record yourself. Within the script, you can set the variable answer to be the value you want the record to be serialized and returned as. 

This is an advance configuration. Contact Perspectium Support for more information. 

The following variables are available to use:

...

Instructions:

...

titleClick for example of a table map script

...

stylebackground: white
Code Block
languagejs
/*
 * Custom Table Map
 */
 
//Serialize 'current' record into an XMLDocument
var recordSerializer = (typeof GlideRecordXMLSerializer != 'undefined') ? new GlideRecordXMLSerializer() : new Packages.com.glide.script.GlideRecordXMLSerializer(); 
var xmlstr = recordSerializer.serialize(current);
var xmlDoc = new XMLDocument(xmlstr);
 
//Process Display Values As Necessary
var pspUtil = new PerspectiumUtil();
var addDisplayValues = pspUtil.getPspPropertyValue("com.perspectium.replicator.add_display_values", "true");
var currentFieldsOnly = pspUtil.getPspPropertyValue("com.perspectium.replicator.share_current_fields", "false");
if (currentFieldsOnly == "true" || addDisplayValues == "true") {
    addDVFields();
}
 
/*
 * Any extra mapping, to add
 */
 
// Send the XMLDoc string to our answer
answer = xmlDoc.toString();
 
// Helper Functions
 
//Standard DV Field Processing
function addDVFields(){
    var fl = (typeof GlideFieldList != 'undefined') ? new GlideFieldList() : new Packages.com.glide.processors.FieldList();
    var tableName = current.getTableName();
    var fieldNames = fl.get(current.getTableName(),"");
    var arrFields = current.getFields();
 
    for (var i = 0; i < arrFields.size(); i++) {
        var glideElement = arrFields.get(i);
        var ed = glideElement.getED();
        var elName = glideElement.getName();
 
        if (!fieldNames.contains(elName) || (currentFieldsOnly == "true" && tableName != ed.getTableName())) {
            removeElement(elName);
        }
 
        // Create dv fields for reference, choice, or lists
        if (ed.isReference() || ed.isChoiceTable() || ed.getInternalType() == "glide_list") {
            addElement("dv_" + elName, glideElement.getDisplayValue());
        }
 
        if (!glideElement.hasValue()) {
            continue;
        }
    }
}
 
//Remove an element from xmlDoc
function removeElement(elName){
    var nn = xmlDoc.getElementByTagName(elName);
    if(nn && nn.parentNode) {
        nn.parentNode.removeChild(nn);
    }
}
//Add an element from xmlDoc
function addElement(elName, elValue){
    xmlDoc.createElement(elName, elValue);
}

...

titleAdd a table map to your ServiceNow dynamic share/bulk share

...

stylebackground: white

...

Outbound table maps are used to map and/or transform the outbound ServiceNow field data for the replicated records. You should use Outbound table maps if the field names of the replicated record from ServiceNow need to be modified, or if the value of one or more fields needs to be transformed. Once the Outbound table map is configured, it can be assigned to a dynamic share or bulk share by selecting it in the Table Map field on corresponding forms. See Add a table map to your ServiceNow dynamic share/bulk share.

Outbound table maps are utilized and packaged per integration. See ServiceBond for all the different Perspectium supported applications that uses Outbound table maps.  

Inbound Table Maps

Inbound table maps direct messages to an Import Set Table where a ServiceNow Transform Map will do the processing. These configurations are used to map inbound replication messages to a ServiceNow table based on the Topic and Type specified in the message. For example, a record coming in with the “topic=siam” and the “type=common_incident” will be mapped to the “u_psp_common_incident” Import Set Table. The corresponding Transform Map will then process the message appropriately.

Explore these features:

...

titleAdd a table map to your ServiceNow dynamic share/bulk share

...

stylebackground: white

ServiceNow table maps are typically used in Perspectium Service Gateway integrations to handle the mapping of fields in certain ServiceNow tables as data is shared out of your instance. You can include a table map as part of your ServiceNow dynamic share or bulk share to help with field mappings and data transformation.

(info) NOTE: When using a table map with a dynamic share, the dynamic share will trigger based on trigger conditions (i.e. create, update or filter conditions). So this may result in a dynamic share being triggered when a particular field is updated that is not in the table map. As a result, the table mapped record shared out may not have any updated content since all the fields mapped have not changed. To avoid this scenario, use the Share or ignore on specified field updates option.

(info) NOTE: If a table map is set, records with an attachment or message size greater than 5 MB will not be shared out due to ServiceNow platform limitations with how large one particular record can be.

Prerequisites:

Instructions:

...

titleCustomize your target database schema using table maps

...

stylebackground: white

By default, data replicated from existing tables will automatically create the same schema at the replicated database. The targeted database schema of replication needs to be flexible and customized in certain situations, such as: 

  • An existing schema that the replicated data need to fit in
  • A need to rename the field names or transform the field values using script at the source
  • The resulting field types need to be modified to a specific type or field length

Customizing target database schema is done by using table maps in your dynamic share or bulk share

Prerequisites:

Instructions:

...

Code Block
languagesql
themeEclipse
mysql> describe common_incident;
+---------------------+--------------+------+-----+---------+-------+
| Field               | Type         | Null | Key | Default | Extra |
+---------------------+--------------+------+-----+---------+-------+
| state               | mediumtext   | YES  |     | NULL    |       |
| short_description   | varchar(160) | YES  |     | NULL    |       |
| description         | mediumtext   | YES  |     | NULL    |       |
| priority            | mediumtext   | YES  |     | NULL    |       |
| attachments         | mediumtext   | YES  |     | NULL    |       |
| category            | mediumtext   | YES  |     | NULL    |       |
| correlation_id      | varchar(100) | YES  |     | NULL    |       |
| number              | varchar(40)  | YES  |     | NULL    |       |
| correlation_display | varchar(100) | YES  |     | NULL    |       |
| caller_id           | mediumtext   | YES  |     | NULL    |       |
| caller_email        | varchar(100) | YES  |     | NULL    |       |
| caller_full_name    | mediumtext   | YES  |     | NULL    |       |
| comments            | mediumtext   | YES  |     | NULL    |       |
| sys_id              | varchar(224) | NO   | PRI |         |       |
| work_notes          | mediumtext   | YES  |     | NULL    |       |
+---------------------+--------------+------+-----+---------+-------+
15 rows in set (0.00 sec)

(info) NOTE: Even though we specified the number field as the required Sys ID (GUID) field in the table map, the number field does not become the GUID. Instead, the sys_id field is created as GUID (PRI key) and contains number values to be used for lookup during updates/deletes. This is consistent with replicating database views.

...

stylebackground: white

...

titleProperties

...

stylebackground: white

...

titleProperties

...