Custom certificate

Activities ::: mod_customcert
Maintained by Mark Nelson
Enables the creation of dynamically generated certificates with complete customisation via the web browser.

Custom certificate 3.1.21

Moodle 3.1
Released: Thursday, May 17, 2018, 3:26 PM


All notable changes to this project will be documented in this file.

Note - All hash comments refer to the issue number. Eg. #169 refers to

[3.1.21] - 2018-05-17


  • Race condition on certificate issues in scheduled task (#173).
  • Ensure we backup the 'verifyany' setting (#169).
  • Fixed encoding content links used by restore (#166).

[3.1.20] - 2018-01-23


  • The fatal error Can't use method return value in write context would occur in PHP < 5.5 . Note - this fix does not need to be applied to newer branches as the Moodle versions require PHP > 5.5.

[3.1.17] - 2017-11-13


  • Added capability mod/customcert:verifyallcertificates that provides a user with the ability to verify any certificate on the site by simply visiting the mod/customcert/verify_certificate.php page, rather than having to go to the verification link for each certificate.
  • Added site setting customcert/verifyallcertificates which when enabled allows any person (including users not logged in) to be able to verify any certificate on the site, rather than having to go to the verification link for each certificate. However, this only applies to certificates where Allow anyone to verify a certificate has been set to Yes in the certificate settings.
  • You can now display the grade and date of all grade items, not just the course and course activities.
  • Text has been added above the My certificates list to explain that it contains certificates that have been issued to avoid confusion as to why certificates may not be appearing.


  • The course full name is now used in emails.


  • Added missing string used in course reset.

[3.1.16] - 2017-09-04


  • New digital signature element (uses existing functionality in the TCPDF library).
  • Ability to duplicate site templates via the manage templates page.
  • Ability to delete issued certificates for individual users on the course report page.


  • Removed usage of magic getter and abuse of $this-&gt;element. The variable $this-&gt;element will still be accessible by any third-party element plugins, though this is discouraged and the appropriate get_xxx() method should be used instead. Using $this-&gt;element in definition_after_data() will no longer work. Please explicitly set the value of any custom fields you have in the form.


  • Added missing confirm_sesskey() checks.
  • Minor bug fixes.

[3.1.15] - 2017-08-11


  • Added much needed Behat test coverage.


  • Minor language string changes.
  • Made changes to the UI when editing a certificate.
    • Moved the 'Add element' submit button below the list of elements.
    • Added icon next to the 'Delete page' link.
    • Changed the 'Add page' button to a link, added an icon and moved it's location to the right.
    • Do not make all submit buttons primary. MDL-59740 needs to be applied to your Moodle install in order to notice the change.


  • Issue where the date an activity was graded was not displaying at all.

[3.1.14] - 2017-08-05


  • Renamed the column 'size' in the table 'customcert_elements' to 'fontsize' due to 'size' being a reserved word in Oracle.

Version information

Version build number
Version release name
Stable version
MD5 Sum
Supported software
Moodle 3.1
  • Latest release for Moodle 3.1

Version control information

Version control system (VCS)
VCS repository URL
VCS tag

Default installation instructions for plugins of the type Activities

  1. Make sure you have all the required versions.
  2. Download and unpack the module.
  3. Place the folder (eg "assignment") in the "mod" subdirectory.
  4. Visit to finish the installation