Name
global.SNHelpAnalyticsController
Description
log the data to GCF Usage var controller = new SNHelpAnalyticsController(); //code to create an object(data) with the data you want to log controller(controller, point, event, data);
Script
var SNHelpAnalyticsController = Class.create();
SNHelpAnalyticsController.prototype = {
CATEGORY: 'custom_metric',
ADS_CATEGORY: 'adoption_services',
ADS_POINTS: {
helpCentre: 'help_centre',
helpModal: 'help_modal'
},
POINT: 'adoption_services',
EVENTS: {
setup: {
newRecord: 'guidance_new_record',
usageFrequency: 'setup_usage_frequency'
},
panel: {
feedback: 'help_panel_feedback'
},
// Instrumentation event to capture payload when guidance type is embedded help.
help_centre: {
newRecord: 'new_record'
},
// Instrumentation event for modal completion event.
modal: {
complete: "modal_completion"
}
},
logData: function(category, point, event, data) {
if (!data) {
gs.log("SNHelpAnalyticsController: Data has not been provided");
return;
}
if (event === this.EVENTS.setup.newRecord) {
var sm = new GCFSampleMap();
sm.put('type', data.type || '');
sm.put('name', data.name || '');
sm.put('sys_package', data.sys_package || '');
sm.put('sys_scope', data.sys_scope || '');
sm.put('roles', data.roles || '');
sm.put('status', data.status || '');
GCFCollector.recordUsageEvent(category, point, event, sm);
} else if (event === this.EVENTS.setup.usageFrequency) {
var freqData = new GCFSampleMap();
freqData.put('name', data.name || '');
freqData.put('type', data.type || '');
freqData.put('roles', data.roles || '');
freqData.put('sys_scope', data.sys_scope || '');
freqData.put('sys_package', data.sys_package || '');
GCFCollector.recordUsageEvent(category, point, event, freqData);
} else if (event === this.EVENTS.panel.feedback) {
var feedbackData = new GCFSampleMap();
feedbackData.put('feedback', data.feedback);
feedbackData.put('topicId', data.topicId);
GCFCollector.recordUsageEvent(category, point, event, feedbackData);
} else if (event == this.EVENTS.help_centre.newRecord) {
var sample = new GCFSampleMap();
sample.put('name', data.name || '');
sample.put('sys_package', data.sys_package || '');
sample.put('sys_scope', data.sys_scope || '');
sample.put('context', data.context || '');
sample.put('application_route', data.application_route || '');
sample.put('route_params', data.route_params || '');
sample.put('snc_created', data.snc_created || '');
GCFCollector.recordUsageEvent(category, point, event, sample);
} else if (event === this.EVENTS.modal.complete) {
var payload = new GCFSampleMap();
payload.put('name', data.name || '');
payload.put('snc_created', data.snc_created || '');
payload.put('sys_scope', data.sys_scope || '');
payload.put('sys_package', data.sys_package || '');
GCFCollector.recordUsageEvent(category, point, event, payload);
}
},
type: 'SNHelpAnalyticsController'
};
Sys ID
5ae8e3c05f172010d70fc133337313aa