Project

General

Profile

Statistics
| Revision:

root / trunk / web / dojo / dojox / analytics / README

History | View | Annotate | Download (5.76 KB)

1 9 andrej.cim
-------------------------------------------------------------------------------
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.