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

Reply via email to