Ranking block

Blocks ::: block_ranking
Maintained by Willian Mano Araújo
A ranking block to improve the gamification into the course.
Latest release:
1664 sites
96 fans
Current versions available: 3

Moodle Ranking block repository


This block is and will remain free, but your donation allows me to continue the development, and any amount is greatly appreciated.

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


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

Comments RSS


  • Sat, Dec 24, 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. ;)
  • Sat, Dec 24, 2016, 4:34 AM
    Kazuya Toyoshima, YES! It work with PHP 7.1 and Moodle 3.2
  • Sun, Apr 9, 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
  • Wed, Apr 12, 2017, 1:24 AM
    Mah Ch. Thanks . =)

    If you have access to the code you can change everything.
  • Wed, Apr 12, 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
  • Wed, Apr 19, 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.
  • Thu, Jun 8, 2017, 5:21 PM

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

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

  • Sat, Jun 10, 2017, 2:22 AM
    Hi Matti Jordman, i already fixed it on the latest version. Thanks for report.
  • Sun, Jun 18, 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?
  • Wed, Jul 19, 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.
  • Thu, Sep 14, 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?
  • Mon, Oct 2, 2017, 12:03 AM
    Hi Willian,
    I installed Moodle 2.9 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 how to fix it or why this error appears to me?
  • Tue, Oct 31, 2017, 11:11 PM

  • Tue, Nov 14, 2017, 9:52 PM
    Hello Friend
    I have a course with several exam tests.
    I need the plugin to make a ranking for each exam.
    If I could buy a solution I would donate something atra ves de paypal.
    thank you very much
  • Tue, Nov 14, 2017, 10:04 PM
    Hi issam el ayadi, I can do something for you. Send me an email and I will do a quotation for you. My email is willianmanoaraujo@gmail.com
Please login to post comments