From Native to Tutor, from PDF to HTML certificates and to Persist Grades or not

I ran into an interesting problem while testing a few tricks in advance of our upcoming migration from Native to Tutor. We are currently running Koa under Native and we still use PDF certificates as they are still available with Koa.

How do we move ongoing courses from PDF certificates to HTML certificates? That might be a simple question, but it is far more complicated than that. Let me explain.

I tried importing a course in my Maple instance of Tutor. It’s a course we have been using for many releases in order to test auto-generation of certificates when deploying a new release.

I couldn’t make it work with HTML certificates until I found the answer here

It definitely is more complicated to setup HTML certificates for a course, especially an existing course, when courses created before Maple and autogenerating certificates do not seem to have the certificate display behaviour fields in Studio under Dates & Details.

Is there a migration command we need to run?

And that’s not even considering the Persistent Grades issue that I needed to setup now and knowing full well it will disappear from Nutmeg according to [DEPR-152] - JIRA

I guess I will need to also run a migration command to make sure all my courses will now have Persistent Grades because none of them have it under our Native installation.

So, what is the recommended plan to move to Tutor and HTML certificates when you still have courses that have been created a few releases ago, that are still going on in Maple and that do not have Persistent Grades applied yet?

Any suggestions, recommendations, or help, would be greatly appreciated. Thank you in advance.

As far as a management command to compute Persistent Grades you can run these after enabling persistent grades via django admin.

$ ./ lms compute_grades --all_courses

OR this one for one course at a time

$ ./ lms compute_grades 'edX/DemoX/Demo_Course'

[DEPR-152] - JIRA is about deprecating the step of enabling persistent grades via django admin not the actual persistent grades feature.


Thanks @Zia_Fazal

That will solve one part of the problem for the persistent grades.

But will it solve the issue with previously auto generating courses working with HTML certificates instead of PDF certificates?

Our old courses don’t have the Certificates Display Behavior in the Dates & Details section of Studio because they were created before the switch to HTML certificates. Courses that I now create in Maple do have it.

Is there a way to convert these courses to display it?

I am able to generate HTML certificates for the new courses but not for the old courses. And that is a problem…

A few more tests later, I was able to export a course from Koa under native and import it in Koa under Tutor and Lilac under Tutor without any glitch.

Unfortunately, when I wanted to import the same course in Maple under Tutor, I would have problems later on. For example, the course would crash when I wanted to check the progression page after making sure I answered correctly the exercises I had put in that course and needed to generate my certificate.

I definitely had to turn on the persistent grades for all courses or only this course plus making sure the grades.assume_zero_grade_if_absent waffle switch was enabled. I also had to recalculate the persistent grades for this course.

I need to try this all over again starting with our migration from Koa Native to Koa Tutor and going up all the way to Maple Tutor. I should also decide when do I calculate the persistent grades for all courses. Do I do it in Koa Native or do I do it in Koa Tutor? I tried if for all courses in Maple Tutor and it took a few hours (more than 6). If it’s not intrusive or too much compute intensive, I guess I could run it anytime I want? Any suggestions from Open edX instances that have more that a few hundred courses archived or currently in Production?