Help:Extension:SocialProfile/User stats
User statistics in SocialProfile mainly deal with user levels, which is a somewhat "gamified" way to keep your users engaged and contributing to the wiki. In practise this means that through the user levels system, users can be awarded a set amount of points for performing certain actions on-wiki.
A user's points and their corresponding "rank" are shown on their structured social user profile page as well as on various ranking pages like Special:TopUsers
, which shows the users who have the most points on the wiki. The user rank and points shown on social profiles links to a help page; the help page name is controlled by the interface message [[MediaWiki:User-profile-userlevels-link]]
, but this page is always assumed to exist in the help namespace. Disabling this link is currently not possible.
Additionally the rank and points may be shown in other extensions/locations, like comments on blog pages and user box pages as well as elsewhere, for example.
Configuring user levels
[edit]A wiki system administrator needs to define the value of $wgUserLevels
in the wiki's LocalSettings.php
file. The variable is an array of 'Level name' => required points
mappings. For example:
$wgUserLevels = [
'Recruit' => 0,
'Apprentice' => 1200,
'Private' => 1750,
'Corporal' => 2500,
'Sergeant' => 5000,
'Gunnery Sergeant' => 10000,
'Lieutenant' => 20000,
'Captain' => 35000,
'Major' => 50000,
'Lieutenant Commander' => 75000,
'Commander' => 100000,
'Colonel' => 150000,
'Brigadier' => 250000,
'Brigadier General' => 350000,
'Major General' => 500000,
'Lieutenant General' => 650000,
'General' => 800000,
'General of the Army' => 1000000,
];
To determine which namespaces earn the user social points, set the $wgNamespacesForEditPoints
variable to an array of one or more namespaces; usually at least the main namespace is what most sites will want to include, but it's possible a site has other namespaces they also want to include in the calculations.
The $wgUserStatsPointsValues
variable also needs to be properly defined (see below) to hand out points automatically for actions.
Supported actions for which points can be awarded
[edit]The key
after the human-readable statistic name refers to the value for $wgUserStatsPointsValues
, so to give out five (5) points for sending out a gift to another user, a system administrator would set $wgUserStatsPointsValues['gift_sent'] = 5;
in the wiki's LocalSettings.php
file.
- Making an edit (
edit
) - Voting (
vote
) - Commenting (
comment
) - Having your comment receive an upvote (
comment_plus
) - Having your comment receive a downvote (
comment_neg
) - Giving someone else's comment an upvote (
comment_give_plus
) - Giving someone else's comment a downvote (
comment_give_neg
) - Having someone else add you to their comment ignore list (
comment_ignored
) - Creating a blog post (
opinions_created
) - Referring another user to the wiki so that they sign up using your referral link (
referral_complete
) - Friending another user (
friend
) - Foeing another user (
foe
) - Receiving a gift (
gift_rec
- Sending out a gift (
gift_sent
) - Challenging someone or being challenged (
challenges
) - Winning a challenge (
challenges_won
) - Receiving a positive challenge rating (
challenges_rating_positive
) - Receiving a negative challenge rating (
challenges_rating_negative
) - Having the most points in a week (
points_winner_weekly
) - Having the most points in a month (
points_winner_monthly
) - Having the most points in total (
total_points
) - Uploading your first custom avatar image (
user_image
) - Creating a new picture game (
picturegame_created
) - Voting in an existing picture game (
picturegame_vote
) - Voting in a poll (
poll_vote
) - Answering a quiz question correctly (
quiz_correct
) - Answering a quiz question (
quiz_answered
) - Creating a new quiz (
quiz_created
) - Submitting a link (
links_submitted
) - Having a submitted link approved (
links_approved
)
Handing out points for edits made before SocialProfile was installed
[edit]To give users points for all the edits they made before the SocialProfile extension was installed, someone with the updatepoints
user right should visit the Special:UpdateEditCounts
page. There's also a maintenance script that will perform the update from the command line: UserStats/maintenance/updateUserStats.php
.
Weekly and monthly winners
[edit]It's possible to hand out a certain amount of points to users who have the most points in a week or in a month. However, this process cannot be fully automated just yet (see T212174) and it requires some manual interaction from a privileged user.
Assuming $wgUserStatsPointValues['points_winner_weekly']
and/or $wgUserStatsPointValues['points_winner_monthly']
are properly set in the wiki's LocalSettings.php
file, someone with the generatetopusersreport
user right needs to visit the Special:GenerateTopUsersReport
page.
Visiting this page allows the privileged user to generate the weekly or monthly point report; it will be a page in the project namespaces and the page name is controlled by the interface messages [[MediaWiki:User-stats-report-weekly-page-title]]
and [[MediaWiki:User-stats-report-monthly-page-title]]
. The report will list a certain amount of users who've gained the most points in the period specified, and the user ranking #1 will be marked as the "winner" and awarded the amount of points specified in $wgUserStatsPointValues['points_winner_weekly']
or $wgUserStatsPointValues['points_winner_monthly']
.