AppSuite:Metrics-Adapters: Difference between revisions
No edit summary |
|||
Line 57: | Line 57: | ||
Be aware to not use a name for your javascript files that matching common patterns of adblockers. For example in case we would name default.js PIWIK.js the adblocker would block the request and an error ocurred in the the browser. | Be aware to not use a name for your javascript files that matching common patterns of adblockers. For example in case we would name default.js PIWIK.js the adblocker would block the request and an error ocurred in the the browser. | ||
==== | ==== data mapping ==== | ||
===== app starting ==== | |||
'''Page Titles: ''' | |||
Every time a module/app is used for the first time for each visit the corresponding event will be triggerd. This represents the impact of a user interaction not the interaction itself. | |||
You interpret Page Titles as '[appname] was started [x] times'. Please be aware that after a full refresh of the browser tab used by OX Appsuite app usage of a app is tracked again. | |||
===== tracked user interaction ===== | |||
This represents a user interaction like a click on a functional ui element. | |||
'''Event Category''' | |||
This part of the event data contains the application were the event occurred. | |||
Interpret it as 'a user action within [appname] occured' | |||
'''Event Action''' | |||
This part contains all main information about the whole event data condensed in a single string. | |||
[appname]/[location in the ui]/[action] | |||
Example: | |||
''mail/toolbar/delete'' | |||
'''Event Name''' | |||
The event id. | |||
Example: | |||
''delete'' | |||
'''Event Value''' | |||
=== Console === | === Console === |
Revision as of 11:04, 22 September 2015
Adapters
Adapters can be registered or extended by using the well established technology of extension points.
Here is an basic example how the PIWIK adapter is registered. The metrics module will call/invoke the defined functions for all registered adapters.
Your Adapter
Check preconditions
Please add at first a line into the code that checks for the user settings. In case the current adapter is disabled we should prevent registering the adapter;
if (!settings.get('tracking/[add-your-id-here]/enabled', false)) return;
Register Adapter
ext.point('io.ox/metrics/adapter').extend({
id: 'piwik',
setup: function () {
// called once
},
trackVisit: function () {
// called for each tracked visit (usually called once)
},
trackEvent: function (baton) {
// called for each tracked event
},
trackPage: function (baton) {
// called for each opened application/module
},
trackVariable: function (baton) {
// usually called once
}
});
For more details the source code of the PIWIK adapter is A very good starting point.
Overwrite predefined adapter
Please take a look at the extension point documentation.
PIWIK
Predefined adapter for the open-source analytics platform.
source
io.ox/metrics/adapters/default.js
hint
Be aware to not use a name for your javascript files that matching common patterns of adblockers. For example in case we would name default.js PIWIK.js the adblocker would block the request and an error ocurred in the the browser.
data mapping
= app starting
Page Titles: Every time a module/app is used for the first time for each visit the corresponding event will be triggerd. This represents the impact of a user interaction not the interaction itself.
You interpret Page Titles as '[appname] was started [x] times'. Please be aware that after a full refresh of the browser tab used by OX Appsuite app usage of a app is tracked again.
tracked user interaction
This represents a user interaction like a click on a functional ui element.
Event Category This part of the event data contains the application were the event occurred. Interpret it as 'a user action within [appname] occured'
Event Action
This part contains all main information about the whole event data condensed in a single string.
[appname]/[location in the ui]/[action]
Example: mail/toolbar/delete
Event Name
The event id.
Example: delete
Event Value
Console
A special predefined debugging adapter that simply writes events to console.
source
io.ox/metrics/adapters/console.js
hint
You can activate this special adapter that writes events to console and tracks all events in browsers localstorage. To activate/deactivate simply paste this code into your console when you are logged in at appsuite:
// enable
require('settings!io.ox/core').set('tracking/console/enabled', true).save();
// disable
require('settings!io.ox/core').set('tracking/console/enabled', false).save();
You can see all tracked events by using the browers console again:
//directly accessing to the data
metrics.hash
// please use the following only in chrome cause it is using console.table
metrics.show()