Certificate of achievement

Hello. I am making a certificate template. I want it to show the overall percentage of student’s course performance. As I understand it, Open Edx does not store this data, but calculates it on the progress page. Using the api /api/certificates/v0/certificates/${username}/courses/${course_id}/ I extracted the grade, everything is displayed correctly on the certificate. Now I have encountered a problem: when a student shares his certificate with friends, their performance result is not displayed, it says NaN (authentication problem when executing the api). How can I solve this problem or what should I write on the server so that this api is executed even for unauthorized users?

Hi @guren1290

That API I think is only available for the user itself. To extend the certificates I think the best way is to use Django template way of doing it - add more template context variables.

This is something that we have extended on our own platform, we are still using our own extension points, but in future I want to replace them with the Open edX filters/hooks. Nevertheless, it is adding or chaning the rendered certificate context.

I think you have to append the grade presentation to the context of the certificate:

If you want an even more complicated example of multiple grade scales, 0-10, 0-20, letter based grade scale, be inspired by this:

We have different course teams that have to use specific grade scales on their certificates. So they can configure their custom stuff per course run on Studio “Advanced Settings” on the “Certificate web/html view overrides” field.

Kind regards.