<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/404/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Utcursch</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/404/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Utcursch"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/Special:Contributions/Utcursch"/>
	<updated>2026-04-14T19:21:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Administration_FAQ&amp;diff=30397</id>
		<title>Administration FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Administration_FAQ&amp;diff=30397"/>
		<updated>2007-12-19T09:09:37Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: add orphaned page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FAQ}}&lt;br /&gt;
&lt;br /&gt;
==Changing text in Moodle==&lt;br /&gt;
&lt;br /&gt;
Text in Moodle may be changed by editing the language files via Administration &amp;gt;&amp;gt; Configuration &amp;gt;&amp;gt; [[admin/lang | Language]].&lt;br /&gt;
&lt;br /&gt;
==How do I change the spelling of &amp;quot;enrol&amp;quot; to &amp;quot;enroll&amp;quot;?==&lt;br /&gt;
&lt;br /&gt;
Simply install the American English language pack (en_us) then choose it as the default language for the site.&lt;br /&gt;
&lt;br /&gt;
==How do I make my Moodle site homepage look like the moodle.org homepage?==&lt;br /&gt;
&lt;br /&gt;
Please see the theme how-to [[Homepage design|homepage design of moodle.org]] for full details.&lt;br /&gt;
&lt;br /&gt;
== How do the limits on uploaded files work? ==&lt;br /&gt;
&lt;br /&gt;
File upload sizes are restricted in a number of ways - each one in the list restricts the following ones.&lt;br /&gt;
&lt;br /&gt;
1. Firstly, there is a setting in Apache 2 which you may need to change. On Redhat this setting is very low by default, you can change the limit by adding or editing a line in Apache&#039;s &#039;&#039;/etc/httpd/conf/httpd.conf&#039;&#039; and/or &#039;&#039;/etc/httpd/conf.d/php.conf&#039;&#039; with the upload size in bytes (different operating systems may have these files in different locations):&lt;br /&gt;
&lt;br /&gt;
 LimitRequestBody 10485760&lt;br /&gt;
&lt;br /&gt;
2. PHP also has two more byte limits, which you can set in &#039;&#039;php.ini&#039;&#039; and sometimes in a &#039;&#039;.htaccess&#039;&#039; file:&lt;br /&gt;
&lt;br /&gt;
 php_value upload_max_filesize 50000000&lt;br /&gt;
 php_value post_max_size 50000000&lt;br /&gt;
&lt;br /&gt;
To convert from Bytes to Megabytes use [http://www.onlineconversion.com/computer.htm this convertor ]&lt;br /&gt;
&lt;br /&gt;
Please note that a server re-start may be required for the above changes to take effect.&lt;br /&gt;
&lt;br /&gt;
3. Moodle has a site-wide limit called maxbytes that may be set in Administration &amp;gt;&amp;gt; Configuration &amp;gt;&amp;gt; [[admin/config|Variables]].&lt;br /&gt;
&lt;br /&gt;
4. A limit may be set by teachers in the [[course/edit|Course settings]].&lt;br /&gt;
&lt;br /&gt;
5. Activity modules such as [[Forums]] and [[Assignments]] have their own limits which may be set when adding or editing the activity.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See also&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/discuss.php?d=39625 Detailed instructions to increase the maximum allowed size for uploaded files] forum discussion&lt;br /&gt;
* Instructions below on How to change the maximum execution time&lt;br /&gt;
&lt;br /&gt;
== How to change upload file size on a Windows localhost==&lt;br /&gt;
In a localhost (using a [[Complete install packages]] on a computer) for 1.6 it is easy to change the uploaded file size to something larger than the default 16M. &lt;br /&gt;
&lt;br /&gt;
Here is an example of how to change the upload file size to 100M.&lt;br /&gt;
*Find ..&#039;&#039;&#039;/Apache/bin/php.ini&#039;&#039;&#039; and open it with WordPad by right-clicking -&amp;gt; Open With -&amp;gt; then choose WordPad.  &lt;br /&gt;
*In this file scroll or do a search on the text &amp;quot;_max_&amp;quot; to find &amp;lt;code&amp;gt;upload_max_filesize = 16M&amp;lt;/code&amp;gt;    &lt;br /&gt;
*Change that line to&lt;br /&gt;
 upload_max_filesize = 100M&lt;br /&gt;
*In the same way, find &amp;lt;code&amp;gt;post_max_size = 16M&amp;lt;/code&amp;gt;      &lt;br /&gt;
*Change that line to&lt;br /&gt;
 post_max_size = 100M&lt;br /&gt;
*Save the file.  &lt;br /&gt;
&lt;br /&gt;
After any changes to the php.ini file you need to restart Apache. So restart xampp and browse to localhost. You should find that the Upload file size in Configuration now reads 100M.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See also&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Instructions below on How to change the maximum execution time&lt;br /&gt;
&lt;br /&gt;
== How to change the maximum execution time ==&lt;br /&gt;
&lt;br /&gt;
A side-effect of increasing the file upload limit is that the php scripts may execute beyond the limit set by default (300 seconds/5 minutes). To change this, look for max_execution_time in php.ini and change to something like this:&lt;br /&gt;
&lt;br /&gt;
 max_execution_time = 600&lt;br /&gt;
&lt;br /&gt;
If you are using Apache and have a .htaccess file to change php settings, add this line to your .htaccess file:&lt;br /&gt;
&lt;br /&gt;
 php_value max_execution_time 600&lt;br /&gt;
&lt;br /&gt;
Restart your webserver for these changes to take effect, and check that the values have been changed by looking at your phpinfo output in the moodle admin -&amp;gt; environment page.&lt;br /&gt;
&lt;br /&gt;
== I have forgotten the admin password ==&lt;br /&gt;
Firstly, try using the button &amp;quot;Send my details via email&amp;quot;. Otherwise, you will need to access the database using MySQL admin. Passwords for all users, including admin, are stored encrypted in the table &#039;&#039;mdl_user&#039;&#039;. Copy the guest password (guest) into the admin password field then login using it.&lt;br /&gt;
&lt;br /&gt;
Additional solutions are detailed in the discussions [http://moodle.org/mod/forum/discuss.php?d=18103 change admin&#039;s password] and [http://moodle.org/mod/forum/discuss.php?d=4552&amp;amp;parent=38070 login/password].&lt;br /&gt;
&lt;br /&gt;
== My log table has disappeared - No logs found! ==&lt;br /&gt;
The most likely cause is that the mdl_log table has become corrupted. See the [[#How_do_I_repair_a_corrupted_Moodle_database.3F|database repair section]] below.&lt;br /&gt;
&lt;br /&gt;
==My style sheet changes aren&#039;t showing up==&lt;br /&gt;
&lt;br /&gt;
Browsers usually cache style sheets and so a forced refresh (CTRL + F5) is required before any changes show up.&lt;br /&gt;
&lt;br /&gt;
== Site-wide scales ==&lt;br /&gt;
To add a site-wide scale, available in all courses, follow the Scales link in any course Administration block. Add a new scale, then use the move down arrow to move the scale from custom scales to standard scales.&lt;br /&gt;
&lt;br /&gt;
== Users are being unenrolled for no apparent reason ==&lt;br /&gt;
Unenrolment may be controlled by the following:&lt;br /&gt;
*The &#039;&#039;longtimenosee&#039;&#039; variable in Administration &amp;gt;&amp;gt; Configuration &amp;gt;&amp;gt; [[admin/config|Variables]] which specifies the time limit for which, if students haven&#039;t logged in, they are unenrolled from courses.&lt;br /&gt;
*The &#039;&#039;Enrolment duration&#039;&#039; in the [[course/edit|Course settings]] which unenrols students after the specified time has elapsed.&lt;br /&gt;
&lt;br /&gt;
==Why do I see &amp;lt;nowiki&amp;gt;[[missing strings]]&amp;lt;/nowiki&amp;gt;?==&lt;br /&gt;
&lt;br /&gt;
Double square brackets around text indicate that language strings are missing. Try checking for untranslated words or phrases in &#039;&#039;Administration &amp;gt; Language &amp;gt; [[Language editing]]&#039;&#039; and update local language packs in &#039;&#039;Administration &amp;gt; Language &amp;gt; [[Language packs]]&#039;&#039; (or &#039;&#039;Administration &amp;gt; Configuration &amp;gt; Language&#039;&#039; in Moodle 1.6).&lt;br /&gt;
&lt;br /&gt;
Language strings for non-standard modules and plugins are generally contained in a &#039;&#039;lang&#039;&#039; folder within the module or plugin folder. For sites which have migrated to UTF-8, it may be necessary to re-name the folder e.g. &#039;&#039;en&#039;&#039; should be re-named &#039;&#039;en_utf8&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==How do I find the version of Moodle currently installed?==&lt;br /&gt;
See this document on [https://docs.moodle.org/en/Moodle_version Moodle version] information.&lt;br /&gt;
&lt;br /&gt;
==How do I repair a corrupted Moodle database?==&lt;br /&gt;
Database corruption usually occurs as a result of a hardware (especially disk-based) failure, or when a disk becomes full. Typical symptoms are failure on login, with this message displayed:&lt;br /&gt;
&lt;br /&gt;
 Session Replace: Table &#039;./moodle/mdl_sessions2&#039; is marked as crashed and should be repaired&lt;br /&gt;
&lt;br /&gt;
The problem can be repaired using the mysqlcheck command (the command you type is in bold and we assume the database name is &#039;moodle&#039; and its type is MySQL):&lt;br /&gt;
&lt;br /&gt;
 #&#039;&#039;&#039;mysqlcheck –u moodleuser –p –-auto-repair moodle&#039;&#039;&#039;&lt;br /&gt;
 Enter password:&lt;br /&gt;
 moodle.adodb_logsql                      OK&lt;br /&gt;
 moodle.mdl_assignment                    OK&lt;br /&gt;
 moodle.mdl_assignment_submissions        OK&lt;br /&gt;
 ...&lt;br /&gt;
 moodle.mdl_log&lt;br /&gt;
 error    : Table &#039;./moodle/mdl_log&#039; is marked as crashed and should be repaired&lt;br /&gt;
 ...&lt;br /&gt;
 moodle.mdl_sessions2&lt;br /&gt;
 error    : Table &#039;./moodle/mdl_sessions2&#039; is marked as crashed and should be repaired&lt;br /&gt;
 &lt;br /&gt;
 Repairing tables&lt;br /&gt;
 moodle_18_latest.mdl_log                           OK&lt;br /&gt;
 moodle_18_latest.mdl_sessions2                     OK&lt;br /&gt;
&lt;br /&gt;
Your mysql database server must be running when executing the mysqlcheck command. If there are problems with the tables, the auto-repair option will fix them as shown above. Note that the repair process can take a long time to complete. Re-run the command again to double-check that all is OK. &lt;br /&gt;
&lt;br /&gt;
Individual Moodle tables may be repaired using MySQL Admin/PHPMyAdmin as follows:&lt;br /&gt;
*In the databases section, select the Moodle database.&lt;br /&gt;
*Click the SQL tab, then in the &amp;quot;Run SQL query/queries on database moodle&amp;quot; field type&lt;br /&gt;
 REPAIR TABLE mdl_tablename&lt;br /&gt;
*Click the Go button.&lt;br /&gt;
For example, to repair the Moodle log tables, type &amp;lt;code&amp;gt;REPAIR TABLE mdl_log&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also: &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=58208#279638 Forum discussion] on a moodle database optimization script&lt;br /&gt;
*[[Performance#MySQL_performance | Performance Documentation]] on database repair and optimization&lt;br /&gt;
*[http://www.databasejournal.com/features/mysql/article.php/10897_3300511_2 Database Journal article on repairing database corruption in MySQL]&lt;br /&gt;
&lt;br /&gt;
==Re. Site files, what does &amp;quot;files placed here can be accessed by anyone&amp;quot; mean?==&lt;br /&gt;
&lt;br /&gt;
Unlike course files, which require a user to have appropriate rights in order to access them, files within the site files folder are accessible by anyone provided with the URI. For example visitors to the site may view images stored in the site files folder without being logged in. Please refer to [[Site files]] for more information.&lt;br /&gt;
&lt;br /&gt;
==My site is stuck in maintenance mode==&lt;br /&gt;
&lt;br /&gt;
Sometimes Moodle gets stuck in maintenance mode and you&#039;ll see the message &amp;quot;This site is undergoing maintenance and is currently unavailable&amp;quot; despite your attempts to turn-off maintenance mode. When you put Moodle into maintenance mode it creates a file called maintenance.html in moodledata/1/maintenance.html (the site files folder). To fix this try the following:&lt;br /&gt;
&lt;br /&gt;
* Check that the web server user has write permissions to the moodledata folder.&lt;br /&gt;
* Manually delete the maintenance.html file.&lt;br /&gt;
&lt;br /&gt;
==Incomplete page displayed when I click &amp;quot;Turn Editing On&amp;quot;==&lt;br /&gt;
This is usually as a result of an incompatible non-standard module or block that you have installed. Follow these steps:&lt;br /&gt;
#Find any non-standard modules or blocks you have installed in the moodle/mod or moodle/blocks folders.&lt;br /&gt;
#Move these to another folder outside the moodle folder. &lt;br /&gt;
#Re-visit your course page and try clicking on the &amp;quot;Turn Editing On&amp;quot; button again. &lt;br /&gt;
#Repeat the process until you find the one that is causing the problems. &lt;br /&gt;
&lt;br /&gt;
Once you have found an incompatible module/block, please report the problem to the author in the [http://moodle.org/mod/data/view.php?id=6009 Modules and Plugins] page. &lt;br /&gt;
&lt;br /&gt;
==&amp;quot;a request parameter (id) was missing&amp;quot; when uploading a file==&lt;br /&gt;
&lt;br /&gt;
This message sometimes is generated when attempting to upload a file larger than the upload limit.&lt;br /&gt;
&lt;br /&gt;
==Why can&#039;t I select &amp;quot;External Database&amp;quot; from the enrolment plugins drop-down menu in the course settings?==&lt;br /&gt;
&lt;br /&gt;
Only &#039;&#039;interactive&#039;&#039; enrolment methods may be chosen in the course settings. Please refer to the interactive enrolment section of [[Enrolment plugins]].&lt;br /&gt;
&lt;br /&gt;
==I cannot delete the News Forum on a course==&lt;br /&gt;
The News Forum is deleted by setting the number of items to display to zero. To do this, change the setting in Course Admin menu -&amp;gt; Settings -&amp;gt; News Items to Show.&lt;br /&gt;
&lt;br /&gt;
==How can I change the URL of the moodle service==&lt;br /&gt;
&lt;br /&gt;
You should configure your Apache server, at httpd.conf, using Listen, Port and DocumentRoot directives and Directory section. After restarting Apache, you also must open config.php in a text editor, and change the line:&lt;br /&gt;
    $CFG-&amp;gt;wwwroot   = &#039;http://mydomain/testmoodle&#039;;&lt;br /&gt;
&lt;br /&gt;
Your Moodle site will also contain absolute links to resources which point to the previous URL. To change this see the [[Moodle_migration#Migrating_a_complete_Moodle_site | migrating a complete Moodle site]] instructions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See also&#039;&#039;&#039;: [http://moodle.org/mod/forum/discuss.php?d=51667 Forum discussion]&lt;br /&gt;
&lt;br /&gt;
==Why is the Moodle Registration button still displayed after I register my site?==&lt;br /&gt;
The registration button is provided so that you can place your moodle site to the http://www.moodle.org/sites list. Before registering, the button is displayed at the top of the Site Administration -&amp;gt; Notifications page. Once you have successfully registered, this is moved to the bottom of the same page. The button remains there so that you can update the details of your registration.&lt;br /&gt;
&lt;br /&gt;
If the registration process fails for some reason to complete fully, there are two methods of letting your local Moodle install know that you have registered:&lt;br /&gt;
&lt;br /&gt;
* The preferred method is to use your mysql client program to execute these commands (assuming your Moodle database is called &amp;quot;moodle&amp;quot;):&lt;br /&gt;
 mysql&amp;gt; USE moodle;&lt;br /&gt;
 mysql&amp;gt; INSERT INTO mdl_config (name,value) VALUES (&#039;registered&#039;,unix_timestamp());&lt;br /&gt;
&lt;br /&gt;
* Alternatively, edit your &amp;lt;nowiki&amp;gt;moodle/config.php&amp;lt;/nowiki&amp;gt; file and add this line:&lt;br /&gt;
 $CFG-&amp;gt;registered = &#039;9999999999&#039;;&lt;br /&gt;
:Note that this line in your config.php will stop the reminders about re-registering.&lt;br /&gt;
&lt;br /&gt;
For an explanation of the idea behind the button see [http://tracker.moodle.org/browse/MDL-7359 MDL-7359] in the moodle tracker.&lt;br /&gt;
&lt;br /&gt;
For an explanation of how sites are checked see [[Verification_of_sites_on_moodle.org | the site verification page]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Administration hacks]]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
&lt;br /&gt;
[[es:FAQ Administración]]&lt;br /&gt;
[[fr:FAQ d&#039;administration]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Moodle_migration&amp;diff=30396</id>
		<title>Moodle migration</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Moodle_migration&amp;diff=30396"/>
		<updated>2007-12-19T09:07:55Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are times when you will need to move your Moodle site from one server to another. This is known as migrating your Moodle site and occurs when you need to change the &amp;lt;code&amp;gt;$CFG-&amp;gt;wwwroot&amp;lt;/code&amp;gt; value in your Moodle &#039;&#039;config.php&#039;&#039;. The process is divided into the following tasks:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Upgrade Moodle==&lt;br /&gt;
&lt;br /&gt;
When migrating Moodle it is often a good idea to take the opportunity to upgrade Moodle to the latest version. If you manage your own server, follow the instructions in [[Upgrading | upgrading moodle]], otherwise check if your host can upgrade for you.&lt;br /&gt;
&lt;br /&gt;
==Restore a single course==&lt;br /&gt;
&lt;br /&gt;
You may need to restore a single course from an old site to a new one, especially if you are testing the migration. When restoring a Moodle backup file to Moodle on a different server than the one used to create the backup, the absolute referenced links to files maybe broken. To fix this problem open the &#039;&#039;backup-coursename.zip&#039;&#039; file and edit the &#039;&#039;moodle.xml&#039;&#039; file replacing links with &amp;lt;code&amp;gt;$@FILEPHP@$&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For example, replace &amp;lt;nowiki&amp;gt;http://yourserver.com/file.php/243/&amp;lt;/nowiki&amp;gt; with &amp;lt;code&amp;gt;$@FILEPHP@$&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
When the file is restored it will use the correct file path for the new course.&lt;br /&gt;
&lt;br /&gt;
==Migrating a complete Moodle site==&lt;br /&gt;
&lt;br /&gt;
This involves moving a whole site from one server to another. If you are changing the domain/IP address to the new server you need to do these steps:&lt;br /&gt;
* &#039;&#039;&#039;Maintenance mode&#039;&#039;&#039;. Place your current Moodle site in maintenance mode to prevent any further additions to the Moodle database. Don&#039;t let administrators login during the migration as they are not affected by the maintenance mode setting.&lt;br /&gt;
* &#039;&#039;&#039;Backup your current Moodle database&#039;&#039;&#039;. Do this by following the instructions in the [[Upgrading | upgrading Moodle]] page. This will give you a text file containing the mysql dump.&lt;br /&gt;
* &#039;&#039;&#039;Copy the Moodle software&#039;&#039;&#039;. You will need to copy the Moodle code itself to the new server - upgrade the code to the latest version if you can.&lt;br /&gt;
* &#039;&#039;&#039;Change &amp;lt;code&amp;gt;$CFG-&amp;gt;wwwroot&amp;lt;/code&amp;gt;&#039;&#039;&#039;. In your (possibly new) Moodle directory, change the &amp;lt;code&amp;gt;$CFG-&amp;gt;wwwroot&amp;lt;/code&amp;gt; variable in the &#039;&#039;config.php&#039;&#039; file for the new server.&lt;br /&gt;
* &#039;&#039;&#039;Copy data directory contents (moodledata)&#039;&#039;&#039;. Copy the contents of your data directory (check for the value in &amp;lt;code&amp;gt;$CFG-&amp;gt;dataroot&amp;lt;/code&amp;gt;) to the new server. Check also that permissions remain the same on the new dataroot folder and change the value if you have changed its location on the new server.&lt;br /&gt;
* &#039;&#039;&#039;Change your Moodle URL&#039;&#039;&#039;. If you have a new URL, you&#039;ll need to change this in the Moodle database to the new server. This is needed as links to pictures, files, etc are stored as absolute links and will reference the old &amp;lt;code&amp;gt;$CFG-&amp;gt;wwwroot&amp;lt;/code&amp;gt; value. So when loading a mysql backup dump of the Moodle server into mysql on another server the absolute referenced links will be broken. There are two methods of doing this:&lt;br /&gt;
:(a) The first method changes the Moodle URL using the Moodle script &#039;&#039;replace.php&#039;&#039; while your site is currently running just before you backup the Moodle database. Point your browser to &amp;lt;nowiki&amp;gt;http://yourserver.com/admin/replace.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Enter the url for your old server (&amp;lt;nowiki&amp;gt;http://oldserver.com/&amp;lt;/nowiki&amp;gt;) and new server (&amp;lt;nowiki&amp;gt;http://newserver.com/&amp;lt;/nowiki&amp;gt;) and it will fix the mysql tables. You will also need to clear out any cached links by restarting your webserver. Now, take another backup of the Moodle database - this one will have the correct URLs.&lt;br /&gt;
&lt;br /&gt;
:(b) The second method is to backup the Moodle database first, then use the search and replace feature of your text editor (or use a unix tool like sed) to replace the old URL with the new one in the mysql backup file. Here is an example sed command:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;#sed -e &#039;s/oldserver.com/newserver.com/&#039; oldmysqldump.sql &amp;gt; newmysqldump.sql&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Tip&#039;&#039;&#039;: You may want to check the mysqldump file to see how the old server was referenced.&lt;br /&gt;
:After changing the URL, restore the mysql database&lt;br /&gt;
* &#039;&#039;&#039;Test the migration&#039;&#039;&#039;. To test the new install, access Moodle using your browser and the new server&#039;s URL. When you have tested that a number of links in the courses work, take the new Moodle site out of maintenance mode.&lt;br /&gt;
&#039;&#039;&#039;See also&#039;&#039;&#039;: [http://moodle.org/mod/forum/discuss.php?d=85812 Forum discussion] on migrating Moodle&#039;s data directory on a Windows system.&lt;br /&gt;
&lt;br /&gt;
==DNS changes==&lt;br /&gt;
&lt;br /&gt;
You may have had to change the DNS entries for the new Moodle site. If you have done so, it will take some time for the changes to replicate, so be patient.&lt;br /&gt;
&lt;br /&gt;
==Internal and external access==&lt;br /&gt;
&lt;br /&gt;
Lastly, check that the new site can be accessed internally and externally.  &lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Another alternative migration process]]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62959 Changing Moodle URL] forum discussion&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=57477 Changing site address] forum discussion&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=76704 Upgrading whilst migrating] forum discussion&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=65450 Internal and external access] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Migration de Moodle]]&lt;br /&gt;
[[nl:Moodle verhuizen]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Administrator_documentation&amp;diff=30394</id>
		<title>Administrator documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Administrator_documentation&amp;diff=30394"/>
		<updated>2007-12-19T09:03:31Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: add orphaned page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose of this page is to list useful links by general topics for administrators.&lt;br /&gt;
&lt;br /&gt;
== Installation &amp;amp; Upgrading ==&lt;br /&gt;
&lt;br /&gt;
*[[Installation Quickstart]] for an overview of the installation steps&lt;br /&gt;
*[[Installing Moodle]] for detailed installation instructions&lt;br /&gt;
*[[Installation FAQ]]&lt;br /&gt;
*[[Installing AMP|Installing Apache, MySQL and PHP]]&lt;br /&gt;
*[[Upgrading|Upgrading Moodle]]&lt;br /&gt;
&lt;br /&gt;
== System-specific Instructions &amp;amp; Packages ==&lt;br /&gt;
&lt;br /&gt;
* [[SUSE Linux Server 10|Automated Installation Guide for SUSE Linux Enterprise Server 10]] operating system&lt;br /&gt;
* [[RedHat Linux installation|Step by Step Installation Guide for RedHat]] operating system&lt;br /&gt;
* [[Debian GNU/Linux installation|Step by Step Installation Guide for Debian GNU/Linux]] operating system&lt;br /&gt;
* [[Step-by-step Install Guide for Ubuntu]]&lt;br /&gt;
* [[Windows installation|Complete Install Packages for Windows XP and instructions for Windows NT/2000/2003 servers]]&lt;br /&gt;
* [[Complete Install Packages for Mac OS X | Complete Install Packages for Mac OS X 10.3/10.4/10.5]]&lt;br /&gt;
* [[Step-by-step Guide for Installing Moodle on Mac OS X 10.4 Client | Step-by-Step Guide for Installing Moodle using the internal web server on Mac OS X 10.4 Client]]&lt;br /&gt;
* [[1and1_MySQL_installation | Installation on 1and1 web hosting]]&lt;br /&gt;
* [[OLPC XS installation|Step by Step Installation Guide for the One Laptop per Child XS Server (Beta)]]&lt;br /&gt;
&lt;br /&gt;
==Security, Performance and Roles==&lt;br /&gt;
&lt;br /&gt;
*[[Security]] contains important security procedures for a production site&lt;br /&gt;
*[[Performance | Performance and optimization]] for ideas on improving the speed of your installation&lt;br /&gt;
*[[Manage roles | Managing roles]] For Moodle 1.7 and later&lt;br /&gt;
&lt;br /&gt;
== FAQs ==&lt;br /&gt;
&lt;br /&gt;
*[[Installation FAQ]]&lt;br /&gt;
*[[Administration FAQ]]&lt;br /&gt;
*[[Backup FAQ]]&lt;br /&gt;
&lt;br /&gt;
== Configuration Settings ==&lt;br /&gt;
*[[Site administration block]] contains configuration setting links&lt;br /&gt;
*[[Notification page]] used to update versions&lt;br /&gt;
*[[Variables]]&lt;br /&gt;
*[[Site settings]]&lt;br /&gt;
*[[Themes]]&lt;br /&gt;
*[[Language]]&lt;br /&gt;
*[[Activity modules administration]]&lt;br /&gt;
*[[Blocks administration]]&lt;br /&gt;
*[[Filters]]&lt;br /&gt;
*[[Backup settings]]&lt;br /&gt;
*[[Editor settings]]&lt;br /&gt;
*[[Calendar settings]]&lt;br /&gt;
*[[Maintenance mode]]&lt;br /&gt;
&lt;br /&gt;
* See also: [[Location of admin settings in 1.7|Comparison between configuration settings in Moodle 1.6 &amp;amp; 1.7]]&lt;br /&gt;
&lt;br /&gt;
==User Management==&lt;br /&gt;
&lt;br /&gt;
*[[Authentication]]&lt;br /&gt;
*[[Edit user accounts]] &lt;br /&gt;
*[[Add new user|Add a new user]] - on a site&lt;br /&gt;
*[[Flat file|Upload users]] - from a file to a site&lt;br /&gt;
*[[Enrolment plugins]]&lt;br /&gt;
*[[Roles and capabilities|Assigning user a role]] - typical assignments include:&lt;br /&gt;
**[[Students|Enrol students in a course]]&lt;br /&gt;
**[[Courses (administrator)|Assign teachers]] - to a course&lt;br /&gt;
**[[Assign creators|Assign course creators]] - in a site&lt;br /&gt;
**[[Assign administrators]] - in a site&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
&lt;br /&gt;
*[[Courses (administrator)|Courses]] and [[Course formats|course formats]]&lt;br /&gt;
*[[Reports (administrator)]] and [[Logs]]&lt;br /&gt;
*[[Site files]]&lt;br /&gt;
*[[Moodle database|Database]]&lt;br /&gt;
*[[Environment]]&lt;br /&gt;
*[[Moodle Network]] and Moodle Community Hub&lt;br /&gt;
*[[Streaming Media]]&lt;br /&gt;
*[[Case studies (administrator)]]&lt;br /&gt;
*[[Anti-virus]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[:Category:Administrator | Index of all Administrator-related pages]]&lt;br /&gt;
*[[Integrations]]&lt;br /&gt;
*[[CVS for Administrators]]&lt;br /&gt;
*[[Email processing]]&lt;br /&gt;
*[[Search engine optimization]]&lt;br /&gt;
*[[Messaging]]&lt;br /&gt;
*[[Migration]]&lt;br /&gt;
*[[Metacourses]]&lt;br /&gt;
*[[Block layout]]&lt;br /&gt;
*[[Customizing Moodle]]&lt;br /&gt;
*[[Administrator do&#039;s and don&#039;ts]]&lt;br /&gt;
*[http://download.moodle.org/docs/using_moodle/ch16_server_admin.pdf Using Moodle Chapter 16: Moodle Administration]&lt;br /&gt;
&lt;br /&gt;
[[Category: Administrator]]&lt;br /&gt;
[[cs:Rukověť správce]]&lt;br /&gt;
[[es:Documentación para Administradores]]&lt;br /&gt;
[[eu:Kudeatzaileentzako dokumentazioa]]&lt;br /&gt;
[[fr:Documentation administrateur]]&lt;br /&gt;
[[ja:管理者ドキュメント]]&lt;br /&gt;
[[ko:관리자 문서]]&lt;br /&gt;
[[nl:Documentatie voor beheerders]]&lt;br /&gt;
[[pt:Documentação para administradores]]&lt;br /&gt;
[[ru:Администраторам]]&lt;br /&gt;
[[zh:管理员文档]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=User:Utcursch&amp;diff=30391</id>
		<title>User:Utcursch</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=User:Utcursch&amp;diff=30391"/>
		<updated>2007-12-19T09:00:07Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: wrong page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT[[User:Utkarshraj Atmaram]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=User:Utcursch&amp;diff=30384</id>
		<title>User:Utcursch</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=User:Utcursch&amp;diff=30384"/>
		<updated>2007-12-19T08:39:41Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: m&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://en.wikipedia.org/wiki/User:Utcursch Utkarshraj Atmaram]. I managed [http://moodle.dbit.in moodle.dbit.in] during college days.&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Managing_activities&amp;diff=8707</id>
		<title>Managing activities</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Managing_activities&amp;diff=8707"/>
		<updated>2006-04-18T07:03:33Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Assignment configuration]]&lt;br /&gt;
*[[Chat configuration]]&lt;br /&gt;
*[[Database configuration]] (1.6)&lt;br /&gt;
*[[Forum configuration]]&lt;br /&gt;
*[[Glossary configuration]]&lt;br /&gt;
*[[Hotpot configuration]] (1.6)&lt;br /&gt;
*[[LAMS configuration]] (1.6)&lt;br /&gt;
*[[Quiz configuration]]&lt;br /&gt;
*[[Resource configuration]]&lt;br /&gt;
*[[SCORM/AICC configuration]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[category:Module]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Wiki&amp;diff=8706</id>
		<title>Wiki</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Wiki&amp;diff=8706"/>
		<updated>2006-04-18T07:03:23Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;Wiki&#039;&#039;&#039; enables documents to be authored collectively in a simple markup language using a web browser.&lt;br /&gt;
&lt;br /&gt;
[[Image:Wiki_4.png|frame|left|you can use CamelCase notation to create new pages]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Wiki wiki&amp;quot; means &amp;quot;super fast&amp;quot; in the Hawaiian language, and it is the speed of creating and updating pages that is one of the defining aspects of wiki technology. Generally, there is no prior review before modifications are accepted, and most wikis are open to the general public or at least to all persons who also have access to the wiki server.&lt;br /&gt;
&lt;br /&gt;
The Moodle wiki module enables participants to work together on web pages to add, expand and change the content. Old versions are never deleted and can be restored.&lt;br /&gt;
&lt;br /&gt;
This module is based on Erfurt Wiki.&lt;br /&gt;
&lt;br /&gt;
*Instructions for E-wiki [http://moodle.org/help.php?module=wiki&amp;amp;file=howtowiki.html creating pages]&lt;br /&gt;
*Instructions for E-wiki [http://moodle.org/help.php?module=wiki&amp;amp;file=howtowiki.html#wikimarkup markup] &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[http://download.moodle.org/docs/using_moodle/ch11_wikis.pdf Using Moodle Chapter 11: Wikis]&lt;br /&gt;
*[[Wiki requirements]] - developer documentation&lt;br /&gt;
*[[Dfwiki]]&lt;br /&gt;
&lt;br /&gt;
[[category:Teacher]]&lt;br /&gt;
[[category:Module]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Development:Modules&amp;diff=8705</id>
		<title>Development:Modules</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Development:Modules&amp;diff=8705"/>
		<updated>2006-04-18T07:02:19Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Activity modules&#039;&#039;&#039; reside in the &#039;mod&#039; directory. Each module is in a separate subdirectory and consists of the following mandatory elements (plus extra scripts unique to each module):&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;mod.html&#039;&#039; - a form to set up or update an instance of this module&lt;br /&gt;
* &#039;&#039;version.php&#039;&#039; - defines some meta-info and provides upgrading code&lt;br /&gt;
* &#039;&#039;icon.gif&#039;&#039; - a 16x16 icon for the module&lt;br /&gt;
* &#039;&#039;db/&#039;&#039; - SQL dumps of all the required db tables and data (for each database type)&lt;br /&gt;
* &#039;&#039;index.php&#039;&#039; - a page to list all instances in a course&lt;br /&gt;
* &#039;&#039;view.php&#039;&#039; - a page to view a particular instance&lt;br /&gt;
* &#039;&#039;lib.php&#039;&#039; - any/all functions defined by the module should be in here. If the modulename is called widget, then the required functions include:&lt;br /&gt;
:* widget_add_instance() - code to add a new instance of widget&lt;br /&gt;
:* widget_update_instance() - code to update an existing instance&lt;br /&gt;
:* widget_delete_instance() - code to delete an instance&lt;br /&gt;
:* widget_user_outline() - given an instance, return a summary of a user&#039;s contribution&lt;br /&gt;
:* widget_user_complete() - given an instance, print details of a user&#039;s contribution&lt;br /&gt;
:* Other functions available but not required are:&lt;br /&gt;
:** widget_delete_course() - code to clean up anything that would be leftover after all instances are deleted&lt;br /&gt;
:** widget_process_options() - code to pre-process the form data from module settings&lt;br /&gt;
:* To avoid possible conflict, any module functions should be named starting with widget_ and any constants you define should start with WIDGET_&lt;br /&gt;
* &#039;&#039;config.html&#039;&#039; - (optional) a form to set up or update global settings of this module&lt;br /&gt;
* Lastly, each module will have some language files that contain strings for that module.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: When creating a new module, the new name of the module must not contain numbers or other special characters! &lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* http://download.moodle.org/download.php/modules/NEWMODULE.zip - new module template for starting module development. Please follow the README instructions inside the zip.&lt;br /&gt;
* Using Moodle [http://moodle.org/course/view.php?id=5 Activity modules] forum&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Module]]&lt;br /&gt;
&lt;br /&gt;
[[es:Módulos de actividades (desarrollador)]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Development:Question_engine&amp;diff=8702</id>
		<title>Development:Question engine</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Development:Question_engine&amp;diff=8702"/>
		<updated>2006-04-18T06:57:37Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moodle has a powerful question engine with a modular structure to allow question type plug-ins. The question engine is responsible for rendering the questions and for processing student responses. It is used by the [[Quiz developer docs|quiz module]] and it is planned that in future it will be used by the Lesson and other modules.&lt;br /&gt;
&lt;br /&gt;
Historically the question engine started as a part of the quiz module. Only since Moodle 1.6 is it a separate core component of Moodle that can be used by any other Moodle component or module. During this restructuring the code was moved from mod/quiz/ to question/ and the tables and functions were renamed. Wherever the old table or function name contained &#039;quiz_&#039; the new one will contain &#039;question_&#039;&lt;br /&gt;
&lt;br /&gt;
==Terminology==&lt;br /&gt;
&lt;br /&gt;
When talking about the question engine there are certain terms that can cause confusion because they can be used with different meanings. In Moodle we have adopted a certain terminology that will be explained below.&lt;br /&gt;
&lt;br /&gt;
===Questions===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;question&#039;&#039;&#039; is the set of definitions (question name, question text, possible answers, grading rules, feedback, etc.) that constitute a reusable assessment item. So it includes much more than what one would in everyday language understand under a question.&lt;br /&gt;
In the terminology of the QTI specification a &#039;question&#039; is more appropriately called an &#039;&#039;&#039;assessment item&#039;&#039;&#039; or just &#039;item&#039; for short. &lt;br /&gt;
&lt;br /&gt;
There are different types of questions, like for example multiple-choice questions or numerical questions. These are referred to as &#039;&#039;&#039;[[Question engine#Question types|question types]]&#039;&#039;&#039; in Moodle.&lt;br /&gt;
&lt;br /&gt;
Since version 1.5 Moodle is able to handle so-called &#039;&#039;&#039;[[Adaptive questions]]&#039;&#039;&#039;, also known as &#039;adaptive items&#039; in QTI speak. These are questions that walk the user through a directed graph of question states depending on the user&#039;s responses. For example a complicated mathematical question that is answered incorrectly, but is likely to be incorrect because of a common mistake, could provide the user with a hint towards this mistake, apply a penalty and allow a second attempt at this question. Quizzes can be run in &#039;adaptive mode&#039;, in which case Moodle provides buttons to mark each question individually.&lt;br /&gt;
&lt;br /&gt;
===Answers===&lt;br /&gt;
&lt;br /&gt;
In Moodle the term &#039;&#039;&#039;&#039;answer&#039;&#039;&#039;&#039; is used exclusively for the &#039;&#039;&#039;teacher-defined answers&#039;&#039;&#039; of a question. When talking about the quiz module it is easy to get confused between these teacher-defined answers and the answers that the students actually give. We have therefore adopted the convention to refer to the student-supplied answers as &#039;responses&#039; and to reserve the term &#039;answers&#039; to apply to teacher-defined answers. In question types that rely on teacher-supplied answers these are used in the grading process by comparing them with the student responses. Of course not all question types use teacher-defined answers but use some more intelligent way to process the student responses. &lt;br /&gt;
&lt;br /&gt;
Perhaps one should also stress that &#039;answer&#039; is not always used in the sense of &#039;correct answer&#039;. For example every choice in a multiple-choice question is referred to as an answer. Other systems use the term &#039;distractor&#039; for wrong answers. &lt;br /&gt;
&lt;br /&gt;
In Moodle we always use the term &#039;&#039;&#039;&#039;responses&#039;&#039;&#039;&#039; to refer to the students&#039; responses to a question because the term &#039;answers&#039; that one might also be tempted to use for this is already used to refer to the teacher-defined answers, see above. This term is always used in plural, although for some questiontypes there is only one possible response.&lt;br /&gt;
&lt;br /&gt;
There is unfortunately, for historical reasons, one exception to the above rule: The [[Question database structure#quiz_states|quiz_states table]] has a field &#039;answer&#039; whose purpose it actually is to hold the student&#039;s responses.&lt;br /&gt;
&lt;br /&gt;
===Attempts===&lt;br /&gt;
&lt;br /&gt;
In Moodle the term &#039;&#039;&#039;&#039;attempt&#039;&#039;&#039;&#039; is used in the sense of &amp;quot;Attempt at a quiz&amp;quot; (or another activity involving questions). Depending on the quiz settings, a student may be allowed several attempts at a quiz. An attempt is finished when the student clicks on the corresponding button on the attempt page. Students do not have to complete an attempt in one visit. They can navigate away from the quiz page and return later to continue the same attempt.&lt;br /&gt;
&lt;br /&gt;
Within one and the same quiz attempt a student may make several attempts at answering a particular question, at least if the questiontype allows it and the quiz is set up in adaptive mode. These will always be referred to as &#039;&#039;&#039;&#039;attempts at a question&#039;&#039;&#039;&#039;, never just as &#039;attempts&#039;.&lt;br /&gt;
&lt;br /&gt;
Because a student can have several attempts at a question within the same attempt at the quiz, there is a lot of data that needs to be stored as the student takes the question through several &#039;&#039;&#039;&#039;states&#039;&#039;&#039;&#039; by repeated interactions with the question. A state object holds the most recent state of the question and whenever a student submits a response or a similar &#039;&#039;&#039;&#039;event&#039;&#039;&#039;&#039; occurs, the question goes to a new state. The complete history of question states that the question is taken through is saved and this is referred to as the question &#039;&#039;&#039;&#039;session&#039;&#039;&#039;&#039;. Usually only the most recent state and the last graded state are of interest though.&lt;br /&gt;
&lt;br /&gt;
===Sessions, States, Events===&lt;br /&gt;
&lt;br /&gt;
When a new attempt is started, a new &#039;&#039;&#039;session&#039;&#039;&#039; is started for each question. So in a sense a session is for a question what an attempt is for a whole quiz. A question session lasts no longer than an attempt and for each question there can only by one session within one attempt.&lt;br /&gt;
&lt;br /&gt;
Moodle allows the student to interact with a question repeatedly within one session and each such interaction leads to a new &#039;&#039;&#039;state&#039;&#039;&#039;. The first state is created when the session is created. A new state is then created when a student saves and answer or validates an answer or submits an answer or .... The student&#039;s responses and, if appropriate, the results of response processing (grading) are stored in the new state that gets created.&lt;br /&gt;
&lt;br /&gt;
The type of &#039;&#039;&#039;event&#039;&#039;&#039; that led to the creation of a particular state is saved along with the state. The types of events currently used are:&lt;br /&gt;
;open :A new session has just been created and this is the opening state. Usually it doesn&#039;t hold student responses yet (except where a quiz attempt is based on a previous attempt because the &#039;attemptonlast&#039; option is set).&lt;br /&gt;
;save:The student has clicked the save button.&lt;br /&gt;
;validate:The student has asked for his responses to be validated. This means it is checked that they are valid responses. In the case of mathematical questions which requires the input of a mathematical expression in some linear format the question type may want to display the validated result back to the student in typeset form. Similar things may apply to other subject-specific question types. If a student response is found to be invalid the student is told so but no penalty is applied. The invalid response is stored with the state.&lt;br /&gt;
;grade:The student has pressed the submit button. The grade is calculated and stored with the attempt.&lt;br /&gt;
;duplicategrade:The student has pressed the submit button but the response to this question has not actually changed. This happens a lot in quizzes with several questions on on page where the student may have changed the responses for one question only. I believe that states created by this type of event are not stored in the database.&lt;br /&gt;
;close:The last state in a session which is now closed. Currently a session closes only when the attempt closes, either because the student requests it or because the timelimit elapses.&lt;br /&gt;
&lt;br /&gt;
There are now plans to introduce another event type&lt;br /&gt;
;submit:The student has submitted his responses for grading but grading has not yet taken place. This will be used by teacher-marked question types like the essay questions for example.&lt;br /&gt;
&lt;br /&gt;
==Code documentation==&lt;br /&gt;
&lt;br /&gt;
The code is documented according to phpdoc conventions. The explanations here in the wiki are meant to complement this.&lt;br /&gt;
&lt;br /&gt;
Inline comments should be used liberally in the code. The following conventions make it easier to search for comments with special meaning:&lt;br /&gt;
* use TODO in comments about things that need to be done&lt;br /&gt;
* use ??? in comments that are questions about the code&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
&lt;br /&gt;
The library lib/questionlib.php contains all functions that need to be available to any module wanting to use questions (this is new in Moodle 1.6, in Moodle 1.5 this was part of mod/quiz/locallib.php). Loading this library instantiates all questiontype classes by loading the questiontype.php files&lt;br /&gt;
&lt;br /&gt;
A description of the API still needs to be written. Also lib/questionlib.php should be cleaned up a bit to distinguish between the API functions and the helper functions.&lt;br /&gt;
&lt;br /&gt;
==Organisation==&lt;br /&gt;
The default questiontype class is defined in &#039;&#039;&#039;question/type/questiontype.php&#039;&#039;&#039; (in Moodle 1.5 this was still in mod/quiz/locallib.php). The individual questiontypes extend this class in their own questiontype.php file. For documentation of the questiontype classes one should often look at the documentation of the default question type because much of the documentation that is in the default class is not repeated in the other questiontype classes.&lt;br /&gt;
&lt;br /&gt;
While questiontypes are realized as classes, the question engine is not written in a truly object-oriented way. Instead it follows the Moodle model of using objects mostly only as alternatives to arrays to hold database records. So none of the question, attempt, and state objects that play a central role in the module have any methods. Only the questiontype objects have methods. Strangely enough the quiz module instantiates one object of each questiontype class at the start and then reuses their methods for the different questions. If one is used to the Moodle way of programming then this is easy enough to handle.&lt;br /&gt;
&lt;br /&gt;
==Objects and data structures==&lt;br /&gt;
&lt;br /&gt;
Key to understanding how the quiz module works is to understand the different kinds of object work together. The most important ones are:&lt;br /&gt;
&lt;br /&gt;
*Quizzes&lt;br /&gt;
*Questions&lt;br /&gt;
*Attempts&lt;br /&gt;
*States&lt;br /&gt;
&lt;br /&gt;
Quizzes and Questions are data created by the teacher when setting up and editing a quiz. Attempts and States are data created by the student when interacting with a quiz. &lt;br /&gt;
&lt;br /&gt;
Moodle allows students to make several attempts at a quiz. Data about such an attempt is stored in an attempt object. This holds for example how the quiz was randomized for this attempt and the ordering of the questions and answers. So attempts are indexed by user id and quiz id.&lt;br /&gt;
&lt;br /&gt;
Moodle allows students to interact repeatedly with a single question. So for example the student might initially just save an answer, later mark it, then correct it if it was marked incorrect. Each time the student interacts with a particular question inside a particular attempt at a quiz a new state is created. So states are indexed by user id, attempt id and question id.&lt;br /&gt;
&lt;br /&gt;
===Database structure===&lt;br /&gt;
All this data needs to be kept in Moodle&#039;s database. How this is achieved is explained on a separate page about the &#039;&#039;&#039;[[Quiz database structure]]&#039;&#039;&#039;, which also contains a useful diagram.&lt;br /&gt;
&lt;br /&gt;
As is customary in Moodle, most runtime objects simply represent the data from a particular database record. So for example a $quiz object has fields corresponding to all the fields in the [[Quiz database structure#quiz|quiz table]]. In some cases the objects have some additional fields that are added at runtime. This is particularly the case for $question and $state objects. These additional fields are also described on the page about the &#039;&#039;&#039;[[Quiz database structure]]&#039;&#039;&#039;. Many functions that are used to process these objects make use of the additional fields and it is therefore necessary to use the correct functions for creating these objects.&lt;br /&gt;
&lt;br /&gt;
===Runtime objects===&lt;br /&gt;
Some objects used by the quiz module are purely runtime object and do not correspond to a database table. The structure of these objects is explained in detail on a separate page about the &#039;&#039;&#039;[[Quiz runtime objects]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The main script of the quiz module is attempt.php which will have to deal with all these objects. Studying the &#039;&#039;&#039;[[Quiz attempt|explanation of attempt.php]]&#039;&#039;&#039; is therefore a good way to start to study the quiz module code.&lt;br /&gt;
&lt;br /&gt;
==Response storage==&lt;br /&gt;
&lt;br /&gt;
The student&#039;s responses to a question are stored in &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt;. Questiontypes are completely free to implement the storage mechanism of their responses (and other state information) the way they want. Still, the standard questiontypes all follow a similar model. The default storage model and the questiontype specific variations are explained below.&lt;br /&gt;
&lt;br /&gt;
The flexibility for the questiontypes to choose their response storage mechanism freely and to convert from the storage model to the runtime model is provided by a set of three functions, which allow to initialise the runtime &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; field, to convert from the runtime to the storage model and vice versa:&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;create_session_and_responses()&amp;lt;/code&amp;gt;&lt;br /&gt;
:Initializes the $state object, in particular the &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; field&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;restore_session_and_responses()&amp;lt;/code&amp;gt;&lt;br /&gt;
:Loads the question type specific session data from the database into the &amp;lt;code&amp;gt;$state&amp;lt;/code&amp;gt; object, in particular it loads the responses that have been saved for the given &amp;lt;code&amp;gt;$state&amp;lt;/code&amp;gt; into the &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; field.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;save_session_and_responses()&amp;lt;/code&amp;gt;&lt;br /&gt;
:Saves the question type specific session data from the $state object to the database. In particular, for most questiontypes, it saves the responses from the &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; to the database.&lt;br /&gt;
&lt;br /&gt;
The generic quiz module code saves the contents form the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$state-&amp;gt;responses[&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; field to the answer field in the [[Quiz database structure#quiz_states|quiz_states table]] and also automatically restores the contents of this field to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$state-&amp;gt;responses[&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. This means that any questiontype, which only expects a single value as its response can skip the implementation of the three methods described above. All questiontypes that have multiple value responses need to implement these methods. &lt;br /&gt;
&lt;br /&gt;
The default questiontypes handle this problem by serializing/de-serializing the responses to/from the answer field in the quiz_states table. However, it is also possible (and may be better practice) to extend the quiz_states table with a questiontype specific table, i.e. take the id of the quiz_states record as a foreign key in the questiontype specific table. Because the value of &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$state-&amp;gt;responses[&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; is set to the value of the answer field, questiontypes that serialize their response need to overwrite (in &amp;lt;code&amp;gt;save_session_and_responses()&amp;lt;/code&amp;gt;) whatever value the generic code set this field to with their serialized value (usually achieved with a simple set_field). &lt;br /&gt;
&lt;br /&gt;
In the method &amp;lt;code&amp;gt;restore_session_and_responses()&amp;lt;/code&amp;gt; the serialized value can be read from &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$state-&amp;gt;responses[&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; because this is where the value from answer field of the quiz_states table has been moved. Care needs to be taken that this array value is then unset or the whole array overwritten, so that the array does not accidentally contain a value with the empty string index.&lt;br /&gt;
&lt;br /&gt;
==Response processing==&lt;br /&gt;
&lt;br /&gt;
The runtime model for responses dictates the structure of the $state-&amp;gt;responses array. Starting with the names of the form elements this section goes through the relevant processing steps and thus attempts to clarify why the keys of the $state-&amp;gt;responses array can differ for different questiontypes; even more, it explains how the array keys are chosen and set.&lt;br /&gt;
&lt;br /&gt;
Although it may initially seem strange to start with the naming convention of the form fields, the reason for this will become clear later on. The controls (i.e. the form fields) of a question get printed by the method &amp;lt;code&amp;gt;print_question_formulation_and_controls()&amp;lt;/code&amp;gt;. The convention only dictates that the name of the control element(s) must begin with the value of &amp;lt;code&amp;gt;$question-&amp;gt;name_prefix&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;$question-&amp;gt;name_prefix&amp;lt;/code&amp;gt; is a string starting with &amp;quot;resp&amp;quot; followed by the question id and an underscore, e.g. &amp;lt;code&amp;gt;resp56_&amp;lt;/code&amp;gt;. In the default case, when there is only a single control element (this includes the case of a list of equally named radio buttons), no postfix is appended to the name prefix. For questiontypes that allow or require multiple form elements, an arbitrary string can be appended to the name prefix to form the name of these form elements. The postfix must not include any relational data (i.e. ids of records in the quiz_answers table), because this can lead to problems with regrading of versioned questions.&lt;br /&gt;
&lt;br /&gt;
After the printing of the question the server only sees it again when it is submitted. So the submitted data will contain several values indexed by strings starting with &amp;lt;code&amp;gt;respXX_&amp;lt;/code&amp;gt;. Upon submission, the function &amp;lt;code&amp;gt;quiz_process_responses()&amp;lt;/code&amp;gt; is called, which assigns the submitted responses to the state of the question with id XX, using the postfix (i.e. everything after the underscore) as array keys. In the default case with only one control element the name only consists of the name prefix. This explains why the default index of the &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; array is the empty string. The value of each array element is obviously the value that was submitted by the form, basically a raw response.&lt;br /&gt;
&lt;br /&gt;
The function &amp;lt;code&amp;gt;quiz_process_responses()&amp;lt;/code&amp;gt; in turn calls the questiontype specific method &amp;lt;code&amp;gt;grade_responses()&amp;lt;/code&amp;gt; to assign a grade to the submitted responses and &amp;lt;code&amp;gt;compare_responses()&amp;lt;/code&amp;gt; to determine whether the response was identical to the previous submission and to avoid regrading the same responses repeatedly. These questiontype specific functions need to be aware of the expected keys of the &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; array.&lt;br /&gt;
&lt;br /&gt;
Finally, the methods &amp;lt;code&amp;gt;restore_session_and_responses()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;save_session_and_responses()&amp;lt;/code&amp;gt; also need to know the questiontype specific layout of the &amp;lt;code&amp;gt;$state-&amp;gt;responses array&amp;lt;/code&amp;gt; and restore or save the information, e.g. by converting from or to the data representation.&lt;br /&gt;
&lt;br /&gt;
==Question types==&lt;br /&gt;
{{Questiontype developer docs}}&lt;br /&gt;
The quiz module is itself modular and allows question type plug-ins. For each question type there should be a page, accessible via the menu at the right, which provides at least the dtails about&lt;br /&gt;
*Database tables&lt;br /&gt;
*Response storage&lt;br /&gt;
*Question options object&lt;br /&gt;
*State options object&lt;br /&gt;
&lt;br /&gt;
It is hoped that Moodlers will contribute a lot of non-core question types in the future. For this it would be good to start a [[Guide to question type plugins]].&lt;br /&gt;
&lt;br /&gt;
==Grades==&lt;br /&gt;
&lt;br /&gt;
The handling of grades is a bit complicated because there are so many different grades around that get rescaled and combined in various ways. This section should summarize how this is done and why.&lt;br /&gt;
&lt;br /&gt;
The following grade fields are being used:&lt;br /&gt;
*$question-&amp;gt;defaultgrade&lt;br /&gt;
::This is the default value for the maximum grade for this question. This is set up when the teacher creates the question and it is stored in an int(10) field in the [[Quiz database structure#quiz_questions|quiz_questions]] table. However when the question is actually used in a particular quiz the teacher can overrule this default and this is stored in:&lt;br /&gt;
*$question-&amp;gt;maxgrade&lt;br /&gt;
::This is the maximum grade that the teacher has assigned to this question in the context of the current quiz. This is by default equal to $questions-&amp;gt;defaultgrade but the teacher can change this when editing the quiz. In the database it is stored in an int(10) field in the [[Quiz database structure#quiz_question_instances|quiz_question_instances table]].&lt;br /&gt;
*$question-&amp;gt;penalty&lt;br /&gt;
&lt;br /&gt;
*$state-&amp;gt;raw_grade&lt;br /&gt;
*$state-&amp;gt;grade&lt;br /&gt;
*$state-&amp;gt;penalty&lt;br /&gt;
*$state-&amp;gt;sumpenalty&lt;br /&gt;
&lt;br /&gt;
*$attempt-&amp;gt;sumgrades&lt;br /&gt;
&lt;br /&gt;
The maximum grades set by the teacher, $question-&amp;gt;defaultgrade and $question-&amp;gt;maxgrade, are integers. All student-obtained grades are in principle floating point numbers. For historical reasons they are stored in the database as varchar(10) fields. Care has to be taken when writing to the database to make sure all grades are correctly rounded and squeezed into a string of no more than 10 characters, otherwise the writing to database will fail, see bug 4220.&lt;br /&gt;
&lt;br /&gt;
The final outcome of the calculation of the grade for a user at a particular quiz is stored in the &#039;grade&#039; field of the [[Quiz database structure#quiz_grades|quiz_grades table]]. This field has type double.&lt;br /&gt;
&lt;br /&gt;
==Penalty mechanism==&lt;br /&gt;
&lt;br /&gt;
===What it is for===&lt;br /&gt;
&lt;br /&gt;
When the quiz is run in adaptive mode the student can interact with a question repeatedly. So in particular the student can try again when he gets a wrong answer. Clearly the final mark for the question must reflect the fact that the student did not get it right originally. Therefore a penalty is subtracted from the final mark.&lt;br /&gt;
&lt;br /&gt;
===How the penalty is determined===&lt;br /&gt;
&lt;br /&gt;
First of all penalties are relevant only if a quiz is run in adaptive mode. Only in this case can a student have a second attempt and therefore only in this mode can there be any occasion to subtract a penalty.&lt;br /&gt;
&lt;br /&gt;
Even in adaptive mode the penalty mechanism is only used when it is selected in the quiz options. If &amp;quot;Apply penalties&amp;quot; is set to &amp;quot;No&amp;quot; then the final mark for the question is the mark for the last graded response.&lt;br /&gt;
&lt;br /&gt;
Each question has a &#039;penalty&#039; field (which should really be called &#039;penaltyfactor&#039;) which is a number between 0 and 1. The penalty for a wrong response is calculated as the product ($quiz-&amp;gt;penalty * $quiz-&amp;gt;grade), i.e., as the product of the penaltyfactor with the maximum achievable grade for the question. This product is stored in $state-&amp;gt;penalty. So $quiz-&amp;gt;penalty is the fraction of the maximum grade that is subtracted as a penalty for each wrong response.&lt;br /&gt;
&lt;br /&gt;
The $quiz-&amp;gt;penalty field has a default value of 0.1, both in the database and in mod/quiz/defaults.php. This default can of course be overwritten by the admin on the quiz configuration page. This admin-selected default is (as usual for admin defaults) stored in $CFG-&amp;gt;quiz_penalty. The teacher can choose a different penalty factor for each individual question when adding or editing a question.&lt;br /&gt;
&lt;br /&gt;
Now if a student makes repeated wrong attempts (or partially correct attempts) the penalties for all these attempts are added up in $state-&amp;gt;sumpenalties. The mark for the question is then calculated as the mark for the last graded response minus the sum of the penalties.&lt;br /&gt;
&lt;br /&gt;
One curious fact about $state-&amp;gt;sumpenalties is that, for efficiency reasons, it is not stored in the quiz_states table but instead in the &#039;sumpenalty&#039; field of the quiz_newest_states table. That way it only has to be stored once per attempt rather than once per response.&lt;br /&gt;
&lt;br /&gt;
===Where it is done in the code===&lt;br /&gt;
&lt;br /&gt;
The function quiz_apply_penalty_and_timelimit() subtracts the penalty in $state-&amp;gt;sumpenalty from the raw grade in $state-&amp;gt;raw_grade to obtain $state-&amp;gt;grade for the response. However it is ensured that the grade of a new attempt at the question never falls below the previously achieved grade. This function also increases $state-&amp;gt;sumpenalty by the amount in $state-&amp;gt;penalty. The assumption is that $state-&amp;gt;penalty has just been set appropriately by the code calling this function, e.g., quiz_process_responses.&lt;br /&gt;
[[Category:Quiz]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Development:Question_import/export_formats&amp;diff=8701</id>
		<title>Development:Question import/export formats</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Development:Question_import/export_formats&amp;diff=8701"/>
		<updated>2006-04-18T06:57:19Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Importing and exporting have in common the data structure of questions in moodle but different requirements about the import or export modules unless the import or export is related to the same standard (ex.QTI).&lt;br /&gt;
The moodle data structure should be avalable elsewhere.&lt;br /&gt;
(to be continued)&lt;br /&gt;
[[Category:Quiz]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Development:Quiz_attempt&amp;diff=8700</id>
		<title>Development:Quiz attempt</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Development:Quiz_attempt&amp;diff=8700"/>
		<updated>2006-04-18T06:57:09Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quiz developer docs}}The attempt.php script is one of the most complicated scripts of the quiz module. It is responsible for displaying questions to a user, to evaluate and grade the users&#039; responses and additionally it needs to take various quiz settings into account and change the behaviour of the script accordingly. This script, which is vital for the functioning of the quiz module, is explained in this document in some detail in order to provide some context and examples for the use of the question/state model and to illustrate some of the functions provided in locallib.php.&lt;br /&gt;
&lt;br /&gt;
In addition to the immediate benefit of explaining what happens in attempt.php, this piece of documentation should provide an entry point to the quiz module code. A number of functions are used in attempt.php that are likely to be used in other scripts as well.&lt;br /&gt;
&lt;br /&gt;
Although the attempt.php script is useful for understanding how user interactions are handled, in order to gain an understanding of the teacher interface for editing quizzes and questions you should look at edit.php.&lt;br /&gt;
&lt;br /&gt;
== A simplified perspective ==&lt;br /&gt;
&lt;br /&gt;
From a simple functional point of view, the responsibilities of attempt.php is the handling of attempts at a quiz. This includes displaying questions and storing data provided or generated by the users. The interaction could be limited to opening the page and thus creating a new attempt and submitting the responses back to the server, which causes the responses to be graded. While the script is actually more sophisticated and allows to interrupt and continue attempts, this two step scenario provides a good starting point and covers the core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Starting a new attempt ===&lt;br /&gt;
&lt;br /&gt;
When a new attempt is started the attempt object is created by the function &amp;lt;code&amp;gt;quiz_create_attempt()&amp;lt;/code&amp;gt; (line 183). It returns an empty &amp;lt;code&amp;gt; $attempt&amp;lt;/code&amp;gt; object, which is stored in the database immediately to record the fact that the student has seen the questions.&lt;br /&gt;
&lt;br /&gt;
The next step is to load up all questions and to create initial states for all of them. Loading up the questions is a two step process: first the question records are extracted from the database, then the function &amp;lt;code&amp;gt; quiz_get_questions_options()&amp;lt;/code&amp;gt; is called. This attaches the name_prefix field and calls the questiontype specific &amp;lt;code&amp;gt;get_question_options()&amp;lt;/code&amp;gt; method for each question record in order to add any required data.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
     // Load the questions&lt;br /&gt;
     if (!$questions = get_records_sql($sql)) {&lt;br /&gt;
         ...&lt;br /&gt;
     }&lt;br /&gt;
     // Load the question type specific information&lt;br /&gt;
     if (!quiz_get_question_options($questions)) {&lt;br /&gt;
         ...&lt;br /&gt;
     }&lt;br /&gt;
     // Restore the question sessions to their most recent states&lt;br /&gt;
     // creating new sessions where required&lt;br /&gt;
     if (!$states = quiz_get_states($questions, $attempt)) {&lt;br /&gt;
         ...&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
After all questions are correctly initialised a state object is created for each by the function &amp;lt;code&amp;gt;quiz_get_states()&amp;lt;/code&amp;gt;. This function is responsible for providing a state for each question and creates a new state if there isn&#039;t one to be restored. Any newly states are added to the database right away.&lt;br /&gt;
&lt;br /&gt;
At this point all the required data has been generated or loaded, so the last step is to print the page. The printing happens towards the end of the attempt.php script and, apart from a simple call to &amp;lt;code&amp;gt;print_heading()&amp;lt;/code&amp;gt; (line 409), is done in a loop through all the question records by calling &amp;lt;code&amp;gt; quiz_print_quiz_question()&amp;lt;/code&amp;gt; (line 461), which is just a shorthand for calling the questiontype specific &amp;lt;code&amp;gt;print_question()&amp;lt;/code&amp;gt; method. So, quite conveniently, each question is responsible for printing itself. To round up the printing, submit buttons and a footer are printed to the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
=== Processing responses ===&lt;br /&gt;
&lt;br /&gt;
The next logical step after creating and displaying an attempt is that the user enters answers for all questions and submits them for marking. Now it is not necessary to create a new attempt, because there is already an open existing one in the database and the same holds for each question&#039;s state. So this time the attempt record is loaded from the database. The questions are loaded in the same way, by querying for the question records an then attaching any required questiontype specific fields by calling the function &amp;lt;code&amp;gt; quiz_get_question_options()&amp;lt;/code&amp;gt;. Now the call to the function &amp;lt;code&amp;gt; quiz_get_states()&amp;lt;/code&amp;gt; does actually restore the states from the database rather than generate new ones, so the same code works for the two scenarios, creating and closing an attempt.&lt;br /&gt;
&lt;br /&gt;
Now that all data concerning the attempt under discussion has been loaded, the responses submitted by the student come to the scene. For each question they need to be evaluated and graded. The first step here is to determine how to deal with each question and the associated responses. In the simplified case this is clear; all responses need to be graded, the grades stored and then the attempt needs to be closed. However, there are more complicated cases, so the function &amp;lt;code&amp;gt; quiz_extract_responses()&amp;lt;/code&amp;gt; is called to create the &amp;lt;code&amp;gt;$actions&amp;lt;/code&amp;gt; array, which acts as a set of instructions for the function &amp;lt;code&amp;gt;quiz_process_responses()&amp;lt;/code&amp;gt;, a quite complicated function, which encapsulates the entire response processing for one question and calls out to the questiontype specific &amp;lt;code&amp;gt;grade_responses()&amp;lt;/code&amp;gt; method for grading.&lt;br /&gt;
&lt;br /&gt;
After all submitted responses have been processed, the questions are rendered in the new states. An exception is if the student has requested to close the attempt (or if it is closed automatically due to a time limit). In this case the attempt is closed by setting the &amp;lt;code&amp;gt;timefinish&amp;lt;/code&amp;gt; field to the current time. After this the user is redirected to review.php, which, depending on the quiz review settings, shows the questions including the student&#039;s responses, feedback, grades and correct answers.&lt;br /&gt;
&lt;br /&gt;
== A more complicated perspective ==&lt;br /&gt;
&lt;br /&gt;
Before an attempt may be started there are a series of mandatory and optional checks, to determine if the user is allowed to attempt the quiz. In addition to these checks, the page display and functionality are slightly different for users with and without teacher privileges. Also, when the quiz is set to start in &amp;quot;secure&amp;quot; mode (the $quiz-&amp;gt;popup option), the printing of the page is slightly different. Including all of these scenarios evidently complicates the structure of the attempt.php script, deviating from the simple scenario described above.&lt;br /&gt;
&lt;br /&gt;
First of all, access to the quiz is denied to guests. Additionally it is possible to restrict acces to an IP range ($quiz-&amp;gt;subnet) and to set up a password for the quiz ($quiz-&amp;gt;password). In both cases users that can&#039;t pass the required tests are denied access.&lt;br /&gt;
&lt;br /&gt;
When a teacher &amp;quot;attempts&amp;quot; a quiz there is a tab navigation facility at the top of the page, which allows the teacher to jump between reviewing, previewing and editing the quiz (and possibly even more options). The teacher interface also contains a button to start a new attempt, which is not present on the student interface. Teachers&#039; attempts are automatically marked as previews, which means that old attempts are automatically deleted when a new attempt is started. It also prevents previews to show up in the students&#039; answers review and preview attempts don&#039;t block the possibility of editing the quiz, while students&#039; attempts do.&lt;br /&gt;
&lt;br /&gt;
Further complication is introduced by the feature to allow multiple pages with questions and navigation between these pages. This requieres mechanisms to determine which questions are on which page, which page is currently displayed and which page needs to be viewed next. This is not too hard to achieve, however, one subtlety should be noted: when the attempt is closed it is necessary to load all questions and their most recent states before they are marked, whereas in the case of navgation only the questions and related states of the page that was displayed before are loaded, processed and saved; and the questions and states for the next page are loaded.&lt;br /&gt;
&lt;br /&gt;
Towards the end of the script there are two blocks of code that are responsible for timed quizzes ($quiz-&amp;gt;timelimit). The first block prints the start element of the form using javascript to make sure that javascript is enabled (which obviously doesn&#039;t help a lot, because the quiz is printed as usual, only the submit won&#039;t work). The second block includes the file jstimer.php, which prints a timer that counts down and causes an auto-submit when time is up.&lt;br /&gt;
[[Category:Quiz]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=RSS_feeds&amp;diff=8697</id>
		<title>RSS feeds</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=RSS_feeds&amp;diff=8697"/>
		<updated>2006-04-18T06:49:47Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: be bold, see also&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;RSS&#039;&#039;&#039; (&#039;&#039;&#039;Really Simple Syndication&#039;&#039;&#039;, depending on who you ask) allows certain web browsers and specialized programs to automatically check for updates to a page.&lt;br /&gt;
&lt;br /&gt;
To enable RSS as administrator, go to Configuration and under Variables: Miscellaneous set enablerssfeeds to Yes. Then in Configuration: Modules you can enable an RSS feed for each module. Finally, in the settings for each individual instance of a particular module you must enable the RSS feed and specify the settings (e.g. how many articles to display, what kind of article).&lt;br /&gt;
&lt;br /&gt;
To subscribe to an RSS feed from moodle, click on the orange &#039;RSS&#039; button and copy the address from your browser bar to your RSS reader software. Although most web browsers will automatically detect an RSS feed (IE7 and Firefox), moodle does not seem to be sending them the correct information (as of 1.5 - is this fixed in 1.6?)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[RSS feeds block]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Moodle_myths&amp;diff=8084</id>
		<title>Moodle myths</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Moodle_myths&amp;diff=8084"/>
		<updated>2006-04-06T04:19:33Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The top 10 list started life in [http://moodle.org/mod/forum/discuss.php?d=33044 a post by Josie Fraser], as part of the 2005-6 [http://helpusgettobett.com HUGToB campaign].&lt;br /&gt;
&lt;br /&gt;
{{About Moodle}}&lt;br /&gt;
&lt;br /&gt;
==Once Moodle is stable, it will be put under licence. If it were any good, they’d already be charging for it==&lt;br /&gt;
Martin Dougiamas is [http://moodle.org/mod/forum/discuss.php?d=41253 on record] that Moodle will always be free and under the GPL. Even if it weren&#039;t, the community could take the latest GPL code and continue development from there. One of the reasons why Moodle&#039;s so good is that it&#039;s open source code, and so the world wide educational community can contribute to making it better still.&lt;br /&gt;
&lt;br /&gt;
==There’s no point in looking at Moodle unless you have a full time, php developer on your staff. At the very least you need a lot of technical support to run it in house==&lt;br /&gt;
There are &#039;&#039;plenty&#039;&#039; of institutions running Moodle as is, without any php developers in sight. You don&#039;t need to know any programming if you just want to run a copy of Moodle. That said, PHP is actually a fairly easy language to pick up, and the Moodle code is well documented, so if you did want to help with development, it&#039;s a fairly gentle learning curve.&lt;br /&gt;
&lt;br /&gt;
It&#039;s fair to say you need a certain amount of technical know-how to run your own instance of Moodle securely, but this is more to do with getting a web-server, SQL database and scripting language up and integrated than the Moodle scripts themselves. If you can run your own webserver, you should be OK to run Moodle on it. &lt;br /&gt;
&lt;br /&gt;
You don&#039;t actually have to run Moodle in house though - there are well respected [http://moodle.com Moodle Partners] who&#039;ll run Moodle for you, some of the more enlightened Local Authorities and Regional Broadband Consortia will provide Moodle hosting, and Moodle will work on plenty of commercially hosted webspaces too.&lt;br /&gt;
&lt;br /&gt;
==Moodle won’t be compatible with our other systems/software==&lt;br /&gt;
Moodle will run on Linux, Windows and Mac OS-X. It&#039;s compatible with a huge range of databases through ADODB integration. There&#039;s a whole host of authentication and enrolment mechanisms, including LDAP. Moodle will allow teachers to integrate content in a range of different formats, including SCORM, Flash, MP3s and RSS feeds. On the [[Roadmap]] for future releases is a Web API which will allow easy integration with other web-based applications. &lt;br /&gt;
&lt;br /&gt;
Finally, remember that this is open source software, with a well documented data and file structure. If Moodle&#039;s not compatible with a particular application at the moment, then you can pay a developer to code up that integration, or develop it in-house.&lt;br /&gt;
&lt;br /&gt;
==Moodle just doesn’t have the commercial experience we’re looking for==&lt;br /&gt;
Check out the [http://moodle.com partners]. Moodle is currently used by some big name corporate clients for in-house CPD.&lt;br /&gt;
&lt;br /&gt;
==You can’t just use Moodle out of the box – the basic Moodle install just isn’t that sophisticated==&lt;br /&gt;
Have a look at the [[Features|feature list]], all of which comes as standard. Additional themes, blocks and activities are easy to integrate and the vast majority are free, open source code too.&lt;br /&gt;
&lt;br /&gt;
==There’s no documentation, training or support available – you’re on your own==&lt;br /&gt;
There&#039;s excellent documentation online, provided by the user and developer community. The Open University&#039;s [http://moodle.org/user/view.php?id=9318&amp;amp;course=5 Jason Cole] has written an excellent introduction to Moodle for teachers, available as a [http://www.amazon.com/gp/product/0596008635/ proper book] from O&#039;Reilly. &lt;br /&gt;
&lt;br /&gt;
Because teachers find the interface so intuitive, there&#039;s not as much need for training as for some commercial alternatives, and many institutions will be able to run this in-house. Some of the [http://moodle.com/training/ moodle.com] partners also specialize in training.&lt;br /&gt;
&lt;br /&gt;
High quality, timely support is available from the user and developer community in the Using Moodle course on [http://moodle.org moodle.org], some LAs and RBCs are happy supporting Moodle in their areas, and there are also commercial support contracts available from the [http://moodle.com/support/ moodle.com] partners.&lt;br /&gt;
&lt;br /&gt;
==The total Cost of Ownership is actually higher for Moodle than it would be with a wholly commercial platform==&lt;br /&gt;
Stop and think for a moment. With both Moodle and commercial platforms, you&#039;ll still need to pay for hosting, support, training and content, one way or another: with Moodle, more of these costs &#039;&#039;can&#039;&#039; be brought in-house, because the code&#039;s open source and Moodle&#039;s great at providing the tools teachers need to write online activities themselves, but that doesn&#039;t mean you have to.&lt;br /&gt;
&lt;br /&gt;
The difference is that with Moodle, there are &#039;&#039;&#039;no&#039;&#039;&#039; licence fees to pay. None. The money you do spend can go back into making the software better, or remain within the educational community for the common good. None of it needs to go to meet shareholder dividends or pay back the venture capitalists. Furthermore, you&#039;re not exposed to the risks of commercial suppliers unilaterally increase their licence fees, or going out of business.&lt;br /&gt;
&lt;br /&gt;
It&#039;s therefore not that surprising that when they examined the [http://www.becta.org.uk/corporate/publications/documents/BEC5606_Full_report18.pdf Total Cost of Ownership of open-source software] on desktops in UK schools, government agency Becta found significant savings compared to commercial alternatives. The savings on support costs were particularly impressive. It&#039;s likely that these savings would have been greater still had they examined web-based applications like Moodle.&lt;br /&gt;
&lt;br /&gt;
==Moodle is just no good for an institution as large as mine==&lt;br /&gt;
So, that would be one larger than the UK&#039;s Open University, with 180,000 students, yes? The OU has [http://www3.open.ac.uk/events/7/2005118_40887_nr.doc announced] that they&#039;re moving to Moodle as their institutional VLE, and there are plenty of other [[Large_installations|large institutions]] officially using Moodle, and a good number of others where sections are.&lt;br /&gt;
&lt;br /&gt;
==Moodle is just not designed to cope with my specific group of learners or customers==&lt;br /&gt;
Moodle&#039;s being used successfully from elementary education, including early years provision, up to higher education, in all subject areas including art, languages, the humanities and mathematics. It&#039;s also established itself in the world of life-long learning, teachers&#039; CPD and corporate training. &lt;br /&gt;
&lt;br /&gt;
==We have all our stuff on *******, it’s just not worth the hassle of switching to Moodle==&lt;br /&gt;
The switch may not be that much of a hassle, as Moodle will happily import content in a wide range of standard formats, including SCORM. There are an increasing number of Further and Higher Education institutions that are making the move.&lt;br /&gt;
&lt;br /&gt;
Pedagogically, there&#039;s much to be gained from moving to a VLE which puts social, collaborative learning at the centre, and acknowledges the vital role that learners have to play, as well as providing teachers with the tools that they need to build effective on-line learning communities, rather than just presenting resources and activities. &lt;br /&gt;
&lt;br /&gt;
From a financial perspective, the costs involved in switching to Moodle should be quickly recouped through savings in licence fees.&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
[[es:Los 10 mitos de Moodle]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=User:Utkarshraj_Atmaram/temp&amp;diff=8083</id>
		<title>User:Utkarshraj Atmaram/temp</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=User:Utkarshraj_Atmaram/temp&amp;diff=8083"/>
		<updated>2006-04-06T04:13:18Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: test template style&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=right id=toc style=&amp;quot;margin-left: 15px; background-color: #ffffff; border: 5px solid #ffc240&amp;quot;&lt;br /&gt;
!align=center style=&amp;quot;border-bottom: 1px solid #ffc240&amp;quot; |&#039;&#039;&#039;[[Assignments]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Adding/editing an assignment]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Assignment details]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Viewing an assignment]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Assignment submissions]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=User:Utkarshraj_Atmaram&amp;diff=8082</id>
		<title>User:Utkarshraj Atmaram</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=User:Utkarshraj_Atmaram&amp;diff=8082"/>
		<updated>2006-04-06T04:09:15Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: fix link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[http://moodle.org/user/view.php?id=6591&amp;amp;course=5 My Moodle Personal Profile]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/User:Utcursch My Wikipedia page]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[User:Utkarshraj Atmaram/temp|Template test]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=User:Utkarshraj_Atmaram&amp;diff=8081</id>
		<title>User:Utkarshraj Atmaram</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=User:Utkarshraj_Atmaram&amp;diff=8081"/>
		<updated>2006-04-06T04:08:31Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: template test&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[http://moodle.org/user/view.php?id=6591&amp;amp;course=5 My Moodle Personal Profile]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/User:Utcursch My Wikipedia page]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[User:Utcursch/temp|Template test]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Blocks&amp;diff=8049</id>
		<title>Blocks</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Blocks&amp;diff=8049"/>
		<updated>2006-04-05T13:06:11Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: +cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Blocks.jpg|frame|right|An example of some blocks on a course homepage]]&lt;br /&gt;
&lt;br /&gt;
The [[course/view|course homepage]] generally contains &#039;&#039;&#039;blocks&#039;&#039;&#039; on the left and right of the centre column.&lt;br /&gt;
&lt;br /&gt;
==Block types==&lt;br /&gt;
&lt;br /&gt;
*[[Activities]]&lt;br /&gt;
*[[Administration]]&lt;br /&gt;
*[[Blog tags]] (1.6)&lt;br /&gt;
*[[Blog menu]] (1.6)&lt;br /&gt;
*[[Calendar (teacher)|Calendar]]&lt;br /&gt;
*[[Courses]]&lt;br /&gt;
*[[Course/Site Description]]&lt;br /&gt;
*[[HTML block]]&lt;br /&gt;
*[[Latest News]]&lt;br /&gt;
*[[Loan calculator]] (1.6)&lt;br /&gt;
*[[Messages]]&lt;br /&gt;
*[[Online Users]]&lt;br /&gt;
*[[People]]&lt;br /&gt;
*[[Quiz Results]]&lt;br /&gt;
*[[Random Glossary Entry]]&lt;br /&gt;
*[[Recent Activity]]&lt;br /&gt;
*[[RSS feeds]]&lt;br /&gt;
*[[Search Forums]]&lt;br /&gt;
*[[Section Links]]&lt;br /&gt;
*[[Upcoming Events]]&lt;br /&gt;
&lt;br /&gt;
==Block arrangement==&lt;br /&gt;
&lt;br /&gt;
Blocks may be added, hidden, deleted, and moved up, down and left/right when editing is turned on.&lt;br /&gt;
[[Image:BlocksEdit.jpg|frame|none|Blocks with the editing icons showing]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Blocks (administrator)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
[[Category:Block]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Moodle_version&amp;diff=7761</id>
		<title>Moodle version</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Moodle_version&amp;diff=7761"/>
		<updated>2006-03-30T09:49:52Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: +cat, right align&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:MoodleVersionPopup.jpg|Version popup over Moodle logo|right]]&lt;br /&gt;
Often one sees references to differences in different Moodle versions. How can one see which version is  on a certain site?&lt;br /&gt;
&lt;br /&gt;
On a Moodle site&#039;s homepage, hover the mouse over the Moodle logo and you&#039;ll see the version:&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=User:Utkarshraj_Atmaram&amp;diff=7483</id>
		<title>User:Utkarshraj Atmaram</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=User:Utkarshraj_Atmaram&amp;diff=7483"/>
		<updated>2006-03-24T10:43:53Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[http://moodle.org/user/view.php?id=6591&amp;amp;course=5 My Moodle Personal Profile]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/User:Utcursch My Wikipedia page]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Category:Block&amp;diff=7209</id>
		<title>Category:Block</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Category:Block&amp;diff=7209"/>
		<updated>2006-03-16T09:41:21Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: +cats&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An overview of all block-related pages.&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Marking_block&amp;diff=7207</id>
		<title>Marking block</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Marking_block&amp;diff=7207"/>
		<updated>2006-03-16T09:40:49Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: change cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Marking&#039;&#039;&#039; block is a Moodle block add-on that provides a summary of activities awaiting grading. It includes a separate page that provides an alternate gradebook functionality ties to the marking block. This block is restricted to teachers and administrators.&lt;br /&gt;
&lt;br /&gt;
This block displays marking information for newly submitted, resubmitted, and overdue (activities past their defined close dates) activities. The marking page provides the same information and easy access to the grading functions for these activities.&lt;br /&gt;
&lt;br /&gt;
This block cam also display a list of students below a certain grade level.&lt;br /&gt;
&lt;br /&gt;
The block can be configured to display a maximum number of students in each list and to set the grade level to display below.&lt;br /&gt;
&lt;br /&gt;
This directory uses custom code for all activities it summarizes. There are few common activity library functions that can perform the same operations, and thus any new activities to be added will need new code.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
To install and use, unzip this file into your Moodle root directory making sure&lt;br /&gt;
that you &#039;use folder names&#039;. This will add a new block directory (marking) to&lt;br /&gt;
your &#039;/blocks&#039; directory and some language files to your langage directory.&lt;br /&gt;
Once unzipped, visit your admin screen and configure the new block the way you&lt;br /&gt;
want.&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
&lt;br /&gt;
The marking block has been designed and built with the contributions of the&lt;br /&gt;
following people:&lt;br /&gt;
* Fernando Oliviera - G8 First Nation Schools &amp;gt; original design concept of the marking page&lt;br /&gt;
* Darren Smith - Egglescliffe School &amp;gt; orginal design concept of the marking block, and additional design of the marking page&lt;br /&gt;
* Mike Churchward - churchward.ca (mike AT churchward DOT ca)&amp;gt; original technical design and development&lt;br /&gt;
&lt;br /&gt;
==To do==&lt;br /&gt;
&lt;br /&gt;
* Make sure all strings are in language file&lt;br /&gt;
* Allow configuration of each section (i.e. enable/disable &#039;below average list&#039;)&lt;br /&gt;
* Create a local block library file and better compartmentalize functions&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://download.moodle.org/download.php/modules/block_marking.zip Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:Block (non-standard)]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Attendance_activity&amp;diff=7204</id>
		<title>Attendance activity</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Attendance_activity&amp;diff=7204"/>
		<updated>2006-03-16T09:39:45Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: change cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are two version of the &#039;&#039;&#039;attendance&#039;&#039;&#039; module: from [http://moodle.org/user/view.php?id=18237 Dmitry Pupinin] and from [http://human-logic.com/ Human Logic].&lt;br /&gt;
Both published in the Using Moodle [http://moodle.org/mod/forum/view.php?f=125 Attendance module forum].&lt;br /&gt;
&lt;br /&gt;
At this time Dmitry&#039;s version is more stable and useful.&lt;br /&gt;
&lt;br /&gt;
[http://download.moodle.org/download.php/modules/block_attendance.zip Download daily build of Dmitry&#039;s version]&lt;br /&gt;
[[Category:Block (non-standard)]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Marking_block&amp;diff=7197</id>
		<title>Marking block</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Marking_block&amp;diff=7197"/>
		<updated>2006-03-16T09:21:47Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Marking&#039;&#039;&#039; block is a Moodle block add-on that provides a summary of activities awaiting grading. It includes a separate page that provides an alternate gradebook functionality ties to the marking block. This block is restricted to teachers and administrators.&lt;br /&gt;
&lt;br /&gt;
This block displays marking information for newly submitted, resubmitted, and overdue (activities past their defined close dates) activities. The marking page provides the same information and easy access to the grading functions for these activities.&lt;br /&gt;
&lt;br /&gt;
This block cam also display a list of students below a certain grade level.&lt;br /&gt;
&lt;br /&gt;
The block can be configured to display a maximum number of students in each list and to set the grade level to display below.&lt;br /&gt;
&lt;br /&gt;
This directory uses custom code for all activities it summarizes. There are few common activity library functions that can perform the same operations, and thus any new activities to be added will need new code.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
To install and use, unzip this file into your Moodle root directory making sure&lt;br /&gt;
that you &#039;use folder names&#039;. This will add a new block directory (marking) to&lt;br /&gt;
your &#039;/blocks&#039; directory and some language files to your langage directory.&lt;br /&gt;
Once unzipped, visit your admin screen and configure the new block the way you&lt;br /&gt;
want.&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
&lt;br /&gt;
The marking block has been designed and built with the contributions of the&lt;br /&gt;
following people:&lt;br /&gt;
* Fernando Oliviera - G8 First Nation Schools &amp;gt; original design concept of the marking page&lt;br /&gt;
* Darren Smith - Egglescliffe School &amp;gt; orginal design concept of the marking block, and additional design of the marking page&lt;br /&gt;
* Mike Churchward - churchward.ca (mike AT churchward DOT ca)&amp;gt; original technical design and development&lt;br /&gt;
&lt;br /&gt;
==To do==&lt;br /&gt;
&lt;br /&gt;
* Make sure all strings are in language file&lt;br /&gt;
* Allow configuration of each section (i.e. enable/disable &#039;below average list&#039;)&lt;br /&gt;
* Create a local block library file and better compartmentalize functions&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://download.moodle.org/download.php/modules/block_marking.zip Download]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Template:Book&amp;diff=7195</id>
		<title>Template:Book</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Template:Book&amp;diff=7195"/>
		<updated>2006-03-16T08:58:13Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: right align, more attractive box&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=right id=toc style=&amp;quot;margin-left: 15px;&amp;quot;&lt;br /&gt;
!align=center bgcolor=#ddddff|&#039;&#039;&#039;[[Assignments]]&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Creating a book]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Viewing a book]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Dialogue_module&amp;diff=7194</id>
		<title>Dialogue module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Dialogue_module&amp;diff=7194"/>
		<updated>2006-03-16T08:56:07Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Dialogues&#039;&#039;&#039; can be useful when you want a location to give private feedback to students on their online activity. For example, if they are participating in a language forum and have a grammatical error that you want to point out, without embarassing them, a dialogue is the perfect place. &lt;br /&gt;
&lt;br /&gt;
When students initially enroll on a site, you might want to send them a welcome dialogue to let them know you are there. This way if they have something to say to you, they will feel more comfortable responding to you since you made the first step.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://moodle.org/mod/forum/view.php?id=854 Dialogue module forums]&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
[[Category:Module (non-standard)]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Scheduler_module&amp;diff=7191</id>
		<title>Scheduler module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Scheduler_module&amp;diff=7191"/>
		<updated>2006-03-16T08:35:17Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This module helps you to schedule one-on-one appointments with all your students. You specify the periods during which you are&lt;br /&gt;
available to see the students and the length of each appointment. The students then book themselves into one of the available&lt;br /&gt;
timeslots. The module also lets you record the attendance.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;If you have used the scheduler module, please add to this teacher documentation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=38656 Scheduler module]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
[[Category:Module (non-standard)]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Assignment_activity&amp;diff=7188</id>
		<title>Assignment activity</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Assignment_activity&amp;diff=7188"/>
		<updated>2006-03-16T08:16:58Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: /* Contrib modules */ more types&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Assignments}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Assignments&#039;&#039;&#039; allow the teacher to grade various types of student submissions.&lt;br /&gt;
&lt;br /&gt;
==Types==&lt;br /&gt;
Moodle supports plug-in assignment types.&lt;br /&gt;
&lt;br /&gt;
===Official types===&lt;br /&gt;
There are three official types:&lt;br /&gt;
&lt;br /&gt;
;Upload&lt;br /&gt;
:A student can upload a single file. This could be a Word document, spreadsheet or anything digital. Multiple files could be zipped and then submitted.&lt;br /&gt;
;Online Text&lt;br /&gt;
:This assignment type asks users to edit a text, using the normal editing tools. Teachers can grade them online, and even add inline comments or changes.&lt;br /&gt;
;Offline assignment&lt;br /&gt;
:This is useful when the assignment is performed outside of Moodle. It could be something elsewhere on the web or face-to-face. Students can see a description of the assignment, but can&#039;t upload files or anything. Grading works normally, and students will get notifications of their grades.&lt;br /&gt;
&lt;br /&gt;
===Contrib modules===&lt;br /&gt;
These assignment types have been contributed by users:&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=30613 Group Assignment] (by Patrick Jermann)&lt;br /&gt;
:One user uploads the file but all the members of his or her group &amp;quot;benefit&amp;quot; from the submission.&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=33940 uploadmulti] (by Brian Jones)&lt;br /&gt;
:Allows uploading multiple files.&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=39979 Multiple Files Upload] (by Gustav W Delius)&lt;br /&gt;
:Allows uploading multiple files.&lt;br /&gt;
&lt;br /&gt;
;[http://cdc.humboldt.edu/moodle/mod/resource/view.php?id=21 Review assignment] (by Humboldt University)&lt;br /&gt;
:A new assignment type that adds the ability to send back to the student a graded copy of their file. For Moodle 1.5.&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=34887 Form] (by Michael Robellard)&lt;br /&gt;
:allows students to enter information in a form (multiple textarea boxes) and then the teacher can grade each textarea with a number of points (or other grading scale) and give a comment for each form field&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[http://download.moodle.org/docs/using_moodle/ch7_assignments.pdf Using Moodle Chapter 7: Assignments and Exercises]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
&lt;br /&gt;
[[nl:Opdracht]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Assignment_activity&amp;diff=7187</id>
		<title>Assignment activity</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Assignment_activity&amp;diff=7187"/>
		<updated>2006-03-16T08:11:35Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: /* Contrib modules */ uploadmulti&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Assignments}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Assignments&#039;&#039;&#039; allow the teacher to grade various types of student submissions.&lt;br /&gt;
&lt;br /&gt;
==Types==&lt;br /&gt;
Moodle supports plug-in assignment types.&lt;br /&gt;
&lt;br /&gt;
===Official types===&lt;br /&gt;
There are three official types:&lt;br /&gt;
&lt;br /&gt;
;Upload&lt;br /&gt;
:A student can upload a single file. This could be a Word document, spreadsheet or anything digital. Multiple files could be zipped and then submitted.&lt;br /&gt;
;Online Text&lt;br /&gt;
:This assignment type asks users to edit a text, using the normal editing tools. Teachers can grade them online, and even add inline comments or changes.&lt;br /&gt;
;Offline assignment&lt;br /&gt;
:This is useful when the assignment is performed outside of Moodle. It could be something elsewhere on the web or face-to-face. Students can see a description of the assignment, but can&#039;t upload files or anything. Grading works normally, and students will get notifications of their grades.&lt;br /&gt;
&lt;br /&gt;
===Contrib modules===&lt;br /&gt;
These assignment types have been contributed by users:&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=30613 Group Assignment] (by Patrick Jermann)&lt;br /&gt;
:One user uploads the file but all the members of his or her group &amp;quot;benefit&amp;quot; from the submission.&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=33940 uploadmulti] (by Brian Jones)&lt;br /&gt;
:Allows uploading multiple files.&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=39979 Multiple Files Upload] (by Gustav W Delius)&lt;br /&gt;
:Allows uploading multiple files.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[http://download.moodle.org/docs/using_moodle/ch7_assignments.pdf Using Moodle Chapter 7: Assignments and Exercises]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
&lt;br /&gt;
[[nl:Opdracht]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Assignment_activity&amp;diff=7186</id>
		<title>Assignment activity</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Assignment_activity&amp;diff=7186"/>
		<updated>2006-03-16T08:09:32Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: /* Contrib modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Assignments}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Assignments&#039;&#039;&#039; allow the teacher to grade various types of student submissions.&lt;br /&gt;
&lt;br /&gt;
==Types==&lt;br /&gt;
Moodle supports plug-in assignment types.&lt;br /&gt;
&lt;br /&gt;
===Official types===&lt;br /&gt;
There are three official types:&lt;br /&gt;
&lt;br /&gt;
;Upload&lt;br /&gt;
:A student can upload a single file. This could be a Word document, spreadsheet or anything digital. Multiple files could be zipped and then submitted.&lt;br /&gt;
;Online Text&lt;br /&gt;
:This assignment type asks users to edit a text, using the normal editing tools. Teachers can grade them online, and even add inline comments or changes.&lt;br /&gt;
;Offline assignment&lt;br /&gt;
:This is useful when the assignment is performed outside of Moodle. It could be something elsewhere on the web or face-to-face. Students can see a description of the assignment, but can&#039;t upload files or anything. Grading works normally, and students will get notifications of their grades.&lt;br /&gt;
&lt;br /&gt;
===Contrib modules===&lt;br /&gt;
These assignment types have been contributed by users:&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=30613 Group Assignment] (by Patrick Jermann)&lt;br /&gt;
:One user uploads the file but all the members of his or her group &amp;quot;benefit&amp;quot; from the submission.&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=39979 Multiple Files Upload] (by Gustav W Delius)&lt;br /&gt;
:Allows uploading multiple files.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[http://download.moodle.org/docs/using_moodle/ch7_assignments.pdf Using Moodle Chapter 7: Assignments and Exercises]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
&lt;br /&gt;
[[nl:Opdracht]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Assignment_activity&amp;diff=7184</id>
		<title>Assignment activity</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Assignment_activity&amp;diff=7184"/>
		<updated>2006-03-16T07:52:33Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: h3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Assignments}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Assignments&#039;&#039;&#039; allow the teacher to grade various types of student submissions.&lt;br /&gt;
&lt;br /&gt;
==Types==&lt;br /&gt;
Moodle supports plug-in assignment types.&lt;br /&gt;
&lt;br /&gt;
===Official types===&lt;br /&gt;
There are three official types:&lt;br /&gt;
&lt;br /&gt;
;Upload&lt;br /&gt;
:A student can upload a single file. This could be a Word document, spreadsheet or anything digital. Multiple files could be zipped and then submitted.&lt;br /&gt;
;Online Text&lt;br /&gt;
:This assignment type asks users to edit a text, using the normal editing tools. Teachers can grade them online, and even add inline comments or changes.&lt;br /&gt;
;Offline assignment&lt;br /&gt;
:This is useful when the assignment is performed outside of Moodle. It could be something elsewhere on the web or face-to-face. Students can see a description of the assignment, but can&#039;t upload files or anything. Grading works normally, and students will get notifications of their grades.&lt;br /&gt;
&lt;br /&gt;
===Contrib modules===&lt;br /&gt;
These assignment types have been contributed by users:&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=30613 Group Assignment] (by Patrick Jermann)&lt;br /&gt;
:One user uploads the file but all the members of his or her group &amp;quot;benefit&amp;quot; from the submission. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[http://download.moodle.org/docs/using_moodle/ch7_assignments.pdf Using Moodle Chapter 7: Assignments and Exercises]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
&lt;br /&gt;
[[nl:Opdracht]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Assignment_activity&amp;diff=7183</id>
		<title>Assignment activity</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Assignment_activity&amp;diff=7183"/>
		<updated>2006-03-16T07:47:27Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: contrib&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Assignments}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Assignments&#039;&#039;&#039; allow the teacher to grade various types of student submissions.&lt;br /&gt;
&lt;br /&gt;
==Types==&lt;br /&gt;
Moodle supports plug-in assignment types.&lt;br /&gt;
&lt;br /&gt;
===Official types===&lt;br /&gt;
There are three official types:&lt;br /&gt;
&lt;br /&gt;
;Upload&lt;br /&gt;
:A student can upload a single file. This could be a Word document, spreadsheet or anything digital. Multiple files could be zipped and then submitted.&lt;br /&gt;
;Online Text&lt;br /&gt;
:This assignment type asks users to edit a text, using the normal editing tools. Teachers can grade them online, and even add inline comments or changes.&lt;br /&gt;
;Offline assignment&lt;br /&gt;
:This is useful when the assignment is performed outside of Moodle. It could be something elsewhere on the web or face-to-face. Students can see a description of the assignment, but can&#039;t upload files or anything. Grading works normally, and students will get notifications of their grades.&lt;br /&gt;
&lt;br /&gt;
===Contrib modules==&lt;br /&gt;
These assignment types have been contributed by users:&lt;br /&gt;
&lt;br /&gt;
;[http://moodle.org/mod/forum/discuss.php?d=30613 Group Assignment] (by Patrick Jermann)&lt;br /&gt;
:One user uploads the file but all the members of his or her group &amp;quot;benefit&amp;quot; from the submission. &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[http://download.moodle.org/docs/using_moodle/ch7_assignments.pdf Using Moodle Chapter 7: Assignments and Exercises]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
&lt;br /&gt;
[[nl:Opdracht]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=User:Utcursch&amp;diff=5267</id>
		<title>User:Utcursch</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=User:Utcursch&amp;diff=5267"/>
		<updated>2006-02-13T12:17:06Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Debian User, [http://en.wikipedia.org/wiki/User:Utcursch Wikipedia Administrator]&lt;br /&gt;
&lt;br /&gt;
Here is my moodle site: http://moodle.dbit.in&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Installing_AMP&amp;diff=2551</id>
		<title>Installing AMP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Installing_AMP&amp;diff=2551"/>
		<updated>2005-09-15T12:15:36Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: fix cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moodle is written in a scripting language called PHP, and stores most of its data in a database. The database we recommend is MySQL. Before installing Moodle you must have a working PHP installation and a working database to turn your computer into a functional web server platform. These packages can be tricky to set up for average computer users, so this page has been written to try to make this process as simple as possible for different platforms:&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Hosting Service ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately hosting services vary quite a lot in the way they work. Some will even install Moodle for you.&lt;br /&gt;
&lt;br /&gt;
Most will offer a web-based control panel to control your site, create databases and set up cron. Some may also offer terminal access via ssh, so that you can use the command shell to do things.&lt;br /&gt;
&lt;br /&gt;
You should work your way through the [[Installing Moodle|Installation guide]] and take each step at a time. Ask your hosting provider if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to do this is use the Apache server that Apple provides, and add PHP and MySQL using Marc Liyanage&#039;s packages. Both of the pages below come with good instructions that we won&#039;t duplicate here:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;PHP&#039;&#039;&#039;: Download from here: http://www.entropy.ch/software/macosx/php/&lt;br /&gt;
* &#039;&#039;&#039;MySQL&#039;&#039;&#039;: Download here: http://www.entropy.ch/software/macosx/mysql/&lt;br /&gt;
&lt;br /&gt;
Once these are installed the standard [[Installing Moodle|Installation guide]] should be fairly straightforward.&lt;br /&gt;
&lt;br /&gt;
A more detailed walkthrough is here: [[Step by Step Installation Guide for Mac OS X]]&lt;br /&gt;
&lt;br /&gt;
== Redhat Linux ==&lt;br /&gt;
&lt;br /&gt;
You should install all available RPM packages for Apache, PHP and MySQL. One package that people frequently forget is the php-mysql package which is necessary for PHP to talk to MySQL.&lt;br /&gt;
&lt;br /&gt;
Once these are installed the standard [[Installing Moodle|Installation guide]] should be fairly straightforward.&lt;br /&gt;
&lt;br /&gt;
A more detailed walkthrough is here: [[Step by Step Installation Guide for RedHat]]&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to do this is use EasyPHP, a package that bundles all the software you need into a single Windows application. Here are the steps from start to finish: [[Step_by_Step_Installation_Guide_for_Windows]].&lt;br /&gt;
Easy PHP is available in French language&lt;br /&gt;
So u peolpe better get urself brushed up with the language&lt;br /&gt;
[[Category:Installation|Apache, MySQL and PHP]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Installation_FAQ&amp;diff=2550</id>
		<title>Installation FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Installation_FAQ&amp;diff=2550"/>
		<updated>2005-09-15T12:15:12Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: fix cat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains answers to some of the most frequently asked questions by people installing Moodle. If you have followed the [[Installing_Moodle|installation instructions]] but you still have a problem, then this page is probably the best place to be.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t find your answer here try the [http://moodle.org/mod/forum/index.php?id=5 Using Moodle] course on moodle.org. Start by searching the forums using a few keywords, in case your problem has already been discussed. If you don&#039;t find anything, then try posting your question into the appropriate forum - somebody will usually be able to help you.&lt;br /&gt;
&lt;br /&gt;
If you have tried a number of solutions without resolving an issue, and you are running behind a firewall, it may be advisable to try re-configuring your firewall to ensure that it is not blocking a required function or necessary communication. Firewalls very rarely cause problems with Moodle but are occasionally responsible for reduced functionality due to a mis-configuration in the firewall settings.&lt;br /&gt;
&lt;br /&gt;
Use this list to jump to the appropriate answer below:&lt;br /&gt;
&lt;br /&gt;
== Whenever I try to access or view a file that I uploaded, I get an error &amp;quot;File not Found&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
For example: Not Found: The requested URL /moodle/file.php/2/myfile.jpg was not found on this server.&lt;br /&gt;
&lt;br /&gt;
Your web server needs to be configured to allow the part of the URL after a script name to be passed directly to the script. This is usually enabled in Apache 1, but is usually disabled by default in Apache 2. To turn it on, add this line to your &#039;&#039;&#039;httpd.conf&#039;&#039;&#039;, or to a &#039;&#039;&#039;.htaccess&#039;&#039;&#039; file in your local directory (see the [[Installing_Moodle#Check_web_server_settings|Install documentation]] for more details):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;AcceptPathInfo&#039;&#039;&#039; on&lt;br /&gt;
&lt;br /&gt;
Note, this will ONLY work for Apache versions 2.x.&lt;br /&gt;
&lt;br /&gt;
If you are not using Apache 2 and you still have this problem (unlikely) then you can switch Moodle to use an alternative method. The disadvantages are a slight loss of performance for your users and you won&#039;t be able to use relative links within HTML resources.&lt;br /&gt;
&lt;br /&gt;
To use this alternative method: login as Admin, go into the &amp;quot;Configure Variables&amp;quot; page and change the setting for &amp;quot;&#039;&#039;&#039;slasharguments&#039;&#039;&#039;&amp;quot;. You should now be able to access your uploaded files.&lt;br /&gt;
&lt;br /&gt;
== PHP - is it installed and what version do I have? ==&lt;br /&gt;
&lt;br /&gt;
Make a new file on your web site called info.php, containing the following text, and call it from your browser:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?PHP phpinfo() ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If nothing happens then you don&#039;t have PHP installed. See the installation docs for some information about where to download it for your computer.&lt;br /&gt;
&lt;br /&gt;
== Why are all my pages blank? ==&lt;br /&gt;
&lt;br /&gt;
Check the dirroot variable in config.php. You must use complete, absolute pathnames, eg:&lt;br /&gt;
&lt;br /&gt;
 $CFG-&amp;gt;dirroot = &amp;quot;d:\inetpub\sites\www.yoursite.com\web\moodle&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Redhat Linux platform please see: [[Installing_Apache%2C_MySQL_and_PHP#Redhat_Linux|Redhat Linux]]&lt;br /&gt;
&lt;br /&gt;
== My pages show fatal errors such as : call to undefined function: get_string() ==&lt;br /&gt;
&lt;br /&gt;
If you see errors like:&lt;br /&gt;
&lt;br /&gt;
 Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp\www\moodle\config.php on line 94&lt;br /&gt;
 Fatal error: Call to undefined function: get_string() in c:\program files\easyphp\www\moodle\mod\resource\lib.php on line 11&lt;br /&gt;
&lt;br /&gt;
then it&#039;s likely you have left out a semi-colon or ending quote from a line in config.php (previous to line 94).&lt;br /&gt;
&lt;br /&gt;
Another reason could be that you have opened config.php in a program like Word to edit it, and saved it as a HTML web page, instead of a proper text file.&lt;br /&gt;
&lt;br /&gt;
== Why do I keep getting error messages about &amp;quot;headers already sent&amp;quot;? ==&lt;br /&gt;
&lt;br /&gt;
If you see errors like this:&lt;br /&gt;
&lt;br /&gt;
 Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1322&lt;br /&gt;
 Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1323&lt;br /&gt;
 Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/login/index.php on line 54&lt;br /&gt;
&lt;br /&gt;
you have blank lines or spaces after the final ?&amp;gt; in your config.php file. Sometimes text editors add these - for example Notepad on Windows - so you may have to try a different text editor to remove these spaces or blank lines completely.&lt;br /&gt;
&lt;br /&gt;
== I keep getting this error: Failed opening required &#039;/web/moodle/lib/setup.php&#039; ==&lt;br /&gt;
&lt;br /&gt;
In your config.php, the setting that you use for the dirroot variable must be the &#039;&#039;&#039;complete path from the root of your server&#039;s hard drive&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Sometimes people only use the path from their home directory, or relative to the root of the web server directory.&lt;br /&gt;
&lt;br /&gt;
== Any text I add with an apostrophe (&#039;) or a quote (&amp;quot;) causes errors or comes up with a slash added ==&lt;br /&gt;
&lt;br /&gt;
Problems caused by apostrophes are caused by incorrect &amp;quot;magic quotes&amp;quot; settings. Moodle requires the following settings (which are usually the default):&lt;br /&gt;
&lt;br /&gt;
 magic_quotes_gpc = On&lt;br /&gt;
 magic_quotes_runtime = Off&lt;br /&gt;
&lt;br /&gt;
See the section on [[Installing_Moodle#Check_web_server_settings|webserver configuration]] in the Installation docs for more details.&lt;br /&gt;
&lt;br /&gt;
== I keep getting error messages about session_start ==&lt;br /&gt;
&lt;br /&gt;
If you see errors like this:&lt;br /&gt;
&lt;br /&gt;
 Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123&lt;br /&gt;
 Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123&lt;br /&gt;
 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\web\moodle\lib\setup.php:1) in G:\web\moodle\lib\setup.php on line 123&lt;br /&gt;
&lt;br /&gt;
... these are all related to the fact that PHP is failing to save &amp;quot;session&amp;quot; files on your hard disk (in a directory called /tmp). Usually the reason is that you don&#039;t HAVE a directory called /tmp on your computer. This is usually the case with Windows installations.&lt;br /&gt;
&lt;br /&gt;
The solution is to fix the PHP setting for this path to point to a real directory. You can do this in your php.ini file:&lt;br /&gt;
&lt;br /&gt;
 session.save_path = C:\temp&lt;br /&gt;
&lt;br /&gt;
or otherwise in a .htaccess file in your main moodle directory:&lt;br /&gt;
&lt;br /&gt;
 php_value session.save_path &amp;quot;/home/moodle/sessions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== When I go to the admin page, I get told to make dirroot blank! ==&lt;br /&gt;
&lt;br /&gt;
If you see errors like this in Moodle 1.0.9:&lt;br /&gt;
&lt;br /&gt;
 Please fix your settings in config.php:&lt;br /&gt;
 You have:&lt;br /&gt;
 $CFG-&amp;gt;dirroot = &amp;quot;/home/users/fred/public_html/moodle&amp;quot;;&lt;br /&gt;
 but it should be:&lt;br /&gt;
 $CFG-&amp;gt;dirroot = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
then you have encountered a small bug that occurs on some servers. The problem is with the error-checking mechanism, not with your actual path. To fix it, find this line (line 66) in the file admin/index.php:&lt;br /&gt;
&lt;br /&gt;
 if ($dirroot != $CFG-&amp;gt;dirroot) {&lt;br /&gt;
&lt;br /&gt;
and change it to this:&lt;br /&gt;
&lt;br /&gt;
 if (!empty($dirroot) and $dirroot != $CFG-&amp;gt;dirroot) {&lt;br /&gt;
&lt;br /&gt;
== I login but the login link doesn&#039;t change. I am logged in and can navigate freely. ==&lt;br /&gt;
&lt;br /&gt;
Make sure the URL in your $CFG-&amp;gt;wwwroot setting is exactly the same as the one you are actually using to access the site.&lt;br /&gt;
&lt;br /&gt;
== When trying to add a resource I receive error messages. ==&lt;br /&gt;
&lt;br /&gt;
Assuming you are using Apache, then it&#039;s quite likely that your setting in config.php for $CFG-&amp;gt;wwwroot is different from the actual URL you are using to access the site. Also try turning off &amp;quot;&#039;&#039;&#039;secureforms&#039;&#039;&#039;&amp;quot; in the admin settings.&lt;br /&gt;
&lt;br /&gt;
== During the initial setting-up process, I never get asked to create an admin account! ==&lt;br /&gt;
&lt;br /&gt;
This is a known bug in versions of Moodle up to 1.0.9, now fixed in the main code and version 1.1.&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t affect all people, it only occurs when the person installing Moodle has a cookie in their browser from another program on the same site, called &amp;quot;user&amp;quot;, &amp;quot;admin&amp;quot;, or &amp;quot;teacher&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Quick fixes include deleting those cookies from your browser before installing, using a different browser, or editing the file moodle/admin/user.php to insert these lines near the top:&lt;br /&gt;
&lt;br /&gt;
 unset($user);&lt;br /&gt;
 unset($admin);&lt;br /&gt;
 unset($teacher);&lt;br /&gt;
&lt;br /&gt;
After performing any of these fixes it might be a good idea to drop all the tables in your database and re-install again from scratch.&lt;br /&gt;
&lt;br /&gt;
== I can&#039;t log in - I just stay stuck on the login screen. ==&lt;br /&gt;
&lt;br /&gt;
The most common cause for this is that your own computer (not your Moodle server) has a firewall that is stripping referrer information from the browser. Here are some instructions for fixing [http://service1.symantec.com/SUPPORT/nip.nsf/46f26a2d6dafb0a788256bc7005c3fa3/b9b47ad7eddd343b88256c6b006a85a8?OpenDocument&amp;amp;src=bar_sch_nam Norton firewall products].&lt;br /&gt;
&lt;br /&gt;
The server admin can also fix this for everyone by editing the Moodle configuration page and changing the variable &amp;quot;&#039;&#039;&#039;secureforms&#039;&#039;&#039;&amp;quot; to &amp;quot;No&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Another possible cause of this problem is that sessions are not configured properly on the server. You can test this by calling the script &amp;lt;nowiki&amp;gt;http://yourserver/moodle/lib/session-test.php&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== How do I backup my whole Moodle site? ==&lt;br /&gt;
&lt;br /&gt;
There are two main things you need to make a copy of: the database and the uploaded files. The Moodle scripts themselves are less important, since you can always download a fresh copy if you have to.&lt;br /&gt;
&lt;br /&gt;
There are many ways to do such backups. Here is an outline of a little script you can run on Unix to backup the database (it works well to have such a script run daily via a cron task&lt;br /&gt;
&lt;br /&gt;
 cd /my/backup/directory&lt;br /&gt;
 mv moodle-database.sql.gz moodle-database-old.sql.gz&lt;br /&gt;
 mysqldump -h example.com -u myusername --password=mypassword -C -Q -e -a mydatabasename &amp;gt; moodle-database.sql&lt;br /&gt;
 gzip moodle-database.sql&lt;br /&gt;
&lt;br /&gt;
For the files, you can use rsync regularly to copy only the changed files to another host:&lt;br /&gt;
&lt;br /&gt;
 rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/&lt;br /&gt;
&lt;br /&gt;
== Why doesn&#039;t my Moodle site display the time &amp;amp; date correctly? ==&lt;br /&gt;
&lt;br /&gt;
Each language requires a specific language code (called a &#039;&#039;&#039;locale&#039;&#039;&#039; code) to allow dates to be displayed correctly. The language packs contain default standard codes, but sometimes these don&#039;t work on Windows servers.&lt;br /&gt;
&lt;br /&gt;
You can find the correct locale codes for Windows on these two pages: [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp Language codes] and [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_country_strings.asp Country/region] codes.(eg &amp;quot;esp_esp&amp;quot; for spanish)&lt;br /&gt;
&lt;br /&gt;
These new locale codes can be entered on the Admin -&amp;gt; Configure -&amp;gt; Variables page, where they override the ones in the currently chosen language pack.&lt;br /&gt;
&lt;br /&gt;
== Email copies are not being sent from my forums ==&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;must&#039;&#039;&#039; set up cron properly if you want Moodle to send out automatic email from forums, assignments etc. This same process also performs a number of clean-up tasks such as deleting old unconfirmed users, unenrolling old students and so on.&lt;br /&gt;
&lt;br /&gt;
Basically, you need to set up a process to regularly call the script &amp;lt;nowiki&amp;gt;http://yoursite/admin/cron.php&amp;lt;/nowiki&amp;gt;. Please see [[Installing_Moodle#Set_up_cron|the section on cron in the Installation documentation]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; Try the default setting in Moodle variables page. Leave the smtphost blank. This will be acceptable for the majority of users.&lt;br /&gt;
[[Category:Installation|FAQ]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Administrator_documentation&amp;diff=2549</id>
		<title>Administrator documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Administrator_documentation&amp;diff=2549"/>
		<updated>2005-09-15T12:14:34Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: categorized&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing or upgrading Moodle ==&lt;br /&gt;
&lt;br /&gt;
# [[Installing Moodle]]&lt;br /&gt;
# [[Installation FAQ]]&lt;br /&gt;
# [[Installing Apache, MySQL and PHP]]&lt;br /&gt;
# [[Upgrading Moodle]]&lt;br /&gt;
&lt;br /&gt;
==Step-by-Step Installation Guides==&lt;br /&gt;
&lt;br /&gt;
If the Installation information above is not enough to guide you through the process, here are some detailed installation guides for different operating systems:&lt;br /&gt;
&lt;br /&gt;
# [[Step by Step Installation Guide for Windows]]&lt;br /&gt;
# [[Step by Step Installation Guide for RedHat]]&lt;br /&gt;
# [[Step by Step Installation Guide for Debian GNU/Linux]]&lt;br /&gt;
# [[Step by Step Installation Guide for Mac OS X]]&lt;br /&gt;
# [[Step by Step Installation Guide for IIS]]&lt;br /&gt;
# [[Step by Step Installation Guide for FreeBSD]]&lt;br /&gt;
&lt;br /&gt;
==Other info for administrators==&lt;br /&gt;
&lt;br /&gt;
# [[admin/blocks|Configuring Blocks]] *&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Installing_Moodle&amp;diff=2548</id>
		<title>Installing Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Installing_Moodle&amp;diff=2548"/>
		<updated>2005-09-15T12:14:07Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: categorized&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Don&#039;t panic! :-)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This guide explains how to install Moodle for the first time. For some of these steps it goes into a lot of detail to try and cover the majority of possible web server setups, so this document may look long and complicated. Don&#039;t panic, once you know how to do it you can install Moodle in minutes!&lt;br /&gt;
&lt;br /&gt;
If you have problems please read this document carefully - most common issues are answered in here. If you still have trouble, you can seek help from [http://moodle.org/course/view.php?id=5 Moodle Help]&lt;br /&gt;
&lt;br /&gt;
Another option is to contact a [http://moodle.com/hosting/ web hosting company] who can completely maintain Moodle for you, so that you can ignore all this and get straight into educating!&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Moodle is primarily developed in Linux using Apache, MySQL and PHP (also sometimes known as the LAMP platform), but is also regularly tested with PostgreSQL and on Windows XP, Mac OS X and Netware 6 operating systems&lt;br /&gt;
&lt;br /&gt;
The requirements for Moodle are as follows:&lt;br /&gt;
&lt;br /&gt;
# Web server software. Most people use [http://www.apache.org/ Apache], but Moodle should work fine under any web server that supports PHP, such as IIS on Windows platforms.&lt;br /&gt;
# [http://www.php.net/ PHP] scripting language (version 4.1.0 or later). PHP 5 is supported as of Moodle 1.4.&lt;br /&gt;
# a working database server: [http://www.mysql.com/ MySQL] or [http://www.postgresql.org/ PostgreSQL] are completely supported and recommended for use with Moodle. MySQL is &#039;&#039;&#039;the&#039;&#039;&#039; choice for many people because it is very popular, but there are some [[arguments in favour of PostgreSQL]], especially if you are planning a large deployment.&lt;br /&gt;
&lt;br /&gt;
Most web hosts support all of this by default. If you are signed up with one of the few webhosts that does not support these features ask them why, and consider taking your business elsewhere.&lt;br /&gt;
&lt;br /&gt;
If you want to run Moodle on your own computer and all this looks a bit daunting, then please see our guide: [[Installing Apache, MySQL and PHP]]. It provides some step-by-step instructions to install all this on most popular platforms.&lt;br /&gt;
&lt;br /&gt;
== Download and copy files into place ==&lt;br /&gt;
&lt;br /&gt;
There are two ways to get Moodle, as a compressed package or via CVS. These are explained in detail on the download page: http://moodle.org/download/&lt;br /&gt;
&lt;br /&gt;
After downloading and unpacking the archive, or checking out the files via CVS, you will be left with a directory called &amp;quot;moodle&amp;quot;, containing a number of files and folders.&lt;br /&gt;
&lt;br /&gt;
You can either place the whole folder in your web server documents directory, in which case the site will be located at &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourwebserver.com/moodle&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;, or you can copy all the contents straight into the main web server documents directory, in which case the site will be simply &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourwebserver.com&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you are downloading Moodle to your local computer and then uploading it to your web site, it is usually better to upload the whole archive as one file, and then do the unpacking on the server. Even web hosting interfaces like Cpanel allow you to uncompress archives in the &amp;quot;File Manager&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Site structure ==&lt;br /&gt;
&lt;br /&gt;
You can safely skip this section, but here is a quick summary of the contents of the Moodle folder, to help get you oriented:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;config.php&#039;&#039;&#039; - contains basic settings. This file does not come with Moodle - you will create it.&lt;br /&gt;
* &#039;&#039;&#039;install.php&#039;&#039;&#039; - the script you will run to create config.php&lt;br /&gt;
* &#039;&#039;&#039;version.php&#039;&#039;&#039; - defines the current version of Moodle code&lt;br /&gt;
* &#039;&#039;&#039;index.php&#039;&#039;&#039; - the front page of the site&lt;br /&gt;
* &#039;&#039;&#039;admin/&#039;&#039;&#039; - code to administrate the whole server&lt;br /&gt;
* &#039;&#039;&#039;auth/&#039;&#039;&#039; - plugin modules to authenticate users&lt;br /&gt;
* &#039;&#039;&#039;blocks/&#039;&#039;&#039; - plugin modules for the little side blocks on many pages&lt;br /&gt;
* &#039;&#039;&#039;calendar/&#039;&#039;&#039; - all the code for managing and displaying calendars&lt;br /&gt;
* &#039;&#039;&#039;course/&#039;&#039;&#039; - code to display and manage courses&lt;br /&gt;
* &#039;&#039;&#039;doc/&#039;&#039;&#039; - help documentation for Moodle (eg this page)&lt;br /&gt;
* &#039;&#039;&#039;files/&#039;&#039;&#039; - code to display and manage uploaded files&lt;br /&gt;
* &#039;&#039;&#039;lang/&#039;&#039;&#039; - texts in different languages, one directory per language&lt;br /&gt;
* &#039;&#039;&#039;lib/&#039;&#039;&#039; - libraries of core Moodle code&lt;br /&gt;
* &#039;&#039;&#039;login/&#039;&#039;&#039; - code to handle login and account creation&lt;br /&gt;
* &#039;&#039;&#039;mod/&#039;&#039;&#039; - all the main Moodle course modules are in here&lt;br /&gt;
* &#039;&#039;&#039;pix/&#039;&#039;&#039; - generic site graphics&lt;br /&gt;
* &#039;&#039;&#039;theme/&#039;&#039;&#039; - theme packs/skins to change the look of the site.&lt;br /&gt;
* &#039;&#039;&#039;user/&#039;&#039;&#039; - code to display and manage users&lt;br /&gt;
&lt;br /&gt;
== Run the installer script to create config.php ==&lt;br /&gt;
&lt;br /&gt;
To run the installer script (install.php), just try to access your Moodle main URL using a web browser, or access &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://yourserver/install.php&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; directly.&lt;br /&gt;
&lt;br /&gt;
(The Installer will try to set a session cookie. If you get a popup warning in your browser make sure you accept that cookie!)&lt;br /&gt;
&lt;br /&gt;
Moodle will detect that configuration is necessary and will lead you through some screens to help you create a new configuration file called &#039;&#039;&#039;config.php&#039;&#039;&#039;. At the end of the process Moodle will try and write the file into the right location, otherwise you can press a button to download it from the installer and then upload &#039;&#039;&#039;config.php&#039;&#039;&#039; into the main Moodle directory on the server.&lt;br /&gt;
&lt;br /&gt;
Along the way the installer will test your server environment and give you suggestions about how to fix any problems. For most common issues these suggestions should be sufficient, but if you get stuck, look below for more information about some of common things that might be holding you up. &lt;br /&gt;
&lt;br /&gt;
=== Check web server settings ===&lt;br /&gt;
&lt;br /&gt;
Firstly, make sure that your web server is set up to use index.php as a default page (perhaps in addition to index.html, default.htm and so on). In Apache, this is done using a DirectoryIndex parameter in your httpd.conf file. Mine usually looks like this:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;DirectoryIndex&#039;&#039;&#039; index.php index.html index.htm&lt;br /&gt;
&lt;br /&gt;
Just make sure index.php is in the list (and preferably towards the start of the list, for efficiency).&lt;br /&gt;
&lt;br /&gt;
Secondly, &#039;&#039;&#039;if you are using Apache 2&#039;&#039;&#039;, then you should turn on the &#039;&#039;AcceptPathInfo&#039;&#039; variable, which allows scripts to be passed arguments like &amp;lt;nowiki&amp;gt;http://server/file.php/arg1/arg2&amp;lt;/nowiki&amp;gt;. This is essential to allow relative links between your resources, and also provides a performance boost for people using your Moodle web site. You can turn this on by adding these lines to your httpd.conf file.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;AcceptPathInfo&#039;&#039;&#039; on&lt;br /&gt;
&lt;br /&gt;
Thirdly, Moodle requires a number of PHP settings to be active for it to work. &#039;&#039;&#039;On most servers these will already be the default settings&#039;&#039;&#039;.  However, some PHP servers (and some of the more recent PHP versions) may have things set differently. These are defined in PHP&#039;s configuration file (usually called &#039;&#039;&#039;php.ini&#039;&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
 magic_quotes_gpc = 1    (preferred but not necessary)&lt;br /&gt;
 magic_quotes_runtime = 0    (necessary)&lt;br /&gt;
 file_uploads = 1&lt;br /&gt;
 session.auto_start = 0&lt;br /&gt;
 session.bug_compat_warn = 0&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t have access to &#039;&#039;&#039;httpd.conf&#039;&#039;&#039; or &#039;&#039;&#039;php.ini&#039;&#039;&#039; on your server, or you have Moodle on a server with other applications that require different settings, then don&#039;t worry, you can often still OVERRIDE the default settings.&lt;br /&gt;
&lt;br /&gt;
To do this, you need to create a file called &#039;&#039;&#039;.htaccess&#039;&#039;&#039; in Moodle&#039;s main directory that contains lines like the following. This only works on Apache servers and only when Overrides have been allowed in the main configuration.&lt;br /&gt;
&lt;br /&gt;
 DirectoryIndex index.php index.html index.htm&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;IfDefine APACHE2&amp;gt;&lt;br /&gt;
     &#039;&#039;&#039;AcceptPathInfo&#039;&#039;&#039; on&lt;br /&gt;
 &amp;lt;/IfDefine&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 php_flag magic_quotes_gpc 1&lt;br /&gt;
 php_flag magic_quotes_runtime 0&lt;br /&gt;
 php_flag file_uploads 1&lt;br /&gt;
 php_flag session.auto_start 0&lt;br /&gt;
 php_flag session.bug_compat_warn 0&lt;br /&gt;
&lt;br /&gt;
You can also do things like define the maximum size for uploaded files:&lt;br /&gt;
&lt;br /&gt;
 LimitRequestBody 0&lt;br /&gt;
 php_value upload_max_filesize 2M&lt;br /&gt;
 php_value post_max_size 2M&lt;br /&gt;
     &lt;br /&gt;
The easiest thing to do is just copy the sample file from lib/htaccess and edit it to suit your needs. It contains further instructions. For example, in a Unix shell:&lt;br /&gt;
&lt;br /&gt;
 cp lib/htaccess .htaccess&lt;br /&gt;
&lt;br /&gt;
=== Creating a database ===&lt;br /&gt;
&lt;br /&gt;
You need to create an empty database (eg &amp;quot;&#039;&#039;moodle&#039;&#039;&amp;quot;) in your database system along with a special user (eg &amp;quot;moodleuser&amp;quot;) that has access to that database (and that database only). You could use the &amp;quot;root&amp;quot; user if you wanted to for a test server, but this is not recommended for a production system: if hackers manage to discover the password then your whole database system would be at risk, rather than just one database.&lt;br /&gt;
&lt;br /&gt;
If you are using a webhost, they will probably have a control panel web interface for you to create your database.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Cpanel&#039;&#039;&#039; system is one of the most popular of these. To create a database in Cpanel,&lt;br /&gt;
&lt;br /&gt;
# Click on the &amp;quot;&#039;&#039;&#039;MySQL Databases&#039;&#039;&#039;&amp;quot; icon.&lt;br /&gt;
# Type &amp;quot;moodle&amp;quot; in the database field and click &amp;quot;&#039;&#039;&#039;Add Database&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
# Type a username and password (not one you use elsewhere) in the respective fields and click &amp;quot;&#039;&#039;&#039;Add User&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
# Now use the &amp;quot;&#039;&#039;&#039;Add User to Database&#039;&#039;&#039;&amp;quot; button to give this new user account &amp;quot;&#039;&#039;&#039;ALL&#039;&#039;&#039;&amp;quot; rights to the new database.&lt;br /&gt;
# Note that the username and database names may be prefixed by your Cpanel account name. When entering this information into the Moodle installer - use the full names.&lt;br /&gt;
&lt;br /&gt;
If you have access to Unix command lines then you can do the same sort of thing by typing commands.&lt;br /&gt;
&lt;br /&gt;
Here are some example Unix command lines for MySQL:&lt;br /&gt;
&lt;br /&gt;
   # mysql -u root -p&lt;br /&gt;
   &amp;gt; CREATE DATABASE moodle; &lt;br /&gt;
   &amp;gt; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.* &lt;br /&gt;
           TO moodleuser@localhost IDENTIFIED BY &#039;yourpassword&#039;; &lt;br /&gt;
   &amp;gt; quit &lt;br /&gt;
   # mysqladmin -p reload&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
And some example command lines for PostgreSQL:&lt;br /&gt;
&lt;br /&gt;
   # su - postgres&lt;br /&gt;
   &amp;gt; psql -c &amp;quot;create user moodleuser createdb;&amp;quot; template1&lt;br /&gt;
   &amp;gt; psql -c &amp;quot;create database moodle;&amp;quot; -U moodleuser template1&lt;br /&gt;
   &amp;gt; psql -c &amp;quot;alter user moodleuser nocreatedb;&amp;quot; template1&lt;br /&gt;
&lt;br /&gt;
=== Creating a data directory ===&lt;br /&gt;
&lt;br /&gt;
Moodle will also need some space on your server&#039;s hard disk to store uploaded files, such as course documents and user pictures.&lt;br /&gt;
&lt;br /&gt;
The Moodle installer tries hard to create this directory for you but if it fails then you will have to create a directory for this purpose manually.&lt;br /&gt;
&lt;br /&gt;
For security, it&#039;s best that this directory is NOT accessible directly via the web. The easiest way to do this is to simply locate it OUTSIDE the web directory, but if you must have it in the web directory then protect it by creating a file in the data directory called .htaccess, containing this line:&lt;br /&gt;
&lt;br /&gt;
 deny from all&lt;br /&gt;
&lt;br /&gt;
To make sure that Moodle can save uploaded files in this directory, check that the web server software (eg Apache) has permission to read, write and execute in this directory.&lt;br /&gt;
&lt;br /&gt;
On Unix machines, this means setting the owner of the directory to be something like &amp;quot;nobody&amp;quot; or &amp;quot;apache&amp;quot;, and then giving that user read, write and execute permissions.&lt;br /&gt;
&lt;br /&gt;
On Cpanel systems you can use the &amp;quot;File Manager&amp;quot; to find the folder, click on it, then choose &amp;quot;Change Permissions&amp;quot;. On many shared hosting servers, you will probably need to restrict all file access to your &amp;quot;group&amp;quot; (to prevent other webhost customers from looking at or changing your files), but provide full read/write access to everyone else (which will allow the web server to access your files).&lt;br /&gt;
&lt;br /&gt;
Speak to your server administrator if you are having trouble setting this up securely. In particular some sites that use a PHP feature known as &amp;quot;Safe Mode&amp;quot; may &#039;&#039;require&#039;&#039; the administrator to create this directory properly for you.&lt;br /&gt;
&lt;br /&gt;
== Go to the admin page to continue configuration ==&lt;br /&gt;
&lt;br /&gt;
Once the basic config.php has been correctly created in the previous step, trying to access the front page of your site will take you the &amp;quot;admin&amp;quot; page for the rest of the configuration.&lt;br /&gt;
&lt;br /&gt;
The first time you access this admin page, you will be presented with a GPL &amp;quot;shrinkwrap&amp;quot; agreement with which you must agree before you can continue with the setup.&lt;br /&gt;
&lt;br /&gt;
Now Moodle will start setting up your database and creating tables to store data. Firstly, the main database tables are created. You should see a number of SQL statements followed by status messages (in green or red) that look like this:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category int(10) unsigned NOT NULL default &#039;0&#039;, password varchar(50) NOT NULL default &#039;&#039;, fullname varchar(254) NOT NULL default &#039;&#039;, shortname varchar(15) NOT NULL default &#039;&#039;, summary text NOT NULL, format tinyint(4) NOT NULL default &#039;1&#039;, teacher varchar(100) NOT NULL default &#039;Teacher&#039;, startdate int(10) unsigned NOT NULL default &#039;0&#039;, enddate int(10) unsigned NOT NULL default &#039;0&#039;, timemodified int(10) unsigned NOT NULL default &#039;0&#039;, PRIMARY KEY (id)) TYPE=MyISAM&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;SUCCESS&amp;lt;/font&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
...and so on, followed by: &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;Main databases set up successfully.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t see these, then there must have been some problem with the database or the configuration settings you defined in config.php. Check that PHP isn&#039;t in a restricted &amp;quot;Safe Mode&amp;quot; (commercial web hosts sometimes have safe mode turned on). You can check PHP variables by creating a little file containing &#039;&#039;&#039;&amp;lt;?php phpinfo() ?&amp;gt;&#039;&#039;&#039; and looking at it through a browser. Check all these and try this page again.&lt;br /&gt;
&lt;br /&gt;
Scroll down the very bottom of the page and press the &amp;quot;Continue&amp;quot; link.&lt;br /&gt;
&lt;br /&gt;
You should now see a form where you can define more configuration variables for your installation, such as the default language, SMTP hosts and so on. Don&#039;t worry too much about getting everything right just now - you can always come back and edit these later on using the admin interface. The defaults are designed to be useful and secure for most sites. Scroll down to the bottom and click &amp;quot;Save changes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If (and only if) you find yourself getting stuck on this page, unable to continue, then your server probably has what I call the &amp;quot;buggy referrer&amp;quot; problem. This is easy to fix: just turn off the &amp;quot;secureforms&amp;quot; setting, then try to continue again.&lt;br /&gt;
&lt;br /&gt;
Next you will see more pages that print lots of status messages as they set up all the tables required by the various Moodle module. As before, they should all be &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;green&amp;lt;/font&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Scroll down the very bottom of the page and press the &amp;quot;Continue&amp;quot; link.&lt;br /&gt;
&lt;br /&gt;
The next page is a form where you can define parameters for your Moodle site and the front page, such as the name, format, description and so on. Fill this out (you can always come back and change these later) and then press &amp;quot;Save changes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Finally, you will then be asked to create a top-level administration user for future access to the admin pages. Fill out the details with your own name, email etc and then click &amp;quot;Save changes&amp;quot;. Not all the fields are required, but if you miss any important fields you&#039;ll be re-prompted for them.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Make sure you remember the username and password you chose for the administration user account, as they will be necessary to access the administration page in future.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(If for any reason your install is interrupted, or there is a system error of some kind that prevents you from logging in using the admin account, you can usually log in using the default username of &amp;quot;&#039;&#039;&#039;admin&#039;&#039;&#039;&amp;quot;, with password &amp;quot;&#039;&#039;&#039;admin&#039;&#039;&#039;&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
Once successful, you will be returned to the home page of your new site! Note the administration links that appear down the left hand side of the page (these items also appear on a separate Admin page) - these items are only visible to you because you are logged in as the admin user. All your further administration of Moodle can now be done using this menu, such as:&lt;br /&gt;
&lt;br /&gt;
* creating and deleting courses&lt;br /&gt;
* creating and editing user accounts&lt;br /&gt;
* administering teacher accounts&lt;br /&gt;
* changing site-wide settings like themes etc&lt;br /&gt;
&lt;br /&gt;
But you are not done installing yet! There is one very important thing still to do (see the next section on cron).&lt;br /&gt;
&lt;br /&gt;
== Set up cron ==&lt;br /&gt;
&lt;br /&gt;
Some of Moodle&#039;s modules require continual checks to perform tasks. For example, Moodle needs to check the discussion forums so it can mail out copies of posts to people who have subscribed.&lt;br /&gt;
&lt;br /&gt;
The script that does all this is located in the admin directory, and is called cron.php. However, it can not run itself, so you need to set up a mechanism where this script is run regularly (eg every five or ten minutes). This provides a &amp;quot;heartbeat&amp;quot; so that the script can perform functions at periods defined by each module. This kind of regular mechanism is known as a &#039;&#039;&#039;cron service&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note that the machine performing the cron &#039;&#039;&#039;does not need to be the same machine that is running Moodle&#039;&#039;&#039;. For example, if you have a limited web hosting service that does not have a cron service, then you can might choose to run cron on another server or on your home computer. All that matters is that the cron.php file is called regularly.&lt;br /&gt;
&lt;br /&gt;
The load of this script is not very high, so 5 minutes is usually reasonable, but if you&#039;re worried about it you can reduce the time period to something like 15 minutes or even 30 minutes. It&#039;s best not to make the time period too long, as delaying mail-outs can slow down activity within the course.&lt;br /&gt;
&lt;br /&gt;
First, test that the script works by running it directly from your browser: &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://example.com/moodle/admin/cron.php&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now, you need to set up some of way of running the script automatically and regularly.&lt;br /&gt;
&lt;br /&gt;
=== On Windows systems ===&lt;br /&gt;
&lt;br /&gt;
The simplest way is to use this little package [http://moodle.org/download/modules/moodle-cron-for-windows.zip moodle-cron-for-windows.zip] which makes this whole thing very easy by installing a small Windows service. Run it and forget about it! :-)&lt;br /&gt;
&lt;br /&gt;
=== On web hosting services ===&lt;br /&gt;
&lt;br /&gt;
Your web-based control panel may have a web page that allows you to set up this cron process. For example, on Cpanel system, look for a button called &amp;quot;Cron jobs&amp;quot;. In there you can put the same sort of Unix commands as listed below.&lt;br /&gt;
&lt;br /&gt;
=== Using the command line on Unix ===&lt;br /&gt;
&lt;br /&gt;
There are different command line programs you can use to call the page from the command line. Not all of them may be available on a given server.&lt;br /&gt;
&lt;br /&gt;
For example, you can use a Unix utility like &#039;wget&#039;:&lt;br /&gt;
&lt;br /&gt;
 wget -q -O /dev/null &amp;lt;nowiki&amp;gt;http://example.com/moodle/admin/cron.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note in this example that the output is thrown away (to /dev/null).&lt;br /&gt;
&lt;br /&gt;
The same thing using lynx:&lt;br /&gt;
&lt;br /&gt;
 lynx -dump &amp;lt;nowiki&amp;gt;http://example.com/moodle/admin/cron.php&amp;lt;/nowiki&amp;gt; &amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
Alternatively you could use a standalone version of PHP, compiled to be run on the command line. The advantage with doing this is that your web server logs aren&#039;t filled with constant requests to cron.php. The disadvantage is that you need to have access to a command-line version of php.&lt;br /&gt;
&lt;br /&gt;
 /opt/bin/php /web/moodle/admin/cron.php&lt;br /&gt;
&lt;br /&gt;
=== Using the crontab program on Unix ===&lt;br /&gt;
&lt;br /&gt;
All that Cpanel does is provide a web interface to a Unix utility known as crontab. If you have a command line, you can set up crontab yourself using the command:&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
&lt;br /&gt;
and then adding one of the above commands like:&lt;br /&gt;
&lt;br /&gt;
 */5 * * * * wget -q -O /dev/null &amp;lt;nowiki&amp;gt;http://example.com/moodle/admin/cron.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Usually, the &amp;quot;crontab&amp;quot; command will put you into the &#039;vi&#039; editor. You enter &amp;quot;insert mode&amp;quot; by pressing &amp;quot;i&amp;quot;, then type in the line as above, then exit insert mode by pressing ESC. You save and exit by typing &amp;quot;:wq&amp;quot;, or quit without saving using &amp;quot;:q!&amp;quot; (without the quotes).&lt;br /&gt;
&lt;br /&gt;
== Create a new course ==&lt;br /&gt;
&lt;br /&gt;
Now that Moodle is running properly, you can try creating a new course to play with.&lt;br /&gt;
&lt;br /&gt;
Select &amp;quot;Create a new course&amp;quot; from the Admin page (or the admin links on the home page).&lt;br /&gt;
&lt;br /&gt;
Fill out the form, paying special attention to the course format. You don&#039;t have to worry about the details too much at this stage, as everything can be changed later by the teacher. Note that the yellow help icons are everywhere to provide contextual help on any aspect.&lt;br /&gt;
&lt;br /&gt;
Press &amp;quot;Save changes&amp;quot;, and you will be taken to a new form where you can assign teachers to the course. You can only add existing user accounts from this form - if you want to create a new teacher account then either ask the teacher to create one for themselves (see the login page), or create one for them using the &amp;quot;Add a new user&amp;quot; on the Admin page.&lt;br /&gt;
&lt;br /&gt;
Once done, the course is ready to customise, and is accessible via the &amp;quot;Courses&amp;quot; link on the home page.&lt;br /&gt;
&lt;br /&gt;
See the &amp;quot;[[Documentation_for_Teachers]]&amp;quot; for more details on course-building.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&#039;&#039;&#039;Happy exploring and happy Moodling!&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&#039;&#039;&#039;If you like Moodle, please consider [http://moodle.org/donations/ donating] to help us cover our costs!&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Installing_AMP&amp;diff=2547</id>
		<title>Installing AMP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Installing_AMP&amp;diff=2547"/>
		<updated>2005-09-15T12:13:56Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: categorized&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moodle is written in a scripting language called PHP, and stores most of its data in a database. The database we recommend is MySQL. Before installing Moodle you must have a working PHP installation and a working database to turn your computer into a functional web server platform. These packages can be tricky to set up for average computer users, so this page has been written to try to make this process as simple as possible for different platforms:&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Hosting Service ==&lt;br /&gt;
&lt;br /&gt;
Unfortunately hosting services vary quite a lot in the way they work. Some will even install Moodle for you.&lt;br /&gt;
&lt;br /&gt;
Most will offer a web-based control panel to control your site, create databases and set up cron. Some may also offer terminal access via ssh, so that you can use the command shell to do things.&lt;br /&gt;
&lt;br /&gt;
You should work your way through the [[Installing Moodle|Installation guide]] and take each step at a time. Ask your hosting provider if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to do this is use the Apache server that Apple provides, and add PHP and MySQL using Marc Liyanage&#039;s packages. Both of the pages below come with good instructions that we won&#039;t duplicate here:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;PHP&#039;&#039;&#039;: Download from here: http://www.entropy.ch/software/macosx/php/&lt;br /&gt;
* &#039;&#039;&#039;MySQL&#039;&#039;&#039;: Download here: http://www.entropy.ch/software/macosx/mysql/&lt;br /&gt;
&lt;br /&gt;
Once these are installed the standard [[Installing Moodle|Installation guide]] should be fairly straightforward.&lt;br /&gt;
&lt;br /&gt;
A more detailed walkthrough is here: [[Step by Step Installation Guide for Mac OS X]]&lt;br /&gt;
&lt;br /&gt;
== Redhat Linux ==&lt;br /&gt;
&lt;br /&gt;
You should install all available RPM packages for Apache, PHP and MySQL. One package that people frequently forget is the php-mysql package which is necessary for PHP to talk to MySQL.&lt;br /&gt;
&lt;br /&gt;
Once these are installed the standard [[Installing Moodle|Installation guide]] should be fairly straightforward.&lt;br /&gt;
&lt;br /&gt;
A more detailed walkthrough is here: [[Step by Step Installation Guide for RedHat]]&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to do this is use EasyPHP, a package that bundles all the software you need into a single Windows application. Here are the steps from start to finish: [[Step_by_Step_Installation_Guide_for_Windows]].&lt;br /&gt;
Easy PHP is available in French language&lt;br /&gt;
So u peolpe better get urself brushed up with the language&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Installation_FAQ&amp;diff=2546</id>
		<title>Installation FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Installation_FAQ&amp;diff=2546"/>
		<updated>2005-09-15T12:13:54Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: categorized&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains answers to some of the most frequently asked questions by people installing Moodle. If you have followed the [[Installing_Moodle|installation instructions]] but you still have a problem, then this page is probably the best place to be.&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t find your answer here try the [http://moodle.org/mod/forum/index.php?id=5 Using Moodle] course on moodle.org. Start by searching the forums using a few keywords, in case your problem has already been discussed. If you don&#039;t find anything, then try posting your question into the appropriate forum - somebody will usually be able to help you.&lt;br /&gt;
&lt;br /&gt;
If you have tried a number of solutions without resolving an issue, and you are running behind a firewall, it may be advisable to try re-configuring your firewall to ensure that it is not blocking a required function or necessary communication. Firewalls very rarely cause problems with Moodle but are occasionally responsible for reduced functionality due to a mis-configuration in the firewall settings.&lt;br /&gt;
&lt;br /&gt;
Use this list to jump to the appropriate answer below:&lt;br /&gt;
&lt;br /&gt;
== Whenever I try to access or view a file that I uploaded, I get an error &amp;quot;File not Found&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
For example: Not Found: The requested URL /moodle/file.php/2/myfile.jpg was not found on this server.&lt;br /&gt;
&lt;br /&gt;
Your web server needs to be configured to allow the part of the URL after a script name to be passed directly to the script. This is usually enabled in Apache 1, but is usually disabled by default in Apache 2. To turn it on, add this line to your &#039;&#039;&#039;httpd.conf&#039;&#039;&#039;, or to a &#039;&#039;&#039;.htaccess&#039;&#039;&#039; file in your local directory (see the [[Installing_Moodle#Check_web_server_settings|Install documentation]] for more details):&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;AcceptPathInfo&#039;&#039;&#039; on&lt;br /&gt;
&lt;br /&gt;
Note, this will ONLY work for Apache versions 2.x.&lt;br /&gt;
&lt;br /&gt;
If you are not using Apache 2 and you still have this problem (unlikely) then you can switch Moodle to use an alternative method. The disadvantages are a slight loss of performance for your users and you won&#039;t be able to use relative links within HTML resources.&lt;br /&gt;
&lt;br /&gt;
To use this alternative method: login as Admin, go into the &amp;quot;Configure Variables&amp;quot; page and change the setting for &amp;quot;&#039;&#039;&#039;slasharguments&#039;&#039;&#039;&amp;quot;. You should now be able to access your uploaded files.&lt;br /&gt;
&lt;br /&gt;
== PHP - is it installed and what version do I have? ==&lt;br /&gt;
&lt;br /&gt;
Make a new file on your web site called info.php, containing the following text, and call it from your browser:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?PHP phpinfo() ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If nothing happens then you don&#039;t have PHP installed. See the installation docs for some information about where to download it for your computer.&lt;br /&gt;
&lt;br /&gt;
== Why are all my pages blank? ==&lt;br /&gt;
&lt;br /&gt;
Check the dirroot variable in config.php. You must use complete, absolute pathnames, eg:&lt;br /&gt;
&lt;br /&gt;
 $CFG-&amp;gt;dirroot = &amp;quot;d:\inetpub\sites\www.yoursite.com\web\moodle&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Redhat Linux platform please see: [[Installing_Apache%2C_MySQL_and_PHP#Redhat_Linux|Redhat Linux]]&lt;br /&gt;
&lt;br /&gt;
== My pages show fatal errors such as : call to undefined function: get_string() ==&lt;br /&gt;
&lt;br /&gt;
If you see errors like:&lt;br /&gt;
&lt;br /&gt;
 Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp\www\moodle\config.php on line 94&lt;br /&gt;
 Fatal error: Call to undefined function: get_string() in c:\program files\easyphp\www\moodle\mod\resource\lib.php on line 11&lt;br /&gt;
&lt;br /&gt;
then it&#039;s likely you have left out a semi-colon or ending quote from a line in config.php (previous to line 94).&lt;br /&gt;
&lt;br /&gt;
Another reason could be that you have opened config.php in a program like Word to edit it, and saved it as a HTML web page, instead of a proper text file.&lt;br /&gt;
&lt;br /&gt;
== Why do I keep getting error messages about &amp;quot;headers already sent&amp;quot;? ==&lt;br /&gt;
&lt;br /&gt;
If you see errors like this:&lt;br /&gt;
&lt;br /&gt;
 Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1322&lt;br /&gt;
 Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1323&lt;br /&gt;
 Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/login/index.php on line 54&lt;br /&gt;
&lt;br /&gt;
you have blank lines or spaces after the final ?&amp;gt; in your config.php file. Sometimes text editors add these - for example Notepad on Windows - so you may have to try a different text editor to remove these spaces or blank lines completely.&lt;br /&gt;
&lt;br /&gt;
== I keep getting this error: Failed opening required &#039;/web/moodle/lib/setup.php&#039; ==&lt;br /&gt;
&lt;br /&gt;
In your config.php, the setting that you use for the dirroot variable must be the &#039;&#039;&#039;complete path from the root of your server&#039;s hard drive&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Sometimes people only use the path from their home directory, or relative to the root of the web server directory.&lt;br /&gt;
&lt;br /&gt;
== Any text I add with an apostrophe (&#039;) or a quote (&amp;quot;) causes errors or comes up with a slash added ==&lt;br /&gt;
&lt;br /&gt;
Problems caused by apostrophes are caused by incorrect &amp;quot;magic quotes&amp;quot; settings. Moodle requires the following settings (which are usually the default):&lt;br /&gt;
&lt;br /&gt;
 magic_quotes_gpc = On&lt;br /&gt;
 magic_quotes_runtime = Off&lt;br /&gt;
&lt;br /&gt;
See the section on [[Installing_Moodle#Check_web_server_settings|webserver configuration]] in the Installation docs for more details.&lt;br /&gt;
&lt;br /&gt;
== I keep getting error messages about session_start ==&lt;br /&gt;
&lt;br /&gt;
If you see errors like this:&lt;br /&gt;
&lt;br /&gt;
 Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123&lt;br /&gt;
 Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123&lt;br /&gt;
 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\web\moodle\lib\setup.php:1) in G:\web\moodle\lib\setup.php on line 123&lt;br /&gt;
&lt;br /&gt;
... these are all related to the fact that PHP is failing to save &amp;quot;session&amp;quot; files on your hard disk (in a directory called /tmp). Usually the reason is that you don&#039;t HAVE a directory called /tmp on your computer. This is usually the case with Windows installations.&lt;br /&gt;
&lt;br /&gt;
The solution is to fix the PHP setting for this path to point to a real directory. You can do this in your php.ini file:&lt;br /&gt;
&lt;br /&gt;
 session.save_path = C:\temp&lt;br /&gt;
&lt;br /&gt;
or otherwise in a .htaccess file in your main moodle directory:&lt;br /&gt;
&lt;br /&gt;
 php_value session.save_path &amp;quot;/home/moodle/sessions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== When I go to the admin page, I get told to make dirroot blank! ==&lt;br /&gt;
&lt;br /&gt;
If you see errors like this in Moodle 1.0.9:&lt;br /&gt;
&lt;br /&gt;
 Please fix your settings in config.php:&lt;br /&gt;
 You have:&lt;br /&gt;
 $CFG-&amp;gt;dirroot = &amp;quot;/home/users/fred/public_html/moodle&amp;quot;;&lt;br /&gt;
 but it should be:&lt;br /&gt;
 $CFG-&amp;gt;dirroot = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
then you have encountered a small bug that occurs on some servers. The problem is with the error-checking mechanism, not with your actual path. To fix it, find this line (line 66) in the file admin/index.php:&lt;br /&gt;
&lt;br /&gt;
 if ($dirroot != $CFG-&amp;gt;dirroot) {&lt;br /&gt;
&lt;br /&gt;
and change it to this:&lt;br /&gt;
&lt;br /&gt;
 if (!empty($dirroot) and $dirroot != $CFG-&amp;gt;dirroot) {&lt;br /&gt;
&lt;br /&gt;
== I login but the login link doesn&#039;t change. I am logged in and can navigate freely. ==&lt;br /&gt;
&lt;br /&gt;
Make sure the URL in your $CFG-&amp;gt;wwwroot setting is exactly the same as the one you are actually using to access the site.&lt;br /&gt;
&lt;br /&gt;
== When trying to add a resource I receive error messages. ==&lt;br /&gt;
&lt;br /&gt;
Assuming you are using Apache, then it&#039;s quite likely that your setting in config.php for $CFG-&amp;gt;wwwroot is different from the actual URL you are using to access the site. Also try turning off &amp;quot;&#039;&#039;&#039;secureforms&#039;&#039;&#039;&amp;quot; in the admin settings.&lt;br /&gt;
&lt;br /&gt;
== During the initial setting-up process, I never get asked to create an admin account! ==&lt;br /&gt;
&lt;br /&gt;
This is a known bug in versions of Moodle up to 1.0.9, now fixed in the main code and version 1.1.&lt;br /&gt;
&lt;br /&gt;
It doesn&#039;t affect all people, it only occurs when the person installing Moodle has a cookie in their browser from another program on the same site, called &amp;quot;user&amp;quot;, &amp;quot;admin&amp;quot;, or &amp;quot;teacher&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Quick fixes include deleting those cookies from your browser before installing, using a different browser, or editing the file moodle/admin/user.php to insert these lines near the top:&lt;br /&gt;
&lt;br /&gt;
 unset($user);&lt;br /&gt;
 unset($admin);&lt;br /&gt;
 unset($teacher);&lt;br /&gt;
&lt;br /&gt;
After performing any of these fixes it might be a good idea to drop all the tables in your database and re-install again from scratch.&lt;br /&gt;
&lt;br /&gt;
== I can&#039;t log in - I just stay stuck on the login screen. ==&lt;br /&gt;
&lt;br /&gt;
The most common cause for this is that your own computer (not your Moodle server) has a firewall that is stripping referrer information from the browser. Here are some instructions for fixing [http://service1.symantec.com/SUPPORT/nip.nsf/46f26a2d6dafb0a788256bc7005c3fa3/b9b47ad7eddd343b88256c6b006a85a8?OpenDocument&amp;amp;src=bar_sch_nam Norton firewall products].&lt;br /&gt;
&lt;br /&gt;
The server admin can also fix this for everyone by editing the Moodle configuration page and changing the variable &amp;quot;&#039;&#039;&#039;secureforms&#039;&#039;&#039;&amp;quot; to &amp;quot;No&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Another possible cause of this problem is that sessions are not configured properly on the server. You can test this by calling the script &amp;lt;nowiki&amp;gt;http://yourserver/moodle/lib/session-test.php&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== How do I backup my whole Moodle site? ==&lt;br /&gt;
&lt;br /&gt;
There are two main things you need to make a copy of: the database and the uploaded files. The Moodle scripts themselves are less important, since you can always download a fresh copy if you have to.&lt;br /&gt;
&lt;br /&gt;
There are many ways to do such backups. Here is an outline of a little script you can run on Unix to backup the database (it works well to have such a script run daily via a cron task&lt;br /&gt;
&lt;br /&gt;
 cd /my/backup/directory&lt;br /&gt;
 mv moodle-database.sql.gz moodle-database-old.sql.gz&lt;br /&gt;
 mysqldump -h example.com -u myusername --password=mypassword -C -Q -e -a mydatabasename &amp;gt; moodle-database.sql&lt;br /&gt;
 gzip moodle-database.sql&lt;br /&gt;
&lt;br /&gt;
For the files, you can use rsync regularly to copy only the changed files to another host:&lt;br /&gt;
&lt;br /&gt;
 rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/&lt;br /&gt;
&lt;br /&gt;
== Why doesn&#039;t my Moodle site display the time &amp;amp; date correctly? ==&lt;br /&gt;
&lt;br /&gt;
Each language requires a specific language code (called a &#039;&#039;&#039;locale&#039;&#039;&#039; code) to allow dates to be displayed correctly. The language packs contain default standard codes, but sometimes these don&#039;t work on Windows servers.&lt;br /&gt;
&lt;br /&gt;
You can find the correct locale codes for Windows on these two pages: [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp Language codes] and [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_country_strings.asp Country/region] codes.(eg &amp;quot;esp_esp&amp;quot; for spanish)&lt;br /&gt;
&lt;br /&gt;
These new locale codes can be entered on the Admin -&amp;gt; Configure -&amp;gt; Variables page, where they override the ones in the currently chosen language pack.&lt;br /&gt;
&lt;br /&gt;
== Email copies are not being sent from my forums ==&lt;br /&gt;
&lt;br /&gt;
You &#039;&#039;&#039;must&#039;&#039;&#039; set up cron properly if you want Moodle to send out automatic email from forums, assignments etc. This same process also performs a number of clean-up tasks such as deleting old unconfirmed users, unenrolling old students and so on.&lt;br /&gt;
&lt;br /&gt;
Basically, you need to set up a process to regularly call the script &amp;lt;nowiki&amp;gt;http://yoursite/admin/cron.php&amp;lt;/nowiki&amp;gt;. Please see [[Installing_Moodle#Set_up_cron|the section on cron in the Installation documentation]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tip:&#039;&#039;&#039; Try the default setting in Moodle variables page. Leave the smtphost blank. This will be acceptable for the majority of users.&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Category:Installation&amp;diff=2545</id>
		<title>Category:Installation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Category:Installation&amp;diff=2545"/>
		<updated>2005-09-15T12:13:38Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages related to Moodle Installation.&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=RedHat_Linux_installation&amp;diff=2544</id>
		<title>RedHat Linux installation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=RedHat_Linux_installation&amp;diff=2544"/>
		<updated>2005-09-15T12:13:20Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: categorized&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note : These instructions apply to RedHat version 8. They have also been found to work for RedHat 9.0 and for Fedora Core 1 and 2. Fedora Core 3 requires the php-gd package in addition to php. I see no reason why they should not work for later versions, but....&lt;br /&gt;
&lt;br /&gt;
FIRST: RTFM!! Please read carefully the Moodle installation documentation at http://moodle.org/doc/?file=install.html&lt;br /&gt;
&lt;br /&gt;
Redhat installation considerations: There are many installation options available when installing Redhat. I assume that you are installing on a server and will have selected a Server type install. There is however no reason why this should not work on a desktop or Workstation installation.&lt;br /&gt;
&lt;br /&gt;
==STEP 1: Make sure you have installed the following packages.==&lt;br /&gt;
(You will need to select the option to customize the default set of packages on installation OR bring up the package manager by putting disk 1 back in the drive for an existing system):&lt;br /&gt;
&lt;br /&gt;
* X Windows System (not vital but easier)&lt;br /&gt;
* Gnome or KDE desktop environment (as above)&lt;br /&gt;
* Server Configuration Tools&lt;br /&gt;
* Web Server&lt;br /&gt;
** Click &amp;quot;Details&amp;quot; and make sure all PHP modules are ticked (except ODBC and PGSQL, they&#039;re not neccesary)&lt;br /&gt;
** make sure not to miss the MYSQL-PHP module (not installed by default)&lt;br /&gt;
* SQL Database&lt;br /&gt;
** Click &amp;quot;Details&amp;quot; and tick MySQL server box&lt;br /&gt;
* Also make sure you set up the firewall. You probably only need to enable HTTP (and perhaps FTP and SSH) access to your server machine, unless you know different.&lt;br /&gt;
&lt;br /&gt;
==STEP 2: Download Moodle...==&lt;br /&gt;
(I will install under /usr/moodle, data in /usr/moodle_data)&lt;br /&gt;
&lt;br /&gt;
* Download your favourite version of Moodle from moodle.org (.zip archive is easiest)&lt;br /&gt;
* as Root create folder under /usr and copy zip&lt;br /&gt;
** su&lt;br /&gt;
** mkdir /usr/moodle&lt;br /&gt;
** mkdir /usr/moodle_data&lt;br /&gt;
** cp moodle_111.zip /usr/moodle&lt;br /&gt;
* If you prefer you can install the CVS version directly for all the latest features. Instead of downloading and copying the zip file..&lt;br /&gt;
** cd /usr/moodle&lt;br /&gt;
** cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/moodle login&lt;br /&gt;
** cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/moodle co moodle&lt;br /&gt;
&lt;br /&gt;
==STEP 3: Unpack and set file permission etc.==&lt;br /&gt;
&lt;br /&gt;
* Still as root we unpack moodle and rename to something appropiate (I have multiple moodle installs, hence this setup). I will call this install mymoodle.&lt;br /&gt;
** cd /usr/moodle&lt;br /&gt;
** unzip moodle_111.zip&lt;br /&gt;
** mv moodle mymoodle&lt;br /&gt;
*** (optional step - I have more than one install under /usr/moodle)&lt;br /&gt;
** mkdir /usr/moodle_data/mymoodle&lt;br /&gt;
*** (same name as the moodle install above)&lt;br /&gt;
** chown -R apache:apache /usr/moodle&lt;br /&gt;
*** (! Giving Apache full rights to your Moodle programs is not secure. Check out the forums for recomendations on how to secure a production environment.)&lt;br /&gt;
** chown -R apache:apache /usr/moodle_data&lt;br /&gt;
&lt;br /&gt;
==STEP 4: Setup config.php==&lt;br /&gt;
&lt;br /&gt;
* Still as root copy and edit the config file, you should know the host/domain name for your server&lt;br /&gt;
** cd /usr/moodle/mymoodle&lt;br /&gt;
** cp config-dist.php config.php&lt;br /&gt;
** vi config.php (or whatever your favourite editor is!)&lt;br /&gt;
* Your config.php settings should be something like...&lt;br /&gt;
** dbtype = &amp;quot;mysql&amp;quot;&lt;br /&gt;
** dbhost = &amp;quot;localhost&amp;quot;&lt;br /&gt;
** dbname = &amp;quot;mymoodle&amp;quot;&lt;br /&gt;
** dbuser = &amp;quot;moodleuser&amp;quot;&lt;br /&gt;
** dbpass = &amp;quot;moodlepass&amp;quot; (&amp;lt;-- better make this something of your own)&lt;br /&gt;
** prefix = &amp;quot;&amp;quot;&lt;br /&gt;
*** (keep the default &#039;mdl_&#039; prefix if you plan on sharing the database with other applications)&lt;br /&gt;
** wwwroot = &amp;quot;http://myhost.mydomain/mymoodle&amp;quot;&lt;br /&gt;
*** (If you only want to try moodle out and will not be accessing it from other machines you can use &amp;quot;http://localhost/mymoodle&amp;quot;)&lt;br /&gt;
** dirroot = &amp;quot;/usr/moodle/mymoodle&amp;quot;&lt;br /&gt;
** dataroot = &amp;quot;/usr/moodle_data/mymoodle&amp;quot;&lt;br /&gt;
* Save your changes and exit from the editor&lt;br /&gt;
&lt;br /&gt;
==STEP 5: Setup MySQL==&lt;br /&gt;
&lt;br /&gt;
* First you need to get the MySQL daemon running, it is not running by default.&lt;br /&gt;
** On the Desktop find and launch &amp;quot;Services&amp;quot; (on KDE and Gnome it&#039;s under System Settings=&amp;gt;Server Settings=&amp;gt;Services, but you might have to hunt around).&lt;br /&gt;
** Tick the box for MySQL and (with it selected) press the Start icon - ensure it starts up&lt;br /&gt;
** Choose &amp;quot;Save Changes&amp;quot; from the menu, and exit the program.&lt;br /&gt;
* If you haven&#039;t yet, as root, change the MySQL root password&lt;br /&gt;
** mysqladmin -u root password mysqlpass (&amp;lt;-- should change this to something of your own)&lt;br /&gt;
* Next, set up the MySQL database (see http://moodle.org/doc/?file=install.html#database for more details)&lt;br /&gt;
* Launch MySQL as root&lt;br /&gt;
** mysql -u root -p&lt;br /&gt;
*** (at the password prompt, enter the password from above)&lt;br /&gt;
* At the &#039;&amp;gt;&#039; MySQL prompt, enter the following commands (MySQL commands are ended with a &#039;;&#039;)&lt;br /&gt;
** CREATE DATABASE mymoodle;&lt;br /&gt;
*** (the name &#039;mymoodle&#039; is the same name as the database from Step 4)&lt;br /&gt;
** GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON mymoodle.*&lt;br /&gt;
*** (as above, &#039;mymoodle&#039; is from Step 4)&lt;br /&gt;
** TO moodleuser@localhost IDENTIFIED BY &#039;moodlepass&#039;;&lt;br /&gt;
*** (&#039;moodleuser&#039; and &#039;moodlepass&#039; are from Step 4)&lt;br /&gt;
** quit&lt;br /&gt;
* Still as root, reload MySQL&lt;br /&gt;
** mysqladmin -p reload&lt;br /&gt;
* (! Consider MySQL security - not covered here. If you run a firewall, you don&#039;t have too much to worry about.)&lt;br /&gt;
&lt;br /&gt;
==STEP 6: Setup Apache==&lt;br /&gt;
&lt;br /&gt;
* Edit the Apache configuration file at /etc/httpd/conf/httpd.conf&lt;br /&gt;
* Right at the end of the file add the following lines: (once again &#039;mymoodle&#039; as from Step 3)&lt;br /&gt;
** &amp;lt;Directory &amp;quot;/usr/moodle/mymoodle&amp;quot;&amp;gt;&lt;br /&gt;
** DirectoryIndex index.php&lt;br /&gt;
** AcceptPathInfo on&lt;br /&gt;
** AllowOverride None&lt;br /&gt;
** Options None&lt;br /&gt;
** Order allow,deny&lt;br /&gt;
** Allow from all&lt;br /&gt;
** &amp;lt;/Directory&amp;gt;&lt;br /&gt;
** Alias /mymoodle &amp;quot;/usr/moodle/mymoodle&amp;quot;&lt;br /&gt;
* Don&#039;t insert a space in &amp;quot;allow,deny&amp;quot; (common mistake!)&lt;br /&gt;
* You might also want to run through the rest of the config file and make some other (obvious) changes - administrator email and suchlike. Not vital though.&lt;br /&gt;
* Run the Services application (same as for Mysql) - tick and start &amp;quot;httpd&amp;quot;, then save changes and exit.&lt;br /&gt;
&lt;br /&gt;
==STEP 7: Set up the cron job.==&lt;br /&gt;
&lt;br /&gt;
* As root user type the command:&lt;br /&gt;
** crontab -e&lt;br /&gt;
* Add the following line (you need to know vi, &#039;o&#039; adds a line in vi):&lt;br /&gt;
** */5 * * * /usr/bin/wget -g -O /dev/null httphttp://localhost/mymoodle/admin/cron.php&lt;br /&gt;
*** (change the URL as appropriate for your site)&lt;br /&gt;
* Save the file and exit (in vi that is &amp;lt;Esc&amp;gt;, then &#039;:wq&#039;)&lt;br /&gt;
&lt;br /&gt;
==THAT&#039;S IT!! Try your new installation...==&lt;br /&gt;
&lt;br /&gt;
http://myhost.mydomain/mymoodle/admin&lt;br /&gt;
&lt;br /&gt;
or, if you are running the browser on the same machine&lt;br /&gt;
&lt;br /&gt;
http://localhost/mymoodle/admin&lt;br /&gt;
&lt;br /&gt;
If anybody tries this and comes unstuck either update this page or contact me at howard.miller@udcf.gla.ac.uk and I will try to help AND make the instructions better :-)&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Windows_installation&amp;diff=2543</id>
		<title>Windows installation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Windows_installation&amp;diff=2543"/>
		<updated>2005-09-15T12:13:07Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: categorized&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The easiest way to do install Apache, PHP and MySQL on Windows is to use EasyPHP, a package that bundles all the software you need into a single Windows application. Here are the steps from start to finish:&lt;br /&gt;
&lt;br /&gt;
# Firstly, if you have ever installed MySQL before (even as part of another package), uninstall it all, delete all the MySQL files and make sure you delete &#039;&#039;&#039;c:\my.cnf&#039;&#039;&#039; and &#039;&#039;&#039;c:\windows\my.ini&#039;&#039;&#039;. You might want to do a search and delete ANY file called &#039;&#039;&#039;my.cnf&#039;&#039;&#039; or &#039;&#039;&#039;my.ini&#039;&#039;&#039;.&lt;br /&gt;
# If you&#039;ve ever installed PHP before delete any files called php4ts.dll from around your Windows directory, as well as any files called php.ini.&lt;br /&gt;
# Download EasyPHP from here: http://www.easyphp.org/telechargements/dn.php?F=easyphp1-7 (approx 10 Mb)&lt;br /&gt;
# Run the downloaded file: &#039;&#039;&#039;easyphp1-7_setup.exe&#039;&#039;&#039;. The installation process is in French but is otherwise much like installing any other Windows program - I advise accepting the defaults and letting it all install. Note that &amp;quot;Suivant&amp;quot; means Next and &amp;quot;Oui&amp;quot; means Yes.&lt;br /&gt;
# At the end of the install leave the checkbox selected to &amp;quot;Lancer EasyPHP&amp;quot; (Start EasyPHP) and hit the &amp;quot;Terminer&amp;quot; button. You might be taken to a information web page which you can safely ignore.&lt;br /&gt;
# If all went well - congratulations! Apache, PHP and MySQL are all installed and running! You should see a black E in your toolbar tray. You can right click on it to get a menu which will let you control the running programs, but you won&#039;t be needing that for now.&lt;br /&gt;
#Some things may be in French and you may prefer English. You can download this file http://www.easyphp.org/telechargements/dn.php?F=indexUS_1.7 which contains English versions of www and home folder in the EasyPHP1-7 folder. These can be copied over the default files.&lt;br /&gt;
#  The next thing you need to do is to set up a database for Moodle to use. Right-click the black E in the toolbar tray and choose Administration, then click DB Management (beside PHPMyAdmin). Alternatively, using a browser, go to http://localhost/mysql/ (note the final slash).&lt;br /&gt;
# If asked for a username, use &amp;quot;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;quot; with a &#039;&#039;&#039;blank password&#039;&#039;&#039;. You should see a phpMyAdmin web interface that allows you to create a new databases and user accounts.&lt;br /&gt;
# Create a new database by typing &amp;quot;moodle&amp;quot; into the field and hitting the &amp;quot;Create&amp;quot; button. That was easy!&lt;br /&gt;
# You can also create a new user to access your database if you want. This can be a bit tricky for a first-time user, so you might just want to use the existing user &amp;quot;root&amp;quot; with no password in your Moodle config for now, and fix this later.&lt;br /&gt;
# You&#039;re ready to install Moodle! Download the latest release of Moodle from http://moodle.org/download, then unzip the archive.&lt;br /&gt;
# Copy your moodle files into &#039;&#039;&#039;C:\Program Files\EasyPHP\www&#039;&#039;&#039;. You can either copy the entire moodle directory (ie &#039;&#039;&#039;C:\Program Files\EasyPHP\www\moodle&#039;&#039;&#039;) or copy all the &#039;&#039;contents&#039;&#039; of the moodle directory. If you choose this second option then you will be able to access your Moodle home page using &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://localhost/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; instead of &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://localhost/moodle/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
# Make a new empty folder somewhere else for Moodle to store uploaded files in, eg: &#039;&#039;&#039;C:\moodledata&#039;&#039;&#039;&lt;br /&gt;
# Go into your Moodle folder. Make a copy of &#039;&#039;&#039;config-dist.php&#039;&#039;&#039;, and call it &#039;&#039;&#039;config.php&#039;&#039;&#039;&lt;br /&gt;
# Edit &#039;&#039;&#039;config.php&#039;&#039;&#039; using a text editor (Notepad will do, just be careful that it doesn&#039;t add unwanted spaces at the end).&lt;br /&gt;
# Put in all your new database info:&lt;br /&gt;
#* $CFG-&amp;gt;dbtype = &#039;mysql&#039;;&lt;br /&gt;
#* $CFG-&amp;gt;dbhost = &#039;localhost&#039;;&lt;br /&gt;
#* $CFG-&amp;gt;dbname = &#039;moodle&#039;;&lt;br /&gt;
#* $CFG-&amp;gt;dbuser = &#039;root&#039;;&lt;br /&gt;
#* $CFG-&amp;gt;dbpass = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;;&lt;br /&gt;
#* $CFG-&amp;gt;dbpersist = true;&lt;br /&gt;
#* $CFG-&amp;gt;prefix = &#039;mdl_&#039;;&lt;br /&gt;
# And put in all your file paths&lt;br /&gt;
#* $CFG-&amp;gt;wwwroot = &#039;http://localhost/moodle&#039;; // Use an external address if you know it.&lt;br /&gt;
#* $CFG-&amp;gt;dirroot = &#039;C:\Program Files\EasyPHP\www\moodle&#039;;&lt;br /&gt;
#* $CFG-&amp;gt;dataroot = &#039;C:\moodledata&#039;;&lt;br /&gt;
#Save config.php - you can ignore the other settings if there are any.&lt;br /&gt;
# You&#039;re nearly there now! The rest of the setup is all web-based. Visit &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://localhost/moodle/admin/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; with your browser to continue the setup via your browser.&lt;br /&gt;
# To use zip files with Moodle (for example the backups use zip) you might need to enable &amp;quot;zlib&amp;quot;. You can do this by going to your EasyPHP directory (C:\Program Files\EasyPHP), and running the program phpini.exe in there. Put a mark in the checkbox next to &amp;quot;zlib.dll&amp;quot;. Close that window, then go to the black E in your toolbar and right-click it to get a menu - select &amp;quot;Restart&amp;quot; from this menu.&lt;br /&gt;
# Lastly, you need to set up some sort of cron. See the [[Installing Moodle#Set up cron|Installation guide]] for more details on this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t or can&#039;t use EasyPHP, here are a few tips to make sure your PHP is set up correctly and avoid common problems:&lt;br /&gt;
*  Make sure you enable the GD module so Moodle can process images - you may have to edit php.ini and remove the comment (;) from this line: &#039;extension=php_gd2.dll&#039;.&lt;br /&gt;
* Make sure you enable the Zlib module so that you can create and unpack zip files from within Moodle.&lt;br /&gt;
* Make sure sessions is turned on - you may have to edit php.ini and fix the directory for &#039;&#039;&#039;session.save_path&#039;&#039;&#039; - instead of the default &amp;quot;/tmp&amp;quot; use a Windows directory like &amp;quot;c:/temp&amp;quot;.&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=User:Utcursch&amp;diff=2539</id>
		<title>User:Utcursch</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=User:Utcursch&amp;diff=2539"/>
		<updated>2005-09-15T11:30:58Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: about myself&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Debian User, [http://en.wikipedia.org/wiki/User:Utcursch Wikipedia Administrator]&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/404/en/index.php?title=Administrator_documentation&amp;diff=2538</id>
		<title>Administrator documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/404/en/index.php?title=Administrator_documentation&amp;diff=2538"/>
		<updated>2005-09-15T11:29:17Z</updated>

		<summary type="html">&lt;p&gt;Utcursch: /* Step-by-Step Installation Guides */ Debian GNU/Linux&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing or upgrading Moodle ==&lt;br /&gt;
&lt;br /&gt;
# [[Installing Moodle]]&lt;br /&gt;
# [[Installation FAQ]]&lt;br /&gt;
# [[Installing Apache, MySQL and PHP]]&lt;br /&gt;
# [[Upgrading Moodle]]&lt;br /&gt;
&lt;br /&gt;
==Step-by-Step Installation Guides==&lt;br /&gt;
&lt;br /&gt;
If the Installation information above is not enough to guide you through the process, here are some detailed installation guides for different operating systems:&lt;br /&gt;
&lt;br /&gt;
# [[Step by Step Installation Guide for Windows]]&lt;br /&gt;
# [[Step by Step Installation Guide for RedHat]]&lt;br /&gt;
# [[Step by Step Installation Guide for Debian GNU/Linux]]&lt;br /&gt;
# [[Step by Step Installation Guide for Mac OS X]]&lt;br /&gt;
# [[Step by Step Installation Guide for IIS]]&lt;br /&gt;
# [[Step by Step Installation Guide for FreeBSD]]&lt;br /&gt;
&lt;br /&gt;
==Other info for administrators==&lt;br /&gt;
&lt;br /&gt;
# [[admin/blocks|Configuring Blocks]] *&lt;/div&gt;</summary>
		<author><name>Utcursch</name></author>
	</entry>
</feed>