PageIssues should use new standard pageToken getter
Rather than inventing its own page token the PageIssues schema will rely on the standard page token. In future when I9bb18d47e36d2d99d812e5b47ea9516d3dff3a16 is merged this will mean that PageIssues and ReadingDepth have consistent page tokens. Bug: T201124 Change-Id: I19fea41e04cd792423ea9d41a673563418b69726
This commit is contained in:
parent
e9e7e8256b
commit
eea19f3e18
|
@ -266,7 +266,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( isLoggingRequired( getIssues( KEYWORD_ALL_SECTIONS ) ) ) {
|
if ( isLoggingRequired( getIssues( KEYWORD_ALL_SECTIONS ) ) ) {
|
||||||
// Enable logging.
|
// Enable logging of the PageIssues schema, setting up defaults.
|
||||||
pageIssuesLogger.subscribe(
|
pageIssuesLogger.subscribe(
|
||||||
newTreatmentEnabled,
|
newTreatmentEnabled,
|
||||||
pageIssuesLogger.newPageIssueSchemaData(
|
pageIssuesLogger.newPageIssueSchemaData(
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
( function ( M, mwConfig, mwNow, mwTrack, mwTrackSubscribe, mwUser ) {
|
( function ( M, mwConfig, mwTrack, mwTrackSubscribe, mwUser, mwLoader ) {
|
||||||
var
|
var
|
||||||
util = M.require( 'mobile.startup/util' ),
|
util = M.require( 'mobile.startup/util' ),
|
||||||
EVENT_PAGE_ISSUE_LOG = 'minerva.PageIssuesAB';
|
EVENT_PAGE_ISSUE_LOG = 'minerva.PageIssuesAB';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Defines default data for Schema:PageIssues that will be recorded with every event.
|
||||||
* @param {boolean} newTreatmentEnabled
|
* @param {boolean} newTreatmentEnabled
|
||||||
* @param {number} namespaceId The namespace for the page that has issues.
|
* @param {number} namespaceId The namespace for the page that has issues.
|
||||||
* @param {string[]} pageIssueSeverities An array of PageIssue severities.
|
* @param {string[]} pageIssueSeverities An array of PageIssue severities.
|
||||||
|
@ -18,28 +19,33 @@
|
||||||
issuesSeverity: pageIssueSeverities,
|
issuesSeverity: pageIssueSeverities,
|
||||||
isAnon: mwUser.isAnon(),
|
isAnon: mwUser.isAnon(),
|
||||||
editCountBucket: getUserEditBuckets(),
|
editCountBucket: getUserEditBuckets(),
|
||||||
pageToken: mwUser.generateRandomSessionId() + Math.floor( mwNow() ).toString(),
|
|
||||||
sessionToken: mwUser.sessionId()
|
sessionToken: mwUser.sessionId()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enable tracking.
|
* Enable tracking and add page token to every logged event.
|
||||||
* @param {boolean} newTreatmentEnabled
|
* @param {boolean} newTreatmentEnabled
|
||||||
* @param {Object} pageIssueSchemaData A Partial<Schema:PageIssues> Object that will be mixed with
|
* @param {Object} pageIssueSchemaData A Partial<Schema:PageIssues> Object that will be mixed with
|
||||||
* with track data.
|
* with track data.
|
||||||
* @return {void}
|
* @return {void}
|
||||||
*/
|
*/
|
||||||
function subscribe( newTreatmentEnabled, pageIssueSchemaData ) {
|
function subscribe( newTreatmentEnabled, pageIssueSchemaData ) {
|
||||||
// intermediary event bus that extends the event data before being passed to event-logging.
|
// this is wrapped inside a mw.loader call given the need to access mw.eventLog.getPageviewToken
|
||||||
mwTrackSubscribe( EVENT_PAGE_ISSUE_LOG, function ( topic, data ) {
|
// which may or may not be defined. If EventLogging is not installed, so logging will occur.
|
||||||
var mixedData = util.extend( {}, pageIssueSchemaData, data );
|
mwLoader.using( 'ext.eventLogging.subscriber' ).then( function () {
|
||||||
|
// set the page token on the request.
|
||||||
|
pageIssueSchemaData.pageToken = mw.eventLog.getPageviewToken();
|
||||||
|
|
||||||
// Log readingDepth schema.(ReadingDepth is guarded against multiple enables).
|
// intermediary event bus that extends the event data before being passed to event-logging.
|
||||||
// See https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/WikimediaEvents/+/437686/
|
mwTrackSubscribe( EVENT_PAGE_ISSUE_LOG, function ( topic, data ) {
|
||||||
mwTrack( 'wikimedia.event.ReadingDepthSchema.enable', bucketToGroup( newTreatmentEnabled ) );
|
var mixedData = util.extend( {}, pageIssueSchemaData, data );
|
||||||
// Log PageIssues schema.
|
// Log readingDepth schema.(ReadingDepth is guarded against multiple enables).
|
||||||
mwTrack( 'wikimedia.event.PageIssues', mixedData );
|
// See https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/WikimediaEvents/+/437686/
|
||||||
|
mwTrack( 'wikimedia.event.ReadingDepthSchema.enable', bucketToGroup( newTreatmentEnabled ) );
|
||||||
|
// Log PageIssues schema.
|
||||||
|
mwTrack( 'wikimedia.event.PageIssues', mixedData );
|
||||||
|
} );
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,4 +100,4 @@
|
||||||
subscribe: subscribe,
|
subscribe: subscribe,
|
||||||
log: log
|
log: log
|
||||||
} );
|
} );
|
||||||
}( mw.mobileFrontend, mw.config, mw.now, mw.track, mw.trackSubscribe, mw.user ) );
|
}( mw.mobileFrontend, mw.config, mw.track, mw.trackSubscribe, mw.user, mw.loader ) );
|
||||||
|
|
Loading…
Reference in New Issue