Phuedx has uploaded a new change for review.
https://gerrit.wikimedia.org/r/177774
Change subject: Retire WikiGrokAbTest in favour of PlanOut
......................................................................
Retire WikiGrokAbTest in favour of PlanOut
Query the WikiGrokExperiment for the version of WikiGrok to show to the
user.
Change-Id: I3c96402aa353435b87cb70ef428d84466e6b16ab
---
M includes/Resources.php
D javascripts/modules/wikigrok/WikiGrokAbTest.js
M javascripts/modules/wikigrok/init.js
3 files changed, 14 insertions(+), 61 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend
refs/changes/74/177774/1
diff --git a/includes/Resources.php b/includes/Resources.php
index e370c25..db603f1 100644
--- a/includes/Resources.php
+++ b/includes/Resources.php
@@ -576,10 +576,10 @@
'dependencies' => array(
'mobile.user',
'jquery.cookie',
+ 'ext.planOut',
),
'scripts' => array(
'javascripts/modules/wikigrok/wikigrokuser.js',
- 'javascripts/modules/wikigrok/WikiGrokAbTest.js',
),
),
diff --git a/javascripts/modules/wikigrok/WikiGrokAbTest.js
b/javascripts/modules/wikigrok/WikiGrokAbTest.js
deleted file mode 100644
index e2fa1a1..0000000
--- a/javascripts/modules/wikigrok/WikiGrokAbTest.js
+++ /dev/null
@@ -1,47 +0,0 @@
-( function ( M ) {
-
- var Class = M.require( 'Class' ),
-
- /**
- * Represents the WikiGrok A/B test.
- *
- * @class WikiGrokAbTest
- * @extends Class
- */
- WikiGrokAbTest = Class.extend( {
-
- /**
- * Initialises a new instance of the WikiGrokAbTest
class.
- *
- * @param {Boolean} isEnabled Whether or not the A/B
test is enabled
- */
- initialize: function ( isEnabled ) {
- this.isEnabled = isEnabled;
- },
-
- /**
- * Gets the version of WikiGrok to show to the user.
- *
- * @param {Object} wikiGrokUser The WikiGrok user
- * @return {String} `'A'` or `'B'`
- */
- getVersion: function ( wikiGrokUser ) {
- var lastCharacter =
wikiGrokUser.getToken().slice( -1 );
-
- return lastCharacter > 'U' ? 'B' : 'A';
- }
- } );
-
- /**
- * Creates a new instance of the WikiGrokAbTest using
`wgMFEnableWikiGrok` as
- * the `isEnabled` parameter.
- *
- * @return {WikiGrokAbTest}
- */
- WikiGrokAbTest.newFromMwConfig = function () {
- return new WikiGrokAbTest( mw.config.get( 'wgMFEnableWikiGrok'
) );
- };
-
- M.define( 'WikiGrokAbTest', WikiGrokAbTest );
-
-}( mw.mobileFrontend, mw ) );
diff --git a/javascripts/modules/wikigrok/init.js
b/javascripts/modules/wikigrok/init.js
index bf81b3c..290f58b 100644
--- a/javascripts/modules/wikigrok/init.js
+++ b/javascripts/modules/wikigrok/init.js
@@ -1,5 +1,5 @@
// Determine whether or not it is appropriate to load WikiGrok, and if so,
load it.
-( function ( M, $ ) {
+( function ( M, $, mw ) {
var wikidataID = mw.config.get( 'wgWikibaseItemId' ),
errorSchema = M.require(
'loggingSchemas/mobileWebWikiGrokError' ),
settings = M.require( 'settings' ),
@@ -17,7 +17,6 @@
name: 'b'
}
},
- WikiGrokAbTest = M.require( 'WikiGrokAbTest' ),
wikiGrokUser = M.require( 'wikiGrokUser' );
/*
@@ -50,23 +49,24 @@
*/
function getWikiGrokConfig() {
var versionOverride,
- versionConfig = null,
- wikiGrokAbTest = WikiGrokAbTest.newFromMwConfig(),
- deferred = $.Deferred();
+ deferred = $.Deferred(),
+ planOut = new mw.PlanOut();
// See if there is a query string override
if ( M.query.wikigrokversion ) {
versionOverride = M.query.wikigrokversion.toUpperCase();
if ( versionConfigs.hasOwnProperty( versionOverride ) )
{
- versionConfig = versionConfigs[versionOverride];
- }
- // Otherwise, see if A/B test is running, and if so, choose a
version.
- } else if ( wikiGrokAbTest.isEnabled ) {
- versionConfig =
versionConfigs[wikiGrokAbTest.getVersion( wikiGrokUser )];
- }
+ deferred.resolve(
versionConfigs[versionOverride] );
- deferred.resolve( versionConfig );
+ return deferred.promise();
+ }
+ } else {
+ planOut.queryExperimentParams( 'WikiGrokExperiment',
wikiGrokUser.getToken() )
+ .done( function ( experimentParams ) {
+ deferred.resolve(
versionConfigs[experimentParams.version] );
+ } );
+ }
return deferred.promise();
}
@@ -146,4 +146,4 @@
return d;
} );
}
-}( mw.mobileFrontend, jQuery ) );
+}( mw.mobileFrontend, jQuery, mw ) );
--
To view, visit https://gerrit.wikimedia.org/r/177774
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3c96402aa353435b87cb70ef428d84466e6b16ab
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Phuedx <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits