Blocks: Ranking block

Maintained by Picture of Willian Mano Araújo Willian Mano Araújo
A ranking block to improve the gamification into the course.
825 sites
57 fans

Moodle Ranking block repository


If you like the block ranking please donate, help me to have more time to continue working on this project. This block is and will remain free, but your donation allows me to continue the development, and any amount is greatly appreciated.

Buy me a coffee. big grin

Imagem com link para doação

This block improves gamefication into the moodle plataform.

This new version is more simpler and easy to use, but, with more visual.

The plugin works listening moodle events, so now, the points are added in real time.

The ranking works with the activity completion tracking, so you need to enable that and configure the criterias for all activities you want to monitor. The plugin only add points to activities with completion criterias. The method to add points remains the same.

There are different ways to gain points.

For example:

  • If a student completes a html page the ranking adds 2 points.
  • If a student completes an assignment and it is ended only when the student receive a grade. The ranking add 2 points plus the grade points to the student. You can configure the default points in the block configuraion.

NOTE: All the activities that needs grade to be finished will add the activity points (default 2) more the activity grade. For example: If the course has one assignment and it's configured to be completed only after the grade is received by the student and let's say a random student received by the end of the assignment 10(ten) as his grade. In this case that student will obtain 12(twelve) points, the 2(two pre-configured) from finishing the activity plus 10(ten) from his grade.

This only occurs with activities that have grades. ex: foruns, assignments, lessons, etc...

For Moodle version 3.2+ 

With the new chart api in moodle version 3.2 i added some graphs to see the groups performance. Enjoy and feel free to send me your feedback.

Update Notes

  • Added graphs page
  • Added event listeners to add point
  • Removed cron dependency
  • Added a weekly ranking
  • Added a monthly ranking
  • Added a tiny report with top 100 students in general ranking
  • Added filter the tiny report by groups (the course group mode needs to be "separeted groups" or "visible groups")
  • Now you don't need configure the course completion tracking, only the activities completion criterias. Again, the plugin only monitors the activities with completion criteria
  • The table ranking_cmc_mirror was removed.


First way

  • Clone this repository into the folder blocks.
  • Access the notification area in moodle and install

Second way

  • Download this repository
  • Extract the content
  • Put the folder into the folder blocks of your moodle
  • Access the notification area in moodle and install

Post instalation

After you have installed the block you just add it into the moodle course.

The ranking block works together with the activity completion, so you need to enable that and configure the criterias for all activities you want to monitor. The ranking block monitors these activities and add points to the students based on accomplishing the activities.

Enabling completion tracking

  • Go to: Site administration / Advanced features
  • Turn on the item "Enable completion tracking"
  • Inside the course go to: Course administration / Edit settings
  • In the section Completion tracking set "Completion tracking" to yes
  • Save


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6


Picture of Willian Mano Araújo
Willian Mano Araújo (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Willian Mano Araújo
    Thu, 8 Dec 2016, 3:58 AM
    Ricardo Caiado, you can download right now the upgrade to Moodle 3.2
  • Picture of Santiago Mendoza Ramirez
    Fri, 9 Dec 2016, 10:59 PM
    How can you reboot all rakings points? Is there an option?
  • Picture of Kazuya Toyoshima
    Wed, 14 Dec 2016, 4:02 PM
    is it work on PHP7.1?
  • Picture of Walter Mazza
    Thu, 22 Dec 2016, 7:00 PM
    Is it possible separate the rank list by groups?
    I have two groups (group1 and group2) in group1 there is one student and in group2 another one.
    If I click on "See full ranking" as a student I see all the users ranking but i want to see only my groups!
  • Picture of Willian Mano Araújo
    Sat, 24 Dec 2016, 4:33 AM
    Hey Walter Mazza. This is not possible to do in the current version of the plugin. But you can do that and send a pull request. ;)
  • Picture of Willian Mano Araújo
    Sat, 24 Dec 2016, 4:34 AM
    Kazuya Toyoshima, YES! It work with PHP 7.1 and Moodle 3.2
  • Picture of Mah Ch.
    Sun, 9 Apr 2017, 4:54 AM
    Hi , im working with this plugin and it is quite impressiv plugin. I just have one problem the version which im using ist showing by default firstname and Points. I wish to display the alternatename in the block (Ranking#, alternatename, Points). I guess i can do that by editing the code is that right? Unfortunatly im not Moodle Admin so i have to be sure that it can be done so that i can contact my admin n tell him to change the settings...
    Thanks a in advance for help
  • Picture of Willian Mano Araújo
    Wed, 12 Apr 2017, 1:24 AM
    Mah Ch. Thanks . =)

    If you have access to the code you can change everything.
  • Picture of Mah Ch.
    Wed, 12 Apr 2017, 3:53 PM
    Hello Willian thxn for fast reply.
    can you please tell me which code lines i have to change so that i can only see (Ranking#, alternatename, Points) in Score table?

    thank you
  • Picture of Willian Mano Araújo
    Wed, 19 Apr 2017, 1:25 AM
    On file lib.php function block_ranking_get_students_by_date line 106 AND funcution block_ranking_get_students line 55.
  • Picture of Matti Jordman
    Thu, 8 Jun 2017, 5:21 PM

    I'd find a couple of typos in lang-file:

    Is this working?
    $enablemultipleattempts = $DB->get_record( 'config_plugins'...

  • Picture of Willian Mano Araújo
    Sat, 10 Jun 2017, 2:22 AM
    Hi Matti Jordman, i already fixed it on the latest version. Thanks for report.
  • Picture of Yvan Urunuela
    Sun, 18 Jun 2017, 10:30 AM
    Hi Willian,
    Thanks for this very useful plugin.
    I'm on Moodle 3.2 and I have the last version of the plugin. I have access to the code.
    Is that possible to use the variable "average grade" in a test activity (as it can be selected in the test setting) for the ranking? (instead of adding points). In other words, is it possible to rank students with the average grade they get when doing a test many times?
  • Picture of Willian Mano Araújo
    Wed, 19 Jul 2017, 11:31 PM
    Yvan, you can, but it needs a lot of work. The ranking works with the moodle events and the completion event is fired everytime the user completed the activitie but only add points one time. The exception is the Quiz activity. You can add points everytime the user completed a Quiz. You can implement this but you will need to rewrite all the plugin's logic.
  • Picture of Gus Lanlun
    Thu, 14 Sep 2017, 10:20 PM
    I installed this plugin in Moodle 3.0 and when I try to add this block in one course but when I try to add this block to a course, I get a message that says "Error reading from the database" and every time I try to access the course I get that error. Do you know if it is an installation error or why this error appears to me?
1 2 3 4 5 6 7 8
Please login to post comments