Extension:Contest

About
Contest extension that allows users to participate in admin defined contest challenges. Via a judging interface, judges can discuss and vote on submissions.

Feature overview

 * Admin interface for managing contests and their challenges.
 * Landing and signup pages for each contest.
 * Personal contest list and submission interface for each user.
 * Summary pages per contest listing contestants, which can be filtered and sorted.
 * Judging interface that allows for rating and commenting on each participant.
 * All contests, challenges, contestants, comments and votes can be queried and exported via the API.
 * Signup and reminder emails.

Requirements
Contest requires:
 * MediaWiki 1.18 or above
 * PHP 5.2 or above
 * MySQL

Download
You can get the code directly from SVN. Tags can be obtained via

Where 'version' is the version number of the tag, such as 0_1 (see the available tags). The latest code can be obtained from trunk:

Installation
Once you have downloaded the code, place the Contest directory within your MediaWiki 'extensions' directory. Then add the following code to your LocalSettings.php file:

The final set is running the MediaWiki setup script update.php, which can be found in the maintenance directory of your MediaWiki install. Via the command line, this is typically done with:

Configuration
Configuration of Survey is done by assigning to $egContestSettings in your LocalSettings.php file. The options are listed below and their default is set in the Contest settings file. You should NOT modify the settings file, but can have a look at it to get an idea of how to use the settings, in case the below descriptions do not suffice.

Example of how to change a setting:

Available settings:

Administrators
Admins are people with the contestadmin right, and only they can create, modify and delete contests.

The main entry point for judges is Special:Contests, which is a page that lists all contests. On this page, each contest has edit and deletion links, and on the top of the page, there is a control to add a new contest. Contests are created and modified on Special:EditContest/$name, where $name is the name of the contest. On this page there first are the contest fields, followed by a list of the challenges associated to the contest, together with their fields.

Judges
Judges are people with the contestjudge right, and only they can view submission details and rate and comment on them.

The main entry point for judges is Special:Contests, which is a page that lists all contests. From here they can navigate to the contest overview and participants list by clicking the "summary and participants" link for the contest they are interested in. Here they can get an overview of all participants and click on the id of a participant to go to Special:Participant/$id, which shows specific data for that participant, and has rating and commenting controls.

Contestants
The flow for contestants, including signup, should be clear just by looking at the interface and following directions there.

Relevant special pages are:


 * Special:ContestWelcome/$name contest overview with challenges, where $name is the contest name.
 * Special:ContestSignup/$name contest signup page, where $name is the contest name. You end up here after picking a challenge on the welcome page.
 * Special:MyContests shows a list of contests you have signed up for, or immediately the details of one if you signed up for only one.

After signup, a link "My contests" will appear in the top menu before the "My watchlist" link. You can disable this link by going to your preferences, and uncheck the "Show a link to My Contests in the user menu." in the "Contests" tab.

Version
This is a copy of the release notes file on SVN, which might be more up to date then this page.

Version 0.1
2011-10-20

Initial release with these features:


 * Admin interface for managing contests and their challenges.
 * Landing and signup pages for each contest.
 * Personal contest list and submission interface for each user.
 * Summary pages per contest listing contestants, which can be filtered and sorted.
 * Judging interface that allows for rating and commenting on each participant.
 * All contests, challenges, contestants, comments and votes can be queried and exported via the API.
 * Signup and reminder emails.

Internationalization
Contest is fully internationalized. Translation of Contest messages is done through translatewiki.net. The translation for this extension can be found here. To add language values or change existing ones, you should create an account on translatewiki.net, then request permission from the administrators to translate a certain language or languages on this page (this is a very simple process). Once you have permission for a given language, you can log in and add or edit whatever messages you want to in that language.

Authors
Contest has been written by Jeroen De Dauw as Wikimedia Foundation contractor for the Weekend of Code project.