<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/310/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Markn</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/310/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Markn"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/Special:Contributions/Markn"/>
	<updated>2026-05-10T13:41:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Custom_certificate_module&amp;diff=136230</id>
		<title>Custom certificate module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Custom_certificate_module&amp;diff=136230"/>
		<updated>2019-12-16T19:47:15Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity&lt;br /&gt;
|entry = https://moodle.org/plugins/mod_customcert&lt;br /&gt;
|tracker = https://github.com/mdjnelson/moodle-mod_customcert/issues&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/view.php?id=7163&lt;br /&gt;
|maintainer = [[User:Mark Nelson|Mark Nelson]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
==Description==&lt;br /&gt;
The [https://moodle.org/plugins/mod_customcert custom certificate module] allows the generation of dynamic PDF certificates with complete customisation via the web browser. It is different from the [https://moodle.org/plugins/mod_certificate certificate module] which requires PHP and FTP access in order to customise its appearance.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
There are two installation methods that are available.&lt;br /&gt;
&lt;br /&gt;
Follow one of these, then log into your Moodle site as an administrator and visit the notifications page to complete the install.&lt;br /&gt;
===Git===&lt;br /&gt;
&lt;br /&gt;
This requires Git being installed. If you do not have Git installed, please visit the Git website.&lt;br /&gt;
&lt;br /&gt;
Once you have Git installed, simply visit your Moodle mod directory and clone the repository using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git clone https://github.com/mdjnelson/moodle-mod_customcert.git customcert&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then checkout the branch corresponding to the version of Moodle you are using with the following command. Make sure to replace MOODLE_32_STABLE with the version of Moodle you are using.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git checkout MOODLE_32_STABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Use &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt; to update this repository periodically to ensure you have the most recent updates.&lt;br /&gt;
===Download the Zip===&lt;br /&gt;
&lt;br /&gt;
Visit the Moodle plugins website and download the zip corresponding to the version of Moodle you are using. Extract the zip and place the &#039;customcert&#039; folder in the mod folder in your Moodle directory.&lt;br /&gt;
&lt;br /&gt;
==Site settings==&lt;br /&gt;
&lt;br /&gt;
To visit the site settings log in as a user with appropriate permissions and visit &#039;Site administration&#039; &amp;gt; &#039;Plugins&#039; &amp;gt; &#039;Custom certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_site_settings.png]]&lt;br /&gt;
&lt;br /&gt;
===Show position X and Y===&lt;br /&gt;
&lt;br /&gt;
This will show the X and Y position when editing of an element, allowing the user to accurately specify the location.&lt;br /&gt;
&lt;br /&gt;
This isn&#039;t required if you plan on solely using the drag and drop interface for this purpose.&lt;br /&gt;
&lt;br /&gt;
===Manage templates===&lt;br /&gt;
&lt;br /&gt;
This link will take you to a new screen where you will be able to manage templates.&lt;br /&gt;
&lt;br /&gt;
===Upload image===&lt;br /&gt;
&lt;br /&gt;
This link will take you to a new screen where you will be able to upload images. Images uploaded using this method will be available throughout your site to all users who are able to create a custom certificate.&lt;br /&gt;
&lt;br /&gt;
==Managing templates==&lt;br /&gt;
Templates allow a person with the appropriate permissions to create a site-wide template that can then be used by users when adding a certificate to a course, saving them from re-creating the same certificate over and over again. To create a template log in as a user who has the appropriate permissions and visit &#039;Site administration&#039; &amp;gt; &#039;Plugins&#039; &amp;gt; &#039;Custom certificate&#039; and click on the link &#039;Manage templates&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_manage_templates.png]]&lt;br /&gt;
&lt;br /&gt;
Here you will see a list of templates that have already been created. You can choose to edit these templates, delete them or create a new one. We will be creating a new template - start by clicking on &#039;Create template&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_page.png]]&lt;br /&gt;
&lt;br /&gt;
The name here is what will be displayed to the users when they are creating a certificate in a course and would like to choose a template to load. You can add elements to the template, customise them and rearrange their position. This process is discussed later when we talk about adding a custom certificate to a course and then customising it.&lt;br /&gt;
&lt;br /&gt;
==Adding a custom certificate to a course==&lt;br /&gt;
&lt;br /&gt;
The custom certificate plugin once installed can be added just like any other activity in Moodle. Visit a course, turn editing on and click to add an activity.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_add_activity_page.png]]&lt;br /&gt;
&lt;br /&gt;
===Certificate options===&lt;br /&gt;
&lt;br /&gt;
====Allow anyone to verify a certificate====&lt;br /&gt;
&lt;br /&gt;
Each certificate when issued is assigned a unique code. It is possible to have this code displayed on the certificate by adding it as an element. To validate a certificate a person (eg. employer) may want to enter the code displayed on the certificate to confirm that it is indeed authentic. To accomplish this a logged in user requires the capability &#039;mod/customcert:verifycertificate&#039;, however with this setting set to &#039;Yes&#039; any person with the verification link (including users not logged in) can do this.&lt;br /&gt;
&lt;br /&gt;
====Email students/teachers/others====&lt;br /&gt;
&lt;br /&gt;
These settings enable the emailing of a certificate when a user is able to view it. The certificate may be hidden due to [[https://docs.moodle.org/en/Restrict_access access restrictions]], such as requiring the completion of another activity. A [[https://docs.moodle.org/en/Scheduled_tasks scheduled task]] runs that processes all the certificates that have any of these settings enabled and collects all the users to email that have not been emailed yet and are able to view the certificate and emails them the PDF.&lt;br /&gt;
&lt;br /&gt;
====Required minutes in course====&lt;br /&gt;
&lt;br /&gt;
This is the number of minutes a user is required to be in a course before they are able to view a certificate. This uses the logs in Moodle and hence can not guarantee the result to be 100% accurate.&lt;br /&gt;
&lt;br /&gt;
====Set protection====&lt;br /&gt;
&lt;br /&gt;
This determines what protection we want to set on the PDF.&lt;br /&gt;
&lt;br /&gt;
===Editing a custom certificate===&lt;br /&gt;
&lt;br /&gt;
Once you have added a certificate to your course you can then choose to edit the appearance of it. To do this view the certificate to be taken to the following page.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_menu.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can click on the cog on the top right and select &#039;Edit custom certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_page_with_items.png]]&lt;br /&gt;
&lt;br /&gt;
On the edit page you can see a list of the elements that have already been added to the certificate. You can edit, delete and move these elements. The order of these elements determine when they are rendered on the PDF. So, if you were to add a background image you would want this rendered first.&lt;br /&gt;
&lt;br /&gt;
You can also choose to load a template on this page. If you also have the permissions to manage templates you will also be shown the link to the manage templates page.&lt;br /&gt;
&lt;br /&gt;
===Adding/editing an element===&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_element_list.png]]&lt;br /&gt;
&lt;br /&gt;
The above is the list of items that come with this plugin. These are [[https://docs.moodle.org/dev/Subplugins sub-plugins]] and are fully customisable allowing the community to generate plugins and share them without having to hack the plugin code.&lt;br /&gt;
&lt;br /&gt;
When editing a custom certificate you can choose to add an element which will take you to the page to edit them.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_element.png]]&lt;br /&gt;
&lt;br /&gt;
Each element defines what characteristics you can edit. In the above example we are editing the &#039;Student name&#039; element. The site setting &#039;Show position X and Y&#039; has been enabled which is why &#039;Position X&#039; and &#039;Position Y&#039; are shown.&lt;br /&gt;
&lt;br /&gt;
===Repositioning elements===&lt;br /&gt;
&lt;br /&gt;
When editing a custom certificate under the list of elements there is a link &#039;Reposition elements&#039; that will take you to a page where you can drag and drop the elements. While on this page you can also click on the elements to bring up a dialogue that will allow you to edit its properties without having to go back to the edit custom certificate page.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_reposition_elements.png]]&lt;br /&gt;
&lt;br /&gt;
==Viewing issued certificates==&lt;br /&gt;
&lt;br /&gt;
To view issued certificates a user with the appropriate permissions can simply click on the certificate and click on the link &#039;View X issued custom certificates&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_view_issued_certificates.png]]&lt;br /&gt;
&lt;br /&gt;
Once you click on the link you can view the users who have been issued this certificate and also download their version of the certificate.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_view_issued_certificates_list.png]]&lt;br /&gt;
&lt;br /&gt;
==Verifying certificates==&lt;br /&gt;
&lt;br /&gt;
Each certificate when issued is assigned a unique code. To validate a certificate a person (eg. employer) may want to enter the code displayed on the certificate to confirm that it is indeed authentic. With the setting &#039;Allow anyone to verify a certificate&#039; enabled any person with the verification link (including users not logged in) can verify a certificate, however if it is not set, a user with the appropriate permissions (&#039;mod/customcert:verifycertificate&#039;) can do this by clicking on the certificate to gain access to the link.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_menu.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can click on the cog on the top right and select &#039;Verify certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_verify_certificate_page.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can enter the code to verify its authenticity.&lt;br /&gt;
&lt;br /&gt;
==My certificates==&lt;br /&gt;
&lt;br /&gt;
It is possible that a user may be in several courses each with their own custom certificate activity. It would be time consuming for the user to visit every course to review their certificate. In order to avoid this there is a page where the user can view all the certificates they have received.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_profile_page.png]]&lt;br /&gt;
&lt;br /&gt;
On the user&#039;s profile page under &#039;Miscellaneous&#039; the user can click on &#039;My certificates&#039; which will take them to a page listing all their certificates with the option of downloading them.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_my_certificates_page.png]]&lt;br /&gt;
&lt;br /&gt;
==Helpful links==&lt;br /&gt;
See  [https://moodle.org/plugins/mod_customcert the plugin page], the [https://github.com/mdjnelson/moodle-mod_customcert/issues tracker page] and the [https://moodle.org/mod/forum/view.php?id=7163 Moodle forum].&lt;br /&gt;
&lt;br /&gt;
[[Add_fonts_for_embedding]] - see this page for details of adding more fonts for use in TCPDF&lt;br /&gt;
&lt;br /&gt;
==Did you find this plugin useful?==&lt;br /&gt;
Click on the &#039;Add to my favourites&#039; link in [https://moodle.org/plugins/mod_customcert the plugin page].&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Custom_certificate_module&amp;diff=136229</id>
		<title>Custom certificate module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Custom_certificate_module&amp;diff=136229"/>
		<updated>2019-12-16T19:46:35Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity&lt;br /&gt;
|entry = https://moodle.org/plugins/mod_customcert&lt;br /&gt;
|tracker = https://github.com/mdjnelson/moodle-mod_customcert/issues&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/view.php?id=7163&lt;br /&gt;
|maintainer = [[User:Mark Nelson|Mark Nelson]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
==Description==&lt;br /&gt;
The [https://moodle.org/plugins/mod_customcert custom certificate module] allows the generation of dynamic PDF certificates with complete customisation via the web browser. It is different from the [https://moodle.org/plugins/mod_certificate certificate module] which requires PHP and FTP access in order to customise its appearance.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
There are two installation methods that are available.&lt;br /&gt;
&lt;br /&gt;
Follow one of these, then log into your Moodle site as an administrator and visit the notifications page to complete the install.&lt;br /&gt;
===Git===&lt;br /&gt;
&lt;br /&gt;
This requires Git being installed. If you do not have Git installed, please visit the Git website.&lt;br /&gt;
&lt;br /&gt;
Once you have Git installed, simply visit your Moodle mod directory and clone the repository using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git clone https://github.com/markn86/moodle-mod_customcert.git customcert&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then checkout the branch corresponding to the version of Moodle you are using with the following command. Make sure to replace MOODLE_32_STABLE with the version of Moodle you are using.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git checkout MOODLE_32_STABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Use &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt; to update this repository periodically to ensure you have the most recent updates.&lt;br /&gt;
===Download the Zip===&lt;br /&gt;
&lt;br /&gt;
Visit the Moodle plugins website and download the zip corresponding to the version of Moodle you are using. Extract the zip and place the &#039;customcert&#039; folder in the mod folder in your Moodle directory.&lt;br /&gt;
&lt;br /&gt;
==Site settings==&lt;br /&gt;
&lt;br /&gt;
To visit the site settings log in as a user with appropriate permissions and visit &#039;Site administration&#039; &amp;gt; &#039;Plugins&#039; &amp;gt; &#039;Custom certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_site_settings.png]]&lt;br /&gt;
&lt;br /&gt;
===Show position X and Y===&lt;br /&gt;
&lt;br /&gt;
This will show the X and Y position when editing of an element, allowing the user to accurately specify the location.&lt;br /&gt;
&lt;br /&gt;
This isn&#039;t required if you plan on solely using the drag and drop interface for this purpose.&lt;br /&gt;
&lt;br /&gt;
===Manage templates===&lt;br /&gt;
&lt;br /&gt;
This link will take you to a new screen where you will be able to manage templates.&lt;br /&gt;
&lt;br /&gt;
===Upload image===&lt;br /&gt;
&lt;br /&gt;
This link will take you to a new screen where you will be able to upload images. Images uploaded using this method will be available throughout your site to all users who are able to create a custom certificate.&lt;br /&gt;
&lt;br /&gt;
==Managing templates==&lt;br /&gt;
Templates allow a person with the appropriate permissions to create a site-wide template that can then be used by users when adding a certificate to a course, saving them from re-creating the same certificate over and over again. To create a template log in as a user who has the appropriate permissions and visit &#039;Site administration&#039; &amp;gt; &#039;Plugins&#039; &amp;gt; &#039;Custom certificate&#039; and click on the link &#039;Manage templates&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_manage_templates.png]]&lt;br /&gt;
&lt;br /&gt;
Here you will see a list of templates that have already been created. You can choose to edit these templates, delete them or create a new one. We will be creating a new template - start by clicking on &#039;Create template&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_page.png]]&lt;br /&gt;
&lt;br /&gt;
The name here is what will be displayed to the users when they are creating a certificate in a course and would like to choose a template to load. You can add elements to the template, customise them and rearrange their position. This process is discussed later when we talk about adding a custom certificate to a course and then customising it.&lt;br /&gt;
&lt;br /&gt;
==Adding a custom certificate to a course==&lt;br /&gt;
&lt;br /&gt;
The custom certificate plugin once installed can be added just like any other activity in Moodle. Visit a course, turn editing on and click to add an activity.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_add_activity_page.png]]&lt;br /&gt;
&lt;br /&gt;
===Certificate options===&lt;br /&gt;
&lt;br /&gt;
====Allow anyone to verify a certificate====&lt;br /&gt;
&lt;br /&gt;
Each certificate when issued is assigned a unique code. It is possible to have this code displayed on the certificate by adding it as an element. To validate a certificate a person (eg. employer) may want to enter the code displayed on the certificate to confirm that it is indeed authentic. To accomplish this a logged in user requires the capability &#039;mod/customcert:verifycertificate&#039;, however with this setting set to &#039;Yes&#039; any person with the verification link (including users not logged in) can do this.&lt;br /&gt;
&lt;br /&gt;
====Email students/teachers/others====&lt;br /&gt;
&lt;br /&gt;
These settings enable the emailing of a certificate when a user is able to view it. The certificate may be hidden due to [[https://docs.moodle.org/en/Restrict_access access restrictions]], such as requiring the completion of another activity. A [[https://docs.moodle.org/en/Scheduled_tasks scheduled task]] runs that processes all the certificates that have any of these settings enabled and collects all the users to email that have not been emailed yet and are able to view the certificate and emails them the PDF.&lt;br /&gt;
&lt;br /&gt;
====Required minutes in course====&lt;br /&gt;
&lt;br /&gt;
This is the number of minutes a user is required to be in a course before they are able to view a certificate. This uses the logs in Moodle and hence can not guarantee the result to be 100% accurate.&lt;br /&gt;
&lt;br /&gt;
====Set protection====&lt;br /&gt;
&lt;br /&gt;
This determines what protection we want to set on the PDF.&lt;br /&gt;
&lt;br /&gt;
===Editing a custom certificate===&lt;br /&gt;
&lt;br /&gt;
Once you have added a certificate to your course you can then choose to edit the appearance of it. To do this view the certificate to be taken to the following page.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_menu.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can click on the cog on the top right and select &#039;Edit custom certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_page_with_items.png]]&lt;br /&gt;
&lt;br /&gt;
On the edit page you can see a list of the elements that have already been added to the certificate. You can edit, delete and move these elements. The order of these elements determine when they are rendered on the PDF. So, if you were to add a background image you would want this rendered first.&lt;br /&gt;
&lt;br /&gt;
You can also choose to load a template on this page. If you also have the permissions to manage templates you will also be shown the link to the manage templates page.&lt;br /&gt;
&lt;br /&gt;
===Adding/editing an element===&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_element_list.png]]&lt;br /&gt;
&lt;br /&gt;
The above is the list of items that come with this plugin. These are [[https://docs.moodle.org/dev/Subplugins sub-plugins]] and are fully customisable allowing the community to generate plugins and share them without having to hack the plugin code.&lt;br /&gt;
&lt;br /&gt;
When editing a custom certificate you can choose to add an element which will take you to the page to edit them.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_element.png]]&lt;br /&gt;
&lt;br /&gt;
Each element defines what characteristics you can edit. In the above example we are editing the &#039;Student name&#039; element. The site setting &#039;Show position X and Y&#039; has been enabled which is why &#039;Position X&#039; and &#039;Position Y&#039; are shown.&lt;br /&gt;
&lt;br /&gt;
===Repositioning elements===&lt;br /&gt;
&lt;br /&gt;
When editing a custom certificate under the list of elements there is a link &#039;Reposition elements&#039; that will take you to a page where you can drag and drop the elements. While on this page you can also click on the elements to bring up a dialogue that will allow you to edit its properties without having to go back to the edit custom certificate page.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_reposition_elements.png]]&lt;br /&gt;
&lt;br /&gt;
==Viewing issued certificates==&lt;br /&gt;
&lt;br /&gt;
To view issued certificates a user with the appropriate permissions can simply click on the certificate and click on the link &#039;View X issued custom certificates&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_view_issued_certificates.png]]&lt;br /&gt;
&lt;br /&gt;
Once you click on the link you can view the users who have been issued this certificate and also download their version of the certificate.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_view_issued_certificates_list.png]]&lt;br /&gt;
&lt;br /&gt;
==Verifying certificates==&lt;br /&gt;
&lt;br /&gt;
Each certificate when issued is assigned a unique code. To validate a certificate a person (eg. employer) may want to enter the code displayed on the certificate to confirm that it is indeed authentic. With the setting &#039;Allow anyone to verify a certificate&#039; enabled any person with the verification link (including users not logged in) can verify a certificate, however if it is not set, a user with the appropriate permissions (&#039;mod/customcert:verifycertificate&#039;) can do this by clicking on the certificate to gain access to the link.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_menu.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can click on the cog on the top right and select &#039;Verify certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_verify_certificate_page.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can enter the code to verify its authenticity.&lt;br /&gt;
&lt;br /&gt;
==My certificates==&lt;br /&gt;
&lt;br /&gt;
It is possible that a user may be in several courses each with their own custom certificate activity. It would be time consuming for the user to visit every course to review their certificate. In order to avoid this there is a page where the user can view all the certificates they have received.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_profile_page.png]]&lt;br /&gt;
&lt;br /&gt;
On the user&#039;s profile page under &#039;Miscellaneous&#039; the user can click on &#039;My certificates&#039; which will take them to a page listing all their certificates with the option of downloading them.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_my_certificates_page.png]]&lt;br /&gt;
&lt;br /&gt;
==Helpful links==&lt;br /&gt;
See  [https://moodle.org/plugins/mod_customcert the plugin page], the [https://github.com/markn86/moodle-mod_customcert/issues tracker page] and the [https://moodle.org/mod/forum/view.php?id=7163 Moodle forum].&lt;br /&gt;
&lt;br /&gt;
[[Add_fonts_for_embedding]] - see this page for details of adding more fonts for use in TCPDF&lt;br /&gt;
&lt;br /&gt;
==Did you find this plugin useful?==&lt;br /&gt;
Click on the &#039;Add to my favourites&#039; link in [https://moodle.org/plugins/mod_customcert the plugin page].&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Add_fonts_for_embedding&amp;diff=131487</id>
		<title>Add fonts for embedding</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Add_fonts_for_embedding&amp;diff=131487"/>
		<updated>2018-07-12T03:35:04Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
Additional fonts can be included in Moodle and used by the Certificate and Custom certificate module, embedding them in the PDF.&lt;br /&gt;
&lt;br /&gt;
== Before adding custom TCPDF fonts ==&lt;br /&gt;
&lt;br /&gt;
The default location for fonts that are included with TCPDF is lib/tcpdf/fonts/. If PDF_CUSTOM_FONT_PATH exists, this directory will be used instead of lib/tcpdf/fonts/, the default location is $CFG-&amp;gt;dataroot.&#039;/fonts/&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are adding custom fonts you need to copy all fonts from lib/tcpdf/fonts/ to your PDF_CUSTOM_FONT_PATH and then add the extra fonts. Alternatively you may download all TCPDF fonts from http://www.tcpdf.org/download.php and extract them to PDF_CUSTOM_FONT_PATH directory.&lt;br /&gt;
&lt;br /&gt;
From /lib/tcpdf/fonts/readme_moodle.txt:&lt;br /&gt;
&lt;br /&gt;
:This directory contains just selected set of original tcpdf fonts in order to keep the standard Moodle distribution lightweight. You may want to manually download tcpdf package and extract its fonts/ directory into your $CFG-&amp;gt;dataroot/fonts/. In such case, pdflib.php will use this directory.  In the future, we plan to have fonts downloadable in a same way as languages are. (TODO MDL-18663).&lt;br /&gt;
&lt;br /&gt;
== Add a font from TTF file ==&lt;br /&gt;
Assuming you have a font licensed for converting and embedding...&lt;br /&gt;
&lt;br /&gt;
=== Using an online converter ===&lt;br /&gt;
You can upload TTF (or OTF) fonts to http://fonts.snm-portal.com/, and download converted versions.&lt;br /&gt;
&lt;br /&gt;
Fonts created this way seem to handle accented characters better than converting locally.&lt;br /&gt;
&lt;br /&gt;
=== Converting locally ===&lt;br /&gt;
&lt;br /&gt;
Fonts created this way may not handle accented characters correctly; this is probably dependant on the specific software versions. If you encounter this problem, you might want to try using an online converter (above).&lt;br /&gt;
&lt;br /&gt;
1. Copy the .ttf file to /lib/tcpdf/fonts&lt;br /&gt;
&lt;br /&gt;
2. Create a &amp;quot;convertfont.php&amp;quot; file in /lib/tcpdf/fonts (and ensure the web server has permissions to run it), containing:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
include(&#039;../tcpdf.php&#039;);&lt;br /&gt;
$pdf = new TCPDF_FONTS(&#039;P&#039;, &#039;mm&#039;, &#039;A4&#039;, true, &#039;UTF-8&#039;, false);&lt;br /&gt;
$pdf-&amp;gt;addTTFfont(&#039;./MyFont.ttf&#039;, &#039;TrueTypeUnicode&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
3. View the file at http://&#039;&#039;hostname&#039;&#039;/lib/tcpdf/fonts/convertfont.php (it should just show a blank page).&lt;br /&gt;
&lt;br /&gt;
4. Verify that new files have been created in /lib/tcpdf:&lt;br /&gt;
* myfont.ctg.z&lt;br /&gt;
* myfont.php&lt;br /&gt;
* myfont.z&lt;br /&gt;
&lt;br /&gt;
See below for using the font in a certificate.&lt;br /&gt;
&lt;br /&gt;
== Using a new font ==&lt;br /&gt;
&lt;br /&gt;
This sections applies to the old mod_certificate plugin, in the mod_customcert plugin the fonts will automatically be listed in the select drop-down.&lt;br /&gt;
&lt;br /&gt;
Once added, there are two ways to use the new font:&lt;br /&gt;
# Go to the Certificate module setting page and set it as the new Serif or Sans-serif font. This will apply to all standard certificates.&lt;br /&gt;
# Create a custom certificate type in /mod/certificate/type, and replace the $fontserif and $fontsans variables, as needed.&lt;br /&gt;
&lt;br /&gt;
* Replacing font for the whole file:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
// $fontsans = get_config(&#039;certificate&#039;, &#039;fontsans&#039;); // Comment out old code&lt;br /&gt;
&lt;br /&gt;
$fontsans = &#039;myfont&#039;; // Add new code.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replacing font for just the student name:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
//certificate_print_text($pdf, $x, $y + 36, &#039;C&#039;, $fontsans, &#039;&#039;, 30, fullname($USER)); // Comment out old code&lt;br /&gt;
&lt;br /&gt;
certificate_print_text($pdf, $x, $y + 36, &#039;C&#039;, &#039;myfont&#039;, &#039;&#039;, 30, fullname($USER)); // Add new code.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Certificate]]&lt;br /&gt;
&lt;br /&gt;
[[es:Añadir fonts para incrustar]]&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Add_fonts_for_embedding&amp;diff=131486</id>
		<title>Add fonts for embedding</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Add_fonts_for_embedding&amp;diff=131486"/>
		<updated>2018-07-12T03:34:35Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
Additional fonts can be included in Moodle and used by the Certificate and Custom certificate module, embedding them in the PDF (when using an &amp;quot;embedded&amp;quot; certificate type).&lt;br /&gt;
&lt;br /&gt;
== Before adding custom TCPDF fonts ==&lt;br /&gt;
&lt;br /&gt;
The default location for fonts that are included with TCPDF is lib/tcpdf/fonts/. If PDF_CUSTOM_FONT_PATH exists, this directory will be used instead of lib/tcpdf/fonts/, the default location is $CFG-&amp;gt;dataroot.&#039;/fonts/&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are adding custom fonts you need to copy all fonts from lib/tcpdf/fonts/ to your PDF_CUSTOM_FONT_PATH and then add the extra fonts. Alternatively you may download all TCPDF fonts from http://www.tcpdf.org/download.php and extract them to PDF_CUSTOM_FONT_PATH directory.&lt;br /&gt;
&lt;br /&gt;
From /lib/tcpdf/fonts/readme_moodle.txt:&lt;br /&gt;
&lt;br /&gt;
:This directory contains just selected set of original tcpdf fonts in order to keep the standard Moodle distribution lightweight. You may want to manually download tcpdf package and extract its fonts/ directory into your $CFG-&amp;gt;dataroot/fonts/. In such case, pdflib.php will use this directory.  In the future, we plan to have fonts downloadable in a same way as languages are. (TODO MDL-18663).&lt;br /&gt;
&lt;br /&gt;
== Add a font from TTF file ==&lt;br /&gt;
Assuming you have a font licensed for converting and embedding...&lt;br /&gt;
&lt;br /&gt;
=== Using an online converter ===&lt;br /&gt;
You can upload TTF (or OTF) fonts to http://fonts.snm-portal.com/, and download converted versions.&lt;br /&gt;
&lt;br /&gt;
Fonts created this way seem to handle accented characters better than converting locally.&lt;br /&gt;
&lt;br /&gt;
=== Converting locally ===&lt;br /&gt;
&lt;br /&gt;
Fonts created this way may not handle accented characters correctly; this is probably dependant on the specific software versions. If you encounter this problem, you might want to try using an online converter (above).&lt;br /&gt;
&lt;br /&gt;
1. Copy the .ttf file to /lib/tcpdf/fonts&lt;br /&gt;
&lt;br /&gt;
2. Create a &amp;quot;convertfont.php&amp;quot; file in /lib/tcpdf/fonts (and ensure the web server has permissions to run it), containing:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
include(&#039;../tcpdf.php&#039;);&lt;br /&gt;
$pdf = new TCPDF_FONTS(&#039;P&#039;, &#039;mm&#039;, &#039;A4&#039;, true, &#039;UTF-8&#039;, false);&lt;br /&gt;
$pdf-&amp;gt;addTTFfont(&#039;./MyFont.ttf&#039;, &#039;TrueTypeUnicode&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
3. View the file at http://&#039;&#039;hostname&#039;&#039;/lib/tcpdf/fonts/convertfont.php (it should just show a blank page).&lt;br /&gt;
&lt;br /&gt;
4. Verify that new files have been created in /lib/tcpdf:&lt;br /&gt;
* myfont.ctg.z&lt;br /&gt;
* myfont.php&lt;br /&gt;
* myfont.z&lt;br /&gt;
&lt;br /&gt;
See below for using the font in a certificate.&lt;br /&gt;
&lt;br /&gt;
== Using a new font ==&lt;br /&gt;
&lt;br /&gt;
This sections applies to the old mod_certificate plugin, in the mod_customcert plugin the fonts will automatically be listed in the select drop-down.&lt;br /&gt;
&lt;br /&gt;
Once added, there are two ways to use the new font:&lt;br /&gt;
# Go to the Certificate module setting page and set it as the new Serif or Sans-serif font. This will apply to all standard certificates.&lt;br /&gt;
# Create a custom certificate type in /mod/certificate/type, and replace the $fontserif and $fontsans variables, as needed.&lt;br /&gt;
&lt;br /&gt;
* Replacing font for the whole file:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
// $fontsans = get_config(&#039;certificate&#039;, &#039;fontsans&#039;); // Comment out old code&lt;br /&gt;
&lt;br /&gt;
$fontsans = &#039;myfont&#039;; // Add new code.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replacing font for just the student name:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
//certificate_print_text($pdf, $x, $y + 36, &#039;C&#039;, $fontsans, &#039;&#039;, 30, fullname($USER)); // Comment out old code&lt;br /&gt;
&lt;br /&gt;
certificate_print_text($pdf, $x, $y + 36, &#039;C&#039;, &#039;myfont&#039;, &#039;&#039;, 30, fullname($USER)); // Add new code.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Certificate]]&lt;br /&gt;
&lt;br /&gt;
[[es:Añadir fonts para incrustar]]&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Add_fonts_for_embedding&amp;diff=131485</id>
		<title>Add fonts for embedding</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Add_fonts_for_embedding&amp;diff=131485"/>
		<updated>2018-07-12T03:09:48Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
Additional fonts can be included in Moodle and used by the Certificate and Custom certificate module, embedding them in the PDF (when using an &amp;quot;embedded&amp;quot; certificate type).&lt;br /&gt;
&lt;br /&gt;
== Add all TCPDF fonts ==&lt;br /&gt;
&lt;br /&gt;
The default location for fonts that are included with TCPDF is lib/tcpdf/fonts/. If PDF_CUSTOM_FONT_PATH exists, this directory will be used instead of lib/tcpdf/fonts/, the default location is $CFG-&amp;gt;dataroot.&#039;/fonts/&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are adding custom fonts you need to copy all fonts from lib/tcpdf/fonts/ to your PDF_CUSTOM_FONT_PATH and then add the extra fonts. Alternatively you may download all TCPDF fonts from http://www.tcpdf.org/download.php and extract them to PDF_CUSTOM_FONT_PATH directory.&lt;br /&gt;
&lt;br /&gt;
From /lib/tcpdf/fonts/readme_moodle.txt:&lt;br /&gt;
&lt;br /&gt;
:This directory contains just selected set of original tcpdf fonts in order to keep the standard Moodle distribution lightweight. You may want to manually download tcpdf package and extract its fonts/ directory into your $CFG-&amp;gt;dataroot/fonts/. In such case, pdflib.php will use this directory.  In the future, we plan to have fonts downloadable in a same way as languages are. (TODO MDL-18663).&lt;br /&gt;
&lt;br /&gt;
== Add a font from TTF file ==&lt;br /&gt;
Assuming you have a font licensed for converting and embedding...&lt;br /&gt;
&lt;br /&gt;
=== Using an online converter ===&lt;br /&gt;
You can upload TTF (or OTF) fonts to http://fonts.snm-portal.com/, and download converted versions.&lt;br /&gt;
&lt;br /&gt;
Fonts created this way seem to handle accented characters better than converting locally.&lt;br /&gt;
&lt;br /&gt;
=== Converting locally ===&lt;br /&gt;
&lt;br /&gt;
Fonts created this way may not handle accented characters correctly; this is probably dependant on the specific software versions. If you encounter this problem, you might want to try using an online converter (above).&lt;br /&gt;
&lt;br /&gt;
1. Copy the .ttf file to /lib/tcpdf/fonts&lt;br /&gt;
&lt;br /&gt;
2. Create a &amp;quot;convertfont.php&amp;quot; file in /lib/tcpdf/fonts (and ensure the web server has permissions to run it), containing:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
include(&#039;../tcpdf.php&#039;);&lt;br /&gt;
$pdf = new TCPDF_FONTS(&#039;P&#039;, &#039;mm&#039;, &#039;A4&#039;, true, &#039;UTF-8&#039;, false);&lt;br /&gt;
$pdf-&amp;gt;addTTFfont(&#039;./MyFont.ttf&#039;, &#039;TrueTypeUnicode&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
3. View the file at http://&#039;&#039;hostname&#039;&#039;/lib/tcpdf/fonts/convertfont.php (it should just show a blank page).&lt;br /&gt;
&lt;br /&gt;
4. Verify that new files have been created in /lib/tcpdf:&lt;br /&gt;
* myfont.ctg.z&lt;br /&gt;
* myfont.php&lt;br /&gt;
* myfont.z&lt;br /&gt;
&lt;br /&gt;
See below for using the font in a certificate.&lt;br /&gt;
&lt;br /&gt;
== Using a new font ==&lt;br /&gt;
&lt;br /&gt;
This sections applies to the old mod_certificate plugin, in the mod_customcert plugin the fonts will automatically be listed in the select drop-down.&lt;br /&gt;
&lt;br /&gt;
Once added, there are two ways to use the new font:&lt;br /&gt;
# Go to the Certificate module setting page and set it as the new Serif or Sans-serif font. This will apply to all standard certificates.&lt;br /&gt;
# Create a custom certificate type in /mod/certificate/type, and replace the $fontserif and $fontsans variables, as needed.&lt;br /&gt;
&lt;br /&gt;
* Replacing font for the whole file:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
// $fontsans = get_config(&#039;certificate&#039;, &#039;fontsans&#039;); // Comment out old code&lt;br /&gt;
&lt;br /&gt;
$fontsans = &#039;myfont&#039;; // Add new code.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replacing font for just the student name:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
//certificate_print_text($pdf, $x, $y + 36, &#039;C&#039;, $fontsans, &#039;&#039;, 30, fullname($USER)); // Comment out old code&lt;br /&gt;
&lt;br /&gt;
certificate_print_text($pdf, $x, $y + 36, &#039;C&#039;, &#039;myfont&#039;, &#039;&#039;, 30, fullname($USER)); // Add new code.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Certificate]]&lt;br /&gt;
&lt;br /&gt;
[[es:Añadir fonts para incrustar]]&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Add_fonts_for_embedding&amp;diff=131484</id>
		<title>Add fonts for embedding</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Add_fonts_for_embedding&amp;diff=131484"/>
		<updated>2018-07-12T03:07:09Z</updated>

		<summary type="html">&lt;p&gt;Markn: /* Add all TCPDF fonts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
Additional fonts can be included in Moodle and used by the Certificate module, embedding them in the PDF (when using an &amp;quot;embedded&amp;quot; certificate type).&lt;br /&gt;
&lt;br /&gt;
== Add a font from TTF file ==&lt;br /&gt;
Assuming you have a font licensed for converting and embedding...&lt;br /&gt;
&lt;br /&gt;
=== Using an online converter ===&lt;br /&gt;
You can upload TTF (or OTF) fonts to http://fonts.snm-portal.com/, and download converted versions.&lt;br /&gt;
&lt;br /&gt;
Fonts created this way seem to handle accented characters better than converting locally.&lt;br /&gt;
&lt;br /&gt;
=== Converting locally ===&lt;br /&gt;
&lt;br /&gt;
Fonts created this way may not handle accented characters correctly; this is probably dependant on the specific software versions. If you encounter this problem, you might want to try using an online converter (above).&lt;br /&gt;
&lt;br /&gt;
1. Copy the .ttf file to /lib/tcpdf/fonts&lt;br /&gt;
&lt;br /&gt;
2. Create a &amp;quot;convertfont.php&amp;quot; file in /lib/tcpdf/fonts (and ensure the web server has permissions to run it), containing:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
include(&#039;../tcpdf.php&#039;);&lt;br /&gt;
$pdf = new TCPDF_FONTS(&#039;P&#039;, &#039;mm&#039;, &#039;A4&#039;, true, &#039;UTF-8&#039;, false);&lt;br /&gt;
$pdf-&amp;gt;addTTFfont(&#039;./MyFont.ttf&#039;, &#039;TrueTypeUnicode&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
3. View the file at http://&#039;&#039;hostname&#039;&#039;/lib/tcpdf/fonts/convertfont.php (it should just show a blank page).&lt;br /&gt;
&lt;br /&gt;
4. Verify that new files have been created in /lib/tcpdf:&lt;br /&gt;
* myfont.ctg.z&lt;br /&gt;
* myfont.php&lt;br /&gt;
* myfont.z&lt;br /&gt;
&lt;br /&gt;
See below for using the font in a certificate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Add all TCPDF fonts ==&lt;br /&gt;
&lt;br /&gt;
The default location for fonts that are included with TCPDF is lib/tcpdf/fonts/. If PDF_CUSTOM_FONT_PATH exists, this directory will be used instead of lib/tcpdf/fonts/, the default location is $CFG-&amp;gt;dataroot.&#039;/fonts/&#039;.&lt;br /&gt;
&lt;br /&gt;
You should always copy all fonts from lib/tcpdf/fonts/ to your PDF_CUSTOM_FONT_PATH and then add extra fonts. Alternatively you may download all TCPDF fonts from http://www.tcpdf.org/download.php and extract them to PDF_CUSTOM_FONT_PATH directory.&lt;br /&gt;
&lt;br /&gt;
From /lib/tcpdf/fonts/readme_moodle.txt:&lt;br /&gt;
&lt;br /&gt;
:This directory contains just selected set of original tcpdf fonts in order to keep the standard Moodle distribution lightweight. You may want to manually download tcpdf package and extract its fonts/ directory into your $CFG-&amp;gt;dataroot/fonts/. In such case, pdflib.php will use this directory.  In the future, we plan to have fonts downloadable in a same way as languages are. (TODO MDL-18663).&lt;br /&gt;
&lt;br /&gt;
== Using a new font ==&lt;br /&gt;
&lt;br /&gt;
Once added, there are two ways to use the new font:&lt;br /&gt;
# Go to the Certificate module setting page and set it as the new Serif or Sans-serif font. This will apply to all standard certificates.&lt;br /&gt;
# Create a custom certificate type in /mod/certificate/type, and replace the $fontserif and $fontsans variables, as needed.&lt;br /&gt;
&lt;br /&gt;
* Replacing font for the whole file:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
// $fontsans = get_config(&#039;certificate&#039;, &#039;fontsans&#039;); // Comment out old code&lt;br /&gt;
&lt;br /&gt;
$fontsans = &#039;myfont&#039;; // Add new code.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Replacing font for just the student name:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
//certificate_print_text($pdf, $x, $y + 36, &#039;C&#039;, $fontsans, &#039;&#039;, 30, fullname($USER)); // Comment out old code&lt;br /&gt;
&lt;br /&gt;
certificate_print_text($pdf, $x, $y + 36, &#039;C&#039;, &#039;myfont&#039;, &#039;&#039;, 30, fullname($USER)); // Add new code.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Certificate]]&lt;br /&gt;
&lt;br /&gt;
[[es:Añadir fonts para incrustar]]&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=129324</id>
		<title>Upgrading</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=129324"/>
		<updated>2017-11-13T06:09:47Z</updated>

		<summary type="html">&lt;p&gt;Markn: /* Possible issues that may affect you in Moodle {{Version}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}	&lt;br /&gt;
&#039;&#039;This page explains in detail how to upgrade Moodle. For a summary of the process, see [[Upgrade overview]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Check the requirements==&lt;br /&gt;
&lt;br /&gt;
Check that your server meets all requirements for {{Version}} in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
See the [{{Release notes}} release notes] in the dev docs for software requirements.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* You can only upgrade to Moodle {{Version}} from Moodle 3.0 or later. If upgrading from earlier versions, you must [https://docs.moodle.org/30/en/Upgrading_to_Moodle_3.0 upgrade to 3.0] as a first step.&lt;br /&gt;
* The minimum PHP version has increased and is now 7.0.0.&lt;br /&gt;
* The PHP extension &#039;&#039;&#039;intl&#039;&#039;&#039; is now required in Moodle 3.4 (previously it was only recommended).&lt;br /&gt;
&lt;br /&gt;
==Before upgrading==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;We advise that you test the upgrade first on a COPY of your production site, to make sure it works as you expect.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Consider setting the [[Upgrade key|upgrade key]] for your site.&lt;br /&gt;
&lt;br /&gt;
== Backup important data ==&lt;br /&gt;
&lt;br /&gt;
There are three areas that should be backed up before any upgrade:&lt;br /&gt;
#Moodle software (For example, everything in server/htdocs/moodle)&lt;br /&gt;
#Moodle uploaded files (For example, server/moodledata)&lt;br /&gt;
#Moodle database (For example, your Postgres or MySQL database dump)&lt;br /&gt;
&lt;br /&gt;
See [[Site backup]] for more specific information.&lt;br /&gt;
&lt;br /&gt;
== Check for plugin updates ==&lt;br /&gt;
&lt;br /&gt;
If you have [[Automatic updates deployment]] enabled, you will be able to update installed plugins automatically during the upgrade. Just make sure you check for available updates (via the button for it) at the Plugins check screen.&lt;br /&gt;
&lt;br /&gt;
If you are updating plugins manually, it is a good moment now to check in the [http://moodle.org/plugins Moodle Plugins directory] whether there is a {{Version}} version available for any plugins (including themes) that you have previously installed on your site. If so, download the plugin package. In the next step, you will copy it to the appropriate location in your Moodle code (see [[Installing plugins]]).&lt;br /&gt;
&lt;br /&gt;
The upgrade of the plugin will then happen as part of the Moodle upgrade process.&lt;br /&gt;
&lt;br /&gt;
If an out-of-date plugin causes your upgrade to fail, you can usually delete the plugin code rather than uninstalling it from within Moodle so that the data associated with it is not deleted.&lt;br /&gt;
&lt;br /&gt;
==Put your site into maintenance mode==&lt;br /&gt;
Before you begin upgrading your site, you should put it into [[Maintenance_mode | maintenance mode]] to stop any non-admin users from logging in. Then you should wait for any currently running cron processes to complete before proceeding.&lt;br /&gt;
&lt;br /&gt;
== Install the new Moodle software ==&lt;br /&gt;
You can fetch the current version of the software through &lt;br /&gt;
&lt;br /&gt;
wget http://sourceforge.net/projects/moodle/files/Moodle/stable{{Version2}}/moodle-latest-{{Version2}}.tgz&lt;br /&gt;
&lt;br /&gt;
=== Standard install package ===&lt;br /&gt;
&lt;br /&gt;
# Move your old Moodle software program files to another location. &#039;&#039;Do NOT copy new files over the old files.&#039;&#039;&lt;br /&gt;
# Unzip or unpack the upgrade file so that all the new Moodle software program files are in the location the old files used to be in on the server. Moodle will adjust SQL and moodledata if it needs to in the upgrade.&lt;br /&gt;
# Copy your old [[Configuration file|config.php file]] back to the new Moodle directory. &lt;br /&gt;
# As mentioned above, if you had installed any plugins on your site you should add them to the new code tree (Moodle directory structure) now. It is important to check that you get the correct version for your new version of Moodle. Be particularly careful that you do not overwrite any code in the new version of Moodle and that you place the plugin folders in the correct directory (the same directory that they are in in the current installation.)&lt;br /&gt;
# Your moodledata folder should be located separately to your Moodle code folder and, as such, should not need anything done to it.  Moodle 3.0 will throw a warning if it is located in a web accessible folder and the moodledata should never be located in the Moodle code folder.  If you are moving your installation to a new server or new location on your server, then you will need to follow the Migration documents.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
 mv moodle moodle.backup&lt;br /&gt;
 tar xvzf moodle-{{Version}}.tgz&lt;br /&gt;
&lt;br /&gt;
Next, copy across your config.php, any custom plugins, and your .htaccess file if you created one (&#039;&#039;&#039;check that custom plugins are the correct version for your new Moodle first&#039;&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
 cp moodle.backup/config.php moodle&lt;br /&gt;
 cp -pr moodle.backup/theme/mytheme moodle/theme/mytheme&lt;br /&gt;
 cp -pr moodle.backup/mod/mymod moodle/mod/mymod&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to make moodle/config.php (and the rest of the source code) readable by your www server. Ideally the files should not be writeable by your server.&lt;br /&gt;
&lt;br /&gt;
chown -R www-data:www-data moodle (Linux debian - change to appropriate user and group for your OS version)&lt;br /&gt;
chmod -R 755 moodle&lt;br /&gt;
&lt;br /&gt;
If you use cron, take care that cron.php is executeable and uses the correct php command: &lt;br /&gt;
 chmod 740 admin/cli/cron.php (some configurations need chmod 750 or chmod 755)&lt;br /&gt;
 copy the first line from cron.php (if it looks like &#039;#!/usr/local/bin/php&#039; or &#039;#!/usr/local/bin/php5.3&#039;, no need to copy &#039;&amp;lt;?php&#039;) &lt;br /&gt;
if necessary.  However, for a simple upgrade, there should be no need to change anything with cron.&lt;br /&gt;
&lt;br /&gt;
=== Using Git ===&lt;br /&gt;
&lt;br /&gt;
You can use Git for updating or upgrading your Moodle. See [[Git for Administrators]] for details.&lt;br /&gt;
&lt;br /&gt;
===Command line upgrade===&lt;br /&gt;
&lt;br /&gt;
On Linux servers, Moodle {{Version}} supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
== Finishing the upgrade ==&lt;br /&gt;
&lt;br /&gt;
The last step is to trigger the upgrade processes within Moodle. &lt;br /&gt;
&lt;br /&gt;
If you put your site into Maintenance mode earlier; take it out now!&lt;br /&gt;
&lt;br /&gt;
To do this just go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Notifications&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Moodle will automatically detect the new version and perform all the SQL database or file system upgrades that are necessary. If there is anything it can&#039;t do itself (very rare) then you will see messages telling you what you need to do.&lt;br /&gt;
&lt;br /&gt;
Assuming all goes well (no error messages) then you can start using your new version of Moodle and enjoy the new features!&lt;br /&gt;
&lt;br /&gt;
Note: If you are running multiple servers then you should purge all caches manually (via &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Development &amp;gt; Purge all caches&#039;&#039;) after completing the upgrade on all servers.&lt;br /&gt;
&lt;br /&gt;
===Fatal error: Maximum execution time of 30 seconds exceeded...===&lt;br /&gt;
&lt;br /&gt;
If your server uses a main language other than English, you may encounter a &#039;Fatal error: Maximum execution time of 30 seconds exceeded&#039; when you try to upgrade it. You can increase max_execution_time = 160 on php.ini to allow the scripts enough time to process the language update. Otherwise, you can switch to English as the default language before doing the upgrade and back to your original language after a succcessful upgrade. See the forum discussion at https://moodle.org/mod/forum/discuss.php?d=119598.&lt;br /&gt;
&lt;br /&gt;
==After upgrading==&lt;br /&gt;
&lt;br /&gt;
The config.php file from your installation should work fine but if you take a look at config-dist.php that came with Moodle 3.0 there are more/different options available (e.g. database drivers and settings). It&#039;s a good idea to map your old config.php settings to a new one based on the 3.0 config-dist.php.&lt;br /&gt;
&lt;br /&gt;
===Cron===&lt;br /&gt;
&lt;br /&gt;
Cron has received a major update (MDL-25499) and now has support for both scheduled and ad hoc tasks.&lt;br /&gt;
&lt;br /&gt;
The benefits of these changes are:&lt;br /&gt;
* The schedule for every task can be configured by the admin&lt;br /&gt;
* Tasks can run in parallel&lt;br /&gt;
* Cron processes use locking to prevent the same task running at the same time by different processes&lt;br /&gt;
* Clusters with multiple identical application nodes are supported, you can run cron on all of them&lt;br /&gt;
&lt;br /&gt;
A result of this is that cron can be run much more often, which means (for example) forum posts can be sent out sooner.  To take advantage of the new cron system it is now strongly recommended that administrators increase the frequency that cron is run to at least &#039;&#039;once per minute&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You also may need to modify any automated scripts you have that are parsing the output from cron. It is no longer possible to simply monitor the output of cron for the string &amp;quot;Cron script completed correctly&amp;quot; (if that is what you were doing). An alternative is to monitor the output for the string &amp;quot;task failed:&amp;quot;. If you detect that a task is failing, [[Cron#Debugging_Scheduled_Tasks|here]] are some tips for debugging the failure. &lt;br /&gt;
&lt;br /&gt;
Before the upgrade, there may have been a cron task that was failing, which was preventing the rest of cron from being executed. A failure in any single task will no longer prevent the rest of the Moodle cron tasks from executing, so you may uncover previously masked bugs. It is a good idea to closely monitor the output from cron after the upgrade.&lt;br /&gt;
&lt;br /&gt;
===Assignments===&lt;br /&gt;
&lt;br /&gt;
The old assignment (2.2) module has been removed from core and has been replaced by a stub to support transparently remapping URLs and restoring course backups from the old module to the new one. &lt;br /&gt;
&lt;br /&gt;
If you are still using the old assignment (2.2) module, after upgrading to Moodle 3.0 all assignment (2.2) activities will be hidden. You need to run the [[Assignment upgrade tool]] to un-hide the activities.&lt;br /&gt;
&lt;br /&gt;
If you really, really need to keep using the old assignment (2.2) module, you should update the code to Moodle 3.0, and then replace the &amp;quot;mod/assignment&amp;quot; folder with the one from https://github.com/moodlehq/moodle-mod_assignment/releases before completing the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Possible issues that may affect you in Moodle {{Version}}==&lt;br /&gt;
&lt;br /&gt;
* Setting &amp;quot;Use HTTPS for logins&amp;quot; (&#039;loginhttps&#039;) was completely removed since it provided false sense of security. If it was enabled before upgrade the whole site will be served via HTTPS protocol. [[HTTPS conversion tool]] is available for administrator to convert links to embedded contents from http to https.&lt;br /&gt;
* Minimum supported PHP version was raised to 7.0. You cannot run your Moodle 3.4 site on PHP 5.6 or lower (please refer to [https://docs.moodle.org/dev/Moodle_3.4_release_notes#Server_requirements requirements section] for details).&lt;br /&gt;
* The following authentication plugins were removed from core and can be found at the following URLs.  If you use them, you must provide them manually during the upgrade (MDL-50925).&lt;br /&gt;
** FirstClass (auth_fc) - https://github.com/moodlehq/moodle-auth_fc&lt;br /&gt;
** IMAP Mail server (auth_imap) - https://github.com/moodlehq/moodle-auth_imap&lt;br /&gt;
** Network News Transfer Protocol (auth_nntp) - https://github.com/moodlehq/moodle-auth_nntp&lt;br /&gt;
** Pluggable Authentication Modules (auth_pam) - https://github.com/moodlehq/moodle-auth_pam&lt;br /&gt;
** POP3 Mail server (auth_pop3) - https://github.com/moodlehq/moodle-auth_pop3.&lt;br /&gt;
* The Messages block has been removed from the standard distribution. The new messages notification is displayed on the top of every page and this block is no longer needed. Block can be [https://github.com/moodlehq/moodle-block_messages manually downloaded] if needed&lt;br /&gt;
* Support for custom registration hubs has been completely removed. Registration and course publishing is possible only with https://moodle.net&lt;br /&gt;
* Course restore and import operations now will never change user dates and log dates. Only activity dates (due, open/close, etc.) will now change respective of the new course start date.&lt;br /&gt;
&lt;br /&gt;
See the [[dev:Moodle {{Version}} release notes|Moodle {{Version}} release notes]] for the full list of changes in Moodle {{Version}}.&lt;br /&gt;
&lt;br /&gt;
=== Moodle 3.1, 3.2 and 3.3 improvements ===&lt;br /&gt;
&lt;br /&gt;
Depending on which version you are upgrading from, please see the section &#039;Possible issues that may affect you&#039; in the documentation&lt;br /&gt;
&lt;br /&gt;
* [https://docs.moodle.org/31/en/Upgrading Upgrading to Moodle 3.1]&lt;br /&gt;
* [https://docs.moodle.org/32/en/Upgrading Upgrading to Moodle 3.2]&lt;br /&gt;
* [https://docs.moodle.org/33/en/Upgrading Upgrading to Moodle 3.3]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Installation]]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=28 Installation help forum] &lt;br /&gt;
* [[dev:Moodle {{Version}} release notes|Moodle {{Version}} release notes]]&lt;br /&gt;
&lt;br /&gt;
[[es:Actualización de moodle]]&lt;br /&gt;
[[fr:Mise à jour]]&lt;br /&gt;
[[ja:Moodleをアップグレードする]]&lt;br /&gt;
[[de:Aktualisierung von Moodle]]&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=129323</id>
		<title>Upgrading</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=129323"/>
		<updated>2017-11-13T06:00:36Z</updated>

		<summary type="html">&lt;p&gt;Markn: /* Possible issues that may affect you in Moodle {{Version}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}	&lt;br /&gt;
&#039;&#039;This page explains in detail how to upgrade Moodle. For a summary of the process, see [[Upgrade overview]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Check the requirements==&lt;br /&gt;
&lt;br /&gt;
Check that your server meets all requirements for {{Version}} in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
See the [{{Release notes}} release notes] in the dev docs for software requirements.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* You can only upgrade to Moodle {{Version}} from Moodle 3.0 or later. If upgrading from earlier versions, you must [https://docs.moodle.org/30/en/Upgrading_to_Moodle_3.0 upgrade to 3.0] as a first step.&lt;br /&gt;
* The minimum PHP version has increased and is now 7.0.0.&lt;br /&gt;
* The PHP extension &#039;&#039;&#039;intl&#039;&#039;&#039; is now required in Moodle 3.4 (previously it was only recommended).&lt;br /&gt;
&lt;br /&gt;
==Before upgrading==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;We advise that you test the upgrade first on a COPY of your production site, to make sure it works as you expect.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Consider setting the [[Upgrade key|upgrade key]] for your site.&lt;br /&gt;
&lt;br /&gt;
== Backup important data ==&lt;br /&gt;
&lt;br /&gt;
There are three areas that should be backed up before any upgrade:&lt;br /&gt;
#Moodle software (For example, everything in server/htdocs/moodle)&lt;br /&gt;
#Moodle uploaded files (For example, server/moodledata)&lt;br /&gt;
#Moodle database (For example, your Postgres or MySQL database dump)&lt;br /&gt;
&lt;br /&gt;
See [[Site backup]] for more specific information.&lt;br /&gt;
&lt;br /&gt;
== Check for plugin updates ==&lt;br /&gt;
&lt;br /&gt;
If you have [[Automatic updates deployment]] enabled, you will be able to update installed plugins automatically during the upgrade. Just make sure you check for available updates (via the button for it) at the Plugins check screen.&lt;br /&gt;
&lt;br /&gt;
If you are updating plugins manually, it is a good moment now to check in the [http://moodle.org/plugins Moodle Plugins directory] whether there is a {{Version}} version available for any plugins (including themes) that you have previously installed on your site. If so, download the plugin package. In the next step, you will copy it to the appropriate location in your Moodle code (see [[Installing plugins]]).&lt;br /&gt;
&lt;br /&gt;
The upgrade of the plugin will then happen as part of the Moodle upgrade process.&lt;br /&gt;
&lt;br /&gt;
If an out-of-date plugin causes your upgrade to fail, you can usually delete the plugin code rather than uninstalling it from within Moodle so that the data associated with it is not deleted.&lt;br /&gt;
&lt;br /&gt;
==Put your site into maintenance mode==&lt;br /&gt;
Before you begin upgrading your site, you should put it into [[Maintenance_mode | maintenance mode]] to stop any non-admin users from logging in. Then you should wait for any currently running cron processes to complete before proceeding.&lt;br /&gt;
&lt;br /&gt;
== Install the new Moodle software ==&lt;br /&gt;
You can fetch the current version of the software through &lt;br /&gt;
&lt;br /&gt;
wget http://sourceforge.net/projects/moodle/files/Moodle/stable{{Version2}}/moodle-latest-{{Version2}}.tgz&lt;br /&gt;
&lt;br /&gt;
=== Standard install package ===&lt;br /&gt;
&lt;br /&gt;
# Move your old Moodle software program files to another location. &#039;&#039;Do NOT copy new files over the old files.&#039;&#039;&lt;br /&gt;
# Unzip or unpack the upgrade file so that all the new Moodle software program files are in the location the old files used to be in on the server. Moodle will adjust SQL and moodledata if it needs to in the upgrade.&lt;br /&gt;
# Copy your old [[Configuration file|config.php file]] back to the new Moodle directory. &lt;br /&gt;
# As mentioned above, if you had installed any plugins on your site you should add them to the new code tree (Moodle directory structure) now. It is important to check that you get the correct version for your new version of Moodle. Be particularly careful that you do not overwrite any code in the new version of Moodle and that you place the plugin folders in the correct directory (the same directory that they are in in the current installation.)&lt;br /&gt;
# Your moodledata folder should be located separately to your Moodle code folder and, as such, should not need anything done to it.  Moodle 3.0 will throw a warning if it is located in a web accessible folder and the moodledata should never be located in the Moodle code folder.  If you are moving your installation to a new server or new location on your server, then you will need to follow the Migration documents.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
 mv moodle moodle.backup&lt;br /&gt;
 tar xvzf moodle-{{Version}}.tgz&lt;br /&gt;
&lt;br /&gt;
Next, copy across your config.php, any custom plugins, and your .htaccess file if you created one (&#039;&#039;&#039;check that custom plugins are the correct version for your new Moodle first&#039;&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
 cp moodle.backup/config.php moodle&lt;br /&gt;
 cp -pr moodle.backup/theme/mytheme moodle/theme/mytheme&lt;br /&gt;
 cp -pr moodle.backup/mod/mymod moodle/mod/mymod&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to make moodle/config.php (and the rest of the source code) readable by your www server. Ideally the files should not be writeable by your server.&lt;br /&gt;
&lt;br /&gt;
chown -R www-data:www-data moodle (Linux debian - change to appropriate user and group for your OS version)&lt;br /&gt;
chmod -R 755 moodle&lt;br /&gt;
&lt;br /&gt;
If you use cron, take care that cron.php is executeable and uses the correct php command: &lt;br /&gt;
 chmod 740 admin/cli/cron.php (some configurations need chmod 750 or chmod 755)&lt;br /&gt;
 copy the first line from cron.php (if it looks like &#039;#!/usr/local/bin/php&#039; or &#039;#!/usr/local/bin/php5.3&#039;, no need to copy &#039;&amp;lt;?php&#039;) &lt;br /&gt;
if necessary.  However, for a simple upgrade, there should be no need to change anything with cron.&lt;br /&gt;
&lt;br /&gt;
=== Using Git ===&lt;br /&gt;
&lt;br /&gt;
You can use Git for updating or upgrading your Moodle. See [[Git for Administrators]] for details.&lt;br /&gt;
&lt;br /&gt;
===Command line upgrade===&lt;br /&gt;
&lt;br /&gt;
On Linux servers, Moodle {{Version}} supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
== Finishing the upgrade ==&lt;br /&gt;
&lt;br /&gt;
The last step is to trigger the upgrade processes within Moodle. &lt;br /&gt;
&lt;br /&gt;
If you put your site into Maintenance mode earlier; take it out now!&lt;br /&gt;
&lt;br /&gt;
To do this just go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Notifications&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Moodle will automatically detect the new version and perform all the SQL database or file system upgrades that are necessary. If there is anything it can&#039;t do itself (very rare) then you will see messages telling you what you need to do.&lt;br /&gt;
&lt;br /&gt;
Assuming all goes well (no error messages) then you can start using your new version of Moodle and enjoy the new features!&lt;br /&gt;
&lt;br /&gt;
Note: If you are running multiple servers then you should purge all caches manually (via &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Development &amp;gt; Purge all caches&#039;&#039;) after completing the upgrade on all servers.&lt;br /&gt;
&lt;br /&gt;
===Fatal error: Maximum execution time of 30 seconds exceeded...===&lt;br /&gt;
&lt;br /&gt;
If your server uses a main language other than English, you may encounter a &#039;Fatal error: Maximum execution time of 30 seconds exceeded&#039; when you try to upgrade it. You can increase max_execution_time = 160 on php.ini to allow the scripts enough time to process the language update. Otherwise, you can switch to English as the default language before doing the upgrade and back to your original language after a succcessful upgrade. See the forum discussion at https://moodle.org/mod/forum/discuss.php?d=119598.&lt;br /&gt;
&lt;br /&gt;
==After upgrading==&lt;br /&gt;
&lt;br /&gt;
The config.php file from your installation should work fine but if you take a look at config-dist.php that came with Moodle 3.0 there are more/different options available (e.g. database drivers and settings). It&#039;s a good idea to map your old config.php settings to a new one based on the 3.0 config-dist.php.&lt;br /&gt;
&lt;br /&gt;
===Cron===&lt;br /&gt;
&lt;br /&gt;
Cron has received a major update (MDL-25499) and now has support for both scheduled and ad hoc tasks.&lt;br /&gt;
&lt;br /&gt;
The benefits of these changes are:&lt;br /&gt;
* The schedule for every task can be configured by the admin&lt;br /&gt;
* Tasks can run in parallel&lt;br /&gt;
* Cron processes use locking to prevent the same task running at the same time by different processes&lt;br /&gt;
* Clusters with multiple identical application nodes are supported, you can run cron on all of them&lt;br /&gt;
&lt;br /&gt;
A result of this is that cron can be run much more often, which means (for example) forum posts can be sent out sooner.  To take advantage of the new cron system it is now strongly recommended that administrators increase the frequency that cron is run to at least &#039;&#039;once per minute&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You also may need to modify any automated scripts you have that are parsing the output from cron. It is no longer possible to simply monitor the output of cron for the string &amp;quot;Cron script completed correctly&amp;quot; (if that is what you were doing). An alternative is to monitor the output for the string &amp;quot;task failed:&amp;quot;. If you detect that a task is failing, [[Cron#Debugging_Scheduled_Tasks|here]] are some tips for debugging the failure. &lt;br /&gt;
&lt;br /&gt;
Before the upgrade, there may have been a cron task that was failing, which was preventing the rest of cron from being executed. A failure in any single task will no longer prevent the rest of the Moodle cron tasks from executing, so you may uncover previously masked bugs. It is a good idea to closely monitor the output from cron after the upgrade.&lt;br /&gt;
&lt;br /&gt;
===Assignments===&lt;br /&gt;
&lt;br /&gt;
The old assignment (2.2) module has been removed from core and has been replaced by a stub to support transparently remapping URLs and restoring course backups from the old module to the new one. &lt;br /&gt;
&lt;br /&gt;
If you are still using the old assignment (2.2) module, after upgrading to Moodle 3.0 all assignment (2.2) activities will be hidden. You need to run the [[Assignment upgrade tool]] to un-hide the activities.&lt;br /&gt;
&lt;br /&gt;
If you really, really need to keep using the old assignment (2.2) module, you should update the code to Moodle 3.0, and then replace the &amp;quot;mod/assignment&amp;quot; folder with the one from https://github.com/moodlehq/moodle-mod_assignment/releases before completing the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Possible issues that may affect you in Moodle {{Version}}==&lt;br /&gt;
&lt;br /&gt;
* Setting &amp;quot;Use HTTPS for logins&amp;quot; (&#039;loginhttps&#039;) was completely removed since it provided false sense of security. If it was enabled before upgrade the whole site will be served via HTTPS protocol. [[HTTPS conversion tool]] is available for administrator to convert links to embedded contents from http to https.&lt;br /&gt;
* Minimum supported PHP version was raised to 7.0. You cannot run your Moodle 3.4 site on PHP 5.6 or lower (please refer to [https://docs.moodle.org/dev/Moodle_3.4_release_notes#Server_requirements requirements section] for details).&lt;br /&gt;
* Some authentication methods were removed from the standard distribution (fc, imap, nntp, pam, pop3). If you use them, you must provide them manually during the upgrade (MDL-50925).&lt;br /&gt;
* The Messages block has been removed from the standard distribution. The new messages notification is displayed on the top of every page and this block is no longer needed. Block can be [https://github.com/moodlehq/moodle-block_messages manually downloaded] if needed&lt;br /&gt;
* Support for custom registration hubs has been completely removed. Registration and course publishing is possible only with https://moodle.net&lt;br /&gt;
* Course restore and import operations now will never change user dates and log dates. Only activity dates (due, open/close, etc.) will now change respective of the new course start date.&lt;br /&gt;
* The following authentication plugins were removed from core and can be found at the following URLs -&lt;br /&gt;
** FirstClass (auth_fc) - https://github.com/moodlehq/moodle-auth_fc&lt;br /&gt;
** IMAP Mail server (auth_imap) - https://github.com/moodlehq/moodle-auth_imap&lt;br /&gt;
** Network News Transfer Protocol (auth_nntp) - https://github.com/moodlehq/moodle-auth_nntp&lt;br /&gt;
** Pluggable Authentication Modules (auth_pam) - https://github.com/moodlehq/moodle-auth_pam&lt;br /&gt;
** POP3 Mail server (auth_pop3) - https://github.com/moodlehq/moodle-auth_pop3&lt;br /&gt;
&lt;br /&gt;
See the [[dev:Moodle {{Version}} release notes|Moodle {{Version}} release notes]] for the full list of changes in Moodle {{Version}}.&lt;br /&gt;
&lt;br /&gt;
=== Moodle 3.1, 3.2 and 3.3 improvements ===&lt;br /&gt;
&lt;br /&gt;
Depending on which version you are upgrading from, please see the section &#039;Possible issues that may affect you&#039; in the documentation&lt;br /&gt;
&lt;br /&gt;
* [https://docs.moodle.org/31/en/Upgrading Upgrading to Moodle 3.1]&lt;br /&gt;
* [https://docs.moodle.org/32/en/Upgrading Upgrading to Moodle 3.2]&lt;br /&gt;
* [https://docs.moodle.org/33/en/Upgrading Upgrading to Moodle 3.3]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Installation]]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=28 Installation help forum] &lt;br /&gt;
* [[dev:Moodle {{Version}} release notes|Moodle {{Version}} release notes]]&lt;br /&gt;
&lt;br /&gt;
[[es:Actualización de moodle]]&lt;br /&gt;
[[fr:Mise à jour]]&lt;br /&gt;
[[ja:Moodleをアップグレードする]]&lt;br /&gt;
[[de:Aktualisierung von Moodle]]&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_page_with_items.png&amp;diff=128488</id>
		<title>File:Custom certificate edit page with items.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_page_with_items.png&amp;diff=128488"/>
		<updated>2017-08-08T04:30:41Z</updated>

		<summary type="html">&lt;p&gt;Markn: Markn uploaded a new version of File:Custom certificate edit page with items.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_page.png&amp;diff=128487</id>
		<title>File:Custom certificate edit page.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_page.png&amp;diff=128487"/>
		<updated>2017-08-08T04:30:34Z</updated>

		<summary type="html">&lt;p&gt;Markn: Markn uploaded a new version of File:Custom certificate edit page.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_page.png&amp;diff=128486</id>
		<title>File:Custom certificate edit page.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_page.png&amp;diff=128486"/>
		<updated>2017-08-08T04:22:48Z</updated>

		<summary type="html">&lt;p&gt;Markn: Markn uploaded a new version of File:Custom certificate edit page.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Custom_certificate_module&amp;diff=128070</id>
		<title>Custom certificate module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Custom_certificate_module&amp;diff=128070"/>
		<updated>2017-05-30T02:51:35Z</updated>

		<summary type="html">&lt;p&gt;Markn: /* Helpful links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity&lt;br /&gt;
|entry = https://moodle.org/plugins/mod_customcert&lt;br /&gt;
|tracker = https://github.com/markn86/moodle-mod_customcert/issues&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/view.php?id=7163&lt;br /&gt;
|maintainer = [[User:Mark Nelson|Mark Nelson]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
==Description==&lt;br /&gt;
The [https://moodle.org/plugins/mod_customcert custom certificate module] allows the generation of dynamic PDF certificates with complete customisation via the web browser. It is different from the [https://moodle.org/plugins/mod_certificate certificate module] which requires PHP and FTP access in order to customise its appearance.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
There are two installation methods that are available.&lt;br /&gt;
&lt;br /&gt;
Follow one of these, then log into your Moodle site as an administrator and visit the notifications page to complete the install.&lt;br /&gt;
===Git===&lt;br /&gt;
&lt;br /&gt;
This requires Git being installed. If you do not have Git installed, please visit the Git website.&lt;br /&gt;
&lt;br /&gt;
Once you have Git installed, simply visit your Moodle mod directory and clone the repository using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git clone https://github.com/markn86/moodle-mod_customcert.git customcert&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then checkout the branch corresponding to the version of Moodle you are using with the following command. Make sure to replace MOODLE_32_STABLE with the version of Moodle you are using.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git checkout MOODLE_32_STABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Use &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt; to update this repository periodically to ensure you have the most recent updates.&lt;br /&gt;
===Download the Zip===&lt;br /&gt;
&lt;br /&gt;
Visit the Moodle plugins website and download the zip corresponding to the version of Moodle you are using. Extract the zip and place the &#039;customcert&#039; folder in the mod folder in your Moodle directory.&lt;br /&gt;
&lt;br /&gt;
==Site settings==&lt;br /&gt;
&lt;br /&gt;
To visit the site settings log in as a user with appropriate permissions and visit &#039;Site administration&#039; &amp;gt; &#039;Plugins&#039; &amp;gt; &#039;Custom certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_site_settings.png]]&lt;br /&gt;
&lt;br /&gt;
===Show position X and Y===&lt;br /&gt;
&lt;br /&gt;
This will show the X and Y position when editing of an element, allowing the user to accurately specify the location.&lt;br /&gt;
&lt;br /&gt;
This isn&#039;t required if you plan on solely using the drag and drop interface for this purpose.&lt;br /&gt;
&lt;br /&gt;
===Manage templates===&lt;br /&gt;
&lt;br /&gt;
This link will take you to a new screen where you will be able to manage templates.&lt;br /&gt;
&lt;br /&gt;
===Upload image===&lt;br /&gt;
&lt;br /&gt;
This link will take you to a new screen where you will be able to upload images. Images uploaded using this method will be available throughout your site to all users who are able to create a custom certificate.&lt;br /&gt;
&lt;br /&gt;
==Managing templates==&lt;br /&gt;
Templates allow a person with the appropriate permissions to create a site-wide template that can then be used by users when adding a certificate to a course, saving them from re-creating the same certificate over and over again. To create a template log in as a user who has the appropriate permissions and visit &#039;Site administration&#039; &amp;gt; &#039;Plugins&#039; &amp;gt; &#039;Custom certificate&#039; and click on the link &#039;Manage templates&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_manage_templates.png]]&lt;br /&gt;
&lt;br /&gt;
Here you will see a list of templates that have already been created. You can choose to edit these templates, delete them or create a new one. We will be creating a new template - start by clicking on &#039;Create template&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_page.png]]&lt;br /&gt;
&lt;br /&gt;
The name here is what will be displayed to the users when they are creating a certificate in a course and would like to choose a template to load. You can add elements to the template, customise them and rearrange their position. This process is discussed later when we talk about adding a custom certificate to a course and then customising it.&lt;br /&gt;
&lt;br /&gt;
==Adding a custom certificate to a course==&lt;br /&gt;
&lt;br /&gt;
The custom certificate plugin once installed can be added just like any other activity in Moodle. Visit a course, turn editing on and click to add an activity.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_add_activity_page.png]]&lt;br /&gt;
&lt;br /&gt;
===Certificate options===&lt;br /&gt;
&lt;br /&gt;
====Allow anyone to verify a certificate====&lt;br /&gt;
&lt;br /&gt;
Each certificate when issued is assigned a unique code. It is possible to have this code displayed on the certificate by adding it as an element. To validate a certificate a person (eg. employer) may want to enter the code displayed on the certificate to confirm that it is indeed authentic. To accomplish this a logged in user requires the capability &#039;mod/customcert:verifycertificate&#039;, however with this setting set to &#039;Yes&#039; any person with the verification link (including users not logged in) can do this.&lt;br /&gt;
&lt;br /&gt;
====Email students/teachers/others====&lt;br /&gt;
&lt;br /&gt;
These settings enable the emailing of a certificate when a user is able to view it. The certificate may be hidden due to [[https://docs.moodle.org/en/Restrict_access access restrictions]], such as requiring the completion of another activity. A [[https://docs.moodle.org/en/Scheduled_tasks scheduled task]] runs that processes all the certificates that have any of these settings enabled and collects all the users to email that have not been emailed yet and are able to view the certificate and emails them the PDF.&lt;br /&gt;
&lt;br /&gt;
====Required minutes in course====&lt;br /&gt;
&lt;br /&gt;
This is the number of minutes a user is required to be in a course before they are able to view a certificate. This uses the logs in Moodle and hence can not guarantee the result to be 100% accurate.&lt;br /&gt;
&lt;br /&gt;
====Set protection====&lt;br /&gt;
&lt;br /&gt;
This determines what protection we want to set on the PDF.&lt;br /&gt;
&lt;br /&gt;
===Editing a custom certificate===&lt;br /&gt;
&lt;br /&gt;
Once you have added a certificate to your course you can then choose to edit the appearance of it. To do this view the certificate to be taken to the following page.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_menu.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can click on the cog on the top right and select &#039;Edit custom certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_page_with_items.png]]&lt;br /&gt;
&lt;br /&gt;
On the edit page you can see a list of the elements that have already been added to the certificate. You can edit, delete and move these elements. The order of these elements determine when they are rendered on the PDF. So, if you were to add a background image you would want this rendered first.&lt;br /&gt;
&lt;br /&gt;
You can also choose to load a template on this page. If you also have the permissions to manage templates you will also be shown the link to the manage templates page.&lt;br /&gt;
&lt;br /&gt;
===Adding/editing an element===&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_element_list.png]]&lt;br /&gt;
&lt;br /&gt;
The above is the list of items that come with this plugin. These are [[https://docs.moodle.org/dev/Subplugins sub-plugins]] and are fully customisable allowing the community to generate plugins and share them without having to hack the plugin code.&lt;br /&gt;
&lt;br /&gt;
When editing a custom certificate you can choose to add an element which will take you to the page to edit them.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_element.png]]&lt;br /&gt;
&lt;br /&gt;
Each element defines what characteristics you can edit. In the above example we are editing the &#039;Student name&#039; element. The site setting &#039;Show position X and Y&#039; has been enabled which is why &#039;Position X&#039; and &#039;Position Y&#039; are shown.&lt;br /&gt;
&lt;br /&gt;
===Repositioning elements===&lt;br /&gt;
&lt;br /&gt;
When editing a custom certificate under the list of elements there is a link &#039;Reposition elements&#039; that will take you to a page where you can drag and drop the elements. While on this page you can also click on the elements to bring up a dialogue that will allow you to edit its properties without having to go back to the edit custom certificate page.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_reposition_elements.png]]&lt;br /&gt;
&lt;br /&gt;
==Viewing issued certificates==&lt;br /&gt;
&lt;br /&gt;
To view issued certificates a user with the appropriate permissions can simply click on the certificate and click on the link &#039;View X issued custom certificates&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_view_issued_certificates.png]]&lt;br /&gt;
&lt;br /&gt;
Once you click on the link you can view the users who have been issued this certificate and also download their version of the certificate.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_view_issued_certificates_list.png]]&lt;br /&gt;
&lt;br /&gt;
==Verifying certificates==&lt;br /&gt;
&lt;br /&gt;
Each certificate when issued is assigned a unique code. To validate a certificate a person (eg. employer) may want to enter the code displayed on the certificate to confirm that it is indeed authentic. With the setting &#039;Allow anyone to verify a certificate&#039; enabled any person with the verification link (including users not logged in) can verify a certificate, however if it is not set, a user with the appropriate permissions (&#039;mod/customcert:verifycertificate&#039;) can do this by clicking on the certificate to gain access to the link.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_verify_certificates.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can click on the cog on the top right and select &#039;Verify certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_verify_certificate_page.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can enter the code to verify its authenticity.&lt;br /&gt;
&lt;br /&gt;
==My certificates==&lt;br /&gt;
&lt;br /&gt;
It is possible that a user may be in several courses each with their own custom certificate activity. It would be time consuming for the user to visit every course to review their certificate. In order to avoid this there is a page where the user can view all the certificates they have received.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_profile_page.png]]&lt;br /&gt;
&lt;br /&gt;
On the user&#039;s profile page under &#039;Miscellaneous&#039; the user can click on &#039;My certificates&#039; which will take them to a page listing all their certificates with the option of downloading them.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_my_certificates_page.png]]&lt;br /&gt;
&lt;br /&gt;
==Helpful links==&lt;br /&gt;
See  [https://moodle.org/plugins/mod_customcert the plugin page], the [https://github.com/markn86/moodle-mod_customcert/issues tracker page] and the [https://moodle.org/mod/forum/view.php?id=7163 Moodle forum].&lt;br /&gt;
&lt;br /&gt;
==Did you find this plugin useful?==&lt;br /&gt;
Click on the &#039;Add to my favourites&#039; link in [https://moodle.org/plugins/mod_customcert the plugin page].&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_my_certificates_page.png&amp;diff=128068</id>
		<title>File:Custom certificate my certificates page.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_my_certificates_page.png&amp;diff=128068"/>
		<updated>2017-05-30T02:30:58Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_profile_page.png&amp;diff=128067</id>
		<title>File:Custom certificate profile page.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_profile_page.png&amp;diff=128067"/>
		<updated>2017-05-30T02:30:50Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_verify_certificate_page.png&amp;diff=128066</id>
		<title>File:Custom certificate verify certificate page.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_verify_certificate_page.png&amp;diff=128066"/>
		<updated>2017-05-30T02:30:43Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_view_issued_certificates_list.png&amp;diff=128065</id>
		<title>File:Custom certificate view issued certificates list.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_view_issued_certificates_list.png&amp;diff=128065"/>
		<updated>2017-05-30T02:30:33Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_view_issued_certificates.png&amp;diff=128064</id>
		<title>File:Custom certificate view issued certificates.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_view_issued_certificates.png&amp;diff=128064"/>
		<updated>2017-05-30T02:30:27Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_reposition_elements.png&amp;diff=128063</id>
		<title>File:Custom certificate reposition elements.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_reposition_elements.png&amp;diff=128063"/>
		<updated>2017-05-30T02:30:25Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_element.png&amp;diff=128062</id>
		<title>File:Custom certificate edit element.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_element.png&amp;diff=128062"/>
		<updated>2017-05-30T02:30:11Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_element_list.png&amp;diff=128061</id>
		<title>File:Custom certificate element list.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_element_list.png&amp;diff=128061"/>
		<updated>2017-05-30T02:30:05Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_page_with_items.png&amp;diff=128060</id>
		<title>File:Custom certificate edit page with items.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_page_with_items.png&amp;diff=128060"/>
		<updated>2017-05-30T02:29:55Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_menu.png&amp;diff=128059</id>
		<title>File:Custom certificate edit menu.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_menu.png&amp;diff=128059"/>
		<updated>2017-05-30T02:29:45Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_add_activity_page.png&amp;diff=128058</id>
		<title>File:Custom certificate add activity page.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_add_activity_page.png&amp;diff=128058"/>
		<updated>2017-05-30T02:29:37Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_page.png&amp;diff=128057</id>
		<title>File:Custom certificate edit page.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_edit_page.png&amp;diff=128057"/>
		<updated>2017-05-30T02:29:29Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_manage_templates.png&amp;diff=128056</id>
		<title>File:Custom certificate manage templates.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_manage_templates.png&amp;diff=128056"/>
		<updated>2017-05-30T02:29:21Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_site_settings.png&amp;diff=128055</id>
		<title>File:Custom certificate site settings.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:Custom_certificate_site_settings.png&amp;diff=128055"/>
		<updated>2017-05-30T02:29:14Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Custom_certificate_module&amp;diff=128051</id>
		<title>Custom certificate module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Custom_certificate_module&amp;diff=128051"/>
		<updated>2017-05-29T10:01:16Z</updated>

		<summary type="html">&lt;p&gt;Markn: Copy from 3.1 page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity&lt;br /&gt;
|entry = https://moodle.org/plugins/mod_customcert&lt;br /&gt;
|tracker = https://github.com/markn86/moodle-mod_customcert/issues&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/view.php?id=7163&lt;br /&gt;
|maintainer = [[User:Mark Nelson|Mark Nelson]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
==Description==&lt;br /&gt;
The [https://moodle.org/plugins/mod_customcert custom certificate module] allows the generation of dynamic PDF certificates with complete customisation via the web browser. It is different from the [https://moodle.org/plugins/mod_certificate certificate module] which requires PHP and FTP access in order to customise its appearance.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
There are two installation methods that are available.&lt;br /&gt;
&lt;br /&gt;
Follow one of these, then log into your Moodle site as an administrator and visit the notifications page to complete the install.&lt;br /&gt;
===Git===&lt;br /&gt;
&lt;br /&gt;
This requires Git being installed. If you do not have Git installed, please visit the Git website.&lt;br /&gt;
&lt;br /&gt;
Once you have Git installed, simply visit your Moodle mod directory and clone the repository using the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git clone https://github.com/markn86/moodle-mod_customcert.git customcert&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then checkout the branch corresponding to the version of Moodle you are using with the following command. Make sure to replace MOODLE_32_STABLE with the version of Moodle you are using.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git checkout MOODLE_32_STABLE&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Use &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt; to update this repository periodically to ensure you have the most recent updates.&lt;br /&gt;
===Download the Zip===&lt;br /&gt;
&lt;br /&gt;
Visit the Moodle plugins website and download the zip corresponding to the version of Moodle you are using. Extract the zip and place the &#039;customcert&#039; folder in the mod folder in your Moodle directory.&lt;br /&gt;
&lt;br /&gt;
==Site settings==&lt;br /&gt;
&lt;br /&gt;
To visit the site settings log in as a user with appropriate permissions and visit &#039;Site administration&#039; &amp;gt; &#039;Plugins&#039; &amp;gt; &#039;Custom certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_site_settings.png]]&lt;br /&gt;
&lt;br /&gt;
===Show position X and Y===&lt;br /&gt;
&lt;br /&gt;
This will show the X and Y position when editing of an element, allowing the user to accurately specify the location.&lt;br /&gt;
&lt;br /&gt;
This isn&#039;t required if you plan on solely using the drag and drop interface for this purpose.&lt;br /&gt;
&lt;br /&gt;
===Manage templates===&lt;br /&gt;
&lt;br /&gt;
This link will take you to a new screen where you will be able to manage templates.&lt;br /&gt;
&lt;br /&gt;
===Upload image===&lt;br /&gt;
&lt;br /&gt;
This link will take you to a new screen where you will be able to upload images. Images uploaded using this method will be available throughout your site to all users who are able to create a custom certificate.&lt;br /&gt;
&lt;br /&gt;
==Managing templates==&lt;br /&gt;
Templates allow a person with the appropriate permissions to create a site-wide template that can then be used by users when adding a certificate to a course, saving them from re-creating the same certificate over and over again. To create a template log in as a user who has the appropriate permissions and visit &#039;Site administration&#039; &amp;gt; &#039;Plugins&#039; &amp;gt; &#039;Custom certificate&#039; and click on the link &#039;Manage templates&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_manage_templates.png]]&lt;br /&gt;
&lt;br /&gt;
Here you will see a list of templates that have already been created. You can choose to edit these templates, delete them or create a new one. We will be creating a new template - start by clicking on &#039;Create template&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_page.png]]&lt;br /&gt;
&lt;br /&gt;
The name here is what will be displayed to the users when they are creating a certificate in a course and would like to choose a template to load. You can add elements to the template, customise them and rearrange their position. This process is discussed later when we talk about adding a custom certificate to a course and then customising it.&lt;br /&gt;
&lt;br /&gt;
==Adding a custom certificate to a course==&lt;br /&gt;
&lt;br /&gt;
The custom certificate plugin once installed can be added just like any other activity in Moodle. Visit a course, turn editing on and click to add an activity.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_add_activity_page.png]]&lt;br /&gt;
&lt;br /&gt;
===Certificate options===&lt;br /&gt;
&lt;br /&gt;
====Allow anyone to verify a certificate====&lt;br /&gt;
&lt;br /&gt;
Each certificate when issued is assigned a unique code. It is possible to have this code displayed on the certificate by adding it as an element. To validate a certificate a person (eg. employer) may want to enter the code displayed on the certificate to confirm that it is indeed authentic. To accomplish this a logged in user requires the capability &#039;mod/customcert:verifycertificate&#039;, however with this setting set to &#039;Yes&#039; any person with the verification link (including users not logged in) can do this.&lt;br /&gt;
&lt;br /&gt;
====Email students/teachers/others====&lt;br /&gt;
&lt;br /&gt;
These settings enable the emailing of a certificate when a user is able to view it. The certificate may be hidden due to [[https://docs.moodle.org/en/Restrict_access access restrictions]], such as requiring the completion of another activity. A [[https://docs.moodle.org/en/Scheduled_tasks scheduled task]] runs that processes all the certificates that have any of these settings enabled and collects all the users to email that have not been emailed yet and are able to view the certificate and emails them the PDF.&lt;br /&gt;
&lt;br /&gt;
====Required minutes in course====&lt;br /&gt;
&lt;br /&gt;
This is the number of minutes a user is required to be in a course before they are able to view a certificate. This uses the logs in Moodle and hence can not guarantee the result to be 100% accurate.&lt;br /&gt;
&lt;br /&gt;
====Set protection====&lt;br /&gt;
&lt;br /&gt;
This determines what protection we want to set on the PDF.&lt;br /&gt;
&lt;br /&gt;
===Editing a custom certificate===&lt;br /&gt;
&lt;br /&gt;
Once you have added a certificate to your course you can then choose to edit the appearance of it. To do this view the certificate to be taken to the following page.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_menu.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can click on the cog on the top right and select &#039;Edit custom certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_page_with_items.png]]&lt;br /&gt;
&lt;br /&gt;
On the edit page you can see a list of the elements that have already been added to the certificate. You can edit, delete and move these elements. The order of these elements determine when they are rendered on the PDF. So, if you were to add a background image you would want this rendered first.&lt;br /&gt;
&lt;br /&gt;
You can also choose to load a template on this page. If you also have the permissions to manage templates you will also be shown the link to the manage templates page.&lt;br /&gt;
&lt;br /&gt;
===Adding/editing an element===&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_element_list.png]]&lt;br /&gt;
&lt;br /&gt;
The above is the list of items that come with this plugin. These are [[https://docs.moodle.org/dev/Subplugins sub-plugins]] and are fully customisable allowing the community to generate plugins and share them without having to hack the plugin code.&lt;br /&gt;
&lt;br /&gt;
When editing a custom certificate you can choose to add an element which will take you to the page to edit them.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_edit_element.png]]&lt;br /&gt;
&lt;br /&gt;
Each element defines what characteristics you can edit. In the above example we are editing the &#039;Student name&#039; element. The site setting &#039;Show position X and Y&#039; has been enabled which is why &#039;Position X&#039; and &#039;Position Y&#039; are shown.&lt;br /&gt;
&lt;br /&gt;
===Repositioning elements===&lt;br /&gt;
&lt;br /&gt;
When editing a custom certificate under the list of elements there is a link &#039;Reposition elements&#039; that will take you to a page where you can drag and drop the elements. While on this page you can also click on the elements to bring up a dialogue that will allow you to edit its properties without having to go back to the edit custom certificate page.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_reposition_elements.png]]&lt;br /&gt;
&lt;br /&gt;
==Viewing issued certificates==&lt;br /&gt;
&lt;br /&gt;
To view issued certificates a user with the appropriate permissions can simply click on the certificate and click on the link &#039;View X issued custom certificates&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_view_issued_certificates.png]]&lt;br /&gt;
&lt;br /&gt;
Once you click on the link you can view the users who have been issued this certificate and also download their version of the certificate.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_view_issued_certificates_list.png]]&lt;br /&gt;
&lt;br /&gt;
==Verifying certificates==&lt;br /&gt;
&lt;br /&gt;
Each certificate when issued is assigned a unique code. To validate a certificate a person (eg. employer) may want to enter the code displayed on the certificate to confirm that it is indeed authentic. With the setting &#039;Allow anyone to verify a certificate&#039; enabled any person with the verification link (including users not logged in) can verify a certificate, however if it is not set, a user with the appropriate permissions (&#039;mod/customcert:verifycertificate&#039;) can do this by clicking on the certificate to gain access to the link.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_verify_certificates.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can click on the cog on the top right and select &#039;Verify certificate&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_verify_certificate_page.png]]&lt;br /&gt;
&lt;br /&gt;
Here you can enter the code to verify its authenticity.&lt;br /&gt;
&lt;br /&gt;
==My certificates==&lt;br /&gt;
&lt;br /&gt;
It is possible that a user may be in several courses each with their own custom certificate activity. It would be time consuming for the user to visit every course to review their certificate. In order to avoid this there is a page where the user can view all the certificates they have received.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_profile_page.png]]&lt;br /&gt;
&lt;br /&gt;
On the user&#039;s profile page under &#039;Miscellaneous&#039; the user can click on &#039;My certificates&#039; which will take them to a page listing all their certificates with the option of downloading them.&lt;br /&gt;
&lt;br /&gt;
[[File:Custom_certificate_my_certificates_page.png]]&lt;br /&gt;
&lt;br /&gt;
==Helpful links==&lt;br /&gt;
See  [https://moodle.org/plugins/mod_customcert the plugin page], the [https://github.com/markn86/moodle-mod_customcert/issues tracker page] and the [https://moodle.org/mod/forum/view.php?id=7163 Moodle forum of this plugin].&lt;br /&gt;
&lt;br /&gt;
==Did you find this plugin useful?==&lt;br /&gt;
Click on the &#039;Add to my favourites&#039; link in [https://moodle.org/plugins/mod_customcert the plugin page].&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Calendar_settings&amp;diff=107348</id>
		<title>Calendar settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Calendar_settings&amp;diff=107348"/>
		<updated>2013-11-01T04:40:44Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Calendar}}&lt;br /&gt;
==Preference settings==&lt;br /&gt;
Both the daily detail screen and the monthly detail screen have the Preferences button in the upper right. Here you can set the time format, first day of the week, number of events to show in the calendar block, days to look forward for events and if the filters on this calendar should be saved as the default for all calendars.&lt;br /&gt;
&lt;br /&gt;
==Site administration settings==&lt;br /&gt;
&lt;br /&gt;
The following settings can be changed by a site administrator in &#039;&#039;Administration &amp;gt; Appearance &amp;gt; Calendar&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
===Admins see all===&lt;br /&gt;
&lt;br /&gt;
Whether admins see all calendar events or just those that apply to themselves.&lt;br /&gt;
&lt;br /&gt;
===Time display format===&lt;br /&gt;
&lt;br /&gt;
Whether a 12 or 24 hour format is used. This setting can be overridden by user preferences.&lt;br /&gt;
&lt;br /&gt;
===Start of week===&lt;br /&gt;
&lt;br /&gt;
Default is Sunday.&lt;br /&gt;
&lt;br /&gt;
===Weekend days===&lt;br /&gt;
&lt;br /&gt;
Weekend days are shown in a different colour.&lt;br /&gt;
&lt;br /&gt;
===Days and events to look ahead===&lt;br /&gt;
&lt;br /&gt;
For determining how many events are listed in the [[Upcoming Events block]]. If the Upcoming Events block becomes too long you can reduce the number of days and events to lookahead.&lt;br /&gt;
&lt;br /&gt;
===Calendar export days to look ahead and back===&lt;br /&gt;
&lt;br /&gt;
A custom range of dates, such as a school term or year, may be set as a calendar export option.&lt;br /&gt;
&lt;br /&gt;
===Calendar export salt===&lt;br /&gt;
&lt;br /&gt;
The calendar export salt is a random string of characters used for improving of security of authentication tokens used for exporting of calendars.&lt;br /&gt;
&lt;br /&gt;
==Calendar permissions==&lt;br /&gt;
&lt;br /&gt;
*[[Capabilities/moodle/calendar:manageentries|moodle/calendar:manageentries]]&lt;br /&gt;
*[[Capabilities/moodle/calendar:manageownentries|moodle/calendar:manageownentries]]&lt;br /&gt;
*[[Capabilities/moodle/calendar:managegroupentries|moodle/calendar:managegroupentries]]&lt;br /&gt;
&lt;br /&gt;
The [[Calendar editor role]] may be used to enable users to add course or site events to the calendar.&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Calendrier (administrateur)]]&lt;br /&gt;
[[ja:カレンダー (管理者)]]&lt;br /&gt;
[[de:Kalendereinstellungen]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Core APIs]]&lt;br /&gt;
* [[:en:Calendar|Calendar user docs]]&lt;br /&gt;
* [[Calendar types]]&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Calendar_settings&amp;diff=107346</id>
		<title>Calendar settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Calendar_settings&amp;diff=107346"/>
		<updated>2013-11-01T04:25:47Z</updated>

		<summary type="html">&lt;p&gt;Markn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Calendar}}&lt;br /&gt;
==Preference settings==&lt;br /&gt;
Both the daily detail screen and the monthly detail screen have the Preferences button in the upper right. Here you can set the time format, first day of the week, number of events to show in the calendar block, days to look forward for events and if the filters on this calendar should be saved as the default for all calendars.&lt;br /&gt;
&lt;br /&gt;
==Site administration settings==&lt;br /&gt;
&lt;br /&gt;
The following settings can be changed by a site administrator in &#039;&#039;Administration &amp;gt; Appearance &amp;gt; Calendar&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
===Admins see all===&lt;br /&gt;
&lt;br /&gt;
Whether admins see all calendar events or just those that apply to themselves.&lt;br /&gt;
&lt;br /&gt;
===Time display format===&lt;br /&gt;
&lt;br /&gt;
Whether a 12 or 24 hour format is used. This setting can be overridden by user preferences.&lt;br /&gt;
&lt;br /&gt;
===Start of week===&lt;br /&gt;
&lt;br /&gt;
Default is Sunday.&lt;br /&gt;
&lt;br /&gt;
===Weekend days===&lt;br /&gt;
&lt;br /&gt;
Weekend days are shown in a different colour.&lt;br /&gt;
&lt;br /&gt;
===Days and events to look ahead===&lt;br /&gt;
&lt;br /&gt;
For determining how many events are listed in the [[Upcoming Events block]]. If the Upcoming Events block becomes too long you can reduce the number of days and events to lookahead.&lt;br /&gt;
&lt;br /&gt;
===Calendar export days to look ahead and back===&lt;br /&gt;
&lt;br /&gt;
A custom range of dates, such as a school term or year, may be set as a calendar export option.&lt;br /&gt;
&lt;br /&gt;
===Calendar export salt===&lt;br /&gt;
&lt;br /&gt;
The calendar export salt is a random string of characters used for improving of security of authentication tokens used for exporting of calendars.&lt;br /&gt;
&lt;br /&gt;
==Calendar permissions==&lt;br /&gt;
&lt;br /&gt;
*[[Capabilities/moodle/calendar:manageentries|moodle/calendar:manageentries]]&lt;br /&gt;
*[[Capabilities/moodle/calendar:manageownentries|moodle/calendar:manageownentries]]&lt;br /&gt;
*[[Capabilities/moodle/calendar:managegroupentries|moodle/calendar:managegroupentries]]&lt;br /&gt;
&lt;br /&gt;
The [[Calendar editor role]] may be used to enable users to add course or site events to the calendar.&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Calendrier (administrateur)]]&lt;br /&gt;
[[ja:カレンダー (管理者)]]&lt;br /&gt;
[[de:Kalendereinstellungen]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Core APIs]]&lt;br /&gt;
* [[:en:Calendar|Calendar user docs]]&lt;br /&gt;
* [[Multiple calendar support]]&lt;/div&gt;</summary>
		<author><name>Markn</name></author>
	</entry>
</feed>