Once you have installed and configured DataSync for ServiceNow, and have become familiar with creating dynamic shares and bulk shares, there are various optional settings that you can configure. There are optional features for dynamic shares and optional features for bulk shares, but there are also a range of features that apply to both dynamic shares and bulk shares. 

These optional features can help you customize your DataSync experience and leverage DataSync's robust capabilities to make your organization's integration processes more powerful and streamlined.


What's on this page?

Explore all of these available features below!




Sharing Setup

When setting up a bulk share or dynamic share, one of the settings to configure is the Sharing setup. This setting determines what records are sent out with the share. There are three options: Share table records onlyShare all table records and child records, and Share the last descending child of each table record. The last option is set as the default. Scroll down a bit for a breakdown of each option. You can also read more about this setting at Replicating ServiceNow's Parent Child Hierarchy.

You can set this feature how you desire at the time of creating your dynamic share or bulk share Here's how to change the setting:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to change the sharing setup for.

  3. In the resulting dynamic share or bulk share page, in the General Settings section, use the Sharing setup dropdown to select the option you want.

  4. Click Update.

Share table records only

This feature allows you to share only records for the table you select in your setup of a dynamic or bulk share. Otherwise, by default, shares will share records for the table you select, as well as the last descending associated child records for that table. So, this feature disables the sharing of those associated child records and shares the base table only. 

For more information on this, see Replicating ServiceNow's Parent Child Hierarchy.

Click to reveal an example

Consider this image:

In this example, if you were to share the cmdb_ci table, and you enable this feature, then the subscribing instance would receive only the cmdb_ci records (the red circle), and not the associated cmdb_ci_hardware, cmdb_ci_computercmdb_ci_server, and cmdb_ci_linux_server records.

Share all table records and child records

This feature allows you to share all child records associated with a table, in addition to the table records themselves. Otherwise, by default, shares will share records for the table you select, and the last descending associated child records for that table. So, this feature enables the sharing of all associated child records along with the base table. 

Please note that using this option for dynamic share may result in slowed performance in your ServiceNow instance when using business rules. 

For more information on this, see Replicating ServiceNow's Parent Child Hierarchy.

Click to reveal an example

Consider this image:

In this example, if you were to share the cmdb_ci table, and you enable this feature, then the subscribing instance would receive all associated child records (cmdb_ci_hardware, cmdb_ci_computercmdb_ci_server, and cmdb_ci_linux_server records as represented by the red circles).

Share the last descending child of each table record

This feature for dynamic shares and bulk shares allows you to share only child records that are directly associated with the chosen table, in addition to the table records themselves. This is the default option.

For more information on this, see Replicating ServiceNow's Parent Child Hierarchy.


Click to reveal an example

Consider this image:

In this example, if you were to share the cmdb_ci table, and you enable this feature, then the subscribing instance would receive the child records that are the lowest descendants of the parent-child hierarchy (as represented by the red circles)

↑ Go to top of page




Conditional shares

This feature allows you to create conditional shares that can be used to share records to multiple target queues and/or using multiple table maps.

Conditional bulk shares will share out records that meet your specified conditions once at a specified time.

Conditional dynamic shares will share out records that meet your specified conditions as records are created, updated, and/or deleted.

When using a table map with a dynamic or bulk share (including conditional shares), the Sharing setup will default to Share the table records only. If you were to use a Sharing setup of Share all table records and child records with a table map, this will cause duplicate records for a parent and its child records to be sent out since table maps will map all the records to the same target table name.

Here's how to create a conditional share:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to configure.

  3. In the resulting dynamic share or bulk share page, in the Runtime Settings tab, under the Triggers section, check the Conditional share box. This will reveal a PSP Conditional Shares tab below the Related Links section.



  4. Click the new PSP Conditional Shares tab, and then click NewIf using Google Chrome, you may see a popup asking if you want to leave the site—click Leave.

  5. On the resulting page, use the Target Queue field and the search icon to select a target queue for the conditional shares.

  6. (Optional!) Check the Use Table Map box if you want to use a table map for your conditional share, and use the search icon to find and select the table map you want to use.



  7. Now, you're ready to set conditions for the share:

    1. Click the lock icon next to Domain, and then the search icon to choose a domain. (info) NOTE: To prevent invalid GlideRecord queries, as of Iodine 7.0.12, if the table does not have a sys_domain field, the Domain option will not be available.
    2. To share out all records in all child domains that match the filter conditions you create, check the Share as Child Domain box.
    3. Next to Condition, use the choose field dropdown to choose a field that you want to add filter conditions to. Then, choose an operator and value for that filter. To check which operators are available for ServiceNow field types, see operators available for filters and queries.
    4. To add more conditions, click Add Filter Condition and repeat Step 7c. To add a conditional "or" clause, click Add "OR" Clause instead. 
    5. (Optional!) Click in line with any of the filters if you want to remove that filter.
    6. (Optional!) Use the Company field to find and select a company to filter on, if you want to filter the conditional share by company.
    7. (Optional!) Use the Test Record option to choose a record to test your conditional share for.

  8. Finally, when your conditions for the share are set, click Submit.

  9. Back in the dynamic share of bulk share page, click Update. Or, if it's a bulk share, you can click Execute Now. Or, if it's a dynamic share, you can click Run a Bulk Share to run your conditional share as a bulk share first before dynamically sharing records based on the conditions you set.


↑ Go to top of page




ServiceNow attachments

Include attachments

This feature allows you to sync your ServiceNow attachments along with your dynamic share or bulk share. Here's how:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to configure.

  3. In the resulting dynamic share or bulk share page, in the Runtime Settings tab, under the Additional Records section, check the Include attachments box.

  4. Click Update

SOME NOTES:

  • Attachment deletes are not currently supported through the Include attachments option
  • ServiceNow does not support .twb and .twbx attachment.
  • If using a dynamic share, you may want to share out previously uploaded attachments that were updated before your dynamic share was created.
  • After enabling the Include attachments option, shared records from the sys_attachment and sys_attachment_doc tables will be put into outbound messages in the u_psp_attachment_out_message table before being shared out of your source instance.
  • You can also share ServiceNow attachments with only specific file extensions.

Include embedded images or videos

This feature allows you to include embedded images and videos within dynamic shares or bulk shares, so that the subscribing instance(s) to display these images/videos properly when displaying the selected table's records.

This feature is only available for tables that have HTML or Translated HTML field types that support embedded images and videos (for example, the kb_knowledge table). For any other field types (such as String), embedded images/videos will not be shared out properly. For more information on this, see HTML field type.

If the images or videos you want to embed are categorized as an Attachment type, then you can simply use the Include attachments option. Otherwise, here's how to include embedded images/videos:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to configure.

  3. In the resulting dynamic share or bulk share page, in the Miscellaneous tab, check the Include embedded images/videos box.

  4. On the subscribing ServiceNow instance, you must subscribe to the follwing tables in order for embedded images/videos to be properly synced between instances:

    • db_image
    • db_video
    • sys_attachment
    • sys_attachment_do

  5. Click Update


If you are re-sharing a record that a subscribing instance previously received and is showing broken images/videos (because the first time sharing didn't properly share these embedded images/videos), you will need to clear your browser's cache after the subscribing instance receives the re-shared messages for these images/videos to properly display. ServiceNow caches embedded images/videos, even ones that were previously broken but are now fixed.


↑ Go to top of page




ServiceNow work notes and comments

This feature allows you to include work notes and comments, referred to as journal fields in ServiceNow, in your dynamic shares and bulk shares. This feature requires you to configure a ServiceNow instance as a subscriber.

Here's how:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to configure.

  3. In the resulting dynamic share or bulk share page, in the Runtime Settings tab, in the Additional Records section, check the Include journal fields AND the Include audit log boxes. You must check both of these boxes in order to accurately update the history/activity log on your subscribing ServiceNow instance. For more information about how this works in ServiceNow, see journal fields and audit logging.

  4. (Optional!) Upon checking the Include audit log box, it will reveal a Filter audit fields box—if you want, you can check this box in order to specify which audit log records to be shared out. This option is helpful if you want to share out only audit records that are related to specific fields on the table being setup for this share. For example, if you are setting up a dynamic share on the Computer (cmdb_ci_computer) table and only want to share out audit records for changes on the Name (name) field.

    In order to filter the audit fields, check the Filter audit fields box, which will reveal a Filter Audit Fields tab in the table at the bottom of the page. Click New and in the resulting Share Field page, choose the field that you want to filter and share out audit records on. You can add as many fields as you wish.

    If you have checked the Filter audit fields box, but don't add any specific fields, then no audit records will be shared at all. If you want to share audit records, but don't need to specify  filters, then make sure to leave that box unchecked.



  5. Click Update.


SOME NOTES:

  • As a default, when Include journal fields is selected for a dynamic share, a maximum of 100 comments and work notes records and a maximum of 200 audit log records will be dynamic shared. This limit can be adjusted by changing the system property com.perspectium.dynamic.sys_journal_field.limit. Bulk sharing of comments, work notes, and audit logs are not restricted by these limits.
  • A new default limit of 200 is also set for dynamically sharing audit log records. This limit can be adjusted by changing the system property com.perspectium.dynamic.sys_audit.limit. Bulk shares are not restricted by these limits.
  • With DataSync Agent, the Include journal fields option will create the sys_journal_field table on the target database. The Include audit log will also create the sys_audit_log on the target database. However, be aware that this option has the potential to contain a huge amount of data

↑ Go to top of page




View names

This feature allows you to control the number of fields being shared out from your ServiceNow table. Otherwise, by default, dynamic shares and bulk shares will share all fields available in a table. To enable this feature, you'll want to create a form view, and then personalize it. For information on how to do this, see personalize a form.

Here's how to configure a share so that it shares only specific fields:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to configure.

  3. In the resulting dynamic share or bulk share page, in the Miscellaneous tab, use the View name field to type your form view name.

  4. Click Update


↑ Go to top of page




Referenced field records

This feature allows you to share field records that are related to the base table you are dynamic or bulk sharing. For example, if you are dynamic sharing the Incident table, you can use this feature to share the referenced fields Assigned To User (sys_user) and Configuration Item (cmdb_ci) for each incident record. 

Here's how to enable the feature:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to configure.

  3. In the resulting dynamic share or bulk share page, in the Runtime Settings tab, check the Include referenced field records box. This will add a Referenced Field Records tab at the bottom of the page. 

  4. Click the Referenced Fields Records tab, and click either Add all referenced fields to add all fields that are referenced by the base table you are sharing, or click New if you want to manually select the specific fields.
    1. If you press New, you'll be taken to a new form where you can manually select the Field you want. If using Google Chrome, you may see a popup asking if you want to leave the site—click Leave. Once you've added the Field, click SubmitRepeat Step 4a for as many fields as you want.

  5. Back in the dynamic share or bulk share page, click Submit.


↑ Go to top of page




Before/after share scripts

The before share scripts feature allows the current record being share out to be processed after it is loaded into a GlideRecordbut before it is encrypted and queued up to the Perspectium Cloud Server. Before share scripts expect server-side javascript and is preconfigured with a globally available variable called current, which is the GlideRecord object that is going to be shared.

Because before share scripts are executed every time a record is shared, be aware of the processing delays introduced that will be multiplied when sharing multiple records at the same time. Also, if you have multiple share configurations for the same table (such as different share configurations that each have a different target queue), any changes to the current object may affect any conditions you have to share since this same current object is referenced as we iterate through the table's different share configurations.

The after share scripts feature allows you to specify a script that will run after your dynamic share or bulk share has shared a record. This can be useful for when you run scripts in the before share script for your dynamic/bulk share that you want to then cancel out after the share has run.

Variables to use

Click to reveal which variables to use

Variables to use


Variable

Description

Accessible in Before share script

Accessible in After share script

psp_action

To specify the “action” value of records being shared. The “action” is the value that appears after the table name in the “name” field of outgoing DataSync messages. For example, action is “insert” in “incident.insert” (for records being inserted), “update” in “incident.update” (records being updated) and so forth. This is useful for integrations with other systems where you want the table to designate a different action from the default one ServiceNow specifies.

Say you are integrating with another system and using the correlation_id to designate the incident record's number in the other system. If there was a failure creating the incident in the other system and you do an update to the incident in ServiceNow, instead of sending the record as an “update”, you may want to send it as an “insert” instead so as to create the incident in the other system this time. The following script will accomplish this by setting action to “insert” when the correlation_id field is not populated:

if (current.correlation_id == null || current.correlation_id == "") {
    psp_action = "insert";
}

(tick)(tick)

share_gr

To access the bulk and dynamic share records themselves from the Before Share Script.

For example, the following will log the value of the current bulk/dynamic share record's system id:

gs.log(share_gr.sys_id);

(tick)(error)

previous

To access the previous record in a dynamic or bulk share (ie, a record before it has been modified).

For example, the following script will log the value of the previous record’s short description:

gs.log(previous.short_description);

(info) NOTE: You can only access the previous variable when the Business Rule When is set to before or after under Trigger Conditions of the dynamic. In addition, the information above only applies to dynamic shares; the data shared in a bulk share is historical and will not have been modified.

(tick)(tick)

psp_key

To access the key value of the outbound message, you can change the psp_key global dynamically.

To enable, turn off com.perspectium.validate_mismatch_key in your Perspectium properties.

// run on before share
psp_key = "custom_client";

(tick)(error)
psp_name

By default, the name field in the outbound message consist of the table name followed by the action, i.e. incident.insert. With psp_name, you can change the table name in the name field before the outbound message is sent. 

psp_name = "custom_name";

This global variable is helpful for cases like sharing archived records as deleted records from the original table to delete records in a database. See below steps: 
1

Create bulk share on an archived table
2

Set Before share script as:

psp_action = "delete";
psp_name = psp_name.substring("ar_".length);


3

Check Share only selected fields and add sys_id in the Share Fields related list. 

(warning) WARNINGThis is NOT recommended to change when sharing records from a table for the first time/creating a new table in the database.

(info) NOTEIf you are using custom schema, the value set in psp_name will get edited to have the custom schema’s table prefix/suffix:

  • This is intended to be used with DataSync Agent only
  • Must be a valid table name
(tick)(error)
ignore

To prevent the current record from being shared in a dynamic or bulk share, you can set the variable ignore to true in the Before share script.

For example, the following script ignores the dynamic sharing of an incident record when the priority field value is 1:

if (current.priority == 1) {
    ignore = true;
}

(tick)(error)

Create before or after share scripts

Here's how to create before and/or after share scripts:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to configure.

  3. In the resulting dynamic share or bulk share page, click the Scripting tab.

  4. Type your before and/or after share script in the appropriate field. For some scripting examples, see the next section.

  5. Click Update

Examples of before and after scripts to use

Cancel a share if only one field has changed

For cases where you have a table's records updated frequently but data doesn't actually change (such as a table that gets updated every single day via another integration or ServiceNow Discovery), you may not want the table's dynamic share (with interactive only not selected) to run and share out any records.

For example, say the field that gets updated every day is u_last_discovered_date. The rest of the fields don't usually change, and you don't want to share these records out again since the subscribing side (such as a database) doesn't really need the latest u_last_discovered_date.

In these cases, you can run the following script to ignore sharing the record:

function listChangedFields(obj){
	var flds = [];
	var aud = new GlideRecord("sys_audit");
	aud.addQuery("documentkey", obj.sys_id);
	aud.addQuery("record_checkpoint", obj.sys_mod_count);
	aud.query();
	while (aud.next()){
		flds.push(aud.getValue("fieldname"));
	}
	return flds;
}

var changedFields = listChangedFields(current);
var ignoreFields = ["priority", "urgency"]; // If any changed field falls outside that list, the update will be sent

ignore = true;

var util = new ArrayUtil();
for (var i=0; i<changedFields.length; i++){
	if (!util.contains(ignoreFields, changedFields[i])) ignore = false;
}
Canceling bulk share in a before share script

The Before bulk share script section also allows you to cancel a bulk share from running if your script contains:

cancel = true;

That is, if after evaluating the script, there is a cancel variable and its value is set equal to true, then the bulk share will cancel from running.

This may be useful for when you only want the bulk share to run if certain conditions are met and you prefer to create/check for these conditions using server side javascript instead of the condition builder.

Specifying a foreign language in a dynamic share after share script

Use the Before and After share script sections together to specify a language to share out records in.

In the Before share script, you would have the following script so all records shared out will have English translated text (for fields that support translation as mentioned in the language link above):

var lang = gs.getSession().getLanguage(); 
var gc = (typeof GlideController != 'undefined') ? GlideController : Packages.com.glide.script.GlideController;
gc.putGlobal('user_lang', lang);
gs.getSession().setLanguage("en");

In the After share script, you would cancel this change so it doesn't affect users who are using the system and want to see translations in their selected language:

var gc = (typeof GlideController != 'undefined') ? GlideController : Packages.com.glide.script.GlideController;
var userlang = gc.getGlobal('user_lang');
gs.getSession().setLanguage(userlang);
Share only Sys IDs listed with a specific query condition

When you have a ticket bulk share where you want to use the Share only Sys IDs listed feature and want to populate the sys id related list with sys ids of tickets that meet a query condition such as a state of open, you can write a script using the PerspectiumBulkShare API in the Before bulk share script as follows:

var pBS = new PerspectiumBulkShare(bulkshare_gr);
var tgr = new GlideRecord('ticket');
tgr.addQuery('state', '1');
tgr.query();
while(tgr.next()){
    pBS.addSysId(tgr.sys_id);
}

Please note, when using the PerspectumBulkShare.addSysId() function and adding sys ids to the bulk share's sys id related list, only sys ids of the table specified in the bulk share should be added. The Share only Sys IDs listed feature only queries the table listed in the bulk share for these sys ids so if you specify sys ids of a different table they will not be found. In the above code sample, the bulk share is for the ticket table so you would only want to add sys ids of ticket records using PerspectiumBulkShare.addSysId().

↑ Go to top of page




Create filter conditions for a dynamic share or bulk share

This feature allows you to share data only when certain conditions are met. You can also set up filter conditions for table mapsFor more information about creating filter conditions in ServiceNow, see condition builder.

Here's how to create filter conditions for a ServiceNow dynamic share or bulk share:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to configure.

  3. In the resulting dynamic share or bulk share page, click the Runtime Settings tab, and go to the Triggers section.

  4. Next to Condition, use the choose field dropdown to choose a field that you want to add filter conditions to. Then, choose an operator and value for that filter. To check which operators are available for ServiceNow field types, see operators available for filters and queries.
    1. To add more conditions, click Add Filter Condition and repeat Step 4. To add a conditional "or" clause, click Add "OR" Clause instead. 
    2. (Optional!) Click in line with any of the filters if you want to remove that filter.

  5. Click Update.


↑ Go to top of page




Encryption mode and encryption method

Perspectium supports multiple ciphers to encrypt your data when being shared out of your ServiceNow instance. The default cipher is TripleDES

You can set a different encryption cipher for your entire instance via the Properties module (Perspectium Control and Configuration > Properties > DataSync Settings), OR you can set it when you create a shared/subscribed queue. You can also choose which encryption mode to use.

There available encryption modes are:

Mode

Description

encryptedData is encrypted then base64 encoded
encrypted_multibyteData is base64 encoded then encrypted 

(warning) If you choose encrypted_multibyte as your encryption method in the DataSync Settings, you must set your shared queue as encrypted_multibyte as well. 

And if you are going to change the encryption key, make sure to follow these requirements:

Encryption Method

Required Encryption Key length

TripleDES

At least 24 characters
AES-128At least 24 characters 
Base64 Encode OnlyAt least 24 characters 
AES-25632 characters or more

SOME NOTES:

  • When changing the encryption key, make sure to remove the preexisting key and add the new key. 

  • In certain ServiceBond, AES-128 encryption may be a required cipher. However, in general, ServiceNow's default TripleDES encryption algorithm is sufficient for most ServiceBond. Contact Perspectium Support to determine your application endpoint's specific encryption requirements.

  • To ensure that foreign language strings are replicated properly between ServiceNow, instances require that encrypted_multibyte encryption mode is selected on the source instance.

  • To ensure that foreign language strings are replicated properly to your target database via a SQL DataSync Agent, you must configure your database connection string for UTF-8 character encoding. For example, agent.xml config is modified with <database_parms> for MySQL subscriber to add the parameter characterEncoding=UTF-8.
<subscribe>
            <task>
            	<task_name>multibyte_tester</task_name>
            	<handler>com.perspectium.replicator.sql.SQLSubscriber</handler>
             	<amqp_queue>psp.out.replicator.dloo_mac</amqp_queue>             
                <decryption_key>The cow jumped over the moon</decryption_key>
                
                <database_server>127.0.0.1</database_server>
                <database_user>xxx</database_user>
                <database_password>xxx</database_password>
                <database_port>3306</database_port>
                <database_type>mysql</database_type>
                <database_parms>autoReconnect=true&characterEncoding=UTF-8</database_parms>
                <database>psp_repl</database>
            </task>
        </subscribe>

↑ Go to top of page




View records processed

This feature allows you to see a breakdown of the total number of records processed and shared out on a dynamic or bulk share, including the number of auxiliary records shared if options such as Include attachments are activated. 

Here's how to view the records processed:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to review.

  3. Scroll down to the Records Processed tab in the table at the bottom of the page. The tab will only appear if you have already executed the share (otherwise there will be no records sent yet).



↑ Go to top of page




Notes

This feature allows you to include simple notes for internal communication/organizational purposes. Here's how to access:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share.

  3. Click the the Miscellaneous tab to find the Notes field.


↑ Go to top of page




Switch form views

This feature allows you to switch between two "view" options when it comes to forms such as on a dynamic share or bulk share page.

The Simple view is designed to simplify configuration selections when creating a bulk and dynamic share. This view will contain commonly used features you can use to customize share configurations. When creating a new share configuration, you will be automatically redirected to the Simple view of that form.

The Standard view is a designed version that offers improved organization and a more intuitive user experience. 

To check what view you're on, check the top of your dynamic share or bulk share page. If you are in the new view, it will say Shared He20 Standard view. Here's an example of a new view:

You may prefer one style over the other. Here's how to switch between the simple and standard view:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share > View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share that you want to update.

  3. Scroll down to the Related Links section and click either Simple view or Standard view.


↑ Go to top of page




Add display value language

This feature allows you to change the language of display values in your sharing instance. This feature only works for language translations that have been downloaded on your instance. 

There are a couple things you need to do first in order to make use of the feature:

(tick) First, you need to activate the language plugin in your ServiceNow instance.

(tick) Then, you need to Enable DataSync to add display value fields for reference and choice fields (prefixed with 'dv_' by default)

Finally, you're ready to set up your dynamic or bulk share to add display value languages:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share you want to enable the feature on.

  3. Click the the Miscellaneous tab and check the Advanced box. This will reveal a new Advanced tab (if the Advanced box wasn't already checked).

  4. Click the Advanced tab and check the Add display value language box, then select your desired language from the Display value language field.

  5. Click Update


↑ Go to top of page




Data obfuscation

This feature allows your to create obfuscation rules for your dynamic/bulk shares per the the General Data Protection Regulation (GDPR). This is useful for cases where you want to "mask" data contained in your share that may be classified as sensitive.

Reference fields can not be obfuscated due to limitation of ServiceNow.


Here's how to make use of data obfuscation:

  1. In your sharing ServiceNow instance, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share View Dynamic Shares or View Bulk Shares.

  2. Find and click into the dynamic share or bulk share you want to enable the feature on.

  3. Click the the Miscellaneous tab and check the Advanced box. This will reveal a new Advanced tab (if the Advanced box wasn't already checked).

  4. Click the Advanced tab and check the Enable data obfuscation box.

  5. Scroll down to the table at the bottom of the page and click the PSP Data Obfuscations tab. This will only be available if you have checked the box in Step 4.

  6. In the PSP Data Obfuscations tab, click New. If using Google Chrome, you may see a popup asking if you want to leave the site—click Leave.

  7. Type any Name for your new rule and enter a number in the Order field to indicate when your data obfuscation rule will run compared to other data obfuscation rules in the same share (in ascending order)

  8. Finally, use the Type dropdown to choose a data obfuscation rule type based on the following options:

    cation rule type from the following options:

    Type of Data Obfuscation Rule

    Description

    Field

    Choose a field whose value you want to obfuscate. If this value appears in multiple spots throughout the record, you can optionally choose the Obfuscate value throughout record option.

    The Masking Value (special characters only) or Masking Statement (alphanumeric characters) you enter will replace your specified field's value in the record. If choosing the Hashed option, your specified field's value will be obfuscated via the hashing algorithm (SHA-1, SHA-256, or MD5) you select from the Hash Function dropdown.

    Pattern

    Specify a JavaScript regular expression pattern in the Pattern field to search for and replace in your share's outbound message.

    The Masking Value (special characters only) or Masking Statement (alphanumeric characters) you enter will replace your specified pattern's value in the record. If choosing the Hashed option, your specified pattern's value will be obfuscated via the hashing algorithm (SHA-1, SHA-256, or MD5) you select from the Hash Function dropdown.

    Replacement

    Specify search values that will be replaced by a masking value. To create a Replacement data obfuscation rule, first create a new data obfuscation rule with Type Replacement and click Submit. A related list of search value records will appear at the bottom of the form. Each search value will be replaced with the masking value if found in your share's outbound message.

    When choosing the Replacement type, you can upload a CSV file as a list of comma-separated search values by clicking Import replacement dictionary (.csv). This will take the user to a confirmation page to upload a file.

    (info) NOTE: You can quickly add a large number of search values to replace by uploading a CSV file. The CSV file should be a list of comma separated search values which will be added to the Replacement rule.


  9. Click Submit to save the new rule, and then click Update back in the share page.

Data obfuscation dashboard

You can easily view all of your data obfuscation rules for dynamic shares or bulk shares at the Data Obfuscation Dashboard.

To access, go to Perspectium > Perspectium Core Shares > Dynamic Share or Bulk Share Data Obfuscation Dashboard. You will see the same dashboard, with both dynamic and bulk shares listed, regardless of the path you get there.

The Data Obfuscation Dashboard is essentially just a breakdown of all existing rules. The first column in the tables show the name of each share which will take users to the respective share when clicked on. The table specifies which table each share is targeting. The last three columns show each type of data obfuscation (Field, Pattern, or Replacement). A green checkmark indicates at least one data obfuscation rule of that type is active for that share, whereas a red X indicates no data obfuscation rule of that type is active. The dashboard also shows the total number of records obfuscated from each table as well as the total number of obfuscation rules on each table.


↑ Go to top of page