Last modified: 2013-12-05 06:22:39 UTC
Converting CategoryRoulette to an API module will make it more reusable by other interfaces and better abstracted away from the current UI of GettingStarted. We'll be able to test it thoroughly, and when we discover bugs, we'll be able to make all the same API calls the interface is making, and thus quickly isolate problems. Dogfooding an internal API is going to be especially important if we want to test variants concurrently. Also an important driver for this is that the mobile team currently wants to access GettingStarted tasks in MobileFrontEnd to suggest things for mobile editors, but that the GettingStarted UI is not suited for mobile.
It should be fairly straightforward, I think, to create an API module that exposes CategoryRoulette::getRandomArticles as an API action. You'd probably want to give the action a name that makes the limited scope (= i.e., random in task categories, not every category) apparent.
Change 97691 had a related patch set uploaded by Mattflaschen: New API for selecting a task; related refactoring and minor fm https://gerrit.wikimedia.org/r/97691
Change 97691 merged by jenkins-bot: New API for selecting a task; related refactoring and minor fm https://gerrit.wikimedia.org/r/97691