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)|
Translate the ArticleScores extension if it is available at translatewiki.net
|Check usage and version matrix.|
- 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: 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.
- Tested with Vector skin only
- Main page is excluded from rating.
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.
- Download archive at here and unwrap in extensions folder
- In LocalSettings.php add:
- Run maintenance/update.php, two tables (articlescores and articlescores_sum) will be added.
Open config.php and set following constants:
- AS_NAMESPACES - numbers of namespaces we want to rate, separated by comma, for example
- AS_SPECIAL_ITEMS - number of rated articles showed on Special:ArticleScores. Default is 50.