Onboarding new Wikipedians/Engineering

Notes for OB6 iteration
 * Trello card #188
 * m:Schema:GettingStartedOnRedirect
 * Work is in

Overview
For most of June and July 2013 we (the Editor engagement experiments team) have been serving the "test" of presenting Special:GettingStarted after account creation to 100% of new users on enwiki. We've iterated on the appearance of Special:GS, we've improved the guided tour when you choose a page, and added a taskbar to the top of the page if the user chooses a page to edit. We've updated this to work with the change of CentralAuth to "SUL2" behavior.

With OB6,
 * test is the new proposed workflow of presenting a Call to Action overlay
 * control is showing GettingStarted.

Test (new overlay CTA)
Successful anonymous Create account redirects back to original "returnTo" page, but with
 * ?postCreateAccountGettingStarted=true : so page knows to load special JS. Too long

Control behavior (Special:GettingStarted)
Successful anonymous Create account redirects to Special:GettingStarted with
 * ?postCreateAccount=true : so the special page knows it
 * &returnTo = original Page : so the special page can provide its [No thanks ] link back to the "returnTo" page.

If the user clicks the [No thanks, return to Article] link, the openTask JS sets up a cookie for that Article and logs a returnTo task funnel.

If the user chooses a task, the openTask JS sets a cookie so is he same

Page display triggers

Issues

 * It's possible that both openTask cookie and ?postCreateAccount and first-edit tour could all be firing on the same article view, JS overload!
 * More issues in m:Schema talk:GettingStartedOnRedirect
 * Surely we want to show something on the user page after the user creates an account and there's no CTA because the user went straight into editing or the page isn't in the main article namespace.
 * File:Direct-to-page_onboarding workflow overview.pdf has additional workflow states, like a guider pointing to "Contributions" after "No thanks"

Naming

 * the new test OB6 flow is "back to the returnTo page after create account form". I'm currently naming this "postSignup", but that's bad because Signup is a synonym for CreateAccount and much of GS applies to that state.
 * onTheReturnToPagePostCreateAccount... is too long
 * postCreateAccount... is already the query string for being post-account
 * returnTo is a key concept, but is so overused in this codebase and CentralAuth and UserLogin. And the OB5 "control" behavior of showing GettingStarted after create account also has a returnto link.
 * postCreateCTA is no good because some states don't present CTA
 * isOnboarding? Distinguishes from "control" gettingstarted, but too general.

The strings are prefixed 'gettingstarted-CTA'

UI elements

 * the Call To Action is a page overlay dialog with buttons and dismiss text
 * sounds like jquery.ui
 * two-line button with icon, looks like jorm's 2011 [[File:MW-StyleGuide-CallToAction.png]]; Kaldari says he built this in jquery.ui

Bugs

 * SpecialGettingStarted.php's  is doing a commons lookup and can fail. spage has a fix, should file a bug and split it out.
 * On local wiki when logged in as a new user, http://localhost/wiki/index.php?title=A%20restricted%20page&postCreateAccountGettingStarted=true has wgIsProbablyEditable = true, even though the page is protected with [edit=autoconfirmed] (indefinite).
 * GS/resources/*.js files should all have a header summarizing what they do and when loaded.