Extension:E3 Experiments/Testing

To see if it's running,
 * visit Special:Version
 * in a console like Firebug, Firefox Tools > Web Developer > Web Console or Chrome(ium)'s ? console, enter variables like:
 * mw.activeCampaigns - a JSON structure of campaign info
 * $getTrackedActions - a JSON structure of events that have fired

Using dashboard.js

 * Developers
 * In extensions/E3Experiments, run grunt min which creates minified dist/dashboard.js Select this with pbcopy or xsel -b < dist/dashboard.js Navigate to Special:Preferences > Appearance > Custom JavaScript and paste it in


 * Users
 * Load the dashboard code by pulling testwiki:User:Ori_Livneh_(WMF)/dashboard.js into your own custom js, by adding the following line to testwiki:Special:Preferences > Appearance > Custom JavaScript

importScript("User:Ori_Livneh_(WMF)/dashboard.js"); When you reload, you should see a Campaigns section in the left-hand navigation, and you should start seeing messages like these appear as you interact with the site:
 * (T+000) ClickTracking debug cookie set (expires in 7 days).
 * (T+000) tracked event "undefined"

The start and end times of activation and eligibility are driven by code in the extension, along with eligibility for the experiment &mdash; see ../Architecture.

If not, maybe it's your skin.

In a JavaScript console, look for mw.domlog (the function to write stuff out).

Tips
When you see a hard-to-read collection of curly braces like [16:20:34.872] ({AccountCreation:{name:"AccountCreation", version:1, preferences:{setBuckets:false}, rates:{ACP1:25, ACP2:25, ACP3:25, none:25}, ACP1:(function {$j("#pt-anonlogin a").each(function  {$j(this).attr("href", $j(this).attr("href") + "&campaign=ACP1");}) try pasting just the part in curly braces through http://jsonlint.com. Even if the validator fails, it will format it nicely for you.

When you see URL-encoded text like %7B%22AccountCreation%22%3A%5B%22ACP3%22%2C1%5D%7D try pasting it into http://meyerweb.com/eric/tools/dencoder/ and clicking [Decode]. Or in a console, unescape("''paste string here") will approximate this.

Cookie
In the net panel of a debugger, inspect a request, you will see lots of cookies

Once someone is bucketed, he or she has the following cookies some set by other tests:

Interactions
Special:Preferences > Appearance > "Exclude me from feature experiments" checkbox...

Events/tracking don't seem to fire on pages in the Special namespace.