OLD Certificate report

OLD Certificate report

by Kate Rhodes -
Number of replies: 3

Hi there - this is a question for the OLD certificate. When we view the list of issued certificates, the date received isn't not updating with the certificate.  If you download the issued certificate it will display the new date that the certificate was issued, but the report is still keeping the old date.  

For example, one person had a certificate issued to them on December 21, 2019 but the report says it was issued the last time they took the course which was in February 2018.  These courses are meant as refresher courses so they do take them yearly.

The users have re- enrolled in the course, so it's not that they are doing the course on the old enrolment either. It's like the information for the certificate doesn't get dumped when they are unenrolled.  The date on the certificate is the date they took the final test, not the course completion date.

The cron job is running okay with no errors, although I don't know how to tell if it's looking at the certificate info.

Any ideas what I should be looking at?


I want to switch them over to the new custom certificate, but it's difficult to do when everything is still active, and they don't like change. sad

report

Average of ratings: Useful (1)
In reply to Kate Rhodes

Re: OLD Certificate report

by Ray Hinton -
I believe that the "Date received" is stored in the certificate_issues database table, which is not changed (deleted or updated) when a user is unenrolled from the course. When they are re-enrolled in the course, the old value is still there, and is looked up for display.

The date that goes on the certificate (Print Date) is not necessarily the same thing - it might be based on a grade item or activity completion. It can also be set to the Issue date, which is the same value from the certificate_issues table. This setting would explain the mismatch of dates that you see for students taking the course again.

That is, I do not think you are missing a setting - I think you are experiencing the plugin working as designed. The Date Received will basically never change once it is set.

It sounds like the course is yearly, so perhaps you could make a new Certificate instance for each year, and hide the old ones?

The Custom certificate plugin uses a similar database table that behaves the same way, so if you're considering a transition, now might be a convenient time to try a new workflow!

Disclaimer: not a programmer by any means, but I've used the Certificate and Custom certificate plugins for several years, and answered lots of student/teacher questions about dates and the stuff in our database. smile
Average of ratings: Useful (1)
In reply to Ray Hinton

Re: OLD Certificate report

by Kate Rhodes -
Hey Ray! Appreciate your feedback. Okay, so it sounds like short of me going in and clearing the database manually - the plugin just won't do it by itself. The problem I have with creating a new certificate is that the certificates are valid for random times, for example, if I took the course today, I'm good until this time next year. If you took it in April 2020, you'd be good until April 2021. Kind of a drag that way....
I've been using the Custom certificate plugin on a few other sites and prefer it. I'll see if I can get this client to make the switch.
Thanks!
In reply to Kate Rhodes

Re: OLD Certificate report

by Ray Hinton -
Ahh, the rolling enrollment or validity periods makes it a bit funny.

And to be clear, so that I don't give you false hope: the Custom certificate plugin handles the customcert_issues table in the same way (it does not delete records when a user is unenrolled), so I think you'd be in the same situation even if your client changed. Various plugins seem to handle this in different ways, even among core activities (Forums, Assignments, etc.). Must depend on a mixture of pedagogical principles, and preferences of the developer.

In a way, it sounds like the certificate is a proxy for performance on some other Moodle activity, so perhaps using that data directly would be best for your exact situation. Students could still get the cosmetic certificate that has a new date every year. To validate the new yearly test completion, an admin could just look at the activity page or gradebook directly (probably tedious). Or maybe a clever query in the Ad-hoc database queries or Configurable reports plugins would fulfill the role of the "Date received" column for the certificate. But now I am adding more plugins to your client's site, which only makes your job harder. smile

I am constantly finding the balance between "doing things the way I want" and "doing things the way Moodle will allow". Good luck!