EBernhardson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/248892
Change subject: Revert "Revert "Move Schema:Search from CirrusSearch""
......................................................................
Revert "Revert "Move Schema:Search from CirrusSearch""
This reverts commit ab73647d88246259d720bdb9f882d58c99bc0a61.
Change-Id: I93c16f68f5f235b38e161c20e4c0811170b34f7a
---
M WikimediaEvents.php
A modules/ext.wikimediaEvents.search.js
2 files changed, 61 insertions(+), 1 deletion(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikimediaEvents
refs/changes/92/248892/1
diff --git a/WikimediaEvents.php b/WikimediaEvents.php
index 770e2ad..608016a 100644
--- a/WikimediaEvents.php
+++ b/WikimediaEvents.php
@@ -95,6 +95,11 @@
'schema' => 'GeoFeatures',
'revision' => 12914994,
),
+ 'schema.Search' => array(
+ 'class' => 'ResourceLoaderSchemaModule',
+ 'schema' => 'Search',
+ 'revision' => 11670541,
+ ),
'ext.wikimediaEvents' => array(
// Loaded globally for all users (including logged-out)
// Don't remove if empty!
@@ -103,10 +108,13 @@
'ext.wikimediaEvents.searchSuggest.js',
'ext.wikimediaEvents.statsd.js',
'ext.wikimediaEvents.searchSatisfaction.js',
+ 'ext.wikimediaEvents.search.js',
),
'dependencies' => array(
- 'mediawiki.user', // needed by searchSuggest.js
+ 'mediawiki.user', // needed by search.js,
searchSuggest.js
'mediawiki.Uri', // needed by searchSatisfaction.js
+ 'schema.Search', // needed by search.js
+ 'ext.eventLogging', // needed by search.js
),
'localBasePath' => __DIR__ . '/modules',
'remoteExtPath' => 'WikimediaEvents/modules',
diff --git a/modules/ext.wikimediaEvents.search.js
b/modules/ext.wikimediaEvents.search.js
new file mode 100644
index 0000000..6062562
--- /dev/null
+++ b/modules/ext.wikimediaEvents.search.js
@@ -0,0 +1,52 @@
+/*global mw:true */
+( function ( $ ) {
+ 'use strict';
+
+ var isLoggingEnabled = mw.config.get(
'wgCirrusSearchEnableSearchLogging' ),
+ // For 1 in a 1000 users the metadata about interaction
+ // with the search form (absent search terms) is event logged.
+ // See https://meta.wikimedia.org/wiki/Schema:Search
+ isSampled = Math.random() < 1 / 1000,
+ defaults,
+ sessionStartTime;
+
+ /**
+ * Generate a random token
+ * @return {String}
+ */
+ function getRandomToken() {
+ return mw.user.generateRandomSessionId() + ( new Date()
).getTime().toString();
+ }
+
+ if ( isLoggingEnabled && isSampled ) {
+ defaults = {
+ platform: 'desktop',
+ userSessionToken: getRandomToken(),
+ searchSessionToken: getRandomToken()
+ };
+
+ mw.trackSubscribe( 'mediawiki.searchSuggest', function ( topic,
data ) {
+ var loggingData = {
+ action: data.action
+ };
+
+ if ( data.action === 'session-start' ) {
+ // update session token if it's a new search
+ defaults.searchSessionToken = getRandomToken();
+ sessionStartTime = this.timeStamp;
+ } else if ( data.action === 'impression-results' ) {
+ loggingData.numberOfResults =
data.numberOfResults;
+ loggingData.resultSetType = data.resultSetType;
+ loggingData.timeToDisplayResults = Math.round(
this.timeStamp - sessionStartTime );
+ } else if ( data.action === 'click-result' ) {
+ loggingData.clickIndex = data.clickIndex;
+ loggingData.numberOfResults =
data.numberOfResults;
+ } else if ( data.action === 'submit-form' ) {
+ loggingData.numberOfResults =
data.numberOfResults;
+ }
+ loggingData.timeOffsetSinceStart = Math.round(
this.timeStamp - sessionStartTime ) ;
+ $.extend( loggingData, defaults );
+ mw.eventLog.logEvent( 'Search', loggingData );
+ } );
+ }
+}( jQuery ) );
--
To view, visit https://gerrit.wikimedia.org/r/248892
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I93c16f68f5f235b38e161c20e4c0811170b34f7a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikimediaEvents
Gerrit-Branch: wmf/1.27.0-wmf.3
Gerrit-Owner: EBernhardson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits