AppSuite:Metrics-Adapters: Difference between revisions
No edit summary |
(→source) |
||
Line 5: | Line 5: | ||
==== source ==== | ==== source ==== | ||
//io.ox/metrics/adapters/default.js// | <code> | ||
//io.ox/metrics/adapters/default.js// | |||
</code> | |||
==== hint ==== | ==== hint ==== |
Revision as of 07:26, 22 September 2015
Adapters
PIWIK
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.
consider settings
please add at first a line into the code that checks for the user setting to prevent registering the adapter (more precisecly to extend the extension point)
if (!settings.get('tracking/[add-your-id-here]/enabled', false)) return;
extend
Now you will have to extend ‘io.ox/metrics/adapter’ to register your adapter. The metrics module will run through all registered adapters and calls existing functions.
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 further questions please take a look at the PIWIK adapter in the source code.
Console
You can activate a special debugging adapter that writes events to console and tracks all events in browers 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()