OppiaMobile Community

Badges configuration

Hi Oppia-Team,

@alex I know we recently talked about badges but couldn’t quite remember the details. I also wasn’t able to find detailed information in the docs.
Could you remind me what the default badges are, that are awarded and to which extent those can easily be changed?

Thanks a lot.

Hi @Manuel,

Ah yes the badge options are a little hidden in the docs, as they’re under the server settings:

The badge award method selected currently applies to all course on the whole oppia server, and to change it need to be changed in the server settings (one of the config files).

There’s basically just a badge for each course completed.

From what I recall, I think we had brief chat about this on one of our calls the other week. We can add other badges and other criteria for completing a course and/or being able to have different award criteria for each course - but will just need to figure out the exact requirements, LOE etc.


So to be more specific: It is currently possible to select one of the three methods to apply badges for courses and these are

  • BADGE_AWARD_METHOD_ALL_ACTIVITIES (default) - all activities in the course must be completed, and all quizzes passed
  • BADGE_AWARD_METHOD_FINAL_QUIZ - only need to pass the final quiz
  • BADGE_AWARD_METHOD_ALL_QUIZZES - all the quizzes in the course must be passed

But these are independent from course completion, correct? As in, course completion requires all quizzes passed and activities completed but receiving a badge could happen even if the user only completes the final quiz, if BADGE_AWARD_METHOD_FINAL_QUIZ is selected, correct?
If so, what are the options that can be set for course completion? To which extent is this flexible? Are there activities that can be completely optional and quizzes that only need to be attempted to complete a course?

Ah no, these 3 options define how courses will be marked as completed, but currently you can only select one method that will apply to all courses on the specific server.

So, by default, the all activities method is applied, so the user must complete everything (and pass all quizzes). If it gets set to final quiz, the user only need to pass the last quiz in the course to be considered as having completed it (perhaps a better word in this case would be passed the course). Right now we’re probably using ‘completed’ and ‘passed’ as analogous.

We don’t have completely optional activities at the moment, but for a quiz, if the pass threshold is set to 0, then really the user only needs to attempt the quiz (and doesn’t need to get anything right).

Hope that helps?

Just to verify my understanding: The BADGE_AWARDING_METHOD documentation is about the definition of course completion and badges are currently always awarded for a completed course (based on the set definition). Is that correct?
And what is then the difference between course completion indication on the course overview and the badge? Or is it the same thing, just in a different form?
I remember that badges stay even if contents of a course change which leads to course being incomplete again. Is that correct?

And it’s possible to define quiz thresholds anywhere between 0-100%, correct? And is it possible to define that differently for different quizzes within the same course? E.g. if there are multiple quizzes and the user needs to complete all activities and quizzes to complete the course, could we set some at 100% and others at only 60%

Hi, I put my responses inline below…

Yes, that’s right

It’s almost the same thing. If the badge method is all activities, then yes it is the same thing. However, if the badge method is set to final quiz or all quizzes, then you could get the badge (because you’ve passed the relevant quizzes), but the overview will still show that there are activities you’ve not completed yet

Yes, if a user completes a course (v1) and gets the badge, then they keep this badge, as they completed it at the point v1 was released. If the course is then updated (v2), then they keep the badge, but the course overview will show that there are activities to complete (because these have been updated), but you won;t get another badge upon completing these new activities.

If a user only completes say half the activities in course v1 (so they don;t yet have the badge), then the course is updated (to v2), they will need to complete all activities (including re-completing any updated ones they’ve already done), to be able to get the badge.

Yes, on exporting from Moodle, all quizzes in a course can have custom pass thresholds (0-100% in steps of 5%). So any quiz in a course can have it;s own pass threshold.

Thanks a lot for the clarification. Really helpful.