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


  • Anthony Borrow
    Wed, Feb 26, 2014, 6:56 AM
    William - Many thanks for sharing this creative plugin with the Moodle community. I installed the block fine but do have a couple (hopefully small) suggestions for improving things before we approve this. The first is to replace the 200 in version.php with MATURITY_STABLE. That should be quick and easy. The second suggestion has to do with settings.php. Currently your settings are being stored in the mdl_config table; however, it would be better if they were stored in mdl_config_plugins. To do this consider using the get_config function and changing lines like:

    $settings->add(new admin_setting_configtext('block_ranking_rankingsize', get_string('rankingsize', 'block_ranking'),
    get_string('rankingsize_help', 'block_ranking'), 10, PARAM_INT));

    $settings->add(new admin_setting_configtext('block_ranking/rankingsize', get_string('rankingsize', 'block_ranking'),
    get_string('rankingsize_help', 'block_ranking'), 10, PARAM_INT));

    It will mean having to create your own variable for those settings but helps to prevent bloating of $CFG

    For example instead of using:


    You would at the beginning of the script create
    $cfg_ranking = get_config('block_ranking');
    and then use $cfg_ranking->rankingsize instead.

    Also, please review http://docs.moodle.org/dev/Plugin_validation#Recommended_URLs and provide the source, tracker, and documentation URLs. For now, I am going to mark this plugin as needing more work but once you have addressed these issues please upload the revised version and then schedule the plugin to be reviewed again.

    Feel free to use the comments here for any discussion or if you have any questions. Peace -Anthony

  • Anthony Borrow
    Wed, Feb 26, 2014, 9:55 AM
    William - Thanks for making such quick work of that. I noticed one other minor issue that I would ask you to fix up when you get a chance. In the lang files the subpackage and copyright should be like the other files with your name. If you have questions just let me know. Peace - Anthony
  • Anthony Borrow
    Wed, Feb 26, 2014, 10:01 AM
    Regarding the URLs, you have a couple of options. Are you using Github or something similar to host your code? If so, for tracking issues you can either use Github's issues or if you would like we can create a component in the Moodle Tracker that would auto-assign issues related to your plugin to you. Similarly for documentation, you can use Github's wiki functionality or you can use Moodle Docs. If you wish to use Moodle Docs I would recommend having a look at:


    For both the Moodle Tracker and Moodle Docs you will need to create an account. Please do not hesitate to let me know if there is anything I can do to be supportive of your efforts. Peace - Anthony
  • Anthony Borrow
    Wed, Feb 26, 2014, 10:05 AM
    Oops, my apologies Willian, I just noticed I had been misspelling your name. I see the link to the source points to Github, so now you just need to decide which tools you want to use for the tracker and documentation. I am going to go ahead and approve the plugin and if you want to use Github, you can modify the entry and provide those URLs. If you want to use the Moodle Tracker let me know so I can create the component and then I usually come back and add the URL. Peace - Anthony
  • Fri, Feb 28, 2014, 1:20 PM
    Hello. ! I was trying to use this block but when I try to update moodle database. It doesn't update the screen keep in color white. this is my screen http://postimg.org/image/9encuwzsd/ I press the bottom update and nothing happen
  • Fri, Feb 28, 2014, 9:58 PM
    Hello Jehova, i don't see any problem in there. Whats is your moodle version?
  • Sat, Mar 1, 2014, 11:28 AM
    Hi.! I fix my problem. I deleted the folder in block. The problem was this:
    Fatal error: Can't use function return value in write context in /home/ovasyste/public_html/pruebamoodle/moodleprueba/blocks/ranking/block_ranking.php on line 47

    Could you help me with this? I'm so intereting to use this block. it's very powerful for my sites.
    Thank for your answer
Please login to post comments