eduNEXT / eox-hooks

GNU Affero General Public License v3.0
3 stars 0 forks source link

feat: add action that propagates grade to course programs #23

Closed mariajgrimaldi closed 3 years ago

mariajgrimaldi commented 3 years ago

Description

This PR adds a new action that can be executed after the user's certificate generation, triggered by the post_certificate_creation signal. When executed, propagates the grade obtained in the course to a course component defined in the course advanced settings.

Use case

Imagine you have a Course Program that is defined by three courses X, Y and Z. The scores obtained in those need to be mapped to the Course Program so the student can obtain the certificate of the program, there we can execute the action.

How to test

Course configuration In your course advanced settings*, add:

{
    "EDNX_TRIGGER_GRADES_ASSIGNMENT": {
        "block_id": "621fa4ef3a9d40b1854ff43f46ad8855",  # Block id that represents the course in the course program
        "program_id": "course-v1:Demo+DUP+2014_T1"  # Course Program course id
    }
}  

To enable course advanced settings, turn on this feature: cms/envs/common.py 'ENABLE_OTHER_COURSE_SETTINGS': True,

Microsite configuration In your microsite settings:

"EOX_HOOKS_DEFINITIONS": {
        "post_certificate_creation": {
            "action": "trigger_grades_assignment",
            "fail_silently": true,
            "module": "eox_hooks.actions"
        }
    },
"USE_EOX_HOOKS": true,

You'll need your courses configured so they can generate certificates. Then, after generating certificates in the courses belonging to the program, you can check out the overall grade obtained in the program.

Supporting information

https://edunext.atlassian.net/browse/PS2021-916?atlOrigin=eyJpIjoiMTFlNTdiN2JmYmVjNDZjMWE2MTk2MjBiNzFjNzMxNTQiLCJwIjoiaiJ9