<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/310/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Poltawski</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/310/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Poltawski"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/Special:Contributions/Poltawski"/>
	<updated>2026-04-13T09:27:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Transitioning_to_HTTPS&amp;diff=127405</id>
		<title>Transitioning to HTTPS</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Transitioning_to_HTTPS&amp;diff=127405"/>
		<updated>2017-04-17T15:04:40Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Adding a highly useful https &amp;#039;why&amp;#039; article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}}&lt;br /&gt;
There are [https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https numerous benefits] to running your moodle site using HTTPS. This increases the level of security especially involving sessions and passwords.&lt;br /&gt;
&lt;br /&gt;
== Steps ==&lt;br /&gt;
=== Before you start ===&lt;br /&gt;
Check all the content you use supports https. You will not be able to embed HTTP content over HTTPS. If some content is only available over HTTP, you can convert it from a direct embedding to a link.&lt;br /&gt;
&lt;br /&gt;
Make sure you have a staging environment. You will want to set up HTTPS the first time on a staging environment rather than updating your live site. It will take some time to convert to https and you will need to update content (see below).&lt;br /&gt;
&lt;br /&gt;
=== Setting up an SSL certificate ===&lt;br /&gt;
The first thing you will need to do is acquire an SSL certificate. You can create these yourself, but this is only helpful for development purposes. Instead you will want to get your SSL certificate from a certificate authority, so that the certificate will be publicly verified.&lt;br /&gt;
&lt;br /&gt;
The cost of certificates has been somewhat prohibitive, they come at various costs from a few dollars to hundreds of dollars per year. For the budget constrained, the &amp;quot;price is right&amp;quot; with a new initiative brought to us by the Internet Security Research Group (ISRG). Free domain-validated certificates can be acquired from [https://letsencrypt.org Let&#039;s Encrypt]. Let&#039;s Encrypt also tries to make the process of installing and managing certificates as painless as possible and there are numerous methods and clients available.&lt;br /&gt;
&lt;br /&gt;
=== Setting up your server ===&lt;br /&gt;
Then you will need enable SSL on your web server to add your certificate. This process will vary depending on your web server of choice.&lt;br /&gt;
&lt;br /&gt;
If you are using a proxy or load balancer, depending on your setup you will most likely want to set up the SSL certificate on your proxy server&lt;br /&gt;
&lt;br /&gt;
=== Setting up your moodle ===&lt;br /&gt;
&lt;br /&gt;
On a basic moodle site, it will be simple to set up https. Simply edit config.php and change http:// to https:// in $CFG-&amp;gt;wwwroot.&lt;br /&gt;
&lt;br /&gt;
However if you are using a proxy or load balancer, depending on your setup you may need to set $CFG-&amp;gt;sslproxy to 1, and not use SSL on the moodle server. Then the load balancer or proxy server can communicate directly to your moodle site, but serve to the clients over SSL.&lt;br /&gt;
&lt;br /&gt;
=== Redirecting the HTTP address to the new HTTPS address ===&lt;br /&gt;
&lt;br /&gt;
You may want to add a redirection so that users who have the current http:// address to your site will be redirected automatically to the https:// address  instead of getting a page with a message such as &amp;quot;For security reasons only https connections are allowed, sorry.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
There are several ways to do redirections, depending on your web server, hosting, and how you prefer to do this. A common solution on Apache web servers is to create an .htaccess file with a rewrite rule such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
RewriteRule ^(.*)$ https://www.yourmoodle.com/$1 [R,L]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or in general&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteCond %{SERVER_PORT} 80&lt;br /&gt;
RewriteRule ^(.*)$ {SERVER_NAME}/$1 [R,L]&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be sure to look up current ways to do this for your web server and host. One clear explanation for this is [https://www.ssl.com/how-to/force-https-connections-in-an-apache-server-environment/ here].&lt;br /&gt;
&lt;br /&gt;
=== Updating content ===&lt;br /&gt;
You will need to change all embeded content from being requested over http. Links do not matter. But you will need to update images and iframes, scorm modules, and LTI external tools. You can modify external tools to open in a new window instead of in an iframe and they will work fine.&lt;br /&gt;
&lt;br /&gt;
There is plans to work on a new tool to aid in this process. See MDL-46269 on the tracker.&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
[https://developers.google.com/web/fundamentals/security/encrypt-in-transit/why-https Why HTTPS Matters - Google Web Fundamentals]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=126214</id>
		<title>Upgrading</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=126214"/>
		<updated>2016-12-02T12:00:13Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: MDL-48766 Geoip lookups using new maxmind database&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}	&lt;br /&gt;
&#039;&#039;This page explains in detail how to upgrade Moodle. For a summary of the process, see [[Upgrade overview]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Check the requirements==&lt;br /&gt;
&lt;br /&gt;
Check that your server meets all requirements for {{Version}} in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Moodle 3.2 has raised the minimum required PHP version to 5.6.5.&lt;br /&gt;
&lt;br /&gt;
Note: You can only upgrade to Moodle {{Version}} from Moodle 2.7 or later. If upgrading from earlier versions, you must [https://docs.moodle.org/27/en/Upgrading_to_Moodle_2.7 upgrade to 2.7] 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;
Consider setting the [[Upgrade key|upgrade key]] for your site.&lt;br /&gt;
&lt;br /&gt;
== Backup important data ==&lt;br /&gt;
&lt;br /&gt;
There are three areas that should be backed up before any upgrade:&lt;br /&gt;
#Moodle software (For example, everything in server/htdocs/moodle)&lt;br /&gt;
#Moodle uploaded files (For example, server/moodledata)&lt;br /&gt;
#Moodle database (For example, your Postgres or MySQL database dump)&lt;br /&gt;
&lt;br /&gt;
See [[Site backup]] for more specific information.&lt;br /&gt;
&lt;br /&gt;
== Check for plugin updates ==&lt;br /&gt;
&lt;br /&gt;
If you have [[Automatic updates deployment]] enabled, you will be able to update installed plugins automatically during the upgrade. Just make sure you check for available updates (via the button for it) at the Plugins check screen.&lt;br /&gt;
&lt;br /&gt;
If you are updating plugins manually, it is a good moment now to check in the [http://moodle.org/plugins Moodle Plugins directory] whether there is a {{Version}} version available for any plugins (including themes) that you have previously installed on your site. If so, download the plugin package. In the next step, you will copy it to the appropriate location in your Moodle code (see [[Installing plugins]]).&lt;br /&gt;
&lt;br /&gt;
The upgrade of the plugin will then happen as part of the Moodle upgrade process.&lt;br /&gt;
&lt;br /&gt;
If an out-of-date plugin causes your upgrade to fail, you can usually delete the plugin code rather than uninstalling it from within Moodle so that the data associated with it is not deleted.&lt;br /&gt;
&lt;br /&gt;
==Put your site into maintenance mode==&lt;br /&gt;
Before you begin upgrading your site, you should put it into [[Maintenance_mode | maintenance mode]] to stop any non-admin users from logging in. Then you should wait for any currently running cron processes to complete before proceeding.&lt;br /&gt;
&lt;br /&gt;
== Install the new Moodle software ==&lt;br /&gt;
You can fetch the current version of the software through &lt;br /&gt;
&lt;br /&gt;
wget http://sourceforge.net/projects/moodle/files/Moodle/stable{{Version2}}/moodle-latest-{{Version2}}.tgz&lt;br /&gt;
&lt;br /&gt;
=== Standard install package ===&lt;br /&gt;
&lt;br /&gt;
# Move your old Moodle software program files to another location. &#039;&#039;Do NOT copy new files over the old files.&#039;&#039;&lt;br /&gt;
# Unzip or unpack the upgrade file so that all the new Moodle software program files are in the location the old files used to be in on the server. Moodle will adjust SQL and moodledata if it needs to in the upgrade.&lt;br /&gt;
# Copy your old [[Configuration file|config.php file]] back to the new Moodle directory. &lt;br /&gt;
# As mentioned above, if you had installed any plugins on your site you should add them to the new code tree (Moodle directory structure) now. It is important to check that you get the correct version for your new version of Moodle. Be particularly careful that you do not overwrite any code in the new version of Moodle and that you place the plugin folders in the correct directory (the same directory that they are in in the current installation.)&lt;br /&gt;
# Your moodledata folder should be located separately to your Moodle code folder and, as such, should not need anything done to it.  Moodle 3.0 will throw a warning if it is located in a web accessible folder and the moodledata should never be located in the Moodle code folder.  If you are moving your installation to a new server or new location on your server, then you will need to follow the Migration documents.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
 mv moodle moodle.backup&lt;br /&gt;
 tar xvzf moodle-{{Version}}.tgz&lt;br /&gt;
&lt;br /&gt;
Next, copy across your config.php, any custom plugins, and your .htaccess file if you created one (&#039;&#039;&#039;check that custom plugins are the correct version for your new Moodle first&#039;&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
 cp moodle.backup/config.php moodle&lt;br /&gt;
 cp -pr moodle.backup/theme/mytheme moodle/theme/mytheme&lt;br /&gt;
 cp -pr moodle.backup/mod/mymod moodle/mod/mymod&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to make moodle/config.php (and the rest of the source code) readable by your www server. Ideally the files should not be writeable by your server.&lt;br /&gt;
&lt;br /&gt;
chown -R www-data:www-data moodle (Linux debian - change to appropriate user and group for your OS version)&lt;br /&gt;
chmod -R 755 moodle&lt;br /&gt;
&lt;br /&gt;
If you use cron, take care that cron.php is executeable and uses the correct php command: &lt;br /&gt;
 chmod 740 admin/cli/cron.php (some configurations need chmod 750 or chmod 755)&lt;br /&gt;
 copy the first line from cron.php (if it looks like &#039;#!/usr/local/bin/php&#039; or &#039;#!/usr/local/bin/php5.3&#039;, no need to copy &#039;&amp;lt;?php&#039;) &lt;br /&gt;
if necessary.  However, for a simple upgrade, there should be no need to change anything with cron.&lt;br /&gt;
&lt;br /&gt;
=== Using Git ===&lt;br /&gt;
&lt;br /&gt;
You can use Git for updating or upgrading your Moodle. See [[Git for Administrators]] for details.&lt;br /&gt;
&lt;br /&gt;
===Command line upgrade===&lt;br /&gt;
&lt;br /&gt;
On Linux servers, Moodle {{Version}} supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
== Finishing the upgrade ==&lt;br /&gt;
&lt;br /&gt;
The last step is to trigger the upgrade processes within Moodle. &lt;br /&gt;
&lt;br /&gt;
If you put your site into Maintenance mode earlier; take it out now!&lt;br /&gt;
&lt;br /&gt;
To do this just go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Notifications&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Moodle will automatically detect the new version and perform all the SQL database or file system upgrades that are necessary. If there is anything it can&#039;t do itself (very rare) then you will see messages telling you what you need to do.&lt;br /&gt;
&lt;br /&gt;
Assuming all goes well (no error messages) then you can start using your new version of Moodle and enjoy the new features!&lt;br /&gt;
&lt;br /&gt;
Note: If you are running multiple servers then you should purge all caches manually (via &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Development &amp;gt; Purge all caches&#039;&#039;) after completing the upgrade on all servers.&lt;br /&gt;
&lt;br /&gt;
===Fatal error: Maximum execution time of 30 seconds exceeded...===&lt;br /&gt;
&lt;br /&gt;
If your server uses a main language other than English, you may encounter a &#039;Fatal error: Maximum execution time of 30 seconds exceeded&#039; when you try to upgrade it. You can increase max_execution_time = 160 on php.ini to allow the scripts enough time to process the language update. Otherwise, you can switch to English as the default language before doing the upgrade and back to your original language after a succcessful upgrade. See the forum discussion at https://moodle.org/mod/forum/discuss.php?d=119598.&lt;br /&gt;
&lt;br /&gt;
==After upgrading==&lt;br /&gt;
&lt;br /&gt;
The config.php file from your installation should work fine but if you take a look at config-dist.php that came with Moodle 3.0 there are more/different options available (e.g. database drivers and settings). It&#039;s a good idea to map your old config.php settings to a new one based on the 3.0 config-dist.php.&lt;br /&gt;
&lt;br /&gt;
===Cron===&lt;br /&gt;
&lt;br /&gt;
Cron has received a major update (MDL-25499) and now has support for both scheduled and ad hoc tasks.&lt;br /&gt;
&lt;br /&gt;
The benefits of these changes are:&lt;br /&gt;
* The schedule for every task can be configured by the admin&lt;br /&gt;
* Tasks can run in parallel&lt;br /&gt;
* Cron processes use locking to prevent the same task running at the same time by different processes&lt;br /&gt;
* Clusters with multiple identical application nodes are supported, you can run cron on all of them&lt;br /&gt;
&lt;br /&gt;
A result of this is that cron can be run much more often, which means (for example) forum posts can be sent out sooner.  To take advantage of the new cron system it is now strongly recommended that administrators increase the frequency that cron is run to at least &#039;&#039;once per minute&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You also may need to modify any automated scripts you have that are parsing the output from cron. It is no longer possible to simply monitor the output of cron for the string &amp;quot;Cron script completed correctly&amp;quot; (if that is what you were doing). An alternative is to monitor the output for the string &amp;quot;task failed:&amp;quot;. If you detect that a task is failing, [[Cron#Debugging_Scheduled_Tasks|here]] are some tips for debugging the failure. &lt;br /&gt;
&lt;br /&gt;
Before the upgrade, there may have been a cron task that was failing, which was preventing the rest of cron from being executed. A failure in any single task will no longer prevent the rest of the Moodle cron tasks from executing, so you may uncover previously masked bugs. It is a good idea to closely monitor the output from cron after the upgrade.&lt;br /&gt;
&lt;br /&gt;
===Assignments===&lt;br /&gt;
&lt;br /&gt;
The old assignment (2.2) module has been removed from core and has been replaced by a stub to support transparently remapping URLs and restoring course backups from the old module to the new one. &lt;br /&gt;
&lt;br /&gt;
If you are still using the old assignment (2.2) module, after upgrading to Moodle 3.0 all assignment (2.2) activities will be hidden. You need to run the [[Assignment upgrade tool]] to un-hide the activities.&lt;br /&gt;
&lt;br /&gt;
If you really, really need to keep using the old assignment (2.2) module, you should update the code to Moodle 3.0, and then replace the &amp;quot;mod/assignment&amp;quot; folder with the one from https://github.com/moodlehq/moodle-mod_assignment/releases before completing the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Possible issues that may affect you in Moodle {{Version}}==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please add items here...&#039;&#039; See the [https://tracker.moodle.org/issues/?jql=labels%20%3D%20upgrade_notes%20and%20fixVersion%3D3.2 list of upgrade_notes-labelled issues].&lt;br /&gt;
&lt;br /&gt;
===Custom roles requiring site administration access===&lt;br /&gt;
&lt;br /&gt;
Any custom roles which require access to any part of site administration that do not use the manager archetype will need to be allowed the new capability, [[Capabilities/moodle/site:configview|moodle/site:configview]].&lt;br /&gt;
&lt;br /&gt;
===Removed plugins===&lt;br /&gt;
&lt;br /&gt;
If you use any of these plugins you need to download them during upgrade:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/moodlehq/moodle-auth_radius RADIUS] authentication plugin is using the mcrypt PHP functions which are deprecated as of PHP 7.1. Thus the plugin has been removed from the standard Moodle 3.2 package. &lt;br /&gt;
&lt;br /&gt;
The [https://github.com/moodlehq/moodle-repository_alfresco Alfresco] repository plugin does not work with Alfresco 5.0.c or later and so has been removed from the standard Moodle 3.2 package.&lt;br /&gt;
&lt;br /&gt;
Themes [https://moodle.org/plugins/theme_base Base] and [https://moodle.org/plugins/theme_canvas Canvas] have been deprecated and also removed from the standard Moodle 3.2 package. These themes can not be used by themselves but they may be used as parent themes.&lt;br /&gt;
&lt;br /&gt;
===Outgoing mail setup===&lt;br /&gt;
&lt;br /&gt;
Make sure to visit Site administration &amp;gt; Server &amp;gt; Email &amp;gt; Outgoing mail configuration. There is no longer setting &amp;quot;Always send from no-reply address&amp;quot;, instead there is a setting &amp;quot;Allowed email domains&amp;quot;. If you want to send emails from users real addresses you need to add domains allowed by your mail server to this list. Sending email from email addresses not matching sender domain will be detected by clients and such emails could be classified as &amp;quot;Spam&amp;quot;. &#039;&#039;&#039;Moodle will no longer use support email as Return-Path.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Recommendations on changing settings===&lt;br /&gt;
&lt;br /&gt;
Some administrative settings and roles have changed their defaults in Moodle 3.2. These changes will not be automatically applied to the upgraded sites, however we recommend you to change them manually to improve security, user experience and navigation:&lt;br /&gt;
&lt;br /&gt;
* Site administration &amp;gt; Appearance &amp;gt; Navigation : Show my course categories (navshowmycoursecategories). Set this to off if you use theme with flat navigation like Boost.&lt;br /&gt;
* Site administration &amp;gt; Grades &amp;gt; General settings : Navigation method (grade_navmethod). New default value - &amp;quot;Tabs&amp;quot;. This improves navigation especially in Boost theme where &amp;quot;Administration&amp;quot; block is not available.&lt;br /&gt;
* Site administration &amp;gt; Appearance &amp;gt; Navigation : Link admin categories (linkadmincategories). New default value - &amp;quot;Yes&amp;quot;. This improves navigation especially in Boost theme where &amp;quot;Administration&amp;quot; block is not available.&lt;br /&gt;
* Site administration &amp;gt; Security &amp;gt; HTTP security : cURL blocked hosts list (curlsecurityblockedhosts) and cURL allowed ports list (curlsecurityallowedport). These are two new settings improving security of cURL requests (used in blogs, URL repository, etc.). We &lt;br /&gt;
recommend to blacklist localhost and its aliases and allow only 80 port.&lt;br /&gt;
* Site administration &amp;gt; Courses &amp;gt; Course default settings : Default value for &amp;quot;Format&amp;quot; (moodlecourse/format) was changed from Weeks to Topics. Default value for &amp;quot;Number of sections&amp;quot; (moodlecourse/numsections) was changed from 10 to 4.&lt;br /&gt;
&lt;br /&gt;
===Asynchronous activity deletion with Recycle bin===&lt;br /&gt;
&lt;br /&gt;
Recycle bin that was added in Moodle 3.1 and automatically enabled has been found to cause slowness during activity deletion. Since Moodle 3.2 enabling recycle bin automatically means that activity deletion will happen asynchronously in the background. You must ensure that cron runs regularly, preferably every minute. Running cron every minute will &#039;&#039;&#039;not&#039;&#039;&#039; slow down the site because each task will still run only when scheduled.&lt;br /&gt;
&lt;br /&gt;
===Media players===&lt;br /&gt;
&lt;br /&gt;
New &amp;quot;Media players&amp;quot; plugin type was introduced in Moodle 3.2. Previously media players may have been overridden by themes. This will no longer work, instead you need to create [https://docs.moodle.org/dev/Media_players media player plugins]. We have also added and automatically enabled Video.JS as the default video and audio player. If you had filters with media players installed they may no longer be needed in Moodle 3.2.&lt;br /&gt;
&lt;br /&gt;
Media players [https://github.com/moodlehq/moodle-media_flowplayerflash Flowplayer], [https://github.com/moodlehq/moodle-media_wmp Windows media player], [https://github.com/moodlehq/moodle-media_realplayer RealPlayer] and [https://github.com/moodlehq/moodle-media_quicktime Quicktime] were present in Moodle 3.1 but removed in 3.2. If they are needed they should be installed in media/player directory. Please note that Video.JS has built-in Flash player and you should no longer need Flowplayer. Other three players were removed because these formats are extremely rare in the modern world and most browsers don&#039;t support them anyway.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See the [[dev:Moodle {{Version}} release notes|Moodle {{Version}} release notes]] for the full list of changes in Moodle {{Version}}.&lt;br /&gt;
&lt;br /&gt;
===Customised MathJax URL===&lt;br /&gt;
&lt;br /&gt;
If you customised the mathjax CDN url note that filter_mathjaxloader/httpurl has been removed and only filter_mathjaxloader/httpsurl is used.&lt;br /&gt;
&lt;br /&gt;
=== IP address lookups ===&lt;br /&gt;
&lt;br /&gt;
Moodle now supports looking up IPv6 addresses using the [http://dev.maxmind.com/geoip/geoip2/geolite2/ GeoLite2]  database from [http://www.maxmind.com Maxmind]. This replaces the existing GeoLite legacy database used in previous versions and the new GeoIP2 database will need to be installed to use this functionality.&lt;br /&gt;
&lt;br /&gt;
=== Moodle 2.9, 3.0 and 3.1 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/29/en/Upgrading Upgrading to Moodle 2.9]&lt;br /&gt;
* [https://docs.moodle.org/30/en/Upgrading Upgrading to Moodle 3.0]&lt;br /&gt;
* [https://docs.moodle.org/31/en/Upgrading Upgrading to Moodle 3.1]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Installation]]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=28 Installation help forum] &lt;br /&gt;
* [[dev:Moodle {{Version}} release notes|Moodle {{Version}} release notes]]&lt;br /&gt;
&lt;br /&gt;
[[es:Actualización de moodle]]&lt;br /&gt;
[[fr:Mise à jour]]&lt;br /&gt;
[[ja:Moodleをアップグレードする]]&lt;br /&gt;
[[de:Aktualisierung von Moodle]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=126213</id>
		<title>Upgrading</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=126213"/>
		<updated>2016-12-02T11:49:47Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: /* Customised MathJax URL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}	&lt;br /&gt;
&#039;&#039;This page explains in detail how to upgrade Moodle. For a summary of the process, see [[Upgrade overview]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Check the requirements==&lt;br /&gt;
&lt;br /&gt;
Check that your server meets all requirements for {{Version}} in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Moodle 3.2 has raised the minimum required PHP version to 5.6.5.&lt;br /&gt;
&lt;br /&gt;
Note: You can only upgrade to Moodle {{Version}} from Moodle 2.7 or later. If upgrading from earlier versions, you must [https://docs.moodle.org/27/en/Upgrading_to_Moodle_2.7 upgrade to 2.7] 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;
Consider setting the [[Upgrade key|upgrade key]] for your site.&lt;br /&gt;
&lt;br /&gt;
== Backup important data ==&lt;br /&gt;
&lt;br /&gt;
There are three areas that should be backed up before any upgrade:&lt;br /&gt;
#Moodle software (For example, everything in server/htdocs/moodle)&lt;br /&gt;
#Moodle uploaded files (For example, server/moodledata)&lt;br /&gt;
#Moodle database (For example, your Postgres or MySQL database dump)&lt;br /&gt;
&lt;br /&gt;
See [[Site backup]] for more specific information.&lt;br /&gt;
&lt;br /&gt;
== Check for plugin updates ==&lt;br /&gt;
&lt;br /&gt;
If you have [[Automatic updates deployment]] enabled, you will be able to update installed plugins automatically during the upgrade. Just make sure you check for available updates (via the button for it) at the Plugins check screen.&lt;br /&gt;
&lt;br /&gt;
If you are updating plugins manually, it is a good moment now to check in the [http://moodle.org/plugins Moodle Plugins directory] whether there is a {{Version}} version available for any plugins (including themes) that you have previously installed on your site. If so, download the plugin package. In the next step, you will copy it to the appropriate location in your Moodle code (see [[Installing plugins]]).&lt;br /&gt;
&lt;br /&gt;
The upgrade of the plugin will then happen as part of the Moodle upgrade process.&lt;br /&gt;
&lt;br /&gt;
If an out-of-date plugin causes your upgrade to fail, you can usually delete the plugin code rather than uninstalling it from within Moodle so that the data associated with it is not deleted.&lt;br /&gt;
&lt;br /&gt;
==Put your site into maintenance mode==&lt;br /&gt;
Before you begin upgrading your site, you should put it into [[Maintenance_mode | maintenance mode]] to stop any non-admin users from logging in. Then you should wait for any currently running cron processes to complete before proceeding.&lt;br /&gt;
&lt;br /&gt;
== Install the new Moodle software ==&lt;br /&gt;
You can fetch the current version of the software through &lt;br /&gt;
&lt;br /&gt;
wget http://sourceforge.net/projects/moodle/files/Moodle/stable{{Version2}}/moodle-latest-{{Version2}}.tgz&lt;br /&gt;
&lt;br /&gt;
=== Standard install package ===&lt;br /&gt;
&lt;br /&gt;
# Move your old Moodle software program files to another location. &#039;&#039;Do NOT copy new files over the old files.&#039;&#039;&lt;br /&gt;
# Unzip or unpack the upgrade file so that all the new Moodle software program files are in the location the old files used to be in on the server. Moodle will adjust SQL and moodledata if it needs to in the upgrade.&lt;br /&gt;
# Copy your old [[Configuration file|config.php file]] back to the new Moodle directory. &lt;br /&gt;
# As mentioned above, if you had installed any plugins on your site you should add them to the new code tree (Moodle directory structure) now. It is important to check that you get the correct version for your new version of Moodle. Be particularly careful that you do not overwrite any code in the new version of Moodle and that you place the plugin folders in the correct directory (the same directory that they are in in the current installation.)&lt;br /&gt;
# Your moodledata folder should be located separately to your Moodle code folder and, as such, should not need anything done to it.  Moodle 3.0 will throw a warning if it is located in a web accessible folder and the moodledata should never be located in the Moodle code folder.  If you are moving your installation to a new server or new location on your server, then you will need to follow the Migration documents.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
 mv moodle moodle.backup&lt;br /&gt;
 tar xvzf moodle-{{Version}}.tgz&lt;br /&gt;
&lt;br /&gt;
Next, copy across your config.php, any custom plugins, and your .htaccess file if you created one (&#039;&#039;&#039;check that custom plugins are the correct version for your new Moodle first&#039;&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
 cp moodle.backup/config.php moodle&lt;br /&gt;
 cp -pr moodle.backup/theme/mytheme moodle/theme/mytheme&lt;br /&gt;
 cp -pr moodle.backup/mod/mymod moodle/mod/mymod&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to make moodle/config.php (and the rest of the source code) readable by your www server. Ideally the files should not be writeable by your server.&lt;br /&gt;
&lt;br /&gt;
chown -R www-data:www-data moodle (Linux debian - change to appropriate user and group for your OS version)&lt;br /&gt;
chmod -R 755 moodle&lt;br /&gt;
&lt;br /&gt;
If you use cron, take care that cron.php is executeable and uses the correct php command: &lt;br /&gt;
 chmod 740 admin/cli/cron.php (some configurations need chmod 750 or chmod 755)&lt;br /&gt;
 copy the first line from cron.php (if it looks like &#039;#!/usr/local/bin/php&#039; or &#039;#!/usr/local/bin/php5.3&#039;, no need to copy &#039;&amp;lt;?php&#039;) &lt;br /&gt;
if necessary.  However, for a simple upgrade, there should be no need to change anything with cron.&lt;br /&gt;
&lt;br /&gt;
=== Using Git ===&lt;br /&gt;
&lt;br /&gt;
You can use Git for updating or upgrading your Moodle. See [[Git for Administrators]] for details.&lt;br /&gt;
&lt;br /&gt;
===Command line upgrade===&lt;br /&gt;
&lt;br /&gt;
On Linux servers, Moodle {{Version}} supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
== Finishing the upgrade ==&lt;br /&gt;
&lt;br /&gt;
The last step is to trigger the upgrade processes within Moodle. &lt;br /&gt;
&lt;br /&gt;
If you put your site into Maintenance mode earlier; take it out now!&lt;br /&gt;
&lt;br /&gt;
To do this just go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Notifications&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Moodle will automatically detect the new version and perform all the SQL database or file system upgrades that are necessary. If there is anything it can&#039;t do itself (very rare) then you will see messages telling you what you need to do.&lt;br /&gt;
&lt;br /&gt;
Assuming all goes well (no error messages) then you can start using your new version of Moodle and enjoy the new features!&lt;br /&gt;
&lt;br /&gt;
Note: If you are running multiple servers then you should purge all caches manually (via &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Development &amp;gt; Purge all caches&#039;&#039;) after completing the upgrade on all servers.&lt;br /&gt;
&lt;br /&gt;
===Fatal error: Maximum execution time of 30 seconds exceeded...===&lt;br /&gt;
&lt;br /&gt;
If your server uses a main language other than English, you may encounter a &#039;Fatal error: Maximum execution time of 30 seconds exceeded&#039; when you try to upgrade it. You can increase max_execution_time = 160 on php.ini to allow the scripts enough time to process the language update. Otherwise, you can switch to English as the default language before doing the upgrade and back to your original language after a succcessful upgrade. See the forum discussion at https://moodle.org/mod/forum/discuss.php?d=119598.&lt;br /&gt;
&lt;br /&gt;
==After upgrading==&lt;br /&gt;
&lt;br /&gt;
The config.php file from your installation should work fine but if you take a look at config-dist.php that came with Moodle 3.0 there are more/different options available (e.g. database drivers and settings). It&#039;s a good idea to map your old config.php settings to a new one based on the 3.0 config-dist.php.&lt;br /&gt;
&lt;br /&gt;
===Cron===&lt;br /&gt;
&lt;br /&gt;
Cron has received a major update (MDL-25499) and now has support for both scheduled and ad hoc tasks.&lt;br /&gt;
&lt;br /&gt;
The benefits of these changes are:&lt;br /&gt;
* The schedule for every task can be configured by the admin&lt;br /&gt;
* Tasks can run in parallel&lt;br /&gt;
* Cron processes use locking to prevent the same task running at the same time by different processes&lt;br /&gt;
* Clusters with multiple identical application nodes are supported, you can run cron on all of them&lt;br /&gt;
&lt;br /&gt;
A result of this is that cron can be run much more often, which means (for example) forum posts can be sent out sooner.  To take advantage of the new cron system it is now strongly recommended that administrators increase the frequency that cron is run to at least &#039;&#039;once per minute&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You also may need to modify any automated scripts you have that are parsing the output from cron. It is no longer possible to simply monitor the output of cron for the string &amp;quot;Cron script completed correctly&amp;quot; (if that is what you were doing). An alternative is to monitor the output for the string &amp;quot;task failed:&amp;quot;. If you detect that a task is failing, [[Cron#Debugging_Scheduled_Tasks|here]] are some tips for debugging the failure. &lt;br /&gt;
&lt;br /&gt;
Before the upgrade, there may have been a cron task that was failing, which was preventing the rest of cron from being executed. A failure in any single task will no longer prevent the rest of the Moodle cron tasks from executing, so you may uncover previously masked bugs. It is a good idea to closely monitor the output from cron after the upgrade.&lt;br /&gt;
&lt;br /&gt;
===Assignments===&lt;br /&gt;
&lt;br /&gt;
The old assignment (2.2) module has been removed from core and has been replaced by a stub to support transparently remapping URLs and restoring course backups from the old module to the new one. &lt;br /&gt;
&lt;br /&gt;
If you are still using the old assignment (2.2) module, after upgrading to Moodle 3.0 all assignment (2.2) activities will be hidden. You need to run the [[Assignment upgrade tool]] to un-hide the activities.&lt;br /&gt;
&lt;br /&gt;
If you really, really need to keep using the old assignment (2.2) module, you should update the code to Moodle 3.0, and then replace the &amp;quot;mod/assignment&amp;quot; folder with the one from https://github.com/moodlehq/moodle-mod_assignment/releases before completing the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Possible issues that may affect you in Moodle {{Version}}==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please add items here...&#039;&#039; See the [https://tracker.moodle.org/issues/?jql=labels%20%3D%20upgrade_notes%20and%20fixVersion%3D3.2 list of upgrade_notes-labelled issues].&lt;br /&gt;
&lt;br /&gt;
===Custom roles requiring site administration access===&lt;br /&gt;
&lt;br /&gt;
Any custom roles which require access to any part of site administration that do not use the manager archetype will need to be allowed the new capability, [[Capabilities/moodle/site:configview|moodle/site:configview]].&lt;br /&gt;
&lt;br /&gt;
===Removed plugins===&lt;br /&gt;
&lt;br /&gt;
If you use any of these plugins you need to download them during upgrade:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/moodlehq/moodle-auth_radius RADIUS] authentication plugin is using the mcrypt PHP functions which are deprecated as of PHP 7.1. Thus the plugin has been removed from the standard Moodle 3.2 package. &lt;br /&gt;
&lt;br /&gt;
The [https://github.com/moodlehq/moodle-repository_alfresco Alfresco] repository plugin does not work with Alfresco 5.0.c or later and so has been removed from the standard Moodle 3.2 package.&lt;br /&gt;
&lt;br /&gt;
Themes [https://moodle.org/plugins/theme_base Base] and [https://moodle.org/plugins/theme_canvas Canvas] have been deprecated and also removed from the standard Moodle 3.2 package. These themes can not be used by themselves but they may be used as parent themes.&lt;br /&gt;
&lt;br /&gt;
===Outgoing mail setup===&lt;br /&gt;
&lt;br /&gt;
Make sure to visit Site administration &amp;gt; Server &amp;gt; Email &amp;gt; Outgoing mail configuration. There is no longer setting &amp;quot;Always send from no-reply address&amp;quot;, instead there is a setting &amp;quot;Allowed email domains&amp;quot;. If you want to send emails from users real addresses you need to add domains allowed by your mail server to this list. Sending email from email addresses not matching sender domain will be detected by clients and such emails could be classified as &amp;quot;Spam&amp;quot;. &#039;&#039;&#039;Moodle will no longer use support email as Return-Path.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Recommendations on changing settings===&lt;br /&gt;
&lt;br /&gt;
Some administrative settings and roles have changed their defaults in Moodle 3.2. These changes will not be automatically applied to the upgraded sites, however we recommend you to change them manually to improve security, user experience and navigation:&lt;br /&gt;
&lt;br /&gt;
* Site administration &amp;gt; Appearance &amp;gt; Navigation : Show my course categories (navshowmycoursecategories). Set this to off if you use theme with flat navigation like Boost.&lt;br /&gt;
* Site administration &amp;gt; Grades &amp;gt; General settings : Navigation method (grade_navmethod). New default value - &amp;quot;Tabs&amp;quot;. This improves navigation especially in Boost theme where &amp;quot;Administration&amp;quot; block is not available.&lt;br /&gt;
* Site administration &amp;gt; Appearance &amp;gt; Navigation : Link admin categories (linkadmincategories). New default value - &amp;quot;Yes&amp;quot;. This improves navigation especially in Boost theme where &amp;quot;Administration&amp;quot; block is not available.&lt;br /&gt;
* Site administration &amp;gt; Security &amp;gt; HTTP security : cURL blocked hosts list (curlsecurityblockedhosts) and cURL allowed ports list (curlsecurityallowedport). These are two new settings improving security of cURL requests (used in blogs, URL repository, etc.). We &lt;br /&gt;
recommend to blacklist localhost and its aliases and allow only 80 port.&lt;br /&gt;
* Site administration &amp;gt; Courses &amp;gt; Course default settings : Default value for &amp;quot;Format&amp;quot; (moodlecourse/format) was changed from Weeks to Topics. Default value for &amp;quot;Number of sections&amp;quot; (moodlecourse/numsections) was changed from 10 to 4.&lt;br /&gt;
&lt;br /&gt;
===Asynchronous activity deletion with Recycle bin===&lt;br /&gt;
&lt;br /&gt;
Recycle bin that was added in Moodle 3.1 and automatically enabled has been found to cause slowness during activity deletion. Since Moodle 3.2 enabling recycle bin automatically means that activity deletion will happen asynchronously in the background. You must ensure that cron runs regularly, preferably every minute. Running cron every minute will &#039;&#039;&#039;not&#039;&#039;&#039; slow down the site because each task will still run only when scheduled.&lt;br /&gt;
&lt;br /&gt;
===Media players===&lt;br /&gt;
&lt;br /&gt;
New &amp;quot;Media players&amp;quot; plugin type was introduced in Moodle 3.2. Previously media players may have been overridden by themes. This will no longer work, instead you need to create [https://docs.moodle.org/dev/Media_players media player plugins]. We have also added and automatically enabled Video.JS as the default video and audio player. If you had filters with media players installed they may no longer be needed in Moodle 3.2.&lt;br /&gt;
&lt;br /&gt;
Media players [https://github.com/moodlehq/moodle-media_flowplayerflash Flowplayer], [https://github.com/moodlehq/moodle-media_wmp Windows media player], [https://github.com/moodlehq/moodle-media_realplayer RealPlayer] and [https://github.com/moodlehq/moodle-media_quicktime Quicktime] were present in Moodle 3.1 but removed in 3.2. If they are needed they should be installed in media/player directory. Please note that Video.JS has built-in Flash player and you should no longer need Flowplayer. Other three players were removed because these formats are extremely rare in the modern world and most browsers don&#039;t support them anyway.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See the [[dev:Moodle {{Version}} release notes|Moodle {{Version}} release notes]] for the full list of changes in Moodle {{Version}}.&lt;br /&gt;
&lt;br /&gt;
===Customised MathJax URL===&lt;br /&gt;
&lt;br /&gt;
If you customised the mathjax CDN url note that filter_mathjaxloader/httpurl has been removed and only filter_mathjaxloader/httpsurl is used.&lt;br /&gt;
&lt;br /&gt;
=== Moodle 2.9, 3.0 and 3.1 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/29/en/Upgrading Upgrading to Moodle 2.9]&lt;br /&gt;
* [https://docs.moodle.org/30/en/Upgrading Upgrading to Moodle 3.0]&lt;br /&gt;
* [https://docs.moodle.org/31/en/Upgrading Upgrading to Moodle 3.1]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Installation]]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=28 Installation help forum] &lt;br /&gt;
* [[dev:Moodle {{Version}} release notes|Moodle {{Version}} release notes]]&lt;br /&gt;
&lt;br /&gt;
[[es:Actualización de moodle]]&lt;br /&gt;
[[fr:Mise à jour]]&lt;br /&gt;
[[ja:Moodleをアップグレードする]]&lt;br /&gt;
[[de:Aktualisierung von Moodle]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=126212</id>
		<title>Upgrading</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=126212"/>
		<updated>2016-12-02T11:49:17Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Mathjax - MDL-53572&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}	&lt;br /&gt;
&#039;&#039;This page explains in detail how to upgrade Moodle. For a summary of the process, see [[Upgrade overview]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Check the requirements==&lt;br /&gt;
&lt;br /&gt;
Check that your server meets all requirements for {{Version}} in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; [[Environment]]&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Moodle 3.2 has raised the minimum required PHP version to 5.6.5.&lt;br /&gt;
&lt;br /&gt;
Note: You can only upgrade to Moodle {{Version}} from Moodle 2.7 or later. If upgrading from earlier versions, you must [https://docs.moodle.org/27/en/Upgrading_to_Moodle_2.7 upgrade to 2.7] 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;
Consider setting the [[Upgrade key|upgrade key]] for your site.&lt;br /&gt;
&lt;br /&gt;
== Backup important data ==&lt;br /&gt;
&lt;br /&gt;
There are three areas that should be backed up before any upgrade:&lt;br /&gt;
#Moodle software (For example, everything in server/htdocs/moodle)&lt;br /&gt;
#Moodle uploaded files (For example, server/moodledata)&lt;br /&gt;
#Moodle database (For example, your Postgres or MySQL database dump)&lt;br /&gt;
&lt;br /&gt;
See [[Site backup]] for more specific information.&lt;br /&gt;
&lt;br /&gt;
== Check for plugin updates ==&lt;br /&gt;
&lt;br /&gt;
If you have [[Automatic updates deployment]] enabled, you will be able to update installed plugins automatically during the upgrade. Just make sure you check for available updates (via the button for it) at the Plugins check screen.&lt;br /&gt;
&lt;br /&gt;
If you are updating plugins manually, it is a good moment now to check in the [http://moodle.org/plugins Moodle Plugins directory] whether there is a {{Version}} version available for any plugins (including themes) that you have previously installed on your site. If so, download the plugin package. In the next step, you will copy it to the appropriate location in your Moodle code (see [[Installing plugins]]).&lt;br /&gt;
&lt;br /&gt;
The upgrade of the plugin will then happen as part of the Moodle upgrade process.&lt;br /&gt;
&lt;br /&gt;
If an out-of-date plugin causes your upgrade to fail, you can usually delete the plugin code rather than uninstalling it from within Moodle so that the data associated with it is not deleted.&lt;br /&gt;
&lt;br /&gt;
==Put your site into maintenance mode==&lt;br /&gt;
Before you begin upgrading your site, you should put it into [[Maintenance_mode | maintenance mode]] to stop any non-admin users from logging in. Then you should wait for any currently running cron processes to complete before proceeding.&lt;br /&gt;
&lt;br /&gt;
== Install the new Moodle software ==&lt;br /&gt;
You can fetch the current version of the software through &lt;br /&gt;
&lt;br /&gt;
wget http://sourceforge.net/projects/moodle/files/Moodle/stable{{Version2}}/moodle-latest-{{Version2}}.tgz&lt;br /&gt;
&lt;br /&gt;
=== Standard install package ===&lt;br /&gt;
&lt;br /&gt;
# Move your old Moodle software program files to another location. &#039;&#039;Do NOT copy new files over the old files.&#039;&#039;&lt;br /&gt;
# Unzip or unpack the upgrade file so that all the new Moodle software program files are in the location the old files used to be in on the server. Moodle will adjust SQL and moodledata if it needs to in the upgrade.&lt;br /&gt;
# Copy your old [[Configuration file|config.php file]] back to the new Moodle directory. &lt;br /&gt;
# As mentioned above, if you had installed any plugins on your site you should add them to the new code tree (Moodle directory structure) now. It is important to check that you get the correct version for your new version of Moodle. Be particularly careful that you do not overwrite any code in the new version of Moodle and that you place the plugin folders in the correct directory (the same directory that they are in in the current installation.)&lt;br /&gt;
# Your moodledata folder should be located separately to your Moodle code folder and, as such, should not need anything done to it.  Moodle 3.0 will throw a warning if it is located in a web accessible folder and the moodledata should never be located in the Moodle code folder.  If you are moving your installation to a new server or new location on your server, then you will need to follow the Migration documents.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
 mv moodle moodle.backup&lt;br /&gt;
 tar xvzf moodle-{{Version}}.tgz&lt;br /&gt;
&lt;br /&gt;
Next, copy across your config.php, any custom plugins, and your .htaccess file if you created one (&#039;&#039;&#039;check that custom plugins are the correct version for your new Moodle first&#039;&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
 cp moodle.backup/config.php moodle&lt;br /&gt;
 cp -pr moodle.backup/theme/mytheme moodle/theme/mytheme&lt;br /&gt;
 cp -pr moodle.backup/mod/mymod moodle/mod/mymod&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to make moodle/config.php (and the rest of the source code) readable by your www server. Ideally the files should not be writeable by your server.&lt;br /&gt;
&lt;br /&gt;
chown -R www-data:www-data moodle (Linux debian - change to appropriate user and group for your OS version)&lt;br /&gt;
chmod -R 755 moodle&lt;br /&gt;
&lt;br /&gt;
If you use cron, take care that cron.php is executeable and uses the correct php command: &lt;br /&gt;
 chmod 740 admin/cli/cron.php (some configurations need chmod 750 or chmod 755)&lt;br /&gt;
 copy the first line from cron.php (if it looks like &#039;#!/usr/local/bin/php&#039; or &#039;#!/usr/local/bin/php5.3&#039;, no need to copy &#039;&amp;lt;?php&#039;) &lt;br /&gt;
if necessary.  However, for a simple upgrade, there should be no need to change anything with cron.&lt;br /&gt;
&lt;br /&gt;
=== Using Git ===&lt;br /&gt;
&lt;br /&gt;
You can use Git for updating or upgrading your Moodle. See [[Git for Administrators]] for details.&lt;br /&gt;
&lt;br /&gt;
===Command line upgrade===&lt;br /&gt;
&lt;br /&gt;
On Linux servers, Moodle {{Version}} supports running the [[CLI|upgrade from the command line]], rather than through a web browser. This is likely to be more reliable, particularly for large sites.&lt;br /&gt;
&lt;br /&gt;
== Finishing the upgrade ==&lt;br /&gt;
&lt;br /&gt;
The last step is to trigger the upgrade processes within Moodle. &lt;br /&gt;
&lt;br /&gt;
If you put your site into Maintenance mode earlier; take it out now!&lt;br /&gt;
&lt;br /&gt;
To do this just go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Notifications&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Moodle will automatically detect the new version and perform all the SQL database or file system upgrades that are necessary. If there is anything it can&#039;t do itself (very rare) then you will see messages telling you what you need to do.&lt;br /&gt;
&lt;br /&gt;
Assuming all goes well (no error messages) then you can start using your new version of Moodle and enjoy the new features!&lt;br /&gt;
&lt;br /&gt;
Note: If you are running multiple servers then you should purge all caches manually (via &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Development &amp;gt; Purge all caches&#039;&#039;) after completing the upgrade on all servers.&lt;br /&gt;
&lt;br /&gt;
===Fatal error: Maximum execution time of 30 seconds exceeded...===&lt;br /&gt;
&lt;br /&gt;
If your server uses a main language other than English, you may encounter a &#039;Fatal error: Maximum execution time of 30 seconds exceeded&#039; when you try to upgrade it. You can increase max_execution_time = 160 on php.ini to allow the scripts enough time to process the language update. Otherwise, you can switch to English as the default language before doing the upgrade and back to your original language after a succcessful upgrade. See the forum discussion at https://moodle.org/mod/forum/discuss.php?d=119598.&lt;br /&gt;
&lt;br /&gt;
==After upgrading==&lt;br /&gt;
&lt;br /&gt;
The config.php file from your installation should work fine but if you take a look at config-dist.php that came with Moodle 3.0 there are more/different options available (e.g. database drivers and settings). It&#039;s a good idea to map your old config.php settings to a new one based on the 3.0 config-dist.php.&lt;br /&gt;
&lt;br /&gt;
===Cron===&lt;br /&gt;
&lt;br /&gt;
Cron has received a major update (MDL-25499) and now has support for both scheduled and ad hoc tasks.&lt;br /&gt;
&lt;br /&gt;
The benefits of these changes are:&lt;br /&gt;
* The schedule for every task can be configured by the admin&lt;br /&gt;
* Tasks can run in parallel&lt;br /&gt;
* Cron processes use locking to prevent the same task running at the same time by different processes&lt;br /&gt;
* Clusters with multiple identical application nodes are supported, you can run cron on all of them&lt;br /&gt;
&lt;br /&gt;
A result of this is that cron can be run much more often, which means (for example) forum posts can be sent out sooner.  To take advantage of the new cron system it is now strongly recommended that administrators increase the frequency that cron is run to at least &#039;&#039;once per minute&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
You also may need to modify any automated scripts you have that are parsing the output from cron. It is no longer possible to simply monitor the output of cron for the string &amp;quot;Cron script completed correctly&amp;quot; (if that is what you were doing). An alternative is to monitor the output for the string &amp;quot;task failed:&amp;quot;. If you detect that a task is failing, [[Cron#Debugging_Scheduled_Tasks|here]] are some tips for debugging the failure. &lt;br /&gt;
&lt;br /&gt;
Before the upgrade, there may have been a cron task that was failing, which was preventing the rest of cron from being executed. A failure in any single task will no longer prevent the rest of the Moodle cron tasks from executing, so you may uncover previously masked bugs. It is a good idea to closely monitor the output from cron after the upgrade.&lt;br /&gt;
&lt;br /&gt;
===Assignments===&lt;br /&gt;
&lt;br /&gt;
The old assignment (2.2) module has been removed from core and has been replaced by a stub to support transparently remapping URLs and restoring course backups from the old module to the new one. &lt;br /&gt;
&lt;br /&gt;
If you are still using the old assignment (2.2) module, after upgrading to Moodle 3.0 all assignment (2.2) activities will be hidden. You need to run the [[Assignment upgrade tool]] to un-hide the activities.&lt;br /&gt;
&lt;br /&gt;
If you really, really need to keep using the old assignment (2.2) module, you should update the code to Moodle 3.0, and then replace the &amp;quot;mod/assignment&amp;quot; folder with the one from https://github.com/moodlehq/moodle-mod_assignment/releases before completing the upgrade.&lt;br /&gt;
&lt;br /&gt;
==Possible issues that may affect you in Moodle {{Version}}==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please add items here...&#039;&#039; See the [https://tracker.moodle.org/issues/?jql=labels%20%3D%20upgrade_notes%20and%20fixVersion%3D3.2 list of upgrade_notes-labelled issues].&lt;br /&gt;
&lt;br /&gt;
===Custom roles requiring site administration access===&lt;br /&gt;
&lt;br /&gt;
Any custom roles which require access to any part of site administration that do not use the manager archetype will need to be allowed the new capability, [[Capabilities/moodle/site:configview|moodle/site:configview]].&lt;br /&gt;
&lt;br /&gt;
===Removed plugins===&lt;br /&gt;
&lt;br /&gt;
If you use any of these plugins you need to download them during upgrade:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/moodlehq/moodle-auth_radius RADIUS] authentication plugin is using the mcrypt PHP functions which are deprecated as of PHP 7.1. Thus the plugin has been removed from the standard Moodle 3.2 package. &lt;br /&gt;
&lt;br /&gt;
The [https://github.com/moodlehq/moodle-repository_alfresco Alfresco] repository plugin does not work with Alfresco 5.0.c or later and so has been removed from the standard Moodle 3.2 package.&lt;br /&gt;
&lt;br /&gt;
Themes [https://moodle.org/plugins/theme_base Base] and [https://moodle.org/plugins/theme_canvas Canvas] have been deprecated and also removed from the standard Moodle 3.2 package. These themes can not be used by themselves but they may be used as parent themes.&lt;br /&gt;
&lt;br /&gt;
===Outgoing mail setup===&lt;br /&gt;
&lt;br /&gt;
Make sure to visit Site administration &amp;gt; Server &amp;gt; Email &amp;gt; Outgoing mail configuration. There is no longer setting &amp;quot;Always send from no-reply address&amp;quot;, instead there is a setting &amp;quot;Allowed email domains&amp;quot;. If you want to send emails from users real addresses you need to add domains allowed by your mail server to this list. Sending email from email addresses not matching sender domain will be detected by clients and such emails could be classified as &amp;quot;Spam&amp;quot;. &#039;&#039;&#039;Moodle will no longer use support email as Return-Path.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Recommendations on changing settings===&lt;br /&gt;
&lt;br /&gt;
Some administrative settings and roles have changed their defaults in Moodle 3.2. These changes will not be automatically applied to the upgraded sites, however we recommend you to change them manually to improve security, user experience and navigation:&lt;br /&gt;
&lt;br /&gt;
* Site administration &amp;gt; Appearance &amp;gt; Navigation : Show my course categories (navshowmycoursecategories). Set this to off if you use theme with flat navigation like Boost.&lt;br /&gt;
* Site administration &amp;gt; Grades &amp;gt; General settings : Navigation method (grade_navmethod). New default value - &amp;quot;Tabs&amp;quot;. This improves navigation especially in Boost theme where &amp;quot;Administration&amp;quot; block is not available.&lt;br /&gt;
* Site administration &amp;gt; Appearance &amp;gt; Navigation : Link admin categories (linkadmincategories). New default value - &amp;quot;Yes&amp;quot;. This improves navigation especially in Boost theme where &amp;quot;Administration&amp;quot; block is not available.&lt;br /&gt;
* Site administration &amp;gt; Security &amp;gt; HTTP security : cURL blocked hosts list (curlsecurityblockedhosts) and cURL allowed ports list (curlsecurityallowedport). These are two new settings improving security of cURL requests (used in blogs, URL repository, etc.). We &lt;br /&gt;
recommend to blacklist localhost and its aliases and allow only 80 port.&lt;br /&gt;
* Site administration &amp;gt; Courses &amp;gt; Course default settings : Default value for &amp;quot;Format&amp;quot; (moodlecourse/format) was changed from Weeks to Topics. Default value for &amp;quot;Number of sections&amp;quot; (moodlecourse/numsections) was changed from 10 to 4.&lt;br /&gt;
&lt;br /&gt;
===Asynchronous activity deletion with Recycle bin===&lt;br /&gt;
&lt;br /&gt;
Recycle bin that was added in Moodle 3.1 and automatically enabled has been found to cause slowness during activity deletion. Since Moodle 3.2 enabling recycle bin automatically means that activity deletion will happen asynchronously in the background. You must ensure that cron runs regularly, preferably every minute. Running cron every minute will &#039;&#039;&#039;not&#039;&#039;&#039; slow down the site because each task will still run only when scheduled.&lt;br /&gt;
&lt;br /&gt;
===Media players===&lt;br /&gt;
&lt;br /&gt;
New &amp;quot;Media players&amp;quot; plugin type was introduced in Moodle 3.2. Previously media players may have been overridden by themes. This will no longer work, instead you need to create [https://docs.moodle.org/dev/Media_players media player plugins]. We have also added and automatically enabled Video.JS as the default video and audio player. If you had filters with media players installed they may no longer be needed in Moodle 3.2.&lt;br /&gt;
&lt;br /&gt;
Media players [https://github.com/moodlehq/moodle-media_flowplayerflash Flowplayer], [https://github.com/moodlehq/moodle-media_wmp Windows media player], [https://github.com/moodlehq/moodle-media_realplayer RealPlayer] and [https://github.com/moodlehq/moodle-media_quicktime Quicktime] were present in Moodle 3.1 but removed in 3.2. If they are needed they should be installed in media/player directory. Please note that Video.JS has built-in Flash player and you should no longer need Flowplayer. Other three players were removed because these formats are extremely rare in the modern world and most browsers don&#039;t support them anyway.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See the [[dev:Moodle {{Version}} release notes|Moodle {{Version}} release notes]] for the full list of changes in Moodle {{Version}}.&lt;br /&gt;
&lt;br /&gt;
===Customised MathJax URL===&lt;br /&gt;
&lt;br /&gt;
If you customised the mathjax CDN url note that filter_mathjaxloader/httpurl has been removed and only filter_mathjaxloader/httpsurl is used for all pages&lt;br /&gt;
&lt;br /&gt;
=== Moodle 2.9, 3.0 and 3.1 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/29/en/Upgrading Upgrading to Moodle 2.9]&lt;br /&gt;
* [https://docs.moodle.org/30/en/Upgrading Upgrading to Moodle 3.0]&lt;br /&gt;
* [https://docs.moodle.org/31/en/Upgrading Upgrading to Moodle 3.1]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Installation]]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=28 Installation help forum] &lt;br /&gt;
* [[dev:Moodle {{Version}} release notes|Moodle {{Version}} release notes]]&lt;br /&gt;
&lt;br /&gt;
[[es:Actualización de moodle]]&lt;br /&gt;
[[fr:Mise à jour]]&lt;br /&gt;
[[ja:Moodleをアップグレードする]]&lt;br /&gt;
[[de:Aktualisierung von Moodle]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Global_search&amp;diff=124282</id>
		<title>Global search</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Global_search&amp;diff=124282"/>
		<updated>2016-07-08T09:36:17Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Switch to cli script rather than scheduled tak&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{More features}}&lt;br /&gt;
{{New features}}&lt;br /&gt;
==What is Global search?==&lt;br /&gt;
*Global search lets you search everywhere on the Moodle site that you have access to. A student can search their courses for particular lecture notes, for example, or a teacher could search for subject-related activities.&lt;br /&gt;
*The feature needs to be enabled by the administrator and a search box is then available next to the user menu.&lt;br /&gt;
&lt;br /&gt;
[[File:NFGlobalsearchbox.png|thumb|center|480px|Searching the site (when global search is enabled)]]&lt;br /&gt;
&lt;br /&gt;
*A [[Global search block]] may also be added to course pages.&lt;br /&gt;
&lt;br /&gt;
==What can I search for?==&lt;br /&gt;
You can search for your courses, activities information and some activities contents like forum posts, book chapters, glossary entries or collaborative wikis pages. We will add more contents in future Moodle versions. Developers interested in adding plugin&#039;s contents to global search may be interested in looking at the [https://docs.moodle.org/dev/Search_API Search API].&lt;br /&gt;
&lt;br /&gt;
==How does it work?==&lt;br /&gt;
*Click the search icon by the user menu and type a search term into the box that appears, or type into the box in the [[Global search block]] if enabled.&lt;br /&gt;
*On the next screen, you can simply click the search button to search everywhere, or expand the Filter to search in specific areas:&lt;br /&gt;
&lt;br /&gt;
[[File:NFFilteringGlobalSearch2.png|thumb|center|600px|Filtering the search]]&lt;br /&gt;
&lt;br /&gt;
*You will then see results displayed from all areas of Moodle you have access to:&lt;br /&gt;
&lt;br /&gt;
[[File:31GSResults2a.png|thumb|center|600px|Search results]]&lt;br /&gt;
&lt;br /&gt;
===Solr search query features===&lt;br /&gt;
&lt;br /&gt;
You can improve your search using any of the following search query features:&lt;br /&gt;
&lt;br /&gt;
* Specifying the field to be searched by prefixing the search query with &#039;title:&#039;, &#039;content:&#039;, &#039;name:&#039;, or &#039;intro:&#039; e.g.&#039;title:news&#039; returns results with the word &#039;news&#039; in the title&lt;br /&gt;
* Boolean operators (&#039;AND&#039;, &#039;OR&#039;, &#039;NOT&#039;) to combine or exclude keywords&lt;br /&gt;
* Wildcard characters (&#039;*&#039; or &#039;?&#039; ) to represent characters in the search query&lt;br /&gt;
* Proximity searches (&#039;~&#039;) e.g. mood~2 returns &amp;quot;moodle&amp;quot; (2 letters away from &amp;quot;mood&amp;quot;), Moodle Australia~3 returns results containing &amp;quot;Moodle HQ in Perth, Australia&amp;quot; (the queried terms were within 3 words of each other)&lt;br /&gt;
* Boosting terms (&#039;^&#039;) to boost certain words or phrases e.g. &amp;quot;Perth Australia&amp;quot;^5 &amp;quot;Australia&amp;quot; will return results with the phrase &amp;quot;Perth Australia&amp;quot; as more relevant.&lt;br /&gt;
&lt;br /&gt;
Note: The above features are only available when using the Solr search engine.&lt;br /&gt;
&lt;br /&gt;
==How is it set up?==&lt;br /&gt;
&lt;br /&gt;
{{Note|Global search needs a search engine. Instructions for the installing the PHP Solr extension and a Solr server are below. See the [https://docs.moodle.org/dev/Search_engines Developer docs on Search engine plugins] if you wish to write your own. It&#039;s recommended you set everything up first, index the site contents &#039;&#039;and only then&#039;&#039; enable Global search.}}&lt;br /&gt;
&lt;br /&gt;
===Setting up Solr===&lt;br /&gt;
&lt;br /&gt;
====General Setup====&lt;br /&gt;
&lt;br /&gt;
# Set the feature up in &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Search &amp;gt; Manage global search&#039;&#039; by selecting Solr as the search engine and ticking search area checkboxes as required&lt;br /&gt;
# In &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Search &amp;gt; Solr&#039;&#039;, set &#039;&#039;&#039;Host name&#039;&#039;&#039; to localhost, &#039;&#039;&#039;Port&#039;&#039;&#039; to 8983 and &#039;&#039;&#039;Index name&#039;&#039;&#039; to &#039;moodle&#039; (the name of the index in Solr) &lt;br /&gt;
# If you are using Solr with SSL encryption, you will need to configure Moodle as such. This is important if solr is not installed in the web server server.&lt;br /&gt;
## You will need a separate key file and cacert file, both in pem format, located on your server Moodle, and readable by the PHP process.&lt;br /&gt;
## Go to &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Search &amp;gt; Solr&#039;&#039;&lt;br /&gt;
## Set &#039;&#039;&#039;Secure mode&#039;&#039;&#039; to Yes&lt;br /&gt;
## &#039;&#039;&#039;SSL certificate&#039;&#039;&#039; to /path/to/certs/solr-ssl.cacert.pem&lt;br /&gt;
## &#039;&#039;&#039;SSL key&#039;&#039;&#039; to /path/to/certs/solr-ssl.key.pem&lt;br /&gt;
## &#039;&#039;&#039;SSL key Password&#039;&#039;&#039; to The password used to lock the SSL Key&lt;br /&gt;
## &#039;&#039;&#039;SSL CA certificates name&#039;&#039;&#039; to /path/to/certs/solr-ssl.cacert.pem&lt;br /&gt;
# Index your site&#039;s data going to &#039;&#039;Site administration &amp;gt; Reports &amp;gt; Global search info&#039;&#039; or from the CLI running &#039;&#039;&#039;php search/cli/indexer.php -f&#039;&#039;&#039; script, being the CLI script the recommended option for big sites.&lt;br /&gt;
# Enable Global search in &#039;&#039;Site administration &amp;gt; Advanced features&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====File Indexing====&lt;br /&gt;
&lt;br /&gt;
Solr has the ability to index the contents of files, such as File resources and attachments to Forum posts. This uses the [https://tika.apache.org/ Tika] engine which comes bundled with Solr. To enable this feature:&lt;br /&gt;
# In &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Search &amp;gt; Solr&#039;&#039; enable the checkbox &#039;&#039;&#039;Enable file indexing&#039;&#039;&#039;&lt;br /&gt;
# Set &#039;&#039;&#039;Maximum file size to index (kB)&#039;&#039;&#039; to some value - the default is &#039;&#039;&#039;2097152&#039;&#039;&#039; (2GB)&lt;br /&gt;
#* Files larger than this limit will not be sent for Solr for indexing, but the file name will still be indexed.&lt;br /&gt;
&lt;br /&gt;
===How to install Solr===&lt;br /&gt;
&lt;br /&gt;
You need PHP Solr extension installed. You can download the official latest versions from [http://pecl.php.net/package/solr](http://pecl.php.net/package/solr) The minimum required version is PECL Solr 2.1 for PHP 5 branch and PECL Solr 2.4 for PHP 7 branch.&lt;br /&gt;
&lt;br /&gt;
Basic installation steps (using apache web server):&lt;br /&gt;
&lt;br /&gt;
==== Linux (Debian/Ubuntu) ====&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get install libpcre3-dev libxml2-dev libcurl4-openssl-dev&lt;br /&gt;
    sudo apt-get install php5-dev&lt;br /&gt;
    sudo apt-get install php-pear&lt;br /&gt;
    sudo pecl install solr&lt;br /&gt;
    sudo sh -c &amp;quot;echo &#039;extension=solr.so&#039; &amp;gt; /etc/php5/apache2/conf.d/solr.ini&amp;quot;&lt;br /&gt;
    sudo sh -c &amp;quot;echo &#039;extension=solr.so&#039; &amp;gt; /etc/php5/cli/conf.d/solr.ini&amp;quot;&lt;br /&gt;
    sudo service apache2 restart&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Linux (Redhat/Centos7) ====&lt;br /&gt;
&lt;br /&gt;
===== Using built in php5 packages =====&lt;br /&gt;
  yum install php-pecl-solr2&lt;br /&gt;
  service httpd restart&lt;br /&gt;
&lt;br /&gt;
===== Using 3rd party php7 packages (webtactic) =====&lt;br /&gt;
  yum install libxml2-devel pcre-devel libcurl-devel php70w-devel php70w-pear&lt;br /&gt;
  pecl install solr&lt;br /&gt;
  echo &amp;quot;extension=solr.so&amp;quot; &amp;gt; /etc/php.d/solr.ini&lt;br /&gt;
  service httpd restart&lt;br /&gt;
&lt;br /&gt;
==== OSX using macports ====&lt;br /&gt;
&lt;br /&gt;
    sudo port install apache-solr4&lt;br /&gt;
    sudo port install php54-solr&lt;br /&gt;
&lt;br /&gt;
==== OSX using homebrew ====&lt;br /&gt;
&lt;br /&gt;
    brew install homebrew/php/php56-solr&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
Install the pecl package as usual. (This has not yet been tested.)&lt;br /&gt;
&lt;br /&gt;
==== The Solr server ====&lt;br /&gt;
&lt;br /&gt;
Moodle 3.1 supports Solr server from 4.0 onwards, although you can only use the Solr schema setup script that we provide with Moodle from Solr 5. The latest Solr 5 available version is the recommended one; the same will apply to Solr 6 once it is released. &lt;br /&gt;
&lt;br /&gt;
Note that for medium/large sites you may need to increase maxBooleanClauses setting. In [https://tracker.moodle.org/browse/MDL-54992 MDL-54992] we are working on an alternative way to query the server. &lt;br /&gt;
 &lt;br /&gt;
The following example snippet (feel free to copy &amp;amp; paste into a .sh script with execution permissions) will download Solr 5.4.1 (replace it with latest 5.x) in the current directory, start the solr server and create an index in it named &#039;&#039;&#039;moodle&#039;&#039;&#039; to add moodle data to it.&lt;br /&gt;
&lt;br /&gt;
    #!/bin/bash&lt;br /&gt;
    set -e&lt;br /&gt;
    SOLRVERSION=5.4.1&lt;br /&gt;
    SOLRNAME=solr-$SOLRVERSION&lt;br /&gt;
    SOLRTAR=$SOLRNAME&#039;.tgz&#039;&lt;br /&gt;
    INDEXNAME=moodle&lt;br /&gt;
    if [ -d $SOLRNAME ]; then&lt;br /&gt;
        echo &amp;quot;Error: Directory $SOLRNAME already exists, remove it before starting the setup again.&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    fi&lt;br /&gt;
    if [ ! -f $SOLRTAR ]; then&lt;br /&gt;
        wget http://www-us.apache.org/dist/lucene/solr/$SOLRVERSION/$SOLRTAR&lt;br /&gt;
    fi&lt;br /&gt;
    tar -xvzf $SOLRTAR&lt;br /&gt;
    cd $SOLRNAME&lt;br /&gt;
    bin/solr start&lt;br /&gt;
    bin/solr create -c $INDEXNAME&lt;br /&gt;
    # After setting it up and creating the index use:&lt;br /&gt;
    # - &amp;quot;/yourdirectory/solrdir/bin/solr start&amp;quot; from CLI to start the server&lt;br /&gt;
    # - &amp;quot;/yourdirectory/solrdir/bin/solr stop&amp;quot; from CLI to stop the server.&lt;br /&gt;
&lt;br /&gt;
=====Solr 5/6 schema setup=====&lt;br /&gt;
&lt;br /&gt;
Moodle will use Solr&#039;s managed schema interface to install the required fields. You will be directed on what to do from the Manage global search page.&lt;br /&gt;
&lt;br /&gt;
For very large or busy sites, it is recommended that you manually remove the &#039;&#039;&#039;_text_&#039;&#039;&#039; field, and associated copy directive from, the default Solr schema. This field is not used by Moodle, and will significantly slow indexing, and increase the size of the resulting Solr core.&lt;br /&gt;
&lt;br /&gt;
=====Solr 4 schema setup=====&lt;br /&gt;
&lt;br /&gt;
You cannot  use the schema setup script when using a Solr 4 server. If you really want to use the Solr 4x branch, here are the field types descriptions:&lt;br /&gt;
&lt;br /&gt;
Extracted from search/classes/document.php&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field name&lt;br /&gt;
! Field type&lt;br /&gt;
! Stored&lt;br /&gt;
! Indexed&lt;br /&gt;
! Query field&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| org.apache.solr.schema.StrField&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| itemid&lt;br /&gt;
| org.apache.solr.schema.TrieIntField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| title&lt;br /&gt;
| org.apache.solr.schema.TextField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| content&lt;br /&gt;
| org.apache.solr.schema.TextField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| contextid&lt;br /&gt;
| org.apache.solr.schema.TrieIntField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| areaid&lt;br /&gt;
| org.apache.solr.schema.StrField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| type&lt;br /&gt;
| org.apache.solr.schema.TrieIntField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| courseid&lt;br /&gt;
| org.apache.solr.schema.TrieIntField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| owneruserid&lt;br /&gt;
| org.apache.solr.schema.TrieIntField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| modified&lt;br /&gt;
| org.apache.solr.schema.TrieDateField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| userid&lt;br /&gt;
| org.apache.solr.schema.TrieIntField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| description1&lt;br /&gt;
| org.apache.solr.schema.TextField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| description2&lt;br /&gt;
| org.apache.solr.schema.TextField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
|-&lt;br /&gt;
| solr_filegroupingid&lt;br /&gt;
| org.apache.solr.schema.StrField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| solr_fileid&lt;br /&gt;
| org.apache.solr.schema.StrField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| solr_filecontenthash&lt;br /&gt;
| org.apache.solr.schema.StrField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| solr_fileindexstatus&lt;br /&gt;
| org.apache.solr.schema.TrieIntField&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
| false&lt;br /&gt;
|-&lt;br /&gt;
| solr_filecontent&lt;br /&gt;
| org.apache.solr.schema.TextField&lt;br /&gt;
| false&lt;br /&gt;
| true&lt;br /&gt;
| true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=====Memory and File indexing considerations=====&lt;br /&gt;
&lt;br /&gt;
For large sites, and particularly if you are using the File indexing feature, it&#039;s a good idea to give Solr plenty of memory, eg aound 10-20GB. To start Solr with more than its default 512MB of RAM, use the &#039;&#039;-m&#039;&#039; option: &lt;br /&gt;
 solr start -m 12g&lt;br /&gt;
&lt;br /&gt;
See the documents for your version of Solr on how to increases memory when Solr is started automatically.&lt;br /&gt;
&lt;br /&gt;
=====Too many boolean clauses error=====&lt;br /&gt;
&lt;br /&gt;
Because of the way Moodle handles permissions for searches, if you have non-admin users with access to a large number of activities (&amp;gt;1000), they may an error similar to the following:&lt;br /&gt;
&lt;br /&gt;
    The query you provided could not be parsed by the search engine: org.apache.solr.search.SyntaxError: Cannot parse &lt;br /&gt;
    ...&lt;br /&gt;
    too many boolean clauses&lt;br /&gt;
&lt;br /&gt;
To correct this, you need to increase the &#039;&#039;maxBooleanClauses&#039;&#039; setting in your Solr core. The setting is located in &#039;&#039;corename/conf/solrconfig.xml&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This important note is included in the config file:&lt;br /&gt;
    ** WARNING **&lt;br /&gt;
    &lt;br /&gt;
    This option actually modifies a global Lucene property that&lt;br /&gt;
    will affect all SolrCores.  If multiple solrconfig.xml files&lt;br /&gt;
    disagree on this property, the value at any given moment will&lt;br /&gt;
    be based on the last SolrCore to be initialized.&lt;br /&gt;
&lt;br /&gt;
This means that for consistent behavior you should update this value for all cores in the Solr server.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=334938 Global search doesn&#039;t index plugins?] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[es:Búsqueda global]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=error/search/engineserverstatus&amp;diff=124246</id>
		<title>error/search/engineserverstatus</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=error/search/engineserverstatus&amp;diff=124246"/>
		<updated>2016-06-30T09:29:32Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Created page with &amp;quot;Search Engine is not available  There is a search enginge problem with your server. The Moodle administrator need to check the search engine configuration.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Search Engine is not available&lt;br /&gt;
&lt;br /&gt;
There is a search enginge problem with your server. The Moodle administrator need to check the search engine configuration.&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Security_FAQ&amp;diff=121281</id>
		<title>Security FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Security_FAQ&amp;diff=121281"/>
		<updated>2015-11-17T09:12:43Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: /* I have discovered Cross Site Scripting (XSS) is possible with Moodle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}}&lt;br /&gt;
==How do I report a security issue?==&lt;br /&gt;
&lt;br /&gt;
See [[:dev:Moodle security procedures|Moodle security procedures]] in the dev docs for details on how to report a security issue.&lt;br /&gt;
&lt;br /&gt;
Previously fixed security issues are listed in the [http://moodle.org/security/ Moodle.org Security news]. If you are unsure whether a problem has been fixed or not, it&#039;s best to report it anyway.&lt;br /&gt;
&lt;br /&gt;
==How can I keep my site secure?==&lt;br /&gt;
&lt;br /&gt;
It&#039;s good practice to always use the latest stable release of the version you are using. It is safe to upgrade to a more recent version on the branch you are using, say from Moodle 2.X.1 to the latest version on the 2.X branch. [[Git for Administrators|Downloading via Git]] makes it very easy way to do this.&lt;br /&gt;
&lt;br /&gt;
==How do I keep track of recent security issues?==&lt;br /&gt;
&lt;br /&gt;
* [[Site registration | Register your Moodle site with moodle.org]], making sure to enable the option of being notified about security issues and updates. After your registration is accepted, your email address will be automatically added to our low-volume security alerts mailing list.&lt;br /&gt;
&lt;br /&gt;
* Eventually, all important security issues are published to the general public via the [http://moodle.org/mod/forum/view.php?f=996 Moodle Security forum]. You can subscribe to the forum or [http://twitter.com/moodlesecurity follow moodlesecurity on Twitter].&lt;br /&gt;
&lt;br /&gt;
==Who is able to view security issues in the Tracker?==&lt;br /&gt;
&lt;br /&gt;
Depending upon the security level of a Tracker issue, access is restricted to developers, testers or members of the security team.&lt;br /&gt;
&lt;br /&gt;
==Which versions of Moodle are supported?==&lt;br /&gt;
&lt;br /&gt;
Currently supported versions are listed on [http://download.moodle.org/ download.moodle.org].&lt;br /&gt;
&lt;br /&gt;
==My site was hacked. What do I do?==&lt;br /&gt;
&lt;br /&gt;
See [[Hacked site recovery]].&lt;br /&gt;
&lt;br /&gt;
==How can I reduce spam in Moodle?==&lt;br /&gt;
&lt;br /&gt;
See [[Reducing spam in Moodle]].&lt;br /&gt;
&lt;br /&gt;
==How can I increase privacy in Moodle?==&lt;br /&gt;
&lt;br /&gt;
See [[Increasing privacy in Moodle]].&lt;br /&gt;
&lt;br /&gt;
==How do I enable reCAPTCHA?==&lt;br /&gt;
&lt;br /&gt;
To add spam protection to the [[Email-based self-registration]] new account form with a CAPTCHA element:&lt;br /&gt;
&lt;br /&gt;
#Obtain a reCAPTCHA key from http://recaptcha.net by [https://admin.recaptcha.net/accounts/signup/?next= signing up for an account] (free) then entering a domain.&lt;br /&gt;
#Copy and paste the public and private keys provided into the &#039;&#039;recaptchapublickey&#039;&#039; and &#039;&#039;recaptchaprivatekey&#039;&#039; fields in the manage authentication common settings in &#039;&#039;Administration &amp;gt; Plugins &amp;gt; Authentication &amp;gt; [[Manage authentication]]&#039;&#039;.&lt;br /&gt;
#Click the &amp;quot;Save changes&amp;quot; button at the bottom of the page.&lt;br /&gt;
#Follow the settings link for email-based self-registration in &#039;&#039;Administration &amp;gt; Plugins &amp;gt; Authentication &amp;gt; Manage authentication&#039;&#039; and enable the reCAPTCHA element.&lt;br /&gt;
#Click the &amp;quot;Save changes&amp;quot; button at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
==How can I run the security overview report?==&lt;br /&gt;
&lt;br /&gt;
To run the [[Security overview|security overview report]], go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Reports &amp;gt; Security overview&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== I have discovered Cross Site Scripting (XSS) is possible with Moodle ==&lt;br /&gt;
&lt;br /&gt;
Some forms of rich content used by teachers to enhance their courses use the same technologies that malicious users can use for cross-site scripting attacks. If Moodle was solely concerned with security, it would not allow this. However, Moodle is also concerned with education and so a balance has to be struck between securing the system and supporting teachers with their needs.&lt;br /&gt;
&lt;br /&gt;
In order to strike a balance between authoring rich educational content and securing the system, access to post XSS-capable content is controlled by capabilites flagged with the &#039;XSS risk&#039; - see [[Risks]]. In general this means that admins and teachers can post XSS-capable content, but students can not - see [[XSS_trusted_users]].&lt;br /&gt;
&lt;br /&gt;
Occasionally security bugs are discovered in Moodle&#039;s handling of XSS capable content and we are greatful to the community for reporting these through [https://docs.moodle.org/dev/Moodle_security_procedures responsible disclosure].  Before reporting an XSS bug to Moodle, please ensure that the user posting the XSS content does not have capabilities flagged with the XSS risk.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=7301 Security and Privacy forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Security_FAQ&amp;diff=121280</id>
		<title>Security FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Security_FAQ&amp;diff=121280"/>
		<updated>2015-11-17T09:12:25Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: /* I have discovered Cross Site Scripting (XSS) is possible with Moodle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}}&lt;br /&gt;
==How do I report a security issue?==&lt;br /&gt;
&lt;br /&gt;
See [[:dev:Moodle security procedures|Moodle security procedures]] in the dev docs for details on how to report a security issue.&lt;br /&gt;
&lt;br /&gt;
Previously fixed security issues are listed in the [http://moodle.org/security/ Moodle.org Security news]. If you are unsure whether a problem has been fixed or not, it&#039;s best to report it anyway.&lt;br /&gt;
&lt;br /&gt;
==How can I keep my site secure?==&lt;br /&gt;
&lt;br /&gt;
It&#039;s good practice to always use the latest stable release of the version you are using. It is safe to upgrade to a more recent version on the branch you are using, say from Moodle 2.X.1 to the latest version on the 2.X branch. [[Git for Administrators|Downloading via Git]] makes it very easy way to do this.&lt;br /&gt;
&lt;br /&gt;
==How do I keep track of recent security issues?==&lt;br /&gt;
&lt;br /&gt;
* [[Site registration | Register your Moodle site with moodle.org]], making sure to enable the option of being notified about security issues and updates. After your registration is accepted, your email address will be automatically added to our low-volume security alerts mailing list.&lt;br /&gt;
&lt;br /&gt;
* Eventually, all important security issues are published to the general public via the [http://moodle.org/mod/forum/view.php?f=996 Moodle Security forum]. You can subscribe to the forum or [http://twitter.com/moodlesecurity follow moodlesecurity on Twitter].&lt;br /&gt;
&lt;br /&gt;
==Who is able to view security issues in the Tracker?==&lt;br /&gt;
&lt;br /&gt;
Depending upon the security level of a Tracker issue, access is restricted to developers, testers or members of the security team.&lt;br /&gt;
&lt;br /&gt;
==Which versions of Moodle are supported?==&lt;br /&gt;
&lt;br /&gt;
Currently supported versions are listed on [http://download.moodle.org/ download.moodle.org].&lt;br /&gt;
&lt;br /&gt;
==My site was hacked. What do I do?==&lt;br /&gt;
&lt;br /&gt;
See [[Hacked site recovery]].&lt;br /&gt;
&lt;br /&gt;
==How can I reduce spam in Moodle?==&lt;br /&gt;
&lt;br /&gt;
See [[Reducing spam in Moodle]].&lt;br /&gt;
&lt;br /&gt;
==How can I increase privacy in Moodle?==&lt;br /&gt;
&lt;br /&gt;
See [[Increasing privacy in Moodle]].&lt;br /&gt;
&lt;br /&gt;
==How do I enable reCAPTCHA?==&lt;br /&gt;
&lt;br /&gt;
To add spam protection to the [[Email-based self-registration]] new account form with a CAPTCHA element:&lt;br /&gt;
&lt;br /&gt;
#Obtain a reCAPTCHA key from http://recaptcha.net by [https://admin.recaptcha.net/accounts/signup/?next= signing up for an account] (free) then entering a domain.&lt;br /&gt;
#Copy and paste the public and private keys provided into the &#039;&#039;recaptchapublickey&#039;&#039; and &#039;&#039;recaptchaprivatekey&#039;&#039; fields in the manage authentication common settings in &#039;&#039;Administration &amp;gt; Plugins &amp;gt; Authentication &amp;gt; [[Manage authentication]]&#039;&#039;.&lt;br /&gt;
#Click the &amp;quot;Save changes&amp;quot; button at the bottom of the page.&lt;br /&gt;
#Follow the settings link for email-based self-registration in &#039;&#039;Administration &amp;gt; Plugins &amp;gt; Authentication &amp;gt; Manage authentication&#039;&#039; and enable the reCAPTCHA element.&lt;br /&gt;
#Click the &amp;quot;Save changes&amp;quot; button at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
==How can I run the security overview report?==&lt;br /&gt;
&lt;br /&gt;
To run the [[Security overview|security overview report]], go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Reports &amp;gt; Security overview&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== I have discovered Cross Site Scripting (XSS) is possible with Moodle ==&lt;br /&gt;
&lt;br /&gt;
Some forms of rich content used by teachers to enhance their courses use the same technologies that malicious users can use for cross-site scripting attacks. If Moodle was solely concerned with security, it would not allow this. However, Moodle is also concerned with education and so a balance has to be struck between securing the system and supporting teachers with their needs.&lt;br /&gt;
&lt;br /&gt;
In order to strike a balance between authoring rich educational content and securing the system, access to post XSS-capable content is controlled by capabilites flagged with the &#039;XSS risk&#039; - see [[Risks]]. In general this means that admins and teachers can post XSS-capable content, but students can not - see [[XSS_trusted_users]].&lt;br /&gt;
&lt;br /&gt;
Occasionally security bugs are discovered in Moodle&#039;s handling of XSS capable content and we are greatful to the community for reporting these through [https://docs.moodle.org/dev/Moodle_security_procedures|responsible disclosure].  Before reporting an XSS bug to Moodle, please ensure that the user posting the XSS content does not have capabilities flagged with the XSS risk.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=7301 Security and Privacy forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Security_FAQ&amp;diff=121279</id>
		<title>Security FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Security_FAQ&amp;diff=121279"/>
		<updated>2015-11-17T09:00:45Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: FAQ about XSS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}}&lt;br /&gt;
==How do I report a security issue?==&lt;br /&gt;
&lt;br /&gt;
See [[:dev:Moodle security procedures|Moodle security procedures]] in the dev docs for details on how to report a security issue.&lt;br /&gt;
&lt;br /&gt;
Previously fixed security issues are listed in the [http://moodle.org/security/ Moodle.org Security news]. If you are unsure whether a problem has been fixed or not, it&#039;s best to report it anyway.&lt;br /&gt;
&lt;br /&gt;
==How can I keep my site secure?==&lt;br /&gt;
&lt;br /&gt;
It&#039;s good practice to always use the latest stable release of the version you are using. It is safe to upgrade to a more recent version on the branch you are using, say from Moodle 2.X.1 to the latest version on the 2.X branch. [[Git for Administrators|Downloading via Git]] makes it very easy way to do this.&lt;br /&gt;
&lt;br /&gt;
==How do I keep track of recent security issues?==&lt;br /&gt;
&lt;br /&gt;
* [[Site registration | Register your Moodle site with moodle.org]], making sure to enable the option of being notified about security issues and updates. After your registration is accepted, your email address will be automatically added to our low-volume security alerts mailing list.&lt;br /&gt;
&lt;br /&gt;
* Eventually, all important security issues are published to the general public via the [http://moodle.org/mod/forum/view.php?f=996 Moodle Security forum]. You can subscribe to the forum or [http://twitter.com/moodlesecurity follow moodlesecurity on Twitter].&lt;br /&gt;
&lt;br /&gt;
==Who is able to view security issues in the Tracker?==&lt;br /&gt;
&lt;br /&gt;
Depending upon the security level of a Tracker issue, access is restricted to developers, testers or members of the security team.&lt;br /&gt;
&lt;br /&gt;
==Which versions of Moodle are supported?==&lt;br /&gt;
&lt;br /&gt;
Currently supported versions are listed on [http://download.moodle.org/ download.moodle.org].&lt;br /&gt;
&lt;br /&gt;
==My site was hacked. What do I do?==&lt;br /&gt;
&lt;br /&gt;
See [[Hacked site recovery]].&lt;br /&gt;
&lt;br /&gt;
==How can I reduce spam in Moodle?==&lt;br /&gt;
&lt;br /&gt;
See [[Reducing spam in Moodle]].&lt;br /&gt;
&lt;br /&gt;
==How can I increase privacy in Moodle?==&lt;br /&gt;
&lt;br /&gt;
See [[Increasing privacy in Moodle]].&lt;br /&gt;
&lt;br /&gt;
==How do I enable reCAPTCHA?==&lt;br /&gt;
&lt;br /&gt;
To add spam protection to the [[Email-based self-registration]] new account form with a CAPTCHA element:&lt;br /&gt;
&lt;br /&gt;
#Obtain a reCAPTCHA key from http://recaptcha.net by [https://admin.recaptcha.net/accounts/signup/?next= signing up for an account] (free) then entering a domain.&lt;br /&gt;
#Copy and paste the public and private keys provided into the &#039;&#039;recaptchapublickey&#039;&#039; and &#039;&#039;recaptchaprivatekey&#039;&#039; fields in the manage authentication common settings in &#039;&#039;Administration &amp;gt; Plugins &amp;gt; Authentication &amp;gt; [[Manage authentication]]&#039;&#039;.&lt;br /&gt;
#Click the &amp;quot;Save changes&amp;quot; button at the bottom of the page.&lt;br /&gt;
#Follow the settings link for email-based self-registration in &#039;&#039;Administration &amp;gt; Plugins &amp;gt; Authentication &amp;gt; Manage authentication&#039;&#039; and enable the reCAPTCHA element.&lt;br /&gt;
#Click the &amp;quot;Save changes&amp;quot; button at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
==How can I run the security overview report?==&lt;br /&gt;
&lt;br /&gt;
To run the [[Security overview|security overview report]], go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Reports &amp;gt; Security overview&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== I have discovered Cross Site Scripting (XSS) is possible with Moodle ==&lt;br /&gt;
&lt;br /&gt;
Some forms of rich content used by teachers to enhance their courses use the same technologies that malicious users can use for cross-site scripting attacks. If Moodle was solely concerned with security, it would not allow this. However, Moodle is also concerned with education and so a balance has to be struck between securing the system and supporting teachers with their needs.&lt;br /&gt;
&lt;br /&gt;
In order to strike a balance between authoring rich educational content and securing the system, access to post XSS-capable content is controlled by capabilites flagged with the &#039;XSS risk&#039; - see [[Risks]]. In general this means that admins and teachers can post XSS-capable content, but students can not - see [[XSS_trusted_users]].&lt;br /&gt;
&lt;br /&gt;
Occasionally security bugs are discovered in Moodle&#039;s handling of XSS capable content and we are greatful to the community for reporting these through [https://docs.moodle.org/dev/Moodle_security_procedures| responsible disclosure].  Before reporting an XSS bug to Moodle, please ensure that the user posting the XSS content does not have capabilities flagged with the XSS risk.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=7301 Security and Privacy forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Talk:Upload_users&amp;diff=115235</id>
		<title>Talk:Upload users</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Talk:Upload_users&amp;diff=115235"/>
		<updated>2014-10-14T14:45:45Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: I convinced Paul to update the page :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notes from Moodle 2.1 uploaduser.php==&lt;br /&gt;
firstname, lastname, username, email, city, country, lang, timezone, mailformat, maildisplay, maildigest, htmleditor, ajax, autosubscribe ,institution, department , idnumber, skype , msn, aim, yahoo, icq, phone1, phone2, address, url, description, descriptionformat, password, auth, oldusername , deleted, course1, course2, course3, course4  &lt;br /&gt;
		        &lt;br /&gt;
// watch out when changing auth type or using external auth plugins!&lt;br /&gt;
// use oldusername when renaming users - this is the original username&lt;br /&gt;
// 1 means delete user&lt;br /&gt;
//course# not sure about these put short course name&lt;br /&gt;
&lt;br /&gt;
--[[User:chris collman|chris collman]] 21:22, 22 November 2011 (WST)&lt;br /&gt;
&lt;br /&gt;
==ISO Website broken link==&lt;br /&gt;
The [http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm english_country_names_and_code_elements.htm] link on the iso.org website is no longer valid. The [http://web.archive.org/web/20110721031148/http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm Web Archive] copy of that page indicates that the same info is now on [http://www.iso.org/iso/country_names_and_code_elements http://www.iso.org/iso/country_names_and_code_elements], so I&#039;m updating the link.&lt;br /&gt;
&lt;br /&gt;
--[[User:Luis de Vasconcelos|Luis de Vasconcelos]] 14:52, 13 July 2012 (WST)&lt;br /&gt;
&lt;br /&gt;
:Thanks Luis for your help :-) --[[User:Helen Foster|Helen Foster]] 17:34, 18 July 2012 (WST)&lt;br /&gt;
&lt;br /&gt;
== Role field ==&lt;br /&gt;
&lt;br /&gt;
In the description of the field TYPE some id&#039;s are mentioned. Please be aware that these are not the same as you should use in the column ROLE. In ROLE you should use the ID of the roles that can be found through &#039;Define roles&#039;. Can&#039;t quite figure out what TYPE is meant for.&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Talk:Upload_users&amp;diff=115232</id>
		<title>Talk:Upload users</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Talk:Upload_users&amp;diff=115232"/>
		<updated>2014-10-14T14:04:24Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: dumping rather than fixing..&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notes from Moodle 2.1 uploaduser.php==&lt;br /&gt;
firstname, lastname, username, email, city, country, lang, timezone, mailformat, maildisplay, maildigest, htmleditor, ajax, autosubscribe ,institution, department , idnumber, skype , msn, aim, yahoo, icq, phone1, phone2, address, url, description, descriptionformat, password, auth, oldusername , deleted, course1, course2, course3, course4  &lt;br /&gt;
		        &lt;br /&gt;
// watch out when changing auth type or using external auth plugins!&lt;br /&gt;
// use oldusername when renaming users - this is the original username&lt;br /&gt;
// 1 means delete user&lt;br /&gt;
//course# not sure about these put short course name&lt;br /&gt;
&lt;br /&gt;
--[[User:chris collman|chris collman]] 21:22, 22 November 2011 (WST)&lt;br /&gt;
&lt;br /&gt;
==ISO Website broken link==&lt;br /&gt;
The [http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm english_country_names_and_code_elements.htm] link on the iso.org website is no longer valid. The [http://web.archive.org/web/20110721031148/http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm Web Archive] copy of that page indicates that the same info is now on [http://www.iso.org/iso/country_names_and_code_elements http://www.iso.org/iso/country_names_and_code_elements], so I&#039;m updating the link.&lt;br /&gt;
&lt;br /&gt;
--[[User:Luis de Vasconcelos|Luis de Vasconcelos]] 14:52, 13 July 2012 (WST)&lt;br /&gt;
&lt;br /&gt;
:Thanks Luis for your help :-) --[[User:Helen Foster|Helen Foster]] 17:34, 18 July 2012 (WST)&lt;br /&gt;
&lt;br /&gt;
== Role field ==&lt;br /&gt;
&lt;br /&gt;
In the description of the field TYPE some id&#039;s are mentioned. Please be aware that these are not the same as you should use in the column ROLE. In ROLE you should use the ID of the roles that can be found through &#039;Define roles&#039;. Can&#039;t quite figure out what TYPE is meant for.&lt;br /&gt;
&lt;br /&gt;
== Enrollment fields might need some review == &lt;br /&gt;
Currently the docs for the enrollment fields are not very clear and say:&lt;br /&gt;
`course1,type1,role1,group1,enrolperiod1,enrolstatus1/course2,type2,role2,group2,enrolperiod2/enrolstatus2`&lt;br /&gt;
This looks a bit odd and might be incorrect, I haven&#039;t had a chance to test - but it&#039;d be great if someone could review that section and test it. --[[User:Dan Poltawski|Dan Poltawski]] ([[User talk:Dan Poltawski|talk]]) 22:04, 14 October 2014 (WST)&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=113750</id>
		<title>Upgrading</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=113750"/>
		<updated>2014-07-17T10:51:41Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: MDLSITE-3246 Formal white now in plugins DB&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, but not for upgrades. You may wish to disable the Tex filter and enable the MathJax filter. 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;
&#039;&#039;Items to be added here...&#039;&#039;&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;
=== 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>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Sandbox&amp;diff=113177</id>
		<title>Sandbox</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Sandbox&amp;diff=113177"/>
		<updated>2014-06-16T16:27:57Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: /* Testing gallery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test page for docs&lt;br /&gt;
&lt;br /&gt;
Testing email notification&lt;br /&gt;
&lt;br /&gt;
-Testing-&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Col1&lt;br /&gt;
!Col2&lt;br /&gt;
|-&lt;br /&gt;
|Test1&lt;br /&gt;
|Test2&lt;br /&gt;
|-&lt;br /&gt;
|Test1&lt;br /&gt;
|Test2&lt;br /&gt;
|-&lt;br /&gt;
|Test1&lt;br /&gt;
|Test2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Functions and Examples==&lt;br /&gt;
&lt;br /&gt;
Following are the functions that constitute the basic log API for Moodle.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 add_to_log($courseid, $module, $action, $url=&#039;&#039;, $info=&#039;&#039;, $cm=0, $user=0)&lt;br /&gt;
 user_accesstime_log($courseid=0)&lt;br /&gt;
 get_logs($select, array $params=null, $order=&#039;l.time DESC&#039;, $limitfrom=&#039;&#039;, $limitnum=&#039;&#039;, &amp;amp;$totalcount)&lt;br /&gt;
 get_logs_usercourse($userid, $courseid, $coursestart)&lt;br /&gt;
 get_logs_userday($userid, $courseid, $daystart)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
The basic working of these functions can be categorized in two categories:-&lt;br /&gt;
# Adding data to logs&lt;br /&gt;
# Fetching data from logs&lt;br /&gt;
Let us take a deeper look into both of these:-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;something in pre tags&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Testing gallery==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed-hover&amp;quot;&amp;gt;&lt;br /&gt;
File:Atto_27.jpg|Atto &lt;br /&gt;
File:Clean27.jpg|Clean&lt;br /&gt;
File:MathJax.jpg|MathJax&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Sandbox&amp;diff=113176</id>
		<title>Sandbox</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Sandbox&amp;diff=113176"/>
		<updated>2014-06-16T16:25:28Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Testing gallery&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test page for docs&lt;br /&gt;
&lt;br /&gt;
Testing email notification&lt;br /&gt;
&lt;br /&gt;
-Testing-&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
!Col1&lt;br /&gt;
!Col2&lt;br /&gt;
|-&lt;br /&gt;
|Test1&lt;br /&gt;
|Test2&lt;br /&gt;
|-&lt;br /&gt;
|Test1&lt;br /&gt;
|Test2&lt;br /&gt;
|-&lt;br /&gt;
|Test1&lt;br /&gt;
|Test2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Functions and Examples==&lt;br /&gt;
&lt;br /&gt;
Following are the functions that constitute the basic log API for Moodle.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 add_to_log($courseid, $module, $action, $url=&#039;&#039;, $info=&#039;&#039;, $cm=0, $user=0)&lt;br /&gt;
 user_accesstime_log($courseid=0)&lt;br /&gt;
 get_logs($select, array $params=null, $order=&#039;l.time DESC&#039;, $limitfrom=&#039;&#039;, $limitnum=&#039;&#039;, &amp;amp;$totalcount)&lt;br /&gt;
 get_logs_usercourse($userid, $courseid, $coursestart)&lt;br /&gt;
 get_logs_userday($userid, $courseid, $daystart)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
The basic working of these functions can be categorized in two categories:-&lt;br /&gt;
# Adding data to logs&lt;br /&gt;
# Fetching data from logs&lt;br /&gt;
Let us take a deeper look into both of these:-&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;something in pre tags&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Testing gallery==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed-hover&amp;quot;&amp;gt;&lt;br /&gt;
File:Atto_27.jpg&lt;br /&gt;
File:Clean27.jpg&lt;br /&gt;
File:MathJax.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Template:Infobox_plugin&amp;diff=113088</id>
		<title>Template:Infobox plugin</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Template:Infobox_plugin&amp;diff=113088"/>
		<updated>2014-06-11T19:51:44Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Removed inline styles and coverted to new theme format. MDLSITE-3140&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;sideblock&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;[[{{PAGENAME}}]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Type&lt;br /&gt;
| {{{type}}}&lt;br /&gt;
|-&lt;br /&gt;
| Set&lt;br /&gt;
| {{{set|N/A}}}&lt;br /&gt;
|-&lt;br /&gt;
| Downloads&lt;br /&gt;
| {{{entry}}}&lt;br /&gt;
|-&lt;br /&gt;
| Issues&lt;br /&gt;
| {{{tracker}}}&lt;br /&gt;
|-&lt;br /&gt;
| Discussion&lt;br /&gt;
| {{{discussion}}}&lt;br /&gt;
|-&lt;br /&gt;
| Maintainer(s)&lt;br /&gt;
| {{{maintainer}}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Copy and complete the following code to obtain an infobox listing details of the plugin:&lt;br /&gt;
&amp;lt;pre  style=&amp;quot;width:40em&amp;quot;&amp;gt;&lt;br /&gt;
{{Infobox plugin&lt;br /&gt;
|type = Enter the plugin type e.g. activity, block, filter&lt;br /&gt;
|set = (optional) Enter the plugin&#039;s set link&lt;br /&gt;
|entry = Enter the plugins directory link&lt;br /&gt;
|tracker = Enter the Tracker CONTRIB component link&lt;br /&gt;
|discussion = Enter the link to the forum or discussion thread&lt;br /&gt;
|maintainer = [[User:Maintainer name|Maintainer name]]&lt;br /&gt;
|float = (optional) Enter right or left to make the info box float to the respective side.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: If there is not yet a discussion thread about the plugin, please create one in the [http://moodle.org/mod/forum/view.php?id=44 General add-ons forum].&lt;br /&gt;
&lt;br /&gt;
This template will also categorize articles that include it as [[:Category:Add-on]].&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;[[Category:Add-on]]&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Installing_MSSQL_for_PHP&amp;diff=112787</id>
		<title>Installing MSSQL for PHP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Installing_MSSQL_for_PHP&amp;diff=112787"/>
		<updated>2014-05-28T14:14:46Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Nicer table styling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This short manual is suitable if you are trying to run Moodle using the SQL*Server (MSSQL) RDBMS. Steps detailed below must be performed &#039;&#039;&#039;before&#039;&#039;&#039; installing Moodle itself.&lt;br /&gt;
&lt;br /&gt;
Some of this may also apply if you wish to access an MSSQL server for external db authentication/enrollment. &lt;br /&gt;
&lt;br /&gt;
First of all, minimum required version of MSSQL has been stabilised to MSSQL 2005 (v.9).&lt;br /&gt;
&lt;br /&gt;
While PHP comes with one, more or less, standard extension (mssql) that provides access to MSSQL databases, early we found some hard limits on it. Basically such default extension has some limits that prevent us to use it at all (you can find more info about these problems [[Development:XMLDB problems#MSSQL, PHP, UTF-8 and UCS-2|here]]).&lt;br /&gt;
&lt;br /&gt;
So, in order to allow PHP (i.e. Moodle) to access to MSSQL DBs properly we have to install a &#039;&#039;&#039;mssql extension alternative&#039;&#039;&#039; to save us from the problems related above. See the sections below for details about the various options.&lt;br /&gt;
&lt;br /&gt;
== Installation overview ==&lt;br /&gt;
&lt;br /&gt;
1. Get MSSQL Server installed and running. ([http://www.microsoft.com/sql/editions/express/default.mspx A free limited version, SQL Server Express Edition] is available for testing.)&lt;br /&gt;
:Make sure that you choose mixed authentication (Windows and local accounts) to keep things simpler later.  You&#039;ll be asked to define the  &amp;quot;sa&amp;quot; account password (it&#039;s the default System Administrator account which has full access to all databases by default).&lt;br /&gt;
&lt;br /&gt;
2. Make sure MS SQL Server can accept incoming TCP/IP connections on port 1433 (the standard one).&lt;br /&gt;
:You might need to explicitly allow this in your Windows firewall (see the Control Panel).  You may also need to edit options in the :&#039;&#039;&#039;SQL Server Configuration Manager&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Network Configuration&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;Protocols&#039;&#039;&#039; -&amp;gt; &#039;&#039;&#039;TCP/IP enabled&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3. Open the &amp;quot;SQL Server Management Studio&amp;quot; and create a new empty database.  If you are using the &amp;quot;sa&amp;quot; account then you don&#039;t need to do anything else here.&lt;br /&gt;
&lt;br /&gt;
4. Configure these settings in your created (and still empty) database:&lt;br /&gt;
Configure these settings in your created (and still empty) database:&lt;br /&gt;
:*Use a case sensitive collation, such as Latin1_General_CS_AS.&lt;br /&gt;
:*ANSI NULLS Enabled = True (ALTER DATABASE xxxx SET ANSI_NULLS ON)&lt;br /&gt;
:*Quoted Identifiers Enabled = True (ALTER DATABASE xxxx SET QUOTED_IDENTIFIER ON)&lt;br /&gt;
:*Is Read Committed transaction ON = True (ALTER DATABASE xxxx SET READ_COMMITTED_SNAPSHOT ON)&lt;br /&gt;
:** In older versions this is not settable via the DB properties. To set READ_COMMITTED_SNAPSHOT, there must be no active connections to the database except for the connection executing the ALTER command. If you are viewing the DB in the Server Management Studio, disconnect from any servers in the &amp;quot;Object Explorer&amp;quot; (right-click &amp;gt; Disconnect), then create a &amp;quot;New Query&amp;quot; and run the ALTER command. See http://msdn.microsoft.com/en-us/library/bb522682.aspx for details.&lt;br /&gt;
:** If your DB name starts with a number, you may need to put quotes around the DB name in the query.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Get PHP installed with a web server.   Unless you want to do it under IIS or some other way, the packages on the [http://download.moodle.org Moodle download page] are a good solution.&lt;br /&gt;
&lt;br /&gt;
6. Choose one of the following specific sections for your server to install the &#039;&#039;&#039;mssql extension alternative&#039;&#039;&#039; installed and running properly on your PHP box.&lt;br /&gt;
&lt;br /&gt;
7. Set the following settings in your php.ini file&lt;br /&gt;
:* mssql.textlimit = 20971520&lt;br /&gt;
:* mssql.textsize = 20971520&lt;br /&gt;
&lt;br /&gt;
8. With all this properly configured, you can continue with a [[Installing Moodle|standard Moodle installation]].&lt;br /&gt;
&lt;br /&gt;
== Microsoft Drivers for SQL Server for PHP ==&lt;br /&gt;
&lt;br /&gt;
In July 2008 Microsoft [http://social.msdn.microsoft.com/forums/en-US/sqldriverforphp/thread/a10e5202-9e41-4ff8-a33e-fbcc7b951be2/ released] a new SQL Server Driver for PHP. This is a PHP extension that allows PHP scripts to read and write data on Microsoft SQL Server databases and it overcomes the problems with the native SQL Server extension that was previously bundled with PHP.&lt;br /&gt;
&lt;br /&gt;
When using [[IIS]] it is strongly recommended to use the official Microsoft PHP installer from http://php.iis.net/, it should include the latest version of necessary drivers and it also simplifies future upgrades and configuration.&lt;br /&gt;
&lt;br /&gt;
For Windows servers with [[Apache]] see http://www.microsoft.com/en-us/download/details.aspx?id=20098.&lt;br /&gt;
&lt;br /&gt;
To know more about how to run Moodle with these drivers go to [[Using the Microsoft SQL Server Driver for PHP]].&lt;br /&gt;
&lt;br /&gt;
== Using FreeTDS on Windows ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;Important Note 1:&#039;&#039;&#039; Due to some previous bugs it&#039;s highly recommendable to use PHP &amp;gt;= 5.2.6 and FreeTDS 0.82 + post-release patches ([http://tracker.moodle.org/browse/MDL-14725 more info]).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your web server is on Windows, use &#039;&#039;&#039;php_dblib.dll&#039;&#039;&#039;. Despite the name, it&#039;s FreeTDS compiled for Windows. (Go to this page for information on [https://docs.moodle.org/en/FreeTDS Using FreeTDS for Unix].) &lt;br /&gt;
&lt;br /&gt;
Originally we were using the DLLs available at [http://kromann.info/article.php?Id=11062598797760000 Frank Kromann&#039;s site], but they are outdated (using old versions of FreeTDS) and that has caused [http://tracker.moodle.org/browse/MDL-14725 some problems] in the past.&lt;br /&gt;
&lt;br /&gt;
So, right now, the recommended way to use FreeTDS under Windows is to use PHP 5.2.x following the following instructions:&lt;br /&gt;
&lt;br /&gt;
1. Download the appropriate copy of php_dblib.dll from the list below, and save it into your /PHP/ext directory.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;table table-striped table-bordered&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PHP version !! [http://www.iis-aid.com/articles/my_word/difference_between_php_thread_safe_and_non_thread_safe_binaries Thread Safe]  !! FreeTDS version !! Download URL&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | PHP 5.2.x (vc6) || Yes || 0.82 + 20090302 patches || [http://download.moodle.org/download.php/dblib/php52/DBLIB_TS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| No || 0.82 + 20090302 patches || [http://download.moodle.org/download.php/dblib/php52/DBLIB_NOTS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | PHP 5.3.x (vc6) || Yes || 0.82 + 20090904 patches (unconfirmed) || [http://download.moodle.org/download.php/dblib/php53_vc6/DBLIB_TS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| No || 0.82 + 20090904 patches (unconfirmed) || [http://download.moodle.org/download.php/dblib/php53_vc6/DBLIB_NOTS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | PHP 5.3.x (vc9) || Yes || 0.82 + 20090904 patches || [http://download.moodle.org/download.php/dblib/php53_vc9/DBLIB_TS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| No || 0.82 + 20090904 patches || [http://download.moodle.org/download.php/dblib/php53_vc9/DBLIB_NOTS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | PHP 5.4.x (vc9) || Yes || 0.82 + 20110906 patches || [http://download.moodle.org/download.php/dblib/php54_vc9/DBLIB_TS.zip Download!] Mirrors: [http://inethub.olvi.net.ua/ftp/pub/soft/programming/php/ms%20sql%20driver%20for%20%20php%205.4.10/dblib_ts.zip 1] [ftp://inethub.olvi.net.ua/pub/soft/programming/php/ms%20sql%20driver%20for%20%20php%205.4.10/DBLIB_TS.zip 2 (ftp)] [http://www.sendspace.com/file/vtger3 3]&lt;br /&gt;
|-&lt;br /&gt;
| No || 0.82 + 20110906 patches || [http://download.moodle.org/download.php/dblib/php54_vc9/DBLIB_NOTS.zip Download!] Mirrors: [http://inethub.olvi.net.ua/ftp/pub/soft/programming/php/ms%20sql%20driver%20for%20%20php%205.4.10/dblib_nts.zip 1] [ftp://inethub.olvi.net.ua/pub/soft/programming/php/ms%20sql%20driver%20for%20%20php%205.4.10/DBLIB_NTS.zip 2 (ftp)] [http://www.sendspace.com/file/nkg2j4 3]&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | PHP 5.4.x (vc9) || Yes || 0.91.102 || [http://download.moodle.org/download.php/dblib/php54_vc9_091102/DBLIB_TS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| No || 0.91.102 || [http://download.moodle.org/download.php/dblib/php54_vc9_091102/DBLIB_NOTS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | PHP 5.5.x (vc11-x86) || Yes || 0.91.89 || [http://download.moodle.org/download.php/dblib/php55_vc11_x86/DBLIB_TS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| No || 0.91.89 || [http://download.moodle.org/download.php/dblib/php55_vc11_x86/DBLIB_NOTS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | PHP 5.5.x (vc11-x64) || Yes || 0.91.93 || [http://download.moodle.org/download.php/dblib/php55_vc11_x64/DBLIB_TS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| No || 0.91.93 || [http://download.moodle.org/download.php/dblib/php55_vc11_x64/DBLIB_NOTS.zip Download!]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |  Thanks to [http://remote-learner.net/ Remote-Learner]] (Moodle [http://moodle.com/partners/ Partner]) and specially to Bryan Williams, donating one Visual C++ 6.0 Pro license to Moodle. Thanks to Trevor Johnson and his builds of the dblib extensions. Thanks to Daniele, Doug, Luis, Sean and many others by their collaboration in MDL-14725. Thanks to Frediano Ziglio and James K. Lowden from [http://freetds.org freetds.org] by their support. Thanks to [[User:Alastair Hole|Alastair Hole]] and Matt Rusiniak for providing the PHP 5.3 builds of the libraries. Thanks to Enyby by providing the PHP 5.4 builds of the libraries. Thanks to David Aylmer and Matt Rusiniak for providing the PHP 5.5 builds of the libraries. Thanks!&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(alternatively here you can find some [[Development:Compiling FreeTDS under Windows|instructions to build those freetds extensions under win32]] yourself)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. FreeTDS requires the .NET Framework v1.1 to be installed.  You can [http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&amp;amp;DisplayLang=en download it from the Microsoft website] along with its [http://www.microsoft.com/downloads/details.aspx?FamilyID=a8f5654f-088e-40b2-bbdb-a83353618b38&amp;amp;DisplayLang=en service pack].  Alternatively, if you do not wish to install this framework, you can [http://kromann.info/ms-libs/msvcr71.dll download the required DLL] from Frank&#039;s site, and save it into your /PHP root directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Edit your /PHP/php.ini file and add this line:&lt;br /&gt;
&lt;br /&gt;
  extension=php_dblib.dll &lt;br /&gt;
&lt;br /&gt;
Make sure that any lines referring to the php_mssql.dll extension are DISABLED (commented out).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. When the PHP engine loads the FreeTDS extension it needs to be passed certain infiormation in order to be able to connect to your Moodle database. To retrieve this information FreeTDS looks for a file called &#039;&#039;&#039;freetds.conf&#039;&#039;&#039; in the root folder of the server that PHP installed on (e.g. C:\).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;freetds.conf&#039;&#039;&#039; should have the following structure:&lt;br /&gt;
&lt;br /&gt;
  [global]&lt;br /&gt;
      host = xxx.xxx.xxx.xxx (host name or ip of the MSSQL server)&lt;br /&gt;
      port = 1433&lt;br /&gt;
      client charset = UTF-8&lt;br /&gt;
      tds version = 8.0&lt;br /&gt;
      text size = 20971520&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to connect to a particular [http://msdn.microsoft.com/en-us/library/aa174516(SQL.80).aspx instance] of MSSQL you should specify the instance name:&lt;br /&gt;
&lt;br /&gt;
  [global]&lt;br /&gt;
      host = xxx.xxx.xxx.xxx (host name or ip of the MSSQL server)&lt;br /&gt;
      instance = xxx (instance name, e.g. INST2)&lt;br /&gt;
      port = 1433&lt;br /&gt;
      client charset = UTF-8&lt;br /&gt;
      tds version = 8.0&lt;br /&gt;
      text size = 20971520&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
*You can configure FreeTDS to look for the freetds.conf file in any directory that you want - you don&#039;t have to use C:\. To do this create a SYSTEM environment variable called &#039;&#039;&#039;FREETDS&#039;&#039;&#039; and point it to the directory where you have installed the freetds.conf file. If you do not set this environment variable FreeTDS will look for the freetds.conf file in the C:\ folder, which is the default. One possible benefit of setting the FREETDS environment variable and using a different installation directory for freetds.conf is that C:\ is very predictable to a hacker that knows anything about FreeTDS and that is the first place that he would look if he wanted to compromise your system. So, using a different installation directory would just make your system stronger. See the FreeTDS [http://www.freetds.org/userguide/envvar.htm Setting the environment variables] documentation for more information about this FREETDS environment variable.&lt;br /&gt;
&lt;br /&gt;
*Alternatively, you can [[Development:Compiling FreeTDS under Windows|recompile]] the FreeTDS extension yourself and change the default location to your preferred location at compile time. Then it is not necessary to create any environment variable. You must just ensure that freetds.conf is in the same folder that you specify when you compile php_dblib.dll.&lt;br /&gt;
&lt;br /&gt;
*MSSQL is usually installed with port 1433 as the default. However, if the port was changed on your server when you installed MSSQL then you need to specify the correct port number.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Your Moodle &#039;&#039;&#039;config.php&#039;&#039;&#039; should include lines like these:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$CFG-&amp;gt;dbtype    = &#039;mssql&#039;;        // Required&lt;br /&gt;
$CFG-&amp;gt;dbhost    = &#039;localhost&#039;;      // assuming MS SQL is on the same server, otherwise use an IP&lt;br /&gt;
$CFG-&amp;gt;dbname    = &#039;moodle&#039;;         // or whatever you called the database you created&lt;br /&gt;
$CFG-&amp;gt;dbuser    = &#039;yourusername&#039;;   // I usually use the &#039;sa&#039; account (dbowner perms are enough)&lt;br /&gt;
$CFG-&amp;gt;dbpass    = &#039;yourpassword&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpersist =  false;&lt;br /&gt;
$CFG-&amp;gt;prefix    = &#039;mdl_&#039;;            //Prefix, you can change it, but NEVER leave it blank.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t have a config.php file yet, it can be generated as normal from the Moodle installer. Alternatively you can use the config-dist.php file that comes with the Moodle package to create your own config.php file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Restart or start your web server.  If Moodle still cannot communicate with the database server, please turn display_startup_errors to &amp;quot;On&amp;quot; in your /PHP/php.ini file, then restart the web server and check for any errors that may indicate incorrect DLL versions or missing dependencies.  These error reports, turned off by default in PHP, can be vital in locating a problem with new extension installations.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. Database conection test, try this PHP script, just put in a text file called test.php change (&#039;localhost&#039;, &#039;db_user&#039;, &#039;db_password&#039;) to suite your setup, and load from local host (http://localhost/test.php)...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	$link = mssql_connect(&#039;localhost&#039;, &#039;db_user&#039;, &#039;db_password&#039;);&lt;br /&gt;
	if(!$link) {&lt;br /&gt;
		echo&#039;Could not connect&#039;;&lt;br /&gt;
		die(&#039;Could not connect: &#039; . mssql_error());&lt;br /&gt;
	}&lt;br /&gt;
	echo&#039;Successful connection&#039;;&lt;br /&gt;
	mssql_close($link);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. Install Moodle as usual.  Good luck!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
If you encounter some problems you can try:&lt;br /&gt;
*check that you have DotNet framework 1.1 installed (later version are installed on Vista, but you could need this specific one)&amp;lt;br /&amp;gt;&lt;br /&gt;
*enable TCP/IP for MSSQL: SQL Server 2005 Network Configuration -&amp;gt; Protocols for MSSQLSERVER -&amp;gt; TCP/IP (Enable) -&amp;gt; Properties -&amp;gt; Ip Addresses -&amp;gt; 127.0.0.1 (Active+Enable)&amp;lt;br /&amp;gt;&lt;br /&gt;
*make sure the SQL Server Browser service is running SQL Server 2005 Network Configuration -&amp;gt; SQL Server Services&amp;lt;br /&amp;gt;&lt;br /&gt;
*if you are using SQL Server 2005 and you have the error &#039;&#039;4004: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier&#039;&#039;, try the ODBTP method (next chapter). The SQL Server complaining that it doesn&#039;t support pure Unicode via TDS or older versions of ODBC. Microsoft has deprecated DB-Library a long ago, in favor of ODBC, OLE DB, or SQL Native Client. Many new features of SQL 2005 aren&#039;t accessible via DB-Library so if you need them, you could have to switch away from tools based on TDS and DB-Library :(&lt;br /&gt;
&lt;br /&gt;
== FreeTDS on Linux (on Ubuntu by compiling an mssql.so extension) ==&lt;br /&gt;
This is a good read to [http://www.robert-gonzalez.com/2009/02/18/building-the-php-ms-sql-server-extension-from-source-on-ubuntu-810/ building a FreeTDS based mssql extension for apache on Ubuntu]. Do note that [http://www.freetds.org/news.html freeTDS] 0.91 was recently released, you can find latest versions [http://freetds.sourceforge.net/ here]. &lt;br /&gt;
&lt;br /&gt;
Note: the freetds.conf file you use should have &amp;quot;text size = 20971520&amp;quot; as mentioned in the FreeTDS on Windows section otherwise you might see sessions logging out or worse apache segmentation faults. Also see [[FreeTDS]].&lt;br /&gt;
&lt;br /&gt;
Note2: Please note that updating php tends to remove the freetds configurations. You might need to reconfigure freetds after an upgrade&lt;br /&gt;
&lt;br /&gt;
== Using FreeTDS on Debian Lenny ==&lt;br /&gt;
I found the following solution using:&lt;br /&gt;
* PHP Version 5.2.6-1+lenny9&lt;br /&gt;
* Microsoft SQL Server Enterprise Edition, version: 9.00.4053.00&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install libsybdb5 freetds-common php5-sybase&lt;br /&gt;
/etc/init.d/apache2 restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
At the end of the process, if all goes fine, you will find in the mssql section of phpinfo();&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! MSSQL Support&lt;br /&gt;
! enabled&lt;br /&gt;
|-&lt;br /&gt;
| Library version &lt;br /&gt;
| FreeTDS &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Once FreeTDS is correctly installed, don not forget to set it up following explanations in https://docs.moodle.org/en/FreeTDS&lt;br /&gt;
&lt;br /&gt;
== See also ==&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;
&lt;br /&gt;
[[Category:XMLDB]]&lt;br /&gt;
[[Category:DB]]&lt;br /&gt;
[[Category:SQL databases]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Admin_bookmarks_block&amp;diff=112129</id>
		<title>Admin bookmarks block</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Admin_bookmarks_block&amp;diff=112129"/>
		<updated>2014-04-25T01:40:52Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: MDL-43521 has been fixed.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Blocks}}&lt;br /&gt;
This block allows an administrator to bookmark site admin pages for easy access. These include the Notifications and Add/Edit courses pages. The administrator will then see the pages as a list of links.&lt;br /&gt;
&lt;br /&gt;
Note: Only site admin pages can be bookmarked i.e. pages accessed via &#039;&#039;Administration &amp;gt; Site administration&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
When on a page which may be bookmarked, the block shows &#039;bookmark this page&#039;. (1) Once bookmarked, the block shows the page name with a link and &amp;quot;Unbookmark this page&amp;quot;. (2) When on a different site admin page, other links are shown with &#039;Bookmark this page&#039; available for the current page. (3) When on a bookmarked page, the block shows current bookmarked links and the option to &#039;Unbookmark this page.&#039; (4)&lt;br /&gt;
&lt;br /&gt;
[[File:abookmarks1.png]]&lt;br /&gt;
&lt;br /&gt;
The admin bookmarks block is shown by default on all pages which can be bookmarked. An admin may choose to add the admin bookmarks block to their [[My home]] page or the front page (selecting &#039;Display on the front page only&#039;).&lt;br /&gt;
&lt;br /&gt;
Note: Although an admin can add the admin bookmarks block to the front page of their site and make it display throughout the entire site, this is not recommended, since it results in teachers seeing the block when they turn editing on in their course.&lt;br /&gt;
&lt;br /&gt;
[[de:Administratorlesezeichen]]&lt;br /&gt;
[[es:Bloque de marcadores para Admin]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=105079</id>
		<title>Upgrading</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=105079"/>
		<updated>2013-05-15T11:11:49Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: /* Course listing improvements */&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.5 in &#039;&#039;Settings &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.5 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 you upgrade your site for real==&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;
== 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 add-on updates ==&lt;br /&gt;
&lt;br /&gt;
If you have [[Automatic updates deployment]] enabled, you will be able to update installed add-ons 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 add-ons manually, it is a good moment now to check in the [http://moodle.org/plugins Moodle Plugins directory] whether there is a 2.5 version available for any add-ons (including themes) that you have previously installed on your site. If so, download the add-on package. In the next step, you will copy it to the appropriate location in your Moodle code (see [[Installing add-ons]]).&lt;br /&gt;
&lt;br /&gt;
The upgrade of the add-on will then happen as part of the Moodle upgrade process.&lt;br /&gt;
&lt;br /&gt;
If an out-of-date add-on causes your upgrade to fail, you can usually delete the add-on 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 custom add-ons 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;
&lt;br /&gt;
====Linux====&lt;br /&gt;
 mv moodle moodle.backup&lt;br /&gt;
 tar xvzf moodle-2.5.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.5 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;Settings &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;Settings &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;
==After upgrading==&lt;br /&gt;
&lt;br /&gt;
The config.php file from your 2.2, 2.3 or 2.4 installation should work fine but if you take a look at config-dist.php that came with Moodle 2.5 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.5 config-dist.php.&lt;br /&gt;
&lt;br /&gt;
==Possible issues that may affect you in Moodle 2.5==&lt;br /&gt;
&lt;br /&gt;
===Renamed settings block===&lt;br /&gt;
&lt;br /&gt;
The settings block has been renamed &#039;Administration&#039; and reports are now located there.&lt;br /&gt;
&lt;br /&gt;
===Course listing improvements===&lt;br /&gt;
&lt;br /&gt;
Course listings are now displayed consistently throughout the site. See [[:dev:Courses lists upgrade to 2.5]] for details of admin setting changes and possible custom theme changes required.&lt;br /&gt;
&lt;br /&gt;
===Google Docs repository plugin upgraded to Google Drive ===&lt;br /&gt;
&lt;br /&gt;
The Google Docs plugin has been upgraded to Google Drive, supporting folders and new features.&lt;br /&gt;
&lt;br /&gt;
Administrators will need to change their Google API settings to enable access to the Drive API to allow the plugin to work after the upgrade, see [[Google_OAuth_2.0_setup#Registering_with_Google]].&lt;br /&gt;
&lt;br /&gt;
===Multi-server architectures with different PHP versions ===&lt;br /&gt;
&lt;br /&gt;
Moodle has moved to use a more secure mechanism for securing passwords, from 2.5 new passwords will be generated using bcrypt rather than md5. Because bcrypt is only supported for PHP version 5.3.7 and above, it is important that all servers within a cluster use the same version of PHP (MDL-35332).&lt;br /&gt;
&lt;br /&gt;
===Restoring Moodle 2.5 backups to sites with old PHP versions===&lt;br /&gt;
&lt;br /&gt;
Because bcrypt is not supported in PHP versions below 5.3.7, course backups made using the $CFG-&amp;gt;includeuserpasswordsinbackup setting on a site using PHP version 5.3.7+ that are subsequently restored to a site with PHP version &amp;lt; 5.3.7 will require a password reset.&lt;br /&gt;
&lt;br /&gt;
The same issue would occur if you downgraded the PHP version on the server running your site from 5.3.7+ to less than 5.3.7 (MDL-35332).&lt;br /&gt;
&lt;br /&gt;
===Manual grading option in the quiz settings===&lt;br /&gt;
&lt;br /&gt;
Before Moodle 2.5, you could set &#039;How questions behave&#039; in the [[Quiz settings]] to &#039;Manually graded&#039;. This caused all questions in the quiz, including multiple choice questions, to require manual grading. This option was not necessary because essay questions, the only ones that need to be graded manually, will always work that way whatever behaviour is selected. &lt;br /&gt;
&lt;br /&gt;
Since the only effect of that setting was that people somehow choose it by mistake, we have hidden it. There should be no circumstances for which you would need to re-enable it, but if necessary, it can be restored by going to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Question behaviour&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Moodle 2.3 and 2.4 improvements ===&lt;br /&gt;
&lt;br /&gt;
If you are upgrading to Moodle 2.5 from 2.2 or 2.3, please see the section &#039;Possible issues that may affect you&#039; in the documentation [https://docs.moodle.org/23/en/Upgrading Upgrading to Moodle 2.3] and [https://docs.moodle.org/24/en/Upgrading Upgrading to Moodle 2.4].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=28 Installation problems forum] &lt;br /&gt;
* [[dev:Moodle 2.5 release notes|Moodle 2.5 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>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=104721</id>
		<title>Upgrading</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Upgrading&amp;diff=104721"/>
		<updated>2013-05-03T14:04:46Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Added a very quick note about bcrypt + php, needs better wording.&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.5 in &#039;&#039;Settings &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.5 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;
==Check for plugin updates==&lt;br /&gt;
&lt;br /&gt;
Check in the [http://moodle.org/plugins Moodle Plugins directory] whether there is a 2.5 version available for any contributed/custom plugins (including themes) that you have previously installed on your site. If so, download the plugin code and 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;
Note: If you have any contributed blocks installed, please see below for info about block capabilities undefined.&lt;br /&gt;
&lt;br /&gt;
==Before you upgrade your site for real==&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;
== 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, the SQL or Postgres database)&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;
== 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 custom plugins on your site you should add them to the new code. 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;
&lt;br /&gt;
====Linux====&lt;br /&gt;
 mv moodle moodle.backup&lt;br /&gt;
 tar xvzf moodle-2.5.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.5 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;Settings &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;Settings &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;
==After upgrading==&lt;br /&gt;
&lt;br /&gt;
The config.php file from your 2.2, 2.3 or 2.4 installation should work fine but if you take a look at config-dist.php that came with Moodle 2.5 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.5 config-dist.php.&lt;br /&gt;
&lt;br /&gt;
==Possible issues that may affect you in Moodle 2.5==&lt;br /&gt;
&lt;br /&gt;
===Multi-server architectures with difference php versions ===&lt;br /&gt;
&lt;br /&gt;
Moodle has moved to use a more secure mechanism for securing passwords, bcrypt, This feature needs consistent versions of php on all servers. Some older versions are not supported with bcrypt, so please ensure that all versions of php are consistent. (MDL-35332) &lt;br /&gt;
&lt;br /&gt;
===Course listing improvements===&lt;br /&gt;
&lt;br /&gt;
Course listings are now displayed consistently throughout the site. See [[:dev:Courses lists upgrade to 2.5]] for details of admin setting changes and possible custom theme changes required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Please add further items...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Moodle 2.3 and 2.4 improvements ===&lt;br /&gt;
&lt;br /&gt;
If you are upgrading to Moodle 2.5 from 2.2 or 2.3, please see the section &#039;Possible issues that may affect you&#039; in the documentation [https://docs.moodle.org/23/en/Upgrading Upgrading to Moodle 2.3] and [https://docs.moodle.org/24/en/Upgrading Upgrading to Moodle 2.4].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=28 Installation problems forum] &lt;br /&gt;
* [[dev:Moodle 2.5 release notes|Moodle 2.5 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>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=error/debug/cannotdowngrade&amp;diff=104143</id>
		<title>error/debug/cannotdowngrade</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=error/debug/cannotdowngrade&amp;diff=104143"/>
		<updated>2013-04-16T12:23:55Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This error occurs when a new version of a add-on has been installed at some point and then has been replace by an older version of the same add-on. &lt;br /&gt;
&lt;br /&gt;
In this scenario you need to determine what has caused this to happen:&lt;br /&gt;
&lt;br /&gt;
* It might be that you&#039;ve accidentally tried to install a version compatible with older versions of Moodle. In this case, check the Moodle plugins database for the correct version with your Moodle and install this&lt;br /&gt;
* It could also be that the plugin is deffective - in this case you should try to contact the plugin author, using the Moodle forums for example.&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=error/debug/cannotdowngrade&amp;diff=104142</id>
		<title>error/debug/cannotdowngrade</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=error/debug/cannotdowngrade&amp;diff=104142"/>
		<updated>2013-04-16T12:22:15Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: /* what to do */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This error occurs when a new version of a plugin has been installed at some point and then has been replace by an older version of the same plugin. &lt;br /&gt;
&lt;br /&gt;
In this scenario you need to determine what has caused this to happen. It might be that you&#039;ve accidentally tried to install a version compatible with older versions of Moodle.&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=error/debug/cannotdowngrade&amp;diff=104141</id>
		<title>error/debug/cannotdowngrade</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=error/debug/cannotdowngrade&amp;diff=104141"/>
		<updated>2013-04-16T12:22:03Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: /* Error condition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This error occurs when a new version of a plugin has been installed at some point and then has been replace by an older version of the same plugin. &lt;br /&gt;
&lt;br /&gt;
In this scenario you need to determine what has caused this to happen. It might be that you&#039;ve accidentally tried to install a version compatible with older versions of Moodle.&lt;br /&gt;
&lt;br /&gt;
==what to do==&lt;br /&gt;
simpliest action is to remove the module folder and continue upgrading&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Talk:Category_enrolments&amp;diff=102694</id>
		<title>Talk:Category enrolments</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Talk:Category_enrolments&amp;diff=102694"/>
		<updated>2013-01-09T06:06:33Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Created page with &amp;quot;I desperately tried to make this page more understandable because having just tried to use this plugin I was perplexed by how to use it. I&amp;#039;m afraid I couldn&amp;#039;t think of a way of s...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I desperately tried to make this page more understandable because having just tried to use this plugin I was perplexed by how to use it. I&#039;m afraid I couldn&#039;t think of a way of succinctly explaining it. I do know how this plugin works now though, so if anyone would like to know how it works (and improve the documentation) please feel free to ask me. --[[User:Dan Poltawski|Dan Poltawski]] 14:06, 9 January 2013 (WST)&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Category_enrolments&amp;diff=102693</id>
		<title>Category enrolments</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Category_enrolments&amp;diff=102693"/>
		<updated>2013-01-09T06:04:11Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Enrolment}}&lt;br /&gt;
&lt;br /&gt;
The category enrolments plugin allows users to be enrolled in a category as opposed to individual courses. The plugin has to be enabled by the site administrator (see [[Enrolment plugins]]). The category enrolment plugin will synchronise any role assignments at category context with &#039;enrol/category:synchronised&#039; permission set to allow.&lt;br /&gt;
&lt;br /&gt;
Note: It is recommended that [[Cohort sync]] is used in preference to category enrolments.  There are performance issues with category enrolments.  See http://tracker.moodle.org/browse/MDL-23840.&lt;br /&gt;
&lt;br /&gt;
==Settings for category enrolment==&lt;br /&gt;
&lt;br /&gt;
*Go to the category into which you wish to enrol users. &#039;&#039;&#039;Note:&#039;&#039;&#039; You need to have category rights (manager or administrator)&lt;br /&gt;
&lt;br /&gt;
*In the &#039;&#039;Settings&#039;&#039; box,click &#039;&#039;Assign roles&#039;&#039;. The list of possible roles you can assign will appear:&lt;br /&gt;
[[File:Categoryassign.png]]&lt;br /&gt;
&lt;br /&gt;
== Admin settings for category enrolment==&lt;br /&gt;
&lt;br /&gt;
The category enrolment plugin may be enabled or disabled throughout the site in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Enrolments&amp;gt; Manage enrol plugins.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Assigning teachers or students to a category===&lt;br /&gt;
&lt;br /&gt;
*By default, only managers and course creators can be assigned category-wide. If you want to add teachers or students then the site administrator needs to tick the &amp;quot;category&amp;quot; box in their role in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Users &amp;gt; Permissions &amp;gt; Define roles&#039;&#039;.&lt;br /&gt;
*To ensure they will be automatically assigned as teachers/students in any new courses you make, the administrator needs to set to &amp;quot;allow&amp;quot; the capability  &#039;&#039;enrol/category:synchronised&#039;&#039; for the role in question in &#039;&#039;Settings &amp;gt; Site Administration &amp;gt; Users &amp;gt; Permissions &amp;gt; Define roles&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Enrolcategorysync.png]]&lt;br /&gt;
&lt;br /&gt;
[[ja:カテゴリ登録]]&lt;br /&gt;
[[de:Kursbereichseinschreibung]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=error/moodle/invalidrecord&amp;diff=102447</id>
		<title>error/moodle/invalidrecord</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=error/moodle/invalidrecord&amp;diff=102447"/>
		<updated>2012-12-14T07:52:38Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This error was probably caused by a record not existing in the database&lt;br /&gt;
&lt;br /&gt;
[[Category:Error|Invalidrecord]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Caching&amp;diff=102376</id>
		<title>Caching</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Caching&amp;diff=102376"/>
		<updated>2012-12-13T04:34:27Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Very basic overview of the cache settings. This is not great. I&amp;#039;ve filled MDL-37145 to improve this further.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Performance}}{{New features}}&lt;br /&gt;
&lt;br /&gt;
A cache is a collection of processed data that is kept on hand and re-used in order to avoid costly repeated database queries.&lt;br /&gt;
&lt;br /&gt;
Moodle 2.4 saw the implementation of MUC, the Moodle Universal Cache.   This new system allows certain functions of Moodle (eg string fetching) take advantage of different installed cache services (eg files, ram, memcached).&lt;br /&gt;
&lt;br /&gt;
In future versions of Moodle we will continue expanding the number of Moodle functions that use MUC, which will continue improving performance, but you can already start using it to improve your site.&lt;br /&gt;
&lt;br /&gt;
==General approach to performance testing==&lt;br /&gt;
&lt;br /&gt;
Here is the general strategy you should be taking:&lt;br /&gt;
&lt;br /&gt;
# Build a test environment that is as close to your real production instance as possible (eg hardware, software, networking, etc)&lt;br /&gt;
# Make sure to remove as many uncontrolled variables as you can from this environment (eg other services)&lt;br /&gt;
# Use a tool to place a realistic, but simulated and repeatable load upon you server. (eg jmeter or selenium).&lt;br /&gt;
# Decide on a way to measure performance of the server by capturing data (ram, load, time taken, etc)&lt;br /&gt;
# Run your load and measure a baseline performance result.&lt;br /&gt;
# Change one variable at a time, and re-run the load to see if performance gets better or worse.  Repeat as necessary.&lt;br /&gt;
# When you discover settings that result in a consistent performance improvement, apply to your production site.&lt;br /&gt;
&lt;br /&gt;
==How to use the caching settings==&lt;br /&gt;
&lt;br /&gt;
Since Moodle 2.4, Moodle has provided a caching plugin framework to give administrators the ability to control where Moodle stores cached data. For most Moodle sites the default configuration should be sufficient and it is not necessary to change the configuration. For larger Moodle sites with multiple servers, administrators may wish to use memcached, mongodb or other systems to store cache data. The cache plugin screen provides administrators with the ability to configure what cache data is stored where. &lt;br /&gt;
&lt;br /&gt;
=== Types of cache ===&lt;br /&gt;
&lt;br /&gt;
Moodle uses three types of cache to store cached data:&lt;br /&gt;
* Request cache - The request cache is available for the duration of every page request. It is not shared between users and is used and cleared on every Moodle request.&lt;br /&gt;
* Session cache - The session cache is available through a users session in Moodle.  It is not shared between users, but persists for a single user throughout their session (i.e. from when they logon til when they log off)&lt;br /&gt;
* Application cache - The application cache is a shared cache which is available for every request. It can be shared between users and the cached data can be kept indefinitely if required.&lt;br /&gt;
&lt;br /&gt;
===Installed cache stores===&lt;br /&gt;
&lt;br /&gt;
This section of the administrator screen displays cache plugins which are installed on the system. It lists what the capabilities of each plugin, what type of cache they provide and provides allows a cache store to be added to the system.&lt;br /&gt;
&lt;br /&gt;
===Configured store instances===&lt;br /&gt;
 &lt;br /&gt;
This section of the administrator screen displays cache stores which have been added to the system. It gives the ability to change the cache configuration and purge the cached data.&lt;br /&gt;
&lt;br /&gt;
===Known cache definitions===&lt;br /&gt;
&lt;br /&gt;
Known cache definitions displays the caches which are in use by Moodle. Each item is an area of Moodle which is using caching. It gives the administrator the ability to configure an individual area of Moodle to use a different cache backend. For example, an administrator of a Moodle cluster may choose to make language string definitions be cached on a dedicated memcached server by using the memcached cache backend.&lt;br /&gt;
&lt;br /&gt;
==Stores used when no mapping is present==&lt;br /&gt;
&lt;br /&gt;
This section displays the default cache stores which should be used by Moodle for each type of Moodle cache. If a mapping for a cache definition does not exist then this default store will be used instead.&lt;br /&gt;
&lt;br /&gt;
==Other performance testing==&lt;br /&gt;
&lt;br /&gt;
Two links that might be useful to anyone considering testing performance on their own servers:&lt;br /&gt;
&lt;br /&gt;
* [http://www.iteachwithmoodle.com/2012/10/12/moodle-performance-testing-how-much-more-horsepower-do-each-new-versions-of-moodle-require/ Moodle performance testing: how much more horsepower do each new versions of Moodle require?]&lt;br /&gt;
* [http://www.iteachwithmoodle.com/2012/10/11/how-to-stress-test-your-moodle-server-using-loadstorm/ How to load test your Moodle server using Loadstorm]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [https://moodle.org/mod/forum/discuss.php?d=217195 MUC is here, now what?] forum discussion&lt;br /&gt;
&lt;br /&gt;
Developer documentation:&lt;br /&gt;
* [[:dev:The Moodle Universal Cache (MUC)]]&lt;br /&gt;
* [[:dev:Cache API]]&lt;br /&gt;
* [[:dev:Cache API - Quick reference]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[de:Caching]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SSL_certificate_for_moodle.org&amp;diff=102313</id>
		<title>SSL certificate for moodle.org</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SSL_certificate_for_moodle.org&amp;diff=102313"/>
		<updated>2012-12-04T15:24:28Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: added rhel note, as I think the package name is the same&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
&lt;br /&gt;
Your site may communicate with moodle.org sites - for example when it [[Notifications|checks for available updates]] or when it [[Automatic updates deployment|installs an update]]. This communication is done via the secure HTTPS protocol. Your site validates the SSL certificate of the moodle.org site (such as the [https://moodle.org/plugins Moodle plugins directory]) and verifies its identity. To pass this verification, there must be a certificate (in the PEM format) of the [http://en.wikipedia.org/wiki/Certificate_authority certificate authority (CA)] that issued the certificate for moodle.org installed at your server. &lt;br /&gt;
&lt;br /&gt;
The SSL certificate of moodle.org sites has been issued by the [https://www.digicert.com/digicert-root-certificates.htm DigiCert CA] and signed by their &#039;&#039;DigiCert High Assurance EV Root CA&#039;&#039; certificate.&lt;br /&gt;
&lt;br /&gt;
== Problem ==&lt;br /&gt;
&lt;br /&gt;
If this CA certificate is missing, the remote site (moodle.org) can not be verified and your Moodle refuses to fetch the data (to protect you against so called man-in-the-middle attack). The exact location of that certificate at your server depends on the OS type and other settings. At Linux servers it may be typically found at &#039;&#039;/usr/share/ca-certificates/mozilla/DigiCert_High_Assurance_EV_Root_CA.crt&#039;&#039; for example.&lt;br /&gt;
&lt;br /&gt;
Missing CA certificate causes error when checking for available updates and attempting to install them.&lt;br /&gt;
&lt;br /&gt;
== Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== Update your operating system (recommended) ===&lt;br /&gt;
&lt;br /&gt;
The recommended way to fix this problem is to update your server&#039;s operating system so that it contains recent SSL certificates of common certificate authorities. At Debian and RedHat based  distributions, these certificates are distributed in the &#039;&#039;ca-certificates&#039;&#039; package.  Gentoo servers provide them via the &#039;&#039;app-misc/ca-certificates&#039;&#039; ebuild. It&#039;s also a good idea to make sure that the OpenSSL libraries (libssl) and cURL libraries (libcurl) are up-to-date at your server.&lt;br /&gt;
&lt;br /&gt;
=== Provide the CA certificate manually ===&lt;br /&gt;
&lt;br /&gt;
If updating the operating system is not an option for you and the administrator of the server refuses to update the CA certificates at the server (there&#039;s not a good argument for that though), here is a workaround for you. You can download the [https://www.digicert.com/testroot/DigiCertHighAssuranceEVRootCA.crt DigiCert High Assurance EV Root CA] certificate from [https://www.digicert.com/digicert-root-certificates.htm digicert.com] and put it into your &#039;&#039;moodledata/moodleorgca.crt&#039;&#039; file. If the certificate is found there, Moodle will use it instead of relying on the one provided by the operating system.&lt;br /&gt;
&lt;br /&gt;
It must be highlighted that you really should get the CA certificate to your server&#039;s operating system as described above. The solution based on moodleorgca.crt should be considered as a temporary only.&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Forum_discussion_subscription_plugin&amp;diff=100332</id>
		<title>Forum discussion subscription plugin</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Forum_discussion_subscription_plugin&amp;diff=100332"/>
		<updated>2012-09-04T01:20:58Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: remove duplicate link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
&lt;br /&gt;
Local plugin for allowing email subscription to discussions (threads) and not the whole forum.&lt;br /&gt;
&lt;br /&gt;
Discussion subscription can works together with full forum subscription, but the user will receive the same emails two times.&lt;br /&gt;
&lt;br /&gt;
Discussion subscription supports also diggest if the user has enabled this option in his profile.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
As a teacher, in the forum activity go to the settings block and click on &amp;quot;Discussion subscriptions&amp;quot; -&amp;gt; &amp;quot;Enable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Once enabled, the users will be able to click on the &amp;quot;Subscribe to this discussion&amp;quot; in a discussion page.&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
&lt;br /&gt;
Juan Leyva &amp;lt;http://twitter.com/#!/jleyvadelgado&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://moodle.org/user/profile.php?id=49568&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
http://moodle.org/plugins/view.php?plugin=local_dsubscription&lt;br /&gt;
&lt;br /&gt;
https://github.com/jleyva/moodle-local_dsubscription&lt;br /&gt;
&lt;br /&gt;
[[Category: Contributed code]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Database_transfer&amp;diff=99668</id>
		<title>Database transfer</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Database_transfer&amp;diff=99668"/>
		<updated>2012-07-31T07:25:16Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Managing a Moodle site}}&lt;br /&gt;
The database transfer tool in Moodle 2.3.2 onwards enables an administrator to migrate their Moodle site from one database to another, for example from MySQL to Postgres. &lt;br /&gt;
&lt;br /&gt;
The tool is currently classed as an experimental feature and may be found in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Development &amp;gt; Experimental &amp;gt; Database migration&#039;&#039;. There is also a command line script in &#039;admin/tool/dbtransfer/cli/migrate.php&#039;.&lt;br /&gt;
&lt;br /&gt;
The dbtransfer tool uses the XMLDB schema definitions  from Moodle and installed plugins to retrieve the data from one database and transfer it another. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* MDL-34441 finish dbtransfer tool implementation&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=207413 Moving Moodle from Oracle to PostgreSQL (dbtransfer tool)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=206759 Where did dbtransfer.php go?]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Database_transfer&amp;diff=99667</id>
		<title>Database transfer</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Database_transfer&amp;diff=99667"/>
		<updated>2012-07-31T07:25:05Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: added some additional basic details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Managing a Moodle site}}&lt;br /&gt;
The database transfer tool in Moodle 2.3.2 onwards enables an administrator to migrate their Moodle site from one database to another, for example from MySQL to Postgres. &lt;br /&gt;
&lt;br /&gt;
The tool is currently classed as an experimental feature and may be found in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Development &amp;gt; Experimental &amp;gt; Database migration&#039;&#039;. There is also a command line script in &#039;admin/tool/dbtransfer/cli/migrate.php&#039;.&lt;br /&gt;
&lt;br /&gt;
The dbtransfer tool uses the XMLDB schema definitions  from Moodle and installed plugins to retrieve the data from one database and transfer it another. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* MDL-34441 finish dbtransfer tool implementation&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=207413 Moving Moodle from Oracle to PostgreSQL (dbtransfer tool)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=206759 Where did dbtransfer.php go?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=207413 Moving Moodle from Oracle to PostgreSQL (dbtransfer tool)]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Database_transfer&amp;diff=99666</id>
		<title>Database transfer</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Database_transfer&amp;diff=99666"/>
		<updated>2012-07-31T07:18:48Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: i&amp;#039;ve removed the new feature in 2.3 flag, because its been there since 2.0, in various states.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Managing a Moodle site}}&lt;br /&gt;
The database transfer tool in Moodle 2.3.2 onwards enables an administrator to migrate their Moodle site from one database to another, for example from MySQL to Postgres. &lt;br /&gt;
&lt;br /&gt;
The tool is currently classed as an experimental feature and may be found in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Development &amp;gt; Experimental &amp;gt; Database migration&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* MDL-34441 finish dbtransfer tool implementation&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=207413 Moving Moodle from Oracle to PostgreSQL (dbtransfer tool)]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=206759 Where did dbtransfer.php go?]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Skydrive_repository&amp;diff=98933</id>
		<title>Skydrive repository</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Skydrive_repository&amp;diff=98933"/>
		<updated>2012-06-28T16:10:08Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Created page with &amp;quot;The Microsoft Skydrive repository allows  you to access your documents from Microsoft Skydrive within Moodle.  ==Installation== You must register your Moodle with Microsoft in or...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Microsoft Skydrive repository allows  you to access your documents from Microsoft Skydrive within Moodle.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
You must register your Moodle with Microsoft in order to allow Moodle to communicate with Microsoft. You must register your application via the following steps:&lt;br /&gt;
&lt;br /&gt;
# Visit the Microsoft developer centre: [https://manage.dev.live.com/Applications/Index https://manage.dev.live.com/Applications/Index]&lt;br /&gt;
# Choose ‘Create an Application’ and Fill out the form with a name for your Moodle.&lt;br /&gt;
# Submit the form by clicking ‘I Accept’&lt;br /&gt;
# On the next page you must visit the link  ‘Application Settings Page’.&lt;br /&gt;
# You will be shown the basic settings page, Click ‘API Setttings’ on the left.&lt;br /&gt;
# You will be shown ‘client ID’ and ‘client secret’, these need to be stored in Moodle.&lt;br /&gt;
# Important: As part of the registration process, you will need to enter the url from the skydrive settings page in the &#039;redirect domain&#039; section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=User:Dan_Poltawski&amp;diff=98932</id>
		<title>User:Dan Poltawski</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=User:Dan_Poltawski&amp;diff=98932"/>
		<updated>2012-06-28T14:29:49Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please see my [http://moodle.org/user/view.php?id=104159&amp;amp;course=5 Moodle.org Profile] as I don&#039;t keep this one up to date.. (only just keep the other one up date :))&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Upload_users&amp;diff=98609</id>
		<title>Upload users</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Upload_users&amp;diff=98609"/>
		<updated>2012-06-20T03:07:13Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: remove AJAX and Javascript MDL-32908&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Accounts}}&lt;br /&gt;
An administrator can upload multiple user accounts via text file in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Users &amp;gt; Accounts &amp;gt; Upload users&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
There are many robust options for uploading information (fields associated with a user) with this method: from enrolling users in multiple courses with course specific [[Roles|roles]] to updating user information in the [[User profile]] to deleting users from the site.&lt;br /&gt;
&lt;br /&gt;
{{New features}}Rather than uploading the text file, it can simply dragged from the desktop and dropped into the upload area, as demonstrated in the screencast [http://youtu.be/6E-TQXTkZB0 Drag and drop new users into Moodle 2.3] (by Mary Cooch).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Tip:&#039;&#039; It is usually not necessary to upload users in bulk with Upload users.  To keep maintenance work down you should first explore forms of authentication that do not require manual maintenance, such as [[External database authentication|connecting to existing external databases]] or letting the users create their own accounts ([[Self enrolment]]). See [[Authentication]] for more information.&lt;br /&gt;
&lt;br /&gt;
[[File:Upload users initial 2.0.JPG|thumb|center|Initial upload users screen 2.1]]&lt;br /&gt;
&lt;br /&gt;
==Upload user process==&lt;br /&gt;
Here is an outline of the process:&lt;br /&gt;
&lt;br /&gt;
# Create file for uploading&lt;br /&gt;
# Go to &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Users &amp;gt; Accounts &amp;gt; Upload users&#039;&#039;&lt;br /&gt;
# Add file to upload&lt;br /&gt;
# Upload users preview - check settings and default user profile settings&lt;br /&gt;
# Upload users preview - click &amp;quot;Upload users&amp;quot;&lt;br /&gt;
# Upload users results - shows list of users, exceptions made in upload and summary of number of users&lt;br /&gt;
# Upload users results - click &amp;quot;Continue&amp;quot;&lt;br /&gt;
# Returns to Upload users screen&lt;br /&gt;
&lt;br /&gt;
==Updating users preview==&lt;br /&gt;
There are settings for the kind of Upload user function you want to perform on the &amp;quot;Upload users preview&amp;quot; page.&lt;br /&gt;
[[File:Upload users preview 2.0.JPG|thumb|center|Upload users preview in Moodle 2.x]]&lt;br /&gt;
&lt;br /&gt;
===Updating existing accounts===&lt;br /&gt;
&lt;br /&gt;
By default Moodle adds new user accounts and skips existing users lines where the &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; matches an existing account. Set &amp;quot;Upload Type&amp;quot; to &#039;&#039;&#039;Add  new and update existing users&#039;&#039;&#039;, and existing user account will be updated.&lt;br /&gt;
*Add all, append number to usernames if needed&lt;br /&gt;
*Add new and update existing users&lt;br /&gt;
*Update existing users only&lt;br /&gt;
There are also fields settings to force password change, allow renames, allow deletes, prevent email address duplicates, standardise usernames and select for bulk operations(new users. updated users, all users).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;: errors updating existing accounts can affect your users badly. Be careful when using the options to update.&lt;br /&gt;
&lt;br /&gt;
===Set default user values===&lt;br /&gt;
&lt;br /&gt;
You may be able to set default user field values, if the fields were not included in the uploaded file on this page.&lt;br /&gt;
&lt;br /&gt;
==Upload user results ==&lt;br /&gt;
After accepting the preview settings by clicking on &amp;quot;Upload users&amp;quot;, you should see the the Upload users results screen.&lt;br /&gt;
[[File:Upload users results 2.0.JPG|thumb|center|The 2.0 results screen, everything went well]]&lt;br /&gt;
This screen will show you any exceptions or changes that were made to each user in the upload process.   For example if you were updating user information, the updated information will be shown.  Or if a user was not added that record will be highlighted.&lt;br /&gt;
&lt;br /&gt;
The screen will summarize how many users were uploaded or updated, indicate the number of weak passwords and the number of errors.&lt;br /&gt;
&lt;br /&gt;
==File formats for upload users file==&lt;br /&gt;
The upload files have their fields separated by a comma (or other delimiter).   The first line contains the valid field names.  The rest of the lines (records) contain information about each user.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;:Tip:&#039;&#039; If you are not an expert, avoid special characters in field information like quotes or other commas. Test a file with only one record before a large upload. Remember there are other ways to authenticate users on you site or enroll users in a course.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;:Tip:&#039;&#039; You can use a spread sheet program to create the file with the required columns and fields. Then save the file as &amp;quot;CSV (comma delimited)&amp;quot;. These files can be opened with simple text editors for verification. &lt;br /&gt;
&lt;br /&gt;
===Valid upload file for testing===&lt;br /&gt;
Here is an example of a simple valid upload file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;username, password, firstname, lastname, email, course1, group1, cohort1&amp;lt;br /&amp;gt;&lt;br /&gt;
jonest, verysecret, Tom, Jones, jonest@someplace.edu, math102, Section 1, year 3&amp;lt;br /&amp;gt;&lt;br /&gt;
reznort, somesecret, Trent, Reznor, reznort@someplace.edu, math102, Section 3, year 4&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fields that can be included===&lt;br /&gt;
&#039;&#039;:Tip:&#039;&#039; We strongly recommend that you test a file that contains fields you proposed to use with one user before attempting a file upload for the first time.  demo.moodle.net might be a good place to see if your test file works.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Required fields&#039;&#039;&#039;: &lt;br /&gt;
:&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;username, firstname, lastname, email&amp;lt;/code&amp;gt;&lt;br /&gt;
:Validity checks are performed for:&lt;br /&gt;
#&amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; can only contain alphabetical &#039;&#039;&#039;lowercase&#039;&#039;&#039; letters , numbers, hypen &#039;-&#039;, underscore &#039;_&#039;, period &#039;.&#039;, or at-sign &#039;@&#039; &lt;br /&gt;
#&amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; is in the form: &#039;&#039;name@example.com&#039;&#039; .&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Password field&#039;&#039;&#039;: &amp;quot;password&amp;quot; field is optional if &amp;quot;Create password if needed&amp;quot; setting is chosen (default). &lt;br /&gt;
**If included, values should meet the requirements for the site&#039;s [[Site_policies#Password_policy|Password policy]]. To force password change for a particular user, set the password field to &amp;lt;code&amp;gt;changeme&amp;lt;/code&amp;gt;. &lt;br /&gt;
**If omitted, a password will be generated for each user (during the next Cron job) and welcome e-mails sent out (not working in v2.0.2?).&lt;br /&gt;
**Note: the text for the welcome e-mail is in the language settings.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Optional fields&#039;&#039;&#039;: To provide values other than the default include one or more of these&lt;br /&gt;
:&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;institution, department, city, country, lang, auth, timezone, idnumber, icq, phone1, phone2, address, url, description, mailformat, maildisplay, htmleditor, autosubscribe&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
*Country- use a country TWO LETTER CODE&lt;br /&gt;
*Some fields have a maximum number of characters that are allowed (notably institution should be &#039;&#039;&#039;at most 40 characters&#039;&#039;&#039; long).  See hints below.&lt;br /&gt;
*Maildisplay, htmleditor and autosubscribe can be set from an import screen in Moodle 2.0.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Custom profile field names&#039;&#039;&#039;: (Optional). xxxxx is the real custom user profile field name (i.e. the unique shortname)&lt;br /&gt;
:&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;profile_field_xxxxx&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
: Create the custom fields BEFORE importing. Use the standard header. The &amp;quot;shortname&amp;quot; for your custom field is xxxxx (NB: as at v2.0.2, the shortname must be all lowercase, otherwise won&#039;t be recognised). The first record must include &amp;quot;profile_field_xxxxx&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;&#039;Example&#039;&#039;&#039;: To create a custom field &amp;quot;genre&amp;quot;, you must write a shortname &amp;quot;genre&amp;quot; in the new field, and write &amp;quot;profile_field_genre&amp;quot; in the header of the .csv file.&lt;br /&gt;
&lt;br /&gt;
: For custom profile fields that are a menu, use the corresponding menu number (index).&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Example&#039;&#039;&#039;: if your custom field is department and there are three choices - HR, Marketing,Training- then HR would be 0, Marketing would be 1, and Training would be 2. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Special fields&#039;&#039;&#039;: Used for changing of usernames or deleting of users&lt;br /&gt;
:&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;oldusername&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;deleted&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Enrolment fields&#039;&#039;&#039;: (Optional):&lt;br /&gt;
:&amp;lt;code&amp;gt;course1, type1, role1, group1, enrolperiod1, course2, type2, role2, group2, enrolperiod2&amp;lt;/code&amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
:*&amp;lt;code&amp;gt;course&amp;lt;/code&amp;gt; is the &amp;quot;shortname&amp;quot; of the course, if present the user will be enrolled in those courses.&lt;br /&gt;
:* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; refers to the role to be used for associated course enrolment. Value 1 is default course role, 2 is legacy Teacher role and 3 is legacy Non-editing Teacher.&lt;br /&gt;
:* You can use role field instead to specify roles directly - use either role short name or id (numeric names of roles are not supported).&lt;br /&gt;
:* Users may be also assigned to groups in course (group1 in course1, group2 in course2, etc.).&lt;br /&gt;
:* A group is identified by name or id (numeric group names are not supported)&lt;br /&gt;
:* You can set the enrolment duration, in days, for each course (&amp;lt;code&amp;gt;enrolperiod1&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;course1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;enrolperiod2&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;course2&amp;lt;/code&amp;gt;, etc.).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cohort field&#039;&#039;&#039;: (Optional):&lt;br /&gt;
:&amp;lt;code&amp;gt;cohort1&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
:Cohort ids (not names) of existing cohorts must be used&lt;br /&gt;
&lt;br /&gt;
Commas within  a field must be encoded as &amp;amp;#44 - the script will decode these back to commas.&lt;br /&gt;
&lt;br /&gt;
For Boolean fields, use &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for false and &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for true.&lt;br /&gt;
&lt;br /&gt;
To prevent users from receiving a large number of emails from courses or forced subscription forums use the &#039;&#039;&#039;maildigest&#039;&#039;&#039;.  The options for this field are 0 = No digest, 1 = Complete digest and 2 = Digest with just subjects.&lt;br /&gt;
&lt;br /&gt;
==Advanced potentials of Upload user==&lt;br /&gt;
===Templates===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This section needs checking and updating if necessary for Moodle 2.0. Please do so and remove this note when finished.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The default values are processed as templates in which the following codes are allowed:&lt;br /&gt;
&lt;br /&gt;
* %l - will be replaced by the lastname&lt;br /&gt;
* %f - will be replaced by the firstname&lt;br /&gt;
* %u - will be replaced by the username&lt;br /&gt;
* %% - will be replaced by the %&lt;br /&gt;
&lt;br /&gt;
Between the percent sign (%) and any code letter (l, f or u) the following modifiers are allowed:&lt;br /&gt;
&lt;br /&gt;
* (-) minus sign - the information specified by the code letter will be converted to lowercase&lt;br /&gt;
* (+) plus sign - the information specified by the code letter will be converted to UPPERCASE&lt;br /&gt;
* (~) tilde sign - the information specified by the code letter will be converted to Title Case&lt;br /&gt;
* a decimal number - the information specified by the code letter will be truncated to that many characters&lt;br /&gt;
&lt;br /&gt;
For example, if the firstname is John and the lastname is Doe, the following values will be obtained with the specified templates:&lt;br /&gt;
&lt;br /&gt;
* %l%f = DoeJohn&lt;br /&gt;
* %l%1f = DoeJ&lt;br /&gt;
* %-l%+f = doeJOHN&lt;br /&gt;
* %-f_%-l = john_doe&lt;br /&gt;
*&amp;lt;nowiki&amp;gt; http://www.example.com/~%u/&amp;lt;/nowiki&amp;gt; results in  &amp;lt;nowiki&amp;gt;http://www.example.com/~jdoe/&amp;lt;/nowiki&amp;gt; (if the username is jdoe or %-1f%-l)&lt;br /&gt;
&lt;br /&gt;
Template processing is done only on default values, and not on the values retrieved from the CSV file.&lt;br /&gt;
&lt;br /&gt;
In order to create correct Moodle usernames, the username is always converted to lowercase. Moreover, if the &amp;quot;Allow extended characters in usernames&amp;quot; option in the Site policies page is off, characters different to letters, digits, dash (-) and dot (.) are removed. For example if the firstname is John Jr. and the lastname is Doe, the username %-f_%-l will produce john jr._doe when Allow extended characters in usernames is on, and johnjr.doe when off.&lt;br /&gt;
&lt;br /&gt;
When the &amp;quot;New username duplicate handling&amp;quot; setting is set to Append counter, an auto-increment counter will be append to duplicate usernames produced by the template. For example, if the CSV file contains the users named John Doe, Jane Doe and Jenny Doe without explicit usernames, the default username is %-1f%-l and New username duplicate handling is set to Append counter, then the usernames produced will be jdoe, jdoe2 and jdoe3.&lt;br /&gt;
&lt;br /&gt;
===Deleting accounts===&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;deleted&amp;lt;/code&amp;gt; field is present, users with value 1 for it will be deleted. In this case, all the fields may be omitted, except for &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt;. After uploading the file, be sure to change the &amp;quot;Upload type&amp;quot; to &amp;quot;Update existing users only&amp;quot; and the &amp;quot;Allow deletes&amp;quot; option to &amp;quot;Yes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Deleting and uploading accounts could be done with a single CSV file. For example, the following file will add the user Tom Jones and delete the user reznort:&lt;br /&gt;
&lt;br /&gt;
 username, firstname, lastname, deleted&lt;br /&gt;
 jonest, Tom, Jones, 0&lt;br /&gt;
 reznort, , , 1&lt;br /&gt;
&lt;br /&gt;
==Encoding file format==&lt;br /&gt;
On the initial Upload user screen, you may select the file encoding format from a pull down list.  These include UTF-8 (the default), ASCII,  ISO-8859-1 to ISO-8859-11 or any one of over 36 formats.&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
&lt;br /&gt;
===Spreadsheet===&lt;br /&gt;
&lt;br /&gt;
If you use a spreadsheet program such as Excel to create your .csv file, check the resulting output in a text editor before you upload it.  It is possible to get trailing commas on each line from an empty field if you have added and deleted columns of information prior to saving the final file. Also check the character encoding. A csv file is a simple text file (ASCII or Unicode) that can be used to upload user accounts.&lt;br /&gt;
&lt;br /&gt;
Excel translates passwords that begin with - (minus) or + (plus) as zero. Even when saving as .csv and saying &amp;quot;Yes&amp;quot; to &amp;quot;Keep this format, and leave out any incompatible features.&amp;quot; Check for this before uploading, as a zero halts the upload process.&lt;br /&gt;
&lt;br /&gt;
If you use a formula in Excel to create fields (for example, the concatenate function to create a user name), then remember to copy the cells with the formula and use special paste with values checked to make them into an acceptable data for a csv file.&lt;br /&gt;
&lt;br /&gt;
===Country===&lt;br /&gt;
The country should be written as a two letter code, in capitals. For example, use BE for Belgium or NL for the Netherlands.  Using &amp;quot;be&amp;quot; or &amp;quot;nl&amp;quot; as a country code will result in a database error.&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039;  If you are having trouble working out the two-letter code for a country, you can consult this Moodle source code file /moodle/lang/en_utf8/countries.php [http://cvs.moodle.org/moodle/lang/en_utf8/countries.php?view=markup&amp;amp;pathrev=MOODLE_19_STABLE or click here for a 1.9 STABLE list].&lt;br /&gt;
ISO Website: [http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm]&lt;br /&gt;
===Field size limits===&lt;br /&gt;
Some fields have maximum character lengths.  Typically the file will import to the preview list screen but not finish the process.  Turn on debug to see the fields that are too long.  Common fields to cause problems are &amp;quot;Institution&amp;quot; which is limited to 40 characters, and &amp;quot;City&amp;quot;, also limited.  The error will be &amp;quot;User not added - error&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===All fields listed here===&lt;br /&gt;
:All the fields that are valid are listed below, except for any custom fields you may have created. &lt;br /&gt;
firstname, lastname, username, email, city, country, lang, timezone, mailformat, maildisplay, maildigest, htmleditor, ajax, autosubscribe ,institution, department, idnumber, skype , msn, aim, yahoo, icq, phone1, phone2, address, url, description, descriptionformat, password, auth, oldusername , deleted, course1, course2, course3, course4&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Flat file]] enrolment&lt;br /&gt;
* [[User profile fields]] for details of how to include data about custom user profile fields in the upload users file&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36851 Can I auto enroll from Excel?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=97903 Uploading users to custom roles]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=181259 User upload option: standardise usernames]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=144569 Matriculacion con flat file csv] - discussion in Spanish&lt;br /&gt;
&lt;br /&gt;
[[fr:Importer des utilisateurs]]&lt;br /&gt;
[[ja:ユーザのアップロード]]&lt;br /&gt;
[[de:Nutzerliste hochladen]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Add_a_new_user&amp;diff=98608</id>
		<title>Add a new user</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Add_a_new_user&amp;diff=98608"/>
		<updated>2012-06-20T03:04:01Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: remove AJAX and Javascript MDL-32908&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Accounts}}&lt;br /&gt;
An administrator or manager (or any other user with the capability [[Capabilities/moodle/user:create|moodle/user:create]]) can create new user accounts in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Users &amp;gt; Accounts &amp;gt; Add a new user&#039;&#039;. (To add users in bulk, see [[Upload users]].)&lt;br /&gt;
&lt;br /&gt;
[[File:Addanewuser.png]]&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
&lt;br /&gt;
===Username===&lt;br /&gt;
The user will use this username to log in to the Moodle instance. It needs to be unique. This may be changed. A user&#039;s name can only  contain alphabetical letters in lowercase, numbers, hyphen &#039;-&#039;, underscore &#039;_&#039;, period &#039;.&#039;, or an at character &#039;@&#039;.&lt;br /&gt;
&lt;br /&gt;
===Authentication method===&lt;br /&gt;
The setting specifies how Moodle will check whether the user&#039;s specified password is correct. &lt;br /&gt;
&lt;br /&gt;
Accounts created by an administrator use the &#039;&#039;&#039;Manual Accounts&#039;&#039;&#039; method, and accounts created by the user themselves using the email sign-up method use the E-mail based self-registration method.&lt;br /&gt;
&lt;br /&gt;
===Suspended account===&lt;br /&gt;
&lt;br /&gt;
Suspended user accounts cannot log in or use web services, and any outgoing messages are discarded.&lt;br /&gt;
&lt;br /&gt;
===Password===&lt;br /&gt;
This is the user&#039;s password. It is subject to the password policy in [[Site policies]].  A user can change their password by the &#039;&#039;Settings block &amp;gt; My Profile settings &amp;gt; Change password&#039;&#039; link.&lt;br /&gt;
&lt;br /&gt;
===First Name===&lt;br /&gt;
The user&#039;s first name. It is displayed along with the last name in messages, forum posts, participants list, reports and anywhere where something about the user is shows on the page. &lt;br /&gt;
&lt;br /&gt;
===Surname===&lt;br /&gt;
The user&#039;s surname. It is displayed along with the first name in messages, forum posts, participants list, reports and anywhere where something about the user is shows on the page. &lt;br /&gt;
&lt;br /&gt;
===Email address===&lt;br /&gt;
Password reset notices, forum digests and other messages are sent to this email address from the Moodle site.&lt;br /&gt;
&lt;br /&gt;
===Email display===&lt;br /&gt;
This setting controls who can see the user&#039;s email address. &lt;br /&gt;
&lt;br /&gt;
===Email format===&lt;br /&gt;
This setting can be used such that Moodle will send text-only emails to the user. &lt;br /&gt;
&lt;br /&gt;
===Email digest type===&lt;br /&gt;
This setting set whether the user will receive an email for each new forum post in subscribed forums, or if new posts should be sent once per day in a digest, and which type of digest.&lt;br /&gt;
* No digest (one receives individual emails),&lt;br /&gt;
* Complete (a single digest daily) or&lt;br /&gt;
* Subjects (a single digest daily with only the post topics included).&lt;br /&gt;
&lt;br /&gt;
===Forum auto-subscribe===&lt;br /&gt;
If a user subscribes to a forum, new posts will be sent in the digest as specified. This setting sets whether a user is automatically subscribed to forums or if a manual click on the subscription button in each forum is required.&lt;br /&gt;
&lt;br /&gt;
===Forum tracking===&lt;br /&gt;
THis setting specifies whether new posts written since the user&#039;s last visit should be highlighted as such.&lt;br /&gt;
&lt;br /&gt;
===When editing text===&lt;br /&gt;
This setting specifies whether the user prefers to see the WYSIWYG text editor or just a plain text box.&lt;br /&gt;
&lt;br /&gt;
===Screen Reader===&lt;br /&gt;
Enabling this setting will improve the display of Moodle to make it more compatible with screen readers. &lt;br /&gt;
&lt;br /&gt;
===City/town===&lt;br /&gt;
The user&#039;s city or town&lt;br /&gt;
&lt;br /&gt;
===Country===&lt;br /&gt;
The user&#039;s country&lt;br /&gt;
&lt;br /&gt;
Note: City and country defaults may be set in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Location &amp;gt; Location settings&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Timezone===&lt;br /&gt;
This setting is used to adjust the times of messages and assignment/quiz due dates to match the user&#039;s local time&lt;br /&gt;
&lt;br /&gt;
===Preferred language===&lt;br /&gt;
This will cause the Moodle interface to be displayed in the specified language. (See [[Language packs]])&lt;br /&gt;
&lt;br /&gt;
Note: Content will not be translated automatically, but if multi-language content is entered the appropriate language content will be displayed, if available. &lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
Information about the user that other users can see.&lt;br /&gt;
&lt;br /&gt;
==User Picture==&lt;br /&gt;
The user&#039;s picture can be displayed next to the user&#039;s name next to any content he/she has posted in Moodle activities such as the forum. See [[User pictures]] and [[Gravatars]] for details.&lt;br /&gt;
&lt;br /&gt;
==Interests==&lt;br /&gt;
The list of interests can be used as a way of connecting users with similar interests. [[Tags]] must be enabled on the site.&lt;br /&gt;
&lt;br /&gt;
==Optional==&lt;br /&gt;
There are several optional fields that come with an standard install. These include:&lt;br /&gt;
Web Page, ICA number, Skype ID, AIM ID, Yahoo ID, MSN ID, ID number, Institution,  Department, Phone, Mobile Phone, Address.&lt;br /&gt;
&lt;br /&gt;
The site administrator may [[User profile fields|add more custom fields]] and/or turn off any of these &amp;quot;optional&amp;quot; fields.&lt;br /&gt;
&lt;br /&gt;
[[de:Nutzer/in neu anlegen]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Update_profile&amp;diff=98607</id>
		<title>Update profile</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Update_profile&amp;diff=98607"/>
		<updated>2012-06-20T03:03:36Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: remove AJAX and Javascript MDL-32908&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Accounts}}&lt;br /&gt;
==Editing Your Profile ==&lt;br /&gt;
&lt;br /&gt;
Administrators can update user profiles via  &#039;&#039;Administration &amp;gt; Users &amp;gt; Accounts &amp;gt; Add a new user&#039;&#039; or &#039;&#039;Browse list of users&#039;&#039; and individual users may update their profiles by choosing the &#039;&#039;Edit profile&#039;&#039; link from &#039;&#039;Settings&amp;gt;My profile settings&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fields are divided into 3 sections - General, Picture &amp;amp; Optional which are all explained below.  Note that some settings are &#039;advanced&#039;, so you may need to click the &#039;Show Advanced&#039; button on the right to see all the settings. The advanced settings are indicated below.&lt;br /&gt;
&lt;br /&gt;
Remember to click &#039;Update profile&#039; when you have finished.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
The first section contains fields that must be completed:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;First name &amp;amp; Surname&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These are self-explanatory. These names will identify you everywhere in your Moodle courses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Email address&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The email address should be an address that you check regularly. It is used for acknowledgements and announcements from Moodle, including messages from Forums that you are subscribed to. It is also the address that is displayed to other users of Moodle, depending on your &#039;Email display&#039; setting (below).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Email display&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This controls the visibility of your email address to others.  The three settings are self-explanatory but please note &#039;Hide my email address from everyone&#039; only hides it from students.  Teaching staff and other staff with editing access will always be able to see your email address.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Email format (advanced)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are two formats: &amp;quot;Pretty HTML format&amp;quot; (messages will be formatted) and &amp;quot;Plain text format&amp;quot; (plain text with no formatting).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Email digest type (advanced)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This setting determines how you receive any posts from Forums to which you are subscribed, allowing you to receive messages individually or on a daily basis.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forum auto-subscribe (advanced)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This setting lets you decide if you want email copies of posts that are added to forums. If you set this to subscribe, the system will automatically email you copies of new posts in forums that you post in, unless you manually override it when posting.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Forum tracking (advanced)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enabling forum tracking means highlighting the posts you have not read yet, which should improve your forum navigation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When editing text (advanced)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can usually be left on &amp;quot;Use HTML editor (some browsers only)&amp;quot;. This allows for text formatting options, but requires newer browsers. If you find your browser is not letting you edit text, change this setting to &amp;quot;Use standard web forms&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Screen Reader (advanced)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you use a screen reader, this setting should be set to &#039;Yes&#039;. (A screen reader is a form of &#039;assistive technology&#039; used by blind and partially-sighted users to interpret what is displayed on the screen).&lt;br /&gt;
&lt;br /&gt;
The screenreader variable is used in:&lt;br /&gt;
&lt;br /&gt;
* /mod/chat/ - if screenreader is enable, chat window will be set to use gui_basic&lt;br /&gt;
* /mod/course/report/progress/ - check for svg to rotate text&lt;br /&gt;
* /admin/mnet/mnet_themes.html - use to ignore or print theme images&lt;br /&gt;
* /user/ - set the value for screenreader&lt;br /&gt;
* /grade/report/grader/ - use to set fixed layout&lt;br /&gt;
* /question/type/multianswer/ - used to print feedback icon and print an gap icon for question (MDL-7497)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;City/town &amp;amp; Country&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add your location.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Timezone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This field is used to convert time-related messages on the system (such as assignment deadlines) from the local timezone (the time in London) to the correct time in whichever zone you have selected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preferred language and theme (advanced)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can view Moodle in several different languages and colour themes, which you can select via these two options. Note: changing the preferred language only affects the Moodle interface, not the course content!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this field you can enter some text about yourself, be it information about your studies, hobbies, qualifications or anything else.&lt;br /&gt;
&lt;br /&gt;
=== User picture ===&lt;br /&gt;
&lt;br /&gt;
This section is optional and allows you to choose your own profile picture.  Your current picture is shown, if you have already chosen one.&lt;br /&gt;
&lt;br /&gt;
Note: If the admin has enabled it in &#039;&#039;Settings &amp;gt; Site Administration &amp;gt; Users &amp;gt; Permissions &amp;gt; User policies&#039;&#039;, a gravatar you might have attached to your email account will appear as your profile image if you don&#039;t upload a different one. See [[Gravatars]] for details.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New picture&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Choose a file&amp;quot; button allows you to choose a new picture for your profile. The picture must be in JPG or PNG format (ie the names will usually end in .jpg or .png).&lt;br /&gt;
&lt;br /&gt;
To upload an image, click the &amp;quot;Upload a file&amp;quot; button from the list in the [[File_picker]], and select the image from your hard disk.&lt;br /&gt;
&lt;br /&gt;
NOTE: Make sure that the file is not larger than the maximum size listed, or it will not be uploaded.&lt;br /&gt;
&lt;br /&gt;
Then click &amp;quot;Update Profile&amp;quot; at the bottom - the image file will be cropped to a square and resized down to 100x100 pixels.&lt;br /&gt;
&lt;br /&gt;
When you are taken back to your profile page, the image might not appear to have changed. If this is so, just use the &amp;quot;Reload&amp;quot; button in your browser.&lt;br /&gt;
==Interests==&lt;br /&gt;
Use tags here to display your interests on your profile page.&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
There are several optional fields (all advanced) allowing you to add further details to your profile such as contact details and your website.&lt;br /&gt;
&lt;br /&gt;
===Custom Profile Categories===&lt;br /&gt;
If any custom user profile categories and fields have been created on your Moodle site, they will be listed at the bottom of the [[User profile fields|Admin &amp;gt;Accounts&amp;gt;User profile fields]]&lt;br /&gt;
&lt;br /&gt;
==Updating a user profile==&lt;br /&gt;
&lt;br /&gt;
Users with the capability [[Capabilities/moodle/user:update|moodle/user:update]] are able to update another user&#039;s profile i.e. in addition to being able to edit the profile, all settings (username, password, authentication method, force new password etc.) may be changed.&lt;br /&gt;
&lt;br /&gt;
==Account disabling==&lt;br /&gt;
&lt;br /&gt;
An account may be disabled by setting the authentication method to &amp;quot;[[No login]]&amp;quot;. The account email may not be used to create another account.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[User profiles]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Modifier le profil]]&lt;br /&gt;
[[de:Nutzerprofil aktualisieren]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98205</id>
		<title>Google OAuth 2.0 setup</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98205"/>
		<updated>2012-06-07T06:26:42Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: Converting to thumnails. This view still sucks though. I&amp;#039;m not a mediawiki guru.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prior to Moodle 2.3, Google Docs and Picasa repository plugins and portfolio plugins could be used without any configuration or registration with Google. In April 2012, [http://googledevelopers.blogspot.com/2012/04/changes-to-deprecation-policies-and-api.html Google announced] to web application developers that they would be deprecating the service which Moodle was using to communicate with Google and strongly advised developers to move away from it. As a response to this change with Google&#039;s service, Moodle switched to use a new system for communicating with Google called &#039;OAuth 2.0&#039;. The OAuth 2.0 system providers and a better security system and more friendly experience to Moodle users, though it requires some additional configuration in Moodle.&lt;br /&gt;
&lt;br /&gt;
==Registering with Google==&lt;br /&gt;
Each Moodle site now needs to be registered with Google in order to use the Google Docs or Picasa plugins. The following will guide you through the process of registering with Google.&lt;br /&gt;
&lt;br /&gt;
# You will need to be signed into a google account&lt;br /&gt;
# Visit the [Google API&#039;s Console https://code.google.com/apis/console#access]&lt;br /&gt;
# You will be asked to create a project if this is your first time using this form. [[Image:google_oauth1.png|thumb|3. creating API Project]] &lt;br /&gt;
# You need to click the button marked &#039;Create an OAuth 2.0 client ID..&#039; [[File:google_oauth2.png|thumb|4. creating an OAuth 2.0 Client ID]]&lt;br /&gt;
# You will be asked to enter branding information including a &#039;Product name&#039; and &#039;Product logo&#039;. By providing a descriptive name and link to distinct image then your users will know they are signing into the correct place. [[File:google_oauth3.png|thumb|5. client Settings]]&lt;br /&gt;
# Next you will be asked for &#039;Client ID Settings&#039; &lt;br /&gt;
## For Application type, select &#039;Web application&#039;&lt;br /&gt;
## Next to &#039;Your site or hostname&#039; click &#039;(more options)&#039;&lt;br /&gt;
## In &#039;Authorized Redirect URIs&#039; enter the URL which was provided in your Moodle settings page. (usually http://yourmoodle/admin/oauth2callback.php)&lt;br /&gt;
## In &#039;Authorized JavaScript Origins&#039; leave the field blank [[File:google_oauth4.png|thumb|9. callback options]]&lt;br /&gt;
# Click &#039;Create client ID&#039;&lt;br /&gt;
# Your site is now registered with Google and you will be presented with your details. [[File:google_oauth5.png|thumb|12. registered details]]&lt;br /&gt;
# Enter the &#039;Client ID&#039; and &#039;Client secret&#039; provided into your Moodle settings page&lt;br /&gt;
&lt;br /&gt;
==Resulting Authorisation Screen==&lt;br /&gt;
Once configured, Google will present Moodle users with a nice authorisation screen with your moodle name and logo for your users to authorise:&lt;br /&gt;
[[File:google_oauth6.png]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98204</id>
		<title>Google OAuth 2.0 setup</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98204"/>
		<updated>2012-06-07T06:17:16Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: slightly improved the initial sentence so it sounds less like I was smoking something whilst authoring it. ;-)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prior to Moodle 2.3, Google Docs and Picasa repository plugins and portfolio plugins could be used without any configuration or registration with Google. In April 2012, [http://googledevelopers.blogspot.com/2012/04/changes-to-deprecation-policies-and-api.html Google announced] to web application developers that they would be deprecating the service which Moodle was using to communicate with Google and strongly advised developers to move away from it. As a response to this change with Google&#039;s service, Moodle switched to use a new system for communicating with Google called &#039;OAuth 2.0&#039;. The OAuth 2.0 system providers and a better security system and more friendly experience to Moodle users, though it requires some additional configuration in Moodle.&lt;br /&gt;
&lt;br /&gt;
==Registering with Google==&lt;br /&gt;
Each Moodle site now needs to be registered with Google in order to use the Google Docs or Picasa plugins. The following will guide you through the process of registering with Google.&lt;br /&gt;
&lt;br /&gt;
# You will need to be signed into a google account&lt;br /&gt;
# Visit the [Google API&#039;s Console https://code.google.com/apis/console#access]&lt;br /&gt;
# You will be asked to create a project if this is your first time using this form. [[File:google_oauth1.png]]&lt;br /&gt;
# You need to click the button marked &#039;Create an OAuth 2.0 client ID..&#039; [[File:google_oauth2.png]]&lt;br /&gt;
# You will be asked to enter branding information including a &#039;Product name&#039; and &#039;Product logo&#039;. By providing a descriptive name and link to distinct image then your users will know they are signing into the correct place. [[File:google_oauth3.png]]&lt;br /&gt;
# Next you will be asked for &#039;Client ID Settings&#039; &lt;br /&gt;
## For Application type, select &#039;Web application&#039;&lt;br /&gt;
## Next to &#039;Your site or hostname&#039; click &#039;(more options)&#039;&lt;br /&gt;
## In &#039;Authorized Redirect URIs&#039; enter the URL which was provided in your Moodle settings page. (usually http://yourmoodle/admin/oauth2callback.php)&lt;br /&gt;
## In &#039;Authorized JavaScript Origins&#039; leave the field blank [[File:google_oauth4.png]]&lt;br /&gt;
# Click &#039;Create client ID&#039;&lt;br /&gt;
# Your site is now registered with Google and you will be presented with your details. [[File:google_oauth5.png]]&lt;br /&gt;
# Enter the &#039;Client ID&#039; and &#039;Client secret&#039; provided into your Moodle settings page&lt;br /&gt;
&lt;br /&gt;
==Resulting Authorisation Screen==&lt;br /&gt;
Once configured, Google will present Moodle users with a nice authorisation screen with your moodle name and logo for your users to authorise:&lt;br /&gt;
[[File:google_oauth6.png]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98188</id>
		<title>Google OAuth 2.0 setup</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98188"/>
		<updated>2012-06-04T12:47:20Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prior to Moodle 2.3, Google Docs and Picasa repository plugins and portfolio plugins could be used without any configuration or registration with Google. In April 2012, [http://googledevelopers.blogspot.com/2012/04/changes-to-deprecation-policies-and-api.html Google Announced] to web application developers that they would be deprecated the service which Moodle was using to communicate with Google and strongly advised developers to move away from it. As a response to this change with Google&#039;s service, Moodle switched to use a new system for communicating with Google called &#039;OAuth 2.0&#039;, starting with Moodle 2.3. The OAuth 2.0 system providers and a better security system and more friendly experience to Moodle users, though it requires some additional configuration in Moodle.&lt;br /&gt;
&lt;br /&gt;
==Registering with Google==&lt;br /&gt;
Each Moodle site now needs to be registered with Google in order to use the Google Docs or Picasa plugins. The following will guide you through the process of registering with Google.&lt;br /&gt;
&lt;br /&gt;
# You will need to be signed into a google account&lt;br /&gt;
# Visit the [Google API&#039;s Console https://code.google.com/apis/console#access]&lt;br /&gt;
# You will be asked to create a project if this is your first time using this form. [[File:google_oauth1.png]]&lt;br /&gt;
# You need to click the button marked &#039;Create an OAuth 2.0 client ID..&#039; [[File:google_oauth2.png]]&lt;br /&gt;
# You will be asked to enter branding information including a &#039;Product name&#039; and &#039;Product logo&#039;. By providing a descriptive name and link to distinct image then your users will know they are signing into the correct place. [[File:google_oauth3.png]]&lt;br /&gt;
# Next you will be asked for &#039;Client ID Settings&#039; &lt;br /&gt;
## For Application type, select &#039;Web application&#039;&lt;br /&gt;
## Next to &#039;Your site or hostname&#039; click &#039;(more options)&#039;&lt;br /&gt;
## In &#039;Authorized Redirect URIs&#039; enter the URL which was provided in your Moodle settings page. (usually http://yourmoodle/admin/oauth2callback.php)&lt;br /&gt;
## In &#039;Authorized JavaScript Origins&#039; leave the field blank [[File:google_oauth4.png]]&lt;br /&gt;
# Click &#039;Create client ID&#039;&lt;br /&gt;
# Your site is now registered with Google and you will be presented with your details. [[File:google_oauth5.png]]&lt;br /&gt;
# Enter the &#039;Client ID&#039; and &#039;Client secret&#039; provided into your Moodle settings page&lt;br /&gt;
&lt;br /&gt;
==Resulting Authorisation Screen==&lt;br /&gt;
Once configured, Google will present Moodle users with a nice authorisation screen with your moodle name and logo for your users to authorise:&lt;br /&gt;
[[File:google_oauth6.png]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98187</id>
		<title>Google OAuth 2.0 setup</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98187"/>
		<updated>2012-06-04T12:41:51Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: /* Registering with Google */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prior to Moodle 2.3, Google Docs and Picasa repository plugins and portfolio plugins could be used without any configuration or registration with Google. In April 2012, [http://googledevelopers.blogspot.com.au/2012/04/changes-to-deprecation-policies-and-api.html Google Announced] to web application developers that they would be deprecated the service which Moodle was using to communicate with Google and strongly advised developers to move away from it. As a response to this change with Google&#039;s service, Moodle switched to use a new system for communicating with Google called &#039;OAuth 2.0&#039;, starting with Moodle 2.3. The OAuth 2.0 system providers and a better security system and more friendly experience to Moodle users, though it requires some additional configuration in Moodle.&lt;br /&gt;
&lt;br /&gt;
==Registering with Google==&lt;br /&gt;
Each Moodle site now needs to be registered with Google in order to use the Google Docs or Picasa plugins. The following will guide you through the process of registering with Google.&lt;br /&gt;
&lt;br /&gt;
# You will need to be signed into a google account&lt;br /&gt;
# Visit the [Google API&#039;s Console https://code.google.com/apis/console#access]&lt;br /&gt;
# You will be asked to create a project if this is your first time using this form. [[File:google_oauth1.png]]&lt;br /&gt;
# You need to click the button marked &#039;Create an OAuth 2.0 client ID..&#039; [[File:google_oauth2.png]]&lt;br /&gt;
# You will be asked to enter branding information including a &#039;Product name&#039; and &#039;Product logo&#039;. By providing a descriptive name and link to distinct image then your users will know they are signing into the correct place. [[File:google_oauth3.png]]&lt;br /&gt;
# Next you will be asked for &#039;Client ID Settings&#039; &lt;br /&gt;
## For Application type, select &#039;Web application&#039;&lt;br /&gt;
## Next to &#039;Your site or hostname&#039; click &#039;(more options)&#039;&lt;br /&gt;
## In &#039;Authorized Redirect URIs&#039; enter the URL which was provided in your Moodle settings page. (usually http://yourmoodle/admin/oauth2callback.php)&lt;br /&gt;
## In &#039;Authorized JavaScript Origins&#039; leave the field blank [[File:google_oauth4.png]]&lt;br /&gt;
# Click &#039;Create client ID&#039;&lt;br /&gt;
# Your site is now registered with Google and you will be presented with your details. [[File:google_oauth5.png]]&lt;br /&gt;
# Enter the &#039;Client ID&#039; and &#039;Client secret&#039; provided into your Moodle settings page&lt;br /&gt;
&lt;br /&gt;
==Resulting Authorisation Screen==&lt;br /&gt;
Once configured, Google will present Moodle users with a nice authorisation screen with your moodle name and logo for your users to authorise:&lt;br /&gt;
[[File:google_oauth6.png]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98186</id>
		<title>Google OAuth 2.0 setup</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98186"/>
		<updated>2012-06-04T12:40:48Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: /* Registering with Google */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prior to Moodle 2.3, Google Docs and Picasa repository plugins and portfolio plugins could be used without any configuration or registration with Google. In April 2012, [http://googledevelopers.blogspot.com.au/2012/04/changes-to-deprecation-policies-and-api.html Google Announced] to web application developers that they would be deprecated the service which Moodle was using to communicate with Google and strongly advised developers to move away from it. As a response to this change with Google&#039;s service, Moodle switched to use a new system for communicating with Google called &#039;OAuth 2.0&#039;, starting with Moodle 2.3. The OAuth 2.0 system providers and a better security system and more friendly experience to Moodle users, though it requires some additional configuration in Moodle.&lt;br /&gt;
&lt;br /&gt;
==Registering with Google==&lt;br /&gt;
Each Moodle site now needs to be registered with Google in order to use the Google Docs or Picasa plugins. The following will guide you through the process of registering with Google.&lt;br /&gt;
&lt;br /&gt;
# You will need to be signed into a google account&lt;br /&gt;
# Visit the [Google API&#039;s Console https://code.google.com/apis/console#access]&lt;br /&gt;
# You will be asked to create a project if this is your first time using this form. [[File:google_oauth1.png]]&lt;br /&gt;
# You need to click the button marked &#039;Create an OAuth 2.0 client ID..&#039; [[File:google_oauth2.png]]&lt;br /&gt;
# You will be asked to enter branding information including a &#039;Product name&#039; and &#039;Product logo&#039;. By providing a descriptive name and link to distinct image then your users will know they are signing into the correct place. [[File:google_oauth3.png]]&lt;br /&gt;
# Next you will be asked for &#039;Client ID Settings&#039; &lt;br /&gt;
## For Application type, select &#039;Web application&#039;&lt;br /&gt;
## Next to &#039;Your site or hostname&#039; click &#039;(more options)&#039;&lt;br /&gt;
## In &#039;Authorized Redirect URIs&#039; enter the URL which was provided in your Moodle settings page. (usually http://yourmoodle/admin/oauth2callback.php)&lt;br /&gt;
## In &#039;Authorized JavaScript Origins&#039; leave the field blank [[File:google_oauth4.png]]&lt;br /&gt;
# Click &#039;Create client ID&#039;&lt;br /&gt;
# Your site is now registered with Google and you will be presented with your details. [[File:google_oauth5.png]]&lt;br /&gt;
# Enter the &#039;Client ID&#039; and &#039;Client secret&#039; provided into your Moodle settings page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once configured, Google will present Moodle users with a nice authorisation screen with your moodle name and logo for your users to authorise:&lt;br /&gt;
[[File:google_oauth6.png]]&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:google_oauth6.png&amp;diff=98185</id>
		<title>File:google oauth6.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:google_oauth6.png&amp;diff=98185"/>
		<updated>2012-06-04T12:38:50Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98184</id>
		<title>Google OAuth 2.0 setup</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98184"/>
		<updated>2012-06-04T12:34:09Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prior to Moodle 2.3, Google Docs and Picasa repository plugins and portfolio plugins could be used without any configuration or registration with Google. In April 2012, [http://googledevelopers.blogspot.com.au/2012/04/changes-to-deprecation-policies-and-api.html Google Announced] to web application developers that they would be deprecated the service which Moodle was using to communicate with Google and strongly advised developers to move away from it. As a response to this change with Google&#039;s service, Moodle switched to use a new system for communicating with Google called &#039;OAuth 2.0&#039;, starting with Moodle 2.3. The OAuth 2.0 system providers and a better security system and more friendly experience to Moodle users, though it requires some additional configuration in Moodle.&lt;br /&gt;
&lt;br /&gt;
==Registering with Google==&lt;br /&gt;
Each Moodle site now needs to be registered with Google in order to use the Google Docs or Picasa plugins. The following will guide you through the process of registering with Google.&lt;br /&gt;
&lt;br /&gt;
# You will need to be signed into a google account&lt;br /&gt;
# Visit the [Google API&#039;s Console https://code.google.com/apis/console#access]&lt;br /&gt;
# You will be asked to create a project if this is your first time using this form. [[File:google_oauth1.png]]&lt;br /&gt;
# You need to click the button marked &#039;Create an OAuth 2.0 client ID..&#039; [[File:google_oauth2.png]]&lt;br /&gt;
# You will be asked to enter branding information including a &#039;Product name&#039; and &#039;Product logo&#039;. By providing a descriptive name and link to distinct image then your users will know they are signing into the correct place. [[File:google_oauth3.png]]&lt;br /&gt;
# Next you will be asked for &#039;Client ID Settings&#039; &lt;br /&gt;
## For Application type, select &#039;Web application&#039;&lt;br /&gt;
## Next to &#039;Your site or hostname&#039; click &#039;(more options)&#039;&lt;br /&gt;
## In &#039;Authorized Redirect URIs&#039; enter the URL which was provided in your Moodle settings page. (usually http://yourmoodle/admin/oauth2callback.php)&lt;br /&gt;
## In &#039;Authorized JavaScript Origins&#039; leave the field blank [[File:google_oauth4.png]]&lt;br /&gt;
# Click &#039;Create client ID&#039;&lt;br /&gt;
# Your site is now registered with Google and you will be presented with your details. [[File:google_oauth5.png]]&lt;br /&gt;
# Enter the &#039;Client ID&#039; and &#039;Client secret&#039; provided into your Moodle settings page&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98183</id>
		<title>Google OAuth 2.0 setup</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98183"/>
		<updated>2012-06-04T12:33:41Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prior to Moodle 2.3, Google Docs and Picasa repository plugins and portfolio plugins could be used without any configuration or registration with Google. In April 2012, [http://googledevelopers.blogspot.com.au/2012/04/changes-to-deprecation-policies-and-api.html Google Announced] to web application developers that they would be deprecated the service which Moodle was using to communicate with Google and strongly advised developers to move away from it. As a response to this change with Google&#039;s service, Moodle switched to use a new system for communicating with Google called &#039;OAuth 2.0&#039;, starting with Moodle 2.3. The OAuth 2.0 system providers and a better security system and more friendly experience to Moodle users, though it requires some additional configuration in Moodle.&lt;br /&gt;
&lt;br /&gt;
==Registering with Google==&lt;br /&gt;
Each Moodle site now needs to be registered with Google in order to use the Google Docs or Picasa plugins. The following will guide you through the process of registering with Google.&lt;br /&gt;
&lt;br /&gt;
# You will need to be signed into a google account&lt;br /&gt;
# Visit the [Google API&#039;s Console https://code.google.com/apis/console#access]&lt;br /&gt;
# You will be asked to create a project if this is your first time using this form. [[File:google_oauth1.png]]&lt;br /&gt;
# You need to click the button marked &#039;Create an OAuth 2.0 client ID..&#039; [[File:google_oauth2.png]]&lt;br /&gt;
# You will be asked to enter branding information including a &#039;Product name&#039; and &#039;Product logo&#039;. By providing a descriptive name and link to distinct image then your users will know they are signing into the correct place. [[File:google_oauth3.png]&lt;br /&gt;
# Next you will be asked for &#039;Client ID Settings&#039; &lt;br /&gt;
## For Application type, select &#039;Web application&#039;&lt;br /&gt;
## Next to &#039;Your site or hostname&#039; click &#039;(more options)&#039;&lt;br /&gt;
## In &#039;Authorized Redirect URIs&#039; enter the URL which was provided in your Moodle settings page. (usually http://yourmoodle/admin/oauth2callback.php)&lt;br /&gt;
## In &#039;Authorized JavaScript Origins&#039; leave the field blank [[File:google_oauth4.png]&lt;br /&gt;
# Click &#039;Create client ID&#039;&lt;br /&gt;
# Your site is now registered with Google and you will be presented with your details. [[File:google_oauth5.png]&lt;br /&gt;
# Enter the &#039;Client ID&#039; and &#039;Client secret&#039; provided into your Moodle settings page&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:google_oauth5.png&amp;diff=98182</id>
		<title>File:google oauth5.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:google_oauth5.png&amp;diff=98182"/>
		<updated>2012-06-04T12:32:05Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:google_oauth4.png&amp;diff=98181</id>
		<title>File:google oauth4.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:google_oauth4.png&amp;diff=98181"/>
		<updated>2012-06-04T12:31:43Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:google_oauth3.png&amp;diff=98180</id>
		<title>File:google oauth3.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:google_oauth3.png&amp;diff=98180"/>
		<updated>2012-06-04T12:31:12Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:google_oauth2.png&amp;diff=98179</id>
		<title>File:google oauth2.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:google_oauth2.png&amp;diff=98179"/>
		<updated>2012-06-04T12:30:56Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:google_oauth1.png&amp;diff=98178</id>
		<title>File:google oauth1.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:google_oauth1.png&amp;diff=98178"/>
		<updated>2012-06-04T12:30:33Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98177</id>
		<title>Google OAuth 2.0 setup</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Google_OAuth_2.0_setup&amp;diff=98177"/>
		<updated>2012-06-04T12:21:21Z</updated>

		<summary type="html">&lt;p&gt;Poltawski: First draft of oauth2 settings This is a difficult page to write because it implicitly contains jargon.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Prior to Moodle 2.3, Google Docs and Picasa repository plugins and portfolio plugins could be used without any configuration or registration with Google. In April 2012, [http://googledevelopers.blogspot.com.au/2012/04/changes-to-deprecation-policies-and-api.html Google Announced] to web application developers that they would be deprecated the service which Moodle was using to communicate with Google and strongly advised developers to move away from it. As a response to this change with Google&#039;s service, Moodle switched to use a new system for communicating with Google called &#039;OAuth 2.0&#039;, starting with Moodle 2.3. The OAuth 2.0 system providers and a better security system and more friendly experience to Moodle users, though it requires some additional configuration in Moodle.&lt;br /&gt;
&lt;br /&gt;
==Registering with Google==&lt;br /&gt;
Each Moodle site now needs to be registered with Google in order to use the Google Docs or Picasa plugins. The following will guide you through the process of registering with Google.&lt;br /&gt;
&lt;br /&gt;
# You will need to be signed into a google account&lt;br /&gt;
# Visit the [Google API&#039;s Console https://code.google.com/apis/console#access]&lt;br /&gt;
# You will be asked to create a project if this is your first time using this form.&lt;br /&gt;
# You need to click the button marked &#039;Create an OAuth 2.0 client ID..&#039;&lt;br /&gt;
# You will be asked to enter branding information including a &#039;Product name&#039; and &#039;Product logo&#039;. By providing a descriptive name and link to distinct image then your users will know they are signing into the correct place.&lt;br /&gt;
# Next you will be asked for &#039;Client ID Settings&#039;&lt;br /&gt;
## For Application type, select &#039;Web application&#039;&lt;br /&gt;
## Next to &#039;Your site or hostname&#039; click &#039;(more options)&#039;&lt;br /&gt;
## In &#039;Authorized Redirect URIs&#039; enter the URL which was provided in your Moodle settings page. (usually http://yourmoodle/admin/oauth2callback.php)&lt;br /&gt;
## In &#039;Authorized JavaScript Origins&#039; leave the field blank&lt;br /&gt;
# Click &#039;Create client ID&#039;&lt;br /&gt;
# Your site is now registered with Google and you will be presented with your details.&lt;br /&gt;
# Enter the &#039;Client ID&#039; and &#039;Client secret&#039; provided into your Moodle settings page&lt;/div&gt;</summary>
		<author><name>Poltawski</name></author>
	</entry>
</feed>