Custom certificate

Activities ::: mod_customcert
Maintained by Mark Nelson
Enables the creation of dynamically generated certificates with complete customisation via the web browser.
Latest release:
19329 sites
340 fans
Current versions available: 12

This plugin allows the generation of dynamic PDF certificates with complete customisation via the web browser.

Currently supported versions: 3.9, 3.10 and 3.11.

Please do not ask support questions here. For support please post on the support forums.

GDPR Compliant.

If you like this plugin feel free to donate. smile btn_donate_LG.gif


This plugin is part of set MoodleCloud.


Screenshot #0
Screenshot #1
Screenshot #2


Mark Nelson (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS


  • Fri, May 13, 2016, 3:12 PM
    Hi Mark,
    I am loving this plugin.

    I have read the Moodle Docs but I can not see if the certificates are saved to the system. If they are where do they live?

  • Sun, May 15, 2016, 2:57 PM
    Hey Gus, the certificates are generated on the fly - they are not saved on the file system.
  • Fri, May 27, 2016, 6:46 AM
    Where does this mod get its fonts from? Can I add fonts somewhere for use?
  • Mon, May 30, 2016, 11:23 AM
    Peter - the fonts are stored in /lib/tcpdf/fonts. Please see to view how to add additional fonts.
  • Thu, Jun 2, 2016, 9:20 AM
    Unfortunately this thing works on my test site but crashes when I try to install it on my production site. It generally crashes when I attempt to use either the "manage certificates" or the "upload pictures" links on the production site, giving me an error 500.
  • Thu, Jun 2, 2016, 11:41 AM
    Hi Peter - sounds like it is a permission issue on the file server. Otherwise it's strange the code works on one site and not another. Have you turned on to see if there is an error that is displayed?
  • Sun, Jun 5, 2016, 12:55 AM
    Just tried it but I get this:

    "Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request."

    No matter what. It didn't do this on my test server. my deployed version of Moodle is Moodle 3.0.2 (Build: 20160111). My dev server runs Moodle 3.0.4 (Build: 20160509). Could this be the issue?
  • Thu, Jun 9, 2016, 5:53 PM
    Hi Peter, if this wasn't an issue on your test server but is on your deployed one then it sounds to me like this is an issue with your permission on the file server. Please check your permissions for mod/customcert.
  • Sat, Jun 25, 2016, 1:39 AM
    Hi, Great plugin... i was wondering, is there a way for the user to view his/her certificates. kinda like "My Certificates" ?
  • Mon, Jun 27, 2016, 11:28 AM
    Thanks Zeld. Currently there is not. The only way would be to view each activity to retrieve a copy of the PDF. 'My certificates' was written for the mod_certificate activity, so that will not list any of the certificates for this plugin. However, I expect it would not be too hard to create a copy of 'My certificates' and simply change the SQL queries. Cheers!
  • Lina
    Tue, Jun 28, 2016, 3:00 PM
    Hi Mark. Many thanks for providing this plugin to the community; its functionality is really appreciated by our staff and students, and we’re really grateful to you for your efforts to maintain and update it.

    On that note, please could I quickly query whether you have any plans to update the plugin to be fully compatible with Moodle v3.1, and its new Global Search feature in particular? To clarify: while we’ve tested the Custom certificate plugin under v3.1 and all of the core functionality seems to work fine, we’ve found that instances of the activity are not searchable via v3.1’s Global Search feature. Please see the following screenshot for details, which lists all of the available areas that can searched under v3.1 (note that these settings are available via: Site Administration -> Plugins -> Search -> Manage Global Search):

    Note also that the above screenshot was taken on a v3.1 system where the Custom certificate plugin is installed and available. However, as you can see, the Custom certificate activity is not listed as being available to be searched. Obviously, this is likely to be a significant problem/cause of confusion for users who might want to search for specific instances of the Custom certificate activity across Moodle.

    I’m not a developer, but my understanding is that mod plugins can be made searchable relatively easily via the addition of a new search class within the plugin’s codebase (located at ../classes/search/activity.php). Please see the following for further details:

    We really hope this search capability can be added to Custom certificate as I’m sure it would be a huge benefit to our users (as well as those of other v3.1 systems) and, again, many thanks for all your efforts to develop this plugin and share it with the community.

    Best wishes,
  • Tue, Jun 28, 2016, 3:24 PM
    Hey Lina - sounds like a great idea. The person responsible for adding global search to Moodle 3.1 works on the computer next to me, so shouldn't be an issue picking his brain if I need to. smile I created so I will be reminded to work on it when I get time.
  • Lina
    Tue, Jun 28, 2016, 3:29 PM
    Hi Mark. That's the best news I've got today. Thanks a lot for your prompt response and I'm looking forward to the new update.
    Best wishes,
  • Tue, Jul 19, 2016, 9:14 PM
    Hey Mark,

    we really love this plugin!
    The functionality is great and with a little bit of work, the results are as well.

    To get it into our production system we'd love to use the template features of the certificates but with the restriction, that you can only load existing templates, which can't be changed by unauthorized users in the module itself.
    This is because we'd love to maintain consistency in our university design throughout the system.

    Do you plan on implementing such a functionality?
    A possible solution might use moodles capabilities to define who gets to access the UI elements that influence the design and who doesn't.

    Best wishes and many thanks for the great plugin,
  • Wed, Jul 20, 2016, 5:32 PM
    Hi Ferdinand,

    Glad you are getting use out of this plugin! smile

    Regarding your request - this would be possible, as you said, by using capabilities and then changing the logic in the code (allowing users to view the certificate and load templates, but not being able to alter the appearance). It would require some work on my behalf and I am currently spending most of my time on core Moodle code - so can not provide you an estimate on when I believe this will be done. In the meantime, I recommend creating an issue at (and providing a pull request if you or anyone else has written some code) and telling anyone at your institute that can manage a certificate not to change the template once it has been loaded, not ideal but the only suggestion I have right now.
Please login to post comments