By adding this XBlock to a course unit you can fetch grades from an external system for a corresponding problem(s) in Open edX and another system and grade users in Open edX based on what recieved from the external system.
X-API-Key
you should set this.4
your system can send back assignment 1 to 4 gradesTO-DO
After filling all the required fields in studio by clicking on Grade me button if the authentication is requiered we first make an call the auth endpoint, recieve a token and after that we construct an HTTP request to the grader endpoint based on the parameters and their values you have set in studio.
The external system should return a JSON with the following structure:
{
"results": [
{
"assignment_id": 1,
"grade": 1,
"assignment_title": "Create Org Unit Group Sets and Assign OU Groups to them.",
"reason": "User created at least one child org unit under their root."
},
{
"assignment_id": 2,
"grade": 0,
"assignment_title": "Create Org Units and Assign OU Groups to them.",
"reason": "All of the user's org units are assigned to 1 or more of their org unit groups."
},
{
"assignment_id": 3,
"grade": 1,
"assignment_title": "Create Org Unit Group Sets and Assign OU Groups to them.",
"reason": "User Created at least two organisation unit group sets and they have 2 or more (>= 2) Org Unit Groups Assigned."
},
{
"assignment_id": 4,
"grade": 1,
"assignment_title": "Create the six specified data elements.",
"reason": "User created the six specified data elements."
}
]
}
assignment_id
, grade
and reason
are required in the response. Please make sure your system returns these parameters.
Here is an example of the response. By filling the fields 4, 5, 12, 13 and 14 in the Fields section, you can see a demo of how this XBlock works.
msgfmt text.po -o text.mo
locally in the gradefetcher/translations/fr_CA/LC_MESSAGES/
folder or other languages folder to update the language files and after that push the changes to the branch.install:app-requirements
.See CHANGELOG.md