<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/37/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Whatever</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/37/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Whatever"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/Special:Contributions/Whatever"/>
	<updated>2026-04-16T19:26:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Multiple_True/False_Question_Type&amp;diff=133489</id>
		<title>Multiple True/False Question Type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Multiple_True/False_Question_Type&amp;diff=133489"/>
		<updated>2019-04-09T10:06:15Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
{{Infobox plugin&lt;br /&gt;
|type = Question type&lt;br /&gt;
|entry = https://moodle.org/plugins/qtype_mtf&lt;br /&gt;
|tracker = https://github.com/ethz-let/qtype_mtf/issues&lt;br /&gt;
|discussion = N/A&lt;br /&gt;
|maintainer = [[User:ETH LET|ETH LET]]&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Questions]]&lt;br /&gt;
[[Category:Plugin]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
Multi True false in one stem (question). Brief: The MC question type as it exists in Moodle is not very ideal, since you can only configure questions which are not very well designed regarding best practices of MC questions. Teachers can have more than one true/false question in same stem. this saves creating new questions for each stem. especially when it comes to an essay followed by many questions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&lt;br /&gt;
==Acknowledgement==&lt;br /&gt;
The Plugin is developed and maintained by [https://ethz.ch/ ETH Zurich].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Kprime question type]] &lt;br /&gt;
&lt;br /&gt;
[[de:Fragetyp Mehrfach Wahr/Falsch]]&lt;br /&gt;
[[es:Tipo de pregunta Múltiple Falso/Verdadero]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Kprime_question_type&amp;diff=133488</id>
		<title>Kprime question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Kprime_question_type&amp;diff=133488"/>
		<updated>2019-04-09T10:05:50Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = question type&lt;br /&gt;
|entry = https://moodle.org/plugins/qtype_kprime&lt;br /&gt;
|tracker = https://github.com/ethz-let/moodle-qtype_kprime/issues&lt;br /&gt;
|discussion = https://moodle.org/plugins/qtype_kprime&lt;br /&gt;
|maintainer = [[user:ETH LET|ETH LET]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
==Description==&lt;br /&gt;
A four option multiple true-false question type for Moodle, as introduced by Krebs (1997). Kprime questions consist of an item stem and four corresponding statements or options. For each option students have to decide whether it is &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
==Scoring options==&lt;br /&gt;
Three different scoring methods are available: &lt;br /&gt;
* “Kprime”, where the student receives one point if all responses are correct, half a point if all save one response are correct, and zero points otherwise; &lt;br /&gt;
* “Kprime 1/0”, where the student receives one point if all responses are correct, and zero points otherwise; and &lt;br /&gt;
* “Subpoints”, where the student is awarded subpoints for each correct response. &lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
[[File:Kprime question type example.png]]&lt;br /&gt;
&lt;br /&gt;
==Acknowledgement==&lt;br /&gt;
The Plugin is developed and maintained by [https://ethz.ch/ ETH Zurich].&lt;br /&gt;
&lt;br /&gt;
==See also ==&lt;br /&gt;
* [[Multiple True/False Question Type]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Quiz]]&lt;br /&gt;
[[Category:Questions]]&lt;br /&gt;
&lt;br /&gt;
[[es:Tipo de pregunta kprime]]&lt;br /&gt;
[[de:Fragetyp_Kprim]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Multiple_True/False_Question_Type&amp;diff=133487</id>
		<title>Multiple True/False Question Type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Multiple_True/False_Question_Type&amp;diff=133487"/>
		<updated>2019-04-09T09:49:50Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
{{Infobox plugin&lt;br /&gt;
|type = Question type&lt;br /&gt;
|entry = https://moodle.org/plugins/qtype_mtf&lt;br /&gt;
|tracker = https://github.com/ethz-let/qtype_mtf/issues&lt;br /&gt;
|discussion = N/A&lt;br /&gt;
|maintainer = [[User:ETH LET|ETH LET]]&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Questions]]&lt;br /&gt;
[[Category:Plugin]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
Multi True false in one stem (question). Brief: The MC question type as it exists in Moodle is not very ideal, since you can only configure questions which are not very well designed regarding best practices of MC questions. Teachers can have more than one true/false question in same stem. this saves creating new questions for each stem. especially when it comes to an essay followed by many questions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Acknowledgement==&lt;br /&gt;
The Plugin is developed and maintained by [https://ethz.ch/ ETH Zurich].&lt;br /&gt;
&lt;br /&gt;
Responsible Persons:&lt;br /&gt;
* Specs &amp;amp; Quality Control: [https://www.ethz.ch/de/die-eth-zuerich/organisation/abteilungen/lehrentwicklung-und-technologie/mitarbeitende-alphabetisch/person-detail.isacson.html Isacson Wildi, Kristina Anna Linnea]&lt;br /&gt;
* Features and Enhancements: [https://www.ethz.ch/de/die-eth-zuerich/organisation/abteilungen/lehrentwicklung-und-technologie/mitarbeitende-alphabetisch/person-detail.korner.html Thomas Korner]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Kprime question type]] &lt;br /&gt;
&lt;br /&gt;
[[de:Fragetyp Mehrfach Wahr/Falsch]]&lt;br /&gt;
[[es:Tipo de pregunta Múltiple Falso/Verdadero]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Multiple_True/False_Question_Type&amp;diff=133486</id>
		<title>Multiple True/False Question Type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Multiple_True/False_Question_Type&amp;diff=133486"/>
		<updated>2019-04-09T09:46:25Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
{{Infobox plugin&lt;br /&gt;
|type = Question type&lt;br /&gt;
|entry = https://moodle.org/plugins/qtype_mtf&lt;br /&gt;
|tracker = https://github.com/ethz-let/qtype_mtf/issues&lt;br /&gt;
|discussion = N/A&lt;br /&gt;
|maintainer = [[User:ETH LET|ETH LET]]&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Questions]]&lt;br /&gt;
[[Category:Plugin]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Multi True false in one stem (question). Brief: The MC question type as it exists in Moodle is not very ideal, since you can only configure questions which are not very well designed regarding best practices of MC questions. Teachers can have more than one true/false question in same stem. this saves creating new questions for each stem. especially when it comes to an essay followed by many questions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Acknowledgement==&lt;br /&gt;
The Plugin is developed and maintained by [https://ethz.ch/ ETH Zurich].&lt;br /&gt;
&lt;br /&gt;
Responsible Persons:&lt;br /&gt;
* Specs &amp;amp; Quality Control: [https://www.ethz.ch/de/die-eth-zuerich/organisation/abteilungen/lehrentwicklung-und-technologie/mitarbeitende-alphabetisch/person-detail.isacson.html Isacson Wildi, Kristina Anna Linnea]&lt;br /&gt;
* Features and Enhancements: [https://www.ethz.ch/de/die-eth-zuerich/organisation/abteilungen/lehrentwicklung-und-technologie/mitarbeitende-alphabetisch/person-detail.korner.html Thomas Korner]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Kprime question type]] &lt;br /&gt;
&lt;br /&gt;
[[de:Fragetyp Mehrfach Wahr/Falsch]]&lt;br /&gt;
[[es:Tipo de pregunta Múltiple Falso/Verdadero]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Multiple_True/False_Question_Type&amp;diff=133485</id>
		<title>Multiple True/False Question Type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Multiple_True/False_Question_Type&amp;diff=133485"/>
		<updated>2019-04-09T09:45:50Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
{{Infobox plugin&lt;br /&gt;
|type = Question type&lt;br /&gt;
|entry = https://moodle.org/plugins/qtype_mtf&lt;br /&gt;
|tracker = https://github.com/ethz-let/qtype_mtf/issues&lt;br /&gt;
|discussion = N/A&lt;br /&gt;
|maintainer = [[User:ETH LET|ETH LET]]&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Questions]]&lt;br /&gt;
[[Category:Plugin]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Acknowledgement==&lt;br /&gt;
The Plugin is developed and maintained by [https://ethz.ch/ ETH Zurich].&lt;br /&gt;
&lt;br /&gt;
Responsible Persons:&lt;br /&gt;
* Specs &amp;amp; Quality Control: [https://www.ethz.ch/de/die-eth-zuerich/organisation/abteilungen/lehrentwicklung-und-technologie/mitarbeitende-alphabetisch/person-detail.isacson.html Isacson Wildi, Kristina Anna Linnea]&lt;br /&gt;
* Features and Enhancements: [https://www.ethz.ch/de/die-eth-zuerich/organisation/abteilungen/lehrentwicklung-und-technologie/mitarbeitende-alphabetisch/person-detail.korner.html Thomas Korner]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Kprime question type]] &lt;br /&gt;
&lt;br /&gt;
[[de:Fragetyp Mehrfach Wahr/Falsch]]&lt;br /&gt;
[[es:Tipo de pregunta Múltiple Falso/Verdadero]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Kprime_question_type&amp;diff=133484</id>
		<title>Kprime question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Kprime_question_type&amp;diff=133484"/>
		<updated>2019-04-09T09:44:34Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = question type&lt;br /&gt;
|entry = https://moodle.org/plugins/qtype_kprime&lt;br /&gt;
|tracker = https://github.com/ethz-let/moodle-qtype_kprime/issues&lt;br /&gt;
|discussion = https://moodle.org/plugins/qtype_kprime&lt;br /&gt;
|maintainer = [[user:ETH LET|ETH LET]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
==Description==&lt;br /&gt;
A four option multiple true-false question type for Moodle, as introduced by Krebs (1997). Kprime questions consist of an item stem and four corresponding statements or options. For each option students have to decide whether it is &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
==Scoring options==&lt;br /&gt;
Three different scoring methods are available: &lt;br /&gt;
* “Kprime”, where the student receives one point if all responses are correct, half a point if all save one response are correct, and zero points otherwise; &lt;br /&gt;
* “Kprime 1/0”, where the student receives one point if all responses are correct, and zero points otherwise; and &lt;br /&gt;
* “Subpoints”, where the student is awarded subpoints for each correct response. &lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
[[File:Kprime question type example.png]]&lt;br /&gt;
&lt;br /&gt;
==Acknowledgement==&lt;br /&gt;
The Plugin is developed and maintained by [https://ethz.ch/ ETH Zurich].&lt;br /&gt;
&lt;br /&gt;
Responsible Persons:&lt;br /&gt;
* Specs &amp;amp; Quality Control: [https://www.ethz.ch/de/die-eth-zuerich/organisation/abteilungen/lehrentwicklung-und-technologie/mitarbeitende-alphabetisch/person-detail.isacson.html Isacson Wildi, Kristina Anna Linnea]&lt;br /&gt;
* Features and Enhancements: [https://www.ethz.ch/de/die-eth-zuerich/organisation/abteilungen/lehrentwicklung-und-technologie/mitarbeitende-alphabetisch/person-detail.korner.html Thomas Korner]&lt;br /&gt;
&lt;br /&gt;
==See also ==&lt;br /&gt;
* [[Multiple True/False Question Type]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Quiz]]&lt;br /&gt;
[[Category:Questions]]&lt;br /&gt;
&lt;br /&gt;
[[es:Tipo de pregunta kprime]]&lt;br /&gt;
[[de:Fragetyp_Kprim]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Embedded_Answers_(Cloze)_question_type&amp;diff=46460</id>
		<title>Embedded Answers (Cloze) question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Embedded_Answers_(Cloze)_question_type&amp;diff=46460"/>
		<updated>2008-11-07T16:07:27Z</updated>

		<summary type="html">&lt;p&gt;Whatever: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
&#039;&#039;&#039;Embedded answers (Cloze)&#039;&#039;&#039; questions consist of a passage of text (in Moodle format) that has various answers embedded within it, including multiple choice, short answers and numerical answers.&lt;br /&gt;
&lt;br /&gt;
There is currently no graphical interface to create these questions - you need to specify the question format using the text box or by importing them from external files. &lt;br /&gt;
&lt;br /&gt;
Lots of people suggest that [http://hotpot.uvic.ca/ Hot Potatoes] software is the easiest way to create Embedded answer (Cloze) questions.  Once you have created your questions on your PC, you can then import them into Moodle&#039;s quiz module.&lt;br /&gt;
&lt;br /&gt;
Import Limitation:  You can only import one Embedded Answer question at a time.  So if you were thinking of creating a .txt file to import several of these questions at one time it won&#039;t work.&lt;br /&gt;
&lt;br /&gt;
==Question set-up==&lt;br /&gt;
&lt;br /&gt;
#Select the question category&lt;br /&gt;
#Give the question a descriptive name - this allows you to identify it in the question bank.&lt;br /&gt;
#Enter the passage of text (in Moodle format - see [[Embedded_Answers_%28Cloze%29_question_type#Format|Format]] below) into the &#039;question text&#039; field.&lt;br /&gt;
#Select an image to display if you want to add a picture to the question. For the student, it appears immediately above the question text.&lt;br /&gt;
#Set the &#039;default question grade&#039; (i.e. the maximum number of marks for this question).&lt;br /&gt;
#Set the &#039;Penalty factor&#039; (see [[Embedded_Answers_%28Cloze%29_question_type#Penalty_factor|Penalty factor]] below).&lt;br /&gt;
#&#039;&#039;Moodle 1.7+:&#039;&#039; If you wish, add general feedback. This is text that appears to the student after he/she has answered the question.&lt;br /&gt;
#&#039;&#039;Moodle 1.7+:&#039;&#039; The editor has been modified and allows you to test if your syntax is good.&lt;br /&gt;
::The different questions elements decoded will be displayed and syntax errors pinpoint.&lt;br /&gt;
::However, it cannot check if the question decoded is two questions in one because of an error syntax.&lt;br /&gt;
#Click Save changes to add the question to the category.&lt;br /&gt;
&lt;br /&gt;
=== Penalty factor ===&lt;br /&gt;
&lt;br /&gt;
The &#039;penalty factor&#039; only applies when the question is used in a quiz using adaptive mode - i.e. where the student is allowed multiple attempts at a question even within the same attempt at the quiz. If the penalty factor is more than 0, then the student will lose that proportion of the &#039;&#039;&#039;maximum&#039;&#039;&#039; grade upon each successive attempt. For example, if the default question grade is 10, and the penalty factor is 0.2, then each successive attempt after the first one will incur a penalty of 0.2 x 10 = 2 points.&lt;br /&gt;
&lt;br /&gt;
==Question rendering==&lt;br /&gt;
&lt;br /&gt;
The question answer INPUT HTML ELEMENT ( Short and Numerical) or SELECT HTML ELEMENT (multichoice) are normally displayed in-line with the text.&lt;br /&gt;
&lt;br /&gt;
The size of INPUT HTML ELEMENT ( Short and Numerical) will be adjustable to the length of the longest answer (good or bad) + a random number (0 to 15% total length).([[User:Pierre Pichet|Pierre Pichet]] 15:37, 26 January 2008 (CST))&lt;br /&gt;
&lt;br /&gt;
The size will adjust to the length of the student response when displayed in the grading and feedback process.&lt;br /&gt;
&lt;br /&gt;
The size of the SELECT HTML ELEMENT (multichoice) adjusts itself automatically to the longest answer.&lt;br /&gt;
&lt;br /&gt;
==Format==&lt;br /&gt;
&lt;br /&gt;
The Moodle [http://moodle.org/help.php?module=quiz&amp;amp;file=multianswer.html help documentation for Cloze questions] gives an example.&lt;br /&gt;
&lt;br /&gt;
For full details of the format for embedded-answers questions, see the [[Embedded_Answers_%28Cloze%29_question_type#Detailed_syntax_explanations|detailed syntax explanation]] below.&lt;br /&gt;
&lt;br /&gt;
NB: Be careful when copying a cloze type question into the WYSIWYG HTML editor, as line breaks tend to get added, which destroys the question.&lt;br /&gt;
&lt;br /&gt;
If the correct answer contains { } # ~ / &amp;quot; or \ you will have to escape them by putting a \ in front of each such character. In the feedback ~ and } must be escaped otherwise it will be interpreted as &#039;&#039;the next answer&#039;&#039; or &#039;&#039;end of the short answer section&#039;&#039; respectively. Quotation signs: &amp;quot; can lead to trouble anyhow in both places. Use the HTML entity: &amp;amp; quot; (without the space between &#039;&#039;&amp;amp;&#039;&#039; and &#039;&#039;quot;&#039;&#039;). If you want to have Mathematical symbols there can be problems with the \ used in TeX expressions. One alternative can be to use [[unicode]] characters. &lt;br /&gt;
&lt;br /&gt;
See the notes further down about numerical embedded question!&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
The following text creates a simple embedded-answers question:&lt;br /&gt;
&lt;br /&gt;
 Match the following cities with the correct state:&lt;br /&gt;
 * San Francisco: {1:MULTICHOICE:=California#OK~Arizona#Wrong}&lt;br /&gt;
 * Tucson: {1:MULTICHOICE:California#Wrong~%100%Arizona#OK}&lt;br /&gt;
 * Los Angeles: {1:MULTICHOICE:=California#OK~Arizona#Wrong}&lt;br /&gt;
 * Phoenix: {1:MULTICHOICE:%0%California#Wrong~=Arizona#OK}&lt;br /&gt;
 The capital of France is {1:SHORTANSWER:=Paris#Congratulations!~%50%Marseille#No, that&lt;br /&gt;
 is the second largest city in France (after Paris).~*#Wrong answer. The capital of France&lt;br /&gt;
 is Paris, of course.}.&lt;br /&gt;
And the result will be: &lt;br /&gt;
[[Image:Cloze.gif|Cloze question type]] &lt;br /&gt;
&lt;br /&gt;
Some things to note:&lt;br /&gt;
* The individual embedded answers are represented by the code in braces {}.&lt;br /&gt;
* The number at the start is the &#039;weight&#039;, so in this case each answer contributes an equal share of the overall grade.&lt;br /&gt;
* The correct option in each case is preceded either by an = sign or by %100%.&lt;br /&gt;
* The text appearing after the # that follows each option is the feedback that the student will see if they choose that option.&lt;br /&gt;
* If the student enters &#039;Marseille&#039; in the final example, they score 50% of the total grade.&lt;br /&gt;
* The asterisk * preceding the &amp;quot;Wrong answer&amp;quot; feedback in the final example means that the student will see this feedback if they enter anything other than &amp;quot;Paris&amp;quot; or &amp;quot;Marseille&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Detailed syntax explanations==&lt;br /&gt;
# all question items within a cloze-type question are coded inside curled braces { }&lt;br /&gt;
# the number which appears between the opening brace and the colon {1: is the weighting of that item; if it is set at 1 for all the items, it needs not be specified, so you can have {:&lt;br /&gt;
# after the colon we have the item question type: MULTICHOICE, SHORTANSWER, NUMERICAL&lt;br /&gt;
# &#039;&#039;&#039;NOTE&#039;&#039;&#039;.- If you have installed the [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=338 REGEXP question type plugin] you can also use the REGEXP question type&lt;br /&gt;
# the syntax for MULTICHOICE and SHORTANSWER is the same; the only difference is in the displaying of the item to the student&lt;br /&gt;
# the order of the various answers is indifferent (except if you want a catch-all for wrong answers, see #12 below)&lt;br /&gt;
# a correct answer is preceded with the equal sign = or a percentage (usually %100%)&lt;br /&gt;
# a wrong answer is preceded with nothing or a percentage (usually %0%)&lt;br /&gt;
# you can allocate some points between 0 and 100 to some answers, if you put the appropriate percentage&lt;br /&gt;
# all answers except the first one are separated from one another by the tilde ~ sign&lt;br /&gt;
# answers can be followed by an optional feedback message, preceded with the # sign; if there is no feedback message, the # sign can be present or absent, it does not matter&lt;br /&gt;
# note that the feedback message and (since [[User:Pierre Pichet|Pierre Pichet]] 24 May 2008 )in 1.9 the correct answer are displayed in a small popup window (if and when the correct and or feedback have been declared accessible to the students in the Quiz settings) upon mouse hovering. The popup window has a title &amp;quot;feedback&amp;quot; and you can use HTML tags to format your feedback. In some browsers (For example IE5.5) the form fields can cover part of the feedback windows. It can help to not have the formfields for the answers too close to each other.&lt;br /&gt;
# in the SHORTANSWER type you may want to put a catch-all (wrong) answer in order to send a &amp;quot;wrong, try again&amp;quot; feedback; you can do this by inserting an asterisk &#039;&#039;&#039;*&#039;&#039;&#039; as &#039;&#039;&#039;the very last expected answer&#039;&#039;&#039; in your formula&lt;br /&gt;
# unfortunately in MULTICHOICE MODE it is not possible to get the answers to be scrambled&lt;br /&gt;
# unfortunately in SHORTANSWER mode it is not possible to make the answers case-sensitive except by using a workaround explained in [http://moodle.org/mod/forum/discuss.php?d=36430&amp;amp;parent=170308 this thread])&lt;br /&gt;
&lt;br /&gt;
==Numerical Cloze questions==	 &lt;br /&gt;
		 &lt;br /&gt;
From the student perspective, a numerical Cloze question looks just like a short-answer question or &#039;&#039;fill in the blanks&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The difference is that numerical answers are allowed to have an accepted error. This allows a continuous range of answers to be set. You can also express your answer in some different numerical formats. 23.4 23,4 (some countries use , as a decimal separator) and 2.34E+1 (meaning 2.34*10^1) would be interpreted as the same.&lt;br /&gt;
&lt;br /&gt;
=== False positives ===&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.8}}&#039;&#039;&#039;Note:&#039;&#039;&#039; the following examples of false positives do &#039;&#039;&#039;not&#039;&#039;&#039; apply to Moodle 1.8+, where you cannot use percentages or fractions as the answers in a numerical Cloze test; Moodle will generate an error if you try to save such a question. However the following may be relevant for earlier versions of Moodle.&lt;br /&gt;
&lt;br /&gt;
 More examples:	 &lt;br /&gt;
 0.5 accepts .5 0.5 ,5 0,5 0.500 5e-1 5E-1 but not 1/2 50% 	 &lt;br /&gt;
 50% accepts 50% 50.0% 5E1% 50/100 even &#039;&#039;&#039;50/1000 50&#039;&#039;&#039; but not 500/1000 0.5	 &lt;br /&gt;
 1/2 accepts 1/2 &#039;&#039;&#039;1/3 1twenty&#039;&#039;&#039; but not 2/4 0.5 0,5 3/6 50% ½	 &lt;br /&gt;
 ½ accepts ½	 &lt;br /&gt;
 HALF doesn&#039;t even accept HALF (maybe &#039;&#039;&#039;0&#039;&#039;&#039;?)	 &lt;br /&gt;
&lt;br /&gt;
If you want to accept several variants you can have them in the same {} but &#039;&#039;&#039;be careful, notice the &amp;quot;false positives&amp;quot; in bold&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
===Syntax for numerical Cloze questions===&lt;br /&gt;
&lt;br /&gt;
The format of a NUMERICAL Cloze question is similar to that of the other Cloze types and they can be mixed in the same question. As with other Cloze tests, you write your question or incomplete text, and add the Cloze code at the point where the student is supposed to enter their numerical answer.&lt;br /&gt;
&lt;br /&gt;
An example of the syntax used is shown below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: &#039;&#039;&#039; It is preferable to write the code in &#039;source code&#039; mode. The WSIWYG editor can insert linebreaks that make the question not function. The linebreak in the example box below is for readability only! A problem with these questions is the readability of the code! :(	&lt;br /&gt;
		 &lt;br /&gt;
 {2:NUMERICAL:=23.8:0.1#Feedback for correct answer 23.8	 &lt;br /&gt;
 ~%50%23.8:2#Feedback for ½credit near correct answer}. 	 &lt;br /&gt;
	 &lt;br /&gt;
In this example:&lt;br /&gt;
* 2: is the question point weight, which means that this question has twice the weight in the final point(s) for this question as other partial answers with weight 1 (or no declared weight - you can start with {: for the default weight 1) in the same question.&lt;br /&gt;
* NUMERICAL: says what kind of question it is. It must be in CAPS. &lt;br /&gt;
* =23.8:0.1 = or %100% means correct if the answer is 23.8 with an accepted error of 0.1, then any number between 23.7 and 23.9 will be accepted as correct. (In the GIFT numerical question one can express an interval like this 13..15 or 14:1 but in Cloze only 14:1 works.)	 &lt;br /&gt;
* #Feedback for correct answer 23.8 is preceded by #&lt;br /&gt;
* ~%50%23.8:2 ~ is the separator for answer alternatives %50% means this answer would get 50% of the score that the more precise answer had gotten. Because the tolerance here is 2, 21.8 to 25.8 would get this point and feedback.&lt;br /&gt;
&lt;br /&gt;
The feedback (which is seen within a popup window when the user hovers over the answer space) is formattable with HTML tags. For example, if you want an exponent, surround it with superscript tags: &amp;amp;lt;sup&amp;amp;gt; &amp;amp;lt;/sup&amp;amp;gt;. You can even include pictures in the feedback popup, but you must clean out all &amp;quot; characters and save while still in source code mode (not WYSIWYG). So, this works in feedback popup:&lt;br /&gt;
 #See this picture:&amp;amp;lt;br&amp;amp;gt;&amp;amp;lt;img src=Something.gif /&amp;gt;}	 &lt;br /&gt;
but not this:&lt;br /&gt;
 #See this picture:&amp;amp;lt;br&amp;amp;gt;&amp;amp;lt;img src=&amp;quot;Something.gif&amp;quot; /&amp;gt;}	 &lt;br /&gt;
&lt;br /&gt;
(ALGEBRA and TEX filters don&#039;t work in the feedback popups, but they can be very useful in the question writing for math/science expressions). But you can use [unicode] characters.	 &lt;br /&gt;
&lt;br /&gt;
If you want to give feedback for any answer that didn&#039;t fit the intervals you already have specified feedback for, add some BIG general intervals, like for positive answers (if they aren&#039;t bigger than 20000 you could add:	 &lt;br /&gt;
 ~%0%10000.0001:10000#Feedback for unspecified not_right answers}	 &lt;br /&gt;
This would give feedback for anything from 0.0001 to 20000.0001 (that hadn&#039;t already gotten feedback). I didn&#039;t want to include 0 since that special case as well as negative ought to have specific reactions.	 &lt;br /&gt;
 ~%0%0#Hey! It can&#039;t be zero	 &lt;br /&gt;
 ~%0%-10000.0001:10000#We just want the size here,	 &lt;br /&gt;
 so a negative value is not what we want}			 &lt;br /&gt;
&lt;br /&gt;
Numerical questions could, before version 1.7, also have case-insensitive non-numerical answers. This is useful whenever the answer for a numerical question is something like +inf, -inf, NaN etc.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
This information was drawn from:&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=36521 Is there a guide to using the cloze format?] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=36430&amp;amp;parent=170308 Cloze-type question syntax] forum post&lt;br /&gt;
&lt;br /&gt;
[[fr:Question Cloze à réponses intégrés]]&lt;br /&gt;
[[ja: 穴埋め問題 ( Cloze ) タイプ]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Embedded_Answers_(Cloze)_question_type&amp;diff=46458</id>
		<title>Embedded Answers (Cloze) question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Embedded_Answers_(Cloze)_question_type&amp;diff=46458"/>
		<updated>2008-11-07T16:06:00Z</updated>

		<summary type="html">&lt;p&gt;Whatever: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
&#039;&#039;&#039;Embedded answers (Cloze)&#039;&#039;&#039; questions consist of a passage of text (in Moodle format) that has various answers embedded within it, including multiple choice, short answers and numerical answers.&lt;br /&gt;
&lt;br /&gt;
There is currently no graphical interface to create these questions - you need to specify the question format using the text box or by importing them from external files. &lt;br /&gt;
&lt;br /&gt;
Lots of people suggest that [http://hotpot.uvic.ca/ Hot Potatoes] software is the easiest way to create Embedded answer (Cloze) questions.  Once you have created your questions on your PC, you can then import them into Moodle&#039;s quiz module.&lt;br /&gt;
&lt;br /&gt;
Import Limitation:  You can only import one Embedded Answer question at a time.  So if you were thinking of creating a .txt file to import several of these questions at one time it won&#039;t work.&lt;br /&gt;
&lt;br /&gt;
==Question set-up==&lt;br /&gt;
&lt;br /&gt;
#Select the question category&lt;br /&gt;
#Give the question a descriptive name - this allows you to identify it in the question bank.&lt;br /&gt;
#Enter the passage of text (in Moodle format - see [[Embedded_Answers_%28Cloze%29_question_type#Format|Format]] below) into the &#039;question text&#039; field.&lt;br /&gt;
#Select an image to display if you want to add a picture to the question. For the student, it appears immediately above the question text.&lt;br /&gt;
#Set the &#039;default question grade&#039; (i.e. the maximum number of marks for this question).&lt;br /&gt;
#Set the &#039;Penalty factor&#039; (see [[Embedded_Answers_%28Cloze%29_question_type#Penalty_factor|Penalty factor]] below).&lt;br /&gt;
#&#039;&#039;Moodle 1.7+:&#039;&#039; If you wish, add general feedback. This is text that appears to the student after he/she has answered the question.&lt;br /&gt;
#&#039;&#039;Moodle 1.7+:&#039;&#039; The editor has been modified and allows you to test if your syntax is good.&lt;br /&gt;
::The different questions elements decoded will be displayed and syntax errors pinpoint.&lt;br /&gt;
::However, it cannot check if the question decoded is two questions in one because of an error syntax.&lt;br /&gt;
#Click Save changes to add the question to the category.&lt;br /&gt;
&lt;br /&gt;
=== Penalty factor ===&lt;br /&gt;
&lt;br /&gt;
The &#039;penalty factor&#039; only applies when the question is used in a quiz using adaptive mode - i.e. where the student is allowed multiple attempts at a question even within the same attempt at the quiz. If the penalty factor is more than 0, then the student will lose that proportion of the &#039;&#039;&#039;maximum&#039;&#039;&#039; grade upon each successive attempt. For example, if the default question grade is 10, and the penalty factor is 0.2, then each successive attempt after the first one will incur a penalty of 0.2 x 10 = 2 points.&lt;br /&gt;
&lt;br /&gt;
==Question rendering==&lt;br /&gt;
&lt;br /&gt;
The question answer INPUT HTML ELEMENT ( Short and Numerical) or SELECT HTML ELEMENT (multichoice) are normally displayed in-line with the text.&lt;br /&gt;
&lt;br /&gt;
The size of INPUT HTML ELEMENT ( Short and Numerical) will be adjustable to the length of the longest answer (good or bad) + a random number (0 to 15% total length).([[User:Pierre Pichet|Pierre Pichet]] 15:37, 26 January 2008 (CST))&lt;br /&gt;
&lt;br /&gt;
The size will adjust to the length of the student response when displayed in the grading and feedback process.&lt;br /&gt;
&lt;br /&gt;
The size of the SELECT HTML ELEMENT (multichoice) adjusts itself automatically to the longest answer.&lt;br /&gt;
&lt;br /&gt;
==Format==&lt;br /&gt;
&lt;br /&gt;
The Moodle [http://moodle.org/help.php?module=quiz&amp;amp;file=multianswer.html help documentation for Cloze questions] gives an example.&lt;br /&gt;
&lt;br /&gt;
For full details of the format for embedded-answers questions, see the [[Embedded_Answers_%28Cloze%29_question_type#Detailed_syntax_explanations|detailed syntax explanation]] below.&lt;br /&gt;
&lt;br /&gt;
NB: Be careful when copying a cloze type question into the WYSIWYG HTML editor, as line breaks tend to get added, which destroys the question.&lt;br /&gt;
&lt;br /&gt;
If the correct answer contains { } # ~ / &amp;quot; or \ you will have to escape them by putting a \ in front of each such character. In the feedback ~ and } must be escaped otherwise it will be interpreted as &#039;&#039;the next answer&#039;&#039; or &#039;&#039;end of the short answer section&#039;&#039; respectively. Quotation signs: &amp;quot; can lead to trouble anyhow in both places. Use the HTML entity: &amp;amp; quot; (without the space between &#039;&#039;&amp;amp;&#039;&#039; and &#039;&#039;quot;&#039;&#039;). If you want to have Mathematical symbols there can be problems with the \ used in TeX expressions. One alternative can be to use [[unicode]] characters. &lt;br /&gt;
&lt;br /&gt;
See the notes further down about numerical embedded question!&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
The following text creates a simple embedded-answers question:&lt;br /&gt;
&lt;br /&gt;
 Match the following cities with the correct state:&lt;br /&gt;
 * San Francisco: {1:MULTICHOICE:=California#OK~Arizona#Wrong}&lt;br /&gt;
 * Tucson: {1:MULTICHOICE:California#Wrong~%100%Arizona#OK}&lt;br /&gt;
 * Los Angeles: {1:MULTICHOICE:=California#OK~Arizona#Wrong}&lt;br /&gt;
 * Phoenix: {1:MULTICHOICE:%0%California#Wrong~=Arizona#OK}&lt;br /&gt;
 The capital of France is {1:SHORTANSWER:=Paris#Congratulations!~%50%Marseille#No, that&lt;br /&gt;
 is the second largest city in France (after Paris).~*#Wrong answer. The capital of France&lt;br /&gt;
 is Paris, of course.}.&lt;br /&gt;
And the result will be: [[Image:Cloze.gif|Cloze question type]] &lt;br /&gt;
Some things to note:&lt;br /&gt;
* The individual embedded answers are represented by the code in braces {}.&lt;br /&gt;
* The number at the start is the &#039;weight&#039;, so in this case each answer contributes an equal share of the overall grade.&lt;br /&gt;
* The correct option in each case is preceded either by an = sign or by %100%.&lt;br /&gt;
* The text appearing after the # that follows each option is the feedback that the student will see if they choose that option.&lt;br /&gt;
* If the student enters &#039;Marseille&#039; in the final example, they score 50% of the total grade.&lt;br /&gt;
* The asterisk * preceding the &amp;quot;Wrong answer&amp;quot; feedback in the final example means that the student will see this feedback if they enter anything other than &amp;quot;Paris&amp;quot; or &amp;quot;Marseille&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Detailed syntax explanations==&lt;br /&gt;
# all question items within a cloze-type question are coded inside curled braces { }&lt;br /&gt;
# the number which appears between the opening brace and the colon {1: is the weighting of that item; if it is set at 1 for all the items, it needs not be specified, so you can have {:&lt;br /&gt;
# after the colon we have the item question type: MULTICHOICE, SHORTANSWER, NUMERICAL&lt;br /&gt;
# &#039;&#039;&#039;NOTE&#039;&#039;&#039;.- If you have installed the [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=338 REGEXP question type plugin] you can also use the REGEXP question type&lt;br /&gt;
# the syntax for MULTICHOICE and SHORTANSWER is the same; the only difference is in the displaying of the item to the student&lt;br /&gt;
# the order of the various answers is indifferent (except if you want a catch-all for wrong answers, see #12 below)&lt;br /&gt;
# a correct answer is preceded with the equal sign = or a percentage (usually %100%)&lt;br /&gt;
# a wrong answer is preceded with nothing or a percentage (usually %0%)&lt;br /&gt;
# you can allocate some points between 0 and 100 to some answers, if you put the appropriate percentage&lt;br /&gt;
# all answers except the first one are separated from one another by the tilde ~ sign&lt;br /&gt;
# answers can be followed by an optional feedback message, preceded with the # sign; if there is no feedback message, the # sign can be present or absent, it does not matter&lt;br /&gt;
# note that the feedback message and (since [[User:Pierre Pichet|Pierre Pichet]] 24 May 2008 )in 1.9 the correct answer are displayed in a small popup window (if and when the correct and or feedback have been declared accessible to the students in the Quiz settings) upon mouse hovering. The popup window has a title &amp;quot;feedback&amp;quot; and you can use HTML tags to format your feedback. In some browsers (For example IE5.5) the form fields can cover part of the feedback windows. It can help to not have the formfields for the answers too close to each other.&lt;br /&gt;
# in the SHORTANSWER type you may want to put a catch-all (wrong) answer in order to send a &amp;quot;wrong, try again&amp;quot; feedback; you can do this by inserting an asterisk &#039;&#039;&#039;*&#039;&#039;&#039; as &#039;&#039;&#039;the very last expected answer&#039;&#039;&#039; in your formula&lt;br /&gt;
# unfortunately in MULTICHOICE MODE it is not possible to get the answers to be scrambled&lt;br /&gt;
# unfortunately in SHORTANSWER mode it is not possible to make the answers case-sensitive except by using a workaround explained in [http://moodle.org/mod/forum/discuss.php?d=36430&amp;amp;parent=170308 this thread])&lt;br /&gt;
&lt;br /&gt;
==Numerical Cloze questions==	 &lt;br /&gt;
		 &lt;br /&gt;
From the student perspective, a numerical Cloze question looks just like a short-answer question or &#039;&#039;fill in the blanks&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The difference is that numerical answers are allowed to have an accepted error. This allows a continuous range of answers to be set. You can also express your answer in some different numerical formats. 23.4 23,4 (some countries use , as a decimal separator) and 2.34E+1 (meaning 2.34*10^1) would be interpreted as the same.&lt;br /&gt;
&lt;br /&gt;
=== False positives ===&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.8}}&#039;&#039;&#039;Note:&#039;&#039;&#039; the following examples of false positives do &#039;&#039;&#039;not&#039;&#039;&#039; apply to Moodle 1.8+, where you cannot use percentages or fractions as the answers in a numerical Cloze test; Moodle will generate an error if you try to save such a question. However the following may be relevant for earlier versions of Moodle.&lt;br /&gt;
&lt;br /&gt;
 More examples:	 &lt;br /&gt;
 0.5 accepts .5 0.5 ,5 0,5 0.500 5e-1 5E-1 but not 1/2 50% 	 &lt;br /&gt;
 50% accepts 50% 50.0% 5E1% 50/100 even &#039;&#039;&#039;50/1000 50&#039;&#039;&#039; but not 500/1000 0.5	 &lt;br /&gt;
 1/2 accepts 1/2 &#039;&#039;&#039;1/3 1twenty&#039;&#039;&#039; but not 2/4 0.5 0,5 3/6 50% ½	 &lt;br /&gt;
 ½ accepts ½	 &lt;br /&gt;
 HALF doesn&#039;t even accept HALF (maybe &#039;&#039;&#039;0&#039;&#039;&#039;?)	 &lt;br /&gt;
&lt;br /&gt;
If you want to accept several variants you can have them in the same {} but &#039;&#039;&#039;be careful, notice the &amp;quot;false positives&amp;quot; in bold&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
===Syntax for numerical Cloze questions===&lt;br /&gt;
&lt;br /&gt;
The format of a NUMERICAL Cloze question is similar to that of the other Cloze types and they can be mixed in the same question. As with other Cloze tests, you write your question or incomplete text, and add the Cloze code at the point where the student is supposed to enter their numerical answer.&lt;br /&gt;
&lt;br /&gt;
An example of the syntax used is shown below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: &#039;&#039;&#039; It is preferable to write the code in &#039;source code&#039; mode. The WSIWYG editor can insert linebreaks that make the question not function. The linebreak in the example box below is for readability only! A problem with these questions is the readability of the code! :(	&lt;br /&gt;
		 &lt;br /&gt;
 {2:NUMERICAL:=23.8:0.1#Feedback for correct answer 23.8	 &lt;br /&gt;
 ~%50%23.8:2#Feedback for ½credit near correct answer}. 	 &lt;br /&gt;
	 &lt;br /&gt;
In this example:&lt;br /&gt;
* 2: is the question point weight, which means that this question has twice the weight in the final point(s) for this question as other partial answers with weight 1 (or no declared weight - you can start with {: for the default weight 1) in the same question.&lt;br /&gt;
* NUMERICAL: says what kind of question it is. It must be in CAPS. &lt;br /&gt;
* =23.8:0.1 = or %100% means correct if the answer is 23.8 with an accepted error of 0.1, then any number between 23.7 and 23.9 will be accepted as correct. (In the GIFT numerical question one can express an interval like this 13..15 or 14:1 but in Cloze only 14:1 works.)	 &lt;br /&gt;
* #Feedback for correct answer 23.8 is preceded by #&lt;br /&gt;
* ~%50%23.8:2 ~ is the separator for answer alternatives %50% means this answer would get 50% of the score that the more precise answer had gotten. Because the tolerance here is 2, 21.8 to 25.8 would get this point and feedback.&lt;br /&gt;
&lt;br /&gt;
The feedback (which is seen within a popup window when the user hovers over the answer space) is formattable with HTML tags. For example, if you want an exponent, surround it with superscript tags: &amp;amp;lt;sup&amp;amp;gt; &amp;amp;lt;/sup&amp;amp;gt;. You can even include pictures in the feedback popup, but you must clean out all &amp;quot; characters and save while still in source code mode (not WYSIWYG). So, this works in feedback popup:&lt;br /&gt;
 #See this picture:&amp;amp;lt;br&amp;amp;gt;&amp;amp;lt;img src=Something.gif /&amp;gt;}	 &lt;br /&gt;
but not this:&lt;br /&gt;
 #See this picture:&amp;amp;lt;br&amp;amp;gt;&amp;amp;lt;img src=&amp;quot;Something.gif&amp;quot; /&amp;gt;}	 &lt;br /&gt;
&lt;br /&gt;
(ALGEBRA and TEX filters don&#039;t work in the feedback popups, but they can be very useful in the question writing for math/science expressions). But you can use [unicode] characters.	 &lt;br /&gt;
&lt;br /&gt;
If you want to give feedback for any answer that didn&#039;t fit the intervals you already have specified feedback for, add some BIG general intervals, like for positive answers (if they aren&#039;t bigger than 20000 you could add:	 &lt;br /&gt;
 ~%0%10000.0001:10000#Feedback for unspecified not_right answers}	 &lt;br /&gt;
This would give feedback for anything from 0.0001 to 20000.0001 (that hadn&#039;t already gotten feedback). I didn&#039;t want to include 0 since that special case as well as negative ought to have specific reactions.	 &lt;br /&gt;
 ~%0%0#Hey! It can&#039;t be zero	 &lt;br /&gt;
 ~%0%-10000.0001:10000#We just want the size here,	 &lt;br /&gt;
 so a negative value is not what we want}			 &lt;br /&gt;
&lt;br /&gt;
Numerical questions could, before version 1.7, also have case-insensitive non-numerical answers. This is useful whenever the answer for a numerical question is something like +inf, -inf, NaN etc.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
This information was drawn from:&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=36521 Is there a guide to using the cloze format?] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=36430&amp;amp;parent=170308 Cloze-type question syntax] forum post&lt;br /&gt;
&lt;br /&gt;
[[fr:Question Cloze à réponses intégrés]]&lt;br /&gt;
[[ja: 穴埋め問題 ( Cloze ) タイプ]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Embedded_Answers_(Cloze)_question_type&amp;diff=46457</id>
		<title>Embedded Answers (Cloze) question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Embedded_Answers_(Cloze)_question_type&amp;diff=46457"/>
		<updated>2008-11-07T16:02:02Z</updated>

		<summary type="html">&lt;p&gt;Whatever: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
&#039;&#039;&#039;Embedded answers (Cloze)&#039;&#039;&#039; questions consist of a passage of text (in Moodle format) that has various answers embedded within it, including multiple choice, short answers and numerical answers.&lt;br /&gt;
&lt;br /&gt;
There is currently no graphical interface to create these questions - you need to specify the question format using the text box or by importing them from external files. &lt;br /&gt;
&lt;br /&gt;
Lots of people suggest that [http://hotpot.uvic.ca/ Hot Potatoes] software is the easiest way to create Embedded answer (Cloze) questions.  Once you have created your questions on your PC, you can then import them into Moodle&#039;s quiz module.&lt;br /&gt;
&lt;br /&gt;
Import Limitation:  You can only import one Embedded Answer question at a time.  So if you were thinking of creating a .txt file to import several of these questions at one time it won&#039;t work.&lt;br /&gt;
&lt;br /&gt;
==Question set-up==&lt;br /&gt;
&lt;br /&gt;
#Select the question category&lt;br /&gt;
#Give the question a descriptive name - this allows you to identify it in the question bank.&lt;br /&gt;
#Enter the passage of text (in Moodle format - see [[Embedded_Answers_%28Cloze%29_question_type#Format|Format]] below) into the &#039;question text&#039; field.&lt;br /&gt;
#Select an image to display if you want to add a picture to the question. For the student, it appears immediately above the question text.&lt;br /&gt;
#Set the &#039;default question grade&#039; (i.e. the maximum number of marks for this question).&lt;br /&gt;
#Set the &#039;Penalty factor&#039; (see [[Embedded_Answers_%28Cloze%29_question_type#Penalty_factor|Penalty factor]] below).&lt;br /&gt;
#&#039;&#039;Moodle 1.7+:&#039;&#039; If you wish, add general feedback. This is text that appears to the student after he/she has answered the question.&lt;br /&gt;
#&#039;&#039;Moodle 1.7+:&#039;&#039; The editor has been modified and allows you to test if your syntax is good.&lt;br /&gt;
::The different questions elements decoded will be displayed and syntax errors pinpoint.&lt;br /&gt;
::However, it cannot check if the question decoded is two questions in one because of an error syntax.&lt;br /&gt;
#Click Save changes to add the question to the category.&lt;br /&gt;
&lt;br /&gt;
=== Penalty factor ===&lt;br /&gt;
&lt;br /&gt;
The &#039;penalty factor&#039; only applies when the question is used in a quiz using adaptive mode - i.e. where the student is allowed multiple attempts at a question even within the same attempt at the quiz. If the penalty factor is more than 0, then the student will lose that proportion of the &#039;&#039;&#039;maximum&#039;&#039;&#039; grade upon each successive attempt. For example, if the default question grade is 10, and the penalty factor is 0.2, then each successive attempt after the first one will incur a penalty of 0.2 x 10 = 2 points.&lt;br /&gt;
&lt;br /&gt;
==Question rendering==&lt;br /&gt;
&lt;br /&gt;
The question answer INPUT HTML ELEMENT ( Short and Numerical) or SELECT HTML ELEMENT (multichoice) are normally displayed in-line with the text.&lt;br /&gt;
&lt;br /&gt;
The size of INPUT HTML ELEMENT ( Short and Numerical) will be adjustable to the length of the longest answer (good or bad) + a random number (0 to 15% total length).([[User:Pierre Pichet|Pierre Pichet]] 15:37, 26 January 2008 (CST))&lt;br /&gt;
&lt;br /&gt;
The size will adjust to the length of the student response when displayed in the grading and feedback process.&lt;br /&gt;
&lt;br /&gt;
The size of the SELECT HTML ELEMENT (multichoice) adjusts itself automatically to the longest answer.&lt;br /&gt;
&lt;br /&gt;
==Format==&lt;br /&gt;
&lt;br /&gt;
The Moodle [http://moodle.org/help.php?module=quiz&amp;amp;file=multianswer.html help documentation for Cloze questions] gives an example.&lt;br /&gt;
&lt;br /&gt;
For full details of the format for embedded-answers questions, see the [[Embedded_Answers_%28Cloze%29_question_type#Detailed_syntax_explanations|detailed syntax explanation]] below.&lt;br /&gt;
&lt;br /&gt;
NB: Be careful when copying a cloze type question into the WYSIWYG HTML editor, as line breaks tend to get added, which destroys the question.&lt;br /&gt;
&lt;br /&gt;
If the correct answer contains { } # ~ / &amp;quot; or \ you will have to escape them by putting a \ in front of each such character. In the feedback ~ and } must be escaped otherwise it will be interpreted as &#039;&#039;the next answer&#039;&#039; or &#039;&#039;end of the short answer section&#039;&#039; respectively. Quotation signs: &amp;quot; can lead to trouble anyhow in both places. Use the HTML entity: &amp;amp; quot; (without the space between &#039;&#039;&amp;amp;&#039;&#039; and &#039;&#039;quot;&#039;&#039;). If you want to have Mathematical symbols there can be problems with the \ used in TeX expressions. One alternative can be to use [[unicode]] characters. &lt;br /&gt;
&lt;br /&gt;
See the notes further down about numerical embedded question!&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
The following text creates a simple embedded-answers question:&lt;br /&gt;
&lt;br /&gt;
 Match the following cities with the correct state:&lt;br /&gt;
 * San Francisco: {1:MULTICHOICE:=California#OK~Arizona#Wrong}&lt;br /&gt;
 * Tucson: {1:MULTICHOICE:California#Wrong~%100%Arizona#OK}&lt;br /&gt;
 * Los Angeles: {1:MULTICHOICE:=California#OK~Arizona#Wrong}&lt;br /&gt;
 * Phoenix: {1:MULTICHOICE:%0%California#Wrong~=Arizona#OK}&lt;br /&gt;
 The capital of France is {1:SHORTANSWER:=Paris#Congratulations!~%50%Marseille#No, that&lt;br /&gt;
 is the second largest city in France (after Paris).~*#Wrong answer. The capital of France&lt;br /&gt;
 is Paris, of course.}.&lt;br /&gt;
And the result will be: [[Image:cloze.gif|Cloze question type]] &lt;br /&gt;
Some things to note:&lt;br /&gt;
* The individual embedded answers are represented by the code in braces {}.&lt;br /&gt;
* The number at the start is the &#039;weight&#039;, so in this case each answer contributes an equal share of the overall grade.&lt;br /&gt;
* The correct option in each case is preceded either by an = sign or by %100%.&lt;br /&gt;
* The text appearing after the # that follows each option is the feedback that the student will see if they choose that option.&lt;br /&gt;
* If the student enters &#039;Marseille&#039; in the final example, they score 50% of the total grade.&lt;br /&gt;
* The asterisk * preceding the &amp;quot;Wrong answer&amp;quot; feedback in the final example means that the student will see this feedback if they enter anything other than &amp;quot;Paris&amp;quot; or &amp;quot;Marseille&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Detailed syntax explanations==&lt;br /&gt;
# all question items within a cloze-type question are coded inside curled braces { }&lt;br /&gt;
# the number which appears between the opening brace and the colon {1: is the weighting of that item; if it is set at 1 for all the items, it needs not be specified, so you can have {:&lt;br /&gt;
# after the colon we have the item question type: MULTICHOICE, SHORTANSWER, NUMERICAL&lt;br /&gt;
# &#039;&#039;&#039;NOTE&#039;&#039;&#039;.- If you have installed the [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=338 REGEXP question type plugin] you can also use the REGEXP question type&lt;br /&gt;
# the syntax for MULTICHOICE and SHORTANSWER is the same; the only difference is in the displaying of the item to the student&lt;br /&gt;
# the order of the various answers is indifferent (except if you want a catch-all for wrong answers, see #12 below)&lt;br /&gt;
# a correct answer is preceded with the equal sign = or a percentage (usually %100%)&lt;br /&gt;
# a wrong answer is preceded with nothing or a percentage (usually %0%)&lt;br /&gt;
# you can allocate some points between 0 and 100 to some answers, if you put the appropriate percentage&lt;br /&gt;
# all answers except the first one are separated from one another by the tilde ~ sign&lt;br /&gt;
# answers can be followed by an optional feedback message, preceded with the # sign; if there is no feedback message, the # sign can be present or absent, it does not matter&lt;br /&gt;
# note that the feedback message and (since [[User:Pierre Pichet|Pierre Pichet]] 24 May 2008 )in 1.9 the correct answer are displayed in a small popup window (if and when the correct and or feedback have been declared accessible to the students in the Quiz settings) upon mouse hovering. The popup window has a title &amp;quot;feedback&amp;quot; and you can use HTML tags to format your feedback. In some browsers (For example IE5.5) the form fields can cover part of the feedback windows. It can help to not have the formfields for the answers too close to each other.&lt;br /&gt;
# in the SHORTANSWER type you may want to put a catch-all (wrong) answer in order to send a &amp;quot;wrong, try again&amp;quot; feedback; you can do this by inserting an asterisk &#039;&#039;&#039;*&#039;&#039;&#039; as &#039;&#039;&#039;the very last expected answer&#039;&#039;&#039; in your formula&lt;br /&gt;
# unfortunately in MULTICHOICE MODE it is not possible to get the answers to be scrambled&lt;br /&gt;
# unfortunately in SHORTANSWER mode it is not possible to make the answers case-sensitive except by using a workaround explained in [http://moodle.org/mod/forum/discuss.php?d=36430&amp;amp;parent=170308 this thread])&lt;br /&gt;
&lt;br /&gt;
==Numerical Cloze questions==	 &lt;br /&gt;
		 &lt;br /&gt;
From the student perspective, a numerical Cloze question looks just like a short-answer question or &#039;&#039;fill in the blanks&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The difference is that numerical answers are allowed to have an accepted error. This allows a continuous range of answers to be set. You can also express your answer in some different numerical formats. 23.4 23,4 (some countries use , as a decimal separator) and 2.34E+1 (meaning 2.34*10^1) would be interpreted as the same.&lt;br /&gt;
&lt;br /&gt;
=== False positives ===&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.8}}&#039;&#039;&#039;Note:&#039;&#039;&#039; the following examples of false positives do &#039;&#039;&#039;not&#039;&#039;&#039; apply to Moodle 1.8+, where you cannot use percentages or fractions as the answers in a numerical Cloze test; Moodle will generate an error if you try to save such a question. However the following may be relevant for earlier versions of Moodle.&lt;br /&gt;
&lt;br /&gt;
 More examples:	 &lt;br /&gt;
 0.5 accepts .5 0.5 ,5 0,5 0.500 5e-1 5E-1 but not 1/2 50% 	 &lt;br /&gt;
 50% accepts 50% 50.0% 5E1% 50/100 even &#039;&#039;&#039;50/1000 50&#039;&#039;&#039; but not 500/1000 0.5	 &lt;br /&gt;
 1/2 accepts 1/2 &#039;&#039;&#039;1/3 1twenty&#039;&#039;&#039; but not 2/4 0.5 0,5 3/6 50% ½	 &lt;br /&gt;
 ½ accepts ½	 &lt;br /&gt;
 HALF doesn&#039;t even accept HALF (maybe &#039;&#039;&#039;0&#039;&#039;&#039;?)	 &lt;br /&gt;
&lt;br /&gt;
If you want to accept several variants you can have them in the same {} but &#039;&#039;&#039;be careful, notice the &amp;quot;false positives&amp;quot; in bold&#039;&#039;&#039;!&lt;br /&gt;
&lt;br /&gt;
===Syntax for numerical Cloze questions===&lt;br /&gt;
&lt;br /&gt;
The format of a NUMERICAL Cloze question is similar to that of the other Cloze types and they can be mixed in the same question. As with other Cloze tests, you write your question or incomplete text, and add the Cloze code at the point where the student is supposed to enter their numerical answer.&lt;br /&gt;
&lt;br /&gt;
An example of the syntax used is shown below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: &#039;&#039;&#039; It is preferable to write the code in &#039;source code&#039; mode. The WSIWYG editor can insert linebreaks that make the question not function. The linebreak in the example box below is for readability only! A problem with these questions is the readability of the code! :(	&lt;br /&gt;
		 &lt;br /&gt;
 {2:NUMERICAL:=23.8:0.1#Feedback for correct answer 23.8	 &lt;br /&gt;
 ~%50%23.8:2#Feedback for ½credit near correct answer}. 	 &lt;br /&gt;
	 &lt;br /&gt;
In this example:&lt;br /&gt;
* 2: is the question point weight, which means that this question has twice the weight in the final point(s) for this question as other partial answers with weight 1 (or no declared weight - you can start with {: for the default weight 1) in the same question.&lt;br /&gt;
* NUMERICAL: says what kind of question it is. It must be in CAPS. &lt;br /&gt;
* =23.8:0.1 = or %100% means correct if the answer is 23.8 with an accepted error of 0.1, then any number between 23.7 and 23.9 will be accepted as correct. (In the GIFT numerical question one can express an interval like this 13..15 or 14:1 but in Cloze only 14:1 works.)	 &lt;br /&gt;
* #Feedback for correct answer 23.8 is preceded by #&lt;br /&gt;
* ~%50%23.8:2 ~ is the separator for answer alternatives %50% means this answer would get 50% of the score that the more precise answer had gotten. Because the tolerance here is 2, 21.8 to 25.8 would get this point and feedback.&lt;br /&gt;
&lt;br /&gt;
The feedback (which is seen within a popup window when the user hovers over the answer space) is formattable with HTML tags. For example, if you want an exponent, surround it with superscript tags: &amp;amp;lt;sup&amp;amp;gt; &amp;amp;lt;/sup&amp;amp;gt;. You can even include pictures in the feedback popup, but you must clean out all &amp;quot; characters and save while still in source code mode (not WYSIWYG). So, this works in feedback popup:&lt;br /&gt;
 #See this picture:&amp;amp;lt;br&amp;amp;gt;&amp;amp;lt;img src=Something.gif /&amp;gt;}	 &lt;br /&gt;
but not this:&lt;br /&gt;
 #See this picture:&amp;amp;lt;br&amp;amp;gt;&amp;amp;lt;img src=&amp;quot;Something.gif&amp;quot; /&amp;gt;}	 &lt;br /&gt;
&lt;br /&gt;
(ALGEBRA and TEX filters don&#039;t work in the feedback popups, but they can be very useful in the question writing for math/science expressions). But you can use [unicode] characters.	 &lt;br /&gt;
&lt;br /&gt;
If you want to give feedback for any answer that didn&#039;t fit the intervals you already have specified feedback for, add some BIG general intervals, like for positive answers (if they aren&#039;t bigger than 20000 you could add:	 &lt;br /&gt;
 ~%0%10000.0001:10000#Feedback for unspecified not_right answers}	 &lt;br /&gt;
This would give feedback for anything from 0.0001 to 20000.0001 (that hadn&#039;t already gotten feedback). I didn&#039;t want to include 0 since that special case as well as negative ought to have specific reactions.	 &lt;br /&gt;
 ~%0%0#Hey! It can&#039;t be zero	 &lt;br /&gt;
 ~%0%-10000.0001:10000#We just want the size here,	 &lt;br /&gt;
 so a negative value is not what we want}			 &lt;br /&gt;
&lt;br /&gt;
Numerical questions could, before version 1.7, also have case-insensitive non-numerical answers. This is useful whenever the answer for a numerical question is something like +inf, -inf, NaN etc.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
This information was drawn from:&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=36521 Is there a guide to using the cloze format?] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=36430&amp;amp;parent=170308 Cloze-type question syntax] forum post&lt;br /&gt;
&lt;br /&gt;
[[fr:Question Cloze à réponses intégrés]]&lt;br /&gt;
[[ja: 穴埋め問題 ( Cloze ) タイプ]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=File:Cloze.gif&amp;diff=46456</id>
		<title>File:Cloze.gif</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=File:Cloze.gif&amp;diff=46456"/>
		<updated>2008-11-07T16:00:54Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=User:AMr_whatever!!&amp;diff=46446</id>
		<title>User:AMr whatever!!</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=User:AMr_whatever!!&amp;diff=46446"/>
		<updated>2008-11-07T11:41:03Z</updated>

		<summary type="html">&lt;p&gt;Whatever: /* Amr Hourani Contributions To Moodle Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Amr Hourani==&lt;br /&gt;
&lt;br /&gt;
Amman - Jordan&lt;br /&gt;
&lt;br /&gt;
Profile on Moodle: http://moodle.org/user/view.php?id=91386&amp;amp;course=1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Usually write codes, modules, block and course formats.. adding tricks and tips in moodle docs, helping moodle community in their technical problems.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Amr Hourani Contributions To Moodle Documentation==&lt;br /&gt;
&lt;br /&gt;
* 11:16, 7 November 2008 (hist) (diff) Performance‎ (→Performance of different Moodle modules) (top) &lt;br /&gt;
* 15:10, 5 November 2008 (hist) (diff) Cookie Sessions‎ (top) &lt;br /&gt;
* 15:00, 5 November 2008 (hist) (diff) Cookie Sessions‎ (New page: &#039;&#039;&#039;Troubleshooting&#039;&#039;&#039;) &lt;br /&gt;
* 14:53, 5 November 2008 (hist) (diff) admin/environment/php extension/zip‎ (top) &lt;br /&gt;
* 14:49, 5 November 2008 (hist) (diff) admin/environment/php extension/zip‎ &lt;br /&gt;
* 14:48, 5 November 2008 (hist) (diff) admin/environment/php extension/zip‎ &lt;br /&gt;
* 14:47, 5 November 2008 (hist) (diff) admin/environment/php extension/zip‎ &lt;br /&gt;
* 14:45, 5 November 2008 (hist) (diff) admin/environment/php extension/zip‎ (New page: The Zip PHP extension is required by * Moodle, info-ZIP binaries or PclZip library are not used anymore. This extension enables you to transparently read or write * * ZIP compressed archives and...) &lt;br /&gt;
* 01:30, 30 October 2008 (hist) (diff) File sharing block‎ &lt;br /&gt;
* 01:29, 30 October 2008 (hist) (diff) File sharing block‎ (New page: File sharing / File Manager block you can share your * documents/files/links with your colleagues.) &lt;br /&gt;
* 01:25, 30 October 2008 (hist) (diff) Weekly Tabs‎ (→Acknowledgements) &lt;br /&gt;
* 01:25, 30 October 2008 (hist) (diff) Skype module‎ &lt;br /&gt;
* 01:22, 30 October 2008 (hist) (diff) Skype module‎ (New page: The &#039;&#039;&#039;Skype Module&#039;&#039;&#039; interact with all teachers and students in a course using skype. Users must have a Skype ID in their profile, and must have at least Skype version 2.0.79 installed ...) &lt;br /&gt;
* 01:16, 30 October 2008 (hist) (diff) Weekly Tabs‎ &lt;br /&gt;
* 01:11, 30 October 2008 (hist) (diff) Weekly Tabs‎ &lt;br /&gt;
* 01:08, 30 October 2008 (hist) (diff) Weekly Tabs‎ (New page: Weekly Tabs Course Format ==Purpose== This is an optional course format for handling weeks in tabular style. the course view appears as a table with buttons captioned with numbers of week...) &lt;br /&gt;
* 01:07, 30 October 2008 (hist) (diff) Image:Coursetabs.gif‎ (course format: tabs) (top) &lt;br /&gt;
* 00:52, 30 October 2008 (hist) (diff) Course formats‎ (top) &lt;br /&gt;
* 12:15, 24 October 2008 (hist) (diff) User:aMr whatever!!‎ (top) &lt;br /&gt;
* 12:12, 24 October 2008 (hist) (diff) User:aMr whatever!!‎ (New page: Amr Hourani Amman - Jordan Profile on Moodle: http://moodle.org/user/view.php?id=91386&amp;amp;course=1) &lt;br /&gt;
* 12:05, 24 October 2008 (hist) (diff) Email settings‎ (→SMTP hosts) (top)&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=User:AMr_whatever!!&amp;diff=46445</id>
		<title>User:AMr whatever!!</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=User:AMr_whatever!!&amp;diff=46445"/>
		<updated>2008-11-07T11:34:15Z</updated>

		<summary type="html">&lt;p&gt;Whatever: /* Amr Hourani */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Amr Hourani==&lt;br /&gt;
&lt;br /&gt;
Amman - Jordan&lt;br /&gt;
&lt;br /&gt;
Profile on Moodle: http://moodle.org/user/view.php?id=91386&amp;amp;course=1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Usually write codes, modules, block and course formats.. adding tricks and tips in moodle docs, helping moodle community in their technical problems.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Amr Hourani Contributions To Moodle Documentation==&lt;br /&gt;
&lt;br /&gt;
11:16, 7 November 2008 (hist) (diff) Performance‎ (→Performance of different Moodle modules) (top) &lt;br /&gt;
15:10, 5 November 2008 (hist) (diff) Cookie Sessions‎ (top) &lt;br /&gt;
15:00, 5 November 2008 (hist) (diff) Cookie Sessions‎ (New page: &#039;&#039;&#039;Troubleshooting&#039;&#039;&#039;) &lt;br /&gt;
14:53, 5 November 2008 (hist) (diff) admin/environment/php extension/zip‎ (top) &lt;br /&gt;
14:49, 5 November 2008 (hist) (diff) admin/environment/php extension/zip‎ &lt;br /&gt;
14:48, 5 November 2008 (hist) (diff) admin/environment/php extension/zip‎ &lt;br /&gt;
14:47, 5 November 2008 (hist) (diff) admin/environment/php extension/zip‎ &lt;br /&gt;
14:45, 5 November 2008 (hist) (diff) admin/environment/php extension/zip‎ (New page: The Zip PHP extension is required by Moodle, info-ZIP binaries or PclZip library are not used anymore. This extension enables you to transparently read or write ZIP compressed archives and...) &lt;br /&gt;
01:30, 30 October 2008 (hist) (diff) File sharing block‎ &lt;br /&gt;
01:29, 30 October 2008 (hist) (diff) File sharing block‎ (New page: File sharing / File Manager block you can share your documents/files/links with your colleagues.) &lt;br /&gt;
01:25, 30 October 2008 (hist) (diff) Weekly Tabs‎ (→Acknowledgements) &lt;br /&gt;
01:25, 30 October 2008 (hist) (diff) Skype module‎ &lt;br /&gt;
01:22, 30 October 2008 (hist) (diff) Skype module‎ (New page: The &#039;&#039;&#039;Skype Module&#039;&#039;&#039; interact with all teachers and students in a course using skype. Users must have a Skype ID in their profile, and must have at least Skype version 2.0.79 installed ...) &lt;br /&gt;
01:16, 30 October 2008 (hist) (diff) Weekly Tabs‎ &lt;br /&gt;
01:11, 30 October 2008 (hist) (diff) Weekly Tabs‎ &lt;br /&gt;
01:08, 30 October 2008 (hist) (diff) Weekly Tabs‎ (New page: Weekly Tabs Course Format ==Purpose== This is an optional course format for handling weeks in tabular style. the course view appears as a table with buttons captioned with numbers of week...) &lt;br /&gt;
01:07, 30 October 2008 (hist) (diff) Image:Coursetabs.gif‎ (course format: tabs) (top) &lt;br /&gt;
00:52, 30 October 2008 (hist) (diff) Course formats‎ (top) &lt;br /&gt;
12:15, 24 October 2008 (hist) (diff) User:aMr whatever!!‎ (top) &lt;br /&gt;
12:12, 24 October 2008 (hist) (diff) User:aMr whatever!!‎ (New page: Amr Hourani Amman - Jordan Profile on Moodle: http://moodle.org/user/view.php?id=91386&amp;amp;course=1) &lt;br /&gt;
12:05, 24 October 2008 (hist) (diff) Email settings‎ (→SMTP hosts) (top)&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Performance_recommendations&amp;diff=46444</id>
		<title>Performance recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Performance_recommendations&amp;diff=46444"/>
		<updated>2008-11-07T11:16:53Z</updated>

		<summary type="html">&lt;p&gt;Whatever: /* Performance of different Moodle modules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location: &#039;&#039;Administration &amp;gt; Server &amp;gt; Performance&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moodle can be made to perform very well, at small usage levels or scaling up to many thousands of users. The factors involved in performance are basically the same as for any PHP-based database-driven system. When trying to optimize your server, try to focus on the factor which will make the most difference to the user. For example, if you have relatively more users browsing than accessing the database, look to improve the webserver performance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Obtain a baseline benchmark==&lt;br /&gt;
&lt;br /&gt;
Before attempting any optimization, you should obtain a baseline benchmark of the component of the system you are trying to improve. For Linux try [http://lbs.sourceforge.net/ LBS] and for Windows use the Performance Monitor. Once you have quantitative data about how your system is performing currently, you&#039;ll be able to determine if the change you have made as has any real impact.&lt;br /&gt;
&lt;br /&gt;
The overall aim of adjustments to improve performance is to use RAM (cacheing) and to reduce disk-based activity. It is especially important to try to eliminate swap file usage as much as you can. If your system starts swapping, this is a sign that you need more RAM. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;optimization order preference&#039;&#039;&#039; is usually: primary storage (more RAM), secondary storage (faster hard disks/improved hard disk configuration), processor (more and faster).&lt;br /&gt;
&lt;br /&gt;
==Scalability==&lt;br /&gt;
&lt;br /&gt;
Moodle&#039;s design (with clear separation of application layers) allows for strongly scalable setups. (Please check the list of [[Large installations|large Moodle installations]].)&lt;br /&gt;
&lt;br /&gt;
Large sites usually separate the web server and database onto separate servers, although for smaller installations this is typically not necessary.&lt;br /&gt;
&lt;br /&gt;
It is possible to load-balance a Moodle installation, for example by using more than one webserver. The separate webservers should query the same database and refer to the same filestore area, but otherwise the separation of the application layers is complete enough to make this kind of clustering feasible. Similarly, the database could be a cluster of servers (e.g. a MySQL cluster), but this is not an easy task and you should seek expert support, e.g. from a Moodle Partner.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See also&#039;&#039;&#039;: &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=4801 Scalability] forum discussion.&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=57202 Moodle clustering] forum discussion.&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=44470 Software load balancing] forum discussion.&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=49986 TCP load balancing] forum dicsussion.&lt;br /&gt;
&lt;br /&gt;
==Hardware configuration==&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: The fastest and most effective change that you can make to improve performance is to &#039;&#039;&#039;increase the amount of RAM on your web server&#039;&#039;&#039; - get as much as possible (eg 4GB). Increasing primary memory will reduce the need for processes to swap to disk and will enable your server to handle more users.&lt;br /&gt;
* Better performance is gained by obtaining the best &#039;&#039;&#039;processor capability&#039;&#039;&#039; you can, i.e. dual or dual core processors. A modern BIOS should allow you to enable hyperthreading, but check if this makes a difference to the overall performance of the processors by using a [http://en.wikipedia.org/wiki/Super_PI CPU benchmarking tool].&lt;br /&gt;
* If you can afford them, use &#039;&#039;&#039;SCSI hard disks&#039;&#039;&#039; instead of SATA drives. SATA drives will increase your system&#039;s CPU utilization, whereas SCSI drives have their own integrated processors and come into their own when you have multiple drives. If you must have SATA drives, check that your motherboard and the drives themselves support NCQ (Native Command Queuing).&lt;br /&gt;
* Purchase hard disks with a &#039;&#039;&#039;low seek time&#039;&#039;&#039;. This will improve the overall speed of your system, especially when accessing Moodle&#039;s reports.&lt;br /&gt;
* Size your &#039;&#039;&#039;swap file&#039;&#039;&#039; correctly. The general advice is to set it to 4 x physical RAM.&lt;br /&gt;
* Use a &#039;&#039;&#039;RAID disk system&#039;&#039;&#039;. Although there are many different RAID configurations you can create, the following generally works best:&lt;br /&gt;
** install a hardware RAID controller (if you can)&lt;br /&gt;
** the operating system and swap drive on one set of disks configured as RAID-1.&lt;br /&gt;
** Moodle, Web server and Database server on another set of disks configured as RAID-5.&lt;br /&gt;
* Use &#039;&#039;&#039;gigabit ethernet&#039;&#039;&#039; for improved latency and throughput. This is especially important when you have your webserver and database server separated out on different hosts.&lt;br /&gt;
* Check the settings on your &#039;&#039;&#039;network card&#039;&#039;&#039;. You may get an improvement in performance by increasing the use of buffers and transmit/receive descriptors (balance this with processor and memory overheads) and off-loading TCP checksum calculation onto the card instead of the OS.&lt;br /&gt;
*  Read this [http://moodle.org/mod/forum/discuss.php?d=68579 Case Study] on a server stress test with 300 users.  &lt;br /&gt;
*  See this [http://elearning.sgu.ac.jp/doc/PT/ accompanying report] on network traffic and server loads.&lt;br /&gt;
&lt;br /&gt;
==Operating System==&lt;br /&gt;
* You can use [http://en.wikipedia.org/wiki/Linux Linux](recommended), Unix-based, Windows or Mac OS X for the server &#039;&#039;&#039;operating system&#039;&#039;&#039;. *nix operating systems generally require less memory than Mac OS X or Windows servers for doing the same task as the server is configured with just a shell interface. Additionally Linux does not have licensing fees attached, but can have a big learning curve if you&#039;re used to another operating system. If you have a large number of processors running SMP, you may also want to consider using a highly tuned OS such as [http://en.wikipedia.org/wiki/Solaris_Operating_Environment Solaris].&lt;br /&gt;
* Check your own OS and &#039;&#039;&#039;vendor specific instructions&#039;&#039;&#039; for optimization steps.&lt;br /&gt;
** For Linux look at the [http://linuxperf.sourceforge.net/ Linux Performance Team] site. &lt;br /&gt;
** For Linux investigate the hdparm command, e.g. hdparm -m16 -d1 can be used to enable read/write on multiple sectors and DMA. Mount disks with the async and noatime options.&lt;br /&gt;
** For Windows set the sever to be optimized for network applications (Control Panel, Network Connections, LAN connection, Properties, File &amp;amp; Printer Sharing for Microsoft Networks, Properties, Optimization). You can also search the [http://technet.microsoft.com/ Microsoft TechNet site] for optimization documents.&lt;br /&gt;
&lt;br /&gt;
==Web server performance==&lt;br /&gt;
&lt;br /&gt;
Installing [http://www.mozilla.com/en-US/ Firefox] and the [https://addons.mozilla.org/en-US/firefox/addon/1843 firebug] extension will allow you to watch the time it takes for each page component to load. Also, the [https://addons.mozilla.org/en-US/firefox/addon/5369 Yslow] extension will evaluate your page against Yahoo&#039;s [http://www.skrenta.com/2007/05/14_rules_for_fast_web_pages_by_1.html 14 rules] ([http://video.yahoo.com/video/play?vid=1040890 video]) for fast loading websites.&lt;br /&gt;
&lt;br /&gt;
===PHP performance===&lt;br /&gt;
* You are strongly recommended to use a &#039;&#039;&#039;PHP accelerator&#039;&#039;&#039; to ease CPU load, such as [http://pecl.php.net/apc APC], [http://www.php-accelerator.co.uk/ PHPA], [http://trac.lighttpd.net/xcache/ Xcache] or [http://eaccelerator.net/ eAccelerator]. (Take care to choose a PHP accelerator that is known to work well with your version of PHP and note that Turck MMCache is [http://turckmmcache.exeprod.com/TheManifestoEnglish no longer maintained] and can cause failures with PHP 5). &lt;br /&gt;
* Improvements in read/write performance can be improved by putting the cached PHP pages on a [[TMPFS]] filesystem - but remember that you&#039;ll lose the cache contents when there is a power failure or the server is rebooted.&lt;br /&gt;
* Performance of PHP is better when installed as an &#039;&#039;&#039;Apache/IIS ISAPI module&#039;&#039;&#039; (rather than a CGI).&lt;br /&gt;
* Also check the &#039;&#039;&#039;memory_limit&#039;&#039;&#039; in php.ini, reduce it to 16M for Moodle version earlier than 1.7 ([http://moodle.org/mod/forum/discuss.php?d=39656 See this forum discussion]). For Moodle 1.7 or later, it is recommended that the value of memory_limit should be 40M. As of [http://www.php.net/ChangeLog-5.php PHP 5.2.1] the default value for the memory_limit directive is 128M.&lt;br /&gt;
&lt;br /&gt;
===Apache performance===&lt;br /&gt;
* If you are using Apache on a Windows server, use the build from [http://www.apachelounge.com Apache Lounge] which is reported to have [http://moodle.org/mod/forum/discuss.php?d=93358 performance and stability improvements] compared to the official Apache download. Note that this is an unofficial build, so may not keep up with official releases.&lt;br /&gt;
* Set the &#039;&#039;&#039;MaxClients&#039;&#039;&#039; directive correctly. Use this formula to help (which uses 80% of available memory to leave room for spare):&lt;br /&gt;
 MaxClients = Total available memory * 80% / Max memory usage of apache process&lt;br /&gt;
:Memory usage of apache process is usually 10MB, so a general rule of thumb is to divide your available memory in megabytes by 10 to get the value of MaxClients. To find the max memory usage of apache processes read the value from the shell command:&lt;br /&gt;
 #ps -ylC httpd --sort:rss&lt;br /&gt;
&lt;br /&gt;
:If you need to increase the value of &#039;&#039;&#039;MaxClients&#039;&#039;&#039; beyond 256, you will also need to set the &#039;&#039;&#039;ServerLimit&#039;&#039;&#039; directive. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Warning&#039;&#039;&#039;: Do not be tempted to set the value of MaxClients higher than your available memory as your server will consume more RAM than available and start to swap to disk. &lt;br /&gt;
* Consider reducing the &#039;&#039;&#039;number of modules&#039;&#039;&#039; that Apache loads in the httpd.conf file to the minumum necessary to reduce the memory needed. &lt;br /&gt;
* Use the &#039;&#039;&#039;latest version of Apache&#039;&#039;&#039; - Apache 2 has an improved memory model which reduces memory usage further.&lt;br /&gt;
* For Unix/Linux systems, consider lowering &#039;&#039;&#039;MaxRequestsPerChild&#039;&#039;&#039; in httpd.conf to as low as 20-30 (if you set it any lower the overhead of forking begins to outweigh the benefits). &lt;br /&gt;
* For a heavily loaded server, consider setting &#039;&#039;&#039;KeepAlive Off&#039;&#039;&#039; (do this only if your Moodle pages do not contain links to resources or uploaded images) or lowering the &#039;&#039;&#039;KeepAliveTimeout&#039;&#039;&#039; to between 2 and 5. The default is 15 (seconds) - the higher the value the more server processes will be kept waiting for possibly idle connections. A more accurate value for KeepAliveTimeout is obtained by observing how long it takes your users to download a page. After altering any of the KeepAlive variables, monitor your CPU utilization as there may be an additional overhead in initiating more worker processes/threads.&lt;br /&gt;
* As an alternative to using KeepAlive Off, consider setting-up a &#039;&#039;&#039;Reverse Proxy server&#039;&#039;&#039; infront of the Moodle server to cache HTML files with images. You can then return Apache to using keep-alives on the Moodle server.&lt;br /&gt;
* If you do not use a .htaccess file, set the &#039;&#039;&#039;AllowOverride&#039;&#039;&#039; variable to AllowOverride None to prevent .htaccess lookups.&lt;br /&gt;
* Set &#039;&#039;&#039;DirectoryIndex&#039;&#039;&#039; correctly so as to avoid content-negotiation. Here&#039;s an example from a production server:&lt;br /&gt;
 DirectoryIndex index.php index.html index.htm&lt;br /&gt;
* Unless you are doing development work on the server, set &#039;&#039;&#039;ExtendedStatus Off&#039;&#039;&#039; and disable mod_info as well as mod_status.&lt;br /&gt;
* Leave &#039;&#039;&#039;HostnameLookups Off&#039;&#039;&#039; (as default) to reduce DNS latency.&lt;br /&gt;
* Consider reducing the value of &#039;&#039;&#039;TimeOut&#039;&#039;&#039; to between 30 to 60 (seconds). &lt;br /&gt;
* For the &#039;&#039;&#039;Options directive&#039;&#039;&#039;, avoid Options Multiviews as this performs a directory scan. To reduce disk I/O further use&lt;br /&gt;
 Options -Indexes FollowSymLinks&lt;br /&gt;
*&#039;&#039;&#039;Caching&#039;&#039;&#039; - Apache can be told to make pages load a lot faster by specifying that the browser should cache some various page elements such as images and reuse them from local memory rather than ask for them again every time a page is requested. How to do this varies slightly between OSes but there are two basic steps:&lt;br /&gt;
&lt;br /&gt;
# Install and enable mod_expires - refer to documentation or man pages&lt;br /&gt;
# Add this code to the virtual server config file within the &amp;lt;directory&amp;gt; section for the root directory (or within the .htaccess file if AllowOverrides is On):&lt;br /&gt;
 &amp;lt;IfModule mod_expires.c&amp;gt;&lt;br /&gt;
  ExpiresActive On&lt;br /&gt;
  ExpiresDefault &amp;quot;access plus 1 seconds&amp;quot;&lt;br /&gt;
  ExpiresByType text/html &amp;quot;access plus 1 seconds&amp;quot;&lt;br /&gt;
  ExpiresByType image/gif &amp;quot;access plus 1 week&amp;quot;&lt;br /&gt;
  ExpiresByType image/jpeg &amp;quot;access plus 1 week&amp;quot;&lt;br /&gt;
  ExpiresByType image/png &amp;quot;access plus 1 week&amp;quot;&lt;br /&gt;
  ExpiresByType text/css &amp;quot;access plus 1 week&amp;quot;&lt;br /&gt;
  ExpiresByType text/javascript &amp;quot;access plus 1 week&amp;quot;&lt;br /&gt;
  ExpiresByType application/x-javascript &amp;quot;access plus 1 week&amp;quot;&lt;br /&gt;
  ExpiresByType text/xml &amp;quot;access plus 1 seconds&amp;quot;&lt;br /&gt;
 &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The effect is to make everything stay in the cache except HTML and XML, which change dynamically. It&#039;s possible to gain a several hundred percent decrease in load times this way. Adjust the cache times according to how often your images etc change.&lt;br /&gt;
&lt;br /&gt;
More info: [http://www.metaskills.net/blog/heuristics/sysadmin/how-to-control-browser-caching-with-apache-2 www.metaskills.net]&lt;br /&gt;
&lt;br /&gt;
===IIS performance===&lt;br /&gt;
All alter this location in the registry:&lt;br /&gt;
 HKLM\SYSTEM\CurrentControlSet\Services\Inetinfo\Parameters\&lt;br /&gt;
* The equivalent to KeepAliveTimeout is &#039;&#039;&#039;ListenBackLog&#039;&#039;&#039; (IIS - registry location is HKLM\ SYSTEM\ CurrentControlSet\ Services\ Inetinfo\ Parameters). Set this to between 2 to 5.&lt;br /&gt;
*Change the &#039;&#039;&#039;MemCacheSize&#039;&#039;&#039; value to adjust the amount of memory (Mb) that IIS will use for its file cache (50% of available memory by default).&lt;br /&gt;
*Change the &#039;&#039;&#039;MaxCachedFileSize&#039;&#039;&#039; to adjust the maximum size of a file cached in the file cache in bytes. Default is 262,144 (256K).&lt;br /&gt;
*Create a new DWORD called &#039;&#039;&#039;ObjectCacheTTL&#039;&#039;&#039; to change the length of time (in milliseconds) that objects in the cache are held in memory. Default is 30,000 milliseconds (30 seconds).&lt;br /&gt;
&lt;br /&gt;
===Lighttpd performance===&lt;br /&gt;
You can increase web server performance by using the &#039;&#039;&#039;light-weight webserver&#039;&#039;&#039; [http://www.lighttpd.net/ lighttpd] in combination with PHP in fastCGI-mode. Lighttpd has a lower memory consumption than Apache - typically 10M for each process. See this [[lighttpd | MoodleDocs Lighttpd page]] for configuration and administration links.&lt;br /&gt;
&lt;br /&gt;
==Database performance==&lt;br /&gt;
&lt;br /&gt;
Moodle contains a script which will display some key database performance statistics from the [http://phplens.com/lens/adodb/docs-perf.htm ADOdb performance monitor]. Run the script in your browser as in the following example:&lt;br /&gt;
&lt;br /&gt;
 http://www.mymoodle.com/admin/dbperformance.php&lt;br /&gt;
&lt;br /&gt;
Use the data displayed as a guide to tune and improve the performance of your database server.&lt;br /&gt;
&lt;br /&gt;
===MySQL performance===&lt;br /&gt;
&lt;br /&gt;
The following are MySQL specific settings which can be adjusted for better performance in your my.cnf (my.ini in Windows). The file contains a list of settings and their values. To see the current values use these commands&lt;br /&gt;
 SHOW STATUS;&lt;br /&gt;
 SHOW VARIABLES; &lt;br /&gt;
&#039;&#039;&#039;Important&#039;&#039;&#039;: You must make backups of your database before attempting to change any MySQL server configuration. After any change to the my.cnf, restart mysqld.&lt;br /&gt;
* Enable the &#039;&#039;&#039;query cache&#039;&#039;&#039; with &lt;br /&gt;
 query_cache_type = 1. &lt;br /&gt;
For most Moodle installs, set the following:&lt;br /&gt;
 query_cache_size = 36M &lt;br /&gt;
 query_cache_min_res_unit = 2K. &lt;br /&gt;
The query cache will improve performance if you are doing few updates on the database. &lt;br /&gt;
* Set the &#039;&#039;&#039;table cache&#039;&#039;&#039; correctly. For Moodle 1.6 set &lt;br /&gt;
 table_cache = 256 &lt;br /&gt;
(min), and for Moodle 1.7 set &lt;br /&gt;
 table_cache = 512 &lt;br /&gt;
(min). The table cache is used by all threads (connections), so monitor the value of opened_tables to further adjust - if opened_tables &amp;gt; 3 * table_cache then increase table_cache upto your OS limit. Note also that the figure for table_cache will also change depending on the number of modules and plugins you have installed. Find the number for your server by executing the mysql statement below. Look at the number returned and set table_cache to this value.&lt;br /&gt;
 mysql&amp;gt;SELECT COUNT(table_name) FROM information_schema.tables WHERE table_schema=&#039;yourmoodledbname&#039;;&lt;br /&gt;
* Set the &#039;&#039;&#039;thread cache&#039;&#039;&#039; correctly. Adjust the value so that your thread cache utilization is as close to 100% as possible by this formula:&lt;br /&gt;
 thread cache utilization (%) = (threads_created / connections) * 100&lt;br /&gt;
* The &#039;&#039;&#039;key buffer&#039;&#039;&#039; can improve the access speed to Moodle&#039;s SELECT queries. The correct size depends on the size of the index files (.myi) and in Moodle 1.6 or later (without any additional modules and plugins), the recommendation for this value is key_buffer_size = 32M. Ideally you want the database to be reading once from the disk for every 100 requests so monitor that the value is suitable for your install by adjusting the value of key_buffer_size so that the following formulas are true:&lt;br /&gt;
 key_read / key_read_requests &amp;lt; 0.01&lt;br /&gt;
 key_write / key_write_requests &amp;lt;= 1.0&lt;br /&gt;
* Set the &#039;&#039;&#039;maximum number of connections&#039;&#039;&#039; so that your users will not see a &amp;quot;Too many connections&amp;quot; message. Be careful that this may have an impact on the total memory used. MySQL connections usually last for milliseconds, so it is unusual even for a heavily loaded server for this value to be over 200.&lt;br /&gt;
* Manage &#039;&#039;&#039;high burst activity&#039;&#039;&#039;. If your Moodle install uses a lot of quizzes and you are experiencing performance problems (check by monitoring the value of threads_connected - it should not be rising) consider increasing the value of back_log.&lt;br /&gt;
* &#039;&#039;&#039;Optimize your tables weekly and after upgrading Moodle&#039;&#039;&#039;. It is good practice to also optimize your tables after performing a large data deletion exercise, e.g. at the end of your semester or academic year. This will ensure that index files are up to date. Backup your database first and then use:&lt;br /&gt;
 mysql&amp;gt;CHECK TABLE mdl_tablename;&lt;br /&gt;
 mysql&amp;gt;OPTIMIZE TABLE mdl_tablename;&lt;br /&gt;
:The common tables in Moodle to check are mdl_course_sections, mdl_forum_posts, mdl_log and mdl_sessions (if using dbsessions). Any errors need to be corrected using REPAIR TABLE (see the [http://dev.mysql.com/doc/refman/5.0/en/repair-table.html MySQL manual] and this [http://moodle.org/mod/forum/discuss.php?d=58208#p279638 forum script]).&lt;br /&gt;
* &#039;&#039;&#039;Maintain the key distribution&#039;&#039;&#039;. Every month or so it is a good idea to stop the mysql server and run these myisamchk commands.&lt;br /&gt;
 #myisamchk -a -S /pathtomysql/data/moodledir/*.MYI&lt;br /&gt;
:&#039;&#039;&#039;Warning&#039;&#039;&#039;: You must stop the mysql database process (mysqld) before running any myisamchk command. If you do not, you risk data loss.&lt;br /&gt;
* Reduce the number of &#039;&#039;&#039;temporary tables saved to disk&#039;&#039;&#039;. Check this with the created_tmp_disk_tables value. If this is relatively large (&amp;gt;5%) increase tmp_table_size until you see a reduction. Note that this will have an impact on RAM usage.&lt;br /&gt;
* Moodle&#039;s tables are in the MyISAM format, so &#039;&#039;&#039;turn InnoDB off&#039;&#039;&#039; as there is no performance gain. Add &amp;lt;code&amp;gt;skip-innodb&amp;lt;/code&amp;gt; to your &amp;lt;code&amp;gt;my.cnf&amp;lt;/code&amp;gt; file. If you must use InnoDB, you&#039;ll have to convert all of Moodle&#039;s tables. To do this run the innodb script:&lt;br /&gt;
&lt;br /&gt;
 http://www.mymoodle.com/admin/innodb.php&lt;br /&gt;
&lt;br /&gt;
:See also [http://moodle.org/mod/forum/discuss.php?d=12961 this forum discussion] which looks at the MyISAM vs InnoDB options.&lt;br /&gt;
&lt;br /&gt;
===PostgreSQL performance===&lt;br /&gt;
&lt;br /&gt;
There are some good papers around on tuning PostgreSQL, and Moodle&#039;s case does not seem to be different to the general case.&lt;br /&gt;
&lt;br /&gt;
The first thing to recognise is that if you really need to worry about tuning you should be using a separate machine for the database server. If you are not using a separate machine then the answers to many performance questions are substantially muddied by the memory requirements of the rest of the application.&lt;br /&gt;
&lt;br /&gt;
You should probably &#039;&#039;&#039;enable autovacuum&#039;&#039;&#039;, unless you know what you are doing. Many e-learning sites have predictable periods of low use, so disabling autovacuum and running a specific vacuum at those times can be a good option. Or perhaps leave autovacuum running but do a full vacuum weekly in a quiet period.&lt;br /&gt;
&lt;br /&gt;
Set &#039;&#039;&#039;shared_buffers&#039;&#039;&#039; to something reasonable. For versions up to 8.1 my testing has shown that peak performance is almost always obtained with buffers &amp;lt; 10000, so if you are using such a version, and have more than 512M of RAM just set shared_buffers to 10,000 (8MB).&lt;br /&gt;
&lt;br /&gt;
The buffer management had a big overhaul in 8.2 and &amp;quot;reasonable&amp;quot; is now a much larger number. I have not conducted performance tests with 8.2, but the recommendations from others are generally that you should now scale shared_buffers much more with memory and may continue to reap benefits even up to values like 100,000 (80MB). Consider using 1-2% of system RAM.&lt;br /&gt;
&lt;br /&gt;
PostgreSQL will also assume that the operating system is caching its files, so setting &#039;&#039;&#039;effective_cache_size&#039;&#039;&#039; to a reasonable value is also a good idea. A reasonable value will usually be (total RAM - RAM in use by programs). If you are running Linux and leave the system running for a day or two you can look at &#039;free&#039; and under the &#039;cached&#039; column you will see what it currently is. Consider taking that number (which is kB) and dividing it by 10 (i.e. allow 20% for other programs cache needs and then divide by 8 to get pages). If you are not using a dedicated database server you will need to decrease that value to account for usage by other programs.&lt;br /&gt;
&lt;br /&gt;
Some other useful parameters that can have positive effects, and the values I would typically set them to on a machine with 4G RAM, are:&lt;br /&gt;
&lt;br /&gt;
 work_mem = 10240&lt;br /&gt;
&lt;br /&gt;
That&#039;s 10M of RAM to use instead of on-disk sorting and so forth. That can give a big speed increase, but it is per connection and 200 connections * 10M is 2G, so it can theoretically chew up a lot of RAM.&lt;br /&gt;
&lt;br /&gt;
 maintenance_work_mem = 163840&lt;br /&gt;
&lt;br /&gt;
That&#039;s 160M of RAM which will be used by (e.g.) VACUUM, index rebuild, cluster and so forth. This should only be used periodically and should be freed when those processes exit, so I believe it is well worth while.&lt;br /&gt;
&lt;br /&gt;
 max_fsm_pages = 100000&lt;br /&gt;
 max_fsm_relations = 5000&lt;br /&gt;
&lt;br /&gt;
These are used to hold the free-space map, and if they are too small you will see performance degradation after the database has been operating for some time. The exact numbers to set can be gleaned from the output of VACUUM VERBOSE, which prints the required FSM pages at the end of it&#039;s run. The 5x increase seems to be useful for a Moodle installation, from experience.&lt;br /&gt;
&lt;br /&gt;
 wal_buffers = 64&lt;br /&gt;
&lt;br /&gt;
These buffers are used for the write-ahead log, and there have been a number of reports on the PostgreSQL mailing lists of improvement from this level of increase.&lt;br /&gt;
&lt;br /&gt;
This is a little out of date now (version 8.0) but still worth a read: http://www.powerpostgresql.com/Docs&lt;br /&gt;
&lt;br /&gt;
And there is lots of good stuff here as well: http://www.varlena.com/varlena/GeneralBits/Tidbits/index.php&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Based on Andrew McMillan&#039;s post at [http://moodle.org/mod/forum/discuss.php?d=68558 Tuning PostgreSQL] forum thread.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Other database performance links===&lt;br /&gt;
* Consider using a &#039;&#039;&#039;distributed cacheing system&#039;&#039;&#039; like [http://en.wikipedia.org/wiki/Memcached memcached] but note that memcached does not have any security features so it should be used behind a firewall.&lt;br /&gt;
* Consider using PostgreSQL. See [[Arguments in favour of PostgreSQL]] and [http://moodle.org/mod/forum/discuss.php?d=49195 how to migrate from MySQL to PostgreSQL] (forum discussion).&lt;br /&gt;
* [[Increasing the database connection lifetime | Try increasing the database connection lifetime]]&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.0/en/server-parameters.html General advice on tuning MySQL parameters] (advice from the MySQL manual)&lt;br /&gt;
* [http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/ InnoDB performance optimization] taken from the [http://www.mysqlperformanceblog.com/ MySQL performance blog] site.&lt;br /&gt;
&lt;br /&gt;
==Moodle Admin settings==&lt;br /&gt;
* In Moodle 1.7 or later, set the &#039;&#039;&#039;Cache type&#039;&#039;&#039; for your server: Site Admin -&amp;gt; Server -&amp;gt; Performance -&amp;gt; Cache type. There are several options available. &lt;br /&gt;
:*If you do not have eaccelerator or mmemcached installed, choose &amp;quot;internal&amp;quot; (which makes use of the record/internal cache - see the next bullet point). &lt;br /&gt;
:* If you have a single server and have compiled &#039;&#039;&#039;eaccelerator with shared memory support&#039;&#039;&#039;, set the cache type to the eaccelerator option. &lt;br /&gt;
:* If you have a &#039;&#039;&#039;separate memcached server&#039;&#039;&#039;, set the cache type to memcached and enter a csv list of server IP addresses.&lt;br /&gt;
* Enable the &#039;&#039;&#039;record/internal cache&#039;&#039;&#039;: Site Admin -&amp;gt; Server -&amp;gt; Performance -&amp;gt; Record cache = True. Set the maximum amount of memory allocated to the cache in the Int Cache Max box. This will enable a primary cache for database records, without using any database engine cache, e.g. MySQL/PostgreSQL cache. See [http://tracker.moodle.org/browse/MDL-7196 this Tracker entry] for a full discussion.&lt;br /&gt;
* Enable the &#039;&#039;&#039;language cache&#039;&#039;&#039;.&lt;br /&gt;
* Large log files can cause overall performance to degrade over time. If you observe that the site has gradually got slower loading pages in the browser, &#039;&#039;&#039;reduce your Log life time&#039;&#039;&#039; setting (Admin/Server/Cleanup).&lt;br /&gt;
* Performance can be greatly improved by allowing Moodle to use the system &#039;&#039;&#039;zip/unzip&#039;&#039;&#039; commands (rather than PHP-based zip libraries) - visit Admin/Server/System Paths and enter the path to the relevant executables. (Similarly, filling in the path to &#039;&#039;&#039;du&#039;&#039;&#039; will improve Moodle&#039;s speed at listing directory contents.)&lt;br /&gt;
* Note that using &#039;&#039;&#039;secure web connections&#039;&#039;&#039; (&#039;&#039;&#039;https&#039;&#039;&#039; rather than &#039;&#039;&#039;http&#039;&#039;&#039;) carries a higher processing burden, both for the webserver and the client - particularly because cacheing cannot be used as effectively, so the number of file requests is likely to increase dramatically. For this reason using https for all Moodle pages is not recommended. You can enable https just for the login screen, simply from Moodle&#039;s config page.&lt;br /&gt;
* Check your &#039;&#039;&#039;filters&#039;&#039;&#039;. Having too many filters active can have serious effects on server load, especially on lower-end systems. The number of active filters has a direct effect on the perceived latency of your site; that is the time taken for each page impression. &lt;br /&gt;
* Enable the &#039;&#039;&#039;text cache&#039;&#039;&#039; but do not &amp;quot;Filter all strings&amp;quot; unless you have a specific need. If in doubt profile the performance, and see how your changes affect the processing time.&lt;br /&gt;
* Check your &#039;&#039;&#039;anti-virus&#039;&#039;&#039; measures on the server.  Although they are useful for preventing security holes being exploited, some &amp;quot;On-Demand&amp;quot; scanners can affect performance by scanning page content (word, ppt files etc).&lt;br /&gt;
* If there are performance problems loading course pages, check the &#039;&#039;&#039;Resource module settings&#039;&#039;&#039;. The setting resource_filterexternalpages is known to slow-down course pages and should be set to &#039;No&#039; for better performance.&lt;br /&gt;
* Check your &#039;&#039;&#039;forum settings&#039;&#039;&#039;. To improve performance set forum_trackreadposts = No and forum_usermarksread = Yes (this will impact on the convenience of your users&#039; forum experience). Also consider setting the time of the day when old posts are cleared from the read table (forum_cleanreadtime) to when your site is less busy.&lt;br /&gt;
&lt;br /&gt;
==Performance of different Moodle modules==&lt;br /&gt;
&lt;br /&gt;
Moodle&#039;s activity modules, filters, and other plugins can be activated/deactivated. If necessary, you may wish to deactivate some features (such as chat) if not required - but this isn&#039;t necessary. Some notes on the performance of certain modules:&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;Chat&#039;&#039;&#039; module is [http://moodle.org/mod/forum/discuss.php?d=37979&amp;amp;parent=175079 said] to be a hog in terms of frequent HTTP requests to the main server. This can be reduced by setting the module to use &#039;&#039;Streamed&#039;&#039; updates, or, if you&#039;re using a Unix-based webserver, by running the chat in daemon mode. When using the Chat module use the configuration settings to tune for your expected load. Pay particular attention to the &#039;&#039;chat_old_ping&#039;&#039; and &#039;&#039;chat_refresh&#039;&#039; parameters as these can have greatest impact on server load.&lt;br /&gt;
* The &#039;&#039;&#039;Quiz&#039;&#039;&#039; module is known to stretch database performance. Try to optimise your database server by tuning. See [http://moodle.org/mod/forum/discuss.php?d=25616&amp;amp;parent=120770 for a brief report on performance for 55 students simultaneously using quizzes]&lt;br /&gt;
** See this Case Study for an extensive server stress test with 300 quiz users.[http://moodle.org/mod/forum/discuss.php?d=68579]  And this accompanying report on network traffic and server loads. [http://elearning.sgu.ac.jp/doc/PT/]&lt;br /&gt;
* The Moodle &#039;&#039;&#039;Cron&#039;&#039;&#039; task is triggered by calling the script &#039;&#039;cron.php&#039;&#039;. If this is called over HTTP (e.g. using wget or curl) it can take a large amount of memory on large installations. If it is called by directly invoking the php command (e.g. &#039;&#039;php -f /path/to/moodle/directory/admin/cron.php&#039;&#039;) efficiency can be much improved.&lt;br /&gt;
* The &#039;&#039;&#039;Recent activities&#039;&#039;&#039; block is consuming to much resources if you hvae huge number of records &amp;lt;code&amp;gt;mdl_log&amp;lt;/code&amp;gt;. this is being tested to optimize the SQL query.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Performance FAQ]]&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/view.php?f=94 Hardware and Performance forum]&lt;br /&gt;
&lt;br /&gt;
There have been a lot of discussions on moodle.org about performance, here are some of the more interesting and (potentially) useful ones:&lt;br /&gt;
&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=83057 Performance woes!]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=57028 Performance perspectives - a little script]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=88927 Comments on planned server hardware]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=102978#p461624 Moodle performance in a pil by Martin Langhoff]&lt;br /&gt;
[[Category:Performance]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Performance]]&lt;br /&gt;
[[ja:パフォーマンス]]&lt;br /&gt;
[[pl:Wydajność]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Cookie_Sessions&amp;diff=46259</id>
		<title>Cookie Sessions</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Cookie_Sessions&amp;diff=46259"/>
		<updated>2008-11-05T15:10:12Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Troubleshooting&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some users get the following error when trying to login to there moodle: &amp;lt;code&amp;gt;A server error that affects your login session was detected. Please login again or restart your browser&amp;lt;/code&amp;gt;&lt;br /&gt;
or even: &amp;lt;code&amp;gt;Your session has timed out. Please login again&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* check and fix your permissions in moodledata/session -- set it to 0777&lt;br /&gt;
* check config.php, it should NOT has any spaces/new lines at the end of code. Repeat this on all moodle php files you lately changed, such as course/lib.php&lt;br /&gt;
* In admin &amp;gt; server &amp;gt; session handling &amp;gt; &amp;quot;Cookie Prefix&amp;quot; put something in the Cookie prefix field that is different for each of your moodle sites, and it should improve the issue with multiple sites on the same url.&lt;br /&gt;
* test your server&#039;s sessions by running session test on http://yourserver/moodle/lib/session-test.php&lt;br /&gt;
* check your phpinfo(); if it session handeling is configured correctly or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auther: Amr Hourani a [dot] hourani [at] gmail [dont] com&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Cookies]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Cookie_Sessions&amp;diff=46257</id>
		<title>Cookie Sessions</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Cookie_Sessions&amp;diff=46257"/>
		<updated>2008-11-05T15:00:18Z</updated>

		<summary type="html">&lt;p&gt;Whatever: New page: &amp;#039;&amp;#039;&amp;#039;Troubleshooting&amp;#039;&amp;#039;&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Troubleshooting&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=admin/environment/php_extension/zip&amp;diff=46256</id>
		<title>admin/environment/php extension/zip</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=admin/environment/php_extension/zip&amp;diff=46256"/>
		<updated>2008-11-05T14:53:42Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Why needed?&#039;&#039;&#039;&lt;br /&gt;
This extension enables you to transparently read or write ZIP compressed archives and the files inside them. &lt;br /&gt;
&lt;br /&gt;
The Zip PHP extension is required by Moodle, info-ZIP binaries or PclZip library are not used anymore.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the Zip file functions to work on your server, these libraries must be installed:&lt;br /&gt;
&lt;br /&gt;
* The ZZIPlib library by Guido Draheim: http://zziplib.sourceforge.net/download.html&lt;br /&gt;
* The Zip PELC extension: http://snaps.php.net/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation on Linux Systems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP 5+: Zip functions and the Zip library is not enabled by default and must be downloaded from the links above. Use the &amp;lt;code&amp;gt;--with-zip=DIR&amp;lt;/code&amp;gt; configure option to include Zip support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation on Windows Systems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP 5+: Zip functions is not enabled by default, so the php_zip.dll and the ZZIPlib library must be downloaded from the link above. php_zip.dll must be enabled inside of php.ini. &lt;br /&gt;
&lt;br /&gt;
To enable any PHP extension, the PHP extension_dir setting (in the php.ini file) should be set to the directory where the PHP extensions are located. An example extension_dir value is c:\php\ext.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Environment|php extension]]&lt;br /&gt;
[[Category:ZIP]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=admin/environment/php_extension/zip&amp;diff=46255</id>
		<title>admin/environment/php extension/zip</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=admin/environment/php_extension/zip&amp;diff=46255"/>
		<updated>2008-11-05T14:49:55Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Zip PHP extension is required by Moodle, info-ZIP binaries or PclZip library are not used anymore.&lt;br /&gt;
This extension enables you to transparently read or write ZIP compressed archives and the files inside them. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the Zip file functions to work on your server, these libraries must be installed:&lt;br /&gt;
&lt;br /&gt;
•The ZZIPlib library by Guido Draheim: http://zziplib.sourceforge.net/download.html&lt;br /&gt;
 &lt;br /&gt;
•The Zip PELC extension: http://snaps.php.net/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation on Linux Systems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP 5+: Zip functions and the Zip library is not enabled by default and must be downloaded from the links above. Use the --with-zip=DIR configure option to include Zip support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation on Windows Systems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP 5+: Zip functions is not enabled by default, so the php_zip.dll and the ZZIPlib library must be downloaded from the link above. php_zip.dll must be enabled inside of php.ini. &lt;br /&gt;
&lt;br /&gt;
To enable any PHP extension, the PHP extension_dir setting (in the php.ini file) should be set to the directory where the PHP extensions are located. An example extension_dir value is c:\php\ext.&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=admin/environment/php_extension/zip&amp;diff=46254</id>
		<title>admin/environment/php extension/zip</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=admin/environment/php_extension/zip&amp;diff=46254"/>
		<updated>2008-11-05T14:48:15Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Zip PHP extension is required by Moodle, info-ZIP binaries or PclZip library are not used anymore.&lt;br /&gt;
This extension enables you to transparently read or write ZIP compressed archives and the files inside them. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For the Zip file functions to work on your server, these libraries must be installed:&lt;br /&gt;
&lt;br /&gt;
•The ZZIPlib library by Guido Draheim: Download the ZZIPlib library &lt;br /&gt;
•The Zip PELC extension: Download the Zip PELC extension &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation on Linux Systems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP 5+: Zip functions and the Zip library is not enabled by default and must be downloaded from the links above. Use the --with-zip=DIR configure option to include Zip support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation on Windows Systems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP 5+: Zip functions is not enabled by default, so the php_zip.dll and the ZZIPlib library must be downloaded from the link above. php_zip.dll must be enabled inside of php.ini. &lt;br /&gt;
&lt;br /&gt;
To enable any PHP extension, the PHP extension_dir setting (in the php.ini file) should be set to the directory where the PHP extensions are located. An example extension_dir value is c:\php\ext.&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=admin/environment/php_extension/zip&amp;diff=46253</id>
		<title>admin/environment/php extension/zip</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=admin/environment/php_extension/zip&amp;diff=46253"/>
		<updated>2008-11-05T14:47:20Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Zip PHP extension is required by Moodle, info-ZIP binaries or PclZip library are not used anymore.&lt;br /&gt;
This extension enables you to transparently read or write ZIP compressed archives and the files inside them. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation&#039;&#039;&#039;&lt;br /&gt;
For the Zip file functions to work on your server, these libraries must be installed:&lt;br /&gt;
&lt;br /&gt;
•The ZZIPlib library by Guido Draheim: Download the ZZIPlib library &lt;br /&gt;
•The Zip PELC extension: Download the Zip PELC extension &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation on Linux Systems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP 5+: Zip functions and the Zip library is not enabled by default and must be downloaded from the links above. Use the --with-zip=DIR configure option to include Zip support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Installation on Windows Systems&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
PHP 5+: Zip functions is not enabled by default, so the php_zip.dll and the ZZIPlib library must be downloaded from the link above. php_zip.dll must be enabled inside of php.ini. &lt;br /&gt;
&lt;br /&gt;
To enable any PHP extension, the PHP extension_dir setting (in the php.ini file) should be set to the directory where the PHP extensions are located. An example extension_dir value is c:\php\ext.&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=admin/environment/php_extension/zip&amp;diff=46252</id>
		<title>admin/environment/php extension/zip</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=admin/environment/php_extension/zip&amp;diff=46252"/>
		<updated>2008-11-05T14:45:37Z</updated>

		<summary type="html">&lt;p&gt;Whatever: New page: The Zip PHP extension is required by Moodle, info-ZIP binaries or PclZip library are not used anymore. This extension enables you to transparently read or write ZIP compressed archives and...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Zip PHP extension is required by Moodle, info-ZIP binaries or PclZip library are not used anymore.&lt;br /&gt;
This extension enables you to transparently read or write ZIP compressed archives and the files inside them. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Installation]]&lt;br /&gt;
For the Zip file functions to work on your server, these libraries must be installed:&lt;br /&gt;
&lt;br /&gt;
•The ZZIPlib library by Guido Draheim: Download the ZZIPlib library &lt;br /&gt;
•The Zip PELC extension: Download the Zip PELC extension &lt;br /&gt;
&lt;br /&gt;
[[Installation on Linux Systems]]&lt;br /&gt;
&lt;br /&gt;
PHP 5+: Zip functions and the Zip library is not enabled by default and must be downloaded from the links above. Use the --with-zip=DIR configure option to include Zip support.&lt;br /&gt;
&lt;br /&gt;
[[Installation on Windows Systems]]&lt;br /&gt;
&lt;br /&gt;
PHP 5+: Zip functions is not enabled by default, so the php_zip.dll and the ZZIPlib library must be downloaded from the link above. php_zip.dll must be enabled inside of php.ini. &lt;br /&gt;
&lt;br /&gt;
To enable any PHP extension, the PHP extension_dir setting (in the php.ini file) should be set to the directory where the PHP extensions are located. An example extension_dir value is c:\php\ext.&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Skype_module&amp;diff=45944</id>
		<title>Skype module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Skype_module&amp;diff=45944"/>
		<updated>2008-10-30T01:25:39Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Skype Module&#039;&#039;&#039; interact with all teachers and students in a course using skype.  Users must have a Skype ID in their profile, and must have at least Skype version 2.0.79 installed and configured correctly for this block to recognize them.&lt;br /&gt;
&lt;br /&gt;
With this module, you can make Video calling, send files, chat, send sms, and use skype cast with your collegues!&lt;br /&gt;
&lt;br /&gt;
There are two types: tutor to tutor skype and Tutor/Student to Student skype.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This module was created by [http://moodle.org/user/view.php?id=91386&amp;amp;course=1 Amr Hourani].&lt;br /&gt;
Community input also guided the development of this module.  The lastest version of this module (with installation instructions) can be found here:&lt;br /&gt;
&lt;br /&gt;
[http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=1108 Skype Module]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Skype_module&amp;diff=45943</id>
		<title>Skype module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Skype_module&amp;diff=45943"/>
		<updated>2008-10-30T01:22:56Z</updated>

		<summary type="html">&lt;p&gt;Whatever: New page: The &amp;#039;&amp;#039;&amp;#039;Skype Module&amp;#039;&amp;#039;&amp;#039; interact with all teachers and students in a course using skype.  Users must have a Skype ID in their profile, and must have at least Skype version 2.0.79 installed ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Skype Module&#039;&#039;&#039; interact with all teachers and students in a course using skype.  Users must have a Skype ID in their profile, and must have at least Skype version 2.0.79 installed and configured correctly for this block to recognize them.&lt;br /&gt;
&lt;br /&gt;
With this module, you can make Video calling, send files, chat, send sms, and use skype cast with your collegues!&lt;br /&gt;
&lt;br /&gt;
There are two types: tutor to tutor skype and Tutor/Student to Student skype.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This module was created by [http://moodle.org/user/view.php?id=91386&amp;amp;course=1 Amr Hourani].&lt;br /&gt;
Community input also guided the development of this module.  The lastest version of this module (with installation instructions) can be found here:&lt;br /&gt;
&lt;br /&gt;
[http://moodle.org/file.php/5/moddata/forum/396/180500/skype_block_0.6.zip Skype Module]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=File:Coursetabs.gif&amp;diff=45939</id>
		<title>File:Coursetabs.gif</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=File:Coursetabs.gif&amp;diff=45939"/>
		<updated>2008-10-30T01:07:13Z</updated>

		<summary type="html">&lt;p&gt;Whatever: course format: tabs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;course format: tabs&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Course_formats&amp;diff=45937</id>
		<title>Course formats</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Course_formats&amp;diff=45937"/>
		<updated>2008-10-30T00:52:32Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course formats refers to sections in a course.  They can be changed by the course [[Course administration block]] under [[Course settings|settings]].&lt;br /&gt;
&lt;br /&gt;
Moodle 1.5 supported three different section formats: weeks, topics and social.  Moodle 1.6 added LAMS, SCORM and Weekcss section format choices to that list. The last three are a little more connected to the rest of the code (and hence, less &amp;quot;pluggable&amp;quot;) but it is still quite easy to add new ones.&lt;br /&gt;
&lt;br /&gt;
Another contributed course formats are [[Project Course Format]], [[Weekly Tabs]] and [[Monthly Format]] for version 1.9. &lt;br /&gt;
&lt;br /&gt;
An administrator wishing to remove installed formats may do so by removing the format plugin from the installation. That is: remove the directory containing the format for the &#039;&#039;moodle/course/format&#039;&#039; directory. You probably should not remove any of the three core formats, or formats that are in use on the site.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Course settings]]&lt;br /&gt;
*[[Project Course Format]], a contributed format for Moodle 1.9&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/view.php?id=47 Course formats forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Formats de cours]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=User:AMr_whatever!!&amp;diff=45776</id>
		<title>User:AMr whatever!!</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=User:AMr_whatever!!&amp;diff=45776"/>
		<updated>2008-10-24T12:15:05Z</updated>

		<summary type="html">&lt;p&gt;Whatever: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Amr Hourani==&lt;br /&gt;
&lt;br /&gt;
Amman - Jordan&lt;br /&gt;
&lt;br /&gt;
Profile on Moodle: http://moodle.org/user/view.php?id=91386&amp;amp;course=1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Usually write codes, modules, block and course formats.. adding tricks and tips in moodle docs, helping moodle community in their technical problems.&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=User:AMr_whatever!!&amp;diff=45775</id>
		<title>User:AMr whatever!!</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=User:AMr_whatever!!&amp;diff=45775"/>
		<updated>2008-10-24T12:12:44Z</updated>

		<summary type="html">&lt;p&gt;Whatever: New page: Amr Hourani Amman - Jordan Profile on Moodle: http://moodle.org/user/view.php?id=91386&amp;amp;course=1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Amr Hourani&lt;br /&gt;
Amman - Jordan&lt;br /&gt;
Profile on Moodle: http://moodle.org/user/view.php?id=91386&amp;amp;course=1&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Email_settings&amp;diff=45774</id>
		<title>Email settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Email_settings&amp;diff=45774"/>
		<updated>2008-10-24T12:05:18Z</updated>

		<summary type="html">&lt;p&gt;Whatever: /* SMTP hosts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location: &#039;&#039;Administration &amp;gt; Server &amp;gt; Email&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==SMTP hosts==&lt;br /&gt;
&lt;br /&gt;
SMTP stands for Simple Mail Transfer Protocol. The SMTP host is an email relay that will take the email from Moodle and send it to users. You will need to set this only if your server does not allow mail relay. Otherwise, PHP will send out the mail using its built-in mail server. All the email sent by forums and other modules will be sent through this host.&lt;br /&gt;
&lt;br /&gt;
Most SMTP hosts make use of the default port 25 to for listening email traffic. However, occasionally a non-default port is used. In such cases, entering an SMTP host followed by a colon (i.e. :) and the port number should work. For example, if my SMTP host is myemailserver.com and it listens on port 587 or 465 (most common) instead of port 25 I would enter the SMTP host as myemailserver.com:587. Currently, the parameter check is too strict to allow this via the Moodle UI; however, MDL-15923 has been created and resolved to address this.  Until then, it can be set via phpMyAdmin using a query statement like:&lt;br /&gt;
&amp;lt;code mysql&amp;gt; UPDATE mdl_config SET value=&#039;myemailserver.com:587&#039; WHERE name=&#039;smtphosts&#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Secure SMTP hosts with SSL/TLS==&lt;br /&gt;
&lt;br /&gt;
For SMTP hosts that require secure authentication, SSL or TLS you must run the following query:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code mysql&amp;gt; UPDATE mdl_config SET value=&#039;ssl://myemailserver.com:465&#039; WHERE name=&#039;smtphosts&#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SMTP username==&lt;br /&gt;
&lt;br /&gt;
If you set an SMTP server and it requires authentication, enter the username for the account that will be relaying the email from Moodle.&lt;br /&gt;
&lt;br /&gt;
==SMTP password==&lt;br /&gt;
&lt;br /&gt;
Enter the password for the SMTP user you set previously.&lt;br /&gt;
&lt;br /&gt;
==No-reply address==&lt;br /&gt;
&lt;br /&gt;
Email sent from Moodle needs to have a return address or many servers will reject it as spam. Some users also want to keep their email private, so Moodle sends all of its email using the noreply address you set here.&lt;br /&gt;
&lt;br /&gt;
==Allowed and denied email domains==&lt;br /&gt;
&lt;br /&gt;
Authentication may be restricted to particular email domains when using [[Email-based self-registration]] so that, for example, only students with a university email can login.&lt;br /&gt;
&lt;br /&gt;
(Note: In Moodle 1.9 onwards, the allowed and denied email domains settings can be found in &#039;&#039;Administration &amp;gt; Users &amp;gt; Authentication &amp;gt; [[Authentication|Manage authentication]]&#039;&#039;.)&lt;br /&gt;
&lt;br /&gt;
==Hour to send digest emails==&lt;br /&gt;
&lt;br /&gt;
Moodle allows mail digests from the forums, so users get only one email per day instead of an individual message for every posting. This setting specifies when digests are emailed to users. Users set their email digest type in their profile page.&lt;br /&gt;
&lt;br /&gt;
==Support==&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.9}}From Moodle 1.9 onwards, a support name, support email and support page may be set up for users requiring general help.&lt;br /&gt;
&lt;br /&gt;
If set, emails from Moodle regarding password setting/resetting, password change confirmation, password and account confirmation will list the support name, support email and support page at the bottom of the email.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Email processing]]&lt;br /&gt;
*[[Email setup gmail|Email setup for goggle mail]]- requires access to Moodle&#039;s php files&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Email]]&lt;br /&gt;
&lt;br /&gt;
[[hu:E-mail beállítások]]&lt;/div&gt;</summary>
		<author><name>Whatever</name></author>
	</entry>
</feed>