Extension:GettingStarted

The GettingStarted extension provides an onboarding process for new editors of Wikipedia.

Features

 * UX/UI described in more detail at Onboarding new Wikipedians

GettingStarted provides several interfaces for suggesting introductory tasks to newly-registered editors, and it uses guided tours to show them how to complete their first edits.

If CentralAuth is installed, GettingStarted users are redirected back to their internal referrer (or the main page, if there was no referrer) post-registration. After users are sent back, they are provided with an invitation to either edit the current page or take a suggestion of something easy to edit.

Without CentralAuth, the above is the same, but the standard core interstitial page letting you change your preferences (or click a link to return) shows. The link to their internal referrer is modified to include a GettingStarted parameter (triggering the above-mentioned invitation).

Dependencies

 * Extension:EventLogging
 * Extension:GuidedTour

Installation
GettingStarted uses Extension:EventLogging to log and Extension:GuidedTour to provide tours and tooltips. As of January 2013 they are required. Extension:CentralAuth is supported but not required.

The extension maintains its lists of articles in a Redis in-memory store. See for the latest requirements and dependencies.

API
The extension implements a MediaWiki API query list submodule that supplies pages to work on or simply related pages. These page suggestions are optional for the GettingStarted new user experience and they only appear if the wiki has appropriate task categories set. The API depends on lists of articles stored in Redis and populated from on-wiki categories, which can be configured. You may also exclude certain categories via (on the Wikimedia cluster   in InitialiseSettings.php determines its value).

View the generated API documentation on English Wikipedia. The following are examples of of types of pages you call from the API:


 * Get 10 random pages, related to Earth, in JSON
 * Get a single random page needing copy-editing, in JSON
 * Get three random pages needing copy-editing, in XML