I understand the Certificate of Completion idea is currently under consideration, but was wondering if anyone has had success with using a free third party tool to generate a certificate, inside a Canvas course? Our hope it to create a Module that students can only enter after completing a set of requirements, and inside the Module is an option to download a basic certificate that includes their name, credits, etc... Any help/advice is greatly appreciated! Thanks!
Hi @jenny_hopf
I would love to see a native Certificate feature in Canvas, but I have been getting along just fine without one by doing exactly what you described - I create a certificate and upload it into a restricted module based on student scores or completion of activities. The students then download the Cert and add their name into a specified field.
This is not 100% secured, because students who have actually achieved the certificate, can then redistribute it.
There is an LTI tool available in the EduAppCenter that integrates nicely with Canvas, that can also help meet your need. You can check it out at Edu App Center
You should consider making this a feature idea request to add support to Canvas building this. You can learn more at How does the feature idea process work?
Kelley
@jenny_hopf , I preface this suggestion with the warning that I have not yet tried this approach, but you might get some ideas for issuing certificates from "Hacking" Canvas Using G Suite .
I would like a tool like that. We currently do one of two options. One is what @kmeeusen suggests above and second involves going to our system where teachers sign up for workshops and having them just do a short quiz there because it will generate a certificate. I really don't like the two system option.
I would want the LTI tool to read the user information so that it automatically adds their names and we could build the certificate with the number we are required to use for training that is acceptable for Continuing Ed towards certification renewal.
Hi @jenny_hopf ,
We too had a need to have a certificate for certain courses, so I created a simple LTI tool that dynamically creates a PDF certificate with the student name, course name and completion date.
This tool requires a server with PHP and the FPDF library as well as setting up the tool in Canvas. The code will require some customization in order to adjust the text as necessary (based on how you want the certificate to look). The customization isn't anything too difficult, but you will want to read the examples and tutorials for FPDF.
If you are interested, I can share the code and the setup for the LTI in Canvas.
Alex
I would definitely be interested. It would be a great improvement for us.
I'd be interested as well!
Here is the PHP code:
<?php
require_once("fpdf181/fpdf.php");
$pdf = new FPDF('L', 'in', 'Letter');
$pdf->AddPage();
$pdf->SetMargins(0, 0);
$pdf->Image('images/cert.png', 0, 0, 11, 8.5);
$pdf->ln(2.45);
$pdf->setFont('Times', 'B', 24);
$pdf->SetX(5.45);
$pdf->Cell(4.5, 1, date('F j, Y', time()), 0, 1, 'L');
$pdf->setFont('Times', 'B', 24);
$pdf->SetXY(5, 4.15);
$pdf->MultiCell(5, .75, $_POST['custom_user_name'], 0, 'C');
$pdf->setFont('Times', 'B', 18);
$pdf->SetXY(5, 5.9);
$pdf->MultiCell(5, .75, $_POST['custom_course_name'], 0, 'C');
$pdf->ln(.5);
$pdf->output();
?>
The LTI is setup is as follows:
Name | |
---|---|
(Whatever you want) | |
Consumer key | Shared Secret |
(Doesn't matter; script doesn't use it) | (Doesn't matter; script doesn't use it) |
Launch URL | |
(Whatever the URL for the script is) | |
Domain | Privacy |
Anonoymous | |
Custom Fields | |
user_name=$Person.name.full course_name=$Canvas.course.name | |
Description | |
(Whatever you want) |
After that, you will be able to add it to a course module under the 'External Tools' option.
Thank you!
Hi akkaufmann ,
I am really exited to work with FPDF concept of generating certificate , but could you please assist me with the file location where i need to upload this pdf file . & do i need to restart my server later?
further to inform you i am using self hosted canvas lms on Azure VM .