CEIP Prototype

Manages collecting user actions and events, logging them to file, and uploading the files to the central server.

Syntax

var object = new CEIP();

Remarks

You should never need to create an instance of this prototype; access the CEIP (Custom Experience Improvement Program) information through client.ceip. Most code should only need to use the logEvent method.

Members

MemberSummary
destroyInternal.
getCurrentViewTypeInternal.
getEventViewTypeInternal.
getLogFile
getLogFolder
getSelectedLocale Gets the currently selected locale for a given package.
getWinterTimezoneOffset Gets a date-independent timezone offset for the user.
hookCommandAfterInternal.
hookCommandBeforeInternal.
hookMenuCloseInternal.
hookMenuOpenInternal.
isCommandIgnoredInternal.
logEvent Logs a single event to the log file, if CEIP is enabled.
notifyUpdate
startLogInternal.
stopLogInternal.
update
uploadLogInternal.
uploadLogsInternal.
writeLogLineInternal.

See Also

Source Code

function CEIP()
{
// 'types' is a comma-separated sorted list.
this.enabled = false;
this.types = "";
this.commandNest = 0;
this.uploadBlock = new Object();
// Give the user a unique, but random, ID.
if (!client.prefs["ceip.userid"])
client.prefs["ceip.userid"] = randomString(32);
this.update();
setTimeout(function(self) { self.uploadLogs() }, 1000, this);
}