Name

sn_csm_workspace.CSMWorkspaceUAUtil

Description

Track the usage analytics data for CSM workspace

Script

var CSMWorkspaceUAUtil = Class.create();
CSMWorkspaceUAUtil.prototype = {
  initialize: function() {
  },
  
  // Tracks number of cases that are created via CSM Agent Workspace
  createCase: function() {
  	this.logCaseAnalytics('create.case', 'create');
  },
  
  // Tracks number of cases that are updated via CSM Agent Workspace
  updateCase: function(caseId) {
  	this.logCaseAnalytics('update.case', 'update', caseId);
  },
  
  // Tracks number of "Create Case" clicks on the Interaction form via CSM Agent Workspace
  createCaseClickInteraction: function() {
  	this.logCaseAnalytics('createCase.interaction', 'click');
  },
  
  // Tracks number of "Create Knowledge" clicks on the Case form via CSM Agent Workspace
  createKnowledgeClickCase: function() {
  	this.logCaseAnalytics('createKnowledge.case', 'click');
  },
  
  logCaseAnalytics: function(eventType, action, caseId) {
  	var data = {};
  	data["event.type"] = eventType;
  	data["action"] = action;
  	data["user.id"] = gs.getUserID();
  	if(caseId)
  		data["case.id"] = caseId + '';
  	this.logAnalytics(data);
  },
  
  logAnalytics: function(data) {
  	var streamId = sn_csm_workspace.CSMWorkspaceUAConstants.STREAM_ID;
  	var obfuscationList = [];
  	
  	if (sn_uapaf.ScopedAnalyticsFramework.isDisabled() || sn_uapaf.ScopedAnalyticsFramework.isBlocked(streamId)) {
  		gs.info("CSMWorkspaceUAUtil: Analytics Framework is disabled or Blocked!!");
  		return;
  	}
  	
  	data["app.name"] = sn_csm_workspace.CSMWorkspaceUAConstants.APP_NAME;
  	data["metadata.version"] = sn_csm_workspace.CSMWorkspaceUAConstants.METADATA_VERSION;
  	
  	status = sn_uapaf.ScopedAnalyticsFramework.open(streamId);
  	if (status === 0) {
  		status = sn_uapaf.ScopedAnalyticsFramework.sendJSON(streamId, obfuscationList, JSON.stringify(data));
  		if(status != 0)
  			gs.warn('CSMWorkspaceUAUtil: Unable to send analytics for stream:' + streamId + '; status = ' + status);
  		status = sn_uapaf.ScopedAnalyticsFramework.close(streamId);
  	} else {
  		gs.warn('CSMWorkspaceUAUtil: Unable to open Usage Analytics for stream ' + streamId);
  	}
  },

  type: 'CSMWorkspaceUAUtil'
};

Sys ID

bd958ac7734633000afabd49faf6a738

Offical Documentation

Official Docs: