Thread:Extension talk:Contribution Scores/change the way score is calculated

Hi,

First of all, just wanted to say this extension is great.

We have installed it in our corporate wiki, as part of an internal program to motivate users to contribute to it. We would like, however, to give more points to users who create new articles as well as to differentiate longer, well thought, editions (such as a 5 paragraph long new section on an article) from shorter, quicker, less relevant changes (such as a one letter typo correction).

While thinking about this it came to me that maybe it is possible to allow users to create, on their LocalSettings.php a custom calculating function. I am no php expert myself, so please see the pseudo-code below:

on the extension itself:

efContributionScores_Render (...) for u in all_users do

new_articles = countNewArticles(u) total_edits = countTotalEdits(u) unique_edits = countUniquePageEdits(u) other_data = countOtherRelevantData(u) (...)

if function_exists "csCustomUserCalculation" then

score[u] = csCustomUserCalculation (new_articles, total_edits, unique_edits, other_data)

else

score[u] = unique_edits + 2 * sqrt(total_edits - unique_edits)   // default behaviour end if

end for

return score

Users would then be able to add a custom way of calculating scores to their LocalSettings, something like this (again in pseudo-code):

csCustomUserCalculation (new_articles, total_edits, unique_edits, ...)

score = 10 * new_articles + total_edits

return score

Any thoughts???

Rbirmann (talk) 16:10, 22 January 2015 (UTC)