root / trunk / web / dojo / dojox / analytics / README
History | View | Annotate | Download (5.76 KB)
| 1 |
------------------------------------------------------------------------------- |
|---|---|
| 2 |
dojox.analytics |
| 3 |
------------------------------------------------------------------------------- |
| 4 |
Version 1.0 |
| 5 |
Release date: 12/17/2007 |
| 6 |
------------------------------------------------------------------------------- |
| 7 |
Project state: |
| 8 |
[base]: alpha |
| 9 |
[Urchin]: alpha |
| 10 |
------------------------------------------------------------------------------- |
| 11 |
Project authors |
| 12 |
Dustin Machi (dmachi) |
| 13 |
Peter Higgins (dante) |
| 14 |
------------------------------------------------------------------------------- |
| 15 |
Project description |
| 16 |
analytics and client monitoring system. Including the base analytics |
| 17 |
system and any number of plugins enables logging of different system data |
| 18 |
back to the server. Plugins included at this time: |
| 19 |
|
| 20 |
dojo - reports dojo startup collected information |
| 21 |
window - reports available window information to the server |
| 22 |
mouseOver - allows periodic sampling of mouseOver |
| 23 |
mouseClick - reports any mouse clicks to the server |
| 24 |
idle - reports idle/activity |
| 25 |
consoleMessages - reports console.* messages to the server |
| 26 |
|
| 27 |
Additionally, a Google Analytics (Urchin tracker) helper is included |
| 28 |
in this project, though is unrelated to the Core dojox.analytics |
| 29 |
project code. |
| 30 |
|
| 31 |
------------------------------------------------------------------------------- |
| 32 |
Dependencies: |
| 33 |
|
| 34 |
Dojo Core (package loader). |
| 35 |
------------------------------------------------------------------------------- |
| 36 |
Documentation |
| 37 |
|
| 38 |
Usage: |
| 39 |
|
| 40 |
The primary intended usage will be to create a custom build layer that includes |
| 41 |
the particular plugins you need for your project. However in practice you |
| 42 |
can use the system as such: |
| 43 |
|
| 44 |
<script type="text/javascript" src="../../../dojo/dojo.js" |
| 45 |
djConfig="parseOnLoad: true, isDebug: false, usePlainJson: true, sendMethod: 'script', sendInterval: 5000"></script> |
| 46 |
|
| 47 |
<script language="JavaScript" type="text/javascript"> |
| 48 |
// include the analytics system |
| 49 |
dojo.require("dojox.analytics");
|
| 50 |
|
| 51 |
//tracks mouse clicks on the page |
| 52 |
dojo.require("dojox.analytics.plugins.mouseClick");
|
| 53 |
|
| 54 |
// this plugin returns the informatin dojo collects when it launches |
| 55 |
dojo.require("dojox.analytics.plugins.dojo");
|
| 56 |
|
| 57 |
// this plugin return the information the window has when it launches |
| 58 |
// and it also ties to a few events such as window.option |
| 59 |
dojo.require("dojox.analytics.plugins.window");
|
| 60 |
|
| 61 |
// this plugin tracks console. message, It logs console.error, warn, and |
| 62 |
// info messages to the tracker. It also defines console.rlog() which |
| 63 |
// can be used to log only to the server. Note that if isDebug() is disabled |
| 64 |
// you will still see the console messages on the sever, but not in the actual |
| 65 |
// browser console. |
| 66 |
dojo.require("dojox.analytics.plugins.consoleMessages");
|
| 67 |
|
| 68 |
// tracks where a mouse is on a page an what it is over, periodically sampling |
| 69 |
// and storing this data |
| 70 |
dojo.require("dojox.analytics.plugins.mouseOver");
|
| 71 |
|
| 72 |
//tracks when the user has gone idle |
| 73 |
dojo.require("dojox.analytics.plugins.idle");
|
| 74 |
|
| 75 |
</script> |
| 76 |
|
| 77 |
When done using a build, none of the dojo.require() statement will be requires |
| 78 |
would already be in the build. |
| 79 |
|
| 80 |
Most of the plugins and the base itself have a number of configurable params |
| 81 |
that are passed in via the djConfig variable set. This approach is taken so that |
| 82 |
the parameters can be easily provided in the case of a build or for a custom |
| 83 |
dojo.js build with analytics built in. Examples for different build profiles |
| 84 |
are in the profiles directory. |
| 85 |
|
| 86 |
Available Configuration Parameters: |
| 87 |
|
| 88 |
Base Configs |
| 89 |
sendInterval - Normal send interval. Default 5000 |
| 90 |
sendMethod - "script" || "xhrPost" |
| 91 |
inTransitRetry - Delay before retrying an a send if it was in transit |
| 92 |
or if there is still data to be sent after a post. |
| 93 |
Default 1000 |
| 94 |
analyticsUrl - url to send logging data to. defaults to the test php |
| 95 |
file for now |
| 96 |
maxRequestSize - Maximum size of GET style requests. Capped at 2000 for |
| 97 |
IE, and 4000 otherwise |
| 98 |
|
| 99 |
consoleMessages Config: |
| 100 |
|
| 101 |
consoleLogFuncs - functions from the console object that you will log to |
| 102 |
the server. If the console object doesn't exist |
| 103 |
or a particuarl method doesn't exist it will be |
| 104 |
created as a remote logging only method. This provides |
| 105 |
a quick and convient way to automatically define |
| 106 |
a remote logging funciton that includes the functions |
| 107 |
name in the log. The 'rlog' in the default paramerters |
| 108 |
is an example of this. Defaults to ["error", "warn", "info", "rlog"] |
| 109 |
|
| 110 |
idle Config: |
| 111 |
|
| 112 |
idleTime - Number of ms to be idle before being reported to the server as idle |
| 113 |
|
| 114 |
mouseOver config: |
| 115 |
targetProps - the properties whose values will be reported for each target from |
| 116 |
a mouse over sample. defaults to ["id","className","localName","href", "spellcheck", "lang", "textContent", "value" ] |
| 117 |
|
| 118 |
sampleDelay - the delay in ms between mouseover samples. Defaults to 2500 |
| 119 |
|
| 120 |
window config: |
| 121 |
windowConnects - methods on the window objec that will be attached to |
| 122 |
have its data passed to the server when called. |
| 123 |
|
| 124 |
|
| 125 |
Note that the basic usage of this system simply serializes json with toJson() when passed |
| 126 |
to the analytics addData() method. If data is passed that has circular references |
| 127 |
it will die. Take care not to do that or be surprised when it doens't work |
| 128 |
in those cases. |
| 129 |
|
| 130 |
------------------------------------------------------------------------------- |
| 131 |
Installation instructions |
| 132 |
|
| 133 |
Grab the following from the Dojo SVN Repository: |
| 134 |
http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/analytics |
| 135 |
|
| 136 |
Install into the following directory structure: |
| 137 |
/dojox/analytics/ |
| 138 |
|
| 139 |
...which should be at the same level as your Dojo checkout. |