Release status: beta |
|
|---|---|
| Implementation | Special page |
| Description | Allows challenging other users through Special:ChallengeUser. Challenge history and statistics can be viewed on their own, separate special pages. |
| Author(s) |
|
| Latest version | 1.3 |
| MediaWiki | 1.39+ |
| Database changes | Yes |
| License | GNU General Public License 2.0 or later |
| Download | Download extension Git [?]: CHANGELOG at Phabricator |
|
Hooks used
|
|
| Quarterly downloads | 5 (Ranked 165th) |
| Translate the Challenge extension if it is available at translatewiki.net | |
| Issues | Open tasks · Report a bug |
The Challenge extension allows challenging other users through Special:ChallengeUser. When challenging another user, the challenger gets to lay out the terms, i.e. what users must do if they win/lose (for example, edit a certain page or write a new page, and so on).
Challenge history and statistics can be viewed on their own, separate special pages (Special:ChallengeHistory and Special:ChallengeStandings, respectively).
Like many other social tools, Challenge was originally developed at ArmchairGM, where it was used for a while between 2006-2007. It was fixed in late 2014 by Jack Phoenix for ShoutWiki.
Requirements
- Extension:SocialProfile
Installation
- Download and place the file(s) in a directory called
Challengein yourextensions/folder. - Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( 'Challenge' );
- Run the update script which will automatically create the necessary database tables that this extension needs.
Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
User rights
The Challenge extension adds one new user right, challengeadmin, which allows picking the winner of an individual challenge when viewing the details of a challenge on Special:ChallengeView. This user right is granted to the sysop (administrator) user group by default.
Issues/To-do
5. UserActivity changes — this is from Sports (Gaming Newest).php (with some tweaks for fowards-compatibility & best practises, obviously):
case 'challenge_sent':
// @todo FIXME: i18n
$challenge_link = "<a href=\"index.php?title=Special:ChallengeView&id={$item["id"]}\">challenge</a>";
// "issued an accepted [[Special:ChallengeView/$1|challenge]] to $2 $3",
$output .= "issued an accepted {$challenge_link} to {$user_link_2} {$item_time}</span>";
$output .= "<div class=\"user-feed-item-comment\">{$item['pagetitle']}</div>";
break;
case 'challenge_rec':
$challenge_link = "<a href=\"index.php?title=Special:ChallengeView&id={$item["id"]}\">challenge</a>";
// "accepted a [[Special:ChallengeView/$1|challenge]] from $2 $3",
$output .= "accepted a {$challenge_link} from {$user_link_2} {$item_time}</span>";
$output .= "<div class=\"user-feed-item-comment\">{$item['pagetitle']}</div>";
break;
5. For UserActivity::getTypeIcon():
case 'challenge_rec':
case 'challenge_sent':
return 'challengeIcon.png';
6. Test email i18n messages out, improve the English text(s) as necessary and finally translate them to Finnish (fi)
7. Fix the "counter terms" (internal status code, as used in ChallengeView::displayChallenge etc. for this case is 2) functionality; right now it sends the challenge into a de facto infinite loop as far as the challenger and challengee are considered; I'm not sure if a challenge admin can do stuff with it.