Custom certificate module

Jump to: navigation, search

Note: You are currently viewing documentation for Moodle 2.5. Up-to-date documentation for the latest stable version of Moodle may be available here: Custom certificate module.

Custom certificate module
Type activity
Discussion none for the moment
Maintainer(s) W3DevCampus


This Moodle plugin delivers custom certificates with the ability for the user to display his/her identity photo on a certificate, after acknowledgement by a teacher. The "moodle-mod_customcertificate" also enables that any exterior party (such as a future employer) can check the validity of a given certificate by using the certificate's automatically generated code. A record of course certificates (without being connected to the associated Moodle e-learning platform) can also be checked.

This module is based on the "Simple Certificate" one, maintained by Carlos Alexandre S. da Fonseca, , with the addition of more customization features, the student authentification using its photo, and the ability to recover an archive of all certificates for a given course and without the QR code.

Quick install

Two installation methods are available. Follow one of these, then log into your Moodle site as an administrator and visit the notifications page to complete the install.

Most recommended method - Git

If you do not have git installed, please see the link below. Note that it is not necessary to set up SSH Keys, as this is only needed if you are going to create a repository of your own on

See infos on how to install Git -

Once you have git installed, just visit the Moodle mod directory and clone git:// Please, do remember to rename the folder of the certificate if you do not specify this in the clone command.

Fo example, a Linux command line would be as follow: git clone git:// customcertificate

Once cloned, checkout the branch that is specific to your Moodle version. eg, MOODLE_22 is for Moodle 2.2, MOODLE_23 is for 2.3. Use git pull to update this branch periodically to ensure you have the latest version.

Download the customcertificate module.

Visit, choose the branch that matches your Moodle version (eg. MOODLE_22 is for Moodle 2.2, MOODLE_23 is for 2.3) and download the zip, uncompress this zip and extract the folder. The folder will have a name similar to W3DevCampus-moodle-mod_customcertificate-c9fbadb, but you MUST rename this to customcertificate. Place this folder in your mod folder in your Moodle directory.

N.B.: Why is this method not recommended? This is because you have to over-write the contents of this folder to apply any future updates to the customcertificate module. In the first methode (Git), there is one simple command to update the files.

How to report a bug

You can report in:

Create a certificate

This is the list of the different fields :


This section is displayed on the course page for students (if there are eligible)

Certificate Name: Enter the name of the instance Introduction (optional): Write a short description

Design options

This section concern the creation of the certificate in pdf format.

  • Certificate Image File : Choose an image which will use as background of certificate
  • Certificate Text : This is the main text
  • Certificate Width (default): Width of certificate
  • Certificate Height (default): Height of certificate
  • Certificate Text Horizontal Position (default): The left margin of the certificate text (in pixels)
  • Certificate Text Vertical Position (default): The margin at the top of the certificate text (in pixels)
  • Introduction Certificate Text: This is the text to use as introduction
  • Introduction Certificate Text Horizontal Position (default): The left margin of the introduction text (in pixels)
  • Introduction Certificate Text Vertical Position (default): The margin at the top of the introduction text (in pixels)
  • Conclusion Certificate Text: This is the text to use as conclusion
  • Conclusion Certificate Text Horizontal Position (default): The left margin of the conclusion text (in pixels)
  • Conclusion Certificate Text Vertical Position (default): The margin at the top of the conclusion text (in pixels)
  • Add Photo to Certificate (default): This option requires students to send a photo that must be validated by a teacher. This option is only available when the form is being created. It can't be changed thereafter
  • User Photo Horizontal Position (default): The left margin of the user photo (in pixels)
  • User Photo Vertical Position (default): The margin at the top of the user photo (in pixels)
  • User Photo Width (default): The width of the user photo
  • User Photo Height (default): The height of the user photo

(default) = The chosen value matches the default value from the plugin installation process.

Add user photo

When a certificate is created with "Yes" applied to the field "Add Photo to Certificate", students must send an identity photo below 100ko, which will be validated by a teacher.

So the student should click on the "custom certificate" activity link for add his/her photo.

When the photo is sent, the teacher receive a mail to validate this photo.

Validate users photo

Teachers and administrators can validate photos by activating the link they will find in a mail, or from the admin menu. There is a list of photos showing the users names with checkboxes. When a photo is validated, the student receive a mail to pick up the certificate.

Verify a certificate

When the certificate is created, a unique code is generated and displayed at the bottom of the certificate, with an URL, allowing a third party (who do not have a Moodle account) to verify the information on a certificate. This person should go to the link listed on the certificate, enter the unique code, and he/she can see the information of issuance of the certificate and the original pdf. Teachers and administrators can go to this link with the admin menu.

Obtain an archive of course certificates

Teachers and administrators can download an archive with all delivered certificates for each course in a zip format, using the admin menu.

Obtain a certificate

If either a student has sent a photo which has been validated, or if a student doesn't need to send a photo, he/she can obtain the certificate by clicking on the "custom certificate" activity link on the course.

Text marks

In this version other user profile data can be added, like email, first name, country, and the custom profile data too.

Text Mark Description Since version
{USERNAME} Full user name 1.x.x
{COURSENAME} Full course name (or what is in Alternate course name option) 1.x.x
{GRADE} Formatted Grade 1.x.x
{DATE} Formatted Date 1.x.x
{OUTCOME} Outcomes 1.x.x
{HOURS} Defined hours in course 1.x.x
{TEACHERS} Teachers List 1.x.x
{IDNUMBER} User id number 2.x.x
{FIRSTNAME} User first name 2.x.x
{LASTNAME} User last name 2.x.x
{EMAIL} User e-mail 2.x.x
{ICQ} User ICQ 2.x.x
{SKYPE} User Skype 2.x.x
{YAHOO} User yahoo messenger 2.x.x
{AIM} User AIM 2.x.x
{MSN} User MSN 2.x.x
{PHONE1} User 1° Phone Number 2.x.x
{PHONE2} User 2° Phone Number 2.x.x
{INSTITUTION} User institution 2.x.x
{DEPARTMENT} User department 2.x.x
{ADDRESS} User address 2.x.x
{CITY} User city 2.x.x
{COUNTRY} User country 2.x.x
{URL} User Home-page 2.x.x
{PROFILE_xxxx} User custom profile fields 2.x.x
{CERTIFICATECODE} Unique certificate code text 2.1.x
{USERROLENAME} User role name in course 2.2.0
{TIMESTART} User Enrollment start date in course 2.2.0
{USERIMAGE} User profile image 2.2.0
{USERRESULTS} User results (grade) in others course activities 2.2.0

In order to use custom profiles fields you must use "PROFILE_" prefix, for example: you has created a custom profile with shortname of "birthday," so the text mark used on certificate must be {PROFILE_BIRTHDAY}

Languages with special character

Some languages have non latin characters, like Russian or Japanese, in order to work these languages properly, you must use: style="font-family: freeserif;" or something as font style, for example:

<span style="font-family: freeserif;">простой сертификат</span>

<span style="font-family: hysmyeongjostdmedium;">かんたん証明書</span>

<span style="font-family: kozgopromedium;">かんたん証明書</span> (it is better for Japanese characters, but under lib/tcpdf/fonts/ you need kozgopromedium.php which is included in the latest version of TCPDF)

See also