# Extension:ArticleScores

MediaWiki extensions manual
ArticleScores

Release status: beta

Implementation Parser extension, Database, Data extraction
Description Allows rating of articles
Author(s) Josef Martiňák (Jossmarttalk)
MediaWiki 1.22
Database changes Yes

Translate the ArticleScores extension if it is available at translatewiki.net

Check usage and version matrix.

The ArticleScores extension allows inserting the score to every article's revision by using the stars. Recent revision is of the highest importance. One revision can be rated from the same IP address again next day. Javascript required.

## Algorithm

• Let's iterate the revisions' list of an article sorted by rev_id DESC (from table "revision")
• First iteration has a weight=0.8^i and the number i (starts with 0) increments with following iterations if weight>0.0001.
• We can avoid rounding errors with this limit. These weights are so tiny that we can leave them.
• Rated revision (has a row in articlescores table) has a score:
• S = sum of stars of this revision / number of votes.
• Not rated revision has a score S = 0.

${\displaystyle R={\frac {\sum (S_{i}\cdot w_{i})}{\sum w_{i}}}}$

• R: rating of the article
• w: weight = 0.8^i. If revision is not rated, w(i)=0.
• i: iteration step, starts with 0
• S: rating of a revision

As soon as some edit on a rated article is done, the rating gets recounted.

## Notes

• Tested with Vector skin only
• Main page is excluded from rating.

### SpecialPage

SpecialPage:ArticleScores diplays best, worst, or articles with selected rating. The are sorted by the score. Articles with score 2 have in fact 1,5 - 2,4999. There is no paging, I assume that only top articles in the selected filter are interesting. Number of items displayed can be set in AS_SPECIAL_ITEMS, see Configuration section.

## Installation

require_once("\$IP/extensions/ArticleScores/ArticleScores.php");

define('AS_NAMESPACES', '0,2,12');