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. |