Extension:ArticleScores

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
ArticleScores

Release status: beta

Implementation Parser extension, Database, Data extraction
Description Allows rating of articles
Author(s) Josef Martiňák (Jossmarttalk)
Latest version 0.3.1 (2014-01-30)
MediaWiki 1.22
Database changes yes
License GPL
Download here
Hooks used
LoadExtensionSchemaUpdates

BeforePageDisplay

Translate the ArticleScores extension if possible

Check usage and version matrix; code metrics

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[edit | edit source]

  • 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.

 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[edit | edit source]

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


SpecialPage[edit | edit source]

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[edit | edit source]

  • Download archive at here and unwrap in extensions folder
  • In LocalSettings.php add:
    require_once("$IP/extensions/ArticleScores/ArticleScores.php");
    
  • Run maintenance/update.php, two tables (articlescores and articlescores_sum) will be added.

Configuration[edit | edit source]

Open config.php and set following constants:

  • AS_NAMESPACES - numbers of namespaces we want to rate, separated by comma, for example
    define('AS_NAMESPACES', '0,2,12');
    
    allows Main, User, Help namespaces. Numbers of built in namespaces can be found at Manual:Namespace. Default is 0 = Main namespace.
  • AS_SPECIAL_ITEMS - number of rated articles showed on Special:ArticleScores. Default is 50.