Setting up a marking portal in Moodle

This quick post gives a few details on a marking portal using a moodle database, with some useful features. If this interests you, read on

I spent the last couple of evenings happy ‘moodling’ with a marking portal in moodle. The heavy lifting had already been done by Philip Shields but I wanted to make a few tweaks. The really nice bit about this portal is that it offers a tabbed view with the tabs selected depending on the user that is logged in:


This allows a few nice features

  • Supervisor and Assessor mark ‘blind’
  • A 3rd marker/moderator can be assigned and they will see the moderator tab
  • Unit Convenor sees everything (including ‘examiner’ tab to change supervisor/assessor/moderator if required)
  • Of course, everything can get exported to CSV

My additions were as follows

  • There is now space to record a discussion between the first/second markers once they have completed marking.  discussion
  • Simplification of templates. This was simple, but the moodle interface makes it hard to edit HTML. I made lots of changes and messed it up. In the end I figured it out
    • copy the whole template into the wonderful sublime editor
    • save as an HTML file (or sublime won’t know it’s HTML)
    • use the edit->line->reindent function to neaten up your HTML
    • make minor changes
    • select all (ctrlA), copy the whole thing back to the moodle interface and test
    • reverse the change if it doesn’t work!
  • Finally, I made it so that when the user ‘calculates a mark’, the marking is automatically marked complete (the user can uncheck the box if it is still draft). This proved surprisingly hard to do – moodle variables are given an ID, but for checkboxes (or anything with a list of values) this ID is appended with “_0”,”_1″…
    • Previously this was done manually
    • This makes it easy to populate the ‘list view’


.. and the code. This is all HTML/javascript and in the template.


    <input type="button" name="clickbtn" value="Calculate Total" onclick="calc_tot_Sup_Per()">
    [[Sup_Per_Marked]] Leave unchecked if your marking is incomplete


function calc_tot_Sup_Per() {
        var effort = Number(document.getElementById('[[Sup_Per_effort#id]]').value);
        var quality = Number(document.getElementById('[[Sup_Per_quality#id]]').value);
        var reliance = Number(document.getElementById('[[Sup_Per_reliance#id]]').value);
        var result = (effort + quality  + reliance ) / 3.0 ;
        document.getElementById('[[Sup_Per_total#id]]').value = result;
        document.getElementById('[[Sup_Per_Marked#id]]_0').checked = true;

This stuff is really hard to find on the moodle forums, mostly it is either simple template editing stuff, or PHP programming for the moodle backend (and I don’t have access to that nor would I want to start fiddling with moodle’s innards).

Things I’d still like to do

  • The ‘save and view’ button sends the user back to ‘single’ view. I have no idea how to change this, I would like to send them back to ‘list’ view
  • I’d like to restrict the list view so you only see your students
  • I’d like to find some source of moodle documentation that talks about advanced template/database design but from a user not developer perspective

Anyway, I hope you found that interesting and if you’re trying something similar do let me know.


This entry was posted in teaching, tools. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s