The DCManager API enables you to group data by type.

Using this API you can:
  • Assign data classifications to existing dictionary entries.
  • Look up the data classifications for specific dictionary entries.
  • Remove all data classifications associated with specific dictionary entries.
  • Retrieve a list of all data classifications available in the current domain.

This API requires the Data Classification [com.glide.data_classification] plugin.

For more information, see Data Classification.

DCManager - classify(String dictEntries, String dataClasses)

Assigns pre-defined or user-defined data classifications to existing dictionary entries.

Requires the admin or data_classification_admin role.

Table 1. Parameters
Name Type Description
dictEntries String
Sys_ids of the records you want to classify. Entered as a comma-separated list enclosed in a string.

Table: Dictionary [sys_dictionary] table

dataClasses String
Sys_ids of the data classifications you want to assign. Entered as a comma-separated list enclosed in a string.

Table: Data Classification [data_classification]

Table 2. Returns
Type Description
String Message describing the result of the operation.

Example

This example finds records containing social security numbers and classifies the records as confidential.

var dcm = new SNC.DCManager();
var confidentialClass = {};
var ssnFields = [];
var dataClasses = JSON.parse(dcm.getAllDataClasses());

// Get the Confidential data class record
dataClasses.forEach(function (dataClass) {
  if (dataClass.name == "Confidential")
    confidentialClass = dataClass;
});

// Find fields that seem to be strong social security numbers
var dictionaryGR = new GlideRecord("sys_dictionary");
dictionaryGR.addQuery("element", "ssn").addOrCondition("element", "social_security_number");
dictionaryGR.query();
while (dictionaryGR.next())
  ssnFields.push(dictionaryGR.getUniqueValue());

// Classify any found entries as Confidential
if (ssnFields.length > 0)
  dcm.classify(ssnFields.join(), confidentialClass.sys_id);
Output:
"Successfully stored the data classification configurations"

DCManager - clearClassification(String dictEntries)

Removes all data classifications for the specified dictionary entries.

Requires the admin or data_classification_admin role.

Table 3. Parameters
Name Type Description
dictEntries String
Sys_ids of the records you want to remove classifications from. Entered as a comma-separated list enclosed in a string.

Table: Dictionary [sys_dictionary]

Table 4. Returns
Type Description
String Message describing the result of the operation.

Example

This example removes the data classification for a dictionary entry.

var dcm = new SNC.DCManager();
gs.info(dcm.clearClassification("445de0a6dba30300efc57416bf9619b0"));

Output:

"Classifications removed for the specified dictionary entries"

DCManager - getAllDataClasses()

Returns a list of all data classifications available in the current domain.

Requires the admin, data_classification_admin, or data_classification_auditor role.

Table 5. Parameters
Name Type Description
None

Example

This example retrieves a list of all available data classifications.

var dcm = new SNC.DCManager();
gs.info(dcm.getAllDataClasses());

Output:

[
  {
    "parent": {
      "sys_id": "a9670fc773fc1010ae8dd21efaf6a735",
      "name": "Confidential"
    },
    "sys_id": "348107b951d71010f877f3f178e7dd0d",
    "name": "Personally identifiable information"
  },
  {
    "sys_id": "a9670fc773fc1010ae8dd21efaf6a735",
    "name": "Confidential"
  },
  {
    "sys_id": "59b7070b73fc1010ae8dd21efaf6a764",
    "name": "Restricted"
  },
  {
    "sys_id": "11d60fc773fc1010ae8dd21efaf6a744",
    "name": "Internal"
  },
  {
    "sys_id": "f5b4cf4773fc1010ae8dd21efaf6a766",
    "name": "Public"
  }
]

DCManager - getClassification(String dictEntries)

Retrieves all data classifications for the specified dictionary entries.

Table 7. Parameters
Name Type Description
dictEntries String
Sys_ids of the records you want to retrieve classifications for. Entered as a comma-separated list enclosed in a string.

Table: Dictionary [sys_dictionary]

Example

This example retrieves the data classifications for a dictionary entry.

var dcm = new SNC.DCManager();
gs.info(dcm.getClassification("445de0a6dba30300efc57416bf9619b0"));

Output:

{
  "445de0a6dba30300efc57416bf9619b0": [
    {
      "parent": {
        "sys_id": "a9670fc773fc1010ae8dd21efaf6a735",
        "name": "Confidential"
      },
      "sys_id": "348107b951d71010f877f3f178e7dd0d",
      "name": "Personally identifiable information"
    }
  ]
}