8398c9048d
code was modified slightly, so the code differs from the original downloadable 1.9.5 version
139 lines
5.8 KiB
Text
139 lines
5.8 KiB
Text
-------------------------------------------------------------------------------
|
|
dojox.analytics
|
|
-------------------------------------------------------------------------------
|
|
Version 1.0
|
|
Release date: 12/17/2007
|
|
-------------------------------------------------------------------------------
|
|
Project state:
|
|
[base]: alpha
|
|
[Urchin]: alpha
|
|
-------------------------------------------------------------------------------
|
|
Project authors
|
|
Dustin Machi (dmachi)
|
|
Peter Higgins (dante)
|
|
-------------------------------------------------------------------------------
|
|
Project description
|
|
analytics and client monitoring system. Including the base analytics
|
|
system and any number of plugins enables logging of different system data
|
|
back to the server. Plugins included at this time:
|
|
|
|
dojo - reports dojo startup collected information
|
|
window - reports available window information to the server
|
|
mouseOver - allows periodic sampling of mouseOver
|
|
mouseClick - reports any mouse clicks to the server
|
|
idle - reports idle/activity
|
|
consoleMessages - reports console.* messages to the server
|
|
|
|
Additionally, a Google Ananlytics (Urchin tracker) helper is included
|
|
in this project, though is unrelated to the Core dojox.analytics
|
|
project code.
|
|
|
|
-------------------------------------------------------------------------------
|
|
Dependencies:
|
|
|
|
Dojo Core (package loader).
|
|
-------------------------------------------------------------------------------
|
|
Documentation
|
|
|
|
Usage:
|
|
|
|
The primary intended usage will be to create a custom build layer that includes
|
|
the particular plugins you need for your project. However in practice you
|
|
can use the system as such:
|
|
|
|
<script type="text/javascript" src="../../../dojo/dojo.js"
|
|
djConfig="parseOnLoad: true, isDebug: false, usePlainJson: true, sendMethod: 'script', sendInterval: 5000"></script>
|
|
|
|
<script language="JavaScript" type="text/javascript">
|
|
// include the analytics system
|
|
dojo.require("dojox.analytics");
|
|
|
|
//tracks mouse clicks on the page
|
|
dojo.require("dojox.analytics.plugins.mouseClick");
|
|
|
|
// this plugin returns the informatin dojo collects when it launches
|
|
dojo.require("dojox.analytics.plugins.dojo");
|
|
|
|
// this plugin return the information the window has when it launches
|
|
// and it also ties to a few events such as window.option
|
|
dojo.require("dojox.analytics.plugins.window");
|
|
|
|
// this plugin tracks console. message, It logs console.error, warn, and
|
|
// info messages to the tracker. It also defines console.rlog() which
|
|
// can be used to log only to the server. Note that if isDebug() is disabled
|
|
// you will still see the console messages on the sever, but not in the actual
|
|
// browser console.
|
|
dojo.require("dojox.analytics.plugins.consoleMessages");
|
|
|
|
// tracks where a mouse is on a page an what it is over, periodically sampling
|
|
// and storing this data
|
|
dojo.require("dojox.analytics.plugins.mouseOver");
|
|
|
|
//tracks when the user has gone idle
|
|
dojo.require("dojox.analytics.plugins.idle");
|
|
|
|
</script>
|
|
|
|
When done using a build, none of the dojo.require() statement will be requires
|
|
would already be in the build.
|
|
|
|
Most of the plugins and the base itself have a number of configurable params
|
|
that are passed in via the djConfig variable set. This approach is taken so that
|
|
the parameters can be easily provided in the case of a build or for a custom
|
|
dojo.js build with analytics built in. Examples for different build profiles
|
|
are in the profiles directory.
|
|
|
|
Available Configuration Parameters:
|
|
|
|
Base Configs
|
|
sendInterval - Normal send interval. Default 5000
|
|
sendMethod - "script" || "xhrPost"
|
|
inTransitRetry - Delay before retrying an a send if it was in transit
|
|
or if there is still data to be sent after a post.
|
|
Default 1000
|
|
analyticsUrl - url to send logging data to. defaults to the test php
|
|
file for now
|
|
maxRequestSize - Maximum size of GET style requests. Capped at 2000 for
|
|
IE, and 4000 otherwise
|
|
|
|
consoleMessages Config:
|
|
|
|
consoleLogFuncs - functions from the console object that you will log to
|
|
the server. If the console object doesn't exist
|
|
or a particuarl method doesn't exist it will be
|
|
created as a remote logging only method. This provides
|
|
a quick and convient way to automatically define
|
|
a remote logging funciton that includes the functions
|
|
name in the log. The 'rlog' in the default paramerters
|
|
is an example of this. Defaults to ["error", "warn", "info", "rlog"]
|
|
|
|
idle Config:
|
|
|
|
idleTime - Number of ms to be idle before being reported to the server as idle
|
|
|
|
mouseOver config:
|
|
targetProps - the properties whose values will be reported for each target from
|
|
a mouse over sample. defaults to ["id","className","localName","href", "spellcheck", "lang", "textContent", "value" ]
|
|
|
|
sampleDelay - the delay in ms between mouseover samples. Defaults to 2500
|
|
|
|
window config:
|
|
windowConnects - methods on the window objec that will be attached to
|
|
have its data passed to the server when called.
|
|
|
|
|
|
Note that the basic usage of this system simply serializes json with toJson() when passed
|
|
to the analytics addData() method. If data is passed that has circular references
|
|
it will die. Take care not to do that or be surprised when it doens't work
|
|
in those cases.
|
|
|
|
-------------------------------------------------------------------------------
|
|
Installation instructions
|
|
|
|
Grab the following from the Dojo SVN Repository:
|
|
http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/analytics
|
|
|
|
Install into the following directory structure:
|
|
/dojox/analytics/
|
|
|
|
...which should be at the same level as your Dojo checkout.
|