Extension:Contribution Scores

MediaWiki extensions manual
Contribution Scores
Release status: stable
Implementation User activity , Special page , Parser function
Description Polls wiki database for highest user contribution volume.
Author(s) Tim Laquatalk
Latest version 1.26.1 (2023-09-03)
MediaWiki >= 1.34.0
Database changes No
License GNU General Public License 2.0 or later
Download
log
Example
  • $wgContribScoreIgnoreBots
  • $wgContribScoreIgnoreBlockedUsers
  • $wgContribScoreIgnoreUsernames
  • $wgContribScoresUseRealName
  • $wgContribScoreDisableCache
  • $wgContribScoreReports
Translate the Contribution Scores extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The Contribution Scores extension polls the wiki database to locate contributors with the highest contribution volume. The extension is intended to add a fun metric for contributors to see how much they are helping.

Installation

  • Download and move the extracted ContributionScores folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/ContributionScores
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'ContributionScores' );
    // Exclude Bots from the reporting - Can be omitted.
    $wgContribScoreIgnoreBots = true; 
    // Exclude Blocked Users from the reporting - Can be omitted.
    $wgContribScoreIgnoreBlockedUsers = true;
    // Exclude specific usernames from the reporting - Can be omitted.
    $wgContribScoreIgnoreUsernames = [];
    // Use real user names when available - Can be omitted. Only for MediaWiki 1.19 and later.
    $wgContribScoresUseRealName = true;
    // Set it to true to disable the cache for the parser function and the inclusion of the table.
    $wgContribScoreDisableCache = false;
    // Use the total edit count to compute the Contribution score.
    $wgContribScoreUseRoughEditCount = false;   
    // Each array defines a report - 7,50 is "past 7 days," and "LIMIT 50" - Can be omitted.
    $wgContribScoreReports = [
        [ 7, 50 ],
        [ 30, 50 ],
        [ 0, 50 ]
    ];
    
  •   Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Contribution score

The score is defined as (number of unique pages edited) + 2 * square root ((number of edits) - (number of unique pages edited)):

page_count+SQRT(rev_count-page_count)*2

Customization

Appearance

The following CSS classes are used but NOT defined - you can define them in your MediaWiki:Common.css article:

.contributionscores-wrapper {
}
.contributionscores-title {
    background-color: #aaa;
    margin-bottom: 0px;
    padding-left: .4em;
}
.contributionscores .header {
    background-color: #ccc;
    border-bottom: 1px solid #999;
    font-weight: bold;
}
.contributionscores .odd {
    background-color: #eee;
}
.contributionscores .header td {
    padding-left: .2em;
    padding-right: .2em;
}
.contributionscores .content {
    padding-left: .2em;
    padding-right: .2em;
}

Edit MediaWiki:Sidebar and add the line

** Special:Contributionscores|contributionscores

Usage

Special Page

You will have a new Special Page titled "Contribution Scores"

Inclusion/Transclusion

You can include this special page in to other pages using the following wikitext:

{{Special:ContributionScores/<limit>/<days>/<options>}}
10 top contributors from the last 5 days
{{Special:ContributionScores/10/5}}
10 top contributors since the beginning of wiki
{{Special:ContributionScores/10/all}}
15 top contributors from the last 7 days, no tool links
{{Special:ContributionScores/15/7/notools}}
15 top contributors from the last 3 days, not sortable and no tool links
{{Special:ContributionScores/15/3/nosort,notools}}

#cscore Parser Function Examples

Contribution Score for Tim Laqua

{{#cscore:Tim Laqua|score}}

Changes Made for Tim Laqua

{{#cscore:Tim Laqua|changes}}

Unique Pages Edited for Tim Laqua

{{#cscore:Tim Laqua|pages}}

See also