<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/27/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tsala</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/27/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tsala"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/Special:Contributions/Tsala"/>
	<updated>2026-05-11T05:14:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=MediaWiki:Sitenotice&amp;diff=116260</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=MediaWiki:Sitenotice&amp;diff=116260"/>
		<updated>2021-10-20T11:52:06Z</updated>

		<summary type="html">&lt;p&gt;Tsala: improved wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;Note: This documentation is for Moodle 2.7. For up-to-date documentation see &#039;&#039;&#039;[[:en:{{NAMESPACE}}:{{PAGENAME}}|{{PAGENAME}}]].&#039;&#039;&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=116213</id>
		<title>MediaWiki:MoodleDocsVersionLinks</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=116213"/>
		<updated>2017-05-14T08:41:01Z</updated>

		<summary type="html">&lt;p&gt;Tsala: 3.3 link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2.7 docs: /27/en/{{FULLPAGENAMEE}}&lt;br /&gt;
3.3 docs: /33/en/{{FULLPAGENAMEE}}&lt;br /&gt;
3.2 docs: /32/en/{{FULLPAGENAMEE}}&lt;br /&gt;
3.1 docs: /31/en/{{FULLPAGENAMEE}}&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Workshop_FAQ&amp;diff=116209</id>
		<title>Workshop FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Workshop_FAQ&amp;diff=116209"/>
		<updated>2017-02-10T08:48:12Z</updated>

		<summary type="html">&lt;p&gt;Tsala: How can I obtain more grading levels for each rubric criterion? - Q &amp;amp; A copied from https://moodle.org/mod/forum/discuss.php?d=347205&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Workshop}}&lt;br /&gt;
==How the heck  are these grades calculated?==&lt;br /&gt;
&lt;br /&gt;
Make sure you read carefully pages explaining [[Using_Workshop#Workshop_grading|workshop grading]] and [[Workshop grading strategies|grading strategies]].&lt;br /&gt;
&lt;br /&gt;
==How can I get the workshop to switch phase automatically?==&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;Administration &amp;gt; Workshop Administration &amp;gt; Edit settings&#039;&#039; tick the box &#039;Switch to the next phase after the submissions deadline&#039; in the access control section. The workshop will then automatically switch to the assessment phase - after the next time cron is run on your Moodle. (Depending on your Moodle administration, you might be able to run it manually by typing into your browser &#039;&#039;YOURMOODLE.com/admin/cron.php&#039;&#039; (where YOURMOODLE.com is the name of your Moodle site).&lt;br /&gt;
&lt;br /&gt;
==How can I make reviewing anonymous?==&lt;br /&gt;
&lt;br /&gt;
If you do not want your students to know whose work they are reviewing and who is reviewing their work, go to &#039;&#039;Administration&amp;gt;Workshop administration&amp;gt;Permissions&#039;&#039; and click the X next to student to prevent &amp;quot;view author names&amp;quot; &#039;&#039;mod/workshop:viewauthornames&#039;&#039; and &amp;quot;view reviewer names&amp;quot; &#039;&#039;mod/workshop:viewreviewernames&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Can I use Workshop for students to peer assess an offline activity?==&lt;br /&gt;
You can, although they will have to submit something, even though that might be a blank document. See this forum post for more information: https://moodle.org/mod/forum/discuss.php?d=220054#p958145&lt;br /&gt;
&lt;br /&gt;
==How can I publish workshop submissions?==&lt;br /&gt;
When in the Grading evaluation phase, it is possible to publish (ie make visible to all participants) selected submissions you  might consider are helpful examples. To do this, as the teacher, choose a particular submission and click its title.Scroll down and below the submission text you will find a form allowing you to mark the submission as published. Save the form. When the workshop is closed, any such published submissions become visible.&lt;br /&gt;
{|&lt;br /&gt;
| [[File:publishedsubmissions.png|thumb|Published submissions (click to enlarge)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==How can I edit or delete an example submission?==&lt;br /&gt;
Example submissions can only be managed (added, edited or deleted) during the setup phase.  In the list of example submissions, click on the title of the submission you&#039;d like to delete.  Below the submission content, there are buttons to edit, delete and assess the example submission.&lt;br /&gt;
&lt;br /&gt;
==How can I obtain more grading levels for each rubric criterion?==&lt;br /&gt;
&lt;br /&gt;
Each time you save the form, then continue editing it, a new empty level is displayed. If you don&#039;t need it, simply leave it empty.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/view.php?id=740 Workshop forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Workshop FAQ]]&lt;br /&gt;
[[es:Taller FAQ]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Upgrading_FAQ&amp;diff=116208</id>
		<title>Upgrading FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Upgrading_FAQ&amp;diff=116208"/>
		<updated>2017-01-25T11:31:03Z</updated>

		<summary type="html">&lt;p&gt;Tsala: download link for Moodle 2.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
==How do I upgrade from 1.9.x to 2.7?==&lt;br /&gt;
&lt;br /&gt;
1.x -&amp;gt;  1.9.19 -&amp;gt; 2.2.11 -&amp;gt; 2.7 &lt;br /&gt;
&lt;br /&gt;
(It is better to upgrade to latest current stable before going to next branch, the same for plugins; upgrading from early stable branches usually works but there is no guarantee.)&lt;br /&gt;
&lt;br /&gt;
Moodle 2.2.11 may be downloaded from https://download.moodle.org/stable22/.&lt;br /&gt;
&lt;br /&gt;
==How do I upgrade Moodle? Do I just overwrite the files?==&lt;br /&gt;
&lt;br /&gt;
Do NOT overwrite files, as it may cause strange errors. Read the [[Upgrading]] documentation before proceeding.&lt;br /&gt;
&lt;br /&gt;
==I obtain the message &amp;quot;Upgrade already running in this session, please wait!&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
Most likely you refreshed the page before the completion message. If you are absolutely sure that there are no upgrade processes active (php and/or mysql), you can click on &amp;quot;!!!&amp;quot; and restart the upgrade.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Note&#039;&#039;: If you click on &amp;quot;&#039;!!!&amp;quot; or try to restart the upgrade from another browser, there is a chance that your data in the database could be corrupted. If this happens, you will need to restore the database from sql dump and then restart the upgrade and wait - the process can take several hours on large sites.&lt;br /&gt;
&lt;br /&gt;
==Can I upgrade more than one version at a time?==&lt;br /&gt;
&lt;br /&gt;
You can only upgrade to Moodle 2.7 from Moodle 2.2.&lt;br /&gt;
&lt;br /&gt;
You can only upgrade to Moodle 2.2 from Moodle 1.9 or later.&lt;br /&gt;
&lt;br /&gt;
For information on upgrading from versions of Moodle prior to 1.9, see the section &#039;Upgrading more than one version&#039; in the Moodle 2.2 documentation [https://docs.moodle.org/22/en/Upgrading Upgrading].&lt;br /&gt;
&lt;br /&gt;
==I have custom code in my site. How do I upgrade?==&lt;br /&gt;
Please see this forum post on [https://moodle.org/mod/forum/discuss.php?d=263355#p1141326 upgrading with custom code] for some suggestions.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Installation FAQ]]&lt;br /&gt;
* Using Moodle [https://moodle.org/mod/forum/discuss.php?d=224561 Notes on upgrading Moodle from 1.9.x to 2.4.1 on a shared server] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[ja:アップグレードFAQ]]&lt;br /&gt;
[[es:Actualización FAQ]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Installation_FAQ&amp;diff=116207</id>
		<title>Installation FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Installation_FAQ&amp;diff=116207"/>
		<updated>2017-01-09T15:35:58Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* Downloading previous releases of Moodle */ simplifying text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
== System information needed for Installation problems forum ==&lt;br /&gt;
When posting questions to the [http://moodle.org/mod/forum/view.php?id=28 Installation problems forum], try to provide as much background information as possible about your Moodle system. Consider providing some or all of the following:&lt;br /&gt;
* Server Operating System name (version also if possible): &lt;br /&gt;
* PHP version (e.g. PHP 5.4.4)&lt;br /&gt;
* Database server type and version (e.g. MySQL 5.5.18)&lt;br /&gt;
* Browser and version (e.g. Firefox, IE8):&lt;br /&gt;
* Moodle version (e.g. 2.7):&lt;br /&gt;
* Moodle install type? (New/Upgrade):&lt;br /&gt;
* Moodle config.php attached (please remove passwords):&lt;br /&gt;
* Phpinfo attached?:&lt;br /&gt;
&lt;br /&gt;
Make sure you provide a sensible description (never HELP! or URGENT!) and a full description of what you did and what happened. Copy and paste any error messages accurately in full. &#039;Nothing&#039; is not a symptom, even a blank page is something!&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
==PHP - is it installed and what version do I have?==&lt;br /&gt;
&lt;br /&gt;
Make a new file on your web site called &#039;&#039;info.php&#039;&#039;, containing the following text, and call it from your browser:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?PHP phpinfo() ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If nothing happens then you don&#039;t have PHP installed or your webserver is not configured to handle .php files properly. See the installation docs for some information about where to download it for your computer. See the [[phpinfo]] page for details about the content of this page.&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==I am being told that I need the &#039;&#039;&#039;intl php plugin&#039;&#039;&#039; to continue to install Moodle 2.x==&lt;br /&gt;
The intl.dll from Zend is part of the PHP 5.2.8 release and later. It is aimed at improving the internationalization of php pages and Moodle 2.x uses it as part of this process. If your install is on a local machine or network, then you can download the latest version of PHP and update your PHP. You then have to uncomment all the required dynamic extensions you need, including the php_intl.dll extension. The problem is then solved. If the install is on a host server, then you need to contact your host and ask them to do the same, As an alternative, you can unzip/untar the download file, copy and paste the intl.dll file to your php/ext folder and include the line:&lt;br /&gt;
  extension=php_intl.dll&lt;br /&gt;
in the Dynamic Extensions section of your php.ini file.&lt;br /&gt;
&lt;br /&gt;
You can also set the error level using:&lt;br /&gt;
  intl.error_level = E_WARNING &lt;br /&gt;
but this is not essential&lt;br /&gt;
&lt;br /&gt;
If you are using a Linux install, use your system package manager or specify compilation flag.&lt;br /&gt;
    * Debian 5.0 (&amp;amp; Ubuntu) use: apt-get install php-intl or apt-get install php5-intl &lt;br /&gt;
    * CentOS 5.5 (&amp;amp; RedHat) you should (probably) be using php 5.3 from remi and then use: yum install php-intl&lt;br /&gt;
&lt;br /&gt;
This technique can be applied to any updated dynamic extension from Zend. You may want to use later dll files in your php/ext folder, you can do so by doing the same as above, but be careful, your version may not be able to take full advantage of the extension, or some very new extensions may cause an unexpected instability. The best option is still to update on a regular basis, perhaps once a year or so for the PHP.&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
===What Dynamic Extensions do I really need uncommented in my php.ini file? What else do I need to change?===&lt;br /&gt;
This assumes you have complete control over the installation and running of your server, if your Moodle is hosted, you need to do something different, which is also discussed below. In the php.ini you need to delete the semi-colon, the ;, from the start of any line to uncomment it. For Moodle, you really should only need to change some values, and make sure the extensions you require are available. These are:&lt;br /&gt;
&lt;br /&gt;
Resource Limits&lt;br /&gt;
  memory_limit = 128M     //This is the maximum it requires and on a shared server you may get much less. &lt;br /&gt;
&lt;br /&gt;
Data Handling &lt;br /&gt;
  post_max_size = 512M    //This allows postings of up to 512MB, but set it to suit yourself and your circumstances&lt;br /&gt;
&lt;br /&gt;
Paths and Directories&lt;br /&gt;
  doc_root =&amp;quot;driveletter:\path\to\server\active\web\directory&amp;quot;  (e.g. d:\Apache\htdocs or e:\iis\wwwroot )&lt;br /&gt;
  and&lt;br /&gt;
  extension_dir = &amp;quot;driveletter:\path\to\php\ext&amp;quot; (e.g. d:\php\ext or e:\iis\php\ext)&lt;br /&gt;
&lt;br /&gt;
File Uploads&lt;br /&gt;
  upload_max_filesize = 512M    (This is different from the post_max_size this is for file uploads.)&lt;br /&gt;
&lt;br /&gt;
Dynamic Extensions (&#039;&#039;&#039;Windows Only&#039;&#039;&#039;)&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PHP 5.3.x&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
  extension=php_curl.dll&lt;br /&gt;
  extension=php_gd2.dll&lt;br /&gt;
  extension=php_gettext.dll&lt;br /&gt;
  extension=php_intl.dll&lt;br /&gt;
  extension=php_imap.dll&lt;br /&gt;
  extension=php_ldap.dll&lt;br /&gt;
  extension=php_mbstring.dll&lt;br /&gt;
  extension=php_exif.dll      ; Must be after mbstring as it depends on it&lt;br /&gt;
  extension=php_mysql.dll&lt;br /&gt;
  extension=php_mysqli.dll&lt;br /&gt;
  extension=php_openssl.dll&lt;br /&gt;
  extension=php_pdo_mssql.dll&lt;br /&gt;
  extension=php_pdo_mysql.dll&lt;br /&gt;
  extension=php_soap.dll&lt;br /&gt;
  extension=php_sockets.dll&lt;br /&gt;
  extension=php_sqlite.dll&lt;br /&gt;
  extension=php_xmlrpc.dll&lt;br /&gt;
  extension=php_zip.dll&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These edits and Dynamic extensions cover a range of options here, there are a number of other possibilities, but these listed are the most common ones. Unless you have a specific need, there may not be any reason to deviate from these settings, but if you do, make sure you know what is going to happen. These extensions will also allow you to successfully install and run many other PHP applications. &lt;br /&gt;
&lt;br /&gt;
One example is the Oracle extensions are not shown here, but Oracle can be used for the Moodle database. Another area people often get themselves into trouble is using &amp;quot;Magic quotes&amp;quot;. Magic quotes really should be set to off, they were only introduced early in the use of PHP to allow for some inexperienced scripting practices, (read poor, shoddy or dodgy here). If someone is still writing poor scripts, then they deserve to draw attention to themselves and their scripts deleted.&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
==What &amp;amp; where are Moodle&#039;s configuration settings stored?==&lt;br /&gt;
Configuration settings are stored in the config.php file stored in your moodle folder. This file is created during the installation process. If there is a problem and the installation cannot create the file, you can try creating it manually from the [[Configuration file]] docs. &lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
==Downloading previous releases of Moodle==&lt;br /&gt;
&lt;br /&gt;
Previous versions of Moodle that are not found on [http://download.moodle.org Moodle downloads] may be downloaded from &amp;lt;nowiki&amp;gt;http://download.moodle.org/stable[version_number]/&amp;lt;/nowiki&amp;gt; where [version_number] is the number without a point. For example http://download.moodle.org/stable20/ or http://download.moodle.org/stable27/&lt;br /&gt;
&lt;br /&gt;
You&#039;ll see a directory tree with the files displayed. Click on the one you want and download as normal. If you require the latest update of the version, scroll to the end of the list and download the &amp;quot;moodle-latest&amp;quot; file.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Windows Packages&#039;&#039;&#039;: To download other releases not found in [http://download.moodle.org/windows/ Moodle packages for Windows], use this URL:&lt;br /&gt;
:&amp;lt;nowiki&amp;gt;http://download.moodle.org/windows/MoodleWindowsInstaller-latest-[version_number].zip&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Mac Packages&#039;&#039;&#039;: To download other releases not found in [http://download.moodle.org/macosx/ Mac packages], use either of these URLs (depending on whether you need the Intel or PPC package):&lt;br /&gt;
:&amp;lt;nowiki&amp;gt;http://download.moodle.org/macosx/Moodle4Mac-Intel-[version_number].dmg&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
:&amp;lt;nowiki&amp;gt;http://download.moodle.org/macosx/Moodle4Mac-PPC-[version_number}.dmg&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
== How to enable and check PHP error logs==&lt;br /&gt;
PHP can be set up to log errors in a variety of different ways: two of these involve the use of the php.ini file and the ini_set command.  See [[PHP error logs]].&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Could not find a top level course&amp;quot; ==&lt;br /&gt;
If this appears immediately after you have attempted to install Moodle it almost certainly means that the installation did not complete. A complete installation will ask you for the administrator profile and to name the site just before it completes. Check your logs for errors. Then drop the database and start again. If you used the web-based installer try the command line one. Does your computer definitely have sufficient resource to run Moodle?&lt;br /&gt;
&lt;br /&gt;
==Email copies are not being sent from my forums==&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;must&#039;&#039; set up cron properly if you want Moodle to send out automatic email from forums, assignments etc. This same process also performs a number of clean-up tasks such as deleting old unconfirmed users, unenrolling old students and so on. Please refer to the [[Cron|cron instructions]].&lt;br /&gt;
&lt;br /&gt;
Tips:&lt;br /&gt;
* Try the default settings in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Message outputs &amp;gt; Email&#039;&#039;. This generally works. Except...&lt;br /&gt;
* On a Windows server you *must* supply the address of an SMTP server (Windows, unlike Unix, does not have a build in mail server) in the above settings page&lt;br /&gt;
* Make sure that &#039;&#039;allowuseremailcharset&#039;&#039; in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Message outputs &amp;gt; Email&#039;&#039; is set to No unless you really know what you are doing. Setting this to Yes can cause a problem in some versions of Moodle.&lt;br /&gt;
* Check your firewall or ask your network administrator. Many mail servers are heavily locked down and you may need permission to send mail through them.&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
==I can&#039;t log in - I just stay stuck on the login screen==&lt;br /&gt;
&lt;br /&gt;
This may also apply if you are seeing  “Your session has timed out. Please login again” or &amp;quot;A server error that affects your login session was detected. Please login again or restart your browser&amp;quot; and cannot log in.&lt;br /&gt;
&lt;br /&gt;
The following are possible causes and actions you can take (in no particular order):&lt;br /&gt;
&lt;br /&gt;
* Check first that your main admin account (which will be a manual account) is also a problem. If your users are using an external authentication method (e.g. LDAP) that could be the problem. Isolate the fault and make sure it really is Moodle before going any further.&lt;br /&gt;
* Check that your hard disk is not full or if your server is on shared hosting check that you have not reached your disk space quota. This will prevent new sessions being created and nobody will be able to log in. &lt;br /&gt;
* Carefully check the permissions in your &#039;moodledata&#039; area. The web server needs to be able to write to the &#039;sessions&#039; subdirectory. &lt;br /&gt;
* Your own computer (not your Moodle server) may have a firewall that is stripping referrer information from the browser. Here are some instructions for fixing [http://service1.symantec.com/SUPPORT/nip.nsf/46f26a2d6dafb0a788256bc7005c3fa3/b9b47ad7eddd343b88256c6b006a85a8?OpenDocument&amp;amp;src=bar_sch_nam Norton firewall products].&lt;br /&gt;
* Try deleting the &#039;&#039;sessions&#039;&#039; folder in your moodledata directory (anybody currently logged in will be thrown out)&lt;br /&gt;
* Try deleting cookies on your computer and/or try another browser or another client computer&lt;br /&gt;
* In &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Server &amp;gt; Session Handling&#039;&#039;, try setting a value for &#039;Cookie prefix&#039;. You can also do this by setting &amp;lt;code&amp;gt;$CFG-&amp;gt;sessioncookie=&#039;something&#039;;&amp;lt;/code&amp;gt; in config.php. This is especially true if you are using multiple Moodles on the same browser. &lt;br /&gt;
* Make sure you have not removed or changed the [[Password salting|Password Salt]] value(s) in config.php. If passwords were created using a salt the correct salt must be in config.php for those passwords to continue to work. This is easily done if you recreate config.php while performing an upgrade and forget to transfer the salt values. &lt;br /&gt;
* Do you have a .htaccess file in your Moodle folder (or its parent directories). If so, is there anything in there that might be causing trouble (strange redirects, access restrictions etc.)?&lt;br /&gt;
* Check the value of &#039;&#039;&#039;mnet_localhost_id&#039;&#039;&#039; in the mdl_config database table. It&#039;s normally 1 but must match the &#039;&#039;&#039;mnet_hostid&#039;&#039;&#039; field in your user records in the mdl_user table for the user to be recognised. It can sometimes get changed spuriously during upgrades or site migrations. &lt;br /&gt;
* Check config.php - it should NOT have any spaces/new lines at the end of code.&lt;br /&gt;
* You are using the correct username and password, yes?&lt;br /&gt;
&lt;br /&gt;
If you are still having problems, read the [[Can_not_log_in | Cannot log in]] page. You &#039;&#039;&#039;could&#039;&#039;&#039; also try changing the admin password. Proceed as if you have lost it - see [[Administration FAQ]].&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
==I log in but the login link doesn&#039;t change. I am logged in and can navigate freely.==&lt;br /&gt;
&lt;br /&gt;
Make sure the URL in your &amp;lt;code&amp;gt;$CFG-&amp;gt;wwwroot&amp;lt;/code&amp;gt; setting is exactly the same as the one you are actually using to access the site.&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
==Uploaded files give &amp;quot;File not found&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
For example: Not Found: The requested URL /moodle/file.php/2/myfile.jpg was not found on this server.&lt;br /&gt;
&lt;br /&gt;
This indicates that slash arguments are not enabled on your web server. Please see [[Using slash arguments]] for details.&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
==Why are all my pages blank?==&lt;br /&gt;
&lt;br /&gt;
Check the dirroot variable in &#039;&#039;config.php&#039;&#039;. You must use complete, absolute pathnames (e.g.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$CFG-&amp;gt;dirroot = &amp;quot;/var/www/moodle&amp;quot;;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another reason might be that PHP has not been configured to support MySQL (or whatever other database you are using). This is common on RedHat and OpenBSD installations. In this case, an error is generated, but since error displays are often disabled by default, all that is seen on the browser is a blank screen. To enable PHP error displays see [[Installation_FAQ#How_to_enable_and_check_PHP_error_logs | How to enable and check PHP error logs]].&lt;br /&gt;
&lt;br /&gt;
To determine if database support is your problem, insert this as the second line in your &#039;&#039;config.php&#039;&#039; file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
phpinfo();&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then reload the web page. Examine the output closely to see if you chosen database is supported. If not, look for a package you are missing.&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
== Why is a particular page blank or incomplete? ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Check your web server log files!!&#039;&#039;&#039; &lt;br /&gt;
:If a particular page is blank or incomplete (it doesn&#039;t display the footer), before you do anything else switch on [[Debugging]] and  [[Installation_FAQ#How_to_enable_and_check_PHP_error_logs | check your PHP error logs]]. Having established that PHP error logging is working, reproduce the error. Immediately check the error log file right at the end. Hopefully you will see a PHP error message at or very near the end of the file. This may solve your problem directly or makes it a lot easier to diagnose the problem in the Moodle forums.&lt;br /&gt;
&lt;br /&gt;
*If you are &#039;&#039;&#039;upgrading to a new version of Moodle&#039;&#039;&#039;, check that you do not have an old version of a non-standard block or module installed. Remove any such blocks or modules installed using the admin settings page and start the install process again. However, do also make sure that you have included all optional plugins that were required by your courses. This is particularly common with &amp;quot;editing on&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*If you &#039;&#039;&#039;do not see any blocks listed&#039;&#039;&#039;, turn editing on and remove any blocks that you have added to that page and try reloading.&lt;br /&gt;
&lt;br /&gt;
*You may get this error immediately after &#039;&#039;&#039;selecting a language&#039;&#039;&#039;. At this stage of the installation process your Moodle computer may need to connect to the Internet and download a language pack, so check that the computer can access the Internet by using a browser. Check also that your PHP settings are as given in the Moodle [[Installing_Moodle#Requirements | Moodle Requirements]] page.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See also&#039;&#039;&#039;:&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=97734 PHP configuration error] forum discussion&lt;br /&gt;
&lt;br /&gt;
==Installation hangs when setting-up database tables==&lt;br /&gt;
Sometimes the installation will hang when setting up tables, where only half the page displayed in the browser and/or other outputs are removed.  You may see truncated MySQL statements, or the “Scroll to continue” link is displayed but no “Continue” button is there. &lt;br /&gt;
&lt;br /&gt;
See [[Unexpected installation halts]] for more about solutions that involve:&lt;br /&gt;
*Checking for MySQL limits&lt;br /&gt;
*Checking the .htaccess files &lt;br /&gt;
*Code customizations issues&lt;br /&gt;
*Checking memory limit &lt;br /&gt;
*Upgrade incrementally&lt;br /&gt;
*Fix fopen function&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
==Why can&#039;t I upload a new image into my profile?==&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t see anything on your user profile pages to let you upload user images then it&#039;s usually one of the following:&lt;br /&gt;
*The permissions associated with the role you are using are preventing you from changing your profile picture.&lt;br /&gt;
* GD is not installed, or is not enabled on your server. Make sure &#039;&#039;&#039;GD has been included in your PHP installation&#039;&#039;&#039;. You can check this by going to &#039;&#039;Site Administration &amp;gt; Server &amp;gt; PHP info&#039;&#039; and looking for the gdversion setting. This setting is chosen automatically every time you visit that page. If it shows GD version 1 or version 2 then everything should be fine. Save that configuration page and go back to your user profile.&lt;br /&gt;
* GD is installed, but is in some way corrupt. For instance, [http://moodle.org/mod/forum/discuss.php?d=44271#p386194 see this discussion on empty lines or white spaces in config files.]&lt;br /&gt;
GD is a library that allows image processing. For example, when all is well with your system, and you upload a new profile image, GD compresses the image and produces two thumbnails, one is 100x100 pixels, and the other is 35x35 pixels.&lt;br /&gt;
&lt;br /&gt;
If Moodle thinks GD is not installed, then you will need to &#039;&#039;&#039;install the GD library&#039;&#039;&#039;. &lt;br /&gt;
*On Unix you may need to re-compile PHP with arguments something like this:&lt;br /&gt;
&lt;br /&gt;
 ./configure --with-apxs=/usr/local/apache/bin/apxs --with-xml --with-gd &lt;br /&gt;
 --with-jpeg-dir=/usr/local --with-png-dir=/usr --with-ttf --enable-gd-native-ttf &lt;br /&gt;
 --enable-magic-quotes --with-mysql --enable-sockets --enable-track-vars &lt;br /&gt;
 --enable-versioning --with-zlib&lt;br /&gt;
&lt;br /&gt;
* On Windows this is usually a matter of &amp;quot;turning on&amp;quot; the extension in PHP by editing your php.ini file. To do this remove the semicolon for the php_gd2.dll extension - check that this file is actually present in your php extensions  folder first (search your php.ini for extension_dir to determine where this points to on your hard disk). You should then have a line that looks like this:&lt;br /&gt;
 extension=php_gd2.dll&lt;br /&gt;
&lt;br /&gt;
:Windows users should see the [[Installing AMP|installation instructions]] for further help. &lt;br /&gt;
&lt;br /&gt;
3. Remember to &#039;&#039;&#039;restart your webserver&#039;&#039;&#039; (if possible) and re-visit the Moodle configuration page after making any changes to PHP so it can pick up the correct version of GD.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See also&#039;&#039;&#039;: Using Moodle forum discussion [http://moodle.org/mod/forum/discuss.php?d=44271 Profile pictures] for additional information.&lt;br /&gt;
&lt;br /&gt;
== Why doesn&#039;t my Moodle site display the time and date correctly? ==&lt;br /&gt;
&lt;br /&gt;
Each language requires a specific language code (called a &#039;&#039;&#039;locale&#039;&#039;&#039; code) to allow dates to be displayed correctly. The language packs contain default standard codes, but sometimes these don&#039;t work on Windows servers.&lt;br /&gt;
&lt;br /&gt;
You can find the correct locale codes for Windows on these two pages: [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp Language codes] and [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_country_strings.asp Country/region] codes (e.g. &amp;quot;esp_esp&amp;quot; for spanish)&lt;br /&gt;
&lt;br /&gt;
These new locale codes can be entered on the Administration &amp;gt;&amp;gt; Configuration &amp;gt;&amp;gt; [[admin/config|Variables]] page, where they override the ones in the currently chosen language pack.&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
== How do I uninstall Moodle?==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Webhost/manual installation&#039;&#039;&#039;: If you have installed Moodle manually or have installed onto a webhost, follow these steps:&lt;br /&gt;
*Delete the moodle database using this mysql command (or delete using your mysql client, e.g. PHPMyAdmin):&lt;br /&gt;
&amp;lt;pre&amp;gt;sql&amp;gt;DROP DATABASE moodle;&amp;lt;/pre&amp;gt;&lt;br /&gt;
:In the above example replace &#039;moodle&#039; with the name of the moodle database you created when installing.&lt;br /&gt;
*Delete the moodledata directory. If you, or your users, have uploaded materials into this directory take a copy of these before deleting this directory.&lt;br /&gt;
*Delete the moodle directory itself. This will delete all of the moodle PHP script files.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XAMPP windows installation&#039;&#039;&#039;: If you have installed Moodle on windows through the XAMPP package, follow these steps:&lt;br /&gt;
*Open cmd.exe and navigate to this directory within your installation directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;server/mysql/bin&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Run this command, replacing USERNAME with your database username (the default is &amp;quot;root&amp;quot;) and DATABASE with your database name (the default is &amp;quot;moodle&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;mysqladmin.exe -u USERNAME -p drop DATABASE&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Enter your database password at the prompt (the default is &amp;quot;&amp;quot; [blank]).&lt;br /&gt;
*Enter &amp;quot;y&amp;quot; to confirm the database drop.&lt;br /&gt;
*Delete the moodledata directory. If you, or your users, have uploaded materials into this directory take a copy of these before deleting this directory.&lt;br /&gt;
*Delete the moodle directory itself. This will delete all of the moodle PHP script files.&lt;br /&gt;
&lt;br /&gt;
==Migrating Moodle to a new site or server==&lt;br /&gt;
Migrating Moodle means that you have to move the current installation to a new server, and so may have to change IP addresses or DNS entries. To do this you will need to change the $CFG-&amp;gt;wwwroot value in the config.php on the new server. You will also have to change any absolute links stored in the database backup file (before restoring the file on the new server) either using the admin/replace.php script, your text editor or another &amp;quot;search and replace&amp;quot; tool, e.g. sed. For more details see the [[Moodle_migration | Moodle Migration]] page.&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
==Why does my new installation display correctly on the server, but when I view it from a different machine, styles and images are missing?==&lt;br /&gt;
In the installation instructions, one of the suggested settings for &#039;webroot&#039; is &#039;localhost&#039;. This is fine if all you want to do is some local testing of your new Moodle installation. If, however, you want to view your new installation from another machine on the same local area network, or view your site on the internet, you will have to change this setting:&lt;br /&gt;
*For local testing, &#039;localhost&#039; is fine for the webroot ($CFG-&amp;gt;wwwroot in config.php). &lt;br /&gt;
*If you want to test your site from other machines on the same local area network (LAN), then you will have to use the private ip address of the serving machine, (e.g. 192.168.1.2/moodle) or the network name of the serving computer (e.g. network_name_of_serving_machine/moodle) as the web root. Depending on your LAN setup, it may be better to use the network name of the computer rather than its (private) ip address, because the ip address can and will change from time to time. If you don&#039;t want to use the network name, then you will have to speak to your network administrator and have them assign a permanent ip address to the serving machine.&lt;br /&gt;
*Finally, if you want to test your new installation across the internet, you will have to use either a domain name or a permanent (public) ip address/moodle as your web root. To handle both types of access, see [https://docs.moodle.org/en/masquerading masquerading].&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
==Maximum upload file size - how to change it?==&lt;br /&gt;
There are several places to change the maximum file upload size. The first place to check is the Administration block.   Security -&amp;gt; Site Policies -&amp;gt; and look for &amp;quot;Maximum Uploaded File Size&amp;quot;.  This is the &amp;quot;maxbyte&amp;quot; variable found in older versions of Moodle (under Admin &amp;gt; Variables). Teachers may also set the maximum file size by the [[Course_settings#Maximum_upload_size|course administration block]].&lt;br /&gt;
&lt;br /&gt;
If the above does not provide a large enough figure you will need to make changes in your server settings. The usual place is in your php.ini file (go to Site administration &amp;gt; Server &amp;gt; PHPinfo and check a few lines down for its location). Look for settings &#039;&#039;&#039;upload_max_filesize&#039;&#039;&#039; and &#039;&#039;&#039;post_max_size&#039;&#039;&#039;, setting them both to your desired new value (e.g. &#039;64MB&#039;). You will need to restart the web server for these changes to take effect - e.g. on Linux, &#039;&#039;&#039;/etc/init.d/apache2 force-reload&#039;&#039;&#039;. Check your documentation or just reboot the server. &lt;br /&gt;
&lt;br /&gt;
For more help see:&lt;br /&gt;
*[[Administration_FAQ#How_do_the_limits_on_uploaded_files_work.3F]]&lt;br /&gt;
*[[Installing_Moodle#Recheck_PHP_settings]]&lt;br /&gt;
*[[Installing_Moodle#Using_a_.htaccess_file_for_webserver_and_PHP_settings]]&lt;br /&gt;
*[[Site_policies#Maximum_uploaded_file_size]]&lt;br /&gt;
*These forum posts: http://moodle.org/mod/forum/discuss.php?d=63840#287960 and http://moodle.org/mod/forum/discuss.php?d=93882#p414650&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
==Moodle claims PHP float handling is not compatible==&lt;br /&gt;
&lt;br /&gt;
The symptom is that when you try to install or upgrade your Moodle, you get a message &amp;quot;Detected unexpected problem in handling of PHP float numbers&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[http://moodle.org/mod/forum/discuss.php?d=114945 This forum thread] and MDL-18253 have more information. In short, this problem should not happen, you can help us by telling posting information about exactly which version of PHP, and OS you are using. That may let us find a way to work around this problem.&lt;br /&gt;
&lt;br /&gt;
You may be able to solve this issue by installing a more recent PHP versions. If you compile PHP yourself from source, changing the compilation options may help. However, since we don&#039;t understand the cause, we don&#039;t really know. If you do find a solution that works for you, please do tell us about it.&lt;br /&gt;
&lt;br /&gt;
Update: we have a guess that the problem may be the [http://au2.php.net/manual/en/ini.core.php#ini.precision &#039;precision&#039; setting in your php.ini file]. In a default PHP install this is set of 14. On at least one server that exhibited this problem it had been changed to a smaller value. So, if you see this problem, please try adding &lt;br /&gt;
 ini_set(&#039;precision&#039;, 14);&lt;br /&gt;
to your config.php file, and report your success in MDL-18253.&lt;br /&gt;
&lt;br /&gt;
==When upgrading Moodle claims my MySQL database is not UTF8 when I&#039;m sure it is==&lt;br /&gt;
&lt;br /&gt;
The UTF-8 detection for MySQL databases was finally fixed in Moodle 2.5, some incorrectly configured databases were previously reported as compatible. &lt;br /&gt;
&lt;br /&gt;
Please note it is not enough to alter the charset and collation of the database, you must fix each text column in each database table!&lt;br /&gt;
&lt;br /&gt;
Before going any further make sure you understand the difference between character encoding (how text is stored) and collations (the rules for comparing text strings). Collation problems will never cause this error but have a bunch of problems of their own.&lt;br /&gt;
&lt;br /&gt;
See [[Converting your MySQL database to UTF8]]&lt;br /&gt;
&lt;br /&gt;
[[#top|Top]]&lt;br /&gt;
&lt;br /&gt;
== How do I run multiple instances of Moodle without duplicating base code? ==&lt;br /&gt;
&lt;br /&gt;
See [http://moodle.org/mod/forum/discuss.php?d=13211 this thread] for a detailed explanation by [[User:Martin_Langhoff| Martin Langhoff]].&lt;br /&gt;
&lt;br /&gt;
== What is FreeTDS and how can I use it in my installation? ==&lt;br /&gt;
[[Installing MSSQL for PHP|FreeTDS]] is an open source implementation of the Tabular Data Stream protocol used by Microsoft SQL Server and Sybase for their databases. Unfortunately, Microsoft servers don&#039;t usually accept TDS 5.0 connections. FreeTDS allows your Unix/Linux applications to talk to these other database products and import and export data between different systems successfully.&lt;br /&gt;
&lt;br /&gt;
== How do I install a plugin? ==&lt;br /&gt;
&lt;br /&gt;
Please see [[Installing plugins]].&lt;br /&gt;
&lt;br /&gt;
==I can&#039;t enable a plugin on the Plugins overview page because the icon is not clickable==&lt;br /&gt;
The open and closed eye icon on the Plugins overview page is simply there to show whether or not a plugin is enabled. You can&#039;t edit plugins from this screen. If you wish to enable a plugin, to to the appropriate page for managing the type of plugin you need, for instance &#039;&#039;Settings&amp;gt;Site administration&amp;gt;Plugins&amp;gt;Repositories&amp;gt;Manage repositories&#039;&#039; or &#039;&#039;Settings&amp;gt;Site administration&amp;gt;Plugins&amp;gt;Activity modules&amp;gt;Manage activities.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Errors FAQ]]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=28 Installation problems forum]&lt;br /&gt;
* [[Beginning_Moodle_2.0_Administration|Beginning Moodle 2.0 Administration FAQ]]&lt;br /&gt;
&lt;br /&gt;
Installing Moodle in a shared web hosting environment:&lt;br /&gt;
* [[Finding_and_Selecting_A_Web_Host|Finding and Selecting a web host]]&lt;br /&gt;
* [[Installing_Moodle_on_SmarterASP.NET|Installing Moodle on SmarterASP.NET web hosting]]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[es:FAQ Instalación]]&lt;br /&gt;
[[fr:FAQ d&#039;installation]]&lt;br /&gt;
[[ja:インストールFAQ]]&lt;br /&gt;
[[de:Installation FAQ]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=MediaWiki:Noarticletext&amp;diff=116205</id>
		<title>MediaWiki:Noarticletext</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=MediaWiki:Noarticletext&amp;diff=116205"/>
		<updated>2016-12-05T09:12:25Z</updated>

		<summary type="html">&lt;p&gt;Tsala: rewording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main page}}&lt;br /&gt;
This page does not exist. You can [[:en:{{NAMESPACE}}:{{PAGENAME}}|check whether it exists in the documentation for the latest stable version of Moodle]] or [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages.&lt;br /&gt;
&lt;br /&gt;
You are also welcome to [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} create it] yourself :-)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[MoodleDocs:Guidelines for contributors]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=116204</id>
		<title>MediaWiki:MoodleDocsVersionLinks</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=116204"/>
		<updated>2016-12-05T07:26:47Z</updated>

		<summary type="html">&lt;p&gt;Tsala: 3.2 link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2.7 docs: /27/en/{{FULLPAGENAMEE}}&lt;br /&gt;
3.2 docs: /32/en/{{FULLPAGENAMEE}}&lt;br /&gt;
3.1 docs: /31/en/{{FULLPAGENAMEE}}&lt;br /&gt;
3.0 docs: /30/en/{{FULLPAGENAMEE}}&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Capabilities/message/airnotifier:managedevice&amp;diff=116203</id>
		<title>Capabilities/message/airnotifier:managedevice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Capabilities/message/airnotifier:managedevice&amp;diff=116203"/>
		<updated>2016-11-25T16:30:00Z</updated>

		<summary type="html">&lt;p&gt;Tsala: removing link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Capabilities}}&lt;br /&gt;
*This allows a user to manage their registered mobile device for mobile app notifications&lt;br /&gt;
*This capability is allowed for the default role of authenticated user&lt;br /&gt;
&lt;br /&gt;
[[Category:Capabilities|Messaging]]&lt;br /&gt;
[[Category:Messaging]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Capabilities/message/airnotifier:managedevice&amp;diff=116202</id>
		<title>Capabilities/message/airnotifier:managedevice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Capabilities/message/airnotifier:managedevice&amp;diff=116202"/>
		<updated>2016-11-25T16:26:16Z</updated>

		<summary type="html">&lt;p&gt;Tsala: capabilities template, description, categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Capabilities}}&lt;br /&gt;
*This allows a user to manage their registered mobile device for [[Mobile app notifications]]&lt;br /&gt;
*This capability is allowed for the default role of authenticated user&lt;br /&gt;
&lt;br /&gt;
[[Category:Capabilities|Messaging]]&lt;br /&gt;
[[Category:Messaging]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Security_recommendations&amp;diff=116201</id>
		<title>Security recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Security_recommendations&amp;diff=116201"/>
		<updated>2016-11-07T14:14:09Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* Basic recommendations */ Use https to secure all pages - copied from 29 docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}}All web application software is highly complex, and every application has security issues that are found from time to time, usually involving some combination of input that the programmers did not anticipate. The Moodle project takes security seriously, and is continuously improving Moodle to close such holes as we find them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
*This page contains important security measures for your Moodle installation.&lt;br /&gt;
*You should report security problems to the [http://tracker.moodle.org/secure/CreateIssue!default.jspa  Moodle tracker] (and mark it as a security issue!) so that developers can see it and inform  registered Moodle sites about fixes as soon as possible.&lt;br /&gt;
*You should not post actual exploits in the forums or elsewhere on the web (to protect Moodle admins who have not upgraded yet).&lt;br /&gt;
&lt;br /&gt;
==Simple security measures==&lt;br /&gt;
*The best security strategy is a good backup! But you don&#039;t have a good backup unless you are able to restore it. Test your restoration procedures!&lt;br /&gt;
*Load only software or services you will use&lt;br /&gt;
*Perform regular updates&lt;br /&gt;
*Model your security after the layers of clothing you wear on a cold winter day&lt;br /&gt;
&lt;br /&gt;
==Basic recommendations==&lt;br /&gt;
&lt;br /&gt;
;Update Moodle regularly on each release&lt;br /&gt;
:Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.&lt;br /&gt;
; Use https to secure all pages (not just the login page)&lt;br /&gt;
:Protect all traffic from your Moodle instance and your users by making all pages accessible via https only. This not only protects passwords on login but also ensures the privacy of your users so that all user data cannot be intercepted or manipulated (&amp;quot;ad injections&amp;quot;) from third parties like WLAN providers for example. Free https certificates are available from https://letsencrypt.org/. In addition, set httpslogin=yes in your moodle config to add an extra layer of protection for submitting login credentials.&lt;br /&gt;
;Register globals &#039;&#039;&#039;MUST&#039;&#039;&#039; be disabled - see [[admin/environment/custom check/php check register globals]]&lt;br /&gt;
:This will help prevent against possible XSS problems in third-party scripts.&lt;br /&gt;
;Use strong passwords for admin and teachers&lt;br /&gt;
:Choosing &amp;quot;difficult&amp;quot; passwords is a basic security practice to protect against &amp;quot;brute force&amp;quot; cracking of accounts.&lt;br /&gt;
;Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.&lt;br /&gt;
:Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.&lt;br /&gt;
;Separate your systems as much as possible&lt;br /&gt;
:Another basic security technique is to use different passwords on different systems, use different machines for different services and so on.  This will prevent damage being widespread even if one account or one server is compromised.&lt;br /&gt;
&lt;br /&gt;
==Run regular updates==&lt;br /&gt;
*Use auto update systems&lt;br /&gt;
*Windows Update &lt;br /&gt;
*Linux: up2date, yum, apt-get&lt;br /&gt;
:Consider automating updates with a script scheduled via cron &lt;br /&gt;
*Mac OSX update system&lt;br /&gt;
*Stay current with php, apache, and moodle&lt;br /&gt;
&lt;br /&gt;
==Use mailing lists to stay updated==&lt;br /&gt;
*CERT - http://www.us-cert.gov/cas/signup.html&lt;br /&gt;
*PHP - http://www.php.net/mailing-lists.php - sign up for Announcements list&lt;br /&gt;
*MySQL - http://lists.mysql.com - sign up for MySQL Announcements&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
*Security experts recommend a dual firewall&lt;br /&gt;
:Differing hardware/software combinations &lt;br /&gt;
*Disabling unused services is often as effective as a firewall&lt;br /&gt;
:Use netstat -a to review open network ports&lt;br /&gt;
*Not a guarantee of protection&lt;br /&gt;
*Allow ports &lt;br /&gt;
:80, 443(ssl), and 9111 (for chat), &lt;br /&gt;
:Remote admin: ssh 22, or rdp 3389&lt;br /&gt;
&lt;br /&gt;
==Password policy==&lt;br /&gt;
&lt;br /&gt;
A password policy may be set up in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Security &amp;gt; [[Site policies]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
There is a check box to determine if password complexity should be enforced or not, the option to set the minimum length of the password, the minimum number of digits, the minimum number of lowercase characters, the minimum number of uppercase characters and the minimum number of non alphanumeric characters.&lt;br /&gt;
&lt;br /&gt;
If a user enters a password that does not meet those requirements, they are given an error message indicating the nature of the problem with the entered password.&lt;br /&gt;
&lt;br /&gt;
Enforcing password complexity along with requiring users to change their initial password go a long way in helping ensure that users choose and are in fact using &amp;quot;good passwords&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
However, making the check too onerous just results in them writing it down so be realistic.&lt;br /&gt;
&lt;br /&gt;
==Be prepared for the worst==&lt;br /&gt;
*Have backups ready &lt;br /&gt;
*Practice recovery procedures ahead of time &lt;br /&gt;
*Use a rootkit detector on a regular basis &lt;br /&gt;
**Linux/MacOSX - http://www.chkrootkit.org/ &lt;br /&gt;
**Windows - http://technet.microsoft.com/en-en/sysinternals/bb897445.aspx and http://technet.microsoft.com/de-de/sysinternals/bb897445.aspx&lt;br /&gt;
&lt;br /&gt;
==Moodle security alerts==&lt;br /&gt;
*Register your site with Moodle.org&lt;br /&gt;
:Registered users receive email alerts&lt;br /&gt;
*Security alerts also posted online&lt;br /&gt;
*Web - http://moodle.org/security&lt;br /&gt;
*RSS feed - http://moodle.org/rss/file.php/1/1/forum/996/rss.xml&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous considerations==&lt;br /&gt;
These are all things you might consider that impact your overall security:&lt;br /&gt;
*Use the secure forms setting&lt;br /&gt;
*Always set a mysql root user password&lt;br /&gt;
*Turn off mysql network access&lt;br /&gt;
*Use SSL, httpslogins=yes&lt;br /&gt;
*Use good passwords - set up a password policy in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Security &amp;gt; [[Site policies]]&#039;&#039;&lt;br /&gt;
*Do not enable the &#039;&#039;opentogoogle&#039;&#039; setting (in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Security &amp;gt; [[Site policies]]&#039;&#039;)&lt;br /&gt;
*Disable guest access&lt;br /&gt;
*Place enrollment keys on all courses or set Course Enrollable = No for all courses&lt;br /&gt;
*Ensure the enrolment key hint is disabled (which it is by default) in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Enrolment &amp;gt; Self enrolment.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Most secure/paranoid file permissions==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: &amp;lt;u&amp;gt;The following information applies to Linux/Unix based installations only, as MS Windows permission system is quite different&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Depending on your server set-up there are two different scenarios:&lt;br /&gt;
# You are running Moodle on your own dedicated server.&lt;br /&gt;
# You are running Moodle on a shared hosting environment.&lt;br /&gt;
&lt;br /&gt;
In the sections below, you are required to use the web service user account and group to set the permissions, so you need to know them. This can vary quite a bit from server to server but if this feature has not been disabled in your server, you can go to http://your.moodle.site/admin/phpinfo.php (logging in as admin), and then search for the line that reads &#039;User/Group&#039;, inside the &#039;apache&#039; table. For example, I get &#039;www-data&#039; for the user account and &#039;www-data&#039; for the group too.&lt;br /&gt;
&lt;br /&gt;
=== Running Moodle on a dedicated server ===&lt;br /&gt;
Assuming you are running Moodle on a sealed server (i.e. no user logins allowed on the machine) and that root takes care of the modifications to both moodle code and moodle config (config.php), then this are the most tight permissions I can think of:&lt;br /&gt;
&lt;br /&gt;
1. moodledata directory and all of its contents (and subdirectories, includes sessions):&lt;br /&gt;
 owner: apache user (apache, httpd, www-data, whatever; see above)&lt;br /&gt;
 group: apache group (apache, httpd, www-data, whatever; see above)&lt;br /&gt;
 permissions: 700 on directories, 600 on files&lt;br /&gt;
&lt;br /&gt;
2. moodle directory and all of its contents and subdirectories (including config.php):&lt;br /&gt;
 owner: root&lt;br /&gt;
 group: root&lt;br /&gt;
 permissions: 755 on directories, 644 on files.&lt;br /&gt;
&lt;br /&gt;
If you allow local logins for regular users, then 2. should be:&lt;br /&gt;
 owner: root&lt;br /&gt;
 group: apache group (apache, httpd, www-data, whatever; see above)&lt;br /&gt;
 permissions: 750 on directories, 640 on files.&lt;br /&gt;
&lt;br /&gt;
Think of these permissions as the most paranoid ones. You can be secure enough with less tighter permissions, both in moodledata and moodle directories (and subdirectories).&lt;br /&gt;
&lt;br /&gt;
=== Running Moodle on a shared hosting environment ===&lt;br /&gt;
If you are running Moodle on a shared hosting environment, then above permissions are probably wrong. If you set 700 as the permission for directories (and 600 for files), you are probably denying the web service user account access to your directories and files.&lt;br /&gt;
&lt;br /&gt;
If you want to tighten your permissions as much as possible, you will need to know:&lt;br /&gt;
&lt;br /&gt;
# the user account and the group the web service is running under (see above).&lt;br /&gt;
# the owner of the directories/files of both moodledata and the moodle directory (this should normally be your client user account), and the group of the directories/files. You can usually get this information from the file manager of your hosting control panel. Go to the moodle folder and pick any directory or file and try to view/change the permissions, owner and group of that file. That would normally show the current permissions, owner and group. Do the same for the moodledata directory.&lt;br /&gt;
&lt;br /&gt;
Then, depending on the following scenarios you should use a different set of permissions (listed from more secure to less secure) for your moodledata directory:&lt;br /&gt;
&lt;br /&gt;
# if the web service account and the owner of the directories/files is the same, you should use 700 for directories and 600 for files.&lt;br /&gt;
# if the web service group and the group of the directories/files is the same, you should use 770 for directories and 660 for the files.&lt;br /&gt;
# if none of the above, you will need to use 777 for directories and 666 for files, which is less secure but it is your only option. 707 and 606 would be more secure, but it might or might not work, depending on your particular setup.&lt;br /&gt;
&lt;br /&gt;
In fact, you just need to set moodledata the permissions specified above, as all the directories and files inside are created by the web service itself, and will have the right permissions.&lt;br /&gt;
&lt;br /&gt;
Regarding the moodle directory, as long as the web service user account can read the files plus read and execute the directories, that should be enough. There is no need to grant write permission to the web service account/group on any of the files or subdirectories. The only drawback is that you will need to create the config.php by hand during the installation process, as Moodle will not be able to create it. But that should not be a big problem.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Security FAQ]]&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=39404 Guide to Securing your Moodle Server]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=93561 How to secure Moodle website from hacking] including recommendations on emergency recovery&lt;br /&gt;
&lt;br /&gt;
[[es:Recomendaciones de Seguridad]]&lt;br /&gt;
[[fr:Sécurité]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Security_recommendations&amp;diff=116200</id>
		<title>Security recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Security_recommendations&amp;diff=116200"/>
		<updated>2016-11-04T10:15:43Z</updated>

		<summary type="html">&lt;p&gt;Tsala: copying changes from 29 docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}}All web application software is highly complex, and every application has security issues that are found from time to time, usually involving some combination of input that the programmers did not anticipate. The Moodle project takes security seriously, and is continuously improving Moodle to close such holes as we find them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
*This page contains important security measures for your Moodle installation.&lt;br /&gt;
*You should report security problems to the [http://tracker.moodle.org/secure/CreateIssue!default.jspa  Moodle tracker] (and mark it as a security issue!) so that developers can see it and inform  registered Moodle sites about fixes as soon as possible.&lt;br /&gt;
*You should not post actual exploits in the forums or elsewhere on the web (to protect Moodle admins who have not upgraded yet).&lt;br /&gt;
&lt;br /&gt;
==Simple security measures==&lt;br /&gt;
*The best security strategy is a good backup! But you don&#039;t have a good backup unless you are able to restore it. Test your restoration procedures!&lt;br /&gt;
*Load only software or services you will use&lt;br /&gt;
*Perform regular updates&lt;br /&gt;
*Model your security after the layers of clothing you wear on a cold winter day&lt;br /&gt;
&lt;br /&gt;
==Basic recommendations==&lt;br /&gt;
*Update Moodle regularly on each release&lt;br /&gt;
:Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.&lt;br /&gt;
*[[admin/environment/custom check/php check register globals|Register globals &#039;&#039;&#039;MUST&#039;&#039;&#039; be disabled]]&lt;br /&gt;
:This will help prevent against possible XSS problems in third-party scripts.&lt;br /&gt;
*Use strong passwords for admin and teachers&lt;br /&gt;
:Choosing &amp;quot;difficult&amp;quot; passwords is a basic security practice to protect against &amp;quot;brute force&amp;quot; cracking of accounts.&lt;br /&gt;
*Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.&lt;br /&gt;
:Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.&lt;br /&gt;
*Separate your systems as much as possible&lt;br /&gt;
:Another basic security technique is to use different passwords on different systems, use different machines for different services and so on.  This will prevent damage being widespread even if one account or one server is compromised.&lt;br /&gt;
&lt;br /&gt;
==Run regular updates==&lt;br /&gt;
*Use auto update systems&lt;br /&gt;
*Windows Update &lt;br /&gt;
*Linux: up2date, yum, apt-get&lt;br /&gt;
:Consider automating updates with a script scheduled via cron &lt;br /&gt;
*Mac OSX update system&lt;br /&gt;
*Stay current with php, apache, and moodle&lt;br /&gt;
&lt;br /&gt;
==Use mailing lists to stay updated==&lt;br /&gt;
*CERT - http://www.us-cert.gov/cas/signup.html&lt;br /&gt;
*PHP - http://www.php.net/mailing-lists.php - sign up for Announcements list&lt;br /&gt;
*MySQL - http://lists.mysql.com - sign up for MySQL Announcements&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
*Security experts recommend a dual firewall&lt;br /&gt;
:Differing hardware/software combinations &lt;br /&gt;
*Disabling unused services is often as effective as a firewall&lt;br /&gt;
:Use netstat -a to review open network ports&lt;br /&gt;
*Not a guarantee of protection&lt;br /&gt;
*Allow ports &lt;br /&gt;
:80, 443(ssl), and 9111 (for chat), &lt;br /&gt;
:Remote admin: ssh 22, or rdp 3389&lt;br /&gt;
&lt;br /&gt;
==Password policy==&lt;br /&gt;
&lt;br /&gt;
A password policy may be set up in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Security &amp;gt; [[Site policies]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
There is a check box to determine if password complexity should be enforced or not, the option to set the minimum length of the password, the minimum number of digits, the minimum number of lowercase characters, the minimum number of uppercase characters and the minimum number of non alphanumeric characters.&lt;br /&gt;
&lt;br /&gt;
If a user enters a password that does not meet those requirements, they are given an error message indicating the nature of the problem with the entered password.&lt;br /&gt;
&lt;br /&gt;
Enforcing password complexity along with requiring users to change their initial password go a long way in helping ensure that users choose and are in fact using &amp;quot;good passwords&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
However, making the check too onerous just results in them writing it down so be realistic.&lt;br /&gt;
&lt;br /&gt;
==Be prepared for the worst==&lt;br /&gt;
*Have backups ready &lt;br /&gt;
*Practice recovery procedures ahead of time &lt;br /&gt;
*Use a rootkit detector on a regular basis &lt;br /&gt;
**Linux/MacOSX - http://www.chkrootkit.org/ &lt;br /&gt;
**Windows - http://technet.microsoft.com/en-en/sysinternals/bb897445.aspx and http://technet.microsoft.com/de-de/sysinternals/bb897445.aspx&lt;br /&gt;
&lt;br /&gt;
==Moodle security alerts==&lt;br /&gt;
*Register your site with Moodle.org&lt;br /&gt;
:Registered users receive email alerts&lt;br /&gt;
*Security alerts also posted online&lt;br /&gt;
*Web - http://moodle.org/security&lt;br /&gt;
*RSS feed - http://moodle.org/rss/file.php/1/1/forum/996/rss.xml&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous considerations==&lt;br /&gt;
These are all things you might consider that impact your overall security:&lt;br /&gt;
*Use the secure forms setting&lt;br /&gt;
*Always set a mysql root user password&lt;br /&gt;
*Turn off mysql network access&lt;br /&gt;
*Use SSL, httpslogins=yes&lt;br /&gt;
*Use good passwords - set up a password policy in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Security &amp;gt; [[Site policies]]&#039;&#039;&lt;br /&gt;
*Do not enable the &#039;&#039;opentogoogle&#039;&#039; setting (in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Security &amp;gt; [[Site policies]]&#039;&#039;)&lt;br /&gt;
*Disable guest access&lt;br /&gt;
*Place enrollment keys on all courses or set Course Enrollable = No for all courses&lt;br /&gt;
*Ensure the enrolment key hint is disabled (which it is by default) in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Enrolment &amp;gt; Self enrolment.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Most secure/paranoid file permissions==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: &amp;lt;u&amp;gt;The following information applies to Linux/Unix based installations only, as MS Windows permission system is quite different&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Depending on your server set-up there are two different scenarios:&lt;br /&gt;
# You are running Moodle on your own dedicated server.&lt;br /&gt;
# You are running Moodle on a shared hosting environment.&lt;br /&gt;
&lt;br /&gt;
In the sections below, you are required to use the web service user account and group to set the permissions, so you need to know them. This can vary quite a bit from server to server but if this feature has not been disabled in your server, you can go to http://your.moodle.site/admin/phpinfo.php (logging in as admin), and then search for the line that reads &#039;User/Group&#039;, inside the &#039;apache&#039; table. For example, I get &#039;www-data&#039; for the user account and &#039;www-data&#039; for the group too.&lt;br /&gt;
&lt;br /&gt;
=== Running Moodle on a dedicated server ===&lt;br /&gt;
Assuming you are running Moodle on a sealed server (i.e. no user logins allowed on the machine) and that root takes care of the modifications to both moodle code and moodle config (config.php), then this are the most tight permissions I can think of:&lt;br /&gt;
&lt;br /&gt;
1. moodledata directory and all of its contents (and subdirectories, includes sessions):&lt;br /&gt;
 owner: apache user (apache, httpd, www-data, whatever; see above)&lt;br /&gt;
 group: apache group (apache, httpd, www-data, whatever; see above)&lt;br /&gt;
 permissions: 700 on directories, 600 on files&lt;br /&gt;
&lt;br /&gt;
2. moodle directory and all of its contents and subdirectories (including config.php):&lt;br /&gt;
 owner: root&lt;br /&gt;
 group: root&lt;br /&gt;
 permissions: 755 on directories, 644 on files.&lt;br /&gt;
&lt;br /&gt;
If you allow local logins for regular users, then 2. should be:&lt;br /&gt;
 owner: root&lt;br /&gt;
 group: apache group (apache, httpd, www-data, whatever; see above)&lt;br /&gt;
 permissions: 750 on directories, 640 on files.&lt;br /&gt;
&lt;br /&gt;
Think of these permissions as the most paranoid ones. You can be secure enough with less tighter permissions, both in moodledata and moodle directories (and subdirectories).&lt;br /&gt;
&lt;br /&gt;
=== Running Moodle on a shared hosting environment ===&lt;br /&gt;
If you are running Moodle on a shared hosting environment, then above permissions are probably wrong. If you set 700 as the permission for directories (and 600 for files), you are probably denying the web service user account access to your directories and files.&lt;br /&gt;
&lt;br /&gt;
If you want to tighten your permissions as much as possible, you will need to know:&lt;br /&gt;
&lt;br /&gt;
# the user account and the group the web service is running under (see above).&lt;br /&gt;
# the owner of the directories/files of both moodledata and the moodle directory (this should normally be your client user account), and the group of the directories/files. You can usually get this information from the file manager of your hosting control panel. Go to the moodle folder and pick any directory or file and try to view/change the permissions, owner and group of that file. That would normally show the current permissions, owner and group. Do the same for the moodledata directory.&lt;br /&gt;
&lt;br /&gt;
Then, depending on the following scenarios you should use a different set of permissions (listed from more secure to less secure) for your moodledata directory:&lt;br /&gt;
&lt;br /&gt;
# if the web service account and the owner of the directories/files is the same, you should use 700 for directories and 600 for files.&lt;br /&gt;
# if the web service group and the group of the directories/files is the same, you should use 770 for directories and 660 for the files.&lt;br /&gt;
# if none of the above, you will need to use 777 for directories and 666 for files, which is less secure but it is your only option. 707 and 606 would be more secure, but it might or might not work, depending on your particular setup.&lt;br /&gt;
&lt;br /&gt;
In fact, you just need to set moodledata the permissions specified above, as all the directories and files inside are created by the web service itself, and will have the right permissions.&lt;br /&gt;
&lt;br /&gt;
Regarding the moodle directory, as long as the web service user account can read the files plus read and execute the directories, that should be enough. There is no need to grant write permission to the web service account/group on any of the files or subdirectories. The only drawback is that you will need to create the config.php by hand during the installation process, as Moodle will not be able to create it. But that should not be a big problem.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Security FAQ]]&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=39404 Guide to Securing your Moodle Server]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=93561 How to secure Moodle website from hacking] including recommendations on emergency recovery&lt;br /&gt;
&lt;br /&gt;
[[es:Recomendaciones de Seguridad]]&lt;br /&gt;
[[fr:Sécurité]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Moodle_Mobile&amp;diff=116197</id>
		<title>Moodle Mobile</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Moodle_Mobile&amp;diff=116197"/>
		<updated>2016-10-14T09:40:54Z</updated>

		<summary type="html">&lt;p&gt;Tsala: removing mention of Windows Phone Store&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Mobile}}&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
Moodle Mobile is the Moodle official mobile application for Android and iOS. It&#039;s available in Google Play and Apple Market.&lt;br /&gt;
&lt;br /&gt;
* Responsive design for phone and tablets&lt;br /&gt;
* Upload a picture into your private file area&lt;br /&gt;
* Record an audio file and upload it into your private file area&lt;br /&gt;
* Record a video and upload it into your private file area&lt;br /&gt;
* Send a private message to a course participant (can be done offline)&lt;br /&gt;
* Take a personal note about a course participant (can be done offline)&lt;br /&gt;
* Add a course participant to your phone contact&lt;br /&gt;
* Call a course participant touching the phone number&lt;br /&gt;
* Locate a course participant address on Google map&lt;br /&gt;
* Download and view some course resources&lt;br /&gt;
* Quick access to your course contents&lt;br /&gt;
* View calendar events&lt;br /&gt;
* Mobile Push notifications&lt;br /&gt;
* Remote layout/style customization (see below)&lt;br /&gt;
* Upload any type of file from your device to your Moodle private files area&lt;br /&gt;
* * Support for sites using CAS or Shibboleth as auth methods&lt;br /&gt;
* * View all your past private messages and notifications&lt;br /&gt;
* * View your activity and course total grades in a course&lt;br /&gt;
* * Browse and download your private and course files&lt;br /&gt;
* * View forum discussions&lt;br /&gt;
&lt;br /&gt;
Note: All features indicated (*) require the [[Moodle Mobile additional features]] plugin to be installed.&lt;br /&gt;
&lt;br /&gt;
Notice that Moodle Mobile is not a replacement of the MyMobile or Bootstrap/Simple theme. Moodle Mobile offers offline contents, camera &amp;amp; audio features and Push notifications connected to the user messaging preferences.&lt;br /&gt;
You can use Moodle Mobile app in combination with a Mobile theme.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Phone&#039;&#039;&#039; (portrait view)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:LoggedInList.png|thumb|Initial  view]]&lt;br /&gt;
| [[File:CourseView.png|thumb|Course contents view]]&lt;br /&gt;
| [[File:CameraUpload.png|thumb|Photo uploading]]&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|[[File:ParticipantView.png|thumb|Single participant view]]&lt;br /&gt;
| [[File:ListParticipants.png|thumb|Participant list view]]&lt;br /&gt;
|[[File:moodleinstantmessage.png|thumb|Notifications]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tablet&#039;&#039;&#039;  (landscape view)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:tabletparticipants.png|thumb|600px|Participant view]] &lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|[[File:tabletlandscape.png|thumb|600px|Course content view]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Style customization ===&lt;br /&gt;
&lt;br /&gt;
The app can also retrieve your custom styles from your Moodle site. Since the app is a HTML5 app, you can apply safely any CSS, CSS2 and CSS3 style.&lt;br /&gt;
&lt;br /&gt;
In your Moodle installation go to Plugins / Web services / Mobile and enter in the mobilecssurl field a valid URL pointing to a CSS file containing your custom styles. &lt;br /&gt;
&lt;br /&gt;
The CSS should be placed inside your Moodle installation (in your custom theme or inside a local plugin)&lt;br /&gt;
&lt;br /&gt;
Once the user is logged in the app, there is a periodical process that retrieves your remote CSS files for applying your custom styles. &lt;br /&gt;
&lt;br /&gt;
Notice that on the first time a user opens the app, he will see the default &amp;quot;orange&amp;quot; style. Your custom styles will be applied once the user has added a site in the app.&lt;br /&gt;
&lt;br /&gt;
See https://docs.moodle.org/dev/Moodle_Mobile_Themes for documentation.&lt;br /&gt;
&lt;br /&gt;
=== Notifications ===&lt;br /&gt;
&lt;br /&gt;
The app can receive notifications from your Moodle site, but you have to configure it. See [[Mobile app Push Notifications]]&lt;br /&gt;
&lt;br /&gt;
=== Languages ===&lt;br /&gt;
&lt;br /&gt;
Languages currently supported:&lt;br /&gt;
&lt;br /&gt;
* Arabic&lt;br /&gt;
* Basque&lt;br /&gt;
* Catalan&lt;br /&gt;
* Chinese&lt;br /&gt;
* Czech &lt;br /&gt;
* Dutch&lt;br /&gt;
* English&lt;br /&gt;
* French&lt;br /&gt;
* German&lt;br /&gt;
* Hebrew&lt;br /&gt;
* Hungarian&lt;br /&gt;
* Italian&lt;br /&gt;
* Japanese&lt;br /&gt;
* Mexican spanish&lt;br /&gt;
* Portuguese&lt;br /&gt;
* Russian&lt;br /&gt;
* Spanish&lt;br /&gt;
* Swedish&lt;br /&gt;
&lt;br /&gt;
==Moodle sites must be enabled for the app to access them==&lt;br /&gt;
&lt;br /&gt;
Moodle 2.4 or above is mandatory.&lt;br /&gt;
&lt;br /&gt;
The administrator of your Moodle site must enable mobile access as follows:&lt;br /&gt;
&lt;br /&gt;
* In &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Web services &amp;gt; Mobile&#039;&#039; tick the &#039;Enable web services for mobile devices&#039; checkbox, then click the button to save changes.&lt;br /&gt;
&lt;br /&gt;
If your site uses a SSL certificate it must be a trusted certificate. For security reasons the app doesn&#039;t work with self-signed certificates.&lt;br /&gt;
&lt;br /&gt;
==Installing the Moodle Mobile app==&lt;br /&gt;
&lt;br /&gt;
The Moodle Mobile app is available in Google Play, Apple Store, and the Windows Phone Store. See [https://download.moodle.org/mobile/ Moodle Mobile] for links. &lt;br /&gt;
&lt;br /&gt;
You can also install the app directly from your mobile device by searching for &amp;quot;Moodle Mobile&amp;quot; with author/owner &amp;quot;Moodle Pty Ltd&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Testing the app on a demo site==&lt;br /&gt;
&lt;br /&gt;
In the login screen, type &amp;quot;teacher&amp;quot; or &amp;quot;student&amp;quot; in the Username field and click the Add button. You will be logged automatically to the Mount Orange Moodle School demo site You can use the Moodle School demo site - http://school.demo.moodle.net/ for  testing the app.&lt;br /&gt;
&lt;br /&gt;
== Cache ==&lt;br /&gt;
If you connect to your Moodle site and update/create/delete anything, and then go to your mobile app, the content will not be displayed. You will have to wait a couple of minutes. The cache time for the app is currently 5 minutes.&lt;br /&gt;
&lt;br /&gt;
You can refresh the contents of the Mobile app using the refresh button (top right in the left orange menu)&lt;br /&gt;
&lt;br /&gt;
There are developer options for purging the cache at any time (Settings -&amp;gt; Development)&lt;br /&gt;
&lt;br /&gt;
==How to report a bug==&lt;br /&gt;
&lt;br /&gt;
# Log in to the Moodle Mobile tracker  [https://tracker.moodle.org/browse/MOBILE https://tracker.moodle.org/browse/MOBILE] (you&#039;ll need to [http://tracker.moodle.org/secure/Signup%21default.jspa create a tracker account] if you&#039;ve not done so previously)&lt;br /&gt;
# &#039;&#039;Check whether the issue has already been reported by [https://tracker.moodle.org/issues/?jql=project%20%3D%20MOBILE searching all the issues]&#039;&#039;&lt;br /&gt;
# If not, report the bug by clicking the &#039;Create Issue&#039; link at the top right of the page, selecting &#039;Moodle Mobile&#039; as the project&lt;br /&gt;
# Add a detailed description then click the Create button&lt;br /&gt;
# Attach the following files to the issue by selecting &#039;Attach Files&#039; in the &#039;More actions&#039; dropdown menu:&lt;br /&gt;
#* &#039;Device information&#039; - this can be found in the app (Settings -&amp;gt; Development -&amp;gt; Device info, you can send yourself this information by email using the e-mail button at the bottom)&lt;br /&gt;
#* App Log (&#039;&#039;Settings -&amp;gt; Development -&amp;gt; Show Log&#039;&#039;, again you can send yourself this information by email)&lt;br /&gt;
&lt;br /&gt;
=== Report a bug by email ===&lt;br /&gt;
&lt;br /&gt;
You can send us the same report by email using &#039;&#039;Settings -&amp;gt; Report a bug&#039;&#039;. As the report is sent by email to mobile@moodle.com, the report will take more time to be filed in the tracker.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[:dev:Moodle Mobile|Moodle Mobile developer docs]]&lt;br /&gt;
* [[Mobile web services]]&lt;br /&gt;
&lt;br /&gt;
[[ja:モバイルアプリ]]&lt;br /&gt;
[[de:Mobile App]]&lt;br /&gt;
[[es:App para móvil]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Course_creator_role&amp;diff=116196</id>
		<title>Course creator role</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Course_creator_role&amp;diff=116196"/>
		<updated>2016-10-14T07:02:04Z</updated>

		<summary type="html">&lt;p&gt;Tsala: forum discussion links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Standard roles}}&lt;br /&gt;
A user assigned the role of course creator can (as the name suggests!) create a course. If the setting &amp;quot;Creators&#039; role in new courses&amp;quot; is left as default (teacher), then the course creator is enrolled as a teacher in the course they have just created and can then edit the course settings and enrol other users.&lt;br /&gt;
&lt;br /&gt;
A course creator can also view hidden courses.&lt;br /&gt;
&lt;br /&gt;
The role of course creator could typically be assigned to a master teacher, department head or program coordinator. &lt;br /&gt;
&lt;br /&gt;
==Creating a course==&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Add a new course&amp;quot; button can be found at the bottom of the page listing all courses.&lt;br /&gt;
&lt;br /&gt;
When a course creator creates a course, they are automatically enrolled in the course as a teacher, or whatever role is set in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Users &amp;gt; Permissions &amp;gt; User policies&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note (1):&#039;&#039;&#039; If a user is assigned the role of course creator in the course category context, the &amp;quot;Add a new course&amp;quot; button only appears when the course category contains at least one course.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note (2):&#039;&#039;&#039; Course creators are not automatically assigned the role of teacher in a course they have not created, even if it is in a category where they have course creator rights.&lt;br /&gt;
&lt;br /&gt;
==Deleting a course==&lt;br /&gt;
&lt;br /&gt;
There is no user interface for course creators to delete courses they have created, however they can do so by editing the URL of the course from &amp;lt;nowiki&amp;gt;http://yourmoodlesite.net/course/view.php?id=N&amp;lt;/nowiki&amp;gt; to &amp;lt;nowiki&amp;gt;http://yourmoodlesite.net/course/delete.php?id=N&amp;lt;/nowiki&amp;gt; (replacing &#039;view&#039; with &#039;delete&#039;).&lt;br /&gt;
&lt;br /&gt;
==Role assignment==&lt;br /&gt;
&lt;br /&gt;
A user may be assigned the role of course creator as a system role (in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Users &amp;gt; Permissions &amp;gt; Assign system roles&#039;&#039;) or in the course category context. &lt;br /&gt;
&lt;br /&gt;
==Role permissions==&lt;br /&gt;
&lt;br /&gt;
If you require a course creator to have additional permissions, it is recommended that the [[Manager role]] is used, rather than changing the course creator role permissions. Otherwise, allowing additional capabilities for the course creator role may result in course creators having access to courses which they have not created.&lt;br /&gt;
&lt;br /&gt;
The role of course creator is ONLY intended for enabling users to create courses; it is not intended for enabling users to edit existing courses! &lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=182576 Cannot remove users from system-wide Course Creator] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[fr:Créateur de cours]]&lt;br /&gt;
[[ja:コース作成者]]&lt;br /&gt;
[[de:Kursersteller-Rolle]]&lt;br /&gt;
[[es:Rol de creador de curso]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Language_customization&amp;diff=116195</id>
		<title>Language customization</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Language_customization&amp;diff=116195"/>
		<updated>2016-10-12T15:00:00Z</updated>

		<summary type="html">&lt;p&gt;Tsala: changes copied from 31 docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Language}}&lt;br /&gt;
==Changing words or phrases==&lt;br /&gt;
&lt;br /&gt;
Words or phrases (in any language) used on the site may be easily changed by an administrator using the language customisation feature. For example, you may want to change the word &amp;quot;Course&amp;quot; to &amp;quot;Unit&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
# Go to &#039;&#039;Site administration &amp;gt; Language &amp;gt; Language customisation&#039;&#039; and choose the language you wish to customise.&lt;br /&gt;
# Click the &amp;quot;Open language pack for editing&amp;quot; button.  (This may take some time to process.)&lt;br /&gt;
# Once the language pack has loaded, click the &amp;quot;Continue&amp;quot; button.&lt;br /&gt;
# Find the string you wish to customise using the filter settings, then clicking &amp;quot;Show strings&amp;quot;. See below for details of how to find the component and string identifier.&lt;br /&gt;
# Make your changes in the &amp;quot;Local customisation&amp;quot; box.&lt;br /&gt;
# Click &amp;quot;Apply changes and continue editing&amp;quot; if you want to use another filter or edit other file(s), otherwise click &amp;quot;Save changes to the language pack&amp;quot; to save all of the changes you have made.&lt;br /&gt;
&lt;br /&gt;
==Finding the component and string identifier==&lt;br /&gt;
[[File:Show origin of lang strings.png|thumb|Lang string origins]]&lt;br /&gt;
# Go to &#039;&#039;Site administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;.&lt;br /&gt;
# Tick the &#039;Show origin of languages strings&#039; tickbox then save changes.&lt;br /&gt;
# Go to the page containing the string you want to customise and in the address bar, append the following to the URL: either &amp;lt;pre&amp;gt;?strings=1&amp;lt;/pre&amp;gt; or &amp;lt;pre&amp;gt;&amp;amp;amp;strings=1&amp;lt;/pre&amp;gt; (depending whether there is already a parameter).&lt;br /&gt;
# Reload the page. &lt;br /&gt;
&lt;br /&gt;
The page will then be displayed with component and string identifies in curly brackets after each string, for example &amp;quot;{rememberusername/admin}&amp;quot;. The first part, before the /, is the string identifier. The last part is the component e.g admin.php. If there is nothing after the / then the string is in moodle.php. &lt;br /&gt;
&lt;br /&gt;
==Filter settings==&lt;br /&gt;
&lt;br /&gt;
[[Image:Language_string_M2_filter.png|thumb|Language filter]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Show strings of these components&#039;&#039; - Click or Ctrl+click to select one or more files.&lt;br /&gt;
* &#039;&#039;Customised only&#039;&#039; - tick the box to display only those strings that are already present in your xx_local pack.&lt;br /&gt;
* &#039;&#039;Help only&#039;&#039;&#039; - tick the box to display only help strings, that is the texts used when clicking the yellow question mark icon. &lt;br /&gt;
* &#039;&#039;Modified only&#039;&#039; - tick the box to display only the strings that are modified since the last checked in string into the language pack.&lt;br /&gt;
* &#039;&#039;Only strings containing&#039;&#039; - insert a phrase that must appear in the string. For example, if you put a word &#039;student&#039; here, you will get only those strings that contain this word. &lt;br /&gt;
* &#039;&#039;String identifier&#039;&#039; - see above.&lt;br /&gt;
&lt;br /&gt;
==Local customisation highlighting==&lt;br /&gt;
&lt;br /&gt;
* Customised strings (already saved in a file) are highlighted in green.&lt;br /&gt;
* Modified strings (not saved in a file yet) are highlighted in blue. &lt;br /&gt;
* Customised strings for deletion are highlighted in red.&lt;br /&gt;
&lt;br /&gt;
== More about language packs ==&lt;br /&gt;
&lt;br /&gt;
Moodle is translated into many languages - see [https://download.moodle.org/langpack/3.1/ Language packs for Moodle 3.1] for their list and the translation completion status. The translations are distributed as language packages (or just lang packs) that are maintained by kind volunteers, community contributors and Moodle Partners. &lt;br /&gt;
&lt;br /&gt;
Moodle site administrators can customise any language pack to fit their individual needs. Editing the language pack files directly is not recommended, since any changes would be silently overwritten during the next upgrade. Instead, you should use the language customisation feature, which automatically creates a local language pack that holds all your changes from the official pack.&lt;br /&gt;
&lt;br /&gt;
Local language packs have the same structure as official ones. They are saved in your Moodle data directory in moodledata/lang/xx_local/ folder where &#039;xx&#039; is the code of the language. You have to have the official language pack installed before you can customise it. A local language pack should contain just strings you have customised - there is no need to create a copy of a whole official language pack.&lt;br /&gt;
&lt;br /&gt;
When displaying a string, Moodle first looks whether a local customisation exists in moodledata/lang/xx_local/component_file.php. If so, it is used. If not, the string from the official language pack is used. (If the string has not been translated yet, the original English version is displayed). Please note that the strings are cached for better performance so if you modify a file directly in your xx_local pack then you will have to purge Moodle caches afterwards. Caches are purged automatically when using the language customisation feature.&lt;br /&gt;
&lt;br /&gt;
[[image:customlang-process.png|800px|thumb|left|Workflow of the language customisation (click to enlarge)]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to backup and restore a customised language pack==&lt;br /&gt;
&lt;br /&gt;
This is handy when you have made customisations of your language pack and you want to install these changes on another server.&lt;br /&gt;
&lt;br /&gt;
If you customised a language pack xx, the only folder you need to back up is $CFG-&amp;gt;dataroot/lang/xx_local. All others without the _local suffix are standard packages that can be installed and uninstalled via the admin tool.&lt;br /&gt;
&lt;br /&gt;
Once the folder is restored on another server, you will have to manually purge caches from the admin interface to allow the in-built string manager to re-read the *_local folders and start using them.&lt;br /&gt;
&lt;br /&gt;
==Sharing a language customisation==&lt;br /&gt;
&lt;br /&gt;
* If you have made a language customisation for a specific need, which is shared by other people (e.g. a kids version of your national language, intended for your school, but also useful for other schools), please consider sharing it as a child language in AMOS. &lt;br /&gt;
* If your country uses a language that is not exactly the same as an existing language pack listed in the [http://lang.moodle.org/local/amos/credits.php translation credits], and you have made a customisation that better suits the needs of your fellow country Moodle users, you might want to consider starting a child language pack in AMOS (e.g. Canadian French, which has over 1000 changes from the French parent language). &lt;br /&gt;
&lt;br /&gt;
In either case, contact the parent language pack maintainer listed in the [http://lang.moodle.org/local/amos/credits.php translation credits] and/or our translation coordinator, Koen, [mailto:translation@moodle.org translation@moodle.org].&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Database error===&lt;br /&gt;
&lt;br /&gt;
[[File:Database error while language customization.png|400px]]&lt;br /&gt;
If you encounter a database error when you try to customise a language pack, then it may be due to a recent plugin that corrupted the database. You are advised to check all plugins recently added to your site, and check whether removing a plugin prevents this error. If that is the case, please contact the maintainer for the involved plugin and [https://moodle.org/mod/forum/discuss.php?d=222815 report the error]. Most cases seen in 2013 were fixed by the maintainers of those plugins. [https://moodle.org/mod/forum/discuss.php?d=254464#unread One case seen in 2014] was related to the Essential (additional) theme and language packs other than English; it was caused by a a bug with the notification language handling, and was fixed with a plugin update.&lt;br /&gt;
&lt;br /&gt;
Or, you can [https://moodle.org/mod/forum/discuss.php?d=208012 execute a database query] on your server in order to track down the plugin causing the problem.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=219504 Duplicate entry &#039;en-373-AM&#039;] forum discussion about error when attempting to edit a lang pack&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=272950 Changing one word across the whole site] forum discussion&lt;br /&gt;
*[http://youtu.be/0v72GKn2Wuk Moodle 2 Language Administration settings]  MoodleBites video on YouTube  &lt;br /&gt;
&lt;br /&gt;
==Any questions?==&lt;br /&gt;
&lt;br /&gt;
Please post in the [https://moodle.org/mod/forum/view.php?id=43 Languages forum] on moodle.org.&lt;br /&gt;
&lt;br /&gt;
[[de:Sprachanpassung]]&lt;br /&gt;
[[es:Personalización del idioma]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Cloze_question_type&amp;diff=116194</id>
		<title>Cloze question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Cloze_question_type&amp;diff=116194"/>
		<updated>2016-10-11T05:44:50Z</updated>

		<summary type="html">&lt;p&gt;Tsala: redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Embedded Answers (Cloze) question type]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=About_Moodle_FAQ&amp;diff=116193</id>
		<title>About Moodle FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=About_Moodle_FAQ&amp;diff=116193"/>
		<updated>2016-10-10T06:45:54Z</updated>

		<summary type="html">&lt;p&gt;Tsala: improvements copied from 31 page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{About Moodle}}&lt;br /&gt;
Below is a list of general questions many educators ask about Moodle. There are also [[:Category:FAQ|Frequently Asked Question page]]s for many specific Moodle tools. &lt;br /&gt;
&lt;br /&gt;
==Starting with Moodle==&lt;br /&gt;
&lt;br /&gt;
===What is Moodle?===&lt;br /&gt;
Moodle is a free online learning management system, or LMS (also known as VLE.) You can read more about Moodle [http://moodle.org/about/ here] or you might find it useful to watch the [https://www.youtube.com/watch?v=wop3FMhoLGs video: What is Moodle?] . It is suitable for all ages and all sectors. Anywhere learning takes place, Moodle can be used. It is usually used online but may also be used on an &#039;intranet&#039; within your organisation.&lt;br /&gt;
&lt;br /&gt;
===Where is the funny name from?===&lt;br /&gt;
The word Moodle is an acronym for Modular Object-Oriented Dynamic Learning Environment, which is mostly useful to programmers and education theorists. It&#039;s also a verb (in the bigger English dictionaries) that describes the process of lazily meandering through something, doing things as it occurs to you to do them, an enjoyable tinkering that often leads to insight and creativity.  A sort of cross between &amp;quot;muse&amp;quot; and &amp;quot;doodle&amp;quot;.  As such it applies both to the way Moodle was originally developed, and to the way a student or teacher might approach studying or teaching an online course in an ongoing, iterative way. Anyone who uses Moodle is a Moodler.&lt;br /&gt;
&lt;br /&gt;
===How do I start using Moodle?===&lt;br /&gt;
&lt;br /&gt;
=== I just want to try it out===&lt;br /&gt;
&lt;br /&gt;
* You can try Moodle&#039;s standard features on the [http://demo.moodle.net Moodle Sandbox demo site], an empty out-of-the-box site.&lt;br /&gt;
* To explore Moodle in action on a site populated with courses, activities and users, visit the [http://school.demo.moodle.net Mount Orange School demo site].&lt;br /&gt;
* You can obtain your own Moodle site on MoodleCloud - [https://moodle.com/cloud/free/ Moodle for Free].&lt;br /&gt;
* A further way to try Moodle out is to [http://download.moodle.org download] your own copy and install it &amp;quot;locally&amp;quot;, ie, on your own computer.&lt;br /&gt;
&lt;br /&gt;
(Please note that moodle.org is not the place for setting up your courses, but for finding out information and asking questions.)&lt;br /&gt;
&lt;br /&gt;
=== I want to use Moodle as an individual or set it up for my organisation===&lt;br /&gt;
&lt;br /&gt;
* You are welcome to use [https://moodle.com/cloud/free/ Moodle for Free] for up to 50 users.&lt;br /&gt;
* Otherwise, our MoodleCloud solution, [https://moodle.com/cloud/school/ Moodle for School] is perfect for multiple classes in K-12 teaching and learning environments.&lt;br /&gt;
* If you have the technical knowledge, you can [http://download.moodle.org download Moodle] and install it on a server online.&lt;br /&gt;
* A further possibility is to ask one of our [http://moodle.com/partners/ Moodle Partners] to host a site for you.&lt;br /&gt;
&lt;br /&gt;
===Do I have to be really good with technology to use Moodle?===&lt;br /&gt;
To use Moodle, you only need the basic web browsing skills. To install it you need a little more knowledge, but guidance is provided. &lt;br /&gt;
&lt;br /&gt;
==Cost==&lt;br /&gt;
&lt;br /&gt;
===How much does it cost to download and use Moodle?===&lt;br /&gt;
By way of its [[Dev:License|GNU General Public License]], Moodle is and will remain free to download and use in any way you like. Consider it free like a &#039;free puppy&#039; that needs care and attention to grow, not free like a &#039;free beer&#039;.&lt;br /&gt;
&lt;br /&gt;
===How much does it cost to run Moodle?===&lt;br /&gt;
Nothing to install, use and change. Of course, there are costs if you have your Moodle hosted with someone, and costs associated with maintenance and training in an organisation (like any other software). But no royalties, fees or user charges. &lt;br /&gt;
&lt;br /&gt;
===How much does it cost to have Moodle hosted?===&lt;br /&gt;
There are many options for hosting.  Cost is usually related to services provided and capacity (eg. a university site with 10 000 users will naturally cost more to host and maintain than a small community school). Ask your local  [https://moodle.com/partners/ Moodle Partner] and keep Moodle going that way too!&lt;br /&gt;
&lt;br /&gt;
==Technical queries==&lt;br /&gt;
&lt;br /&gt;
===Do I need my own server to run Moodle?===&lt;br /&gt;
Only if you are going to host it yourself. (See the section on &#039;Starting with Moodle&#039; above.)&lt;br /&gt;
&lt;br /&gt;
===Can I customise a theme to make it relevant to our school?===&lt;br /&gt;
Yes, see [[Themes]]. You can customise themes down to a single course. There are many ways to make Moodle looks great too.&lt;br /&gt;
&lt;br /&gt;
===Can you use Moodle from anywhere and on any device??===&lt;br /&gt;
*Moodle works well in all standard, modern browsers and different operating systems.  If you plan to run a Moodle site,  you should be aware of your audience, their typical bandwidth and web browsers.&lt;br /&gt;
*Yes, if it is on a web server attached to the internet and you have a computer, mobile device or tablet.  Or if it is on a web server attached to the same intranet (internal network) as a computers or tablets which need to work it.  There is an official [[Moodle Mobile| Moodle mobile app.]]&lt;br /&gt;
&lt;br /&gt;
===Can access to Moodle be restricted to just our organisation?=== &lt;br /&gt;
Yes, several ways to do this. For example, it can be installed on your school&#039;s internal network, or limit the IPs to those assigned by your school, or only manually enroll your students are just a few ways.  &lt;br /&gt;
&lt;br /&gt;
===I&#039;ve come from a school that used a different VLE/LMS. Can I transfer my stuff over to Moodle?=== &lt;br /&gt;
Some VLE/LMS-specific activities may (not) be compatible, but you can zip your content files and unzip them in Moodle.&lt;br /&gt;
&lt;br /&gt;
==Help and support with Moodle==&lt;br /&gt;
=== How do I use Moodle?===&lt;br /&gt;
The [[Main page| Moodle documentation]] is a good place to start. Then if you get stuck, come and ask on the [https://moodle.org/course/ Moodle Community forums.]&lt;br /&gt;
&lt;br /&gt;
===I don&#039;t understand the terms===&lt;br /&gt;
Moodle uses jargon words that you may be familiar with from other, non-Moodle contexts.  Within Moodle, These words have specific (and potentially different) meanings, which you can read about on the page [[Moodle key terms]]&lt;br /&gt;
&lt;br /&gt;
===Is there an official support desk for Moodle?===&lt;br /&gt;
* [https://moodle.org/course/ Moodle.org Community forums] serve as an excellent support desk. Ask your question any time, in any language.&lt;br /&gt;
* [https://moodle.com/partners/ Moodle Partners] offer paid-for support as part of their service.&lt;br /&gt;
&lt;br /&gt;
===Are there any good Moodle tutorials?===&lt;br /&gt;
* Get some help at Moodle.org in the [http://moodle.org/course Community forums] or search the [[Main_Page|Moodle documentation]] There are also many [http://moodle.org/mod/data/view.php?id=7246 books and manuals] available for purchase.&lt;br /&gt;
* The [https://www.youtube.com/user/moodlehq  Moodle HQ Youtube channel] offers basic tutorials for teachers and walk-throughs of the latest features.&lt;br /&gt;
&lt;br /&gt;
===Where can I get Moodle training?=== &lt;br /&gt;
*For teachers beginning with Moodle, Moodle HQ offers a free MOOC [https://learn.moodle.net Learn Moodle] which is run twice yearly.&lt;br /&gt;
*A number of organisations offer training for Moodle administrators or course creators. Look for a [https://moodle.com/partners/ Moodle Partner] in your area for officially accredited training. You can also think of doing the [http://moodle.org/course/view.php?id=48 Moodle Course Creator Certificate] to improve your skills.&lt;br /&gt;
&lt;br /&gt;
===What about people with disabilities?===&lt;br /&gt;
Moodle supports many assistive technologies such as screen-readers, screen-magnifiers, alternative mouse and key use, disabling of AJAX and JavaScript, and more. See the developer documentation [[:dev:Accessibility | Accessibility]] for further details.&lt;br /&gt;
&lt;br /&gt;
===Are there any comparisons of Moodle with other Learning Management Systems?===&lt;br /&gt;
See the [http://moodle.org/mod/forum/view.php?id=2784 Comparisons and Advocacy forum] and also [http://moodle.org/mod/data/view.php?d=19 Moodle buzz].&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
===How secure is Moodle?===&lt;br /&gt;
Moodle is designed to be very secure. However, a lot depends upon the webserver, the way Moodle is setup and regular updates of the package by the Moodle Administrator.&lt;br /&gt;
  &lt;br /&gt;
===Can Moodle get hacked into and student data stolen?===&lt;br /&gt;
This is highly unlikely if your Moodle site has up-to-date security and the site administrator has not given away the keys. Anything is possible on any website, but Moodle makes it difficult for nasty people to cause havoc.&lt;br /&gt;
&lt;br /&gt;
===What if I did something wrong and accidentally broke it - could it be easily fixed?===&lt;br /&gt;
Moodle can be backed-up at any point. If a backup was made 5 minutes before you broke it, chances are it can be fixed easily.  &lt;br /&gt;
&lt;br /&gt;
===Is my student data safe on a cheap or free webhost?===&lt;br /&gt;
While you do have some control of the security of a Moodle site on a free or cheap web host, the question is: How much do you trust your web host?&lt;br /&gt;
&lt;br /&gt;
===Can I track and search what people do and post in Moodle?===&lt;br /&gt;
Assuming you are a teacher and it is your course, yes. Moodle Admin can do that for the entire site.&lt;br /&gt;
   &lt;br /&gt;
===Can I backup Moodle so I don&#039;t lose things?===&lt;br /&gt;
Yes, you can backup a Moodle site or as a teacher you can back up your course and download it (if your role permits it). With appropriate permissions, you can restore your course and/or import parts of courses elsewhere on your site or beyond. &lt;br /&gt;
&lt;br /&gt;
==Teaching and Learning==&lt;br /&gt;
&lt;br /&gt;
===What is the best way to use Moodle?===&lt;br /&gt;
The best way to use Moodle is the way which helps your students learn most efficiently. Moodle was designed on the principles of Social constructionism - see the page on [[Pedagogy]] for more information - but you do not have to use Moodle in that way if it is not appropriate to your needs.&lt;br /&gt;
&lt;br /&gt;
===Can Moodle be used for..... ?===&lt;br /&gt;
&lt;br /&gt;
The short answer is yes. Below is a list of  just a few ways Moodle may be used. A dedicated forum [https://moodle.org/mod/forum/view.php?id=41 Teaching with Moodle] exists to discuss different ways of using the many [[Activities]] and [[Resources]] of Moodle to enhance your teaching.&lt;br /&gt;
&lt;br /&gt;
*Peer assessment: see [[Workshop]]&lt;br /&gt;
*Discussion and debate: see [[Forum]]&lt;br /&gt;
*Sharing files and media: see [[Working with files]]&lt;br /&gt;
*Collaboration: see [[Glossary]] and [[Database]]&lt;br /&gt;
*Independent and personalised learning: see [[Lesson]]&lt;br /&gt;
*Submitting work online: see [[Assignments]]&lt;br /&gt;
*Assessment, summative and formative: see [[Quiz]]&lt;br /&gt;
*Gamification: see [[Using_restrict_access#Gamification|Gamification]]&lt;br /&gt;
&lt;br /&gt;
===Are there any good examples of Moodle use I can see?===&lt;br /&gt;
Try the  [http://school.demo.moodle.net Mount Orange School demo], a working demonstration site full of examples for you to see and play with.&lt;br /&gt;
&lt;br /&gt;
===How do I share ideas and content with other Moodlers?===&lt;br /&gt;
*By participating in many ways, either through events, [http://moodle.org/forums/ Moodle Community Forums] on Moodle.org and networks elsewhere.&lt;br /&gt;
*You can find and share courses and activities on our [http://moodle.net/ Moodle Community hub.] You can download courses to use in your own site and publish course content to share with others.&lt;br /&gt;
*Within your own Moodle site, you can share courses with colleagues by using the [[Reusing activities| Course import or Restore features]].&lt;br /&gt;
&lt;br /&gt;
===Can Moodle be used in different subjects?===&lt;br /&gt;
&lt;br /&gt;
Yes. Moodle is used in [[:Category:Discipline-specific_Moodling| a variety of fields]]. Users in some subject areas may benefit further from standard or compatible third-party modules and plugins:&lt;br /&gt;
&lt;br /&gt;
* In [[:Category:Mathematics|maths]], [[TeX filter|TeX notation filter]] (standard) or [[DragMath equation editor|DragMath equation editor]] (third-party plugin)), and more than 10 third party question types. You can also use  [[PhET simulations]]&lt;br /&gt;
* For [[:Category:Language teaching| language teachers]], the contributed [https://moodle.org/plugins/view.php?plugin=mod_hotpot Hotpot] and [https://moodle.org/plugins/search.php?s=Poodll&amp;amp;search=Search+plugins Poodll] plugins are very popular.&lt;br /&gt;
* For [[:Category:Chemistry| chemistry]] there are many plugins for displaying molecular structures and making questions about them. You can also use [[PhET simulations]]&lt;br /&gt;
* For [[:Category:Music| music]] there are question type plugins for [[Key signature question type| key signature]],  [[Music theory question type| music theory]], [[Music interval question type| music interval]] and [[Musical scale question type|musical scale]].&lt;br /&gt;
* For [[:Category:Programming| computer programming]] there in an [[iAssign| interactive assignment package]] and several question types.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[About Moodle]]&lt;br /&gt;
* [[Decision FAQ]]&lt;br /&gt;
* [https://docs.moodle.org/dev/Contributing_to_Moodle Contribuiting to Moodle]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Was ist Moodle FAQ]]&lt;br /&gt;
[[es:FAQ acerca de Moodle]]&lt;br /&gt;
[[fr:FAQ sur Moodle]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Multi-language_content_filter&amp;diff=116192</id>
		<title>Multi-language content filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Multi-language_content_filter&amp;diff=116192"/>
		<updated>2016-09-28T12:59:32Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* How to use in a course */ order of span tags (MDL-55197)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Filters}}&lt;br /&gt;
The Multi-language content filter enables resources to be created in multiple languages. When turned on, it looks for &amp;lt;nowiki&amp;gt;&amp;lt;span lang=&amp;quot;xx&amp;quot; class=&amp;quot;multilang&amp;quot;&amp;gt;&amp;lt;/nowiki&amp;gt; tags which indicate that a text contains multiple languages. Then it selects and outputs the best language for the current user. The language of the resource will change when the user changes their selected Moodle language.&lt;br /&gt;
&lt;br /&gt;
== How to use in a course ==&lt;br /&gt;
&lt;br /&gt;
To use this feature first create your contents in multiple languages (in the same resource). Then enclose each language block (aka multilang block) in the following tags:&lt;br /&gt;
&lt;br /&gt;
       &amp;lt;nowiki&amp;gt;&amp;lt;span lang=&amp;quot;XX&amp;quot; class=&amp;quot;multilang&amp;quot;&amp;gt;your_content_here&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span lang=&amp;quot;YY&amp;quot; class=&amp;quot;multilang&amp;quot;&amp;gt;your_content_in_other_language_here&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is essential to be in &#039;&#039;&#039;the code editing mode&#039;&#039;&#039; (press &amp;lt;nowiki&amp;gt;[&amp;lt;&amp;gt;]&amp;lt;/nowiki&amp;gt; in the HTML editor), when you enter these tags for them to work. Only spaces, tabs and enters can be used between the individual languages in the multilang block.&lt;br /&gt;
&lt;br /&gt;
Note: If your site uses a child language pack (see [[Language packs]] for the list), then the first span tag must be the parent language. Otherwise, when a user using the child language views the text, it will not be in the correct language for them (as reported in MDL-55197). For example, if your site uses en_us then the en span tag (as parent language) must be first i.e.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;lt;span lang=&amp;quot;en&amp;quot; class=&amp;quot;multilang&amp;quot;&amp;gt;your_content_in English&amp;lt;/span&amp;gt;&lt;br /&gt;
      &amp;lt;span lang=&amp;quot;de&amp;quot; class=&amp;quot;multilang&amp;quot;&amp;gt;your_content_in_German_here&amp;lt;/span&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How to use for assignment submission agreements==&lt;br /&gt;
#Since Moodle 2.7.4 it&#039;s possible to have assignment submission statements in different languages.&lt;br /&gt;
#With the filter enabled, go to Site administration&amp;gt;Plugins&amp;gt;Activity modules&amp;gt;Assignment&amp;gt;Assignment settings.&lt;br /&gt;
#In the submission statement, add (for example)&lt;br /&gt;
&lt;br /&gt;
       &amp;lt;nowiki&amp;gt;&amp;lt;span lang=&amp;quot;en&amp;quot; class=&amp;quot;multilang&amp;quot;&amp;gt;This assignment is my own work, except where I have acknowledged the use of the works of other people.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;fr&amp;quot; class=&amp;quot;multilang&amp;quot;&amp;gt;Ce devoir est le fruit de mon travail personnel, sauf aux endroits où l&#039;utilisation d&#039;oeuvre d&#039;autres auteurs est clairement indiquée.&amp;lt;/span&amp;gt; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How it works internally ==&lt;br /&gt;
&lt;br /&gt;
# Filter first looks for &#039;&#039;multilang blocks&#039;&#039; in the text&lt;br /&gt;
# For each multilang block:&lt;br /&gt;
#* If there are texts in the currently active language, print them&lt;br /&gt;
#* Else, if there exists texts in the current parent language, print them&lt;br /&gt;
#* Else, print the first language found in the text&lt;br /&gt;
# Text outside of multilang blocks will be shown always&lt;br /&gt;
&lt;br /&gt;
== Common problems ==&lt;br /&gt;
&lt;br /&gt;
* The multilang filter is not enabled. It can be enabled by a site administrator in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Filters &amp;gt; Manage filters&#039;&#039;.&lt;br /&gt;
* Extra characters between language span tags - editor might add &amp;lt;nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/nowiki&amp;gt; or other tags, please review the html in source view&lt;br /&gt;
* If the course setting is &amp;quot;force&amp;quot; some language, you won&#039;t be able to change the displayed language.&lt;br /&gt;
* Extra spaces in language span tag&lt;br /&gt;
* Can not easily access language choice dropdown! Unfortunately you must go to the site homepage or your own profile to change the displayed language. It is possible to manually quickly change displayed lang by editing the URL in the browsers address bar. See Tips and tricks below!&lt;br /&gt;
* The multilang filter does not work with the course short name! A course&#039;s short name is meant as a unique course identifier, so it does not use the multilang filter&lt;br /&gt;
&lt;br /&gt;
==Tips and tricks== &lt;br /&gt;
&lt;br /&gt;
===Changing language displayed without going to front page===&lt;br /&gt;
It is possible to change the displayed language by manually changing the link.  &lt;br /&gt;
*Here is the default language page at id=2306. This link is in English, the default language:&lt;br /&gt;
:http://moodle.org/mod/resource/view.php?id=2306&lt;br /&gt;
*The link to change the page display to Spanish is&lt;br /&gt;
:http://moodle.org/mod/resource/view.php?id=2306&amp;amp;lang=es ,&lt;br /&gt;
*When the default language is an other language, to change the page to an English version, the link would be:&lt;br /&gt;
:http://moodle.org/mod/resource/view.php?id=2306&amp;amp;lang=en&lt;br /&gt;
&lt;br /&gt;
Thus, with a bit of editing, you can manually change the displayed language by adding &amp;quot;&amp;amp;lang=xx&amp;quot; to the URL in the location bar of the browser. Where xx is the abbreviation for the language you want.&lt;br /&gt;
&lt;br /&gt;
==The &#039;Restriction by language&#039; additional plugin==&lt;br /&gt;
Language filters are great, but sometimes they can make your resources and activities very complex.&lt;br /&gt;
&lt;br /&gt;
The &#039;Restriction by language&#039; availability condition is an additional plugin for Moodle 2.7, available in the [https://moodle.org/plugins/view.php?plugin=availability_language Moodle plugins database], that makes it easy to show an English resource only to English users and an activity in French only to French speaking students.&lt;br /&gt;
&lt;br /&gt;
[[File:Restriction by language.png]]&lt;br /&gt;
&lt;br /&gt;
==See also== &lt;br /&gt;
&lt;br /&gt;
*[[Language]]&lt;br /&gt;
*Custom menu items in [[Theme settings]]&lt;br /&gt;
*[https://moodle.org/mod/forum/discuss.php?d=320980 this forum thread] about translating a MOOC&lt;br /&gt;
&lt;br /&gt;
[[Category:Language]]&lt;br /&gt;
&lt;br /&gt;
[[de:Mehrsprachiger Inhalt]]&lt;br /&gt;
[[es:Contenido multilingüe]]&lt;br /&gt;
[[fr:Contenu multilingue]]&lt;br /&gt;
[[ja:多言語シンタックス]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=error/moodle/dmlwriteexception&amp;diff=116191</id>
		<title>error/moodle/dmlwriteexception</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=error/moodle/dmlwriteexception&amp;diff=116191"/>
		<updated>2016-09-22T15:29:55Z</updated>

		<summary type="html">&lt;p&gt;Tsala: MySQL dmlwriteexception error when using calculated questions in a quiz (MDL-29332)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This indicates that a general error occurred when Moodle tried to write to the database. If you turn on [[Debugging]] you will get more detailed information about what the problem is.&lt;br /&gt;
&lt;br /&gt;
==MySQL==&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using a MySQL database for your Moodle installation, this error can be caused by the server&#039;s &amp;lt;code&amp;gt;max_allowed_packet&amp;lt;/code&amp;gt; size being configured incorrectly. [https://moodle.org/mod/forum/discuss.php?d=230681#p1001751 Increasing this value may resolve the issue.]&lt;br /&gt;
&lt;br /&gt;
==dmlwriteexception error when restoring a course==&lt;br /&gt;
&lt;br /&gt;
If you obtain a  dmlwriteexception error when restoring a course, it is recommended that InnoDB tables are converted to the Barracuda file format. See the section &#039;Converting InnoDB tables to Barracuda&#039; in [[Administration via command line]] for details of why this is recommended plus information on a tool for converting tables.&lt;br /&gt;
&lt;br /&gt;
==dmlwriteexception error when using calculated questions in a quiz==&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using MySQL or SQL*Server and you have a problem with duplicated keys with the question_attempt_step_data table when using calculated questions in a quiz (from entering a formula which uses variables with the same characters in different cases), it is recommended that you upgrade to Moodle 3.0.x or higher ASAP. Alternatively, the problematic unique index can be dropped or the collation of the columns changed to be case-sensitive, however this is not considered a complete fix. See MDL-29332 for more information.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Development:DML exceptions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Error|Dmlwriteexception]]&lt;br /&gt;
&lt;br /&gt;
[[es:error/moodle/dmlwriteexception]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Calculated_question_type&amp;diff=116190</id>
		<title>Calculated question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Calculated_question_type&amp;diff=116190"/>
		<updated>2016-09-22T15:22:24Z</updated>

		<summary type="html">&lt;p&gt;Tsala: MySQL dmlwriteexception error when using calculated questions in a quiz (MDL-29332)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Calculated questions offer a way to create individual numerical questions by the use of wildcards  (i.e you can use common variables names as &#039;&#039;&#039;x&#039;&#039;&#039; , &#039;&#039;&#039;y&#039;&#039;&#039;  enclosed  in curly braces  to create the  wildcards &#039;&#039;&#039;{x}&#039;&#039;&#039; and &#039;&#039;&#039;{y}&#039;&#039;&#039;) that are substituted with random values when the quiz is taken.&lt;br /&gt;
 &lt;br /&gt;
For example, if you want to create a large number of &#039;&#039;&#039;&amp;quot;Calculate the area of a rectangle&amp;quot;&#039;&#039;&#039; problems to drill your students, you could create a question with two wildcards (i.e. &#039;&#039;&#039;{base}&#039;&#039;&#039;, &#039;&#039;&#039;{height}&#039;&#039;&#039; created from the common &#039;&#039;&#039;base&#039;&#039;&#039;, &#039;&#039;&#039;height&#039;&#039;&#039; variable names)  and put in the &amp;quot;&#039;&#039;&#039;Correct Answer Formula=&#039;&#039;&#039;&amp;quot; input field  &#039;&#039;&#039;{base}&#039;&#039;&#039; * &#039;&#039;&#039;{height}&#039;&#039;&#039; ( * being the multiplication sign ).&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;Correct Answer Formula=&#039;&#039;&#039; {base}*{height}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
When a student takes the test, Moodle will randomly select values for &#039;&#039;&#039;{base}&#039;&#039;&#039; and &#039;&#039;&#039;{height}&#039;&#039;&#039; and grade the response using the result of the &#039;&#039;&#039;Correct Answer Formula&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
The test will very rarely appear the same way twice.&lt;br /&gt;
&lt;br /&gt;
== Is this really the question type for you? ==&lt;br /&gt;
The main purpose of the calculated question is to create multiple versions of a question with different numerical values. This means you must have &#039;&#039;&#039;at least one&#039;&#039;&#039; wildcard in one of the answers.&lt;br /&gt;
 &lt;br /&gt;
If you don&#039;t need a random element, use the [[Numerical question type]] instead.&lt;br /&gt;
== Simple calculated question type   ==&lt;br /&gt;
&lt;br /&gt;
The [[Simple calculated question type|simple calculated]] question offers the most used features of the calculated question with a much simpler creation interface.&lt;br /&gt;
&lt;br /&gt;
==Wildcards and datasets==&lt;br /&gt;
&lt;br /&gt;
When Moodle delivers a Calculated question to the student, the wildcards are replaced with randomly-selected values. However, these values are not completely random - rather, they are randomly selected from a pre-defined &#039;&#039;dataset&#039;&#039; of possible values. This allows you some control over the possible values chosen - for example, in order to make sure the numbers are realistic.&lt;br /&gt;
&lt;br /&gt;
These datasets can be &#039;&#039;private&#039;&#039; or &#039;&#039;shared&#039;&#039; - private datasets are used by one wildcard within one calculated question; shared datasets are used by one wildcard within all calculated questions that use it.&lt;br /&gt;
&lt;br /&gt;
==Question set-up==&lt;br /&gt;
To create (or modify) a calculated question there are three pages to work through. The instructions below take you through the pages, step by step:&lt;br /&gt;
&lt;br /&gt;
===Page 1. Editing a Calculated question ===&lt;br /&gt;
&lt;br /&gt;
#Select the question &#039;&#039;&#039;category&#039;&#039;&#039;&lt;br /&gt;
#Any shared wildcards for this category are listed beneath. If you change category, you&#039;ll need to click the &amp;quot;Update the category&amp;quot; button to refresh this list. There may not be any shared wildcards yet - if not, you can create them later if you wish.&lt;br /&gt;
#Give the question a descriptive &#039;&#039;&#039;name&#039;&#039;&#039; - this allows you to identify it in the question bank.&lt;br /&gt;
#Enter the &#039;&#039;&#039;question text&#039;&#039;&#039;. This should be the question you want the student to answer, and it must include all the information they need to calculate an answer. Therefore it must contain at least one wildcard, inside curly braces. For example, if you wanted the student to sum numbers A and B, the question text might read: &amp;quot;What is {A} + {B}?&amp;quot; You may also include quantities computed from wildcards using the syntax &amp;quot;{=...}: for example, the question &amp;quot;What is {={A}+{B}} - {A}?&amp;quot; with wildcard values A=4 and B=3 would display as &amp;quot;What is 7 - 4?&amp;quot;&lt;br /&gt;
#Select an image to display if you want to add a picture to the question. For the student, it appears immediately after the question text and before the choices. If you want more control over how the image appears, include it in the question text above, using the HTML editor.&lt;br /&gt;
#Set the &#039;&#039;&#039;default question grade&#039;&#039;&#039; (i.e. the maximum number of marks for this question).&lt;br /&gt;
#Set the &#039;&#039;&#039;Penalty factor&#039;&#039;&#039; (see [[Calculated_question_type#Penalty_factor|Penalty factor]] below).&lt;br /&gt;
#&#039;&#039;Moodle 1.7+:&#039;&#039; If you wish, add general feedback. This is text that appears to the student after he/she has answered the question.&lt;br /&gt;
#Next add the &#039;&#039;&#039;formula for the answer&#039;&#039;&#039;. This formula must contain at least the wildcards that appear in the question text. See [[Calculated_question_type#Correct_answer_formula_syntax|Correct answer formula syntax]] for further details.&lt;br /&gt;
# Choose the &#039;&#039;&#039;grade&#039;&#039;&#039; that the student will get for this question if they give this answer. This should be a percentage of the total marks available. For example, you could give 100% for a correct answer, and 50% for an answer that is nearly right. &#039;&#039;&#039;One of the answers must have a 100% grade&#039;&#039;&#039;.&lt;br /&gt;
#Determine the &#039;&#039;&#039;tolerance&#039;&#039;&#039; for error that you will accept in the answer. The tolerance and tolerance type settings combine to give a range of acceptable scores. So, if tolerance = t, correct answer = x and the difference between the user&#039;s answer and the correct answer is dx, then the tolerance types are as follows:&lt;br /&gt;
##Nominal - mark correct if dx &amp;lt;= t&lt;br /&gt;
##Relative - mark correct if dx / x &amp;lt;= t&lt;br /&gt;
##Geometric - mark correct if dx² / x² &amp;lt;= t²&lt;br /&gt;
# The next 2 settings, &amp;quot;Correct answer shows&amp;quot; or &amp;quot;Answer display&amp;quot; and &amp;quot;Format&amp;quot; illustrate the &#039;&#039;&#039;precision&#039;&#039;&#039; of the answer. Use these to select the number of decimal places or significant figures that reflect the tolerance settings. Notice that the student response grading will be done using the tolerance values without any check of its &#039;&#039;&#039;Correct answer Format&#039;&#039;&#039;.&lt;br /&gt;
# Add some &#039;&#039;&#039;feedback&#039;&#039;&#039; which the student will see if they enter this answer.&lt;br /&gt;
# You can specify as many answer formulae as you like - click &amp;quot;Add another answer blank&amp;quot; to add more.&lt;br /&gt;
# You can also specify units for the answers. For example, if you enter a unit of &#039;cm&#039; here, and the accepted answer is 15, then the answers &#039;15cm&#039; and &#039;15&#039; are both accepted as correct. If you add more than one unit, you can also specify a multiplier. So, if your main answer was 5500 with unit W, you can also add the unit kW with a multiplier of 0.001. This means that the answers &#039;5500&#039;, &#039;5500W&#039; or &#039;5.5kW&#039; would all be marked correct. Note that the accepted error is also multiplied, so an allowed error of 100W would become an error of 0.1kW.&lt;br /&gt;
# Finally (!) you can click &amp;quot;Next page&amp;quot; to save what you&#039;ve done and move on. If you are editing an existing question, you can click &amp;quot;Next page (new question)&amp;quot; to create a completely new question based on an existing one.&lt;br /&gt;
&lt;br /&gt;
==== Penalty factor ====&lt;br /&gt;
&lt;br /&gt;
The &#039;penalty factor&#039; only applies when the question is used in a quiz using adaptive mode - i.e. where the student is allowed multiple attempts at a question even within the same attempt at the quiz. If the penalty factor is more than 0, then the student will lose that proportion of the &#039;&#039;&#039;maximum&#039;&#039;&#039; grade upon each successive attempt. For example, if the default question grade is 10, and the penalty factor is 0.2, then each successive attempt after the first one will incur a penalty of 0.2 x 10 = 2 points.&lt;br /&gt;
&lt;br /&gt;
===Tolerance===&lt;br /&gt;
&lt;br /&gt;
As for numerical questions it is possible to allow a margin within which all responses are accepted as correct. The &amp;quot;Tolerance&amp;quot; field is used for this. However, there are three different types of tolerances. These are Relative, Nominal and Geometric. If we say that the correct answer at quiz time is calculated to 200 and the tolerance is set to 0.5 then the different tolerance types work like this:&lt;br /&gt;
&lt;br /&gt;
Relative: A tolerance interval is calculated by multiplying the correct answer with 0.5, ie in this case we get 100 so for this tolerance the correct response must be between 100 and 300. (200 ± 100)&lt;br /&gt;
This is useful if the magnitude of the correct answer can differ greatly between different wildcard values.&lt;br /&gt;
&lt;br /&gt;
Nominal: This is the simplest tolerance type but not very powerful. The correct response must be between 199.5 and 200.5 (200 ± 0.5)&lt;br /&gt;
This tolerance type can be useful if the differences between different correct answers are small.&lt;br /&gt;
&lt;br /&gt;
Geometric: The upper limit of the tolerance interval is calculated as 200 + 0.5*200 and is the same as for the relative case. The lower limit is calculated as 200/(1 + 0.5). The correct response must then be between 133.33 and 300.&lt;br /&gt;
This is useful for complex calculation that must have great tolerances where relative tolerances of 1 or more would be used for the upper limit but clearly not acceptable for the lower limit as it would make zero a correct answer for all cases.&lt;br /&gt;
&lt;br /&gt;
The field Significant Figures does only relate to how the correct answer should be presented in the review or the reports. Examples: If it is set to 3 then the correct answer 13.333 would be presented as 13.3; 1236 would be presented as 1240; 23 would be presented as 23.0 etc. &lt;br /&gt;
&lt;br /&gt;
===Page 2. Choose dataset properties ===&lt;br /&gt;
&lt;br /&gt;
Each wildcard that you specify in the answer formula must have an associated set of possible values - this is its &#039;&#039;dataset&#039;&#039;. Each of the wildcards is listed on this page along with a choice of dataset:&lt;br /&gt;
*&#039;&#039;&#039;private&#039;&#039;&#039; i.e. only used by this question&lt;br /&gt;
*&#039;&#039;&#039;shared&#039;&#039;&#039; i.e shared with other calculated questions in the same category&lt;br /&gt;
&lt;br /&gt;
Using a shared dataset can save time when you are creating a lot of similar calculated questions.&lt;br /&gt;
&lt;br /&gt;
Note that even when creating a question for the first time, this page may say that your wildcard &amp;quot;will use the same existing private dataset as before.&amp;quot; This just means that Moodle has already tentatively created a private data set for that wildcard: if a private dataset is what you want, leave this choice selected.&lt;br /&gt;
&lt;br /&gt;
If there is anything in the question text that looks like a wildcard, but does not appear in any of the answer formulae, you can specify whether or not this is meant to be a wildcard. If it is, you can choose whether it should use a private or shared dataset.&lt;br /&gt;
&lt;br /&gt;
To continue, simply choose your preferred dataset for each wildcard, then click &amp;quot;Next Page&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Page 3. Edit the datasets ===&lt;br /&gt;
&lt;br /&gt;
Now we need to create the set of possible values that each wildcard can take. &#039;&#039;Warning&#039;&#039; - this page is a bit confusing!&lt;br /&gt;
&lt;br /&gt;
There are two ways of creating values - you can type them in yourself and add them to the list, or you can have Moodle generate them for you.&lt;br /&gt;
&lt;br /&gt;
==== Adding/deleting your own values ====&lt;br /&gt;
&lt;br /&gt;
Adding individual values to the list is easy:&lt;br /&gt;
&lt;br /&gt;
# In the &#039;Param&#039; field for each wildcard, enter the value you want&lt;br /&gt;
# Scroll down to the &#039;Add&#039; section and click the Add button (leaving the number of items set to 1)&lt;br /&gt;
# Repeat the above steps as many times as necessary (the maximum number of items is 100)&lt;br /&gt;
&lt;br /&gt;
To delete values from the list:&lt;br /&gt;
&lt;br /&gt;
# In the &#039;Delete&#039; section, select the number of items to delete&lt;br /&gt;
# Click the Delete button&lt;br /&gt;
&lt;br /&gt;
==== Letting Moodle create values ====&lt;br /&gt;
&lt;br /&gt;
# Start with the &amp;quot;Range of Values&amp;quot; fields, and enter the lower and upper limits for the values you would accept&lt;br /&gt;
# Choose a number of decimal places for the value&lt;br /&gt;
# Choose the distribution of values between the limits - &#039;uniform&#039; means any value between the limits is equally likely to be generated; &#039;loguniform&#039; means that values towards the lower limit are more likely.&lt;br /&gt;
# Now move down to the &#039;Add&#039; section and click on &amp;quot;force regeneration&amp;quot;&lt;br /&gt;
# In the menu next to the Add button, choose the number of sets of random values (items) you wish to add to the list. (Note that the maximum total number of items in your list is 100.)&lt;br /&gt;
# Finally, click Add to append the new values to the list&lt;br /&gt;
# &#039;&#039;&#039;Note:&#039;&#039;&#039; If you want more control over the items that Moodle adds, you can do them one at a time and preview the values before you add them. Click the &amp;quot;Get New Item to Add&amp;quot; button to make Moodle generate new values in the &amp;quot;Item to Add&amp;quot; section at the top. If you like them, click &amp;quot;Add&amp;quot; for 1 item; if not, click &amp;quot;Get New Item to Add&amp;quot; again to get new values.&lt;br /&gt;
&lt;br /&gt;
==== Finishing off ====&lt;br /&gt;
&lt;br /&gt;
Once your list of items (values) is complete, you are finished. It&#039;s up to you how many values you add - the more values you add, the more a question can be used by the students without them seeing the same values repeatedly.&lt;br /&gt;
&lt;br /&gt;
Note that if you delete values from the list, you can put them back again. Change the &amp;quot;Next Item to Add&amp;quot; option to &amp;quot;reuse previous value if available&amp;quot;, then the next time you add items, Moodle will restore your previously-deleted items from the dataset. &lt;br /&gt;
&lt;br /&gt;
Once your list of values is complete, you can click &#039;Save changes&#039; to finish.&lt;br /&gt;
&lt;br /&gt;
==== What does the &#039;Update the datasets parameters&#039; button do? ====&lt;br /&gt;
&lt;br /&gt;
Warning: This button can affect several questions, so be careful before using it.&lt;br /&gt;
Assume you have selected dataset parameter for {a} to be any value between 1-10 and generated a question. In the second question also you decide to use a SHARED wildcard called {a}. Inherently, it will show a value between 1-10. However, your need here changes and you want to make it 11-100 instead. Then, you change them in the range and click this button. Voila! the values change and you can add new items here using the &#039;Get New item to add&#039;. However, if you go back to your previous question, you will see that values would change there too, because it is a shared dataset. If you do not update parameters, then this may not happen and will generate a new set of values and displays them in the &amp;quot;Item to Add&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
==Correct answer formula syntax==&lt;br /&gt;
 &lt;br /&gt;
=== DO NOT PUT THE = sign in the formula. ===&lt;br /&gt;
 &lt;br /&gt;
* In the recent versions of the calculated question type, you could have more than one answer formula and applied a specific grading value to each of them as long as there is at least one 100% correct answer formula.&lt;br /&gt;
 If more than one correct answer formula input field are displayed when editing, &lt;br /&gt;
 your site has the multiple answer feature. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* As a general rule, write these formulas like you would in a calculator e.g. &amp;lt;code&amp;gt;3 + 5 * sin(3/{x})&amp;lt;/code&amp;gt; A notable exception is exponentiation, where x&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; cannot be entered as &amp;lt;code&amp;gt;{x}^3&amp;lt;/code&amp;gt;, but instead should be entered as &amp;lt;code&amp;gt;pow({x}, 3)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Each function&#039;s placeholders and other arguments should be in parentheses (brackets). For example, if you want students to calculate the sine of one angle and cosine of two times another angle, you would enter &amp;lt;code&amp;gt;sin({a}) + cos({b}*2)&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sin({a}) + cos(2*{b})&amp;lt;/code&amp;gt;.&lt;br /&gt;
* It&#039;s usually better to have too many parentheses (brackets) than too few.  The server won&#039;t care, and the more specific you are about what you mean, the more likely it will like your complex formulas.&lt;br /&gt;
* There is no implicit multiplication.  To you, the human editor, &amp;quot;5(23)&amp;quot; or &amp;quot;5x&amp;quot; may seem perfectly obvious.  To the server doing the math, it&#039;s crazy talk and won&#039;t be understood.  Always use the &amp;quot;*&amp;quot; for multiplication.&lt;br /&gt;
* Any special mathematical function must have parentheses around its values.  Take the sine function in the first bullet point for instance.  Notice that the &#039;&#039;3 / x&#039;&#039; is wrapped in parentheses (brackets)--this is so the server can understand it properly.  Without those parentheses, the server won&#039;t know if you mean &amp;quot;(sin 3) / x&amp;quot; or &amp;quot;sin (3 / x)&amp;quot; and will reject the entire formula accordingly.&lt;br /&gt;
&lt;br /&gt;
==Available functions==&lt;br /&gt;
&lt;br /&gt;
Calculated questions can use more than simple arithmetic operators. The following functions are allowed in versions 1.5 and newer.&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;97%&amp;quot; border=&amp;quot;1px&amp;quot;&lt;br /&gt;
!Function&lt;br /&gt;
!Explanation&lt;br /&gt;
|-&lt;br /&gt;
|abs&lt;br /&gt;
|Absolute value&lt;br /&gt;
|-&lt;br /&gt;
|acos&lt;br /&gt;
|Arc cosine -- output in radians.&lt;br /&gt;
|-&lt;br /&gt;
|acosh&lt;br /&gt;
|Inverse hyperbolic cosine -- output in radians.&lt;br /&gt;
|-&lt;br /&gt;
|asin&lt;br /&gt;
|Arc sine -- output in radians.&lt;br /&gt;
|-&lt;br /&gt;
|asinh&lt;br /&gt;
|Inverse hyperbolic sine.-- output in radians.&lt;br /&gt;
|-&lt;br /&gt;
|atan2&lt;br /&gt;
|Arc tangent of two variables -- pass in two values like (y, x), and you&#039;ll get the atan(y/x), adjusted to the proper quadrant. (Note: The variables are in the reverse order to atan2(x,y) in Excel) Output is radians.&lt;br /&gt;
|-&lt;br /&gt;
|atan&lt;br /&gt;
|Arc tangent -- output in radians.   &lt;br /&gt;
|-&lt;br /&gt;
|atanh&lt;br /&gt;
|Inverse hyperbolic tangent-- output in radians.&lt;br /&gt;
|-&lt;br /&gt;
|bindec&lt;br /&gt;
|Binary to decimal&lt;br /&gt;
|-&lt;br /&gt;
|ceil&lt;br /&gt;
|Round fractions up&lt;br /&gt;
|-&lt;br /&gt;
|cos&lt;br /&gt;
|Cosine -- in radians!!!  Convert your degree measurement to radians before you take the cos of it.&lt;br /&gt;
|-&lt;br /&gt;
|cosh&lt;br /&gt;
|Hyperbolic cosine -- in radians!!!  Convert your degree measurement to radians before you take the cosh of it.&lt;br /&gt;
|-&lt;br /&gt;
|decbin&lt;br /&gt;
|Decimal to binary&lt;br /&gt;
|-&lt;br /&gt;
|decoct&lt;br /&gt;
|Decimal to octal&lt;br /&gt;
|-&lt;br /&gt;
|deg2rad&lt;br /&gt;
|Converts the number in degrees to the radian equivalent&lt;br /&gt;
|-&lt;br /&gt;
|exp&lt;br /&gt;
|Calculates the exponent of e&lt;br /&gt;
|-&lt;br /&gt;
|expm1&lt;br /&gt;
|Returns exp(number) - 1, computed in a way that is accurate even when the value of number is close to zero&lt;br /&gt;
|-&lt;br /&gt;
|floor&lt;br /&gt;
|Round fractions down&lt;br /&gt;
|-&lt;br /&gt;
|fmod&lt;br /&gt;
|Returns the floating-point modulus of two numbers - i.e. the remainder when the first is divided by the second.&lt;br /&gt;
|-&lt;br /&gt;
|is_finite&lt;br /&gt;
|Finds whether a value is a legal finite number&lt;br /&gt;
|-&lt;br /&gt;
|is_infinite&lt;br /&gt;
|Finds whether a value is infinite&lt;br /&gt;
|-&lt;br /&gt;
|is_nan&lt;br /&gt;
|Finds whether a value is not a number&lt;br /&gt;
|-&lt;br /&gt;
|log10&lt;br /&gt;
|Base-10 logarithm&lt;br /&gt;
|-&lt;br /&gt;
|log1p&lt;br /&gt;
|Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero&lt;br /&gt;
|-&lt;br /&gt;
|log&lt;br /&gt;
|Natural logarithm (&#039;&#039;ln&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
|max&lt;br /&gt;
|Find highest value&lt;br /&gt;
|-&lt;br /&gt;
|min&lt;br /&gt;
|Find lowest value&lt;br /&gt;
|-&lt;br /&gt;
|octdec&lt;br /&gt;
|Octal to decimal&lt;br /&gt;
|-&lt;br /&gt;
|pi()&lt;br /&gt;
|Get value of pi - the function does not take an argument, like in Excel.&lt;br /&gt;
|-&lt;br /&gt;
|pow (numberToRaise, NumberRaisedTo)&lt;br /&gt;
|Exponential expression&lt;br /&gt;
|-&lt;br /&gt;
|rad2deg&lt;br /&gt;
|Converts the radian number to the equivalent number in degrees&lt;br /&gt;
|-&lt;br /&gt;
|rand&lt;br /&gt;
|Generate a random integer&lt;br /&gt;
|-&lt;br /&gt;
|round&lt;br /&gt;
|Rounds a float&lt;br /&gt;
|-&lt;br /&gt;
|sin&lt;br /&gt;
|Sine -- in radians!!!  Convert your degree measurement to radians before you take the sin of it.&lt;br /&gt;
|-&lt;br /&gt;
|sinh&lt;br /&gt;
|Hyperbolic sine -- in radians!!!  Convert your degree measurement to radians before you take the sinh of it.&lt;br /&gt;
|-&lt;br /&gt;
|sqrt&lt;br /&gt;
|Square root&lt;br /&gt;
|-&lt;br /&gt;
|tan&lt;br /&gt;
|Tangent -- in radians!!!  Convert your degree measurement to radians before you take the tan of it.&lt;br /&gt;
|-&lt;br /&gt;
|tanh&lt;br /&gt;
|Hyperbolic tangent -- in radians!!!  Convert your degree measurement to radians before you take the tanh of it.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Predefined constants==&lt;br /&gt;
Actually there is NO Predefined constant that is allowed other than pi() as a function without parameter.&lt;br /&gt;
&lt;br /&gt;
==Synchronization==&lt;br /&gt;
&lt;br /&gt;
You could use shared wild cards to get the same values across questions in a quiz.&lt;br /&gt;
&lt;br /&gt;
A simple example will be to use the same radius in a first question asking for the perimeter of a circle of {radius}cm and a second question asking for the surface of a circle of {radius}cm.&lt;br /&gt;
&lt;br /&gt;
When the quiz will be shown to the student the two questions will shown the same {radius} value.&lt;br /&gt;
&lt;br /&gt;
However the synchronization will work &#039;&#039;&#039;ONLY&#039;&#039;&#039; if the questions are kept in the &#039;&#039;&#039;SAME&#039;&#039;&#039; category and have the &#039;&#039;&#039;SAME NUMBER OF DATASETS&#039;&#039;&#039; .&lt;br /&gt;
&lt;br /&gt;
If you need to move the synchronized questions to another category, you need to do it by editing the questions.&lt;br /&gt;
&lt;br /&gt;
(This restriction should be released by sept. 2010).&lt;br /&gt;
&lt;br /&gt;
==MySQL dmlwriteexception error when using calculated questions in a quiz==&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using MySQL or SQL*Server and you have a problem with duplicated keys with the question_attempt_step_data table when using calculated questions in a quiz (from entering a formula which uses variables with the same characters in different cases), it is recommended that you upgrade to Moodle 3.0.x or higher ASAP. Alternatively, the problematic unique index can be dropped or the collation of the columns changed to be case-sensitive, however this is not considered a complete fix. See MDL-29332 for more information.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=150923 couple questions about &amp;quot;edit datasets page&amp;quot; in calculated questions] &lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=230558 Capital vs lower case letters with units]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnungsfragen]]&lt;br /&gt;
[[es:question/type/calculated]]&lt;br /&gt;
[[fr:Question calculée]]&lt;br /&gt;
[[zh:計算題]]&lt;br /&gt;
[[ja:計算問題タイプ]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Upgrading&amp;diff=116189</id>
		<title>Upgrading</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Upgrading&amp;diff=116189"/>
		<updated>2016-09-22T09:35:24Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* Possible issues that may affect you in Moodle 2.7 */ MySQL dmlwriteexception error when using calculated questions in a quiz (MDL-29332)&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 2.7 in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note: You can only upgrade to Moodle 2.7 from Moodle 2.2 or later. If upgrading from earlier versions, you must [https://docs.moodle.org/22/en/Upgrading_to_Moodle_2.2 upgrade to 2.2] as a first step.&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;
===Themes===&lt;br /&gt;
&lt;br /&gt;
All standard themes present in Moodle 2.6 (and earlier), except the Clean theme, have been removed from Moodle 2.7 (see MDL-43784). Custom themes and themes from the Plugins Directory are not affected, unless they use one of the removed themes as a parent theme. If a theme that was in use has been removed, the theme will revert to the new default theme called Clean.&lt;br /&gt;
&lt;br /&gt;
For sites wishing to continue using any of the removed standard themes (or themes relying on a standard theme as a parent theme), other than Clean, we recommend you use the following process.&lt;br /&gt;
&lt;br /&gt;
# Download the 2.7 version of Moodle, but do not run the upgrade yet.&lt;br /&gt;
# Download the 2.7 version of your theme from the [https://moodle.org/plugins/browse.php?list=category&amp;amp;id=3 Themes section of the Moodle plugins directory] (or from the links below) into moodle/theme/.&lt;br /&gt;
# Proceed with the upgrade.&lt;br /&gt;
&lt;br /&gt;
It is possible to copy missing themes into Moodle after the upgrade, but this should happen before users touch the system, otherwise theme-related settings may be lost.&lt;br /&gt;
&lt;br /&gt;
The affected themes (with download links) are...&lt;br /&gt;
&lt;br /&gt;
{|-&lt;br /&gt;
| Afterburner&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_afterburner plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_afterburner github]&lt;br /&gt;
|-&lt;br /&gt;
| Anomaly&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_anomaly plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_anomaly github]&lt;br /&gt;
|-&lt;br /&gt;
| Arialist&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_arialist plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_arialist github]&lt;br /&gt;
|-&lt;br /&gt;
| Binarius&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_binarius plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_binarius github]&lt;br /&gt;
|-&lt;br /&gt;
| Boxxie&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_boxxie plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_boxxie github]&lt;br /&gt;
|-&lt;br /&gt;
| Brick&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_brick plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_brick github]&lt;br /&gt;
|-&lt;br /&gt;
| Formal White&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_formal_white plugins db]&lt;br /&gt;
| [https://github.com/andreabix/moodle-theme_formal_white github]&lt;br /&gt;
|-&lt;br /&gt;
| Form Factor&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_formfactor plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_formfactor github]&lt;br /&gt;
|-&lt;br /&gt;
| Fusion&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_fusion plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_fusion github]&lt;br /&gt;
|-&lt;br /&gt;
| Leatherbound&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_leatherbound plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_leatherbound github]&lt;br /&gt;
|-&lt;br /&gt;
| Magazine&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_magazine plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_magazine github]&lt;br /&gt;
|-&lt;br /&gt;
| Nimble&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_nimble plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_nimble github]&lt;br /&gt;
|-&lt;br /&gt;
| Nonzero&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_nonzero plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_nonzero github]&lt;br /&gt;
|-&lt;br /&gt;
| Overlay&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_overlay plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_overlay github]&lt;br /&gt;
|-&lt;br /&gt;
| Serenity&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_serenity plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_serenity github]&lt;br /&gt;
|-&lt;br /&gt;
| Sky High&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_sky_high plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_sky_high github]&lt;br /&gt;
|-&lt;br /&gt;
| Splash&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_splash plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_splash github]&lt;br /&gt;
|-&lt;br /&gt;
| Standard&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_standard plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_standard github]&lt;br /&gt;
|-&lt;br /&gt;
| Standard old&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_standardold plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_standardold github]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Only installed additional themes are updated automatically during the upgrade, NOT standard themes. Because standard themes have been removed from Moodle 2.7, they have to be re-added.&lt;br /&gt;
&lt;br /&gt;
===Questions engine upgrade===&lt;br /&gt;
&lt;br /&gt;
In Moodle 2.1, there was a major overhaul of the Question engine. As explained in [https://docs.moodle.org/21/en/Upgrading_to_Moodle_2.1#Planning_the_question_engine_upgrade the upgrade documentation for that version], it was possible to delay parts of the database upgrade to be run later. Before you upgrade to Moodle 2.7, this upgrade must be completed.&lt;br /&gt;
&lt;br /&gt;
This will affect you if...&lt;br /&gt;
* your site started off on a version of Moodle 2.0.x and&lt;br /&gt;
* when you upgraded to Moodle 2.1 or 2.2, you made use of the complex facility to delay part of the question engine upgrade (as explained in [https://docs.moodle.org/21/en/Upgrading_to_Moodle_2.1#Planning_the_question_engine_upgrade the upgrade documentation for that version]) and&lt;br /&gt;
* you still have not completing that upgrade&lt;br /&gt;
...then you must complete it before upgrading to Moodle 2.7.&lt;br /&gt;
&lt;br /&gt;
You can check by looking at the bottom of the [[:en:Environment|Environment]] page in your site, providing you are running a version later than 2.4.9, 2.5.5 or 2.6.2. If you have a problem, it will tell you there. If there is no mention of questions there, you can forget about this.&lt;br /&gt;
&lt;br /&gt;
This is unlikely to affect most users.&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;
==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.&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 2.7 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;
== Install the new Moodle software ==&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 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.&lt;br /&gt;
# Dont forget to also copy over your moodledata folder / directory.  If you don&#039;t you will get a &amp;quot;fatal error $cfg- dataroot is not configured properly&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
 mv moodle moodle.backup&lt;br /&gt;
 tar xvzf moodle-2.7.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;
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;
&lt;br /&gt;
if necessary.&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 2.7 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;
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 2.7 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 2.7 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 adhoc 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 to 2.7, 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 to 2.7.&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 2.7 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 2.7, 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;
===Maths filters===&lt;br /&gt;
&lt;br /&gt;
Moodle 2.7 comes with a new maths filter based on [http://mathjax.org MathJax]. It is an alternative to the existing Tex filter. The MathJax filter is enabled by default for new sites and also  upgrades. You may wish to disable the Tex filter and enable the MathJax filter. In 2.7 sites, if both are enabled the TeX filter wins regardless of filter order because the TeX filter removes all TeX notation before the javascript is executed. This may mask the fact MathJaxloader is enabled on old installations.  In 2.8 both filters may be run together with both being used to display the mathematics. See MDL-44780. There are some compatibility settings and other options that can be changed for the [[MathJax filter]].&lt;br /&gt;
&lt;br /&gt;
==Possible issues that may affect you in Moodle 2.7==&lt;br /&gt;
&lt;br /&gt;
===Custom log-based reports===&lt;br /&gt;
&lt;br /&gt;
Moodle 2.7 has moved to the new Logging API that allows more detailed and more flexible log storage. By default after the upgrade Moodle no longer stores data in table &#039;log&#039;. All standard reports and plugins that used to access this table are converted to support both new API and legacy &#039;log&#039; table. It is understandable that there might be custom 3rd party plugins that can not be changed immediately and either write significant information to the &#039;log&#039; table or require access to it. In this case admin needs to enable writing to the legacy log:&lt;br /&gt;
Site Administration &amp;gt; Plugins &amp;gt; Logging &amp;gt; Legacy log : Select &amp;quot;Log legacy data&amp;quot;. You might also want to disable &amp;quot;Standard log&amp;quot; so your system doesn&#039;t have double logging.&lt;br /&gt;
&lt;br /&gt;
=== MySQL dmlwriteexception error when restoring a course===&lt;br /&gt;
&lt;br /&gt;
If you obtain a  dmlwriteexception error when restoring a course, it is recommended that InnoDB tables are converted to the Barracuda file format. See the section &#039;Converting InnoDB tables to Barracuda&#039; in [[Administration via command line]] for details of why this is recommended plus information on a tool for converting tables.&lt;br /&gt;
&lt;br /&gt;
===MySQL dmlwriteexception error when using calculated questions in a quiz===&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using MySQL or SQL*Server and you have a problem with duplicated keys with the question_attempt_step_data table when using calculated questions in a quiz (from entering a formula which uses variables with the same characters in different cases), it is recommended that you upgrade to Moodle 3.0.x or higher ASAP. Alternatively, the problematic unique index can be dropped or the collation of the columns changed to be case-sensitive, however this is not considered a complete fix. See MDL-29332 for more information.&lt;br /&gt;
&lt;br /&gt;
=== Moodle 2.3, 2.4, 2.5 and 2.6 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/23/en/Upgrading Upgrading to Moodle 2.3]&lt;br /&gt;
* [https://docs.moodle.org/24/en/Upgrading Upgrading to Moodle 2.4]&lt;br /&gt;
* [https://docs.moodle.org/25/en/Upgrading Upgrading to Moodle 2.5]&lt;br /&gt;
* [https://docs.moodle.org/26/en/Upgrading Upgrading to Moodle 2.6]&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 problems forum] &lt;br /&gt;
* [[dev:Moodle 2.7 release notes|Moodle 2.7 release notes]]&lt;br /&gt;
* [[dev:Upgrade API|Upgrade API]]&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>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Badges_FAQ&amp;diff=116188</id>
		<title>Badges FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Badges_FAQ&amp;diff=116188"/>
		<updated>2016-09-19T09:08:04Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* Can I award a badge based on a specific grade? */ removing assignment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Badges}}&lt;br /&gt;
==How can teachers award site badges?==&lt;br /&gt;
By default, teachers can only award course badges. Only users with capabilities to manage badges in the system are able to do this, so if you wish teachers to award site badges you need to create a new, global role.&lt;br /&gt;
#Go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Users &amp;gt; Permissions &amp;gt; Define roles&#039;&#039; and add a new role called for example &amp;quot;Site badge awarder&amp;quot;&lt;br /&gt;
#Add it to the &amp;quot;System&amp;quot; context&lt;br /&gt;
#Set the following capabilities to &amp;quot;allow&amp;quot;: moodle/badges:awardbadge, moodle/badges:viewbadges, moodle/badges:configurecriteria&lt;br /&gt;
#Assign this role to the teachers you wish to award site badges.&lt;br /&gt;
&lt;br /&gt;
The teacher with the role &amp;quot;Site badge awarder&amp;quot; will see a link to Badges in the Administration block.&lt;br /&gt;
&lt;br /&gt;
==Can more than one teacher in a course award the same  badge?==&lt;br /&gt;
&#039;&#039;(copied from MDL-39189&#039;&#039;) It&#039;s not the user who issues the badge, but a role. Users with multiple roles will have an option to use both of them to issue badges. If the badge is awarded twice by different roles, both roles are displayed and criteria (ALL/ANY) is given. In some cases it will be required for a badge to be awarded by several different roles. When there are, let&#039;s say, three teachers in the course and they go to award a badge as a teacher, each of them will see the list of users who already got the badge from a teacher, so they won&#039;t need to award the badge again.&lt;br /&gt;
==What&#039;s the difference between a backpack and a collection?==&lt;br /&gt;
When you upload a badge to the [http://backpack.openbadges.org/ Openbadges site] you are adding it to your backpack, which is the general area you put your badges in. (Like a backpack!) You then organise them into collections (like separate little bags in your backpack) and you choose which to display on your Moodle profile. So a badge may be in your backpack and not in a collection, but it must be in your backpack before it can be in a collection. (Note the &#039;public&#039; box must be ticked too.) Collections allow you to control which badges you share with people.&lt;br /&gt;
{|&lt;br /&gt;
|[[File:mozillabackpack.png|thumb|A users&#039;s online backpack]]&lt;br /&gt;
|[[File:collections.png|thumb|Drag badges into a new collection to display on Moodle]]&lt;br /&gt;
|}&lt;br /&gt;
==What size is a badge?==&lt;br /&gt;
&lt;br /&gt;
A badge is displayed with dimensions 100 X 100 pixels. However, a larger image may be uploaded, which will then be cropped to be a square, and then resized.&lt;br /&gt;
&lt;br /&gt;
See also [https://moodle.org/mod/forum/discuss.php?d=230591 Badge image size] discussion.&lt;br /&gt;
&lt;br /&gt;
==Can I award a badge based on a specific grade?==&lt;br /&gt;
&lt;br /&gt;
There are two ways of awarding a badge based on a specific grade.&lt;br /&gt;
&lt;br /&gt;
Method 1:&lt;br /&gt;
&lt;br /&gt;
Set a passing grade for the quiz in the gradebook, as explained in section 1.3 of [[Activity completion settings]].&lt;br /&gt;
&lt;br /&gt;
Method 2:&lt;br /&gt;
&lt;br /&gt;
# Create a page resource and set the restrict access conditions so that it only appears if the user obtains a certain grade in the quiz or assignment&lt;br /&gt;
# Set the activity completion for the page as &amp;quot;view&amp;quot;&lt;br /&gt;
# Set the badge criteria such that the page has to be completed (i.e. viewed)&lt;br /&gt;
&lt;br /&gt;
==Do I have to use my Moodle email for my backpack?==&lt;br /&gt;
No, but you have to log in via your Persona account to authenticate via your backpack, in order to ensure you are only displaying badges belonging to you.&lt;br /&gt;
&lt;br /&gt;
==Which roles can see which badges?==&lt;br /&gt;
See this [https://moodle.org/mod/forum/discuss.php?d=234155&amp;amp;parent=1017187#p1017363 forum post on viewing badges]&lt;br /&gt;
&lt;br /&gt;
==Can I change a badge images once awarded?==&lt;br /&gt;
The short answer is &#039;no&#039;, but see this forum post on [https://moodle.org/mod/forum/discuss.php?d=228553 changing badge images] for more information.&lt;br /&gt;
&lt;br /&gt;
==Can I revoke a badge once it has been awarded?==&lt;br /&gt;
See the section on deleting badges in [[Managing badges]]&lt;br /&gt;
&lt;br /&gt;
==How can I get badges with participants&#039; profiles like on Moodle.org?==&lt;br /&gt;
[[File:profilebadges.png|thumb|500px|center]]&lt;br /&gt;
&lt;br /&gt;
These are not badges. These are group avatars/pictures. When you create a group in your course - see the documentation on [[Groups]] - you can add a picture to represent that group. In places such as forums this picture is then displayed for each participant. If they are a member of several groups then several pictures will be displayed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Moodle in English [https://moodle.org/mod/forum/view.php?id=8085 Badges forum]&lt;br /&gt;
* [http://www.somerandomthoughts.com/blog/2013/05/06/open-badges-and-moodle/ Open Badges and Moodle] blog post from Gavin Henrick&lt;br /&gt;
* [http://badg.us/en-US/ badg.us] - a service for creating and issuing badges&lt;br /&gt;
* [https://p2pu.org/en/groups/how-do-i-make-a-badge/ P2PU Badge Maker] - a step by step guide on how to make a badge &lt;br /&gt;
* [https://www.openbadges.me/ OpenBadges.me] - An open-access image creator from MyKnowledgeMap to support all of your Open Badge building needs.&lt;br /&gt;
* [http://moodlebadges.com/ Badges For Your Moodle] - CC-licensed badges available for free download&lt;br /&gt;
&lt;br /&gt;
Forum discussions:&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=252377 Badges Backup Requires &amp;quot;Include Enrolled Users&amp;quot;?]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[es:Insignias FAQ]]&lt;br /&gt;
[[ja:バッジFAQ]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Activity_completion_FAQ&amp;diff=116187</id>
		<title>Activity completion FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Activity_completion_FAQ&amp;diff=116187"/>
		<updated>2016-09-19T09:02:04Z</updated>

		<summary type="html">&lt;p&gt;Tsala: removing duplicate heading&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Activity completion}}&lt;br /&gt;
==What happens when completion conditions are unlocked?==&lt;br /&gt;
&lt;br /&gt;
Once you unlock options and then click &#039;Save changes&#039;, all completion information for the activity will be deleted and, if possible, regenerated according to the new settings. See the section &#039;What happens when you unlock&#039; in [[Activity completion settings]] for further details.&lt;br /&gt;
&lt;br /&gt;
==Activity completion status does not change==&lt;br /&gt;
Has [[Cron]] been run on the server side? Activity completion default is to be trigger by a cron event at a regular interval. The default is 10 minutes.&lt;br /&gt;
&lt;br /&gt;
:Why so long a gap? My students want instant gratification and positive reinforcement they have taken another step! The update on a site can take time and resources of the server because it looks at every course, every activity, every user. &lt;br /&gt;
&lt;br /&gt;
==How do I change the default time to refresh course completion reports==&lt;br /&gt;
Want to change the default time? This will require a code tweak at line 126 or so in the /lib/completionlib.php file. Make sure the server is sending a cron message to Moodle every 10 minutes or more often.   If the server is sending a cron trigger to Moodle every 60 minutes, that will be the length of time which will pass before the change will appear.&lt;br /&gt;
&lt;br /&gt;
==Can I move the activity completion checkboxes to the left instead of the right?==&lt;br /&gt;
&lt;br /&gt;
[[File:checkboxleft.png]]&lt;br /&gt;
&lt;br /&gt;
Please see MDL-34729 and MDL-31603&lt;br /&gt;
&lt;br /&gt;
This is a not-fully tested solution, based on adapting Christian Herman&#039;s tip from Moodle 2.0 to 2.5 and discussion in https://moodle.org/mod/forum/discuss.php?d=263661&lt;br /&gt;
If you are using Clean or More theme, add the following to the Custom CSS box in &#039;&#039;Appearance&amp;gt;Themes&amp;gt;Clean&#039; (or More)&lt;br /&gt;
&lt;br /&gt;
/* Completion Checkbox Left of Activity Icon and Align Checkboxes Full Left */&lt;br /&gt;
.section .activity .actions {    position: relative; }&lt;br /&gt;
&lt;br /&gt;
.path-course-view li.activity span.autocompletion, .path-course-view li.activity form.togglecompletion&lt;br /&gt;
{    float: left;    margin-left: -15px;}&lt;br /&gt;
&lt;br /&gt;
/* Small Space Between Checkbox &amp;amp; Icon */&lt;br /&gt;
.path-course-view .section .activity img.activityicon&lt;br /&gt;
{ padding-left: 1em; }&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Aktivitätsabschluss FAQ]]&lt;br /&gt;
[[es:Finalización de actividad FAQ]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Enrolment_methods&amp;diff=116186</id>
		<title>Enrolment methods</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Enrolment_methods&amp;diff=116186"/>
		<updated>2016-09-13T04:43:40Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* Managing enrolment methods */ up/down arrows applying to self enrolment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Course enrolment}}&lt;br /&gt;
==Enrolment methods==&lt;br /&gt;
Depending upon which enrolment methods are enabled for the site (by an administrator in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Enrolments &amp;gt; [[Enrolment plugins|Manage enrol plugins]]&#039;&#039;), some or all of the following are available within a course:&lt;br /&gt;
&lt;br /&gt;
===Manual enrolment===&lt;br /&gt;
*This enables users to be enrolled manually in &#039;&#039;Administration &amp;gt; Course administration &amp;gt; Users &amp;gt; Enrolled users&#039;&#039;.&lt;br /&gt;
*It allows the teacher of the course to manage individual or collective enrolment to their course themselves - for example: if a new student arrives to class unexpectedly with just a login to the site, they may  be enrolled by the teacher into their course without any input from an administrator.&lt;br /&gt;
*See [[Manual_enrolment|Manual enrolment]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
===Self enrolment===&lt;br /&gt;
*This allows users to enrol themselves into a course, either directly or via an enrolment key (&amp;quot;course password&amp;quot;) The teacher does not then have to manually add students.&lt;br /&gt;
*More than one instance of the self enrolment method can be used so that when users enrol themselves they are assigned different roles e.g. certain users can be assigned the role of student and other users can be assigned the role of non-editing teacher&lt;br /&gt;
*The self-enrolment method also allows for users to enrol themselves into groups by using a group enrolment key.&lt;br /&gt;
*See [[Self_enrolment|Self enrolment]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
===Guest access===&lt;br /&gt;
*This allows those with the guest role to view the contents of a course.&lt;br /&gt;
*Users with the &amp;quot;guest role&amp;quot; may be visitors who do not have an account on your Moodle, or users who do have an account (&amp;quot;authenticated users&amp;quot;) but who would just like to explore your course.&lt;br /&gt;
*It is possible to add an enrolment key so that only those guest users you wish to grant access can enter the course&lt;br /&gt;
*Entering a course with guest access doesn&#039;t allow a user to participate in any activities; they can only view information.&lt;br /&gt;
*See [[Guest_access|Guest access]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
===Cohort sync=== &lt;br /&gt;
*A cohort is a set of users which has been added either to the site as a whole or to a particular category and which can then be made available in a course through the cohort-sync enrolment plugin.&lt;br /&gt;
*Only an administrator or a manager can use this plugin.&lt;br /&gt;
*See [[Cohort_sync|Cohort sync]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
===Course meta link===&lt;br /&gt;
*This allows users who are in another course to be automatically enrolled into your course as well. An example might be if a Moodle site has a course for &amp;quot;Staff Only&amp;quot; and a course for &amp;quot;Moodle Help&amp;quot;. If the &amp;quot;Staff Only&amp;quot; course is added to the &amp;quot;Moodle Help&amp;quot; course with the course meta link plugin, then every time a new member of staff joins the &amp;quot;Staff Only&amp;quot; course, they will automatically be enrolled in the &amp;quot;Moodle Help&amp;quot; course as well.&lt;br /&gt;
*Teachers can only select from courses in which they are teachers when using this method.&lt;br /&gt;
*See [[Course_meta_link|Course meta link]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
===PayPal===&lt;br /&gt;
*This allows users to pay for a course. The PayPal enrolment plugin needs to be enabled sitewide by the administrator and the plugin needs to be added to a course by the administrator or a manager.&lt;br /&gt;
*The course teacher can select a cost(and currency for their course) along with other course-specific requirements.&lt;br /&gt;
*See [[Paypal_enrolment|PayPal enrolment]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
==Managing enrolment methods==&lt;br /&gt;
[[Image:Enrolment methods1.png]]&lt;br /&gt;
&lt;br /&gt;
Managers and teachers (and any other users with the capability [[Capabilities/moodle/course:enrolconfig|moodle/course:enrolconfig]]) can manage enrolment methods in &#039;&#039;Course administration &amp;gt; Users &amp;gt; Enrolment methods&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* To add a new method, select it from the dropdown menu.&lt;br /&gt;
* To remove any unused enrolment method, click the delete icon (X) opposite it.&lt;br /&gt;
* To temporarily disable an enrolment method, click the show/hide icon (an eye) opposite it. (This ensures that the settings are remembered if the enrolment method is later re-enabled.)&lt;br /&gt;
* If several self-enrolment methods are enabled, the order in which they are listed for users wanting to enrol can be changed with the up/down arrows.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Enrolment plugins]]&lt;br /&gt;
&lt;br /&gt;
[[de:Einschreibemethoden]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Enrolment_methods&amp;diff=116185</id>
		<title>Enrolment methods</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Enrolment_methods&amp;diff=116185"/>
		<updated>2016-09-12T09:05:08Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* Managing enrolment methods */ changing order (see MDL-55903)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Course enrolment}}&lt;br /&gt;
==Enrolment methods==&lt;br /&gt;
Depending upon which enrolment methods are enabled for the site (by an administrator in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Enrolments &amp;gt; [[Enrolment plugins|Manage enrol plugins]]&#039;&#039;), some or all of the following are available within a course:&lt;br /&gt;
&lt;br /&gt;
===Manual enrolment===&lt;br /&gt;
*This enables users to be enrolled manually in &#039;&#039;Administration &amp;gt; Course administration &amp;gt; Users &amp;gt; Enrolled users&#039;&#039;.&lt;br /&gt;
*It allows the teacher of the course to manage individual or collective enrolment to their course themselves - for example: if a new student arrives to class unexpectedly with just a login to the site, they may  be enrolled by the teacher into their course without any input from an administrator.&lt;br /&gt;
*See [[Manual_enrolment|Manual enrolment]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
===Self enrolment===&lt;br /&gt;
*This allows users to enrol themselves into a course, either directly or via an enrolment key (&amp;quot;course password&amp;quot;) The teacher does not then have to manually add students.&lt;br /&gt;
*More than one instance of the self enrolment method can be used so that when users enrol themselves they are assigned different roles e.g. certain users can be assigned the role of student and other users can be assigned the role of non-editing teacher&lt;br /&gt;
*The self-enrolment method also allows for users to enrol themselves into groups by using a group enrolment key.&lt;br /&gt;
*See [[Self_enrolment|Self enrolment]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
===Guest access===&lt;br /&gt;
*This allows those with the guest role to view the contents of a course.&lt;br /&gt;
*Users with the &amp;quot;guest role&amp;quot; may be visitors who do not have an account on your Moodle, or users who do have an account (&amp;quot;authenticated users&amp;quot;) but who would just like to explore your course.&lt;br /&gt;
*It is possible to add an enrolment key so that only those guest users you wish to grant access can enter the course&lt;br /&gt;
*Entering a course with guest access doesn&#039;t allow a user to participate in any activities; they can only view information.&lt;br /&gt;
*See [[Guest_access|Guest access]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
===Cohort sync=== &lt;br /&gt;
*A cohort is a set of users which has been added either to the site as a whole or to a particular category and which can then be made available in a course through the cohort-sync enrolment plugin.&lt;br /&gt;
*Only an administrator or a manager can use this plugin.&lt;br /&gt;
*See [[Cohort_sync|Cohort sync]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
===Course meta link===&lt;br /&gt;
*This allows users who are in another course to be automatically enrolled into your course as well. An example might be if a Moodle site has a course for &amp;quot;Staff Only&amp;quot; and a course for &amp;quot;Moodle Help&amp;quot;. If the &amp;quot;Staff Only&amp;quot; course is added to the &amp;quot;Moodle Help&amp;quot; course with the course meta link plugin, then every time a new member of staff joins the &amp;quot;Staff Only&amp;quot; course, they will automatically be enrolled in the &amp;quot;Moodle Help&amp;quot; course as well.&lt;br /&gt;
*Teachers can only select from courses in which they are teachers when using this method.&lt;br /&gt;
*See [[Course_meta_link|Course meta link]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
===PayPal===&lt;br /&gt;
*This allows users to pay for a course. The PayPal enrolment plugin needs to be enabled sitewide by the administrator and the plugin needs to be added to a course by the administrator or a manager.&lt;br /&gt;
*The course teacher can select a cost(and currency for their course) along with other course-specific requirements.&lt;br /&gt;
*See [[Paypal_enrolment|PayPal enrolment]] for full details of how this can work in your course.&lt;br /&gt;
&lt;br /&gt;
==Managing enrolment methods==&lt;br /&gt;
[[Image:Enrolment methods1.png]]&lt;br /&gt;
&lt;br /&gt;
Managers and teachers (and any other users with the capability [[Capabilities/moodle/course:enrolconfig|moodle/course:enrolconfig]]) can manage enrolment methods in &#039;&#039;Course administration &amp;gt; Users &amp;gt; Enrolment methods&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* To add a new method, select it from the dropdown menu.&lt;br /&gt;
* To remove any unused enrolment method, click the delete icon (X) opposite it.&lt;br /&gt;
* To temporarily disable an enrolment method, click the show/hide icon (an eye) opposite it. (This ensures that the settings are remembered if the enrolment method is later re-enabled.)&lt;br /&gt;
* To change the order in which the enrolment methods are listed, use the up/down arrows.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Enrolment plugins]]&lt;br /&gt;
&lt;br /&gt;
[[de:Einschreibemethoden]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Installing_plugins&amp;diff=116182</id>
		<title>Installing plugins</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Installing_plugins&amp;diff=116182"/>
		<updated>2016-06-17T07:47:32Z</updated>

		<summary type="html">&lt;p&gt;Tsala: note about certain hosting solutions preventing plugins installation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
==Why install additional plugins?==&lt;br /&gt;
&lt;br /&gt;
Plugins enable you to add additional features and functionality to Moodle, such as new activities, new quiz question types, new reports, integrations with other systems and many more. &lt;br /&gt;
&lt;br /&gt;
{{Note|Certain hosting solutions, such as [https://moodle.com/cloud/ MoodleCloud], prevent plugins being installed from within Moodle.}}&lt;br /&gt;
== Considerations for production sites (skip if you&#039;re just moodling) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VERY IMPORTANT&#039;&#039;&#039; Warning: Please be aware that some plugins have not been reviewed, and the quality and/or suitability for your Moodle site has not been checked. Please be careful. It may not do what you expect, it may have serious security issues or it may even not work at all. This is however improving over time with the evolving new plugins directory system.&lt;br /&gt;
&lt;br /&gt;
* If you have a large site for production purposes consider if you &#039;&#039;&#039;really&#039;&#039;&#039; need the plugin? More functionality means more things to support, more things to (potentially) go wrong and more things to worry about at upgrade time. &lt;br /&gt;
* Is the plugin supported and maintained? If something goes wrong can you get support? Will bugs be fixed?&lt;br /&gt;
* If the plugin does not work in a future version of Moodle, what will you do about it?&lt;br /&gt;
* Beware of &#039;&#039;patches&#039;&#039; ([https://moodle.org/plugins/browse.php?list=category&amp;amp;id=38 Moodle Plugins Directory Other category]) ! If a plugin modifies or replaces core files then be very careful. It can only be guaranteed to work with the exact build (version) of Moodle it was created for and is highly unlikely to survive a Moodle upgrade.&lt;br /&gt;
&lt;br /&gt;
==Installing a plugin==&lt;br /&gt;
&lt;br /&gt;
To install a plugin, its source code must be put (deployed) into the appropriate location inside the Moodle installation directory and the main administration page &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Notifications&#039;&#039; must be visited. There are three ways how the plugin code can be deployed into Moodle.&lt;br /&gt;
&lt;br /&gt;
Plugin code may be deployed from within Moodle, either directly from the Moodle plugins directory or by uploading a ZIP file. The web server process has to have write access to the plugin type folder where the new plugin is to be installed in order to use either of these methods.&lt;br /&gt;
&lt;br /&gt;
Alternatively, a plugin may be deployed manually at the server.&lt;br /&gt;
&lt;br /&gt;
===Installing directly from the Moodle plugins directory===&lt;br /&gt;
&lt;br /&gt;
# Login as an admin and go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Install plugins&#039;&#039;.&lt;br /&gt;
# Click the button &#039;Install plugins from Moodle plugins directory&#039;.&lt;br /&gt;
# Search for a plugin with an Install button, click the Install button then click Continue.&lt;br /&gt;
# Check that you obtain a &#039;Validation passed!&#039; message, then click the button &#039;Install plugin&#039;.&lt;br /&gt;
&lt;br /&gt;
===Installing via uploaded ZIP file===&lt;br /&gt;
&lt;br /&gt;
# Go to the [https://moodle.org/plugins Moodle plugins directory], select your current Moodle version, then choose a plugin with a Download button and download the ZIP file.&lt;br /&gt;
# Login to your Moodle site as an admin and go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Install plugins&#039;&#039;.&lt;br /&gt;
# Upload the ZIP file, select the appropriate plugin type, tick the acknowledgement checkbox, then click the button &#039;Install plugin from the ZIP file&#039;.&lt;br /&gt;
# Check that you obtain a &#039;Validation passed!&#039; message, then click the button &#039;Install plugin&#039;.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:install add-ons.png|thumb|Install plugins]]&lt;br /&gt;
| [[File:add-on package validation.png|thumb|Plugin package validation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For both of the above methods, after clicking the button &#039;Install plugin&#039;, you will then be automatically redirected to &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Notifications&#039;&#039; and the installation process (i.e. creating required database tables etc) will happen.&lt;br /&gt;
&lt;br /&gt;
===Installing manually at the server===&lt;br /&gt;
&lt;br /&gt;
If you can&#039;t deploy the plugin code via the administration web interface, you have to copy it to the server file system manually (e.g. if the web server process does not have write access to the Moodle installation tree to do this for you).&lt;br /&gt;
&lt;br /&gt;
First, establish the correct place in the Moodle code tree for the plugin type. Common locations are:&lt;br /&gt;
&lt;br /&gt;
* /path/to/moodle/theme/ - themes&lt;br /&gt;
* /path/to/moodle/mod/ - activity modules and resources&lt;br /&gt;
* /path/to/moodle/blocks/ - sidebar blocks&lt;br /&gt;
* /path/to/moodle/question/type/ - question types&lt;br /&gt;
* /path/to/moodle/course/format/ - course formats&lt;br /&gt;
* /path/to/moodle/admin/report/ - admin reports&lt;br /&gt;
&lt;br /&gt;
See [[:dev:Plugins]] for the full list of all plugin types and their locations within the Moodle tree.&lt;br /&gt;
&lt;br /&gt;
# Go to the [https://moodle.org/plugins Moodle plugins directory; select your current Moodle version, then choose a plugin with a Download button and download the ZIP file.&lt;br /&gt;
# Upload or copy it to your Moodle server.&lt;br /&gt;
# Unzip it in the right place for the plugin type (or follow the plugin instructions). &lt;br /&gt;
# In your Moodle site (as admin) go to &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Notifications&#039;&#039; (you should, for most plugin types, get a message saying the plugin is installed).&lt;br /&gt;
&lt;br /&gt;
Note: The plugin may contain language files.  They&#039;ll be found by your Moodle automatically. These language strings can be customized using the standard &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Language&#039;&#039; editing interface. If you get a &amp;quot;Database error&amp;quot; when you try to edit your language files, there is a strong chance that the language files included within the downloaded ZIP file of this plugin have a coding problem. If you delete the &#039;&#039;plugin_name/lang/other_language_different_to_English/&#039;&#039; folder with the new language strings and the database error disappears, this is indeed the case. Please notify the plugin maintainer, so that it can be fixed in future releases.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Errors===&lt;br /&gt;
&lt;br /&gt;
If you obtain an error, please [[Debugging|turn debugging on]] to obtain additional information about the cause of the error.&lt;br /&gt;
&lt;br /&gt;
;tool_installaddon/err_curl_exec - cURL error 60 : This suggests problems with the validation of the SSL certificate of the remote (moodle.org) site. This is also a known problem in Moodle Windows 7 servers running the Moodle package for Windows. See [[SSL certificate for moodle.org]] for more info and possible solutions.&lt;br /&gt;
&lt;br /&gt;
===A file permissions error has occurred===&lt;br /&gt;
&lt;br /&gt;
A common error after installing plugins is that when you create an instance of the module and then save and display it, it reports the error, &amp;quot;A file permissions error has occurred. Please check the permissions on the script and the directory it is in and try again.&amp;quot; If you get this, the file permissions of the package are mostl likely set to 711 preventing them from running correctly. With your preferred FTP client or via your web hosts control panel, set the file permissions of all the files and directories in the installed module, e.g. /moodle/mod/[myplugin]/ to 755 and then see if you can successfully view the module instance.&lt;br /&gt;
&lt;br /&gt;
===Default exception handler: Error writing to database Debug: Duplicate entry &#039;en_us-...===&lt;br /&gt;
* These errors are usually caused by a third party plugin. &lt;br /&gt;
* To find the involved plugin, go to [http://lang.moodle.org http://lang.moodle.org] and use the AMOS tool to find all the strings with the given string identifier.&lt;br /&gt;
* Remove the suspected plugin and check if the error has disappeared. If so, please contact the plugin maintainer and report this issue.&lt;br /&gt;
* Please see [https://moodle.org/mod/forum/discuss.php?d=219504 this forum thread] for known causes and fixes.&lt;br /&gt;
&lt;br /&gt;
===When installing manually===&lt;br /&gt;
&lt;br /&gt;
* Check the file permissions. The web server needs to be able to read the plugin files. If the the rest of Moodle works then try to make the plugin permissions and ownership match. &lt;br /&gt;
* Did you &#039;&#039;&#039;definitely&#039;&#039;&#039; unzip or install the plugin in the correct place?&lt;br /&gt;
* Because Moodle scans plugin folders for new plugins you cannot have any other files or folders there. Make sure you deleted the zip file and don&#039;t try to rename (for example) an old version of the plugin to some other name - it will break.&lt;br /&gt;
* Make sure the directory name for the plugin is correct. All the names &#039;&#039;&#039;have&#039;&#039;&#039; to match. If you change the name then it won&#039;t work.&lt;br /&gt;
&lt;br /&gt;
===Obtaining help===&lt;br /&gt;
&lt;br /&gt;
Ask in the appropriate forum in [http://moodle.org/course/view.php?id=5 Using Moodle]. Make sure you describe your system (including versions of MySQL, PHP etc.), what you tried and what happened. Copy and paste error messages exactly. Provide the link to the version of the plugin you downloaded (some have very similar names).&lt;br /&gt;
&lt;br /&gt;
==Uninstalling a plugin==&lt;br /&gt;
&lt;br /&gt;
To uninstall a plugin&lt;br /&gt;
# Go to &#039;&#039;Administration&amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Plugins overview&#039;&#039; and click the Uninstall link opposite the plugin you wish to remove&lt;br /&gt;
# Use a file manager to remove/delete the actual plugin directory as instructed, otherwise Moodle will reinstall it next time you access the site administration&lt;br /&gt;
&lt;br /&gt;
==Plugins overview==&lt;br /&gt;
&lt;br /&gt;
[[File:plugins overview.png|thumb|center|400px|Plugins overview highlighting available check button]]&lt;br /&gt;
&lt;br /&gt;
The Plugins overview page in &#039;&#039;Administration &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Plugins overview&#039;&#039; lists all installed plugins, together with the version number,release &#039;&#039;(new in 2.7)&#039;&#039;, availability (enabled or disabled) and settings link (if applicable).&lt;br /&gt;
&lt;br /&gt;
A &#039;Check for available updates&#039; button enables admins to quickly check for any updates available for plugins installed on the site (from the [http://moodle.org/plugins plugins directory]). Any updates available are highlighted, with further information and a download link in the notes column opposite the plugin.&lt;br /&gt;
&lt;br /&gt;
===Plugin updating from within Moodle===&lt;br /&gt;
&lt;br /&gt;
An administrator can enable updates deployment in  &#039;&#039;Administration &amp;gt; Site Administration &amp;gt; Server &amp;gt; Update notifications&#039;&#039;. Then when updates are available, &#039;Install this update&#039; buttons are shown on the Plugins overview page. See [[Automatic updates deployment]] for more details.&lt;br /&gt;
&lt;br /&gt;
==Preventing installing plugins from within Moodle==&lt;br /&gt;
&lt;br /&gt;
If required, installing and updating from within Moodle can be prevented by copying the following lines of code from config-dist.php and pasting them in config.php.&lt;br /&gt;
&lt;br /&gt;
 // Use the following flag to completely disable the On-click plugin installation&lt;br /&gt;
 // feature and hide it from the server administration UI.&lt;br /&gt;
 //&lt;br /&gt;
 //      $CFG-&amp;gt;disableonclickaddoninstall = true;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Notifications]] for further details of update notifications&lt;br /&gt;
* [[Plugin Review Criteria]]&lt;br /&gt;
* [[Plugins FAQ]]&lt;br /&gt;
* Moodle in English [http://moodle.org/mod/forum/view.php?id=44 General plugins forum]&lt;br /&gt;
* [[Installing Moodle from Git repository#Installing a contributed extension from its Git repository|Installing a contributed extension from its Git repository]]&lt;br /&gt;
* [http://www.somerandomthoughts.com/blog/2013/05/07/managing-add-ons-in-moodle-2-5/ Managing add-ons in Moodle 2.5] blog post by Gavin Henrick&lt;br /&gt;
*[http://youtu.be/RxlmVzIllVk Moodle 2 Plugins Administration]  MoodleBites video on YouTube  &lt;br /&gt;
* [http://youtu.be/K3MYE8am7M4 Install a New Theme]  MoodleBites video on YouTube &lt;br /&gt;
&lt;br /&gt;
For developers:&lt;br /&gt;
&lt;br /&gt;
*[[:dev:Category:Plugins|Plugins developer documentation]]&lt;br /&gt;
*[[:dev:Plugin validation]]&lt;br /&gt;
*[[:dev:On-click add-on installation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
[[de:Plugins installieren]]&lt;br /&gt;
[[es:Instalar complementos]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=116181</id>
		<title>MediaWiki:MoodleDocsVersionLinks</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=116181"/>
		<updated>2016-05-23T08:18:26Z</updated>

		<summary type="html">&lt;p&gt;Tsala: 3.1 link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2.7 docs: /27/en/{{FULLPAGENAMEE}}&lt;br /&gt;
3.1 docs: /31/en/{{FULLPAGENAMEE}}&lt;br /&gt;
3.0 docs: /30/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.9 docs: /29/en/{{FULLPAGENAMEE}}&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=error/data/invalidrecord&amp;diff=116177</id>
		<title>error/data/invalidrecord</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=error/data/invalidrecord&amp;diff=116177"/>
		<updated>2016-04-27T06:50:14Z</updated>

		<summary type="html">&lt;p&gt;Tsala: description, categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The error &#039;Incorrect record&#039; is displayed when attempting to view a database activity entry which has been deleted.&lt;br /&gt;
&lt;br /&gt;
[[Category:Error|Database activity module]]&lt;br /&gt;
[[Category:Database activity module|Error]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=116090</id>
		<title>MediaWiki:MoodleDocsVersionLinks</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=116090"/>
		<updated>2016-01-07T14:30:28Z</updated>

		<summary type="html">&lt;p&gt;Tsala: 3.0 link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2.7 docs: /27/en/{{FULLPAGENAMEE}}&lt;br /&gt;
3.0 docs: /30/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.9 docs: /29/en/{{FULLPAGENAMEE}}&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Guest_access&amp;diff=116087</id>
		<title>Guest access</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Guest_access&amp;diff=116087"/>
		<updated>2015-12-14T08:24:27Z</updated>

		<summary type="html">&lt;p&gt;Tsala: removing mention of self enrolment - thanks to Elena Ivanova for testing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Enrolment}}&lt;br /&gt;
The Guest access plugin allows users with the [[Guest_role |Guest role]] to view the contents of a course. This  might be used, for example, if a Moodle site serves as a website where certain courses contain publicly available information, or else with a commercial Moodle site where courses with guest access can  offers a &amp;quot;taster&amp;quot; of the kind of courses which may be purchased. (Note that the guest cannot participate in any activities; they can only view content.)&lt;br /&gt;
&lt;br /&gt;
==Course settings for guest access==&lt;br /&gt;
*In &#039;&#039;Administration &amp;gt; Course administration &amp;gt; Users &amp;gt; Enrolment methods&#039;&#039;, first ensure that you have added &amp;quot;guest access&amp;quot; as an enrollment method, and that it has its eye open.&lt;br /&gt;
*In &#039;&#039;Administration &amp;gt; Course administration &amp;gt; Edit settings&#039;&#039;, scroll to &amp;quot;Guest access&amp;quot;&lt;br /&gt;
*Set the drop down to &amp;quot;Yes&amp;quot;&lt;br /&gt;
*If you wish guests to use a password to access the course then add it here.&lt;br /&gt;
[[File:Guestaccesscoursesettings.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Admin settings for guest access==&lt;br /&gt;
*In &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Enrolments &amp;gt; Manage enrol plugins&#039;&#039;,ensure Guest access is enabled (has its eye open.) This enables Guest access.&lt;br /&gt;
* In &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Manage authentication&#039;&#039; set the Guest login button to Show if you want the button on the Frontpage. &lt;br /&gt;
* Also Guest accounts can be logged - check the &#039;&#039;Administration&amp;gt; Site administration &amp;gt; Server &amp;gt; Cleanup &amp;gt; Log guest access&#039;&#039; setting&lt;br /&gt;
&lt;br /&gt;
===Default settings for guest access===&lt;br /&gt;
*Clicking on &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Enrolments &amp;gt; Guest access&#039;&#039; brings up the screen where admin can set defaults for guest access in courses.&lt;br /&gt;
**Clicking the &#039;Advanced&#039; button next to &#039;Allow guest access&#039; will hide this setting in a course and will instead display a &#039;Show more&#039; link to click on to access the setting.&lt;br /&gt;
** Guest access can be turned on by default in all new courses and you can also:&lt;br /&gt;
**require each course with guest access to have a password for guests. (Note: this can confuse teachers who are not aware of the requirement.)&lt;br /&gt;
**use or ignore your Moodle&#039;s standard password policy for guest access passwords&lt;br /&gt;
**offer if needed the first letter of the password as a hint.&lt;br /&gt;
&lt;br /&gt;
===Auto-login guests===&lt;br /&gt;
*In &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Users &amp;gt; Permissions &amp;gt; User policies&#039;&#039;, you can tick the box so that visitors are automatically logged in as guests when accessing a course with guest access (i.e. they don&#039;t have to click the &amp;quot;login as guest button&amp;quot;.&lt;br /&gt;
*In &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Authentication &amp;gt; Manage Authentication&#039;&#039;, you must have &amp;quot;Guest login button&amp;quot; set to &amp;quot;Show&amp;quot;.&lt;br /&gt;
*In &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Security &amp;gt; Site policies&#039;&#039; you can check &amp;quot;Open to Google&amp;quot; setting so that the Google search robot will be allowed to enter your site as a Guest. In addition, people coming in to your site via a Google search will automatically be logged in as a Guest.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Guest role]]&lt;br /&gt;
&lt;br /&gt;
[[de:Gastzugang zum Kurs]]&lt;br /&gt;
&lt;br /&gt;
[[es:Acceso de invitados]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Cleanup&amp;diff=116080</id>
		<title>Cleanup</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Cleanup&amp;diff=116080"/>
		<updated>2015-11-25T11:04:34Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* Keep logs for */ setting move&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server settings}}&lt;br /&gt;
An administrator can limit the size of certain tables in the database by setting appropriate options in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; Cleanup&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Delete unconfirmed users after==&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using [[Email-based self-registration]] users must confirm their account (complete the email registration process) within a certain time-frame. Once the time set here has passed, any account that hasn&#039;t been confirmed will be deleted. The default is 7 days.&lt;br /&gt;
&lt;br /&gt;
==Delete incomplete users after==&lt;br /&gt;
&lt;br /&gt;
Once users have confirmed their account, they must complete their profile within the time interval set here.&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;complete profile&#039;&#039; is one where the following fields have been filled in (are not empty):&lt;br /&gt;
*First name&lt;br /&gt;
*Last name&lt;br /&gt;
*Email address&lt;br /&gt;
Just as a reference, given that the firstname, lastname and email are required fields of the [[Upload users]] module, any account created this way is automatically a complete account.&lt;br /&gt;
&lt;br /&gt;
==Keep logs for==&lt;br /&gt;
&lt;br /&gt;
Moodle keeps extensive logs of user activity. Eventually, however, the logs will become so large that they begin to clog your server. Limiting the length of time logs are kept for will reduce database table size. Generally, a year is enough time to keep logs for.&lt;br /&gt;
&lt;br /&gt;
Note: In Moodle 2.7 onwards, this setting has been moved to the legacy log store settings in &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Logging &amp;gt; Manage log stores&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Disable grade history==&lt;br /&gt;
&lt;br /&gt;
History tracking of changes in grades-related tables may be disabled by checking the &#039;&#039;disablegradehistory&#039;&#039; box.&lt;br /&gt;
&lt;br /&gt;
==Grade history lifetime==&lt;br /&gt;
&lt;br /&gt;
The length of time that the history of changes in grade-related tables is kept may be set (from 30 days to never).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: For users who have upgraded to Moodle 2 from 1.9, the setting &#039;Unsubscribe users from courses after&#039; in Cleanup has been replaced by &#039;Unenrol inactive after&#039; in [[Self enrolment]]. i.e. the setting now applies ONLY to users who self-enrolled.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=87795 How do I prune mdl_log table?] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[eu:Garbiketa]]&lt;br /&gt;
[[fr:Nettoyage]]&lt;br /&gt;
[[ja:クリーンアップ]]&lt;br /&gt;
[[de:Aufräumarbeiten]]&lt;br /&gt;
[[es:Limpieza]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=MediaWiki:Noarticletext&amp;diff=116079</id>
		<title>MediaWiki:Noarticletext</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=MediaWiki:Noarticletext&amp;diff=116079"/>
		<updated>2015-11-19T13:13:25Z</updated>

		<summary type="html">&lt;p&gt;Tsala: version update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Main page}}&lt;br /&gt;
This page does not exist in the Moodle 2.7 documentation. You can [[:en:{{NAMESPACE}}:{{PAGENAME}}|check whether it exists in the Moodle 3.0 documentation]] or [[Special:Search/{{PAGENAME}}|search for this page title]] in other pages.&lt;br /&gt;
&lt;br /&gt;
You are also welcome to [{{SERVER}}{{localurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} create it] yourself :-)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[MoodleDocs:Guidelines for contributors]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=116028</id>
		<title>MediaWiki:MoodleDocsVersionLinks</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=116028"/>
		<updated>2015-09-28T20:21:09Z</updated>

		<summary type="html">&lt;p&gt;Tsala: removing links of no longer maintained versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2.7 docs: /27/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.9 docs: /29/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.8 docs: /28/en/{{FULLPAGENAMEE}}&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Moodle_migration&amp;diff=116021</id>
		<title>Moodle migration</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Moodle_migration&amp;diff=116021"/>
		<updated>2015-09-15T13:27:03Z</updated>

		<summary type="html">&lt;p&gt;Tsala: copying updates from 29 docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
There may be times when you need to move your Moodle site from one server to another. For example, moving a Moodle site from shared hosting service&#039;s server to a dedicated server.&lt;br /&gt;
&lt;br /&gt;
==Recommended method==&lt;br /&gt;
&lt;br /&gt;
This involves moving a whole site from one server to another. If you are changing the domain/IP address to the new server you need to do these steps:&lt;br /&gt;
&lt;br /&gt;
===Turn on maintenance mode===&lt;br /&gt;
&lt;br /&gt;
Place your current Moodle site into [[Maintenance mode]] Site Administration&amp;gt;Server&amp;gt;Maintenance Mode to prevent any further additions to the Moodle database. Don&#039;t let administrators login during the migration as they are not affected by the maintenance mode setting.&lt;br /&gt;
&lt;br /&gt;
===Backup the Moodle database on the old sever===&lt;br /&gt;
&lt;br /&gt;
The right way to back up your database depends on which database system you are using. The instructions below are one way to back up a MySQL database. Another option would be to use a tool like phpMyAdmin to manually make a backup. The documentation for your database will give more options. There are many ways to do such backups. Here is an outline of a little script you can run from command line on Unix to backup the database:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /my/backup/directory&lt;br /&gt;
mv moodle-database.sql.gz moodle-database-old.sql.gz&lt;br /&gt;
mysqldump -h example.com -u myusername --password=mypassword -C -Q -e --create-options mydatabasename &amp;gt; moodle-database.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restore the database backup to the new server ===&lt;br /&gt;
&lt;br /&gt;
Copy the database back up files to the new server and restore into the new database server.&lt;br /&gt;
&lt;br /&gt;
Once you have created the new database on the new server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -p new_database &amp;lt; moodle-database.sql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For other databases, follow their instructions for restoring a backup. &lt;br /&gt;
&lt;br /&gt;
===Copy moodledata from the old server to the new server===&lt;br /&gt;
&lt;br /&gt;
Copy the contents of your data directory (check for the value in &amp;lt;code&amp;gt;$CFG-&amp;gt;dataroot&amp;lt;/code&amp;gt;) to the new server. This can be a lot of data, so consider using a good data copying tool like rsync. If using an FTP client, the transfer of the &amp;lt;code&amp;gt;filedir&amp;lt;/code&amp;gt; folder must be in &#039;&#039;&#039;BINARY&#039;&#039;&#039; mode or the files will get corrupted in the process.&lt;br /&gt;
&lt;br /&gt;
Check the file permissions of the copied files. The web server needs read and write access.&lt;br /&gt;
&lt;br /&gt;
===Copy the Moodle code from the old server to the new server===&lt;br /&gt;
&lt;br /&gt;
You will need to copy the Moodle code itself to the new server (this is the Moodle folder found in your webroot folder e.g. /var/www or public_html). &lt;br /&gt;
&lt;br /&gt;
Check the file permissions of the copied files. The web server needs read access.&lt;br /&gt;
&lt;br /&gt;
===Update config.php with the URL of the new server===&lt;br /&gt;
&lt;br /&gt;
If the migration will move Moodle to a new URL, then update $CFG-&amp;gt;wwwroot in config.php to point to the new location.&lt;br /&gt;
&lt;br /&gt;
Also check the other properties there. Is the path $CFG-&amp;gt;moodledata still correct? Do the database connection settings need to be changed?&lt;br /&gt;
&lt;br /&gt;
===Test the copied site===&lt;br /&gt;
&lt;br /&gt;
You should now be able to log into the new site as admin, and verify that most things are working.&lt;br /&gt;
&lt;br /&gt;
===Update links containing wwwroot in the databse===&lt;br /&gt;
&lt;br /&gt;
The one thing we have not fixed is any internal links stored in the database. To fix these use the [[Search and replace tool]] buy going to {wwwroot}/admin/tool/replace/index.php.&lt;br /&gt;
&lt;br /&gt;
Enter the url for your old server (&amp;lt;nowiki&amp;gt;http://oldserver.com/&amp;lt;/nowiki&amp;gt;) and new server (&amp;lt;nowiki&amp;gt;http://newserver.com/&amp;lt;/nowiki&amp;gt;) and it will fix any links stored in the database.&lt;br /&gt;
&lt;br /&gt;
===Take the site out of maintenance mode===&lt;br /&gt;
&lt;br /&gt;
Test the migration some more, then when you are satisfied, remember to take the site out of maintenance mode.&lt;br /&gt;
&lt;br /&gt;
==Quick and hacky method==&lt;br /&gt;
&lt;br /&gt;
If you have shell access on both servers, here is a quick command-line based method.&lt;br /&gt;
&lt;br /&gt;
*Set up a new empty database on the &#039;&#039;&#039;new&#039;&#039;&#039; server.&lt;br /&gt;
*Place your existing Moodle site into maintenance mode.&lt;br /&gt;
*Login to shell on the &#039;&#039;&#039;old&#039;&#039;&#039; existing server.&lt;br /&gt;
*Use rsync to copy &#039;&#039;&#039;moodledata&#039;&#039;&#039; and &#039;&#039;&#039;public_html&#039;&#039;&#039; or &#039;&#039;&#039;moodle&#039;&#039;&#039; folders (or whatever directory your Moodle install is in) to the new server - execute (replacing caps with your details; SOURCE = the directory you want to copy) for each directory:&lt;br /&gt;
::&amp;lt;code&amp;gt;rsync -av -e ssh SOURCE/ USERNAME@NEW_SERVER.COM:/PATH/TO/DESTINATION/&amp;lt;/code&amp;gt;&lt;br /&gt;
*Dump existing database and move and import into database on new server by executing:&lt;br /&gt;
::&amp;lt;code&amp;gt;mysqldump --allow-keywords --opt -uMySQL_USERNAME -pPASSWORD DATABASE | ssh USER@DOMAIN &amp;quot;mysql -uMySQL_USERNAME -pPASSWORD DATABASE&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*Replace any links in the database that contin the full site URL:&lt;br /&gt;
::&amp;lt;code&amp;gt;#sed -e &#039;s/oldserver.com/newserver.com/g&#039; oldmysqldump.sql &amp;gt; newmysqldump.sql&amp;lt;/code&amp;gt;&lt;br /&gt;
*On the &#039;&#039;&#039;new server&#039;&#039;&#039;, update &#039;&#039;&#039;config.php&#039;&#039;&#039; with relevant details where applicable (e.g. database name and user details, the wwwroot and the dataroot).&lt;br /&gt;
*Check ownership and permissions are correct on both moodle code and moodledata directories.&lt;br /&gt;
*Make sure everything is working.&lt;br /&gt;
&lt;br /&gt;
Takes about 15 minutes for a small site.  However, transferring several Gigabytes of data for a larger site can take hours depending on your network connection and hard drive read/write speed.&lt;br /&gt;
&lt;br /&gt;
When you are happy all has gone well, set up redirects/make DNS changes if required, take new site out of maintenance mode and &amp;quot;switch off&amp;quot; old site. &lt;br /&gt;
&lt;br /&gt;
*If you are switching the ip address from the old server to the new one, you will need to turn off the old server before firing up the new one to avoid ip addressing conflicts and confusion!&lt;br /&gt;
&lt;br /&gt;
==Other considerations==&lt;br /&gt;
&lt;br /&gt;
===Upgrade Moodle at the same time?===&lt;br /&gt;
&lt;br /&gt;
While doing the work of migrating Moodle, you might want to [[Upgrading | upgrade Moodle]] to the latest version at the same time. On the other hand, if you do that, and something breaks, you won&#039;t be sure which change caused the problem, so the more cautious approach is to change one thing at a time, and test in between to verify that all is well.&lt;br /&gt;
&lt;br /&gt;
===DNS &amp;amp; masquerading changes===&lt;br /&gt;
&lt;br /&gt;
You may have had to change the DNS entries for the new Moodle site. If you have done so, it will take some time for the changes to replicate, so be patient. If your server is located behind a firewall, you may also have to change your firewall rules to allow access to the new server. See the [[Masquerading | masquerading docs]].&lt;br /&gt;
&lt;br /&gt;
===Internal and external access===&lt;br /&gt;
&lt;br /&gt;
If you have a set up where your Moodle site can be accessed via a network and via the internet, ensure you check that the new site can be accessed internally and externally.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Site backup]]&lt;br /&gt;
* [[Site restore]]&lt;br /&gt;
* [[Backup and restore FAQ]]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62959 Changing Moodle URL] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=57477 Changing site address] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=76704 Upgrading whilst migrating] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=65450 Internal and external access] &lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=111807 Migrated Moodle to New Server But Can&#039;t Login]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=228436 Replace script returns &amp;quot;Service Unavailable&amp;quot;]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=85812 migrating Moodle&#039;s data directory on a Windows system]&lt;br /&gt;
&lt;br /&gt;
[[es:Migración de Moodle]]&lt;br /&gt;
[[fr:Migration de Moodle]]&lt;br /&gt;
[[ja:Moodle移行]]&lt;br /&gt;
[[de:Moodle-Migration]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Course_completion_FAQ&amp;diff=115973</id>
		<title>Course completion FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Course_completion_FAQ&amp;diff=115973"/>
		<updated>2015-07-03T13:24:57Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* Students have completed things but the  report does not show it */ updated answer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Course completion}}&lt;br /&gt;
==Students have completed things but the  report does not show it==&lt;br /&gt;
&lt;br /&gt;
Check in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; Scheduled tasks&#039;&#039; that the task &#039;Calculate completion data&#039; is running frequently enough, such as every minute.&lt;br /&gt;
&lt;br /&gt;
==I have set up course prerequisites but my students can still access the second course before they have finished the first==&lt;br /&gt;
Sorry - the course prerequisites feature does NOT prevent students from accessing courses. It merely prevents the course from being marked as &amp;quot;complete&amp;quot; until they have completed another course.&lt;br /&gt;
&lt;br /&gt;
==How can I prevent my students accessing course 2 before they have completed course 1?==&lt;br /&gt;
This is currently not possible using completion settings- see MDL-22648 .The usual workaround is to add a final activity at the end of course 1 - such as a quiz - inside which you give the enrolment key to the next course (in the quiz feedback for example) Thus, only those who have completed course 1 can get access to course 2. That doesn&#039;t stop them sharing the key however, but you could see any cheaters in the logs.&lt;br /&gt;
&lt;br /&gt;
==I made a mistake and had to erase my student data. Do my students have to redo the activities?==&lt;br /&gt;
No. For example, if you set the course completion for All aggregation methods and wanted to reset it to &amp;quot;Any&amp;quot;, Moodle will warn you that you are deleting compiled student data. It will delete the student data only for the course completion information.  When cron.php runs it will recompile the course completion information.&lt;br /&gt;
&lt;br /&gt;
==My student got an error message when they click on more information in the course completion block==&lt;br /&gt;
Moodle is confused by your course completion settings.   This may happen at the start of the course when the student has not completed an activity and/or you have selected an aggreation method of All and have not checked off that they have completed the activity.&lt;br /&gt;
&lt;br /&gt;
==Where do my students tell me they have finished the course?==&lt;br /&gt;
Did you install the [[Self completion block]]?   When they click on the link in that block, that will indicate they think they are done.  You will have to wait for [[Cron]] to run before seeing the results in your course completion report.&lt;br /&gt;
&lt;br /&gt;
==How can I set my course completion to be longer than 30 days after enrolment?==&lt;br /&gt;
Currently the dropdown menu only allows you to choose from up to 30 days after enrolment. There is a tracker entry about this here MDL-34678. However, if you are happy editing the database then you can manually change the value. (Thanks to Aaron Barnes for the following instructions)&lt;br /&gt;
&lt;br /&gt;
You&#039;ll need to look in the mdl_course_completion_criteria table. The Duration After Enrolment criteria will have the &amp;quot;criteriatype&amp;quot; value of 5 and the number of days is recorded in the column &amp;quot;enrolperiod&amp;quot; in seconds (so #days x 86400). You should be able to adjust the enrolperiod value and after the next cron run everything will use the new value.&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=184602 Confused how Completion.... err.... completes]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=194747 How to set course completion requirements to include a minimum quiz grade?]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[de:Kursabschluss FAQ]]&lt;br /&gt;
[[es:Finalización del curso FAQ]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=error/moodle/dmlwriteexception&amp;diff=115972</id>
		<title>error/moodle/dmlwriteexception</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=error/moodle/dmlwriteexception&amp;diff=115972"/>
		<updated>2015-07-01T06:35:09Z</updated>

		<summary type="html">&lt;p&gt;Tsala: MySQL dmlwriteexception error when restoring a course&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This indicates that a general error occurred when Moodle tried to write to the database. If you turn on [[Debugging]] you will get more detailed information about what the problem is.&lt;br /&gt;
&lt;br /&gt;
==MySQL==&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using a MySQL database for your Moodle installation, this error can be caused by the server&#039;s &amp;lt;code&amp;gt;max_allowed_packet&amp;lt;/code&amp;gt; size being configured incorrectly. [https://moodle.org/mod/forum/discuss.php?d=230681#p1001751 Increasing this value may resolve the issue.]&lt;br /&gt;
&lt;br /&gt;
==dmlwriteexception error when restoring a course==&lt;br /&gt;
&lt;br /&gt;
If you obtain a  dmlwriteexception error when restoring a course, it is recommended that InnoDB tables are converted to the Barracuda file format. See the section &#039;Converting InnoDB tables to Barracuda&#039; in [[Administration via command line]] for details of why this is recommended plus information on a tool for converting tables.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Development:DML exceptions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Error|Dmlwriteexception]]&lt;br /&gt;
&lt;br /&gt;
[[es:error/moodle/dmlwriteexception]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Backup_and_restore_FAQ&amp;diff=115971</id>
		<title>Backup and restore FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Backup_and_restore_FAQ&amp;diff=115971"/>
		<updated>2015-07-01T06:32:04Z</updated>

		<summary type="html">&lt;p&gt;Tsala: MySQL dmlwriteexception error when restoring a course&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Backup}}&lt;br /&gt;
==How do I backup a course?==&lt;br /&gt;
&lt;br /&gt;
See [[Course backup]] and [[Automated backup setup]]. &lt;br /&gt;
&lt;br /&gt;
==How do I restore a course?==&lt;br /&gt;
&lt;br /&gt;
See [[Course restore]].&lt;br /&gt;
&lt;br /&gt;
==How do I backup my site?==&lt;br /&gt;
&lt;br /&gt;
See [[Site backup]].&lt;br /&gt;
&lt;br /&gt;
==What are the pros and cons of course versus site backups?==&lt;br /&gt;
&lt;br /&gt;
[[Site backup|Site backups]] are recommended in order to have all data saved with the best confidence and the shortest recovery time.&lt;br /&gt;
&lt;br /&gt;
For a site administrator, [[Automated course backup|automated course backups]] are more expensive in terms of time, CPU usage and storage. The recovery time to have a site running again takes longer than a site backup. However, teachers and site administrators might find a course backups as a way to create a &amp;quot;fresh&amp;quot; copy of a course that can be re-used (in older versions of Moodle, in newer versions see [[Import course data]]) or as a method to distribute a course(s) to other Moodle sites.&lt;br /&gt;
&lt;br /&gt;
==Why is my automated course backup much smaller in size than my manual course backup?==&lt;br /&gt;
&lt;br /&gt;
This is an intentional design decision. Because of the way files are stored in Moodle 2.x, there is no need to include the files in the backup if you are planning to restore them to the same Moodle site. Leaving them out saves huge amounts of disk space and makes the backup procedure much faster. &lt;br /&gt;
&lt;br /&gt;
==What data is not contained in course backups?==&lt;br /&gt;
&lt;br /&gt;
By selecting all the options when setting up the backup you can include almost all the data in the course. However you should be aware of the fact that some things are not backed up:&lt;br /&gt;
* Quiz questions are only backed up if at least one question from their category has been added to a quiz.&lt;br /&gt;
* Scales are only backed up if they are used by at least one activity.&lt;br /&gt;
* Users&#039; passwords are not backed up when the &amp;quot;Include enrolled users&amp;quot; option is selected.&lt;br /&gt;
&lt;br /&gt;
==The process ends with: &amp;quot;Error: An error occurred deleting old backup data&amp;quot;. What should I do?==&lt;br /&gt;
&lt;br /&gt;
This part of the backup (or restore) procedure tries to delete old info, used in previous executions, performing the following tasks:&lt;br /&gt;
&lt;br /&gt;
# Delete old records from &amp;quot;backup_ids&amp;quot; table: Check the table exists, repair it and try again.&lt;br /&gt;
# Delete old records from &amp;quot;backup_files&amp;quot; table: Check the table exists, repair it and try again.&lt;br /&gt;
# Delete old files from &amp;quot;moodledata/temp/backup&amp;quot;: Delete the dir completely and try again.&lt;br /&gt;
&lt;br /&gt;
[[Image:BackupProblem.gif|thumb|Backup error message]]For points 1 &amp;amp; 2, there are various ways of repairing tables, including using MySQL Admin.&lt;br /&gt;
For point 3 see below:&lt;br /&gt;
&lt;br /&gt;
The error message states that the &amp;quot;directory not empty&amp;quot; and gives the path to that directory. If you go there with an FTP program you can see what is there and clean up. It could be just some empty subfolders that were leftover. Deleting these has been able to help. One can also delete the dir &amp;quot;moodledata/temp/backup&amp;quot; completely. That can take a bit longer but may solve several problems at once.&lt;br /&gt;
&lt;br /&gt;
==The process ends with: &amp;quot;XML error: not well-formed (invalid token) at line YYYY&amp;quot;. What can I do?==&lt;br /&gt;
&lt;br /&gt;
This problem can appear at any point in the restore process. It&#039;s caused when the XML parser detects something incorrect in the backup file that prevent correct operation. Usually, it&#039;s caused by some &amp;quot;illegal&amp;quot; characters added in the original course due to some copy/paste of text containing them (control characters, or invalid sequences...).&lt;br /&gt;
&lt;br /&gt;
The best method to handle this issue is:&lt;br /&gt;
&lt;br /&gt;
* Unzip the problematic backup file under one empty folder.&lt;br /&gt;
&lt;br /&gt;
* Open the moodle.xml with Firefox. It will show you where (exact char) the problem is happening.&lt;br /&gt;
&lt;br /&gt;
* Edit the moodle.xml file with some UTF8-compatible editor and delete such characters. Save changes.&lt;br /&gt;
&lt;br /&gt;
* Test the moodle.xml file again with Firefox until no error was displayed.&lt;br /&gt;
&lt;br /&gt;
* Zip everything again (all the folder contents but not the folder itself!).&lt;br /&gt;
&lt;br /&gt;
* Restore the course. It should work now.&lt;br /&gt;
&lt;br /&gt;
* Restore still not working? See the next question.&lt;br /&gt;
&lt;br /&gt;
Also, if possible, it&#039;s highly recommended to solve those problems in the original course too from Moodle itself. Once &amp;quot;repaired&amp;quot; there, problems will be out if you create new backup files in the future.&lt;br /&gt;
&lt;br /&gt;
==The process ends with: &amp;quot;moodle xml not found at root level of zip file&amp;quot;. What can I do?==&lt;br /&gt;
If you are restoring from a zip file backup make sure the moodle.xml file is at the root level. To ensure this:&lt;br /&gt;
#Unzip the backup file of the course (example: mycourse.zip)&lt;br /&gt;
#Once the file is unzipped, open the folder (example: mycourse).&lt;br /&gt;
#Select the folders within the mycourse folder AND the moodle.xml file and create a zip of those item (example: mycourse_new.zip)&lt;br /&gt;
#Upload the new zip file (example: mycourse_new.zip) and restore from that.&lt;br /&gt;
&lt;br /&gt;
If the backup file is guaranteed to be correct, check paths to external files (zip, unzip). Incorrect settings also lead to this error message (see the Using Moodle forum discussion [http://moodle.org/mod/forum/discuss.php?d=140355 moodle.xml not found in root...] and MDL-14812).&lt;br /&gt;
&lt;br /&gt;
==The process ends with: &amp;quot;An error occurred while copying the zip file...&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
This problem is most likely caused by a permissions issue in the destination directory. Backup files are copied to &amp;quot;XXX/backupdata&amp;quot; under your dataroot directory (where XXX is the id of the course being backed up).&lt;br /&gt;
&lt;br /&gt;
The problem could also be caused by a disk being full, though this is far less likely.&lt;br /&gt;
&lt;br /&gt;
To obtain precise information about what&#039;s happening, you can enable debug messages in &#039;&#039;Administration &amp;gt; Server &amp;gt; [[Debugging]]&#039;&#039; (select the maximum level - DEVELOPER) and/or check the web server error logs.&lt;br /&gt;
&lt;br /&gt;
==I Still get an XML error. How can I clean the borked XML file?==&lt;br /&gt;
&lt;br /&gt;
In some cases XML backup files may contain characters causing the restore process to abort, even after the steps described in the previous question. In such cases you may want to try the following:&lt;br /&gt;
&lt;br /&gt;
* Download the [http://repository.atlassian.com/atlassian-xml-cleaner/jars/atlassian-xml-cleaner-0.1.jar Atlassian XML Cleaner Utility] from the [http://confluence.atlassian.com/display/JIRA/Removing+invalid+characters+from+XML+backups JIRA Atlassian site].&lt;br /&gt;
&lt;br /&gt;
* Unzip the problematic Moodle backup file under one empty folder. Moodle will create the course file folders as long as the unclean moodle.xml file. Please unzip using the Moodle unzip feature.&lt;br /&gt;
&lt;br /&gt;
* Rename the unclean moodle.xml file to moodle-unclean.xml.&lt;br /&gt;
&lt;br /&gt;
* If you don&#039;t have access to your Moodle server&#039;s command prompt, using the Moodle zip feature, zip the moodle-unclean.xml file only, download the zip file locally and unzip it. It is very important to download the xml file in zipped format to avoid unwanted character encoding when transferring from an operating system to another.&lt;br /&gt;
&lt;br /&gt;
* Move the downloaded Atlassian XML Cleaner Utility in the same folder where is your moodle-unclean.xml file.&lt;br /&gt;
&lt;br /&gt;
* Issue the following command from the command prompt: &lt;br /&gt;
&lt;br /&gt;
 java -jar atlassian-xml-cleaner-0.1.jar moodle-unclean.xml &amp;gt; moodle.xml&lt;br /&gt;
&lt;br /&gt;
* If you launched the utility on your local computer, zip the just created (and hopefully cleaned) moodle.xml file and upload it in the same place from where you downloaded the moodle-unclean.xml file. Once uploaded, unzip it using the Moodle unzip feature.&lt;br /&gt;
&lt;br /&gt;
* Zip everything again (all the folder contents but the folder itself!).&lt;br /&gt;
&lt;br /&gt;
* Restore the course. It should work now.&lt;br /&gt;
&lt;br /&gt;
==What does &amp;quot;Some of your courses weren&#039;t saved!!&amp;quot; mean?==&lt;br /&gt;
&lt;br /&gt;
There are three possible causes of this problem:&lt;br /&gt;
# Error - this happens when the backup procedure has found an error and so hasn&#039;t finished the backup of a particular course. These are &amp;quot;controlled&amp;quot; errors and the scheduled backup continues with the next course.&lt;br /&gt;
# Unfinished - this happens when the backup procedure dies without knowing why. When the cron is next executed it detects that the last execution went wrong, and continues skipping the problematic course. A possible solution would be to raise the PHP/Apache limit in your installation (memory, time of execution...). By taking a look to your log tables you should be able to see if the &amp;quot;crash&amp;quot; is happening at exact time intervals (usually a problem with the max_execution_time php&#039;s variable), or if there is some exact point were all the courses are breaking.&lt;br /&gt;
# Skipped - this happens when a course is unavailable to students and has not been changed in the last month (31 days). This isn&#039;t an error situation - it&#039;s a feature, especially useful for sites with many unavailable old courses, saving process time.&lt;br /&gt;
&lt;br /&gt;
==Why are some courses being skipped?==&lt;br /&gt;
&lt;br /&gt;
[[Image:autobackup_skip_settings.png|thumb|AutoBackup &#039;&#039;&#039;skip&#039;&#039;&#039; settings]]Moodle&#039;s &#039;&#039;Course backups&#039;&#039; routines are instructed to automatically skip courses based on three settings in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Courses &amp;gt; Backups &amp;gt; Automated backup setup.&#039;&#039; The Moodle administrator(s) use those settings to specify whether to &#039;&#039;Skip hidden courses&#039;&#039; (set by default to &#039;Yes&#039;), &#039;&#039;Skip courses not modified since&#039;&#039; (set by default to &#039;30 days&#039;), and &#039;&#039;Skip courses not modified since previous backup&#039;&#039; (set by default to &#039;No&#039;). A course which meets any of the enabled criteria will be skipped during the next run of &#039;&#039;Course backups&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Why does restore stop, rather than completing?==&lt;br /&gt;
&lt;br /&gt;
Attempting to restore a course to an older version of Moodle than the one the course was backed up on can result in the restore process failing to complete. To ensure a successful restore, make sure that the version of Moodle you are restoring the course to is the same, or newer, than the one the course was backed up on.&lt;br /&gt;
&lt;br /&gt;
If it stop unexpectedly with no errors shown try again with [[Debugging]] switched on. Any errors you now see can help experts in the support forums diagnose your problem. You can also check the discussion links in the See also section below for further advice.&lt;br /&gt;
&lt;br /&gt;
==Restore stops with the message &amp;quot;Trying to restore user xxxx from backup file will cause conflict&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
[[Image:Moodle 2.0 Restore breaks.png|thumb|Error message in Moodle 2.0]]&lt;br /&gt;
&lt;br /&gt;
This message is displayed when:&lt;br /&gt;
&lt;br /&gt;
# The target site has a user xxxx (xxxx being the username)&lt;br /&gt;
# The backup archive being restored also contains a user xxxx (same username)&lt;br /&gt;
# After various comparisons, Moodle has determined that the target site user xxxx and the backup user xxxx aren&#039;t the same person.&lt;br /&gt;
&lt;br /&gt;
If 1, 2 and 3 are all true, the restore process stops in order to prevent the backup user xxxx&#039;s activities (forum posts, quiz attempts, assignment uploads, etc) from being associated with the target site user xxxx. &lt;br /&gt;
&lt;br /&gt;
These checks and behaviour were introduced in Moodle 1.9.x and continue being valid under 2.0. It&#039;s common for the user in question to be the &amp;quot;admin&amp;quot; user (which exists in practically all Moodle installations).&lt;br /&gt;
&lt;br /&gt;
There are two possible methods to make the xxxx users match (and avoid the conflict):&lt;br /&gt;
&lt;br /&gt;
a) Modify the backup archive &#039;&#039;&#039;users.xml&#039;&#039;&#039; file and make the &#039;&#039;email&#039;&#039; or &#039;&#039;firstaccess&#039;&#039; fields match the ones in target site.&amp;lt;br /&amp;gt;&lt;br /&gt;
b) Modify the &#039;&#039;&#039;target site&#039;&#039;&#039; and set the user &#039;&#039;email&#039;&#039; or &#039;&#039;firstaccess&#039;&#039; fields to match the ones in backup archive users.xml file.&lt;br /&gt;
&lt;br /&gt;
Method a) is recommended so the restore process will match both xxxx users and all activities in the backup file belonging to xxxx will be associated to the already existing target site user xxxx user.&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;NOTE:&#039;&#039;&#039; When using method a) be aware that the &#039;&#039;moodle-filename-backup.&#039;&#039;&#039;mbz&#039;&#039;&#039;&#039;&#039; is a zip file and can be renamed to &#039;&#039;moodle-filename-backup.&#039;&#039;&#039;zip&#039;&#039;&#039;&#039;&#039; and unzipped. &lt;br /&gt;
  When editing is complete, rezip and then rename using the original file name with the &amp;quot;*.mbz&amp;quot; extention.&lt;br /&gt;
&lt;br /&gt;
==Why are certain course links broken in a restored course?==&lt;br /&gt;
&lt;br /&gt;
Inter-activity links must be absolute (full) URLs e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://site.com/mod/resource/view.php?id=xxx&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; in order to be processed properly during backup and restore.&lt;br /&gt;
&lt;br /&gt;
Any relative URLs e.g. &amp;lt;code&amp;gt;/mod/resource/view.php?id=xxx&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;../resource/view.php?id=xxx&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;view.php?id=xxx&amp;lt;/code&amp;gt; will result in broken links when the course is restored.&lt;br /&gt;
&lt;br /&gt;
==Restoring a course results in broken HTML tags. What can I do?==&lt;br /&gt;
This has been known to be caused by older versions of   libxml2 and PHP  - try updating them to the latest versions.&lt;br /&gt;
&lt;br /&gt;
==I have a very large course, over 2GB, and the backup process stops.==&lt;br /&gt;
&lt;br /&gt;
Courses over 4GB cannot be backed up without turning on an experimental option. See &#039;New backup format&#039; below.&lt;br /&gt;
&lt;br /&gt;
Below that size, large courses can be restored in Moodle, but sometimes it needs a bit of tweaking to get it right. Moodle backup files are *.mbz fies and can be renamed to zip files. They can be unzipped, then edited, rezipped and restored. It does not matter if you are using a Linux or Windows or Mac server, a local host or anything else, the technique is the same. &lt;br /&gt;
&lt;br /&gt;
The editing comes in two different ways, one is the resources, activities, quizzes, images. video files and so on are listed, written and referred to in the moodle.xml file. You can find the starting point and the end point of each resouce that you can delete out of the xml file. &lt;br /&gt;
&lt;br /&gt;
The xml might look something like this:&lt;br /&gt;
  &amp;lt;file id=&amp;quot;111&amp;quot;&amp;gt;    &amp;lt;contenthash&amp;gt;b11ac9bc0cebee17acfd28d13b548331f76645bc&amp;lt;/contenthash&amp;gt;&lt;br /&gt;
    &amp;lt;contextid&amp;gt;21&amp;lt;/contextid&amp;gt;&lt;br /&gt;
    &amp;lt;component&amp;gt;mod_resource&amp;lt;/component&amp;gt;&lt;br /&gt;
    &amp;lt;filearea&amp;gt;content&amp;lt;/filearea&amp;gt;&lt;br /&gt;
    &amp;lt;itemid&amp;gt;0&amp;lt;/itemid&amp;gt;&lt;br /&gt;
    &amp;lt;filepath&amp;gt;/&amp;lt;/filepath&amp;gt;&lt;br /&gt;
    &amp;lt;filename&amp;gt;howtomakeatimemachine.flv&amp;lt;/filename&amp;gt;&lt;br /&gt;
    &amp;lt;userid&amp;gt;4&amp;lt;/userid&amp;gt;&lt;br /&gt;
    &amp;lt;filesize&amp;gt;1092320586557&amp;lt;/filesize&amp;gt;&lt;br /&gt;
    &amp;lt;mimetype&amp;gt;video/flv&amp;lt;/mimetype&amp;gt;&lt;br /&gt;
    &amp;lt;status&amp;gt;0&amp;lt;/status&amp;gt;&lt;br /&gt;
    &amp;lt;timecreated&amp;gt;12345432123&amp;lt;/timecreated&amp;gt;&lt;br /&gt;
    &amp;lt;timemodified&amp;gt;12345432123&amp;lt;/timemodified&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;howtomakeatimemachine.flv&amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;author&amp;gt;Fred Nurks&amp;lt;/author&amp;gt;&lt;br /&gt;
    &amp;lt;license&amp;gt;allrightsreserved&amp;lt;/license&amp;gt;&lt;br /&gt;
    &amp;lt;sortorder&amp;gt;0&amp;lt;/sortorder&amp;gt;&lt;br /&gt;
    &amp;lt;repositorytype&amp;gt;$@NULL@$&amp;lt;/repositorytype&amp;gt;&lt;br /&gt;
    &amp;lt;repositoryid&amp;gt;$@NULL@$&amp;lt;/repositoryid&amp;gt;&lt;br /&gt;
    &amp;lt;reference&amp;gt;$@NULL@$&amp;lt;/reference&amp;gt;&lt;br /&gt;
  &amp;lt;/file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When editing, make sure all this is deleted, everything between the &amp;lt;file&amp;gt;&amp;lt;/file&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
The second part of editing is locating the actual resouce if it is an image, a separate file or video then deleting it. Really large mbz files tend to have a lot of videos, often flv files, or uncompressed images, like tiffs. They can be found, and deleted easily, in the directory tree of the backup.&lt;br /&gt;
&lt;br /&gt;
You can then rezip the edited file, rename it to an mbz and, if you have edited it right, it should restore. You can use the original file to break down really large backups over and over into four or five smaller mbz files, as many as you like.&lt;br /&gt;
&lt;br /&gt;
It is recommended that you test the technique first on a smaller file, it is easier to follow and gets you used to xml structuring and so on. Say one course with a couple of pages, a number of different image types, a couple of videos will help you immensely.  &lt;br /&gt;
&lt;br /&gt;
You do not have to worry about permissions in Windows or Xos servers, or concern yourself with editing rights usually. However, you may be required to ensure you are the owner fo the files being edited.&lt;br /&gt;
  &lt;br /&gt;
  &#039;&#039;&#039;NOTE:&#039;&#039;&#039; Before re-zipping, check to make sure you have removed all references to the pages/files/resources you have deleted in the moodle-backup.xml file as well. here msay be none, but check anyway.&lt;br /&gt;
&lt;br /&gt;
== Using the new backup format (experimental) ==&lt;br /&gt;
&lt;br /&gt;
If you have large courses you may find it useful to turn on an experimental option introduced in Moodle 2.6, &#039;Enable new backup format&#039; (on the admin menu under Development/Experimental/Experimental settings).&lt;br /&gt;
&lt;br /&gt;
This option selects a different internal backup format. Without this option, you cannot back up courses larger than 4GB.&lt;br /&gt;
&lt;br /&gt;
You can change this option at any time. Whatever the option is set to, restore works for both the old and new format. The option only affects newly-created backups.&lt;br /&gt;
&lt;br /&gt;
When you use this option, backup files still have the .mbz extension and work the same way, but there are some differences:&lt;br /&gt;
&lt;br /&gt;
* There is no limit on total backup size. (We have tested with courses up to about 10GB.)&lt;br /&gt;
* Files may be slightly smaller.&lt;br /&gt;
* If you need to edit this type of backup file manually, you will need to rename the .mbz file to .tar.gz, instead of .zip. You may need to use different software to extract and recompress this type of file. We have tested using GNU tar on Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
The new backup format is experimental, but is being used in some large sites and may be enabled as default in a future Moodle version. If you find problems with it, please report them in the Moodle tracker.&lt;br /&gt;
&lt;br /&gt;
==How can I extract original files from a Moodle backup file?==&lt;br /&gt;
If you really want to get original files from the backup file (an &amp;quot;.mbz&amp;quot; file) you downloaded (using the backup and restore feature), you can do so in much the same way as is suggested above. &lt;br /&gt;
&lt;br /&gt;
The backup file can actually be opened with any zip/unzip program you can download. Once you open the file, you need to extract:&lt;br /&gt;
&lt;br /&gt;
    The files.xml file.&lt;br /&gt;
    The files directory (folder).&lt;br /&gt;
&lt;br /&gt;
Next step would be to open the &amp;quot;files.xml&amp;quot; file in a text editor, and:&lt;br /&gt;
&lt;br /&gt;
    Search for the name of each file you want to get.&lt;br /&gt;
    Take note of the value of the corresponding contenthash tag.&lt;br /&gt;
    In the &amp;quot;files&amp;quot; folder you extracted, locate the file whose name is the same as the value of the contenthash and which will always be located in a folder whose name corresponds to the two first characters of the file name.&lt;br /&gt;
&lt;br /&gt;
For example, let&#039;s assume there is a &amp;quot;backup_courses-120730.mbz&amp;quot; file of which the &amp;quot;files.xml&amp;quot; file and the &amp;quot;files&amp;quot; folder have been extracted. There is a PDF file named &amp;quot;Leadership.pdf&amp;quot; that is required for another purpose.&lt;br /&gt;
&lt;br /&gt;
Open the files.xml file and:&lt;br /&gt;
&lt;br /&gt;
1. Search for the string &amp;quot;Leadership.pdf&amp;quot;, which in this case is found under the following &amp;amp;lt;file id...&amp;amp;gt; group tag:&lt;br /&gt;
&lt;br /&gt;
  &amp;amp;lt;file id=&amp;quot;12345&amp;quot;&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;contenthash&amp;amp;gt;fb6cf43a9b2d432403c70a2cb4c340dbb6225631&amp;amp;lt;/contenthash&amp;amp;gt;&lt;br /&gt;
                :&lt;br /&gt;
  &amp;amp;lt;filename&amp;amp;gt;Leadership.pdf&amp;amp;lt;/filename&amp;amp;gt;&lt;br /&gt;
                :&lt;br /&gt;
  &amp;amp;lt;license&amp;amp;gt;allrightsreserved&amp;amp;lt;/license&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;sortorder&amp;amp;gt;1&amp;amp;lt;/sortorder&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;/file&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Take note of the corresponding contenthash value: fb6cf43a9b2d432403c70a2cb4c340dbb6225631.&lt;br /&gt;
&lt;br /&gt;
3. As the first two characters of the contenthash are &amp;quot;fb&amp;quot;, open the &amp;quot;fb&amp;quot; folder inside the &amp;quot;files&amp;quot; directory (which was previously extracted), and there is a file named &amp;quot;fb6cf43a9b...&amp;quot;. Rename that file as &amp;quot;Leadership.pdf&amp;quot;, and then move it to another location. Repeat this for all the files required, using the correct contenthash value of course.&lt;br /&gt;
&lt;br /&gt;
==What happens if I restore a backup containing an assignment from Moodle 2.2 and older?==&lt;br /&gt;
&lt;br /&gt;
The assignment activity module was completely rewritten in Moodle 2.3. Thus, assignments from Moodle 2.2 and older (e.g. from Moodle 1.9) need to be upgraded in order to continue being usable. See the section &#039;Restoring course backups from Moodle 2.2 and older&#039; in [[Assignment upgrade tool]] for details of what to do.&lt;br /&gt;
&lt;br /&gt;
==MySQL dmlwriteexception error when restoring a course==&lt;br /&gt;
&lt;br /&gt;
If you obtain a  dmlwriteexception error when restoring a course, it is recommended that InnoDB tables are converted to the Barracuda file format. See the section &#039;Converting InnoDB tables to Barracuda&#039; in [[Administration via command line]] for details of why this is recommended plus information on a tool for converting tables.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/view.php?f=128 Backup and Restore forum]&lt;br /&gt;
*[http://www.databasejournal.com/features/mysql/article.php/10897_3300511_2 databasejournal.com article on repairing database corruption in MySQL]&lt;br /&gt;
* [[Site backup]]&lt;br /&gt;
* [[Moodle migration]]&lt;br /&gt;
* [[Beginning Moodle 2.0 Administration]]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=142720 Trying to restore user &#039;admin&#039; from backup file will cause conflict]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=167471 Where is the Moodle 2.0 &amp;quot;Course Backup Filearea&amp;quot;?]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[es:Respaldo y restauración FAQ]]&lt;br /&gt;
[[pl:Backup FAQ]]&lt;br /&gt;
[[fr:FAQ de sauvegarde]]&lt;br /&gt;
[[ja:バックアップFAQ]]&lt;br /&gt;
[[pt:FAQ sobre cópias de segurança]]&lt;br /&gt;
[[de:Sicherung und Wiederherstellung FAQ]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Administration_via_command_line&amp;diff=115970</id>
		<title>Administration via command line</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Administration_via_command_line&amp;diff=115970"/>
		<updated>2015-07-01T06:30:49Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* Converting InnoDB tables to Barracuda */ copying changes from 28 docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
==Running CLI scripts==&lt;br /&gt;
If you have shell access to your web server, you may find various CLI (command line interface) scripts useful during Moodle administration. Core admin CLI tools are located in the &amp;lt;code&amp;gt;admin/cli/*&amp;lt;/code&amp;gt; folder. Other plugins provide their CLI functionality via scripts in their own cli folder. For example, the enrol_db sync script is located in &amp;lt;code&amp;gt;enrol/db/cli/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid problems with access control, you should run them as the owner of the web server process. It is especially important for CLI installation and upgrade as they create new files in moodledata directory and the web server has to have write access to them. In Linux distributions, the user that runs the web server is usually apache or wwrun or httpd or something similar. As a root, you will probably want to execute Moodle CLI scripts like this:&lt;br /&gt;
&lt;br /&gt;
    $ cd /path/to/your/moodle/dir&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/somescript.php --params&lt;br /&gt;
&lt;br /&gt;
Most of the scripts accept common --help (or -h) parameter to display the full usage information, for example:&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/install.php --help&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
Moodle can be upgraded from the command line. As with the installation script, there is either interactive or non-interactive mode of the upgrade. The script itself does not put the site into the maintenance mode, you have to do it on your own. Also, the script does not backup any data (if you read this page, you probably have some own scripts to backup your moodledata and the database, right?)&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/upgrade.php&lt;br /&gt;
&lt;br /&gt;
Upgrading via command line is a very comfortable way of Moodle upgrade if you use Git checkout of the Moodle source code (see [[Git for Administrators]]). See the following procedure how to upgrade your site within several seconds to the most recent version while preserving your eventual local customizations tracked in git repository:&lt;br /&gt;
&lt;br /&gt;
    $ cd /var/www/sites/moodle/htdocs/&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable&lt;br /&gt;
    $ git pull&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/upgrade.php&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
There are two modes of installing Moodle from the command line. In interactive mode, the install script asks you for all data needed to properly set up new Moodle site. In non-interactive mode, you must provide all required data as the script parameters and then the new site is installed silently. The parameters can be passed in the interactive mode, too. The provided values are then used as the default values during the interactive session.&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/install.php --lang=cs&lt;br /&gt;
&lt;br /&gt;
== Maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
To switch your site into the maintenance mode via CLI, you can use&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable&lt;br /&gt;
&lt;br /&gt;
To turn maintenance mode off, just execute the same script with --disable parameter.&lt;br /&gt;
&lt;br /&gt;
== Offline mode ==&lt;br /&gt;
&lt;br /&gt;
In some situations, you may want to switch your Moodle site into offline mode so that it is not accessible via the web but you can not stop the web server completely (typically because there are other web pages and applications running there). If a file called &amp;lt;code&amp;gt;climaintenance.html&amp;lt;/code&amp;gt; exists in the root folder of moodledata directory, Moodle will automatically display the contents of that file instead of any other page.&lt;br /&gt;
&lt;br /&gt;
    $ cd /var/www/sites/moodle/moodledata/&lt;br /&gt;
    $ echo &#039;&amp;amp;lt;h1&amp;amp;gt;Sorry, maintenance in progress&amp;amp;lt;/h1&amp;amp;gt;&#039; &amp;amp;gt; climaintenance.html&lt;br /&gt;
&lt;br /&gt;
You can prepare a nice formatted HTML page to inform your users about the server being down and keep in the moodledata directory under a name like &amp;lt;code&amp;gt;climaintenance.off&amp;lt;/code&amp;gt; and rename it to the &amp;lt;code&amp;gt;climaintenance.html&amp;lt;/code&amp;gt; if needed.&lt;br /&gt;
&lt;br /&gt;
== Custom site defaults ==&lt;br /&gt;
&lt;br /&gt;
During the install and upgrade via CLI, Moodle sets the administration variables to the default values. You can use different defaults. See MDL-17850 for details. Shortly, all you need to do is to add a file &amp;lt;code&amp;gt;local/defaults.php&amp;lt;/code&amp;gt; into your Moodle installation. The format of the file is like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$defaults[&#039;pluginname&#039;][&#039;settingname&#039;] = &#039;settingvalue&#039;; // for plugins&lt;br /&gt;
$defaults[&#039;moodle&#039;][&#039;settingname&#039;] = &#039;settingvalue&#039;;     // for core settings&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These defaults are used during install, upgrade and are also displayed as defaults on Site administration pages.&lt;br /&gt;
&lt;br /&gt;
== Reset user password ==&lt;br /&gt;
&lt;br /&gt;
If you happen to forget your admin password (or you want to set a password for any other user on the site), you can use reset_password.php script. The script sets the correctly salted password for the given user.&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/reset_password.php&lt;br /&gt;
&lt;br /&gt;
== MySQL storage engine conversion ==&lt;br /&gt;
&lt;br /&gt;
If you run your Moodle site with MySQL database backend and use the default MyISAM as the storage engine for your tables, you may want to convert them to use some more reliable engine like InnoDB (actually, you should want to switch to PostgreSQL ;-) anyway).&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/mysql_engine.php --engine=InnoDB&lt;br /&gt;
&lt;br /&gt;
==Converting InnoDB tables to Barracuda==&lt;br /&gt;
&lt;br /&gt;
Sites using MySQL with database tables using Antelope as the file format are recommended to convert the tables to the Barracuda file format.&lt;br /&gt;
&lt;br /&gt;
This is because tables using Antelope as the file format cannot handle more than 10 text columns. This file formats only supports &#039;&#039;compact&#039;&#039; and &#039;&#039;redundant&#039;&#039; row formats for backward compatibility reasons. This may cause a problem on larger sites when restoring a course, in which case the following error will be displayed: &lt;br /&gt;
&lt;br /&gt;
 Row size too large (&amp;gt;8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help.&lt;br /&gt;
&lt;br /&gt;
Barracuda is the newest innoDB file format. In addition to supporting &#039;&#039;compact&#039;&#039; and &#039;&#039;redundant&#039;&#039; row formats, Barracuda also supports &#039;&#039;compressed&#039;&#039; and &#039;&#039;dynamic&#039;&#039; row formats. &lt;br /&gt;
&lt;br /&gt;
However, converting tables to Barracuda is only recommended, and not required, since not all MySQL users are affected. (It may only be a problem for larger sites.)&lt;br /&gt;
&lt;br /&gt;
===Tool for converting tables===&lt;br /&gt;
&lt;br /&gt;
A command line tool is included in Moodle for converting tables to Barracuda.&lt;br /&gt;
&lt;br /&gt;
To view tables requiring conversion, use the list option:&lt;br /&gt;
&lt;br /&gt;
 $ php admin/cli/mysql_compressed_rows.php --list&lt;br /&gt;
&lt;br /&gt;
Here is an example output:&lt;br /&gt;
&lt;br /&gt;
 mdl_data                            Compact     (needs fixing) &lt;br /&gt;
 mdl_data_fields                     Compact     (needs fixing)&lt;br /&gt;
 mdl_enrol_paypal                    Compact     (needs fixing)&lt;br /&gt;
&lt;br /&gt;
To proceed with the conversion, run the command using the fix option:&lt;br /&gt;
&lt;br /&gt;
 $ php admin/cli/mysql_compressed_rows.php --fix&lt;br /&gt;
&lt;br /&gt;
Successful table conversion will be reported in the output, for example:&lt;br /&gt;
&lt;br /&gt;
 mdl_data                   ... Compressed&lt;br /&gt;
 mdl_data_fields            ... Compressed&lt;br /&gt;
 mdl_enrol_paypal           ... Compressed&lt;br /&gt;
&lt;br /&gt;
Please note that the commands must be executed on your moodle directory. Once tables are fixed, the warning message will no longer be displayed.&lt;br /&gt;
 &lt;br /&gt;
For further information on InnoDB file formats see the [http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_antelope MySQL InnoDB glossary - Antelope] and the [http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_barracuda MySQL InnoDB glossary - Barracuda].&lt;br /&gt;
&lt;br /&gt;
== Running cron via command line ==&lt;br /&gt;
&lt;br /&gt;
In versions 1.x, you could execute admin/cron.php either from command line or via the web. Since Moodle 2.0, only admin/cli/cron.php script can be run via command line.&lt;br /&gt;
&lt;br /&gt;
== Scheduled tasks ==&lt;br /&gt;
&lt;br /&gt;
Scheduled tasks are automatically run by the cron script, but the specific tasks which run on each cron iteration are determined by the scheduled tasks configuration. It is possible to override the scheduled tasks configuration and run a single scheduled task immediately using the admin/tool/task/cli/schedule_task.php script. &lt;br /&gt;
&lt;br /&gt;
This script accepts the following arguments:&lt;br /&gt;
&lt;br /&gt;
 --list - list all the known scheduled tasks. The tasks are listed by the class name used to run the task. This class name is required as the argument to the next option in order to run a specific task immediately.&lt;br /&gt;
&lt;br /&gt;
 --execute=&amp;lt;task&amp;gt; - Runs a single scheduled task immediately - regardless of scheduling settings. This will even run disabled tasks. Tasks will still use locking to prevent concurrent execution of the same task - even on clusters. The format of the &amp;lt;task&amp;gt; argument must be the same as returned by the --list option above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; You must escape the &amp;quot;\&amp;quot; with an extra \ when using the --execute command. Take the following for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;php schedule_task.php --list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will return something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
== List of scheduled tasks (http://yourserver.com/moodle) ==&lt;br /&gt;
\enrol_imsenterprise\task\cron_task                10 * * * * *      ASAP&lt;br /&gt;
\logstore_legacy\task\cleanup_task                 * 5 * * * *       ASAP&lt;br /&gt;
\logstore_standard\task\cleanup_task               * 4 * * * *       Wednesday, November 12, 2014, 4:35 AM&lt;br /&gt;
\mod_forum\task\cron_task                          * * * * * *       ASAP&lt;br /&gt;
\core\task\automated_backup_task                   50 * * * * *      ASAP&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the first task in that list, you would execute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;php schedule_task.php --execute=\\enrol_imsenterprise\\task\\cron_task&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Database transfer==&lt;br /&gt;
&lt;br /&gt;
A command line script for [[Database transfer]] may be found in &#039;&#039;admin/tool/dbtransfer/cli/migrate.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Purge caches==&lt;br /&gt;
&lt;br /&gt;
You can purge caches using this script:&lt;br /&gt;
&lt;br /&gt;
  php admin/cli/purge_caches.php&lt;br /&gt;
&lt;br /&gt;
==Fix course / module sequences==&lt;br /&gt;
&lt;br /&gt;
In rare cases (such as after upgrading from a very old version of Moodle), the course / section / module sequence data can be out of sync. This can cause various problems for affected courses, such as sections not appearing, backups failing, pages not displaying etc. There is a specific check to check for errors caused by this problem, and to fix the data in the database if they are found. To run this script please use the command below:&lt;br /&gt;
&lt;br /&gt;
  php admin/cli/fix_course_sequence.php -c=* --fix&lt;br /&gt;
&lt;br /&gt;
This will check every course in Moodle and report which ones had errors and were fixed.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* MDL-35736 - Manage plugins via command line&lt;br /&gt;
* MDL-36237 - Resort course list via CLI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:Administration en ligne de commande]]&lt;br /&gt;
[[de:Administration über Kommandozeile]]&lt;br /&gt;
[[ja:コマンドライン経由の管理]]&lt;br /&gt;
[[es:Administración por línea de comando]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Upgrading&amp;diff=115969</id>
		<title>Upgrading</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Upgrading&amp;diff=115969"/>
		<updated>2015-07-01T06:28:31Z</updated>

		<summary type="html">&lt;p&gt;Tsala: /* Possible issues that may affect you in Moodle 2.7 */  MySQL dmlwriteexception error when restoring a course&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 2.7 in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note: You can only upgrade to Moodle 2.7 from Moodle 2.2 or later. If upgrading from earlier versions, you must [https://docs.moodle.org/22/en/Upgrading_to_Moodle_2.2 upgrade to 2.2] as a first step.&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;
===Themes===&lt;br /&gt;
&lt;br /&gt;
All standard themes present in Moodle 2.6 (and earlier), except the Clean theme, have been removed from Moodle 2.7 (see MDL-43784). Custom themes and themes from the Plugins Directory are not affected, unless they use one of the removed themes as a parent theme. If a theme that was in use has been removed, the theme will revert to the new default theme called Clean.&lt;br /&gt;
&lt;br /&gt;
For sites wishing to continue using any of the removed standard themes (or themes relying on a standard theme as a parent theme), other than Clean, we recommend you use the following process.&lt;br /&gt;
&lt;br /&gt;
# Download the 2.7 version of Moodle, but do not run the upgrade yet.&lt;br /&gt;
# Download the 2.7 version of your theme from the [https://moodle.org/plugins/browse.php?list=category&amp;amp;id=3 Themes section of the Moodle plugins directory] (or from the links below) into moodle/theme/.&lt;br /&gt;
# Proceed with the upgrade.&lt;br /&gt;
&lt;br /&gt;
It is possible to copy missing themes into Moodle after the upgrade, but this should happen before users touch the system, otherwise theme-related settings may be lost.&lt;br /&gt;
&lt;br /&gt;
The affected themes (with download links) are...&lt;br /&gt;
&lt;br /&gt;
{|-&lt;br /&gt;
| Afterburner&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_afterburner plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_afterburner github]&lt;br /&gt;
|-&lt;br /&gt;
| Anomaly&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_anomaly plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_anomaly github]&lt;br /&gt;
|-&lt;br /&gt;
| Arialist&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_arialist plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_arialist github]&lt;br /&gt;
|-&lt;br /&gt;
| Binarius&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_binarius plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_binarius github]&lt;br /&gt;
|-&lt;br /&gt;
| Boxxie&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_boxxie plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_boxxie github]&lt;br /&gt;
|-&lt;br /&gt;
| Brick&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_brick plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_brick github]&lt;br /&gt;
|-&lt;br /&gt;
| Formal White&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_formal_white plugins db]&lt;br /&gt;
| [https://github.com/andreabix/moodle-theme_formal_white github]&lt;br /&gt;
|-&lt;br /&gt;
| Form Factor&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_formfactor plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_formfactor github]&lt;br /&gt;
|-&lt;br /&gt;
| Fusion&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_fusion plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_fusion github]&lt;br /&gt;
|-&lt;br /&gt;
| Leatherbound&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_leatherbound plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_leatherbound github]&lt;br /&gt;
|-&lt;br /&gt;
| Magazine&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_magazine plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_magazine github]&lt;br /&gt;
|-&lt;br /&gt;
| Nimble&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_nimble plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_nimble github]&lt;br /&gt;
|-&lt;br /&gt;
| Nonzero&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_nonzero plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_nonzero github]&lt;br /&gt;
|-&lt;br /&gt;
| Overlay&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_overlay plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_overlay github]&lt;br /&gt;
|-&lt;br /&gt;
| Serenity&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_serenity plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_serenity github]&lt;br /&gt;
|-&lt;br /&gt;
| Sky High&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_sky_high plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_sky_high github]&lt;br /&gt;
|-&lt;br /&gt;
| Splash&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_splash plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_splash github]&lt;br /&gt;
|-&lt;br /&gt;
| Standard&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_standard plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_standard github]&lt;br /&gt;
|-&lt;br /&gt;
| Standard old&lt;br /&gt;
| [https://moodle.org/plugins/view.php?plugin=theme_standardold plugins db]&lt;br /&gt;
| [https://github.com/moodlehq/moodle-theme_standardold github]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Only installed additional themes are updated automatically during the upgrade, NOT standard themes. Because standard themes have been removed from Moodle 2.7, they have to be re-added.&lt;br /&gt;
&lt;br /&gt;
===Questions engine upgrade===&lt;br /&gt;
&lt;br /&gt;
In Moodle 2.1, there was a major overhaul of the Question engine. As explained in [https://docs.moodle.org/21/en/Upgrading_to_Moodle_2.1#Planning_the_question_engine_upgrade the upgrade documentation for that version], it was possible to delay parts of the database upgrade to be run later. Before you upgrade to Moodle 2.7, this upgrade must be completed.&lt;br /&gt;
&lt;br /&gt;
This will affect you if...&lt;br /&gt;
* your site started off on a version of Moodle 2.0.x and&lt;br /&gt;
* when you upgraded to Moodle 2.1 or 2.2, you made use of the complex facility to delay part of the question engine upgrade (as explained in [https://docs.moodle.org/21/en/Upgrading_to_Moodle_2.1#Planning_the_question_engine_upgrade the upgrade documentation for that version]) and&lt;br /&gt;
* you still have not completing that upgrade&lt;br /&gt;
...then you must complete it before upgrading to Moodle 2.7.&lt;br /&gt;
&lt;br /&gt;
You can check by looking at the bottom of the [[:en:Environment|Environment]] page in your site, providing you are running a version later than 2.4.9, 2.5.5 or 2.6.2. If you have a problem, it will tell you there. If there is no mention of questions there, you can forget about this.&lt;br /&gt;
&lt;br /&gt;
This is unlikely to affect most users.&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;
==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.&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 2.7 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;
== Install the new Moodle software ==&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 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.&lt;br /&gt;
# Dont forget to also copy over your moodledata folder / directory.  If you don&#039;t you will get a &amp;quot;fatal error $cfg- dataroot is not configured properly&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
 mv moodle moodle.backup&lt;br /&gt;
 tar xvzf moodle-2.7.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;
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;
&lt;br /&gt;
if necessary.&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 2.7 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;
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 2.7 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 2.7 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 adhoc 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 to 2.7, 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 to 2.7.&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 2.7 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 2.7, 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;
===Maths filters===&lt;br /&gt;
&lt;br /&gt;
Moodle 2.7 comes with a new maths filter based on [http://mathjax.org MathJax]. It is an alternative to the existing Tex filter. The MathJax filter is enabled by default for new sites and also  upgrades. You may wish to disable the Tex filter and enable the MathJax filter. In 2.7 sites, if both are enabled the TeX filter wins regardless of filter order because the TeX filter removes all TeX notation before the javascript is executed. This may mask the fact MathJaxloader is enabled on old installations.  In 2.8 both filters may be run together with both being used to display the mathematics. See MDL-44780. There are some compatibility settings and other options that can be changed for the [[MathJax filter]].&lt;br /&gt;
&lt;br /&gt;
==Possible issues that may affect you in Moodle 2.7==&lt;br /&gt;
&lt;br /&gt;
===Custom log-based reports===&lt;br /&gt;
&lt;br /&gt;
Moodle 2.7 has moved to the new Logging API that allows more detailed and more flexible log storage. By default after the upgrade Moodle no longer stores data in table &#039;log&#039;. All standard reports and plugins that used to access this table are converted to support both new API and legacy &#039;log&#039; table. It is understandable that there might be custom 3rd party plugins that can not be changed immediately and either write significant information to the &#039;log&#039; table or require access to it. In this case admin needs to enable writing to the legacy log:&lt;br /&gt;
Site Administration &amp;gt; Plugins &amp;gt; Logging &amp;gt; Legacy log : Select &amp;quot;Log legacy data&amp;quot;. You might also want to disable &amp;quot;Standard log&amp;quot; so your system doesn&#039;t have double logging.&lt;br /&gt;
&lt;br /&gt;
=== MySQL dmlwriteexception error when restoring a course===&lt;br /&gt;
&lt;br /&gt;
If you obtain a  dmlwriteexception error when restoring a course, it is recommended that InnoDB tables are converted to the Barracuda file format. See the section &#039;Converting InnoDB tables to Barracuda&#039; in [[Administration via command line]] for details of why this is recommended plus information on a tool for converting tables.&lt;br /&gt;
&lt;br /&gt;
=== Moodle 2.3, 2.4, 2.5 and 2.6 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/23/en/Upgrading Upgrading to Moodle 2.3]&lt;br /&gt;
* [https://docs.moodle.org/24/en/Upgrading Upgrading to Moodle 2.4]&lt;br /&gt;
* [https://docs.moodle.org/25/en/Upgrading Upgrading to Moodle 2.5]&lt;br /&gt;
* [https://docs.moodle.org/26/en/Upgrading Upgrading to Moodle 2.6]&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 problems forum] &lt;br /&gt;
* [[dev:Moodle 2.7 release notes|Moodle 2.7 release notes]]&lt;br /&gt;
* [[dev:Upgrade API|Upgrade API]]&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>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=admin/environment/custom_check/unsupported_db_table_row_format&amp;diff=115968</id>
		<title>admin/environment/custom check/unsupported db table row format</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=admin/environment/custom_check/unsupported_db_table_row_format&amp;diff=115968"/>
		<updated>2015-07-01T06:27:08Z</updated>

		<summary type="html">&lt;p&gt;Tsala: copying updates from 28 docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Environment}}&lt;br /&gt;
Sites using MySQL with database tables using Antelope as the file format are recommended to convert the tables to the Barracuda file format. See the section &#039;Converting InnoDB tables to Barracuda&#039; in [[Administration via command line]] for details of why this is recommended plus information on a tool for converting tables.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
Forum discussions:&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=312863 Converting InnoDB tables to Barracuda]&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=312955 Error Converting InnoDB tables to Barracuda - Moodle 2.8.5 - 2.8.5+ (Build: 20150501)]&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=315719 Antelope to barracuda on WIndows]&lt;br /&gt;
&lt;br /&gt;
[[Category:Environment|Database]]&lt;br /&gt;
&lt;br /&gt;
[[es:admin/environment/custom check/unsupported db table row format]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=admin/environment/custom_check/unsupported_db_storage_engine&amp;diff=115966</id>
		<title>admin/environment/custom check/unsupported db storage engine</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=admin/environment/custom_check/unsupported_db_storage_engine&amp;diff=115966"/>
		<updated>2015-06-26T10:44:33Z</updated>

		<summary type="html">&lt;p&gt;Tsala: redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Migration from MyISAM to InnoDB]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=admin/environment/custom_check/unsupported_db_table_row_format&amp;diff=115965</id>
		<title>admin/environment/custom check/unsupported db table row format</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=admin/environment/custom_check/unsupported_db_table_row_format&amp;diff=115965"/>
		<updated>2015-06-26T07:47:50Z</updated>

		<summary type="html">&lt;p&gt;Tsala: removing redirect for additional info to be added before directing people to Administration via command line&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Environment}}&lt;br /&gt;
If your database has tables using Antelope as the file format, you are recommended to convert the tables to the Barracuda file format using a special tool as described in [[Administration via command line]].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
Forum discussions:&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=312863 Converting InnoDB tables to Barracuda]&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=312955 Error Converting InnoDB tables to Barracuda - Moodle 2.8.5 - 2.8.5+ (Build: 20150501)]&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=315719 Antelope to barracuda on WIndows]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Environment|Database]]&lt;br /&gt;
&lt;br /&gt;
[[es:admin/environment/custom check/unsupported db table row format]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=admin/environment/database/mysql&amp;diff=115964</id>
		<title>admin/environment/database/mysql</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=admin/environment/database/mysql&amp;diff=115964"/>
		<updated>2015-06-26T07:35:18Z</updated>

		<summary type="html">&lt;p&gt;Tsala: removing out-of-date info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Environment}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Environment|Database]]&lt;br /&gt;
&lt;br /&gt;
[[fr:admin/environment/database/mysql]]&lt;br /&gt;
[[es:admin/environment/database/mysql]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Using_Database&amp;diff=115956</id>
		<title>Using Database</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Using_Database&amp;diff=115956"/>
		<updated>2015-06-16T15:14:19Z</updated>

		<summary type="html">&lt;p&gt;Tsala: Enabling an RSS feed of recently added entries&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Database}}&lt;br /&gt;
==Views==&lt;br /&gt;
&lt;br /&gt;
===View list===&lt;br /&gt;
&lt;br /&gt;
The list view shows multiple entries, possibly in a more abbreviated form to ensure all the information fits. You may use the controls at the bottom of the screen to search and sort the contents.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;View single&#039;&#039;: one item at a time&lt;br /&gt;
* &#039;&#039;View list&#039;&#039; : several items at a time (number is user defined)&lt;br /&gt;
* &#039;&#039;Add entry&#039;&#039; : add an item to the database&lt;br /&gt;
* &#039;&#039;Search&#039;&#039;    : search the entries &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:26databaseview.png]]&lt;br /&gt;
&lt;br /&gt;
=== View single ===&lt;br /&gt;
&lt;br /&gt;
Alternatively, you may view only one entry at a time. This might allow you to view more detailed information than the list view.&lt;br /&gt;
&lt;br /&gt;
=== Add comment ===&lt;br /&gt;
&lt;br /&gt;
If comments have been enabled, you may add a comment.&lt;br /&gt;
&lt;br /&gt;
=== Rate entries ===&lt;br /&gt;
&lt;br /&gt;
If ratings have been enabled, and made viewable, by the database editor, you may [[Grades|grade]] other database entries, and view these ratings.&lt;br /&gt;
&lt;br /&gt;
==Adding an entry==&lt;br /&gt;
&lt;br /&gt;
Go to the &amp;quot;Add entry&amp;quot; tab and fill in the form.&lt;br /&gt;
===Deleting multiple entries===&lt;br /&gt;
&lt;br /&gt;
In List view, a checkbox will appear next to each entry. Select the entries you wish to delete and click the &#039;Delete selected&#039; button. Alternatively, click the &#039;Select all&#039; and the &#039;Delete all&#039; buttons to delete all entries. A warning message will appear asking you to verify what you wish to delete.&lt;br /&gt;
&lt;br /&gt;
==Automatically linking database entries==&lt;br /&gt;
&lt;br /&gt;
If the [[Database auto-linking filter]] is enabled, any entries in a database will be automatically linked to where the concept words and/or phrases appear within the same course. This includes forum postings, internal resources, week summaries etc.&lt;br /&gt;
&lt;br /&gt;
Note: If you do not want particular text to be linked (in a forum posting, say) then you should add &amp;lt;nolink&amp;gt; and &amp;lt;/nolink&amp;gt; tags around the text. Alternatively the filter can be disabled for a particular activity.&lt;br /&gt;
==Approving and undoing approval of entries==&lt;br /&gt;
&lt;br /&gt;
If, during database set up, &#039;Approval required&#039; was set to &#039;Yes&#039; then a teacher can approve an entry by clicking on the tick/checkmark icon.&lt;br /&gt;
&lt;br /&gt;
Once an entry has been approved, it is possible to undo the approval by clicking the circle with a line through it icon. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:26databaseapprove.png|thumb|Entry approved]]&lt;br /&gt;
|[[File:26databaseunapprove.png|thumb|Approval undone]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Importing many entries==&lt;br /&gt;
You can import entries via a CSV file if you click the &amp;quot;Import entries&amp;quot; link under &#039;Database activity administration&#039; in the Administration block of your course. CSV means Comma-Separated-Values and is a common format for text interchange.&lt;br /&gt;
&lt;br /&gt;
[[image:Databaseupload.png]]&lt;br /&gt;
&lt;br /&gt;
The easiest way to determine the format of the text file is to manually add an entry to the database and then export it. The resulting export text file may then be edited and used for importing entries. Here&#039;s a sample of what a very simple file will look like.&lt;br /&gt;
&lt;br /&gt;
[[Image:Upload_csv_sample.png]]&lt;br /&gt;
&lt;br /&gt;
The expected file format is a plain text file with a list of field names as the first record. The data then follows, one record per line.&lt;br /&gt;
&lt;br /&gt;
The field delimiter defaults to a comma character and the field enclosure is not set by default (field enclosures are characters that surround each field in each record).&lt;br /&gt;
&lt;br /&gt;
Records should be delimited by new lines (usually generated by pressing RETURN or ENTER in your text editor). Tabs can be specified using \t and newlines by \n.&lt;br /&gt;
&lt;br /&gt;
Sample file:&lt;br /&gt;
&lt;br /&gt;
  name,height,weight&lt;br /&gt;
  Kai,180cm,80kg&lt;br /&gt;
  Kim,170cm,60kg&lt;br /&gt;
  Koo,190cm,20kg&lt;br /&gt;
&lt;br /&gt;
Note: Certain field types may not be supported.&lt;br /&gt;
&lt;br /&gt;
Do not put spaces after your commas or upload will fail!&lt;br /&gt;
&lt;br /&gt;
After upload page import.php comes back blank if it failed. &lt;br /&gt;
If successful you&#039;ll read a message like, &amp;quot;1 entries saved&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Exporting entries==&lt;br /&gt;
&lt;br /&gt;
You can export entries either in CSV (comma separated values) or ODS (OpenOffice Calc) formats by clicking the tab at the top or by clicking the &amp;quot;Export entries&amp;quot; link under &#039;Database activity administration&#039; in the Administration block in your course. (Both CSV and ODS formats can be opened with MS Excel.)&lt;br /&gt;
&lt;br /&gt;
[[File:Databasexport.png]]&lt;br /&gt;
&lt;br /&gt;
When using the CSV format, the user can select either the comma, semicolon, or tab to separate the fields. The selection of the proper character is important. If users select to use a comma to separate the fields and some of the fields contain data with commas then the number of columns is going to be misaligned and likely cause confusion.&lt;br /&gt;
&lt;br /&gt;
Users can select which fields from the database they wish to have exported. By default, all fields are checked to be included. Choose the fields that you wish to have included in the export.&lt;br /&gt;
&lt;br /&gt;
Once the export type and the fields to be exported have been selected, clicking on the Export entries pushbutton will generate the file. The user will usually have the option of either opening or saving the file.&lt;br /&gt;
&lt;br /&gt;
For information on converting the date export (and import) format, see the discussion [https://moodle.org/mod/forum/discuss.php?d=220505 Standard Database Module - Dates].&lt;br /&gt;
&lt;br /&gt;
==Exporting to an external portfolio==&lt;br /&gt;
&lt;br /&gt;
If an external [[Portfolios|portfolio]] such as [[Mahara_portfolio|Mahara]] has been enabled by the administrator then users have the option to export individual entries to that portfolio. They will see at the bottom of a database entry an &amp;quot;export&amp;quot; icon to click on and select the portfolio to export to:&lt;br /&gt;
&lt;br /&gt;
[[File:Exportdatabasentry.png]]&lt;br /&gt;
&lt;br /&gt;
==Enabling an RSS feed of recently added entries==&lt;br /&gt;
&lt;br /&gt;
To enable an RSS feed from a database activity, an administrator must first enable RSS feeds for database activities across the whole site as described in [[RSS feeds settings]]. A section called &#039;RSS&#039; will then appear on the edit settings page of the database activity. &lt;br /&gt;
&lt;br /&gt;
# Edit the database activity settings and set the number of entries in the RSS feed e.g. 5.&lt;br /&gt;
# Check that the RSS template includes the required fields.&lt;br /&gt;
# Log out and then access the database activity as a guest.&lt;br /&gt;
# Copy the &#039;RSS feed for this activity&#039; link in the administration block.&lt;br /&gt;
&lt;br /&gt;
The RSS feed may then be displayed in an [[Remote RSS feeds block]] or elsewhere.&lt;br /&gt;
&lt;br /&gt;
== Example databases ==&lt;br /&gt;
&lt;br /&gt;
Moodle.org has two good examples of the database module in action:&lt;br /&gt;
&lt;br /&gt;
* [http://moodle.org/mod/data/view.php?id=6140 Moodle Buzz], a database of the titles, authors and web links to news articles mentioning Moodle&lt;br /&gt;
* [http://moodle.org/mod/data/view.php?d=26 Themes], a database with screenshots, download links and user comments about Moodle [[Themes|themes]]&lt;br /&gt;
&lt;br /&gt;
== Creative uses ==&lt;br /&gt;
&lt;br /&gt;
You could use the database module to:&lt;br /&gt;
&lt;br /&gt;
* allow collaboration on building a collection of web links/books/journal references related to a particular subject&lt;br /&gt;
* display student created photos/posters/websites/poems for peer comment and review&lt;br /&gt;
* gather comments and votes on a shortlist of potential logos/mascot names/project ideas&lt;br /&gt;
* provide a [http://moodle.org/mod/forum/discuss.php?d=52699 student file storage area]&lt;br /&gt;
* maintain a log of what was done in a face-to-face class each day, so that absent students can get caught up themselves.  [http://moodle.org/mod/forum/discuss.php?d=115047 Example]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[http://school.demo.moodle.net/course/view.php?id=57&amp;amp;section=3 Examples of databases in the School demo site] (available for download)&lt;br /&gt;
* [[Dataform module]], which is a major enhancement of the Database module with improved browsing, editing, searching and other features.&lt;br /&gt;
* [[Glossary module]], which performs a similar though more specialised, text-based role&lt;br /&gt;
* [[Using Moodle book]] Chapter 12: Databases&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=3505 Database activity module forum]&lt;br /&gt;
* [http://moodle.org/mod/data/view.php?rid=2424 Tracking Students&#039; Reading with the Moodle Database Module] presentation&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=72260 Database Module: Each learner Private DB?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=84487 Database for Dummies please!]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=89117 Restricting access to database content by user?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=139137 How to use the database activity module?]&lt;br /&gt;
&lt;br /&gt;
[[de:Datenbank nutzen]]&lt;br /&gt;
[[es:Usando BasedeDatos]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Capabilities/webservice/xmlrpc:use&amp;diff=115953</id>
		<title>Capabilities/webservice/xmlrpc:use</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Capabilities/webservice/xmlrpc:use&amp;diff=115953"/>
		<updated>2015-06-10T09:16:06Z</updated>

		<summary type="html">&lt;p&gt;Tsala: link update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Capabilities}}&lt;br /&gt;
*This allows a user to use the XML-RPC protocol for [[Web services]].&lt;br /&gt;
*This capability is not set for any of the default roles.&lt;br /&gt;
&lt;br /&gt;
On moodle.org this capability is allowed for the default role of authenticated user to enable people using the [[Moodle Mobile]] app to access the site.&lt;br /&gt;
&lt;br /&gt;
[[Category:Capabilities|Webservice]]&lt;br /&gt;
[[Category:Web Services]]&lt;br /&gt;
&lt;br /&gt;
[[eu:Capabilities/webservice/xmlrpc:use]]&lt;br /&gt;
[[es:Capabilities/webservice/xmlrpc:use]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=MediaWiki:Sitenotice&amp;diff=115935</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=MediaWiki:Sitenotice&amp;diff=115935"/>
		<updated>2015-05-11T13:16:12Z</updated>

		<summary type="html">&lt;p&gt;Tsala: note and link to up-to-date docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;Note: You are currently viewing documentation for Moodle 2.7. Up-to-date documentation for the latest stable version of Moodle may be available here: &#039;&#039;&#039;[[:en:{{NAMESPACE}}:{{PAGENAME}}|{{PAGENAME}}]].&#039;&#039;&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=115934</id>
		<title>MediaWiki:MoodleDocsVersionLinks</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=MediaWiki:MoodleDocsVersionLinks&amp;diff=115934"/>
		<updated>2015-05-11T06:18:36Z</updated>

		<summary type="html">&lt;p&gt;Tsala: 2.9 link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2.7 docs: /27/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.9 docs: /29/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.8 docs: /28/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.6 docs: /26/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.5 docs: /25/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.4 docs: /24/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.3 docs: /23/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.2 docs: /22/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.1 docs: /21/en/{{FULLPAGENAMEE}}&lt;br /&gt;
2.0 docs: /20/en/{{FULLPAGENAMEE}}&lt;br /&gt;
1.9 docs: /19/en/{{FULLPAGENAMEE}}&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=admin/environment/custom_check/unsupported_db_table_row_format&amp;diff=115919</id>
		<title>admin/environment/custom check/unsupported db table row format</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=admin/environment/custom_check/unsupported_db_table_row_format&amp;diff=115919"/>
		<updated>2015-04-27T07:31:15Z</updated>

		<summary type="html">&lt;p&gt;Tsala: redirect copied from 28 docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Administration via command line#Converting_InnoDB_tables_to_Barracuda]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Administration_via_command_line&amp;diff=115918</id>
		<title>Administration via command line</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Administration_via_command_line&amp;diff=115918"/>
		<updated>2015-04-27T07:29:57Z</updated>

		<summary type="html">&lt;p&gt;Tsala: copying text from 2.8 wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
==Running CLI scripts==&lt;br /&gt;
If you have shell access to your web server, you may find various CLI (command line interface) scripts useful during Moodle administration. Core admin CLI tools are located in the &amp;lt;code&amp;gt;admin/cli/*&amp;lt;/code&amp;gt; folder. Other plugins provide their CLI functionality via scripts in their own cli folder. For example, the enrol_db sync script is located in &amp;lt;code&amp;gt;enrol/db/cli/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To avoid problems with access control, you should run them as the owner of the web server process. It is especially important for CLI installation and upgrade as they create new files in moodledata directory and the web server has to have write access to them. In Linux distributions, the user that runs the web server is usually apache or wwrun or httpd or something similar. As a root, you will probably want to execute Moodle CLI scripts like this:&lt;br /&gt;
&lt;br /&gt;
    $ cd /path/to/your/moodle/dir&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/somescript.php --params&lt;br /&gt;
&lt;br /&gt;
Most of the scripts accept common --help (or -h) parameter to display the full usage information, for example:&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/install.php --help&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
Moodle can be upgraded from the command line. As with the installation script, there is either interactive or non-interactive mode of the upgrade. The script itself does not put the site into the maintenance mode, you have to do it on your own. Also, the script does not backup any data (if you read this page, you probably have some own scripts to backup your moodledata and the database, right?)&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/upgrade.php&lt;br /&gt;
&lt;br /&gt;
Upgrading via command line is a very comfortable way of Moodle upgrade if you use Git checkout of the Moodle source code (see [[Git for Administrators]]). See the following procedure how to upgrade your site within several seconds to the most recent version while preserving your eventual local customizations tracked in git repository:&lt;br /&gt;
&lt;br /&gt;
    $ cd /var/www/sites/moodle/htdocs/&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable&lt;br /&gt;
    $ git pull&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/upgrade.php&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
There are two modes of installing Moodle from the command line. In interactive mode, the install script asks you for all data needed to properly set up new Moodle site. In non-interactive mode, you must provide all required data as the script parameters and then the new site is installed silently. The parameters can be passed in the interactive mode, too. The provided values are then used as the default values during the interactive session.&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/install.php --lang=cs&lt;br /&gt;
&lt;br /&gt;
== Maintenance mode ==&lt;br /&gt;
&lt;br /&gt;
To switch your site into the maintenance mode via CLI, you can use&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable&lt;br /&gt;
&lt;br /&gt;
To turn maintenance mode off, just execute the same script with --disable parameter.&lt;br /&gt;
&lt;br /&gt;
== Offline mode ==&lt;br /&gt;
&lt;br /&gt;
In some situations, you may want to switch your Moodle site into offline mode so that it is not accessible via the web but you can not stop the web server completely (typically because there are other web pages and applications running there). If a file called &amp;lt;code&amp;gt;climaintenance.html&amp;lt;/code&amp;gt; exists in the root folder of moodledata directory, Moodle will automatically display the contents of that file instead of any other page.&lt;br /&gt;
&lt;br /&gt;
    $ cd /var/www/sites/moodle/moodledata/&lt;br /&gt;
    $ echo &#039;&amp;amp;lt;h1&amp;amp;gt;Sorry, maintenance in progress&amp;amp;lt;/h1&amp;amp;gt;&#039; &amp;amp;gt; climaintenance.html&lt;br /&gt;
&lt;br /&gt;
You can prepare a nice formatted HTML page to inform your users about the server being down and keep in the moodledata directory under a name like &amp;lt;code&amp;gt;climaintenance.off&amp;lt;/code&amp;gt; and rename it to the &amp;lt;code&amp;gt;climaintenance.html&amp;lt;/code&amp;gt; if needed.&lt;br /&gt;
&lt;br /&gt;
== Custom site defaults ==&lt;br /&gt;
&lt;br /&gt;
During the install and upgrade via CLI, Moodle sets the administration variables to the default values. You can use different defaults. See MDL-17850 for details. Shortly, all you need to do is to add a file &amp;lt;code&amp;gt;local/defaults.php&amp;lt;/code&amp;gt; into your Moodle installation. The format of the file is like&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$defaults[&#039;pluginname&#039;][&#039;settingname&#039;] = &#039;settingvalue&#039;; // for plugins&lt;br /&gt;
$defaults[&#039;moodle&#039;][&#039;settingname&#039;] = &#039;settingvalue&#039;;     // for core settings&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These defaults are used during install, upgrade and are also displayed as defaults on Site administration pages.&lt;br /&gt;
&lt;br /&gt;
== Reset user password ==&lt;br /&gt;
&lt;br /&gt;
If you happen to forget your admin password (or you want to set a password for any other user on the site), you can use reset_password.php script. The script sets the correctly salted password for the given user.&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/reset_password.php&lt;br /&gt;
&lt;br /&gt;
== MySQL storage engine conversion ==&lt;br /&gt;
&lt;br /&gt;
If you run your Moodle site with MySQL database backend and use the default MyISAM as the storage engine for your tables, you may want to convert them to use some more reliable engine like InnoDB (actually, you should want to switch to PostgreSQL ;-) anyway).&lt;br /&gt;
&lt;br /&gt;
    $ sudo -u apache /usr/bin/php admin/cli/mysql_engine.php --engine=InnoDB&lt;br /&gt;
&lt;br /&gt;
==Converting InnoDB tables to Barracuda==&lt;br /&gt;
&lt;br /&gt;
Some users are getting the following MySQL error during course restore:&lt;br /&gt;
&lt;br /&gt;
  Row size too large (&amp;gt;8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help.&lt;br /&gt;
&lt;br /&gt;
The error is due to the fact that the MySQL default InnoDB file format (Antelope) cannot handle more than 10 text columns. Thus you are recommended to change the InnoDB file format to Barracuda using the following command:&lt;br /&gt;
&lt;br /&gt;
  php admin/cli/mysql_compressed_rows.php&lt;br /&gt;
&lt;br /&gt;
For further information on InnoDB file formats see:&lt;br /&gt;
&lt;br /&gt;
* http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_antelope&lt;br /&gt;
* http://dev.mysql.com/doc/innodb/1.1/en/glossary.html#glos_barracuda&lt;br /&gt;
&lt;br /&gt;
== Running cron via command line ==&lt;br /&gt;
&lt;br /&gt;
In versions 1.x, you could execute admin/cron.php either from command line or via the web. Since Moodle 2.0, only admin/cli/cron.php script can be run via command line.&lt;br /&gt;
&lt;br /&gt;
== Scheduled tasks ==&lt;br /&gt;
&lt;br /&gt;
Scheduled tasks are automatically run by the cron script, but the specific tasks which run on each cron iteration are determined by the scheduled tasks configuration. It is possible to override the scheduled tasks configuration and run a single scheduled task immediately using the admin/tool/task/cli/schedule_task.php script. &lt;br /&gt;
&lt;br /&gt;
This script accepts the following arguments:&lt;br /&gt;
&lt;br /&gt;
 --list - list all the known scheduled tasks. The tasks are listed by the class name used to run the task. This class name is required as the argument to the next option in order to run a specific task immediately.&lt;br /&gt;
&lt;br /&gt;
 --execute=&amp;lt;task&amp;gt; - Runs a single scheduled task immediately - regardless of scheduling settings. This will even run disabled tasks. Tasks will still use locking to prevent concurrent execution of the same task - even on clusters. The format of the &amp;lt;task&amp;gt; argument must be the same as returned by the --list option above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; You must escape the &amp;quot;\&amp;quot; with an extra \ when using the --execute command. Take the following for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;php schedule_task.php --list&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will return something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
== List of scheduled tasks (http://yourserver.com/moodle) ==&lt;br /&gt;
\enrol_imsenterprise\task\cron_task                10 * * * * *      ASAP&lt;br /&gt;
\logstore_legacy\task\cleanup_task                 * 5 * * * *       ASAP&lt;br /&gt;
\logstore_standard\task\cleanup_task               * 4 * * * *       Wednesday, November 12, 2014, 4:35 AM&lt;br /&gt;
\mod_forum\task\cron_task                          * * * * * *       ASAP&lt;br /&gt;
\core\task\automated_backup_task                   50 * * * * *      ASAP&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To run the first task in that list, you would execute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;php schedule_task.php --execute=\\enrol_imsenterprise\\task\\cron_task&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Database transfer==&lt;br /&gt;
&lt;br /&gt;
A command line script for [[Database transfer]] may be found in &#039;&#039;admin/tool/dbtransfer/cli/migrate.php&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Purge caches==&lt;br /&gt;
&lt;br /&gt;
You can purge caches using this script:&lt;br /&gt;
&lt;br /&gt;
  php admin/cli/purge_caches.php&lt;br /&gt;
&lt;br /&gt;
==Fix course / module sequences==&lt;br /&gt;
&lt;br /&gt;
In rare cases (such as after upgrading from a very old version of Moodle), the course / section / module sequence data can be out of sync. This can cause various problems for affected courses, such as sections not appearing, backups failing, pages not displaying etc. There is a specific check to check for errors caused by this problem, and to fix the data in the database if they are found. To run this script please use the command below:&lt;br /&gt;
&lt;br /&gt;
  php admin/cli/fix_course_sequence.php -c=* --fix&lt;br /&gt;
&lt;br /&gt;
This will check every course in Moodle and report which ones had errors and were fixed.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* MDL-35736 - Manage plugins via command line&lt;br /&gt;
* MDL-36237 - Resort course list via CLI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[fr:Administration en ligne de commande]]&lt;br /&gt;
[[de:Administration über Kommandozeile]]&lt;br /&gt;
[[ja:コマンドライン経由の管理]]&lt;br /&gt;
[[es:Administración por línea de comando]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Capabilities/mod/wiki:overridelock&amp;diff=115886</id>
		<title>Capabilities/mod/wiki:overridelock</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Capabilities/mod/wiki:overridelock&amp;diff=115886"/>
		<updated>2015-04-03T07:00:32Z</updated>

		<summary type="html">&lt;p&gt;Tsala: capabilities template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Capabilities}}&lt;br /&gt;
*This allows a user to override locked [[Wiki module|wiki pages]] &lt;br /&gt;
*This capability is allowed for the default roles of manager, teacher and non-editing teacher&lt;br /&gt;
&lt;br /&gt;
[[Category:Capabilities|Wiki]]&lt;br /&gt;
[[Category:Wiki]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Capabilities/mod/wiki:overridelock]]&lt;br /&gt;
[[ja:ケイパビリティ/mod/wiki:overridelock]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/27/en/index.php?title=Capabilities/mod/wiki:managewiki&amp;diff=115885</id>
		<title>Capabilities/mod/wiki:managewiki</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/27/en/index.php?title=Capabilities/mod/wiki:managewiki&amp;diff=115885"/>
		<updated>2015-04-03T06:57:57Z</updated>

		<summary type="html">&lt;p&gt;Tsala: capabilities template, categories&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Capabilities}}&lt;br /&gt;
*This allows a user to edit [[Wiki module|wiki]] settings&lt;br /&gt;
*This capability is allowed for the default roles of manager, teacher and non-editing teacher&lt;br /&gt;
&lt;br /&gt;
[[Category:Capabilities|Wiki]]&lt;br /&gt;
[[Category:Wiki]]&lt;br /&gt;
&lt;br /&gt;
[[es:Capabilities/mod/wiki:managewiki]]&lt;/div&gt;</summary>
		<author><name>Tsala</name></author>
	</entry>
</feed>