mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Cite
synced 2024-11-24 15:04:02 +00:00
f6b5615e4b
There are so few users with this configuration that we need to stop sampling in order to get data. Sampling is still in effect for "baseline" users with the feature disabled. We use separate schemas to simplify analytics on the two populations. Bug: T214493 Change-Id: I16e4ed236e50e1e246ff28ff0dba3e52e4b56caf
46 lines
1.6 KiB
JavaScript
46 lines
1.6 KiB
JavaScript
/**
|
|
* @file Temporary tracking to evaluate the impact of Reference Previews on users' interaction with references.
|
|
*
|
|
* The baseline metrics are for a sample of users who don't have ReferencePreviews enabled.
|
|
*
|
|
* Users with the feature enabled are not sampled, and events are logged using the ReferencePreviewsCite schema.
|
|
*
|
|
* @see https://phabricator.wikimedia.org/T214493
|
|
* @see https://phabricator.wikimedia.org/T231529
|
|
* @see https://meta.wikimedia.org/wiki/Schema:ReferencePreviewsBaseline
|
|
* @see https://meta.wikimedia.org/wiki/Schema:ReferencePreviewsCite
|
|
*/
|
|
( function () {
|
|
'use strict';
|
|
|
|
$( function () {
|
|
var isReferencePreviewsEnabled = mw.config.get( 'wgPopupsReferencePreviews', false ),
|
|
loggingTopic = isReferencePreviewsEnabled ?
|
|
'event.ReferencePreviewsCite' :
|
|
'event.ReferencePreviewsBaseline',
|
|
samplingRate = isReferencePreviewsEnabled ?
|
|
1 :
|
|
1000,
|
|
isSampling = navigator.sendBeacon && mw.eventLog.eventInSample( samplingRate );
|
|
|
|
if ( isSampling ) {
|
|
// eslint-disable-next-line no-jquery/no-global-selector
|
|
$( '#mw-content-text' ).on(
|
|
'click',
|
|
// Footnote links, references block in VisualEditor, and reference content links.
|
|
'.reference a[ href*="#" ], .mw-reference-text a, .reference-text a',
|
|
function () {
|
|
var isInReferenceBlock = $( this ).parents( '.references' ).length > 0;
|
|
mw.track( loggingTopic, {
|
|
action: ( isInReferenceBlock ?
|
|
'clickedReferenceContentLink' :
|
|
'clickedFootnote' )
|
|
} );
|
|
}
|
|
);
|
|
|
|
mw.track( loggingTopic, { action: 'pageview' } );
|
|
}
|
|
} );
|
|
}() );
|