Advice for developing a complex assignment/assessment type

Advice for developing a complex assignment/assessment type

by Brad Smith -
Number of replies: 4

Hello all, 

I have a use case that I don't think is met by any of Moodle's existing features, so I'm prepared to write my own mod for it, but I wanted to get some advice here first. Thanks in advance to anyone who can spare some time to look this over and share their thoughts!

My "students" are employees who handle service issues where they record their work in tickets (think Bugzilla, RT, etc). We have a ticket QA group that reviews and critiques tickets. 

For each of several types of tickets, I want to develop an assessment that works like this:

  1. Student starts on a page that reviews and summarizes traning relevant to the task.
  2. At the bottom of the page is a form for submitting an arbitrary number of ticket IDs. As the student works tickets of this type, she submits the IDs at the bottom of the assessment page. The student must be able to add tickets piecemeal, rather than having to submit them all at once.
  3. When a ticket ID is submitted, the QA team is notified.
  4. QA team reviews the ticket, and assigns a grade and comments to the submitted ticket.
  5. The assessment is considered "passed" when a pre-defined number of the submitted tickets have been given a passing grade (we might want to use a percentage instead of a fixed number of passes).

I've already written a custom assignment module that does most of this, but it only accepts a single ticket, so the grade given to the ticket and the grade given to the assignment is the same.

The need to have an assignment that accepts an arbitrary number of tickets and derives its grade from grades assigned to the tickets seems... more complicated. I wonder if I should be looking at some sort of customization of the quiz module rather than a custom assignment. 

So, I guess my question is: does what I'm describing sound similar enough to something that already exists, perhaps some third-party module I haven't yet encountered, that people would suggest I look into starting there? Any other advice is, of course, welcome!

Average of ratings: -
In reply to Brad Smith

Re: Advice for developing a complex assignment/assessment type

by Brad Smith -

Update: a friend suggests using the Database module for this, and upon reflection that may be just what I need. Still open to suggestions if people have them, though.

In reply to Brad Smith

Re: Advice for developing a complex assignment/assessment type

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

How distinctive are your ticket IDs? If they are distinctive enough, then you could write a Moodle text filter, so that wherever someone types a ticket id, it is automatically made into a link. That is just like if you type "MDL - some number" in these forums, which is what Moodle tracker issue ids look like, then you automatically get a link like MDL-3030.

If you have that filter in place, then you can just use the ordinarly Online text assignement (or the equivalent in Moodle 2.3+), but it will also work in other places. For example, if you had a discussion forum, then it would be easy for people to discuss example tickets there.

See http://docs.moodle.org/dev/Filters

In reply to Tim Hunt

Re: Advice for developing a complex assignment/assessment type

by Brad Smith -

I like the idea of adding a filter to auto-link ticket IDs, and may do just that (thanks!), but that doesn't seem to solve the issue of aggregating results for tickets of the same type. 

To clarify, I want to be able to have a single assignment that "contains" an arbitrary number of individually-graded tickets from which it derives its grade. It looks like this way a student could keep a regularly-updated list of ticket IDs, but the assignment would still only support a single grade. Am I missing something?

In reply to Brad Smith

Re: Advice for developing a complex assignment/assessment type

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Sorry, I did not read your previous post enough. The advice to use Database or Glossary activity is almost certainly the way to go.