<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/39/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Net-buoy</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/39/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Net-buoy"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/Special:Contributions/Net-buoy"/>
	<updated>2026-04-09T17:42:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=MathJax_filter&amp;diff=112354</id>
		<title>MathJax filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=MathJax_filter&amp;diff=112354"/>
		<updated>2014-05-06T15:59:16Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Filters}}&lt;br /&gt;
{{New features}}&lt;br /&gt;
The MathJax filter parses Moodle texts and displays some TeX expressions appearing within specific tokens within Moodle texts as a  Mathematics.&lt;br /&gt;
&lt;br /&gt;
=On Moodle.org=&lt;br /&gt;
==Forums vs Moodle Docs==&lt;br /&gt;
For those who don&#039;t know, Moodle.org employes mediawiki for documentation, and employs Moodle for the forums. MathJax will not as yet be used for Moodle Docs, so there may be differences between what Maths look like on the forums and what they look like on Moodle Docs. No, there really is not adequate documentation on the usage of Tex on the Docs side either ;-)&lt;br /&gt;
==Setting of Filter on Forums==&lt;br /&gt;
MathJax has the capability to use a variety of tokens, to display inline and display math, and to display ASCIIMathML.  Unfortunately,  there is no indication as yet as to how MathJax for Moodle.org will be configured&lt;br /&gt;
==Extensions==&lt;br /&gt;
There is no indication of how extensions will be address on Moodle.org==&lt;br /&gt;
&lt;br /&gt;
=Generally=&lt;br /&gt;
If the default [[Text editor|text editor]] (Atto) is used, it provides an equation editor for creating Mathematical expressions in TeX format within Moodle texts. &lt;br /&gt;
&lt;br /&gt;
== Site administration settings ==&lt;br /&gt;
&lt;br /&gt;
The MathJax filter is enabled by default in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Filters &amp;gt; Manage filters&#039;&#039;. Normally, the MathJax filter should be at the top of the list of filters.&lt;br /&gt;
&lt;br /&gt;
The MathJax filter works without any additional configuration (using the [http://docs.mathjax.org/en/latest/start.html MathJax Content Delivery Network]). However, MathJax may also be installed locally if desired, to save on bandwidth or because of local proxy restrictions. See &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Filters &amp;gt; MathJax&#039;&#039; for further details and configuration settings.&lt;br /&gt;
&lt;br /&gt;
The [http://www.mathjax.org/ MathJax project] is large and detailed with many options, which a Moodle admin can make use of with the MathJax filter.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Text editor]] for more details of the equation editor&lt;br /&gt;
* [[Using TeX Notation]]&lt;br /&gt;
* [https://moodle.org/mod/forum/view.php?id=752 Mathematics tools forum] on moodle.org&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[es:Filtro MathJax]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=User:Net-buoy/myskin.js&amp;diff=97862</id>
		<title>User:Net-buoy/myskin.js</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=User:Net-buoy/myskin.js&amp;diff=97862"/>
		<updated>2012-05-17T23:35:25Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: Created page with &amp;quot;mathJax={}; mathJax.fontDir=&amp;quot;http://cdn.mathjax.org/mathjax/latest/fonts&amp;quot;; importScript(&amp;#039;User:Nageh/mathJax.js&amp;#039;);&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mathJax={}; mathJax.fontDir=&amp;quot;http://cdn.mathjax.org/mathjax/latest/fonts&amp;quot;;&lt;br /&gt;
importScript(&#039;User:Nageh/mathJax.js&#039;);&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=ASCIIMathML&amp;diff=97778</id>
		<title>ASCIIMathML</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=ASCIIMathML&amp;diff=97778"/>
		<updated>2012-05-16T20:13:41Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Initially developed by Peter Jipsen ( [http://groups.google.com/group/asciimath/web/historical-remarks-about-asciimathml-from-2004?hl=en see his remarks on the history of ASCIIMathML here] ),  ASCIIMathML has become one of the most widely and easily used tools for the expression and display of Mathematics on the web.&lt;br /&gt;
==Features==&lt;br /&gt;
&lt;br /&gt;
==Display Usage==&lt;br /&gt;
===Generally===&lt;br /&gt;
AsciiMathML has been massaged into quite a few formats,  and is presently available in a version 2.0.2 distribution [http://sourceforge.net/project/showfiles.php?group_id=106148 from Sourceforge] which can be quickly installed for Moodle as a javascripted based filter. &lt;br /&gt;
&lt;br /&gt;
However, in exploring various features of AsciiMathML it was discovered that once installed (per the default instructions) the filter did not turn off (There is a Tracker item on this [need to add reference]. It is argued that this behavior may be due to artifacts in the usage of require_js ) and that there were issues with the filter not interacting appropriately with the Moodle quiz and message modules. It is possible that the filter may be made to behave more like a filter if the javascript files are moved and the php files edited to reflect their location.  &lt;br /&gt;
&lt;br /&gt;
For the interim it was determined that asciimathml.js works very well if simply referenced in meta.php, and for those interested in using ASCIIMathML, it is suggested that a reference to it be placed in the appropriate theme and that a &amp;quot;common&amp;quot; location for the distribution files be identified ([https://docs.moodle.org/en/ASCIIMathML#Invoking_Via_meta.php see below]}&lt;br /&gt;
&lt;br /&gt;
Additionally,  a php version of ASCIIMathML has been developed by Steve Chan.  Depending on usage, using the php version may or may not require the concurrent usage of an additional javascript file (arguably, if the web application displays XHTML, which Moodle does, the additional javascript file is not necessary.)&lt;br /&gt;
&lt;br /&gt;
Stemming from an initial joint project with Peter Jipsen, David Lippman has also maintained a version of ASCIIMathML.js that provides fallback to a TeX interpreter such as mimetex.  This can be important because ASCIIMathML requires that a) the browser used supports MathML (A W3C standard that Safari, for example does not support) and b) that adequate Math fonts are available to the browser (see note below about obtaining and installing fonts).&lt;br /&gt;
&lt;br /&gt;
As part of extending the fallback option to make ASCIIMathML usage more transparent for usage on Moodle, a Moodle version will be available.&lt;br /&gt;
===Display via MathJax===&lt;br /&gt;
Thanks to David Lippman you can now parse ASCIIMathML for display using MathJax.  The configuration information can be found at http://www.mathjax.org/docs/2.0/options/asciimath2jax.html#configure-asciimath2jax . This implementation does not include ASCIISVG.&lt;br /&gt;
&lt;br /&gt;
===Display via SEE===&lt;br /&gt;
The Super Equation Editor (See Advanced Math Tools) provides a variety of tools to manage display of ASCIIMathML&lt;br /&gt;
===Installation and Display via meta.php===&lt;br /&gt;
&#039;&#039;&#039;WARNING!!! With the devellopment of separate docs for ech Moodle versin it is likely that much of this section WON&#039;T work with Moodle 2,  though the same concept can be implemented in Moodle 2.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Because of all the discussion regarding asciimathml and possible conflicts and fallback options please consider installing as follows pending the adoption of Moodle 2.0 and such integrations with tinyMCE as may be provided at that time.&lt;br /&gt;
&lt;br /&gt;
From the sourceforge link above obtain the asciimath files. Place the asciimath folder in /lib so that you now have /lib/asciimath (the folder location has moved a bit over time, but I am recommending this change from placing the folder at /lib/editor/common/asciimath so as to be more consistent with other usage - [[User:Marc Grober|Marc Grober]] 18:54, 1 July 2009 (UTC)) DO NOT place it with other filters in /lib/filter as it appears to continue to work whether it is turned on or not.  If you are interested in fallback, you may copy  [http://moodle.org/file.php/5/moddata/forum/130/483519/ASCIIMathML2wMnGFallback.zip this file] to the asciimath folder and, backing up your original asciimathml.js file, replace it with this one, changing the references inside it to you local mimetex or mathtran server.&lt;br /&gt;
&lt;br /&gt;
Now edit your meta.php to point to the new location. You will have a meta.php in your theme&#039;s directory and it will look something like the code below.... Note the inclusion of the two script stanzas. Just make sure the second points to the correct directory.&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
 _editor_skin = &amp;quot;xp-blue&amp;quot;; // If you want use a skin, add the name (of the folder) here&lt;br /&gt;
 _editor_lang = &amp;quot;en&amp;quot;; // And the language we need to use in the editor.&lt;br /&gt;
 var mathcolor = &amp;quot;black&amp;quot;; // You may change the color the formulae are displayed (default: red)&lt;br /&gt;
 var mathfontfamily = &amp;quot;Arial&amp;quot;; //and the font (default: serif, which is good I think)&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;&amp;lt;?php echo $CFG-&amp;gt;httpswwwroot ?&amp;gt;/lib/asciimath/ASCIIMathML.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;!--[if IE 7]&amp;gt;&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;lt;?php echo $CFG-&amp;gt;httpsthemewww ?&amp;gt;/standard/styles_ie7.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;![endif]--&amp;gt;&lt;br /&gt;
&amp;lt;!--[if IE 6]&amp;gt;&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;&amp;lt;?php echo $CFG-&amp;gt;httpsthemewww ?&amp;gt;/standard/styles_ie6.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;![endif]--&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Now don&#039;t forget to [http://www.mozilla.org/projects/mathml/fonts/ install the STIX fonts].&lt;br /&gt;
&lt;br /&gt;
==ASCIISVG==&lt;br /&gt;
&lt;br /&gt;
==Discussion==&lt;br /&gt;
Peter Jipsen created a google groups site [http://groups.google.com/group/asciimath?hl=en here] &amp;quot;for discussing issues and proposing additions to the JavaScript program ASCIIMathML.js that enables users to easily display mathematics and graphs (using MathML and SVG) on web pages or in blogs and wikis. Suggestions are welcome (see www.chapman.edu/~jipsen/asciimath.html for more). &amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Issues==&lt;br /&gt;
===Failure to display some tex===&lt;br /&gt;
ASCIIMathML was intended to provide a quick and easy alternative to use and display of the text syntax employed by (la)tex. WHile it does this well, when it comes to the incremental features of either parsing and displaying tex text expressions,  or if using fallback,  converting asciimathml text expression to tex, there are occasions upon which the results of problematic.  Most often, this can be resolved through using an alternative text expression that parses to the same results,  and there is discussion in the Math Tools forum on such usage. Additionally, there is continuing research and effort in trying to provide a quick, easy, and seamless way to write and display math online. &lt;br /&gt;
===Font usage generally===&lt;br /&gt;
While Firefox does do MathML, the results are problematic without appropriate fonts.  Initially the MIT fonts were recommended while Mozilla now recommends the STIX beta fonts.  There has been some continuing discussion on whether Firefox should bundle such fonts, but at present you will have to download and install fonts separately.  This is very easy to do and there are &amp;quot;how to&amp;quot;s to assist you.&lt;br /&gt;
===Specific font issues===&lt;br /&gt;
Discussion in the Assciimathml google group continues to yield &amp;quot;fixes&amp;quot; for specific font issues as possible, though some issues may reside in the browser.  We hope that by the time Moodle 2 is released with tinyMCE an asciimathml version with falabck that addresses most known font issues will be available here&lt;br /&gt;
===Fallback===&lt;br /&gt;
David Lippman developed a fallback script (a version is offered above) that invokes mimetex or mathtran if for some reason the script determines that the current browser can&#039;t display MathML.  Versions have been passed about that provide session cookies so that warnings are provided once, that do away with any warnings, etc. At some point a full set of versins with explanations may be available,  or perhaps a script with specific internal configuration instructions.  In the meantime, if you have any questions post them to the Math Tools forum and we will try to answer them as quickly as possible&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97438</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97438"/>
		<updated>2012-05-02T16:41:37Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Setting up another display mechanism */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;WARNING:&#039;&#039;&#039; As of Moodle 2.x DragMath is now in Moodle core (you need not install the code if you are running Moodle 2.x.) To use DragMath, you are &amp;quot;required&amp;quot; to activate the TeX filter on the server side because the core devs decided so (they were well advised that this wold annoy countless users.....) However,  there is a hack to sever the connection between DragMath and TeX included below for your convenience. You will also need to have a recent version of a Java Runtime Environment installed on the end-user&#039;s machine which is properly configured.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may also want to look in the Math Forum for the latest discussion of SEE (Super Equation Editor, an initial nickname for this effort though the product has far outgrown just an equation editor). SEE is a comprehensive set of Math Plugins Mauno Korpelainen has been developing which are discussed here [[Advanced Maths Tools]] (this is only an &amp;quot;alpha&amp;quot; version of docs for installation and use.) If these tools are to your liking they will largely eliminate your need to wrestle with TeX (unless you wish so to do.) And, if you want a full distro of TeX, consider doing a local install of TexLive and cobbling your code to eliminate the need for the convert binary.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
John Isner initially created and maintained several files that allowed for integration of DragMath with HTMLArea, Moodle&#039;s editor in 2007.  DragMath was then maintained by Marc Grober until it was integrated into core Moodle with the release of Moodle 2.0. An outgrowth of the development to integrate DragMath into tinyMCE has been the development of SEE by Mauno Korpelainen (a link to those plugins can be found below.) &lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here]  which also discusses the various configuration options, some of which are mentioned briefly below.&lt;br /&gt;
&lt;br /&gt;
==Using DragMath==&lt;br /&gt;
DragMath is based on the simple idea that the User who does not know a lot of TeX (pronounced Tech) can still create mathematical formula for publishing. In this case, Moodle is the dispaly agent so the TeX formulae are then rendered to a Moodle screen. This essentially means that with little experience, any Junior High Maths teacher can generate all the formulae they need for most aspects of Maths in Moodle.&lt;br /&gt;
&lt;br /&gt;
===Creating simple expressions===&lt;br /&gt;
&lt;br /&gt;
To begin, click on the DragMath insertion button. This opens The DragMath interface. &lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath02.png|thumb|200px|center|Opening Dragmath]] &lt;br /&gt;
&lt;br /&gt;
The toolbar is different than you may expect, we are used to nice neat rows of buttons, but Dragmath has to use tabs. Each tab is tab is a collection of &amp;quot;templates&amp;quot;, that is each symbol is a &amp;quot;template&amp;quot; and can be dragged and dropped onto the work space.&lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath01.png|thumb|200px|center|The DragMath Interface]] &lt;br /&gt;
&lt;br /&gt;
To end editing and insert the script into the Moodle page, click the Insert button. This simple, but not simplistic, interface is a strength of DragMath. It make it easy for even novices to create complex formulae.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04f.png|thumb|150px|Select the Tab with the symbols required]]&lt;br /&gt;
|[[Image:dragmath03.png|thumb|150px|Click, hold then drag&#039;n&#039;drop a symbol]]&lt;br /&gt;
|[[Image:dragmath04.png|thumb|150px|Enter the values, select an operation symbol]]&lt;br /&gt;
|[[Image:dragmath04a.png|thumb|150px|Select another symbol and drag&#039;n&#039;drop]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04b.png|thumb|150px|Add an equal (or other) sign]]&lt;br /&gt;
|[[Image:dragmath04c.png|thumb|150px|Add in a variable, (chi in this case) ]]&lt;br /&gt;
|[[Image:dragmath04d.png|thumb|150px|Click Insert]]&lt;br /&gt;
|[[Image:dragmath04e.png|thumb|150px|See the encoded result in the editing dialog.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This same sequence of operations apply equally for all formulae, all insertions, no matter how complex they become. &lt;br /&gt;
&lt;br /&gt;
You can insert a template from the toolbar by drag and drop or by a click on the template in the tab, then clicking in the workspace.&lt;br /&gt;
&lt;br /&gt;
===Creating more complex expressions===&lt;br /&gt;
&lt;br /&gt;
More complex expressions are pretty much more of the same as above. Creating a simple multiplication table matrix, for example, seems complex,but in DragNath, it is actually simple:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for a simple Multiplication Matrice in DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05.png|thumb|150px|Select the Tab and add in the multiplier]]&lt;br /&gt;
|[[Image:dragmath05a.png|thumb|150px|Click, hold then drag&#039;n&#039;drop the Matrix symbol]]&lt;br /&gt;
|[[Image:dragmath05b.png|thumb|150px|Enter the values, select a equal symbol]]&lt;br /&gt;
|[[Image:dragmath05c.png|thumb|150px|Add in the rows required]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05d.png|thumb|150px|Add in the columns required]]&lt;br /&gt;
|[[Image:dragmath05e.png|thumb|150px|Edit the Matrice ]]&lt;br /&gt;
|[[Image:dragmath05f.png|thumb|150px|Add the equal symbol]]&lt;br /&gt;
|[[Image:dragmath05g.png|thumb|150px|Add and edit in the second Matrice.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Additional Editing===&lt;br /&gt;
&lt;br /&gt;
There are times when &#039;&#039;&#039;DragMath&#039;&#039;&#039; is not going to have a symbol or something you might want. Or perhaps you left something out of the DragMath constuctor, so you want to include it manually. Most likely, for something like the matrix created earlier, I want to go to 15, which means I have to change the structure of the matrix, and edit in some numbers. This is easily done with a little forethought. Copy and paste and delete or edit what you want and do not want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Manually editing a DragMath construction  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06a.png|thumb|150px|Select, copy and paste the original matrix]]&lt;br /&gt;
|[[Image:dragmath06b.png|thumb|150px|Edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06c.png|thumb|150px|Delete the original matrix]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sometimes however, you just want to include something you forgot, or rather, add something that was not there in the first place. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Accurately editing a DragMath construction manually  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06d.png|thumb|150px|Construct the original equation]]&lt;br /&gt;
|[[Image:dragmath06e.png|thumb|150px|Copy, then edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06f.png|thumb|150px|Return to the edited page]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==What DragMath Does and How It Does It==&lt;br /&gt;
===Configuration files===&lt;br /&gt;
DragMath allows you to create your own configuration files.  That means it can be used to parse and display what you tell it to parse and display.  By way of example, DragMath comes with a number of configuration files,  one of which has been specifically designed to place doubledollar tokens before and after inserted text. We have seen a number of people change the TeX tokens in Modle using MathJax, and then become nonplussed that DragMath stops working.  No DragMath still works,  but it is likely inserting tokens that MathJax is not parsing. This can get confusing if you have more than one display technology in place.  DragMath allows you to alter the tokens it inserts, so you can quite easily, for example, have DragMath insert startmath or endmath if that is what you want to use for tokens.&lt;br /&gt;
===Language Files===&lt;br /&gt;
DragMath can also use quite a few languages.&lt;br /&gt;
==So! You want to use DragMath but don&#039;t want to use the TeX filter?==&lt;br /&gt;
===What?===&lt;br /&gt;
Yes.  Moodle devs decided that you should not use DragMath unless you used the Moodle TeX filter (yes, over objections from lots of folk.)  Does that mean that the TeX filter is the best way to go? Hardly.  The TeX filter is rather long in the tooth, desperately in need of revision, and essentially only provides a fallback to a mimetex binary if you have not installed a TeX distribution. There are lots of other options for Math display in Moodle,  may of them much easier to configure and use!&lt;br /&gt;
===Procedure===&lt;br /&gt;
====Decoupling DragMath from the Tex Filter====&lt;br /&gt;
Since default configuration of tinymce (the default editor) requires that TeX filter is enabled before Dragmath plugin can be used we need to edit file lib/editor/tinymce/lib.php&lt;br /&gt;
&lt;br /&gt;
First, make a copy of that file to make sure that you can revert back to the original. &lt;br /&gt;
&lt;br /&gt;
Second, open the file for editing (with an appropriate editor that will not do unseen things to the contents of your file)&lt;br /&gt;
&lt;br /&gt;
Third, locate lines 107-111:&lt;br /&gt;
&lt;br /&gt;
 if (array_key_exists(&#039;filter/tex&#039;, $filters)) {&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
 } else {&lt;br /&gt;
 $xdragmath = &#039;&#039;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Fourth, replace all those lines with this one line:&lt;br /&gt;
&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
&lt;br /&gt;
removing the if statement that makes DragMath visible only if the TeX filter is turned on.&lt;br /&gt;
&lt;br /&gt;
Fifth, save the file.&lt;br /&gt;
&lt;br /&gt;
Sixth, replace the original file lib/editor/tinymce/lib.php with this modified version.&lt;br /&gt;
&lt;br /&gt;
====Setting up another display mechanism====&lt;br /&gt;
Now DragMath will show up in your editor,  but you have no way of displaying the TeX or other code that you might insert with DragMath. You can explore the docs and the Math forum and you will find quite a few other ways to display Math in Moodle.  One very popular way is to use MathJax. Under Moodle 2.x the AdditionalHtml field can be used to add the reference to MathJax and even do some configuration. &lt;br /&gt;
To accomplish this, as an administrator of your site go to: Site administration -&amp;gt; Appearance -&amp;gt; Additional HTML -&amp;gt; Within HEAD &lt;br /&gt;
Now, add &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/GeonextReader.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&amp;quot;&amp;gt;&lt;br /&gt;
 MathJax.Hub.Config({&lt;br /&gt;
    tex2jax: {&lt;br /&gt;
      inlineMath: [ [&#039;$$&#039;,&#039;$$&#039;], [&#039;@i&#039;,&#039;@i&#039;], [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;] ], &lt;br /&gt;
      displayMath:[ [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;], [&#039;@d&#039;,&#039;@d&#039;] ],&lt;br /&gt;
      processEscapes: true&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Save changes.&lt;br /&gt;
&lt;br /&gt;
Make sure that Tex filter and Algebra filter are disabled in Site administration &amp;gt; Plugins &amp;gt; Filters &amp;gt; Manage filters&lt;br /&gt;
&lt;br /&gt;
Your moodle 2 is now using MathJax from a cloud server in cdn.mathjax.org with given delimiters (in this example double dollars and @i  for inlineMath and @d for displayMath). You can choose to use other delimiters in configuration if you want or swap hat are there, BUT you may not use delimiters Moodle employs for other purposes and you need to be very careful of the syntax. You do not need to have the same token for beginning and end (for example,  one could use startmath and endmath as tokens. See http://mathjax.org for additional information on these and other parameters.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Wait!&amp;quot;, you say. &amp;quot;What about the first three lines I added to AdditionalHtml?&amp;quot; We thought you would never ask.  These lines add access to jsxgraph and GeoNextReader which you can find discussed in these forums and at the jsxgraph site, http://jsxgraph.uni-bayreuth.de/wp/ Consider this temporary, as you shoulod update the jsxgraph reference to use its cloud source. See a discussion here: http://jsxgraph.uni-bayreuth.de/wp/download/&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Advanced Maths Tools]] For an explanation of the SEE tools&lt;br /&gt;
* [[Using TeX Notation]] Some ideas and syntax&lt;br /&gt;
* [[TeX notation filter]] Turning TeX on&lt;br /&gt;
* [http://www.youtube.com/watch?v=mfc7umQ2xLA| A simple YouTube video] Constructing a simple equation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97437</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97437"/>
		<updated>2012-05-02T16:40:37Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Decoupling DragMath from the Tex Filter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;WARNING:&#039;&#039;&#039; As of Moodle 2.x DragMath is now in Moodle core (you need not install the code if you are running Moodle 2.x.) To use DragMath, you are &amp;quot;required&amp;quot; to activate the TeX filter on the server side because the core devs decided so (they were well advised that this wold annoy countless users.....) However,  there is a hack to sever the connection between DragMath and TeX included below for your convenience. You will also need to have a recent version of a Java Runtime Environment installed on the end-user&#039;s machine which is properly configured.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may also want to look in the Math Forum for the latest discussion of SEE (Super Equation Editor, an initial nickname for this effort though the product has far outgrown just an equation editor). SEE is a comprehensive set of Math Plugins Mauno Korpelainen has been developing which are discussed here [[Advanced Maths Tools]] (this is only an &amp;quot;alpha&amp;quot; version of docs for installation and use.) If these tools are to your liking they will largely eliminate your need to wrestle with TeX (unless you wish so to do.) And, if you want a full distro of TeX, consider doing a local install of TexLive and cobbling your code to eliminate the need for the convert binary.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
John Isner initially created and maintained several files that allowed for integration of DragMath with HTMLArea, Moodle&#039;s editor in 2007.  DragMath was then maintained by Marc Grober until it was integrated into core Moodle with the release of Moodle 2.0. An outgrowth of the development to integrate DragMath into tinyMCE has been the development of SEE by Mauno Korpelainen (a link to those plugins can be found below.) &lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here]  which also discusses the various configuration options, some of which are mentioned briefly below.&lt;br /&gt;
&lt;br /&gt;
==Using DragMath==&lt;br /&gt;
DragMath is based on the simple idea that the User who does not know a lot of TeX (pronounced Tech) can still create mathematical formula for publishing. In this case, Moodle is the dispaly agent so the TeX formulae are then rendered to a Moodle screen. This essentially means that with little experience, any Junior High Maths teacher can generate all the formulae they need for most aspects of Maths in Moodle.&lt;br /&gt;
&lt;br /&gt;
===Creating simple expressions===&lt;br /&gt;
&lt;br /&gt;
To begin, click on the DragMath insertion button. This opens The DragMath interface. &lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath02.png|thumb|200px|center|Opening Dragmath]] &lt;br /&gt;
&lt;br /&gt;
The toolbar is different than you may expect, we are used to nice neat rows of buttons, but Dragmath has to use tabs. Each tab is tab is a collection of &amp;quot;templates&amp;quot;, that is each symbol is a &amp;quot;template&amp;quot; and can be dragged and dropped onto the work space.&lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath01.png|thumb|200px|center|The DragMath Interface]] &lt;br /&gt;
&lt;br /&gt;
To end editing and insert the script into the Moodle page, click the Insert button. This simple, but not simplistic, interface is a strength of DragMath. It make it easy for even novices to create complex formulae.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04f.png|thumb|150px|Select the Tab with the symbols required]]&lt;br /&gt;
|[[Image:dragmath03.png|thumb|150px|Click, hold then drag&#039;n&#039;drop a symbol]]&lt;br /&gt;
|[[Image:dragmath04.png|thumb|150px|Enter the values, select an operation symbol]]&lt;br /&gt;
|[[Image:dragmath04a.png|thumb|150px|Select another symbol and drag&#039;n&#039;drop]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04b.png|thumb|150px|Add an equal (or other) sign]]&lt;br /&gt;
|[[Image:dragmath04c.png|thumb|150px|Add in a variable, (chi in this case) ]]&lt;br /&gt;
|[[Image:dragmath04d.png|thumb|150px|Click Insert]]&lt;br /&gt;
|[[Image:dragmath04e.png|thumb|150px|See the encoded result in the editing dialog.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This same sequence of operations apply equally for all formulae, all insertions, no matter how complex they become. &lt;br /&gt;
&lt;br /&gt;
You can insert a template from the toolbar by drag and drop or by a click on the template in the tab, then clicking in the workspace.&lt;br /&gt;
&lt;br /&gt;
===Creating more complex expressions===&lt;br /&gt;
&lt;br /&gt;
More complex expressions are pretty much more of the same as above. Creating a simple multiplication table matrix, for example, seems complex,but in DragNath, it is actually simple:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for a simple Multiplication Matrice in DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05.png|thumb|150px|Select the Tab and add in the multiplier]]&lt;br /&gt;
|[[Image:dragmath05a.png|thumb|150px|Click, hold then drag&#039;n&#039;drop the Matrix symbol]]&lt;br /&gt;
|[[Image:dragmath05b.png|thumb|150px|Enter the values, select a equal symbol]]&lt;br /&gt;
|[[Image:dragmath05c.png|thumb|150px|Add in the rows required]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05d.png|thumb|150px|Add in the columns required]]&lt;br /&gt;
|[[Image:dragmath05e.png|thumb|150px|Edit the Matrice ]]&lt;br /&gt;
|[[Image:dragmath05f.png|thumb|150px|Add the equal symbol]]&lt;br /&gt;
|[[Image:dragmath05g.png|thumb|150px|Add and edit in the second Matrice.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Additional Editing===&lt;br /&gt;
&lt;br /&gt;
There are times when &#039;&#039;&#039;DragMath&#039;&#039;&#039; is not going to have a symbol or something you might want. Or perhaps you left something out of the DragMath constuctor, so you want to include it manually. Most likely, for something like the matrix created earlier, I want to go to 15, which means I have to change the structure of the matrix, and edit in some numbers. This is easily done with a little forethought. Copy and paste and delete or edit what you want and do not want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Manually editing a DragMath construction  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06a.png|thumb|150px|Select, copy and paste the original matrix]]&lt;br /&gt;
|[[Image:dragmath06b.png|thumb|150px|Edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06c.png|thumb|150px|Delete the original matrix]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sometimes however, you just want to include something you forgot, or rather, add something that was not there in the first place. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Accurately editing a DragMath construction manually  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06d.png|thumb|150px|Construct the original equation]]&lt;br /&gt;
|[[Image:dragmath06e.png|thumb|150px|Copy, then edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06f.png|thumb|150px|Return to the edited page]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==What DragMath Does and How It Does It==&lt;br /&gt;
===Configuration files===&lt;br /&gt;
DragMath allows you to create your own configuration files.  That means it can be used to parse and display what you tell it to parse and display.  By way of example, DragMath comes with a number of configuration files,  one of which has been specifically designed to place doubledollar tokens before and after inserted text. We have seen a number of people change the TeX tokens in Modle using MathJax, and then become nonplussed that DragMath stops working.  No DragMath still works,  but it is likely inserting tokens that MathJax is not parsing. This can get confusing if you have more than one display technology in place.  DragMath allows you to alter the tokens it inserts, so you can quite easily, for example, have DragMath insert startmath or endmath if that is what you want to use for tokens.&lt;br /&gt;
===Language Files===&lt;br /&gt;
DragMath can also use quite a few languages.&lt;br /&gt;
==So! You want to use DragMath but don&#039;t want to use the TeX filter?==&lt;br /&gt;
===What?===&lt;br /&gt;
Yes.  Moodle devs decided that you should not use DragMath unless you used the Moodle TeX filter (yes, over objections from lots of folk.)  Does that mean that the TeX filter is the best way to go? Hardly.  The TeX filter is rather long in the tooth, desperately in need of revision, and essentially only provides a fallback to a mimetex binary if you have not installed a TeX distribution. There are lots of other options for Math display in Moodle,  may of them much easier to configure and use!&lt;br /&gt;
===Procedure===&lt;br /&gt;
====Decoupling DragMath from the Tex Filter====&lt;br /&gt;
Since default configuration of tinymce (the default editor) requires that TeX filter is enabled before Dragmath plugin can be used we need to edit file lib/editor/tinymce/lib.php&lt;br /&gt;
&lt;br /&gt;
First, make a copy of that file to make sure that you can revert back to the original. &lt;br /&gt;
&lt;br /&gt;
Second, open the file for editing (with an appropriate editor that will not do unseen things to the contents of your file)&lt;br /&gt;
&lt;br /&gt;
Third, locate lines 107-111:&lt;br /&gt;
&lt;br /&gt;
 if (array_key_exists(&#039;filter/tex&#039;, $filters)) {&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
 } else {&lt;br /&gt;
 $xdragmath = &#039;&#039;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Fourth, replace all those lines with this one line:&lt;br /&gt;
&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
&lt;br /&gt;
removing the if statement that makes DragMath visible only if the TeX filter is turned on.&lt;br /&gt;
&lt;br /&gt;
Fifth, save the file.&lt;br /&gt;
&lt;br /&gt;
Sixth, replace the original file lib/editor/tinymce/lib.php with this modified version.&lt;br /&gt;
&lt;br /&gt;
====Setting up another display mechanism====&lt;br /&gt;
Now DragMath will show up in your editor,  but you have no way of displaying the TeX or other code that you might insert with DragMath. You can explore the docs and the Math forum and you will find quite a few other ways to display Math in Moodle.  One very popular way is to use MathJax. Under Moodle 2.x the AdditionalHtml field can be used to add the reference to MathJax and even do some configuration. &lt;br /&gt;
To accomplish this, as an administrator of your site go to: Site administration -&amp;gt; Appearance -&amp;gt; Additional HTML -&amp;gt; Within HEAD &lt;br /&gt;
Now, add &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/GeonextReader.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&amp;quot;&amp;gt;&lt;br /&gt;
 MathJax.Hub.Config({&lt;br /&gt;
    tex2jax: {&lt;br /&gt;
      inlineMath: [ [&#039;$$&#039;,&#039;$$&#039;], [&#039;@i&#039;,&#039;@i&#039;], [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;] ], &lt;br /&gt;
      displayMath:[ [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;], [&#039;@d&#039;,&#039;@d&#039;] ],&lt;br /&gt;
      processEscapes: true&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Save changes.&lt;br /&gt;
Make sure that Tex filter and Algebra filter are disabled in Site administration &amp;gt; Plugins &amp;gt; Filters &amp;gt; Manage filters&lt;br /&gt;
Your moodle 2 is now using MathJax from a cloud server in cdn.mathjax.org with given delimiters (in this example double dollars and @i  for inlineMath and @d for displayMath). You can choose to use other delimiters in configuration if you want or swap hat are there, BUT you may not use delimiters Moodle employs for other purposes and you need to be very careful of the syntax. You do not need to have the same token for beginning and end (for example,  one could use startmath and endmath as tokens. See http://mathjax.org for additional information on these and other parameters.&lt;br /&gt;
&amp;quot;Wait!&amp;quot;, you say. &amp;quot;What about the first three lines I added to AdditionalHtml?&amp;quot; We thought you would never ask.  These lines add access to jsxgraph and GeoNextReader which you can find discussed in these forums and at the jsxgraph site, http://jsxgraph.uni-bayreuth.de/wp/ COnsider this temporary, as you shoulod update the jsxgraph reference to use its cloud source. See a discussion here: http://jsxgraph.uni-bayreuth.de/wp/download/&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Advanced Maths Tools]] For an explanation of the SEE tools&lt;br /&gt;
* [[Using TeX Notation]] Some ideas and syntax&lt;br /&gt;
* [[TeX notation filter]] Turning TeX on&lt;br /&gt;
* [http://www.youtube.com/watch?v=mfc7umQ2xLA| A simple YouTube video] Constructing a simple equation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97436</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97436"/>
		<updated>2012-05-02T16:39:04Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;WARNING:&#039;&#039;&#039; As of Moodle 2.x DragMath is now in Moodle core (you need not install the code if you are running Moodle 2.x.) To use DragMath, you are &amp;quot;required&amp;quot; to activate the TeX filter on the server side because the core devs decided so (they were well advised that this wold annoy countless users.....) However,  there is a hack to sever the connection between DragMath and TeX included below for your convenience. You will also need to have a recent version of a Java Runtime Environment installed on the end-user&#039;s machine which is properly configured.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may also want to look in the Math Forum for the latest discussion of SEE (Super Equation Editor, an initial nickname for this effort though the product has far outgrown just an equation editor). SEE is a comprehensive set of Math Plugins Mauno Korpelainen has been developing which are discussed here [[Advanced Maths Tools]] (this is only an &amp;quot;alpha&amp;quot; version of docs for installation and use.) If these tools are to your liking they will largely eliminate your need to wrestle with TeX (unless you wish so to do.) And, if you want a full distro of TeX, consider doing a local install of TexLive and cobbling your code to eliminate the need for the convert binary.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
John Isner initially created and maintained several files that allowed for integration of DragMath with HTMLArea, Moodle&#039;s editor in 2007.  DragMath was then maintained by Marc Grober until it was integrated into core Moodle with the release of Moodle 2.0. An outgrowth of the development to integrate DragMath into tinyMCE has been the development of SEE by Mauno Korpelainen (a link to those plugins can be found below.) &lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here]  which also discusses the various configuration options, some of which are mentioned briefly below.&lt;br /&gt;
&lt;br /&gt;
==Using DragMath==&lt;br /&gt;
DragMath is based on the simple idea that the User who does not know a lot of TeX (pronounced Tech) can still create mathematical formula for publishing. In this case, Moodle is the dispaly agent so the TeX formulae are then rendered to a Moodle screen. This essentially means that with little experience, any Junior High Maths teacher can generate all the formulae they need for most aspects of Maths in Moodle.&lt;br /&gt;
&lt;br /&gt;
===Creating simple expressions===&lt;br /&gt;
&lt;br /&gt;
To begin, click on the DragMath insertion button. This opens The DragMath interface. &lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath02.png|thumb|200px|center|Opening Dragmath]] &lt;br /&gt;
&lt;br /&gt;
The toolbar is different than you may expect, we are used to nice neat rows of buttons, but Dragmath has to use tabs. Each tab is tab is a collection of &amp;quot;templates&amp;quot;, that is each symbol is a &amp;quot;template&amp;quot; and can be dragged and dropped onto the work space.&lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath01.png|thumb|200px|center|The DragMath Interface]] &lt;br /&gt;
&lt;br /&gt;
To end editing and insert the script into the Moodle page, click the Insert button. This simple, but not simplistic, interface is a strength of DragMath. It make it easy for even novices to create complex formulae.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04f.png|thumb|150px|Select the Tab with the symbols required]]&lt;br /&gt;
|[[Image:dragmath03.png|thumb|150px|Click, hold then drag&#039;n&#039;drop a symbol]]&lt;br /&gt;
|[[Image:dragmath04.png|thumb|150px|Enter the values, select an operation symbol]]&lt;br /&gt;
|[[Image:dragmath04a.png|thumb|150px|Select another symbol and drag&#039;n&#039;drop]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04b.png|thumb|150px|Add an equal (or other) sign]]&lt;br /&gt;
|[[Image:dragmath04c.png|thumb|150px|Add in a variable, (chi in this case) ]]&lt;br /&gt;
|[[Image:dragmath04d.png|thumb|150px|Click Insert]]&lt;br /&gt;
|[[Image:dragmath04e.png|thumb|150px|See the encoded result in the editing dialog.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This same sequence of operations apply equally for all formulae, all insertions, no matter how complex they become. &lt;br /&gt;
&lt;br /&gt;
You can insert a template from the toolbar by drag and drop or by a click on the template in the tab, then clicking in the workspace.&lt;br /&gt;
&lt;br /&gt;
===Creating more complex expressions===&lt;br /&gt;
&lt;br /&gt;
More complex expressions are pretty much more of the same as above. Creating a simple multiplication table matrix, for example, seems complex,but in DragNath, it is actually simple:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for a simple Multiplication Matrice in DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05.png|thumb|150px|Select the Tab and add in the multiplier]]&lt;br /&gt;
|[[Image:dragmath05a.png|thumb|150px|Click, hold then drag&#039;n&#039;drop the Matrix symbol]]&lt;br /&gt;
|[[Image:dragmath05b.png|thumb|150px|Enter the values, select a equal symbol]]&lt;br /&gt;
|[[Image:dragmath05c.png|thumb|150px|Add in the rows required]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05d.png|thumb|150px|Add in the columns required]]&lt;br /&gt;
|[[Image:dragmath05e.png|thumb|150px|Edit the Matrice ]]&lt;br /&gt;
|[[Image:dragmath05f.png|thumb|150px|Add the equal symbol]]&lt;br /&gt;
|[[Image:dragmath05g.png|thumb|150px|Add and edit in the second Matrice.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Additional Editing===&lt;br /&gt;
&lt;br /&gt;
There are times when &#039;&#039;&#039;DragMath&#039;&#039;&#039; is not going to have a symbol or something you might want. Or perhaps you left something out of the DragMath constuctor, so you want to include it manually. Most likely, for something like the matrix created earlier, I want to go to 15, which means I have to change the structure of the matrix, and edit in some numbers. This is easily done with a little forethought. Copy and paste and delete or edit what you want and do not want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Manually editing a DragMath construction  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06a.png|thumb|150px|Select, copy and paste the original matrix]]&lt;br /&gt;
|[[Image:dragmath06b.png|thumb|150px|Edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06c.png|thumb|150px|Delete the original matrix]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sometimes however, you just want to include something you forgot, or rather, add something that was not there in the first place. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Accurately editing a DragMath construction manually  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06d.png|thumb|150px|Construct the original equation]]&lt;br /&gt;
|[[Image:dragmath06e.png|thumb|150px|Copy, then edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06f.png|thumb|150px|Return to the edited page]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==What DragMath Does and How It Does It==&lt;br /&gt;
===Configuration files===&lt;br /&gt;
DragMath allows you to create your own configuration files.  That means it can be used to parse and display what you tell it to parse and display.  By way of example, DragMath comes with a number of configuration files,  one of which has been specifically designed to place doubledollar tokens before and after inserted text. We have seen a number of people change the TeX tokens in Modle using MathJax, and then become nonplussed that DragMath stops working.  No DragMath still works,  but it is likely inserting tokens that MathJax is not parsing. This can get confusing if you have more than one display technology in place.  DragMath allows you to alter the tokens it inserts, so you can quite easily, for example, have DragMath insert startmath or endmath if that is what you want to use for tokens.&lt;br /&gt;
===Language Files===&lt;br /&gt;
DragMath can also use quite a few languages.&lt;br /&gt;
==So! You want to use DragMath but don&#039;t want to use the TeX filter?==&lt;br /&gt;
===What?===&lt;br /&gt;
Yes.  Moodle devs decided that you should not use DragMath unless you used the Moodle TeX filter (yes, over objections from lots of folk.)  Does that mean that the TeX filter is the best way to go? Hardly.  The TeX filter is rather long in the tooth, desperately in need of revision, and essentially only provides a fallback to a mimetex binary if you have not installed a TeX distribution. There are lots of other options for Math display in Moodle,  may of them much easier to configure and use!&lt;br /&gt;
===Procedure===&lt;br /&gt;
====Decoupling DragMath from the Tex Filter====&lt;br /&gt;
Since default configuration of tinymce (the default editor) requires that TeX filter is enabled before Dragmath plugin can be used we need to edit file lib/editor/tinymce/lib.php&lt;br /&gt;
&lt;br /&gt;
First, make a copy of that file to make sure that you can revert back to the original. &lt;br /&gt;
Second, open the file for editing (with an appropriate editor that will not do unseen things to the contents of your file)&lt;br /&gt;
Third, locate lines 107-111:&lt;br /&gt;
&lt;br /&gt;
 if (array_key_exists(&#039;filter/tex&#039;, $filters)) {&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
 } else {&lt;br /&gt;
 $xdragmath = &#039;&#039;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Fourth, replace all those lines with this one line:&lt;br /&gt;
&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
&lt;br /&gt;
removing the if statement that makes DragMath visible only if the TeX filter is turned on.&lt;br /&gt;
Fifth, save the file.&lt;br /&gt;
Sixth, replace the original file lib/editor/tinymce/lib.php with this modified version.&lt;br /&gt;
====Setting up another display mechanism====&lt;br /&gt;
Now DragMath will show up in your editor,  but you have no way of displaying the TeX or other code that you might insert with DragMath. You can explore the docs and the Math forum and you will find quite a few other ways to display Math in Moodle.  One very popular way is to use MathJax. Under Moodle 2.x the AdditionalHtml field can be used to add the reference to MathJax and even do some configuration. &lt;br /&gt;
To accomplish this, as an administrator of your site go to: Site administration -&amp;gt; Appearance -&amp;gt; Additional HTML -&amp;gt; Within HEAD &lt;br /&gt;
Now, add &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/GeonextReader.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&amp;quot;&amp;gt;&lt;br /&gt;
 MathJax.Hub.Config({&lt;br /&gt;
    tex2jax: {&lt;br /&gt;
      inlineMath: [ [&#039;$$&#039;,&#039;$$&#039;], [&#039;@i&#039;,&#039;@i&#039;], [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;] ], &lt;br /&gt;
      displayMath:[ [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;], [&#039;@d&#039;,&#039;@d&#039;] ],&lt;br /&gt;
      processEscapes: true&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Save changes.&lt;br /&gt;
Make sure that Tex filter and Algebra filter are disabled in Site administration &amp;gt; Plugins &amp;gt; Filters &amp;gt; Manage filters&lt;br /&gt;
Your moodle 2 is now using MathJax from a cloud server in cdn.mathjax.org with given delimiters (in this example double dollars and @i  for inlineMath and @d for displayMath). You can choose to use other delimiters in configuration if you want or swap hat are there, BUT you may not use delimiters Moodle employs for other purposes and you need to be very careful of the syntax. You do not need to have the same token for beginning and end (for example,  one could use startmath and endmath as tokens. See http://mathjax.org for additional information on these and other parameters.&lt;br /&gt;
&amp;quot;Wait!&amp;quot;, you say. &amp;quot;What about the first three lines I added to AdditionalHtml?&amp;quot; We thought you would never ask.  These lines add access to jsxgraph and GeoNextReader which you can find discussed in these forums and at the jsxgraph site, http://jsxgraph.uni-bayreuth.de/wp/ COnsider this temporary, as you shoulod update the jsxgraph reference to use its cloud source. See a discussion here: http://jsxgraph.uni-bayreuth.de/wp/download/&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Advanced Maths Tools]] For an explanation of the SEE tools&lt;br /&gt;
* [[Using TeX Notation]] Some ideas and syntax&lt;br /&gt;
* [[TeX notation filter]] Turning TeX on&lt;br /&gt;
* [http://www.youtube.com/watch?v=mfc7umQ2xLA| A simple YouTube video] Constructing a simple equation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97435</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97435"/>
		<updated>2012-05-02T16:16:32Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;WARNING:&#039;&#039;&#039; As of Moodle 2.x DragMath is now in Moodle core (you need not install the code if you are running Moodle 2.x.) To use DragMath, you are required to activate the TeX filter on the server side because the core devs decided that this would give them an opportunity to annoy you. However,  there is a hack to decouple DragMath from TeX. You will also need top have a recent version of a Java Runtime Environment installed on the end-user&#039; machine which is properly configured.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You may want to look in the Math Forum for the latest discussion of SEE (Super Equation Editor, an initial nickname for this effort though the product has far outgrown just an equation editor). SEE is a comprehensive set of Math Plugins Mauno Korpelainen has been developing and are discussed here [[Advanced Maths Tools]] - an &amp;quot;alpha&amp;quot; version of docs for installation and use. If these tools are to your liking they will largely eliminate your need to wrestle with TeX (unless you wish so to do.) And, if you want a full distro of TeX, consider doing a local install of TexLive and cobbling your code to eliminate the need for convert.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
John Isner initially created and maintained several files that allowed for integration of DragMath with HTMLArea, Moodle&#039;s editor in 2007.  DragMath was then maintained by Marc Grober until it was integrated into core Moodle with the release of Moodle 2.0. An outgrowth of the development to integrate DragMath into tinyMCE has been the development of SEE by Mauno Korpelainen (a link to those plugins can be found below.) &lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here]  which also discusses the various configuration options, some of which are mentioned briefly below.&lt;br /&gt;
&lt;br /&gt;
==Using DragMath==&lt;br /&gt;
DragMath is based on the simple idea that the User who does not know a lot of TeX (pronounced Tech) can still create mathematical formula for publishing. In this case, Moodle is the dispaly agent so the TeX formulae are then rendered to a Moodle screen. This essentially means that with little experience, any Junior High Maths teacher can generate all the formulae they need for most aspects of Maths in Moodle.&lt;br /&gt;
&lt;br /&gt;
===Creating simple expressions===&lt;br /&gt;
&lt;br /&gt;
To begin, click on the DragMath insertion button. This opens The DragMath interface. &lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath02.png|thumb|200px|center|Opening Dragmath]] &lt;br /&gt;
&lt;br /&gt;
The toolbar is different than you may expect, we are used to nice neat rows of buttons, but Dragmath has to use tabs. Each tab is tab is a collection of &amp;quot;templates&amp;quot;, that is each symbol is a &amp;quot;template&amp;quot; and can be dragged and dropped onto the work space.&lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath01.png|thumb|200px|center|The DragMath Interface]] &lt;br /&gt;
&lt;br /&gt;
To end editing and insert the script into the Moodle page, click the Insert button. This simple, but not simplistic, interface is a strength of DragMath. It make it easy for even novices to create complex formulae.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04f.png|thumb|150px|Select the Tab with the symbols required]]&lt;br /&gt;
|[[Image:dragmath03.png|thumb|150px|Click, hold then drag&#039;n&#039;drop a symbol]]&lt;br /&gt;
|[[Image:dragmath04.png|thumb|150px|Enter the values, select an operation symbol]]&lt;br /&gt;
|[[Image:dragmath04a.png|thumb|150px|Select another symbol and drag&#039;n&#039;drop]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04b.png|thumb|150px|Add an equal (or other) sign]]&lt;br /&gt;
|[[Image:dragmath04c.png|thumb|150px|Add in a variable, (chi in this case) ]]&lt;br /&gt;
|[[Image:dragmath04d.png|thumb|150px|Click Insert]]&lt;br /&gt;
|[[Image:dragmath04e.png|thumb|150px|See the encoded result in the editing dialog.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This same sequence of operations apply equally for all formulae, all insertions, no matter how complex they become. &lt;br /&gt;
&lt;br /&gt;
You can insert a template from the toolbar by drag and drop or by a click on the template in the tab, then clicking in the workspace.&lt;br /&gt;
&lt;br /&gt;
===Creating more complex expressions===&lt;br /&gt;
&lt;br /&gt;
More complex expressions are pretty much more of the same as above. Creating a simple multiplication table matrix, for example, seems complex,but in DragNath, it is actually simple:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for a simple Multiplication Matrice in DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05.png|thumb|150px|Select the Tab and add in the multiplier]]&lt;br /&gt;
|[[Image:dragmath05a.png|thumb|150px|Click, hold then drag&#039;n&#039;drop the Matrix symbol]]&lt;br /&gt;
|[[Image:dragmath05b.png|thumb|150px|Enter the values, select a equal symbol]]&lt;br /&gt;
|[[Image:dragmath05c.png|thumb|150px|Add in the rows required]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05d.png|thumb|150px|Add in the columns required]]&lt;br /&gt;
|[[Image:dragmath05e.png|thumb|150px|Edit the Matrice ]]&lt;br /&gt;
|[[Image:dragmath05f.png|thumb|150px|Add the equal symbol]]&lt;br /&gt;
|[[Image:dragmath05g.png|thumb|150px|Add and edit in the second Matrice.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Additional Editing===&lt;br /&gt;
&lt;br /&gt;
There are times when &#039;&#039;&#039;DragMath&#039;&#039;&#039; is not going to have a symbol or something you might want. Or perhaps you left something out of the DragMath constuctor, so you want to include it manually. Most likely, for something like the matrix created earlier, I want to go to 15, which means I have to change the structure of the matrix, and edit in some numbers. This is easily done with a little forethought. Copy and paste and delete or edit what you want and do not want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Manually editing a DragMath construction  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06a.png|thumb|150px|Select, copy and paste the original matrix]]&lt;br /&gt;
|[[Image:dragmath06b.png|thumb|150px|Edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06c.png|thumb|150px|Delete the original matrix]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sometimes however, you just want to include something you forgot, or rather, add something that was not there in the first place. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Accurately editing a DragMath construction manually  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06d.png|thumb|150px|Construct the original equation]]&lt;br /&gt;
|[[Image:dragmath06e.png|thumb|150px|Copy, then edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06f.png|thumb|150px|Return to the edited page]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==What DragMath Does and How It Does It==&lt;br /&gt;
===Configuration files===&lt;br /&gt;
DragMath allows you to create your own configuration files.  That means it can be used to parse and display what you tell it to parse and display.  By way of example, DragMath comes with a number of configuration files,  one of which has been specifically designed to place doubledollar tokens before and after inserted text. We have seen a number of people change the TeX tokens in Modle using MathJax, and then become nonplussed that DragMath stops working.  No DragMath still works,  but it is likely inserting tokens that MathJax is not parsing. This can get confusing if you have more than one display technology in place.  DragMath allows you to alter the tokens it inserts, so you can quite easily, for example, have DragMath insert startmath or endmath if that is what you want to use for tokens.&lt;br /&gt;
===Language Files===&lt;br /&gt;
DragMath can also use quite a few languages.&lt;br /&gt;
==So! You want to use DragMath but don&#039;t want to use the TeX filter?==&lt;br /&gt;
===What?===&lt;br /&gt;
Yes.  Moodle devs decided that you should not use DragMath unless you used the Moodle TeX filter (yes, over objections from lots of folk.)  Does that mean that the TeX filter is the best way to go? Hardly.  The TeX filter is rather long in the tooth, desperately in need of revision, and essentially only provides a fallback to a mimetex binary if you have not installed a TeX distribution. There are lots of other options for Math display in Moodle,  may of them much easier to configure and use!&lt;br /&gt;
===Procedure===&lt;br /&gt;
====Decoupling DragMath from the Tex Filter====&lt;br /&gt;
Since default configuration of tinymce (the default editor) requires that TeX filter is enabled before Dragmath plugin can be used we need to edit file lib/editor/tinymce/lib.php&lt;br /&gt;
&lt;br /&gt;
First, make a copy of that file to make sure that you can revert back to the original. &lt;br /&gt;
Second, open the file for editing (with an appropriate editor that will not do unseen things to the contents of your file)&lt;br /&gt;
Third, locate lines 107-111:&lt;br /&gt;
&lt;br /&gt;
 if (array_key_exists(&#039;filter/tex&#039;, $filters)) {&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
 } else {&lt;br /&gt;
 $xdragmath = &#039;&#039;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Fourth, replace all those lines with this one line:&lt;br /&gt;
&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
&lt;br /&gt;
removing the if statement that makes DragMath visible only if the TeX filter is turned on.&lt;br /&gt;
Fifth, save the file.&lt;br /&gt;
Sixth, replace the original file lib/editor/tinymce/lib.php with this modified version.&lt;br /&gt;
====Setting up another display mechanism====&lt;br /&gt;
Now DragMath will show up in your editor,  but you have no way of displaying the TeX or other code that you might insert with DragMath. You can explore the docs and the Math forum and you will find quite a few other ways to display Math in Moodle.  One very popular way is to use MathJax. Under Moodle 2.x the AdditionalHtml field can be used to add the reference to MathJax and even do some configuration. &lt;br /&gt;
To accomplish this, as an administrator of your site go to: Site administration -&amp;gt; Appearance -&amp;gt; Additional HTML -&amp;gt; Within HEAD &lt;br /&gt;
Now, add &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/GeonextReader.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&amp;quot;&amp;gt;&lt;br /&gt;
 MathJax.Hub.Config({&lt;br /&gt;
    tex2jax: {&lt;br /&gt;
      inlineMath: [ [&#039;$$&#039;,&#039;$$&#039;], [&#039;@i&#039;,&#039;@i&#039;], [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;] ], &lt;br /&gt;
      displayMath:[ [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;], [&#039;@d&#039;,&#039;@d&#039;] ],&lt;br /&gt;
      processEscapes: true&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Save changes.&lt;br /&gt;
Make sure that Tex filter and Algebra filter are disabled in Site administration &amp;gt; Plugins &amp;gt; Filters &amp;gt; Manage filters&lt;br /&gt;
Your moodle 2 is now using MathJax from a cloud server in cdn.mathjax.org with given delimiters (in this example double dollars and @i  for inlineMath and @d for displayMath). You can choose to use other delimiters in configuration if you want or swap hat are there, BUT you may not use delimiters Moodle employs for other purposes and you need to be very careful of the syntax. You do not need to have the same token for beginning and end (for example,  one could use startmath and endmath as tokens. See http://mathjax.org for additional information on these and other parameters.&lt;br /&gt;
&amp;quot;Wait!&amp;quot;, you say. &amp;quot;What about the first three lines I added to AdditionalHtml?&amp;quot; We thought you would never ask.  These lines add access to jsxgraph and GeoNextReader which you can find discussed in these forums and at the jsxgraph site, http://jsxgraph.uni-bayreuth.de/wp/ COnsider this temporary, as you shoulod update the jsxgraph reference to use its cloud source. See a discussion here: http://jsxgraph.uni-bayreuth.de/wp/download/&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Advanced Maths Tools]] For an explanation of the SEE tools&lt;br /&gt;
* [[Using TeX Notation]] Some ideas and syntax&lt;br /&gt;
* [[TeX notation filter]] Turning TeX on&lt;br /&gt;
* [http://www.youtube.com/watch?v=mfc7umQ2xLA| A simple YouTube video] Constructing a simple equation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97434</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97434"/>
		<updated>2012-05-02T16:08:46Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;WARNING:&#039;&#039;&#039; As of Moodle 2.x DragMath is now in Moodle core (you need not install the code if you are running Moodle 2.x.) To use DragMath, you are required to activate the TeX filter on the server side because the core devs decided that this would give them an opportunity to annoy you. However,  there is a hack to decouple DragMath from TeX. You will also need top have a recent version of a Java Runtime Environment installed on the end-user&#039; machine which is properly configured.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You may want to look in the Math Forum for the latest discussion of SEE (Super Equation Editor, an initial nickname for this effort though the product has far outgrown just an equation editor). SEE is a comprehensive set of Math Plugins Mauno Korpelainen has been developing and are discussed here [[Advanced Maths Tools]] - an &amp;quot;alpha&amp;quot; version of docs for installation and use. If these tools are to your liking they will largely eliminate your need to wrestle with TeX (unless you wish so to do.) And, if you want a full distro of TeX, consider doing a local install of TexLive and cobbling your code to eliminate the need for convert.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
Initially integrated with Moodle to be used with Moodle&#039;s Tex filter,  the export feature available with DragMath has now allowed an integration that supports the creation of LaTex text expressions with and without the doubledollar signs used to signal parsing by the filter as well as AsciiMathML text expressions.&lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here].&lt;br /&gt;
&lt;br /&gt;
==Using DragMath==&lt;br /&gt;
DragMath is based on the simple idea that the User who does not know a lot of TeX (pronounced Tech) can still create mathematical formula for publishing. In this case, Moodle is the dispaly agent so the TeX formulae are then rendered to a Moodle screen. This essentially means that with little experience, any Junior High Maths teacher can generate all the formulae they need for most aspects of Maths in Moodle.&lt;br /&gt;
&lt;br /&gt;
===Creating simple expressions===&lt;br /&gt;
&lt;br /&gt;
To begin, click on the DragMath insertion button. This opens The DragMath interface. &lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath02.png|thumb|200px|center|Opening Dragmath]] &lt;br /&gt;
&lt;br /&gt;
The toolbar is different than you may expect, we are used to nice neat rows of buttons, but Dragmath has to use tabs. Each tab is tab is a collection of &amp;quot;templates&amp;quot;, that is each symbol is a &amp;quot;template&amp;quot; and can be dragged and dropped onto the work space.&lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath01.png|thumb|200px|center|The DragMath Interface]] &lt;br /&gt;
&lt;br /&gt;
To end editing and insert the script into the Moodle page, click the Insert button. This simple, but not simplistic, interface is a strength of DragMath. It make it easy for even novices to create complex formulae.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04f.png|thumb|150px|Select the Tab with the symbols required]]&lt;br /&gt;
|[[Image:dragmath03.png|thumb|150px|Click, hold then drag&#039;n&#039;drop a symbol]]&lt;br /&gt;
|[[Image:dragmath04.png|thumb|150px|Enter the values, select an operation symbol]]&lt;br /&gt;
|[[Image:dragmath04a.png|thumb|150px|Select another symbol and drag&#039;n&#039;drop]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04b.png|thumb|150px|Add an equal (or other) sign]]&lt;br /&gt;
|[[Image:dragmath04c.png|thumb|150px|Add in a variable, (chi in this case) ]]&lt;br /&gt;
|[[Image:dragmath04d.png|thumb|150px|Click Insert]]&lt;br /&gt;
|[[Image:dragmath04e.png|thumb|150px|See the encoded result in the editing dialog.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This same sequence of operations apply equally for all formulae, all insertions, no matter how complex they become. &lt;br /&gt;
&lt;br /&gt;
You can insert a template from the toolbar by drag and drop or by a click on the template in the tab, then clicking in the workspace.&lt;br /&gt;
&lt;br /&gt;
===Creating more complex expressions===&lt;br /&gt;
&lt;br /&gt;
More complex expressions are pretty much more of the same as above. Creating a simple multiplication table matrix, for example, seems complex,but in DragNath, it is actually simple:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for a simple Multiplication Matrice in DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05.png|thumb|150px|Select the Tab and add in the multiplier]]&lt;br /&gt;
|[[Image:dragmath05a.png|thumb|150px|Click, hold then drag&#039;n&#039;drop the Matrix symbol]]&lt;br /&gt;
|[[Image:dragmath05b.png|thumb|150px|Enter the values, select a equal symbol]]&lt;br /&gt;
|[[Image:dragmath05c.png|thumb|150px|Add in the rows required]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05d.png|thumb|150px|Add in the columns required]]&lt;br /&gt;
|[[Image:dragmath05e.png|thumb|150px|Edit the Matrice ]]&lt;br /&gt;
|[[Image:dragmath05f.png|thumb|150px|Add the equal symbol]]&lt;br /&gt;
|[[Image:dragmath05g.png|thumb|150px|Add and edit in the second Matrice.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Additional Editing===&lt;br /&gt;
&lt;br /&gt;
There are times when &#039;&#039;&#039;DragMath&#039;&#039;&#039; is not going to have a symbol or something you might want. Or perhaps you left something out of the DragMath constuctor, so you want to include it manually. Most likely, for something like the matrix created earlier, I want to go to 15, which means I have to change the structure of the matrix, and edit in some numbers. This is easily done with a little forethought. Copy and paste and delete or edit what you want and do not want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Manually editing a DragMath construction  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06a.png|thumb|150px|Select, copy and paste the original matrix]]&lt;br /&gt;
|[[Image:dragmath06b.png|thumb|150px|Edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06c.png|thumb|150px|Delete the original matrix]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sometimes however, you just want to include something you forgot, or rather, add something that was not there in the first place. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Accurately editing a DragMath construction manually  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06d.png|thumb|150px|Construct the original equation]]&lt;br /&gt;
|[[Image:dragmath06e.png|thumb|150px|Copy, then edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06f.png|thumb|150px|Return to the edited page]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==What DragMath Does and How It Does It==&lt;br /&gt;
===Configuration files===&lt;br /&gt;
DragMath allows you to create your own configuration files.  That means it can be used to parse and display what you tell it to parse and display.  By way of example, DragMath comes with a number of configuration files,  one of which has been specifically designed to place doubledollar tokens before and after inserted text. We have seen a number of people change the TeX tokens in Modle using MathJax, and then become nonplussed that DragMath stops working.  No DragMath still works,  but it is likely inserting tokens that MathJax is not parsing. This can get confusing if you have more than one display technology in place.  DragMath allows you to alter the tokens it inserts, so you can quite easily, for example, have DragMath insert startmath or endmath if that is what you want to use for tokens.&lt;br /&gt;
===Language Files===&lt;br /&gt;
DragMath can also use quite a few languages.&lt;br /&gt;
==So! You want to use DragMath but don&#039;t want to use the TeX filter?==&lt;br /&gt;
===What?===&lt;br /&gt;
Yes.  Moodle devs decided that you should not use DragMath unless you used the Moodle TeX filter (yes, over objections from lots of folk.)  Does that mean that the TeX filter is the best way to go? Hardly.  The TeX filter is rather long in the tooth, desperately in need of revision, and essentially only provides a fallback to a mimetex binary if you have not installed a TeX distribution. There are lots of other options for Math display in Moodle,  may of them much easier to configure and use!&lt;br /&gt;
===Procedure===&lt;br /&gt;
====Decoupling DragMath from the Tex Filter====&lt;br /&gt;
Since default configuration of tinymce (the default editor) requires that TeX filter is enabled before Dragmath plugin can be used we need to edit file lib/editor/tinymce/lib.php&lt;br /&gt;
&lt;br /&gt;
First, make a copy of that file to make sure that you can revert back to the original. &lt;br /&gt;
Second, open the file for editing (with an appropriate editor that will not do unseen things to the contents of your file)&lt;br /&gt;
Third, locate lines 107-111:&lt;br /&gt;
&lt;br /&gt;
 if (array_key_exists(&#039;filter/tex&#039;, $filters)) {&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
 } else {&lt;br /&gt;
 $xdragmath = &#039;&#039;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Fourth, replace all those lines with this one line:&lt;br /&gt;
&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
&lt;br /&gt;
removing the if statement that makes DragMath visible only if the TeX filter is turned on.&lt;br /&gt;
Fifth, save the file.&lt;br /&gt;
Sixth, replace the original file lib/editor/tinymce/lib.php with this modified version.&lt;br /&gt;
====Setting up another display mechanism====&lt;br /&gt;
Now DragMath will show up in your editor,  but you have no way of displaying the TeX or other code that you might insert with DragMath. You can explore the docs and the Math forum and you will find quite a few other ways to display Math in Moodle.  One very popular way is to use MathJax. Under Moodle 2.x the AdditionalHtml field can be used to add the reference to MathJax and even do some configuration. &lt;br /&gt;
To accomplish this, as an administrator of your site go to: Site administration -&amp;gt; Appearance -&amp;gt; Additional HTML -&amp;gt; Within HEAD &lt;br /&gt;
Now, add &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/GeonextReader.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&amp;quot;&amp;gt;&lt;br /&gt;
 MathJax.Hub.Config({&lt;br /&gt;
    tex2jax: {&lt;br /&gt;
      inlineMath: [ [&#039;$$&#039;,&#039;$$&#039;], [&#039;@i&#039;,&#039;@i&#039;], [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;] ], &lt;br /&gt;
      displayMath:[ [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;], [&#039;@d&#039;,&#039;@d&#039;] ],&lt;br /&gt;
      processEscapes: true&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Save changes.&lt;br /&gt;
Make sure that Tex filter and Algebra filter are disabled in Site administration &amp;gt; Plugins &amp;gt; Filters &amp;gt; Manage filters&lt;br /&gt;
Your moodle 2 is now using MathJax from a cloud server in cdn.mathjax.org with given delimiters (in this example double dollars and @i  for inlineMath and @d for displayMath). You can choose to use other delimiters in configuration if you want or swap hat are there, BUT you may not use delimiters Moodle employs for other purposes and you need to be very careful of the syntax. You do not need to have the same token for beginning and end (for example,  one could use startmath and endmath as tokens. See http://mathjax.org for additional information on these and other parameters.&lt;br /&gt;
&amp;quot;Wait!&amp;quot;, you say. &amp;quot;What about the first three lines I added to AdditionalHtml?&amp;quot; We thought you would never ask.  These lines add access to jsxgraph and GeoNextReader which you can find discussed in these forums and at the jsxgraph site, http://jsxgraph.uni-bayreuth.de/wp/ COnsider this temporary, as you shoulod update the jsxgraph reference to use its cloud source. See a discussion here: http://jsxgraph.uni-bayreuth.de/wp/download/&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Advanced Maths Tools]] For an explanation of the SEE tools&lt;br /&gt;
* [[Using TeX Notation]] Some ideas and syntax&lt;br /&gt;
* [[TeX notation filter]] Turning TeX on&lt;br /&gt;
* [http://www.youtube.com/watch?v=mfc7umQ2xLA| A simple YouTube video] Constructing a simple equation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97432</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97432"/>
		<updated>2012-05-02T15:48:03Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;WARNING:&#039;&#039;&#039; As of Moodle 2.x DragMath is now in Moodle core (you need not install the code if you are running Moodle 2.x.) To use DragMath, you are required to activate the TeX filter on the server side because the core devs decided that this would give them an opportunity to annoy you. However,  there is a hack to decouple DragMath from TeX. You will also need top have a recent version of a Java Runtime Environment installed on the end-user&#039; machine which is properly configured.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You may want to look in the Math Forum for the latest discussion of SEE (Super Equation Editor, an initial nickname for this effort though the product has far outgrown just an equation editor). SEE is a comprehensive set of Math Plugins Mauno Korpelainen has been developing and are discussed here [[Advanced Maths Tools]] - an &amp;quot;alpha&amp;quot; version of docs for installation and use. If these tools are to your liking they will largely eliminate your need to wrestle with TeX (unless you wish so to do.) And, if you want a full distro of TeX, consider doing a local install of TexLive and cobbling your code to eliminate the need for convert.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
Initially integrated with Moodle to be used with Moodle&#039;s Tex filter,  the export feature available with DragMath has now allowed an integration that supports the creation of LaTex text expressions with and without the doubledollar signs used to signal parsing by the filter as well as AsciiMathML text expressions.&lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here].&lt;br /&gt;
&lt;br /&gt;
==Using DragMath==&lt;br /&gt;
DragMath is based on the simple idea that the User who does not know a lot of TeX (pronounced Tech) can still create mathematical formula for publishing. In this case, Moodle is the dispaly agent so the TeX formulae are then rendered to a Moodle screen. This essentially means that with little experience, any Junior High Maths teacher can generate all the formulae they need for most aspects of Maths in Moodle.&lt;br /&gt;
&lt;br /&gt;
===Creating simple expressions===&lt;br /&gt;
&lt;br /&gt;
To begin, click on the DragMath insertion button. This opens The DragMath interface. &lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath02.png|thumb|200px|center|Opening Dragmath]] &lt;br /&gt;
&lt;br /&gt;
The toolbar is different than you may expect, we are used to nice neat rows of buttons, but Dragmath has to use tabs. Each tab is tab is a collection of &amp;quot;templates&amp;quot;, that is each symbol is a &amp;quot;template&amp;quot; and can be dragged and dropped onto the work space.&lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath01.png|thumb|200px|center|The DragMath Interface]] &lt;br /&gt;
&lt;br /&gt;
To end editing and insert the script into the Moodle page, click the Insert button. This simple, but not simplistic, interface is a strength of DragMath. It make it easy for even novices to create complex formulae.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04f.png|thumb|150px|Select the Tab with the symbols required]]&lt;br /&gt;
|[[Image:dragmath03.png|thumb|150px|Click, hold then drag&#039;n&#039;drop a symbol]]&lt;br /&gt;
|[[Image:dragmath04.png|thumb|150px|Enter the values, select an operation symbol]]&lt;br /&gt;
|[[Image:dragmath04a.png|thumb|150px|Select another symbol and drag&#039;n&#039;drop]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04b.png|thumb|150px|Add an equal (or other) sign]]&lt;br /&gt;
|[[Image:dragmath04c.png|thumb|150px|Add in a variable, (chi in this case) ]]&lt;br /&gt;
|[[Image:dragmath04d.png|thumb|150px|Click Insert]]&lt;br /&gt;
|[[Image:dragmath04e.png|thumb|150px|See the encoded result in the editing dialog.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This same sequence of operations apply equally for all formulae, all insertions, no matter how complex they become. &lt;br /&gt;
&lt;br /&gt;
You can insert a template from the toolbar by drag and drop or by a click on the template in the tab, then clicking in the workspace.&lt;br /&gt;
&lt;br /&gt;
===Creating more complex expressions===&lt;br /&gt;
&lt;br /&gt;
More complex expressions are pretty much more of the same as above. Creating a simple multiplication table matrix, for example, seems complex,but in DragNath, it is actually simple:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for a simple Multiplication Matrice in DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05.png|thumb|150px|Select the Tab and add in the multiplier]]&lt;br /&gt;
|[[Image:dragmath05a.png|thumb|150px|Click, hold then drag&#039;n&#039;drop the Matrix symbol]]&lt;br /&gt;
|[[Image:dragmath05b.png|thumb|150px|Enter the values, select a equal symbol]]&lt;br /&gt;
|[[Image:dragmath05c.png|thumb|150px|Add in the rows required]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05d.png|thumb|150px|Add in the columns required]]&lt;br /&gt;
|[[Image:dragmath05e.png|thumb|150px|Edit the Matrice ]]&lt;br /&gt;
|[[Image:dragmath05f.png|thumb|150px|Add the equal symbol]]&lt;br /&gt;
|[[Image:dragmath05g.png|thumb|150px|Add and edit in the second Matrice.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Additional Editing===&lt;br /&gt;
&lt;br /&gt;
There are times when &#039;&#039;&#039;DragMath&#039;&#039;&#039; is not going to have a symbol or something you might want. Or perhaps you left something out of the DragMath constuctor, so you want to include it manually. Most likely, for something like the matrix created earlier, I want to go to 15, which means I have to change the structure of the matrix, and edit in some numbers. This is easily done with a little forethought. Copy and paste and delete or edit what you want and do not want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Manually editing a DragMath construction  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06a.png|thumb|150px|Select, copy and paste the original matrix]]&lt;br /&gt;
|[[Image:dragmath06b.png|thumb|150px|Edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06c.png|thumb|150px|Delete the original matrix]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sometimes however, you just want to include something you forgot, or rather, add something that was not there in the first place. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Accurately editing a DragMath construction manually  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06d.png|thumb|150px|Construct the original equation]]&lt;br /&gt;
|[[Image:dragmath06e.png|thumb|150px|Copy, then edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06f.png|thumb|150px|Return to the edited page]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==What DragMath Does and How It Does It==&lt;br /&gt;
===Configuration files===&lt;br /&gt;
&lt;br /&gt;
===Tokens===&lt;br /&gt;
&lt;br /&gt;
==So! You want to use DragMath but don&#039;t want to use the TeX filter?==&lt;br /&gt;
===What?===&lt;br /&gt;
&lt;br /&gt;
===Procedure===&lt;br /&gt;
====Decoupling DragMath from the Tex Filter====&lt;br /&gt;
Since default configuration of tinymce (the default editor) requires that TeX filter is enabled before Dragmath plugin can be used we need to edit file lib/editor/tinymce/lib.php&lt;br /&gt;
&lt;br /&gt;
First, make a copy of that file to make sure that you can revert back to the original. &lt;br /&gt;
Second, open the file for editing (with an appropriate editor that will not do unseen things to the contents of your file)&lt;br /&gt;
Third, locate lines 107-111:&lt;br /&gt;
&lt;br /&gt;
 if (array_key_exists(&#039;filter/tex&#039;, $filters)) {&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
 } else {&lt;br /&gt;
 $xdragmath = &#039;&#039;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Fourth, replace all those lines with this one line:&lt;br /&gt;
&lt;br /&gt;
 $xdragmath = &#039;dragmath,&#039;;&lt;br /&gt;
&lt;br /&gt;
removing the if statement that makes DragMath visible only if the TeX filter is turned on.&lt;br /&gt;
Fifth, save the file.&lt;br /&gt;
Sixth, replace the original file lib/editor/tinymce/lib.php with this modified version.&lt;br /&gt;
====Setting up another display mechanism====&lt;br /&gt;
Now DragMath will show up in your editor,  but you have no way of displaying the TeX or other code that you might insert with DragMath. You can explore the docs and the Math forum and you will find quite a few other ways to display Math.  One very popular way is to use MathJax. Under Moodle 2.x the AdditionalHtml field can be used to add the reference to MathJax and even do some configuration. &lt;br /&gt;
To accomplish this, as an administrator of your site go to Site administration &amp;gt; Appearance &amp;gt; Additional HTML &amp;gt; Within HEAD &lt;br /&gt;
Now, add &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph.css&amp;quot; media=&amp;quot;screen&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://jsxgraph.uni-bayreuth.de/distrib/GeonextReader.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
 &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML&amp;quot;&amp;gt;&lt;br /&gt;
 MathJax.Hub.Config({&lt;br /&gt;
    tex2jax: {&lt;br /&gt;
      inlineMath: [ [&#039;$$&#039;,&#039;$$&#039;], [&#039;@i&#039;,&#039;@i&#039;], [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;] ], &lt;br /&gt;
      displayMath:[ [&amp;quot;\\(&amp;quot;,&amp;quot;\\)&amp;quot;], [&#039;@d&#039;,&#039;@d&#039;] ],&lt;br /&gt;
      processEscapes: true&lt;br /&gt;
    }&lt;br /&gt;
  });&lt;br /&gt;
 &amp;lt;/script&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Save changes button.&lt;br /&gt;
Make sure that Tex filter and Algebra filter are disabled in Site administration &amp;gt; Plugins &amp;gt; Filters &amp;gt; Manage filters&lt;br /&gt;
Your moodle 2 is now using MathJax from a cloud server in cdn.mathjax.org with given delimiters (in this example double dollars for inlineMaths and @d for displayMaths). You can choose to use other delimiters in configuration if you want.&lt;br /&gt;
Make sure that Tex filter and Algebra filter are disabled in Site administration &amp;gt; Plugins &amp;gt; Filters &amp;gt; Manage filters&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Advanced Maths Tools]] For an explanation of the SEE tools&lt;br /&gt;
* [[Using TeX Notation]] Some ideas and syntax&lt;br /&gt;
* [[TeX notation filter]] Turning TeX on&lt;br /&gt;
* [http://www.youtube.com/watch?v=mfc7umQ2xLA| A simple YouTube video] Constructing a simple equation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97430</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=97430"/>
		<updated>2012-05-02T15:19:29Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* WARNING */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== WARNING ===&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;As of Moodle 2.x DragMath is now in Moodle core (you need not install the code if you are running Moodle 2.x.) To use DragMath, you are required to activate the TeX filter on the server side because the core devs decided that this would give them an opportunity to annoy you. However,  there is a hack to decouple DragMath from TeX. You will also need top have a recent version of a Java Runtime Environment installed on the end-user&#039; machine which is properly configured.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You may want to look in the Math Forum for the latest discussion of SEE (Super Equation Editor, an initial nickname for this effort though the product has far outgrown just an equation editor). SEE is a comprehensive set of Math Plugins Mauno Korpelainen has been developing and are discussed here [[Advanced Maths Tools]] - an &amp;quot;alpha&amp;quot; version of docs for installation and use. If these tools are to your liking they will largely eliminate your need to wrestle with TeX (unless you wish so to do.) And, if you want a full distro of TeX, consider doing a local install of TexLive and cobbling your code to eliminate the need for convert.&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
Initially integrated with Moodle to be used with Moodle&#039;s Tex filter,  the export feature available with DragMath has now allowed an integration that supports the creation of LaTex text expressions with and without the doubledollar signs used to signal parsing by the filter as well as AsciiMathML text expressions.&lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here].&lt;br /&gt;
&lt;br /&gt;
===Using DragMath===&lt;br /&gt;
DragMath is based on the simple idea that the User who does not know a lot of TeX (pronounced Tech) can still create mathematical formula for publishing. In this case, Moodle is the dispaly agent so the TeX formulae are then rendered to a Moodle screen. This essentially means that with little experience, any Junior High Maths teacher can generate all the formulae they need for most aspects of Maths in Moodle.&lt;br /&gt;
&lt;br /&gt;
===Creating simple expressions===&lt;br /&gt;
&lt;br /&gt;
To begin, click on the DragMath insertion button. This opens The DragMath interface. &lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath02.png|thumb|200px|center|Opening Dragmath]] &lt;br /&gt;
&lt;br /&gt;
The toolbar is different than you may expect, we are used to nice neat rows of buttons, but Dragmath has to use tabs. Each tab is tab is a collection of &amp;quot;templates&amp;quot;, that is each symbol is a &amp;quot;template&amp;quot; and can be dragged and dropped onto the work space.&lt;br /&gt;
&lt;br /&gt;
[[Image:dragmath01.png|thumb|200px|center|The DragMath Interface]] &lt;br /&gt;
&lt;br /&gt;
To end editing and insert the script into the Moodle page, click the Insert button. This simple, but not simplistic, interface is a strength of DragMath. It make it easy for even novices to create complex formulae.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04f.png|thumb|150px|Select the Tab with the symbols required]]&lt;br /&gt;
|[[Image:dragmath03.png|thumb|150px|Click, hold then drag&#039;n&#039;drop a symbol]]&lt;br /&gt;
|[[Image:dragmath04.png|thumb|150px|Enter the values, select an operation symbol]]&lt;br /&gt;
|[[Image:dragmath04a.png|thumb|150px|Select another symbol and drag&#039;n&#039;drop]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath04b.png|thumb|150px|Add an equal (or other) sign]]&lt;br /&gt;
|[[Image:dragmath04c.png|thumb|150px|Add in a variable, (chi in this case) ]]&lt;br /&gt;
|[[Image:dragmath04d.png|thumb|150px|Click Insert]]&lt;br /&gt;
|[[Image:dragmath04e.png|thumb|150px|See the encoded result in the editing dialog.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This same sequence of operations apply equally for all formulae, all insertions, no matter how complex they become. &lt;br /&gt;
&lt;br /&gt;
You can insert a template from the toolbar by drag and drop or by a click on the template in the tab, then clicking in the workspace.&lt;br /&gt;
&lt;br /&gt;
===Creating more complex expressions===&lt;br /&gt;
&lt;br /&gt;
More complex expressions are pretty much more of the same as above. Creating a simple multiplication table matrix, for example, seems complex,but in DragNath, it is actually simple:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;A sequence for a simple Multiplication Matrice in DragMath - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05.png|thumb|150px|Select the Tab and add in the multiplier]]&lt;br /&gt;
|[[Image:dragmath05a.png|thumb|150px|Click, hold then drag&#039;n&#039;drop the Matrix symbol]]&lt;br /&gt;
|[[Image:dragmath05b.png|thumb|150px|Enter the values, select a equal symbol]]&lt;br /&gt;
|[[Image:dragmath05c.png|thumb|150px|Add in the rows required]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath05d.png|thumb|150px|Add in the columns required]]&lt;br /&gt;
|[[Image:dragmath05e.png|thumb|150px|Edit the Matrice ]]&lt;br /&gt;
|[[Image:dragmath05f.png|thumb|150px|Add the equal symbol]]&lt;br /&gt;
|[[Image:dragmath05g.png|thumb|150px|Add and edit in the second Matrice.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Additional Editing===&lt;br /&gt;
&lt;br /&gt;
There are times when &#039;&#039;&#039;DragMath&#039;&#039;&#039; is not going to have a symbol or something you might want. Or perhaps you left something out of the DragMath constuctor, so you want to include it manually. Most likely, for something like the matrix created earlier, I want to go to 15, which means I have to change the structure of the matrix, and edit in some numbers. This is easily done with a little forethought. Copy and paste and delete or edit what you want and do not want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Manually editing a DragMath construction  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06a.png|thumb|150px|Select, copy and paste the original matrix]]&lt;br /&gt;
|[[Image:dragmath06b.png|thumb|150px|Edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06c.png|thumb|150px|Delete the original matrix]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Sometimes however, you just want to include something you forgot, or rather, add something that was not there in the first place. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| colspan=&amp;quot;4&amp;quot;|&#039;&#039;&#039;Accurately editing a DragMath construction manually  - click an image to enlarge&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:dragmath06d.png|thumb|150px|Construct the original equation]]&lt;br /&gt;
|[[Image:dragmath06e.png|thumb|150px|Copy, then edit to what is actually required]]&lt;br /&gt;
|[[Image:dragmath06f.png|thumb|150px|Return to the edited page]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===See Also===&lt;br /&gt;
* [[Advanced Maths Tools]] For an explanation of the SEE tools&lt;br /&gt;
* [[Using TeX Notation]] Some ideas and syntax&lt;br /&gt;
* [[TeX notation filter]] Turning TeX on&lt;br /&gt;
* [http://www.youtube.com/watch?v=mfc7umQ2xLA| A simple YouTube video] Constructing a simple equation. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=User:Net-buoy/common.js&amp;diff=96163</id>
		<title>User:Net-buoy/common.js</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=User:Net-buoy/common.js&amp;diff=96163"/>
		<updated>2012-02-29T17:41:03Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=User:Marc_Grober&amp;diff=96160</id>
		<title>User:Marc Grober</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=User:Marc_Grober&amp;diff=96160"/>
		<updated>2012-02-29T17:03:52Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Yes......&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=User:Marc_Grober&amp;diff=96159</id>
		<title>User:Marc Grober</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=User:Marc_Grober&amp;diff=96159"/>
		<updated>2012-02-29T17:01:20Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Yes......&lt;br /&gt;
$$\alpha$$&lt;br /&gt;
$$/alpha$$&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=User:Net-buoy/common.js&amp;diff=96158</id>
		<title>User:Net-buoy/common.js</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=User:Net-buoy/common.js&amp;diff=96158"/>
		<updated>2012-02-29T16:46:16Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: Created page with &amp;quot;mathJax={}; mathJax.fontDir=&amp;quot;http://cdn.mathjax.org/mathjax/latest/fonts&amp;quot;; importScript(&amp;#039;User:Nageh/mathJax.js&amp;#039;);&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mathJax={}; mathJax.fontDir=&amp;quot;http://cdn.mathjax.org/mathjax/latest/fonts&amp;quot;;&lt;br /&gt;
importScript(&#039;User:Nageh/mathJax.js&#039;);&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Mathematics&amp;diff=88046</id>
		<title>Mathematics</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Mathematics&amp;diff=88046"/>
		<updated>2011-08-18T20:07:48Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==NEWS==&lt;br /&gt;
Until there is time to integrate in to the rest of this page, the time has come to note that development of SEE (Super Equation Editor, a nickname for a set of plugins being developed by Mauno that now far outstrips the notion of a &amp;quot;plain old equation editor&amp;quot;) that Colin has created a page to address those tools at [[Advanced_Maths_Tools]] (yes, Maths has an &amp;quot;s&amp;quot; which makes the page arguably undiscoverable by people in the US, but Americans don&#039;t speak English anyway.)&lt;br /&gt;
&lt;br /&gt;
Why is this exciting?  Because so many of the tools you (student, pupil, admin) need are handily packaged up in something that approaches a transparent and universal Mathematics interface. Yes, you can use the editor to create and modify constructions, yes you have graphing calculators, yes you have TeX and asciimathml and mathml and the list goes on and on and on.  BUT, this is not yet a full production package and the docs are &amp;quot;alpha&amp;quot; - Please install and use and report.&lt;br /&gt;
&lt;br /&gt;
==Equation Construction and Display==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
There are a variety of tools that are available for the purpose of constructing equations, providing text expressions that can be converted to equations, and displaying equations. &lt;br /&gt;
&lt;br /&gt;
The most common text expression syntax is LaTeX or a derivative with probably the most common form of display being a conversion of the equation to an image file. However, is demonstrated with ASCIIMathML simple text expressions can now be be converted to MathML on the fly.&lt;br /&gt;
&lt;br /&gt;
Some tools for creating and displaying equations on-line that may be of interest to those teaching mathematics are:&lt;br /&gt;
* Moodle offers in core a basic TeX filter and an Algebra filter. These are simple but not simplistic. An overview of using these tools can be found at the [[Using TeX Notation]] pages. Be aware that these packages are subsets of complete TeX packages and the conventions used are designed more for ease of use within Moodle rather than as complete TeX packages. &lt;br /&gt;
* [[ASCIIMathML]],  which both converts equations into MathML on the fly and provides a text expression syntax more easily mastered than Tex, though the filter will convert TeX expressions as well. [http://sourceforge.net/project/showfiles.php?group_id=106148 The ASCIIMathML 2.0.2 zip] provides all the files necessary for setting ASCIIMathML up as  a Moodle filter as well creating run-time graphs with ASCIIsvg. An on-line calculator is also included. Just recently an  ASCIIMathML export format for DragMath was added to version 0.7.2, [https://docs.moodle.org/en/DragMath_equation_editor available here],  so that you have access to both a GUI and text expression syntax for creating and displaying equations. Quick and GIFless. [http://math.chapman.edu/~jipsen/asciencepad/asciencepad.html  ASciencePad is also available] and consists of htmlarea enhanced with the ASCIIMathML functionality. &lt;br /&gt;
* [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=916 Tim Hunt&#039;s Moodle MathTran Module] converts Tex into images on the fly. You can also use  [http://www.mathtran.org/wiki/index.php/TeX_image mathtran_img.js] on a page by page basis.&lt;br /&gt;
* The [[jsMath]] filter, which does a similar job but using [[Javascript]] on the user&#039;s computer&lt;br /&gt;
* [[MathJax]], a next generation for jsMath from David Cervone et al that now includes MathML and web font features: [http://MathJax.org] A discussion regarding deploying the beta release can be found here: [http://moodle.org/mod/forum/discuss.php?d=142785]&lt;br /&gt;
* [[Calculated question type]]&lt;br /&gt;
* [[DragMath equation editor]], a WYSIWYG equation editor that integrates easily with the Moodle HTML editor.&lt;br /&gt;
* [[WIRIS]], is a plugin that easily integrates with the HTML editor several math tools. Test them at [http://www.wiris.com/demo-moodle/ www.wiris.com/demo-moodle/]&lt;br /&gt;
** WYSIWYG equation editor. Based on MathML&lt;br /&gt;
** Advanced calculator. Integrals, derivatives, limits, ploting in 2D and 3D,...&lt;br /&gt;
** Advancaed math quizzes&lt;br /&gt;
&lt;br /&gt;
* [http://www.dessci.com/en/products/mathtype MathType], a commercial product created by DSI (the folk who also offer MathPlayer, a plugin many IE users employ). Bob Mathews recently posted [http://moodle.org/mod/forum/discuss.php?d=93728&amp;amp;parent=549428] that info on how to use MathType with Moodle can be found at http://www.dessci.com/en/products/mathtype/works_with.htm?target=moodle. Beginning with MathType 6.7, MathType includes a &amp;quot;translator&amp;quot; to convert a MathType equation into the LaTeX code required by the Moodle TeX filter.&lt;br /&gt;
Mathematics teachers may also be interested to follow the work of [http://maths.york.ac.uk York University Maths department], who are working on [http://maths.york.ac.uk/serving_maths/ some projects] to augment Moodle, particularly its [[Quiz module]] for online assessment, for example by integrating a system which is able to mark algebraic and trigonometric answers to open-ended questions.&lt;br /&gt;
&lt;br /&gt;
===Accessibility Display Matrix===&lt;br /&gt;
&lt;br /&gt;
{{Expand-section|date=August 2008}}&lt;br /&gt;
&lt;br /&gt;
■ Feature Key appears below the matrix.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Notation&lt;br /&gt;
!Tex/LaTex&lt;br /&gt;
!ASCIIMath&lt;br /&gt;
!MathML&lt;br /&gt;
|-&lt;br /&gt;
|Ease of Use&lt;br /&gt;
|Plain text system. Knowledge of LaTeX notation required. Being a plain text system, LaTeX notation is straightforward to create and edit. &lt;br /&gt;
|Plain text system. Easy to learn. Notation simple. Being a plain text system, ASCIIMath is very easy to create and edit.&lt;br /&gt;
|XML-based. Not easy to create and edit: an editor is required.&lt;br /&gt;
|-&lt;br /&gt;
|Conversion to Braille&lt;br /&gt;
|Output directly to Braille display via screen reader (fn 2)&lt;br /&gt;
|ASCIIMath notation is converted to MathML or LaTeX. Please refer to those formats for details.&lt;br /&gt;
|Converted to suitable textual format and Brailled using screen reader (fn 3)&lt;br /&gt;
|-&lt;br /&gt;
|Transmission via TTS&lt;br /&gt;
|Notation spoken &amp;quot;as-is&amp;quot; via screen reader (fn 2)&lt;br /&gt;
|ASCIIMath notation is converted to MathML or LaTeX. Please refer to those formats for details.&lt;br /&gt;
|Converted to suitable textual format and spoken using screen reader. Note that MathPlayer add-on for IE has TTS functionality built-in (fn 3).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn1&amp;quot;&amp;gt;&#039;&#039;&#039;fn1.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
MathPlayer claims to do math-to-speech by parsing the MathML, not by parsing TeX. See http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm where it is stated:&lt;br /&gt;
&lt;br /&gt;
All of these examples were written in Microsoft Word and MathType and exported to MathML using MathType’s “MathPage” technology. MathPage technology was added to MathType in version 5.0. No special work is needed to author the expressions to make them accessible. Any product that exports MathML will produce pages that MathPlayer can speak.&lt;br /&gt;
&lt;br /&gt;
For a larger real life example, see this page. Also, MSN Encarta uses MathML on many of their web pages that contain math, so much of their Math should be accessible using MathPlayer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn2&amp;quot;&amp;gt;&#039;&#039;&#039;fn2. &#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
The alt attribute of the rendered graphic is spoken and/or Braillled. As LaTeX is a plain text notation, the notation can be spoken and Brailled by the screen reader directly. This does, of course, assume an understanding of LaTeX notation on the part of the screen reader user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn3&amp;quot;&amp;gt;&#039;&#039;&#039;fn3. &#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
In the case of Internet Explorer, screen readers require the MathPlayer plugin to be installed before MathML is rendered (IE does not include native MathML support). By using MSAA, the screen reader can obtain a textual version of the math notation from MathPlayer, which it can then TTS and Braille. Note that MathPlayer also contains built-in TTS functionality (employing MS SAPI) which can be used to speak the math notation without having to employ a screen reader. See [http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm] for further details. At time of writing, screen reader support for Firefox is via MSAA and a special custom, Firefox-specific IAccessible2 interface (to reveal text attributes and character positions). Math notation is spoken via a screen reader which interrogates these interfaces.&lt;br /&gt;
&lt;br /&gt;
==Using Java for Curriculum==&lt;br /&gt;
===Java Tools for Building Applets for Interactive Demonstration===&lt;br /&gt;
These tools can be integrated in or used with Moodle Resources&lt;br /&gt;
&lt;br /&gt;
==== Java Sketchpad ====&lt;br /&gt;
http://www.dynamicgeometry.com/JavaSketchpad/About_JavaSketchpad.html, is an applet developed by Key Curriculum Press. The applet has been the focus of quite a bit of discussion and demonstrations and discussions are widely available.  An introductory article from the Journal of Online Mathematics can be found here: http://mathdl.maa.org/mathDL/4/?nodeId=508&amp;amp;pa=content&amp;amp;sa=viewDocument. Usage focuses largely on Geometry&lt;br /&gt;
&lt;br /&gt;
==== CabriJava ====&lt;br /&gt;
http://www-cabri.imag.fr/cabrijava/, an applet offered by the University of Cabri,  also focuses on interactive geometry. Quite a number of examples employing CabriJava can be found here: http://www.mathsnet.net/cabri/index.html.&lt;br /&gt;
&lt;br /&gt;
==== Descartes ==== &lt;br /&gt;
http://descartes.cnice.mec.es/, is an applet developed under the auspices of the Spanish Ministerio de Educacion Politica Social y Diporte.  An English introduction can be found here at http://descartes.cnice.mec.es/ingles/index.html.  The Ministery has produced an extensive Mathematics curriculum using Descartes,  which is available in English and can be freely downloaded and used. Much of what is available is still only in Spanish so anyone interested in doing translation work please post to the Moodle Math Tools forum.&lt;br /&gt;
&lt;br /&gt;
==== Sympl ==== &lt;br /&gt;
http://www.sympl.org/, an open source Java application/applet for creating interactive graphs.&lt;br /&gt;
&lt;br /&gt;
===Additional Curricular Use of Applets===&lt;br /&gt;
*Euclid&#039;s Elements -  http://aleph0.clarku.edu/~djoyce/java/elements/elements.html&lt;br /&gt;
*Tutorials employing applets (applets can be downloaded and used in Moodle) http://www.analyzemath.com/&lt;br /&gt;
&lt;br /&gt;
===Applet Tools===&lt;br /&gt;
*Graphing - http://www.langara.bc.ca/mathstats/resource/GraphExplorer/&lt;br /&gt;
*Geometry Construction - http://www.cs.rice.edu/~jwarren/grace/&lt;br /&gt;
*GeoGebra - http://www.geogebra.org/&lt;br /&gt;
*Physics Applets for Drawing (PAD) - http://www.wku.edu/pads/ These can make interactive activities that can both check for correctness and give guiding feedback. Includes modules for graphs (2D functions), vectors (even in/out and other lines and arrows and bar-graphs), motion analysis, equation recognition and more. Uses don&#039;t have to be just for Physics. Math, of course. VectorPAD can be used for placing markers (as points, lines, small pictures, [http://www.wku.edu/pads/exercise.php?id=mgaazqzoakmqgfrkkmqgaaayo arrows) on a picture], that could be used in almost any subject. They can be incorporating in SCORM packages which can interact with Moodle. There is no Moodle module now (july 2009) for using them directly, but that would add a lot more power (compared to SCORM), like being able to save states, turn on/off feedback, etc.&lt;br /&gt;
*GraphApplet 1.05: both calculator and graphapplet - http://www.lundin.info/graphapplet.aspx&lt;br /&gt;
*Physlets: large suite of applets about physics but includes [http://webphysics.davidson.edu/physletprob/ch16_datagraph/default.html advanced graphing] too. [http://www.tupo.biz/kurser/javaapplets/Fysik/java/Physlets/CFL/3dimDiag.htm A time dependent 3D example (Swedish!)]&lt;br /&gt;
&lt;br /&gt;
===Java Applet Collections===&lt;br /&gt;
* http://cs.jsu.edu/mcis/faculty/leathrum/Mathlets/&lt;br /&gt;
* http://www.walter-fendt.de/m14e/&lt;br /&gt;
&lt;br /&gt;
* Probability and Statistics&lt;br /&gt;
**http://www.mste.uiuc.edu/pavel/java/dilemma/&lt;br /&gt;
**http://lstat.kuleuven.be/java/&lt;br /&gt;
**http://www.math.csusb.edu/faculty/stanton/m262/&lt;br /&gt;
&lt;br /&gt;
*http://www.mste.uiuc.edu/murphy/JavaOverview/default.html&lt;br /&gt;
*Math and Physics - http://www.falstad.com/mathphysics.html&lt;br /&gt;
*Curves - http://www-groups.dcs.st-and.ac.uk/~history/Java/index.html&lt;br /&gt;
*Chaos and Fractals - http://math.bu.edu/DYSYS/applets/index.html&lt;br /&gt;
*For sale, but extensive - http://www.cut-the-knot.org/Curriculum/index.shtml&lt;br /&gt;
&lt;br /&gt;
==Mathematics Assessment==&lt;br /&gt;
&lt;br /&gt;
Assessment is a key driver for mathematics.  There are a number of ways of getting students to answer mathematical questions through Moodle.&lt;br /&gt;
* WebWork, see http://webwork.maa.org/wiki/Main_Page  http://webwork.math.rochester.edu/docs/docs/, and http://webwork.maa.org/moodle/ is an independent web application for assessing student Math progress, and there is a Moodle Module for interfacing WebWork to Moodle that can be found here: http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=332, though the resources on the WeBWork wiki are probably more current as the code  in the Moodle CVS has not been updated for some time.&lt;br /&gt;
* STACK provides very mathematical questions for the Moodle quiz module.  These are supported by the CAS Maxima.  The home page for STACK can be found on http://stack.bham.ac.uk/&lt;br /&gt;
* WIRIS quizzes [http://www.wiris.com/demo-moodle wiris.com/demo-moodle]&lt;br /&gt;
**Random variables and graphics&lt;br /&gt;
**Automatic evaluation of oen answers&lt;br /&gt;
**Syntax checking of answers&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Mathematics tools FAQ]]&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=46009 Best practices for teaching Math(s) in Moodle]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=61993 How do you deal with the challenge of writing equations?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62002 How do you deal with the challenge of drawing graphs and diagrams?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62014 How do you deal with the challenge of interactive exercises and simulations?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=95950 How can I have a student enter a fraction as an answer?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=127867 What are the components of an exemplary high school Moodle course?]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=88045</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=88045"/>
		<updated>2011-08-18T20:00:43Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* WARNING */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== WARNING ===&lt;br /&gt;
The docs below have been copied from the prexisting docs prior to the decision to break out separate docs for each major version of Moodle. As of Moodle 2.x DragMath is now in Moodle core (you need not install the code if you are running Moodle 2.x.) However, the decision was made that you must turn on the Tex filter in order to access it from the tinyMCE editor. If you think that requirement should be altered, post to the forum or the tracker and good luck with that!&lt;br /&gt;
&lt;br /&gt;
You may want to look in the Math Forum for the latest discussion of SEE (Super Equation Editor, an initial nickname for this effort though the product has far outgrown just an equation editor) the Math Plugins Mauno has been developing as well as here [[Advanced_Maths_Tools]] - an &amp;quot;alpha&amp;quot; version of docs for installation and use. If these tools are too your liking they will largely eliminate your need to wrestle ith TeX (unless you wish so to do.) And, if you want a full distro of TeX, consider doing a local install of TexLive and cobbling your code to eliminate the need for convert.&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
Initially integrated with Moodle to be used with Moodle&#039;s Tex filter,  the export feature available with DragMath has now allowed an integration that supports the creation of LaTex text expressions with and without the doubledollar signs used to signal parsing by the filter as well as AsciiMathML text expressions.&lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here].&lt;br /&gt;
&lt;br /&gt;
===How the DragMath editor has been integrated with Moodle===&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
DragMath is integrated with Moodle through a new button on the editor toolbar.  This way, the DragMath editor is available everywhere that you or your students are called upon to enter text.  &#039;&#039;&#039;Please note:&#039;&#039;&#039; The DragMath editor does not come supplied with Moodle.  You (or your administrator) will have to install it. The following comments are targeted at the single file install,  which has retained the beloved smileys.&lt;br /&gt;
&lt;br /&gt;
====Getting Started====&lt;br /&gt;
Suppose that you&#039;re entering text in the HTML editor and you reach a point where you want to insert a mathematical expression. You want to be able to show the text expression you would use to create an equations as well as the equations itself. Pushing the DragMath button launches the DragMath editor in a small popup window (Note: the first time you do this, there will be a delay of a few seconds due to applet initialization).  &lt;br /&gt;
&lt;br /&gt;
====Create the math expression in DragMath====&lt;br /&gt;
Drag the various graphic constituents of your equation into the construction area until the equation is to your satisfaction.&lt;br /&gt;
&lt;br /&gt;
====Save the expression====&lt;br /&gt;
From the Menu Bar click File-&amp;gt;Save As or click on the floppy icon.  Provide a local location where you want to save the equation and the applet stores the equation there in a .dgrm file. &lt;br /&gt;
&lt;br /&gt;
====Select Export Format====&lt;br /&gt;
From the Menu Bar click Options-&amp;gt;Set Export Format.  If you want to insert the text expression for a tex formula,  select LaTex. If you wish to insert the text expression with the doubledollar tokens so that the expression will be converted by the moodle tex filter,  select MoodleTex (this will likely be the default choice in your applet).  If you have replaced your tex filter with the ASCIIMathML filter,  select ASCIIMathML.&lt;br /&gt;
&lt;br /&gt;
====Insert the expression====&lt;br /&gt;
Click the &amp;quot;Insert button&amp;quot; and you&#039;re done.  The editor will disappear and the output you selected will be inserted. If you chose MoodleTex, the LaTeX expression (with $$ delimiters added at both ends) will be inserted into your text at the current cursor position. Note the screen shot below. This demonstrates the results when you have selected MoodleTex to insert the equation in your work. &#039;&#039;&#039;Note ASCIIMathML users:&#039;&#039;&#039;  the ASCIIMathML.xml file currently has backtics set as tokens.  You can edit that file to use the auto nomenclature if you choose&lt;br /&gt;
&lt;br /&gt;
====Altering Applet Parameters====&lt;br /&gt;
The window presented by the dragmath plugin is controlled by an applet reference in a php file, which for htmlarea in Moodle 1.9.x is dlg_ins_dragmath.php,  one of the files included in the distribution, which can be found in moodleroot/lib/editor/htmlarea/popups .  Applet parameters, per the dragmath documentation, can be changed in this file.  By default, the language is set to English and the output format is set to MoodleTex (that is,  the output will include double dollars signs, and if you have turned off your tex filter and are using asciimath then you will probably want to set your default export format to ASCIIMathML.)&lt;br /&gt;
&lt;br /&gt;
In answer to the prayers of users, the STACK folk added the ability to drop the dot that DragMath had always inserted in 3x between the coefficient and the variable as in 3∙x .  You will find a menu item in DragMath&#039;s gui to turn this on and off right next to the menu items for formatting.  This setting can also be set via an applet parameter. &lt;br /&gt;
&lt;br /&gt;
You can add formats and languages via /lib/DragMath/Config.xml with the various XML export formats in the formats subdirectory of applets and the languages in the lang subdirectory. Of course you can, with care, edit the various xml files.&lt;br /&gt;
&lt;br /&gt;
Should you wish to make any changes,  please remember to back up a copy of your original file. &lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_instructions.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
===Installing DragMath===&lt;br /&gt;
The most current version of DragMath can now be installed properly by simply using unzip (see the section immediately below this one).  The Moodle CVS system and issues with managing adminlib.php have resulted in our going to this new and easier to use package. The new package offers a single zip that includes not only the integration files (at least for htmlarea for the present and with smileys) but the current DragMath files as well. The file can be unzipped in place, a welcome change from the hassles of installing with the Moodle CVS zip; just place the zip file in the moodle root and unzip. &lt;br /&gt;
&lt;br /&gt;
This method is different than the two previously used. Beware of relying on installation advice or files posted in forums prior to July 2009 as they may  be addressing files and methods no longer in use. You may also find a variety of development code in the forums regarding use of dragmath with a number of editors.  Some of this may work and some may not, but none of it will be current.  Use at your own risk!&lt;br /&gt;
&lt;br /&gt;
DragMath may eventually become core technology in Moodle,  meaning that as of a certain version no installation may be required, but installation instructions will continue to remain so as to support older versions as long as feasible.&lt;br /&gt;
&lt;br /&gt;
====Installing DragMath from the non-CVS Zip - Recommended!====&lt;br /&gt;
We have come full circle and as a result of the issues with maintaining a current adminlib.php for every version as well as with the potential move of dragmath that may take place with Moodle 2, DragMath is now available as a zip file that can be easily installed from your root moodle directory (unlike the CVS zip described below,  one reason we recommend you no longer use the CVS zip.) &lt;br /&gt;
&lt;br /&gt;
In order to make things as easy as possible, the specifics of downloading the current version can be found [http://www.dragmath.bham.ac.uk/moodle.html here.] Simply download the integration zip file, place the zip file in your root moodle directory (/moodle for many) and unzip.  The DragMath files will be installed in their correct locations.  Additionally,  you will get a file called adminlib_exampleonly.php which you can diff with your adminlib.php to demonstrate the addition of the lines to allow you to turn the dragmath icon on and off (see [[DragMath equation editor#Managing Your Editor Icons Through adminlib.php]]).&lt;br /&gt;
&lt;br /&gt;
Once you have unzipped DragMath &#039;&#039;&#039;DO NOT&#039;&#039;&#039; delete the zip file. Each time you update Moodle the update will write over several of the files necessary for integration.  The easy solution is to simply keep the zip file in your Moodle root and unzip after each update.&lt;br /&gt;
&lt;br /&gt;
If you are using prior versions of DragMath it is suggested that you do a new install as there have been some changes internal to the DragMath directory as well as to the integration files. Once you have done a new install with the zip above, future versions of DragMath in Moodle 1.9.x will likely only require that you replace the DragMath directory that has now been located at /lib/DragMath with a newer directory from sourceforge (or you can wait until you see an updated on Moodle).&lt;br /&gt;
&lt;br /&gt;
Early adopters of the as yet unreleased Moodle 2 should note that dragmath is presently included in HEAD (do not do any installation) and you should review the section on Moodle 2 below for further information.&lt;br /&gt;
&lt;br /&gt;
====Installing DragMath From the Moodle CVS - NOT RECOMMENDED====&lt;br /&gt;
Please note that the Moodle CVS for dragmath is no longer being supported. The files however are still present and if you insist you can access them. It is recommended that you DO NOT DO THIS.&lt;br /&gt;
&lt;br /&gt;
If you are running version 1.9.+  [http://download.moodle.org/patches19/dragmath.zip click here] or if you are running Moodle version 1.8.4 or greater but not 1.9.x [http://download.moodle.org/patches18/dragmath.zip click here]&lt;br /&gt;
and you will start the download of the cvs zip file (at present there are no differences between the two versions.)&lt;br /&gt;
&lt;br /&gt;
At this point you can unzip on your workstation and then you can upload the included files to their appropriate locations (&#039;&#039;&#039;but read the warning below first&#039;&#039;&#039;). This version retains the smileys and includes all integration files and all DragMath files (demos, docs, and  all export formats)  The Moodle automagically creates the zip with a parent directory of &amp;quot;dragmath&amp;quot;.  Should you wish you can unzip the files and then rezip with the top level directory being /lib,  and this will allow you to simply upload the zip you just created to your moodle root and unzip there,  and the files will be placed in their appropriate locations. However, please DO NOT include the adminlib.php file and make sure all files are backed up,  and in as much as there are only a few files you may want to manually install even if a zip with  /lib as top directory were provided here just to ensure each file is backed up before installation. Upload the zip file to your Moodle root and unzip.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning:&#039;&#039;&#039; At present the CVS zip file includes a version of adminlib.php. This file is included because there is a line added to it that allows you to hide the dragmath icon.  In any event, the included adminlib.php should  &#039;&#039;&#039;NOT&#039;&#039;&#039; be used to over write your adminlib.php! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT&#039;&#039;&#039; over write your adminlib.php. Install the rest of the files (other than adminlib.php) and DragMath will work without a problem. &lt;br /&gt;
====Managing Your Editor Icons Through adminlib.php====&lt;br /&gt;
To be able to add your dragmath icon, save your existing copy of adminlib.php (you will find it in the /lib directory) and insert this line:&lt;br /&gt;
                     &#039;insertdragmath&#039; =&amp;gt; &#039;em.icon.dragmath.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
below this line:&lt;br /&gt;
                     &#039;insertsmile&#039; =&amp;gt; &#039;em.icon.smile.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
and save. The line can really be placed anywhere in that array,  but by providing a specific location it will help when addressing requests for assistance in hiding buttons. And,  having taken the time to explore this beautiful little array,  you can now alter your button images to your hearts content!&lt;br /&gt;
&lt;br /&gt;
The array is employed by the admin GUI (Site Administration-&amp;gt; Appearance-&amp;gt;HTML editor) to provide you the Administrator with the ability to hide buttons in the HTML editor via editorhidebuttons.  Once you have installed Dragmath and added the button,  you can use the GUI to hide the insertdragmath button.&lt;br /&gt;
&lt;br /&gt;
You may ask, what about altering the adminlib.php file in the CVS or providing a patch? [http://tracker.moodle.org/browse/MDL-16280 This was raised and you can vote on it.] Let&#039;s get real here folks,  we are talking about one line which could be added to adminlib.php at 1.8.4 or later without any other impact.  Is it really necessary to provide a separate adminlib.php for dragmath everytime someone changes adminlib.php in the core? If you have an opinion on this please edit the page comments on this and provide your input as to whether adminlib.php should just be dropped from the dragmath distribution.&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
====Before Posting to the Forum====&lt;br /&gt;
DragMath is a java applet which in Moodle 1.9 is being invoked through the editor htmlarea. This means that there are a number of places to check to determine what the trouble might be.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You don&#039;t see any editor icons:&#039;&#039; Safari and Chrome, for example, do not handle htmlarea, and without access to htmlarea, you are stuck. Use a different browser or if you are an advanced user,  consider moving to tinyMCE.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Htmlarea comes up, but you don&#039;t see the DragMath button:&#039;&#039; Flush your cache and try again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You flushed your cache and still don&#039;t see the DragMath button:&#039;&#039; Retrace your installation steps-make sure that you placed the zip file in your moodle root and that you did an unzip that overwrote htmlarea.php and dialog.js.  If the problem persists post to the forum with specifics regarding how you followed the steps above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You clicked on the DragMath button but DragMath did not come up:&#039;&#039; In Moodle 1.9 with DragMath 0.7.8.2, open the URL http://yourFQDN/moodlerootifappropriate/lib/DragMath/DragMath%20Demonstration.html .  A demo page with DragMath should come up and be functional.  If the demo works, please post the details of the process you have followed to date along with your java log (please include all details of the versions of the OS, browser, java, etc you are using.) If the demo does not work,  then the issue likely is with your browser&#039;s use of java (see, e.g. http://support.mozilla.com/en-US/kb/Using+the+Java+plugin+with+Firefox.) Please update to the most recent version of java available to you and make sure that you have installed all plugins your browser needs to open a java applet. Then flush your cache browser cache and your java cache,  make sure you have pointed your browser to your most current version of java and retry.  If it still does not work post the details as above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Everything seemed to work but all that happened was that you text expression was inserted (with or without tokens such as double dollar signs):&#039;&#039; DragMath is a GUI constructor that allows you to create text expressions from a GUI representation of your equation. IT DOES NOT display your equation.  To do that you need a display application installed. While Moodle comes with an antiquated but functional Tex filter, that filter DOE NOT include Tex itself (though it does include a fallback to mimetex, another application discussed in [[Mathematics]]. There are also other display applications discussed there, such as ASCIIMathML and MathJax. As noted below, DragMath can render an equation in a variety of formats each with its own tokens, or can insert the text expression with no tokens at all.&lt;br /&gt;
&lt;br /&gt;
====After Update Dragmath Disappears====&lt;br /&gt;
Unfortunately there are files that DragMath shares with core Moodle files that Moodle developers won&#039;t change, which means each time you update Moodle you must reinstall the integration files.  You can do this by identifying each of the files and making a backup of them with a filename that the update won;t overwrite,  or you can simply keep the DragMath install zip in the root of your Moodle and do an unzip after each update.  Quick and easy. &lt;br /&gt;
====unzip====&lt;br /&gt;
Some packages like winRAR provide a separate setting that prefixes the archives name on directories.  In order for the files to be properly placed when the archive is unzipped you must make sure this is not the case. In winRAR for Windows for example you can go to Options-&amp;gt;Settings and on the Compression tab you will see something to the effect of &amp;quot;Append archive name to path&amp;quot;; make sure this is not set!&lt;br /&gt;
&lt;br /&gt;
Also,  please note that the non-cvs zip is created so that the files in various directories are placed correctly.  If, however, you set unzip or instruct unzip not to overwrite but to rename,  then you will unpack the archived files into new directories (for example /lib(2) instead of /lib) and your install will not work.&lt;br /&gt;
&lt;br /&gt;
====java jre====&lt;br /&gt;
Dragmath is java based, and unless you have a current java runtime environment you will likely run into trouble.  Make sure you keep your JRE current and that the current JRE is selected. You can check here for latest versions: http://www.java.com/en/download/manual.jsp.  Note that Apple packages java itself,  so OS X users can be caught in the Apple development cycle.  The best option is to make sure you use Software Update frequently.  DragMath has been shown to work fine with OS X 10.5 using FF 3.6.3 and the latest Java update. As of June 2010 Apple has released Java for Mac OS X 10.6 Update 2 and Java for Mac OS X 10.5 Update 7. These releases correspond to the latest Java released by Sun (Oracle),  Java 6 update 20. Check here for the most recent downloads from Apple: http://support.apple.com/downloads/&lt;br /&gt;
&lt;br /&gt;
===Development===&lt;br /&gt;
====Language Files====&lt;br /&gt;
The 0.7.8.1 package now includes language files (with Finnish, courtesy of Mauno Korpelainen) and the integration files should provide for automatic selection of the language based on the Moodle language setting.&lt;br /&gt;
====Square brackets====&lt;br /&gt;
Use of text expressions in the Moodle Wiki can create problems when the text expression includes square brackets,  which is how TeX expresses the nth root. Pending a simple wiki based solution users may want to use the ASCIIMathML filter and the ASCIIMathML export format as this combination avoids the use of square brackets.  &lt;br /&gt;
====Consistent integration with all html editors====&lt;br /&gt;
The Moodle discussion regarding html editors suggests that it will be important for DragMath to have consistent integration with a variety of html editors as htmlarea passes into obsolescence. Plugins for tinyMCE, Xinha and FCKEditor with a similar structure and common codebase are ready and compatible with all browsers that support javascript and Java.&lt;br /&gt;
====Additional formats====&lt;br /&gt;
There are quite a few options now available for creating text expressions to for displaying equations and Moodle functionality can only be increased if tools were able to create and parse expressions created by the tools a user is most comfortable with.  ASCIIMathML is one tool now available as a filter for Moodle that allows the parsing of both TeX and its own ASCIIMathML text expression syntax. Microsoft has now launched its OMML initiative in Office 2007 (see footnotes on  http://en.wikipedia.org/wiki/Office_Open_XML  and OpenOffice employs its own text expression syntax (the OOo syntax is described at http://documentation.openoffice.org/manuals/oooauthors2/0216WG-MathObjects.pdf).&lt;br /&gt;
The ability to have DragMath create text expressions that can be used in native documents as well as parsed by filters such as ASCIIMathML will help make use of equations on-line more transparent for everyone.&lt;br /&gt;
====Extending DragMath to a Math Chat====&lt;br /&gt;
Having been introduced by Marc Grober to a math chat application (http://www.imathas.com/cur/mathchat/testchat.html [NB: the mathchat referenced here is the creation of David Lippman]) it would be useful to see similar features in Moodle&#039;s chat, specifically:&lt;br /&gt;
&lt;br /&gt;
1.  The ability to &#039;&#039;easily&#039;&#039; display mathematical symbols with DragMath incorporated into the chat window.&lt;br /&gt;
&lt;br /&gt;
2.  The ability to create and display mathematical graphs.&lt;br /&gt;
&lt;br /&gt;
===Moodle 2===&lt;br /&gt;
&amp;lt;s&amp;gt;As part of planning for Moodle 2 we have recommended that DragMath be placed in /lib/editor/common/dragmath alongside asciimathml (which is located in /lib/editor/common/asciimath). This should not result in any other major changes and those wanting to stay abreast may either want to look moving files before Moodle 2 or may want to keep an eye out for a zip of asciimath and dragmath packaged as a precursor to Moodle 2.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=88044</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=88044"/>
		<updated>2011-08-18T19:38:10Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== WARNING ===&lt;br /&gt;
The docs below have been copied from the prexisting docs prior to the decision to break out separate docs for each major version of Moodle. As of Moodle 2.x DragMath is now in Moodle core (you need not install the code if you are running Moodle 2.x.) However, the decision was made that you must turn on the Tex filter in order to access it from the tinyMCE editor. If you think that requirement should be altered, post to the forum or the tracker and good luck with that!&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
Initially integrated with Moodle to be used with Moodle&#039;s Tex filter,  the export feature available with DragMath has now allowed an integration that supports the creation of LaTex text expressions with and without the doubledollar signs used to signal parsing by the filter as well as AsciiMathML text expressions.&lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here].&lt;br /&gt;
&lt;br /&gt;
===How the DragMath editor has been integrated with Moodle===&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
DragMath is integrated with Moodle through a new button on the editor toolbar.  This way, the DragMath editor is available everywhere that you or your students are called upon to enter text.  &#039;&#039;&#039;Please note:&#039;&#039;&#039; The DragMath editor does not come supplied with Moodle.  You (or your administrator) will have to install it. The following comments are targeted at the single file install,  which has retained the beloved smileys.&lt;br /&gt;
&lt;br /&gt;
====Getting Started====&lt;br /&gt;
Suppose that you&#039;re entering text in the HTML editor and you reach a point where you want to insert a mathematical expression. You want to be able to show the text expression you would use to create an equations as well as the equations itself. Pushing the DragMath button launches the DragMath editor in a small popup window (Note: the first time you do this, there will be a delay of a few seconds due to applet initialization).  &lt;br /&gt;
&lt;br /&gt;
====Create the math expression in DragMath====&lt;br /&gt;
Drag the various graphic constituents of your equation into the construction area until the equation is to your satisfaction.&lt;br /&gt;
&lt;br /&gt;
====Save the expression====&lt;br /&gt;
From the Menu Bar click File-&amp;gt;Save As or click on the floppy icon.  Provide a local location where you want to save the equation and the applet stores the equation there in a .dgrm file. &lt;br /&gt;
&lt;br /&gt;
====Select Export Format====&lt;br /&gt;
From the Menu Bar click Options-&amp;gt;Set Export Format.  If you want to insert the text expression for a tex formula,  select LaTex. If you wish to insert the text expression with the doubledollar tokens so that the expression will be converted by the moodle tex filter,  select MoodleTex (this will likely be the default choice in your applet).  If you have replaced your tex filter with the ASCIIMathML filter,  select ASCIIMathML.&lt;br /&gt;
&lt;br /&gt;
====Insert the expression====&lt;br /&gt;
Click the &amp;quot;Insert button&amp;quot; and you&#039;re done.  The editor will disappear and the output you selected will be inserted. If you chose MoodleTex, the LaTeX expression (with $$ delimiters added at both ends) will be inserted into your text at the current cursor position. Note the screen shot below. This demonstrates the results when you have selected MoodleTex to insert the equation in your work. &#039;&#039;&#039;Note ASCIIMathML users:&#039;&#039;&#039;  the ASCIIMathML.xml file currently has backtics set as tokens.  You can edit that file to use the auto nomenclature if you choose&lt;br /&gt;
&lt;br /&gt;
====Altering Applet Parameters====&lt;br /&gt;
The window presented by the dragmath plugin is controlled by an applet reference in a php file, which for htmlarea in Moodle 1.9.x is dlg_ins_dragmath.php,  one of the files included in the distribution, which can be found in moodleroot/lib/editor/htmlarea/popups .  Applet parameters, per the dragmath documentation, can be changed in this file.  By default, the language is set to English and the output format is set to MoodleTex (that is,  the output will include double dollars signs, and if you have turned off your tex filter and are using asciimath then you will probably want to set your default export format to ASCIIMathML.)&lt;br /&gt;
&lt;br /&gt;
In answer to the prayers of users, the STACK folk added the ability to drop the dot that DragMath had always inserted in 3x between the coefficient and the variable as in 3∙x .  You will find a menu item in DragMath&#039;s gui to turn this on and off right next to the menu items for formatting.  This setting can also be set via an applet parameter. &lt;br /&gt;
&lt;br /&gt;
You can add formats and languages via /lib/DragMath/Config.xml with the various XML export formats in the formats subdirectory of applets and the languages in the lang subdirectory. Of course you can, with care, edit the various xml files.&lt;br /&gt;
&lt;br /&gt;
Should you wish to make any changes,  please remember to back up a copy of your original file. &lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_instructions.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
===Installing DragMath===&lt;br /&gt;
The most current version of DragMath can now be installed properly by simply using unzip (see the section immediately below this one).  The Moodle CVS system and issues with managing adminlib.php have resulted in our going to this new and easier to use package. The new package offers a single zip that includes not only the integration files (at least for htmlarea for the present and with smileys) but the current DragMath files as well. The file can be unzipped in place, a welcome change from the hassles of installing with the Moodle CVS zip; just place the zip file in the moodle root and unzip. &lt;br /&gt;
&lt;br /&gt;
This method is different than the two previously used. Beware of relying on installation advice or files posted in forums prior to July 2009 as they may  be addressing files and methods no longer in use. You may also find a variety of development code in the forums regarding use of dragmath with a number of editors.  Some of this may work and some may not, but none of it will be current.  Use at your own risk!&lt;br /&gt;
&lt;br /&gt;
DragMath may eventually become core technology in Moodle,  meaning that as of a certain version no installation may be required, but installation instructions will continue to remain so as to support older versions as long as feasible.&lt;br /&gt;
&lt;br /&gt;
====Installing DragMath from the non-CVS Zip - Recommended!====&lt;br /&gt;
We have come full circle and as a result of the issues with maintaining a current adminlib.php for every version as well as with the potential move of dragmath that may take place with Moodle 2, DragMath is now available as a zip file that can be easily installed from your root moodle directory (unlike the CVS zip described below,  one reason we recommend you no longer use the CVS zip.) &lt;br /&gt;
&lt;br /&gt;
In order to make things as easy as possible, the specifics of downloading the current version can be found [http://www.dragmath.bham.ac.uk/moodle.html here.] Simply download the integration zip file, place the zip file in your root moodle directory (/moodle for many) and unzip.  The DragMath files will be installed in their correct locations.  Additionally,  you will get a file called adminlib_exampleonly.php which you can diff with your adminlib.php to demonstrate the addition of the lines to allow you to turn the dragmath icon on and off (see [[DragMath equation editor#Managing Your Editor Icons Through adminlib.php]]).&lt;br /&gt;
&lt;br /&gt;
Once you have unzipped DragMath &#039;&#039;&#039;DO NOT&#039;&#039;&#039; delete the zip file. Each time you update Moodle the update will write over several of the files necessary for integration.  The easy solution is to simply keep the zip file in your Moodle root and unzip after each update.&lt;br /&gt;
&lt;br /&gt;
If you are using prior versions of DragMath it is suggested that you do a new install as there have been some changes internal to the DragMath directory as well as to the integration files. Once you have done a new install with the zip above, future versions of DragMath in Moodle 1.9.x will likely only require that you replace the DragMath directory that has now been located at /lib/DragMath with a newer directory from sourceforge (or you can wait until you see an updated on Moodle).&lt;br /&gt;
&lt;br /&gt;
Early adopters of the as yet unreleased Moodle 2 should note that dragmath is presently included in HEAD (do not do any installation) and you should review the section on Moodle 2 below for further information.&lt;br /&gt;
&lt;br /&gt;
====Installing DragMath From the Moodle CVS - NOT RECOMMENDED====&lt;br /&gt;
Please note that the Moodle CVS for dragmath is no longer being supported. The files however are still present and if you insist you can access them. It is recommended that you DO NOT DO THIS.&lt;br /&gt;
&lt;br /&gt;
If you are running version 1.9.+  [http://download.moodle.org/patches19/dragmath.zip click here] or if you are running Moodle version 1.8.4 or greater but not 1.9.x [http://download.moodle.org/patches18/dragmath.zip click here]&lt;br /&gt;
and you will start the download of the cvs zip file (at present there are no differences between the two versions.)&lt;br /&gt;
&lt;br /&gt;
At this point you can unzip on your workstation and then you can upload the included files to their appropriate locations (&#039;&#039;&#039;but read the warning below first&#039;&#039;&#039;). This version retains the smileys and includes all integration files and all DragMath files (demos, docs, and  all export formats)  The Moodle automagically creates the zip with a parent directory of &amp;quot;dragmath&amp;quot;.  Should you wish you can unzip the files and then rezip with the top level directory being /lib,  and this will allow you to simply upload the zip you just created to your moodle root and unzip there,  and the files will be placed in their appropriate locations. However, please DO NOT include the adminlib.php file and make sure all files are backed up,  and in as much as there are only a few files you may want to manually install even if a zip with  /lib as top directory were provided here just to ensure each file is backed up before installation. Upload the zip file to your Moodle root and unzip.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning:&#039;&#039;&#039; At present the CVS zip file includes a version of adminlib.php. This file is included because there is a line added to it that allows you to hide the dragmath icon.  In any event, the included adminlib.php should  &#039;&#039;&#039;NOT&#039;&#039;&#039; be used to over write your adminlib.php! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT&#039;&#039;&#039; over write your adminlib.php. Install the rest of the files (other than adminlib.php) and DragMath will work without a problem. &lt;br /&gt;
====Managing Your Editor Icons Through adminlib.php====&lt;br /&gt;
To be able to add your dragmath icon, save your existing copy of adminlib.php (you will find it in the /lib directory) and insert this line:&lt;br /&gt;
                     &#039;insertdragmath&#039; =&amp;gt; &#039;em.icon.dragmath.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
below this line:&lt;br /&gt;
                     &#039;insertsmile&#039; =&amp;gt; &#039;em.icon.smile.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
and save. The line can really be placed anywhere in that array,  but by providing a specific location it will help when addressing requests for assistance in hiding buttons. And,  having taken the time to explore this beautiful little array,  you can now alter your button images to your hearts content!&lt;br /&gt;
&lt;br /&gt;
The array is employed by the admin GUI (Site Administration-&amp;gt; Appearance-&amp;gt;HTML editor) to provide you the Administrator with the ability to hide buttons in the HTML editor via editorhidebuttons.  Once you have installed Dragmath and added the button,  you can use the GUI to hide the insertdragmath button.&lt;br /&gt;
&lt;br /&gt;
You may ask, what about altering the adminlib.php file in the CVS or providing a patch? [http://tracker.moodle.org/browse/MDL-16280 This was raised and you can vote on it.] Let&#039;s get real here folks,  we are talking about one line which could be added to adminlib.php at 1.8.4 or later without any other impact.  Is it really necessary to provide a separate adminlib.php for dragmath everytime someone changes adminlib.php in the core? If you have an opinion on this please edit the page comments on this and provide your input as to whether adminlib.php should just be dropped from the dragmath distribution.&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
====Before Posting to the Forum====&lt;br /&gt;
DragMath is a java applet which in Moodle 1.9 is being invoked through the editor htmlarea. This means that there are a number of places to check to determine what the trouble might be.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You don&#039;t see any editor icons:&#039;&#039; Safari and Chrome, for example, do not handle htmlarea, and without access to htmlarea, you are stuck. Use a different browser or if you are an advanced user,  consider moving to tinyMCE.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Htmlarea comes up, but you don&#039;t see the DragMath button:&#039;&#039; Flush your cache and try again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You flushed your cache and still don&#039;t see the DragMath button:&#039;&#039; Retrace your installation steps-make sure that you placed the zip file in your moodle root and that you did an unzip that overwrote htmlarea.php and dialog.js.  If the problem persists post to the forum with specifics regarding how you followed the steps above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You clicked on the DragMath button but DragMath did not come up:&#039;&#039; In Moodle 1.9 with DragMath 0.7.8.2, open the URL http://yourFQDN/moodlerootifappropriate/lib/DragMath/DragMath%20Demonstration.html .  A demo page with DragMath should come up and be functional.  If the demo works, please post the details of the process you have followed to date along with your java log (please include all details of the versions of the OS, browser, java, etc you are using.) If the demo does not work,  then the issue likely is with your browser&#039;s use of java (see, e.g. http://support.mozilla.com/en-US/kb/Using+the+Java+plugin+with+Firefox.) Please update to the most recent version of java available to you and make sure that you have installed all plugins your browser needs to open a java applet. Then flush your cache browser cache and your java cache,  make sure you have pointed your browser to your most current version of java and retry.  If it still does not work post the details as above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Everything seemed to work but all that happened was that you text expression was inserted (with or without tokens such as double dollar signs):&#039;&#039; DragMath is a GUI constructor that allows you to create text expressions from a GUI representation of your equation. IT DOES NOT display your equation.  To do that you need a display application installed. While Moodle comes with an antiquated but functional Tex filter, that filter DOE NOT include Tex itself (though it does include a fallback to mimetex, another application discussed in [[Mathematics]]. There are also other display applications discussed there, such as ASCIIMathML and MathJax. As noted below, DragMath can render an equation in a variety of formats each with its own tokens, or can insert the text expression with no tokens at all.&lt;br /&gt;
&lt;br /&gt;
====After Update Dragmath Disappears====&lt;br /&gt;
Unfortunately there are files that DragMath shares with core Moodle files that Moodle developers won&#039;t change, which means each time you update Moodle you must reinstall the integration files.  You can do this by identifying each of the files and making a backup of them with a filename that the update won;t overwrite,  or you can simply keep the DragMath install zip in the root of your Moodle and do an unzip after each update.  Quick and easy. &lt;br /&gt;
====unzip====&lt;br /&gt;
Some packages like winRAR provide a separate setting that prefixes the archives name on directories.  In order for the files to be properly placed when the archive is unzipped you must make sure this is not the case. In winRAR for Windows for example you can go to Options-&amp;gt;Settings and on the Compression tab you will see something to the effect of &amp;quot;Append archive name to path&amp;quot;; make sure this is not set!&lt;br /&gt;
&lt;br /&gt;
Also,  please note that the non-cvs zip is created so that the files in various directories are placed correctly.  If, however, you set unzip or instruct unzip not to overwrite but to rename,  then you will unpack the archived files into new directories (for example /lib(2) instead of /lib) and your install will not work.&lt;br /&gt;
&lt;br /&gt;
====java jre====&lt;br /&gt;
Dragmath is java based, and unless you have a current java runtime environment you will likely run into trouble.  Make sure you keep your JRE current and that the current JRE is selected. You can check here for latest versions: http://www.java.com/en/download/manual.jsp.  Note that Apple packages java itself,  so OS X users can be caught in the Apple development cycle.  The best option is to make sure you use Software Update frequently.  DragMath has been shown to work fine with OS X 10.5 using FF 3.6.3 and the latest Java update. As of June 2010 Apple has released Java for Mac OS X 10.6 Update 2 and Java for Mac OS X 10.5 Update 7. These releases correspond to the latest Java released by Sun (Oracle),  Java 6 update 20. Check here for the most recent downloads from Apple: http://support.apple.com/downloads/&lt;br /&gt;
&lt;br /&gt;
===Development===&lt;br /&gt;
====Language Files====&lt;br /&gt;
The 0.7.8.1 package now includes language files (with Finnish, courtesy of Mauno Korpelainen) and the integration files should provide for automatic selection of the language based on the Moodle language setting.&lt;br /&gt;
====Square brackets====&lt;br /&gt;
Use of text expressions in the Moodle Wiki can create problems when the text expression includes square brackets,  which is how TeX expresses the nth root. Pending a simple wiki based solution users may want to use the ASCIIMathML filter and the ASCIIMathML export format as this combination avoids the use of square brackets.  &lt;br /&gt;
====Consistent integration with all html editors====&lt;br /&gt;
The Moodle discussion regarding html editors suggests that it will be important for DragMath to have consistent integration with a variety of html editors as htmlarea passes into obsolescence. Plugins for tinyMCE, Xinha and FCKEditor with a similar structure and common codebase are ready and compatible with all browsers that support javascript and Java.&lt;br /&gt;
====Additional formats====&lt;br /&gt;
There are quite a few options now available for creating text expressions to for displaying equations and Moodle functionality can only be increased if tools were able to create and parse expressions created by the tools a user is most comfortable with.  ASCIIMathML is one tool now available as a filter for Moodle that allows the parsing of both TeX and its own ASCIIMathML text expression syntax. Microsoft has now launched its OMML initiative in Office 2007 (see footnotes on  http://en.wikipedia.org/wiki/Office_Open_XML  and OpenOffice employs its own text expression syntax (the OOo syntax is described at http://documentation.openoffice.org/manuals/oooauthors2/0216WG-MathObjects.pdf).&lt;br /&gt;
The ability to have DragMath create text expressions that can be used in native documents as well as parsed by filters such as ASCIIMathML will help make use of equations on-line more transparent for everyone.&lt;br /&gt;
====Extending DragMath to a Math Chat====&lt;br /&gt;
Having been introduced by Marc Grober to a math chat application (http://www.imathas.com/cur/mathchat/testchat.html [NB: the mathchat referenced here is the creation of David Lippman]) it would be useful to see similar features in Moodle&#039;s chat, specifically:&lt;br /&gt;
&lt;br /&gt;
1.  The ability to &#039;&#039;easily&#039;&#039; display mathematical symbols with DragMath incorporated into the chat window.&lt;br /&gt;
&lt;br /&gt;
2.  The ability to create and display mathematical graphs.&lt;br /&gt;
&lt;br /&gt;
===Moodle 2===&lt;br /&gt;
&amp;lt;s&amp;gt;As part of planning for Moodle 2 we have recommended that DragMath be placed in /lib/editor/common/dragmath alongside asciimathml (which is located in /lib/editor/common/asciimath). This should not result in any other major changes and those wanting to stay abreast may either want to look moving files before Moodle 2 or may want to keep an eye out for a zip of asciimath and dragmath packaged as a precursor to Moodle 2.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Mathematics&amp;diff=87196</id>
		<title>Mathematics</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Mathematics&amp;diff=87196"/>
		<updated>2011-08-07T23:27:25Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equation Construction and Display==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
There are a variety of tools that are available for the purpose of constructing equations, providing text expressions that can be converted to equations, and displaying equations. &lt;br /&gt;
&lt;br /&gt;
The most common text expression syntax is LaTeX or a derivative with probably the most common form of display being a conversion of the equation to an image file. However, is demonstrated with ASCIIMathML simple text expressions can now be be converted to MathML on the fly.&lt;br /&gt;
&lt;br /&gt;
Some tools for creating and displaying equations on-line that may be of interest to those teaching mathematics are:&lt;br /&gt;
* Moodle offers in core a basic TeX filter and an Algebra filter. These are simple but not simplistic. An overview of using these tools can be found at the [[Using TeX Notation]] pages. Be aware that these packages are subsets of complete TeX packages and the conventions used are designed more for ease of use within Moodle rather than as complete TeX packages. &lt;br /&gt;
* [[ASCIIMathML]],  which both converts equations into MathML on the fly and provides a text expression syntax more easily mastered than Tex, though the filter will convert TeX expressions as well. [http://sourceforge.net/project/showfiles.php?group_id=106148 The ASCIIMathML 2.0.2 zip] provides all the files necessary for setting ASCIIMathML up as  a Moodle filter as well creating run-time graphs with ASCIIsvg. An on-line calculator is also included. Just recently an  ASCIIMathML export format for DragMath was added to version 0.7.2, [https://docs.moodle.org/en/DragMath_equation_editor available here],  so that you have access to both a GUI and text expression syntax for creating and displaying equations. Quick and GIFless. [http://math.chapman.edu/~jipsen/asciencepad/asciencepad.html  ASciencePad is also available] and consists of htmlarea enhanced with the ASCIIMathML functionality. &lt;br /&gt;
* [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=916 Tim Hunt&#039;s Moodle MathTran Module] converts Tex into images on the fly. You can also use  [http://www.mathtran.org/wiki/index.php/TeX_image mathtran_img.js] on a page by page basis.&lt;br /&gt;
* The [[jsMath]] filter, which does a similar job but using [[Javascript]] on the user&#039;s computer&lt;br /&gt;
* [[MathJax]], a next generation for jsMath from David Cervone et al that now includes MathML and web font features: [http://MathJax.org] A discussion regarding deploying the beta release can be found here: [http://moodle.org/mod/forum/discuss.php?d=142785]&lt;br /&gt;
* [[Calculated question type]]&lt;br /&gt;
* [[DragMath equation editor]], a WYSIWYG equation editor that integrates easily with the Moodle HTML editor.&lt;br /&gt;
* [[WIRIS]], is a plugin that easily integrates with the HTML editor several math tools. Test them at [http://www.wiris.com/demo-moodle/ www.wiris.com/demo-moodle/]&lt;br /&gt;
** WYSIWYG equation editor. Based on MathML&lt;br /&gt;
** Advanced calculator. Integrals, derivatives, limits, ploting in 2D and 3D,...&lt;br /&gt;
** Advancaed math quizzes&lt;br /&gt;
&lt;br /&gt;
* [http://www.dessci.com/en/products/mathtype MathType], a commercial product created by DSI (the folk who also offer MathPlayer, a plugin many IE users employ). Bob Mathews recently posted [http://moodle.org/mod/forum/discuss.php?d=93728&amp;amp;parent=549428] that info on how to use MathType with Moodle can be found at http://www.dessci.com/en/products/mathtype/works_with.htm?target=moodle. Beginning with MathType 6.7, MathType includes a &amp;quot;translator&amp;quot; to convert a MathType equation into the LaTeX code required by the Moodle TeX filter.&lt;br /&gt;
Mathematics teachers may also be interested to follow the work of [http://maths.york.ac.uk York University Maths department], who are working on [http://maths.york.ac.uk/serving_maths/ some projects] to augment Moodle, particularly its [[Quiz module]] for online assessment, for example by integrating a system which is able to mark algebraic and trigonometric answers to open-ended questions.&lt;br /&gt;
&lt;br /&gt;
===Accessibility Display Matrix===&lt;br /&gt;
&lt;br /&gt;
{{Expand-section|date=August 2008}}&lt;br /&gt;
&lt;br /&gt;
■ Feature Key appears below the matrix.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Notation&lt;br /&gt;
!Tex/LaTex&lt;br /&gt;
!ASCIIMath&lt;br /&gt;
!MathML&lt;br /&gt;
|-&lt;br /&gt;
|Ease of Use&lt;br /&gt;
|Plain text system. Knowledge of LaTeX notation required. Being a plain text system, LaTeX notation is straightforward to create and edit. &lt;br /&gt;
|Plain text system. Easy to learn. Notation simple. Being a plain text system, ASCIIMath is very easy to create and edit.&lt;br /&gt;
|XML-based. Not easy to create and edit: an editor is required.&lt;br /&gt;
|-&lt;br /&gt;
|Conversion to Braille&lt;br /&gt;
|Output directly to Braille display via screen reader (fn 2)&lt;br /&gt;
|ASCIIMath notation is converted to MathML or LaTeX. Please refer to those formats for details.&lt;br /&gt;
|Converted to suitable textual format and Brailled using screen reader (fn 3)&lt;br /&gt;
|-&lt;br /&gt;
|Transmission via TTS&lt;br /&gt;
|Notation spoken &amp;quot;as-is&amp;quot; via screen reader (fn 2)&lt;br /&gt;
|ASCIIMath notation is converted to MathML or LaTeX. Please refer to those formats for details.&lt;br /&gt;
|Converted to suitable textual format and spoken using screen reader. Note that MathPlayer add-on for IE has TTS functionality built-in (fn 3).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn1&amp;quot;&amp;gt;&#039;&#039;&#039;fn1.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
MathPlayer claims to do math-to-speech by parsing the MathML, not by parsing TeX. See http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm where it is stated:&lt;br /&gt;
&lt;br /&gt;
All of these examples were written in Microsoft Word and MathType and exported to MathML using MathType’s “MathPage” technology. MathPage technology was added to MathType in version 5.0. No special work is needed to author the expressions to make them accessible. Any product that exports MathML will produce pages that MathPlayer can speak.&lt;br /&gt;
&lt;br /&gt;
For a larger real life example, see this page. Also, MSN Encarta uses MathML on many of their web pages that contain math, so much of their Math should be accessible using MathPlayer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn2&amp;quot;&amp;gt;&#039;&#039;&#039;fn2. &#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
The alt attribute of the rendered graphic is spoken and/or Braillled. As LaTeX is a plain text notation, the notation can be spoken and Brailled by the screen reader directly. This does, of course, assume an understanding of LaTeX notation on the part of the screen reader user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn3&amp;quot;&amp;gt;&#039;&#039;&#039;fn3. &#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
In the case of Internet Explorer, screen readers require the MathPlayer plugin to be installed before MathML is rendered (IE does not include native MathML support). By using MSAA, the screen reader can obtain a textual version of the math notation from MathPlayer, which it can then TTS and Braille. Note that MathPlayer also contains built-in TTS functionality (employing MS SAPI) which can be used to speak the math notation without having to employ a screen reader. See [http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm] for further details. At time of writing, screen reader support for Firefox is via MSAA and a special custom, Firefox-specific IAccessible2 interface (to reveal text attributes and character positions). Math notation is spoken via a screen reader which interrogates these interfaces.&lt;br /&gt;
&lt;br /&gt;
==Using Java for Curriculum==&lt;br /&gt;
===Java Tools for Building Applets for Interactive Demonstration===&lt;br /&gt;
These tools can be integrated in or used with Moodle Resources&lt;br /&gt;
&lt;br /&gt;
==== Java Sketchpad ====&lt;br /&gt;
http://www.dynamicgeometry.com/JavaSketchpad/About_JavaSketchpad.html, is an applet developed by Key Curriculum Press. The applet has been the focus of quite a bit of discussion and demonstrations and discussions are widely available.  An introductory article from the Journal of Online Mathematics can be found here: http://mathdl.maa.org/mathDL/4/?nodeId=508&amp;amp;pa=content&amp;amp;sa=viewDocument. Usage focuses largely on Geometry&lt;br /&gt;
&lt;br /&gt;
==== CabriJava ====&lt;br /&gt;
http://www-cabri.imag.fr/cabrijava/, an applet offered by the University of Cabri,  also focuses on interactive geometry. Quite a number of examples employing CabriJava can be found here: http://www.mathsnet.net/cabri/index.html.&lt;br /&gt;
&lt;br /&gt;
==== Descartes ==== &lt;br /&gt;
http://descartes.cnice.mec.es/, is an applet developed under the auspices of the Spanish Ministerio de Educacion Politica Social y Diporte.  An English introduction can be found here at http://descartes.cnice.mec.es/ingles/index.html.  The Ministery has produced an extensive Mathematics curriculum using Descartes,  which is available in English and can be freely downloaded and used. Much of what is available is still only in Spanish so anyone interested in doing translation work please post to the Moodle Math Tools forum.&lt;br /&gt;
&lt;br /&gt;
==== Sympl ==== &lt;br /&gt;
http://www.sympl.org/, an open source Java application/applet for creating interactive graphs.&lt;br /&gt;
&lt;br /&gt;
===Additional Curricular Use of Applets===&lt;br /&gt;
*Euclid&#039;s Elements -  http://aleph0.clarku.edu/~djoyce/java/elements/elements.html&lt;br /&gt;
*Tutorials employing applets (applets can be downloaded and used in Moodle) http://www.analyzemath.com/&lt;br /&gt;
&lt;br /&gt;
===Applet Tools===&lt;br /&gt;
*Graphing - http://www.langara.bc.ca/mathstats/resource/GraphExplorer/&lt;br /&gt;
*Geometry Construction - http://www.cs.rice.edu/~jwarren/grace/&lt;br /&gt;
*GeoGebra - http://www.geogebra.org/&lt;br /&gt;
*Physics Applets for Drawing (PAD) - http://www.wku.edu/pads/ These can make interactive activities that can both check for correctness and give guiding feedback. Includes modules for graphs (2D functions), vectors (even in/out and other lines and arrows and bar-graphs), motion analysis, equation recognition and more. Uses don&#039;t have to be just for Physics. Math, of course. VectorPAD can be used for placing markers (as points, lines, small pictures, [http://www.wku.edu/pads/exercise.php?id=mgaazqzoakmqgfrkkmqgaaayo arrows) on a picture], that could be used in almost any subject. They can be incorporating in SCORM packages which can interact with Moodle. There is no Moodle module now (july 2009) for using them directly, but that would add a lot more power (compared to SCORM), like being able to save states, turn on/off feedback, etc.&lt;br /&gt;
*GraphApplet 1.05: both calculator and graphapplet - http://www.lundin.info/graphapplet.aspx&lt;br /&gt;
*Physlets: large suite of applets about physics but includes [http://webphysics.davidson.edu/physletprob/ch16_datagraph/default.html advanced graphing] too. [http://www.tupo.biz/kurser/javaapplets/Fysik/java/Physlets/CFL/3dimDiag.htm A time dependent 3D example (Swedish!)]&lt;br /&gt;
&lt;br /&gt;
===Java Applet Collections===&lt;br /&gt;
* http://cs.jsu.edu/mcis/faculty/leathrum/Mathlets/&lt;br /&gt;
* http://www.walter-fendt.de/m14e/&lt;br /&gt;
&lt;br /&gt;
* Probability and Statistics&lt;br /&gt;
**http://www.mste.uiuc.edu/pavel/java/dilemma/&lt;br /&gt;
**http://lstat.kuleuven.be/java/&lt;br /&gt;
**http://www.math.csusb.edu/faculty/stanton/m262/&lt;br /&gt;
&lt;br /&gt;
*http://www.mste.uiuc.edu/murphy/JavaOverview/default.html&lt;br /&gt;
*Math and Physics - http://www.falstad.com/mathphysics.html&lt;br /&gt;
*Curves - http://www-groups.dcs.st-and.ac.uk/~history/Java/index.html&lt;br /&gt;
*Chaos and Fractals - http://math.bu.edu/DYSYS/applets/index.html&lt;br /&gt;
*For sale, but extensive - http://www.cut-the-knot.org/Curriculum/index.shtml&lt;br /&gt;
&lt;br /&gt;
==Mathematics Assessment==&lt;br /&gt;
&lt;br /&gt;
Assessment is a key driver for mathematics.  There are a number of ways of getting students to answer mathematical questions through Moodle.&lt;br /&gt;
* WebWork, see http://webwork.maa.org/wiki/Main_Page  http://webwork.math.rochester.edu/docs/docs/, and http://webwork.maa.org/moodle/ is an independent web application for assessing student Math progress, and there is a Moodle Module for interfacing WebWork to Moodle that can be found here: http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=332, though the resources on the WeBWork wiki are probably more current as the code  in the Moodle CVS has not been updated for some time.&lt;br /&gt;
* STACK provides very mathematical questions for the Moodle quiz module.  These are supported by the CAS Maxima.  The home page for STACK can be found on http://stack.bham.ac.uk/&lt;br /&gt;
* WIRIS quizzes [http://www.wiris.com/demo-moodle wiris.com/demo-moodle]&lt;br /&gt;
**Random variables and graphics&lt;br /&gt;
**Automatic evaluation of oen answers&lt;br /&gt;
**Syntax checking of answers&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Mathematics tools FAQ]]&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=46009 Best practices for teaching Math(s) in Moodle]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=61993 How do you deal with the challenge of writing equations?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62002 How do you deal with the challenge of drawing graphs and diagrams?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62014 How do you deal with the challenge of interactive exercises and simulations?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=95950 How can I have a student enter a fraction as an answer?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=127867 What are the components of an exemplary high school Moodle course?]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Mathematics&amp;diff=87195</id>
		<title>Mathematics</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Mathematics&amp;diff=87195"/>
		<updated>2011-08-07T23:25:47Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equation Construction and Display==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
There are a variety of tools that are available for the purpose of constructing equations, providing text expressions that can be converted to equations, and displaying equations. &lt;br /&gt;
&lt;br /&gt;
The most common text expression syntax is LaTeX or a derivative with probably the most common form of display being a conversion of the equation to an image file. However, is demonstrated with ASCIIMathML simple text expressions can now be be converted to MathML on the fly.&lt;br /&gt;
&lt;br /&gt;
Some tools for creating and displaying equations on-line that may be of interest to those teaching mathematics are:&lt;br /&gt;
* Moodle offers in core basic TeX [[Tex filter]] and Algebra filters. These are simple but not simplistic. An overview of using these tools can be found at the [[Using TeX Notation]] pages. Be aware that these packages are subsets of complete TeX packages and the conventions used are designed more for ease of use within Moodle rather than as complete TeX packages. &lt;br /&gt;
* [[ASCIIMathML]],  which both converts equations into MathML on the fly and provides a text expression syntax more easily mastered than Tex, though the filter will convert TeX expressions as well. [http://sourceforge.net/project/showfiles.php?group_id=106148 The ASCIIMathML 2.0.2 zip] provides all the files necessary for setting ASCIIMathML up as  a Moodle filter as well creating run-time graphs with ASCIIsvg. An on-line calculator is also included. Just recently an  ASCIIMathML export format for DragMath was added to version 0.7.2, [https://docs.moodle.org/en/DragMath_equation_editor available here],  so that you have access to both a GUI and text expression syntax for creating and displaying equations. Quick and GIFless. [http://math.chapman.edu/~jipsen/asciencepad/asciencepad.html  ASciencePad is also available] and consists of htmlarea enhanced with the ASCIIMathML functionality. &lt;br /&gt;
* [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=916 Tim Hunt&#039;s Moodle MathTran Module] converts Tex into images on the fly. You can also use  [http://www.mathtran.org/wiki/index.php/TeX_image mathtran_img.js] on a page by page basis.&lt;br /&gt;
* The [[jsMath]] filter, which does a similar job but using [[Javascript]] on the user&#039;s computer&lt;br /&gt;
* [[MathJax]], a next generation for jsMath from David Cervone et al that now includes MathML and web font features: [http://MathJax.org] A discussion regarding deploying the beta release can be found here: [http://moodle.org/mod/forum/discuss.php?d=142785]&lt;br /&gt;
* [[Calculated question type]]&lt;br /&gt;
* [[DragMath equation editor]], a WYSIWYG equation editor that integrates easily with the Moodle HTML editor.&lt;br /&gt;
* [[WIRIS]], is a plugin that easily integrates with the HTML editor several math tools. Test them at [http://www.wiris.com/demo-moodle/ www.wiris.com/demo-moodle/]&lt;br /&gt;
** WYSIWYG equation editor. Based on MathML&lt;br /&gt;
** Advanced calculator. Integrals, derivatives, limits, ploting in 2D and 3D,...&lt;br /&gt;
** Advancaed math quizzes&lt;br /&gt;
&lt;br /&gt;
* [http://www.dessci.com/en/products/mathtype MathType], a commercial product created by DSI (the folk who also offer MathPlayer, a plugin many IE users employ). Bob Mathews recently posted [http://moodle.org/mod/forum/discuss.php?d=93728&amp;amp;parent=549428] that info on how to use MathType with Moodle can be found at http://www.dessci.com/en/products/mathtype/works_with.htm?target=moodle. Beginning with MathType 6.7, MathType includes a &amp;quot;translator&amp;quot; to convert a MathType equation into the LaTeX code required by the Moodle TeX filter.&lt;br /&gt;
Mathematics teachers may also be interested to follow the work of [http://maths.york.ac.uk York University Maths department], who are working on [http://maths.york.ac.uk/serving_maths/ some projects] to augment Moodle, particularly its [[Quiz module]] for online assessment, for example by integrating a system which is able to mark algebraic and trigonometric answers to open-ended questions.&lt;br /&gt;
&lt;br /&gt;
===Accessibility Display Matrix===&lt;br /&gt;
&lt;br /&gt;
{{Expand-section|date=August 2008}}&lt;br /&gt;
&lt;br /&gt;
■ Feature Key appears below the matrix.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Notation&lt;br /&gt;
!Tex/LaTex&lt;br /&gt;
!ASCIIMath&lt;br /&gt;
!MathML&lt;br /&gt;
|-&lt;br /&gt;
|Ease of Use&lt;br /&gt;
|Plain text system. Knowledge of LaTeX notation required. Being a plain text system, LaTeX notation is straightforward to create and edit. &lt;br /&gt;
|Plain text system. Easy to learn. Notation simple. Being a plain text system, ASCIIMath is very easy to create and edit.&lt;br /&gt;
|XML-based. Not easy to create and edit: an editor is required.&lt;br /&gt;
|-&lt;br /&gt;
|Conversion to Braille&lt;br /&gt;
|Output directly to Braille display via screen reader (fn 2)&lt;br /&gt;
|ASCIIMath notation is converted to MathML or LaTeX. Please refer to those formats for details.&lt;br /&gt;
|Converted to suitable textual format and Brailled using screen reader (fn 3)&lt;br /&gt;
|-&lt;br /&gt;
|Transmission via TTS&lt;br /&gt;
|Notation spoken &amp;quot;as-is&amp;quot; via screen reader (fn 2)&lt;br /&gt;
|ASCIIMath notation is converted to MathML or LaTeX. Please refer to those formats for details.&lt;br /&gt;
|Converted to suitable textual format and spoken using screen reader. Note that MathPlayer add-on for IE has TTS functionality built-in (fn 3).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn1&amp;quot;&amp;gt;&#039;&#039;&#039;fn1.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
MathPlayer claims to do math-to-speech by parsing the MathML, not by parsing TeX. See http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm where it is stated:&lt;br /&gt;
&lt;br /&gt;
All of these examples were written in Microsoft Word and MathType and exported to MathML using MathType’s “MathPage” technology. MathPage technology was added to MathType in version 5.0. No special work is needed to author the expressions to make them accessible. Any product that exports MathML will produce pages that MathPlayer can speak.&lt;br /&gt;
&lt;br /&gt;
For a larger real life example, see this page. Also, MSN Encarta uses MathML on many of their web pages that contain math, so much of their Math should be accessible using MathPlayer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn2&amp;quot;&amp;gt;&#039;&#039;&#039;fn2. &#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
The alt attribute of the rendered graphic is spoken and/or Braillled. As LaTeX is a plain text notation, the notation can be spoken and Brailled by the screen reader directly. This does, of course, assume an understanding of LaTeX notation on the part of the screen reader user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn3&amp;quot;&amp;gt;&#039;&#039;&#039;fn3. &#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
In the case of Internet Explorer, screen readers require the MathPlayer plugin to be installed before MathML is rendered (IE does not include native MathML support). By using MSAA, the screen reader can obtain a textual version of the math notation from MathPlayer, which it can then TTS and Braille. Note that MathPlayer also contains built-in TTS functionality (employing MS SAPI) which can be used to speak the math notation without having to employ a screen reader. See [http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm] for further details. At time of writing, screen reader support for Firefox is via MSAA and a special custom, Firefox-specific IAccessible2 interface (to reveal text attributes and character positions). Math notation is spoken via a screen reader which interrogates these interfaces.&lt;br /&gt;
&lt;br /&gt;
==Using Java for Curriculum==&lt;br /&gt;
===Java Tools for Building Applets for Interactive Demonstration===&lt;br /&gt;
These tools can be integrated in or used with Moodle Resources&lt;br /&gt;
&lt;br /&gt;
==== Java Sketchpad ====&lt;br /&gt;
http://www.dynamicgeometry.com/JavaSketchpad/About_JavaSketchpad.html, is an applet developed by Key Curriculum Press. The applet has been the focus of quite a bit of discussion and demonstrations and discussions are widely available.  An introductory article from the Journal of Online Mathematics can be found here: http://mathdl.maa.org/mathDL/4/?nodeId=508&amp;amp;pa=content&amp;amp;sa=viewDocument. Usage focuses largely on Geometry&lt;br /&gt;
&lt;br /&gt;
==== CabriJava ====&lt;br /&gt;
http://www-cabri.imag.fr/cabrijava/, an applet offered by the University of Cabri,  also focuses on interactive geometry. Quite a number of examples employing CabriJava can be found here: http://www.mathsnet.net/cabri/index.html.&lt;br /&gt;
&lt;br /&gt;
==== Descartes ==== &lt;br /&gt;
http://descartes.cnice.mec.es/, is an applet developed under the auspices of the Spanish Ministerio de Educacion Politica Social y Diporte.  An English introduction can be found here at http://descartes.cnice.mec.es/ingles/index.html.  The Ministery has produced an extensive Mathematics curriculum using Descartes,  which is available in English and can be freely downloaded and used. Much of what is available is still only in Spanish so anyone interested in doing translation work please post to the Moodle Math Tools forum.&lt;br /&gt;
&lt;br /&gt;
==== Sympl ==== &lt;br /&gt;
http://www.sympl.org/, an open source Java application/applet for creating interactive graphs.&lt;br /&gt;
&lt;br /&gt;
===Additional Curricular Use of Applets===&lt;br /&gt;
*Euclid&#039;s Elements -  http://aleph0.clarku.edu/~djoyce/java/elements/elements.html&lt;br /&gt;
*Tutorials employing applets (applets can be downloaded and used in Moodle) http://www.analyzemath.com/&lt;br /&gt;
&lt;br /&gt;
===Applet Tools===&lt;br /&gt;
*Graphing - http://www.langara.bc.ca/mathstats/resource/GraphExplorer/&lt;br /&gt;
*Geometry Construction - http://www.cs.rice.edu/~jwarren/grace/&lt;br /&gt;
*GeoGebra - http://www.geogebra.org/&lt;br /&gt;
*Physics Applets for Drawing (PAD) - http://www.wku.edu/pads/ These can make interactive activities that can both check for correctness and give guiding feedback. Includes modules for graphs (2D functions), vectors (even in/out and other lines and arrows and bar-graphs), motion analysis, equation recognition and more. Uses don&#039;t have to be just for Physics. Math, of course. VectorPAD can be used for placing markers (as points, lines, small pictures, [http://www.wku.edu/pads/exercise.php?id=mgaazqzoakmqgfrkkmqgaaayo arrows) on a picture], that could be used in almost any subject. They can be incorporating in SCORM packages which can interact with Moodle. There is no Moodle module now (july 2009) for using them directly, but that would add a lot more power (compared to SCORM), like being able to save states, turn on/off feedback, etc.&lt;br /&gt;
*GraphApplet 1.05: both calculator and graphapplet - http://www.lundin.info/graphapplet.aspx&lt;br /&gt;
*Physlets: large suite of applets about physics but includes [http://webphysics.davidson.edu/physletprob/ch16_datagraph/default.html advanced graphing] too. [http://www.tupo.biz/kurser/javaapplets/Fysik/java/Physlets/CFL/3dimDiag.htm A time dependent 3D example (Swedish!)]&lt;br /&gt;
&lt;br /&gt;
===Java Applet Collections===&lt;br /&gt;
* http://cs.jsu.edu/mcis/faculty/leathrum/Mathlets/&lt;br /&gt;
* http://www.walter-fendt.de/m14e/&lt;br /&gt;
&lt;br /&gt;
* Probability and Statistics&lt;br /&gt;
**http://www.mste.uiuc.edu/pavel/java/dilemma/&lt;br /&gt;
**http://lstat.kuleuven.be/java/&lt;br /&gt;
**http://www.math.csusb.edu/faculty/stanton/m262/&lt;br /&gt;
&lt;br /&gt;
*http://www.mste.uiuc.edu/murphy/JavaOverview/default.html&lt;br /&gt;
*Math and Physics - http://www.falstad.com/mathphysics.html&lt;br /&gt;
*Curves - http://www-groups.dcs.st-and.ac.uk/~history/Java/index.html&lt;br /&gt;
*Chaos and Fractals - http://math.bu.edu/DYSYS/applets/index.html&lt;br /&gt;
*For sale, but extensive - http://www.cut-the-knot.org/Curriculum/index.shtml&lt;br /&gt;
&lt;br /&gt;
==Mathematics Assessment==&lt;br /&gt;
&lt;br /&gt;
Assessment is a key driver for mathematics.  There are a number of ways of getting students to answer mathematical questions through Moodle.&lt;br /&gt;
* WebWork, see http://webwork.maa.org/wiki/Main_Page  http://webwork.math.rochester.edu/docs/docs/, and http://webwork.maa.org/moodle/ is an independent web application for assessing student Math progress, and there is a Moodle Module for interfacing WebWork to Moodle that can be found here: http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=332, though the resources on the WeBWork wiki are probably more current as the code  in the Moodle CVS has not been updated for some time.&lt;br /&gt;
* STACK provides very mathematical questions for the Moodle quiz module.  These are supported by the CAS Maxima.  The home page for STACK can be found on http://stack.bham.ac.uk/&lt;br /&gt;
* WIRIS quizzes [http://www.wiris.com/demo-moodle wiris.com/demo-moodle]&lt;br /&gt;
**Random variables and graphics&lt;br /&gt;
**Automatic evaluation of oen answers&lt;br /&gt;
**Syntax checking of answers&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Mathematics tools FAQ]]&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=46009 Best practices for teaching Math(s) in Moodle]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=61993 How do you deal with the challenge of writing equations?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62002 How do you deal with the challenge of drawing graphs and diagrams?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62014 How do you deal with the challenge of interactive exercises and simulations?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=95950 How can I have a student enter a fraction as an answer?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=127867 What are the components of an exemplary high school Moodle course?]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Mathematics&amp;diff=87194</id>
		<title>Mathematics</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Mathematics&amp;diff=87194"/>
		<updated>2011-08-07T23:24:01Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Equation Construction and Display */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equation Construction and Display==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
There are a variety of tools that are available for the purpose of constructing equations, providing text expressions that can be converted to equations, and displaying equations. &lt;br /&gt;
&lt;br /&gt;
The most common text expression syntax is LaTeX or a derivative with probably the most common form of display being a conversion of the equation to an image file. However, is demonstrated with ASCIIMathML simple text expressions can now be be converted to MathML on the fly.&lt;br /&gt;
&lt;br /&gt;
Some tools for creating and displaying equations on-line that may be of interest to those teaching mathematics are:&lt;br /&gt;
* The default [[TeX filter]], which allows Tex expressions to be inserted anywhere (e.g. quiz questions, discussion messages, text resources)&lt;br /&gt;
* [[ASCIIMathML]],  which both converts equations into MathML on the fly and provides a text expression syntax more easily mastered than Tex, though the filter will convert TeX expressions as well. [http://sourceforge.net/project/showfiles.php?group_id=106148 The ASCIIMathML 2.0.2 zip] provides all the files necessary for setting ASCIIMathML up as  a Moodle filter as well creating run-time graphs with ASCIIsvg. An on-line calculator is also included. Just recently an  ASCIIMathML export format for DragMath was added to version 0.7.2, [https://docs.moodle.org/en/DragMath_equation_editor available here],  so that you have access to both a GUI and text expression syntax for creating and displaying equations. Quick and GIFless. [http://math.chapman.edu/~jipsen/asciencepad/asciencepad.html  ASciencePad is also available] and consists of htmlarea enhanced with the ASCIIMathML functionality. &lt;br /&gt;
* [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=916 Tim Hunt&#039;s Moodle MathTran Module] converts Tex into images on the fly. You can also use  [http://www.mathtran.org/wiki/index.php/TeX_image mathtran_img.js] on a page by page basis.&lt;br /&gt;
* The [[jsMath]] filter, which does a similar job but using [[Javascript]] on the user&#039;s computer&lt;br /&gt;
* [[MathJax]], a next generation for jsMath from David Cervone et al that now includes MathML and web font features: [http://MathJax.org] A discussion regarding deploying the beta release can be found here: [http://moodle.org/mod/forum/discuss.php?d=142785]&lt;br /&gt;
* [[Calculated question type]]&lt;br /&gt;
* [[DragMath equation editor]], a WYSIWYG equation editor that integrates easily with the Moodle HTML editor.&lt;br /&gt;
* [[WIRIS]], is a plugin that easily integrates with the HTML editor several math tools. Test them at [http://www.wiris.com/demo-moodle/ www.wiris.com/demo-moodle/]&lt;br /&gt;
** WYSIWYG equation editor. Based on MathML&lt;br /&gt;
** Advanced calculator. Integrals, derivatives, limits, ploting in 2D and 3D,...&lt;br /&gt;
** Advancaed math quizzes&lt;br /&gt;
&lt;br /&gt;
* [http://www.dessci.com/en/products/mathtype MathType], a commercial product created by DSI (the folk who also offer MathPlayer, a plugin many IE users employ). Bob Mathews recently posted [http://moodle.org/mod/forum/discuss.php?d=93728&amp;amp;parent=549428] that info on how to use MathType with Moodle can be found at http://www.dessci.com/en/products/mathtype/works_with.htm?target=moodle. Beginning with MathType 6.7, MathType includes a &amp;quot;translator&amp;quot; to convert a MathType equation into the LaTeX code required by the Moodle TeX filter.&lt;br /&gt;
Mathematics teachers may also be interested to follow the work of [http://maths.york.ac.uk York University Maths department], who are working on [http://maths.york.ac.uk/serving_maths/ some projects] to augment Moodle, particularly its [[Quiz module]] for online assessment, for example by integrating a system which is able to mark algebraic and trigonometric answers to open-ended questions.&lt;br /&gt;
&lt;br /&gt;
===Accessibility Display Matrix===&lt;br /&gt;
&lt;br /&gt;
{{Expand-section|date=August 2008}}&lt;br /&gt;
&lt;br /&gt;
■ Feature Key appears below the matrix.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Notation&lt;br /&gt;
!Tex/LaTex&lt;br /&gt;
!ASCIIMath&lt;br /&gt;
!MathML&lt;br /&gt;
|-&lt;br /&gt;
|Ease of Use&lt;br /&gt;
|Plain text system. Knowledge of LaTeX notation required. Being a plain text system, LaTeX notation is straightforward to create and edit. &lt;br /&gt;
|Plain text system. Easy to learn. Notation simple. Being a plain text system, ASCIIMath is very easy to create and edit.&lt;br /&gt;
|XML-based. Not easy to create and edit: an editor is required.&lt;br /&gt;
|-&lt;br /&gt;
|Conversion to Braille&lt;br /&gt;
|Output directly to Braille display via screen reader (fn 2)&lt;br /&gt;
|ASCIIMath notation is converted to MathML or LaTeX. Please refer to those formats for details.&lt;br /&gt;
|Converted to suitable textual format and Brailled using screen reader (fn 3)&lt;br /&gt;
|-&lt;br /&gt;
|Transmission via TTS&lt;br /&gt;
|Notation spoken &amp;quot;as-is&amp;quot; via screen reader (fn 2)&lt;br /&gt;
|ASCIIMath notation is converted to MathML or LaTeX. Please refer to those formats for details.&lt;br /&gt;
|Converted to suitable textual format and spoken using screen reader. Note that MathPlayer add-on for IE has TTS functionality built-in (fn 3).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn1&amp;quot;&amp;gt;&#039;&#039;&#039;fn1.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
MathPlayer claims to do math-to-speech by parsing the MathML, not by parsing TeX. See http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm where it is stated:&lt;br /&gt;
&lt;br /&gt;
All of these examples were written in Microsoft Word and MathType and exported to MathML using MathType’s “MathPage” technology. MathPage technology was added to MathType in version 5.0. No special work is needed to author the expressions to make them accessible. Any product that exports MathML will produce pages that MathPlayer can speak.&lt;br /&gt;
&lt;br /&gt;
For a larger real life example, see this page. Also, MSN Encarta uses MathML on many of their web pages that contain math, so much of their Math should be accessible using MathPlayer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn2&amp;quot;&amp;gt;&#039;&#039;&#039;fn2. &#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
The alt attribute of the rendered graphic is spoken and/or Braillled. As LaTeX is a plain text notation, the notation can be spoken and Brailled by the screen reader directly. This does, of course, assume an understanding of LaTeX notation on the part of the screen reader user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn3&amp;quot;&amp;gt;&#039;&#039;&#039;fn3. &#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
In the case of Internet Explorer, screen readers require the MathPlayer plugin to be installed before MathML is rendered (IE does not include native MathML support). By using MSAA, the screen reader can obtain a textual version of the math notation from MathPlayer, which it can then TTS and Braille. Note that MathPlayer also contains built-in TTS functionality (employing MS SAPI) which can be used to speak the math notation without having to employ a screen reader. See [http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm] for further details. At time of writing, screen reader support for Firefox is via MSAA and a special custom, Firefox-specific IAccessible2 interface (to reveal text attributes and character positions). Math notation is spoken via a screen reader which interrogates these interfaces.&lt;br /&gt;
&lt;br /&gt;
==Using Java for Curriculum==&lt;br /&gt;
===Java Tools for Building Applets for Interactive Demonstration===&lt;br /&gt;
These tools can be integrated in or used with Moodle Resources&lt;br /&gt;
&lt;br /&gt;
==== Java Sketchpad ====&lt;br /&gt;
http://www.dynamicgeometry.com/JavaSketchpad/About_JavaSketchpad.html, is an applet developed by Key Curriculum Press. The applet has been the focus of quite a bit of discussion and demonstrations and discussions are widely available.  An introductory article from the Journal of Online Mathematics can be found here: http://mathdl.maa.org/mathDL/4/?nodeId=508&amp;amp;pa=content&amp;amp;sa=viewDocument. Usage focuses largely on Geometry&lt;br /&gt;
&lt;br /&gt;
==== CabriJava ====&lt;br /&gt;
http://www-cabri.imag.fr/cabrijava/, an applet offered by the University of Cabri,  also focuses on interactive geometry. Quite a number of examples employing CabriJava can be found here: http://www.mathsnet.net/cabri/index.html.&lt;br /&gt;
&lt;br /&gt;
==== Descartes ==== &lt;br /&gt;
http://descartes.cnice.mec.es/, is an applet developed under the auspices of the Spanish Ministerio de Educacion Politica Social y Diporte.  An English introduction can be found here at http://descartes.cnice.mec.es/ingles/index.html.  The Ministery has produced an extensive Mathematics curriculum using Descartes,  which is available in English and can be freely downloaded and used. Much of what is available is still only in Spanish so anyone interested in doing translation work please post to the Moodle Math Tools forum.&lt;br /&gt;
&lt;br /&gt;
==== Sympl ==== &lt;br /&gt;
http://www.sympl.org/, an open source Java application/applet for creating interactive graphs.&lt;br /&gt;
&lt;br /&gt;
===Additional Curricular Use of Applets===&lt;br /&gt;
*Euclid&#039;s Elements -  http://aleph0.clarku.edu/~djoyce/java/elements/elements.html&lt;br /&gt;
*Tutorials employing applets (applets can be downloaded and used in Moodle) http://www.analyzemath.com/&lt;br /&gt;
&lt;br /&gt;
===Applet Tools===&lt;br /&gt;
*Graphing - http://www.langara.bc.ca/mathstats/resource/GraphExplorer/&lt;br /&gt;
*Geometry Construction - http://www.cs.rice.edu/~jwarren/grace/&lt;br /&gt;
*GeoGebra - http://www.geogebra.org/&lt;br /&gt;
*Physics Applets for Drawing (PAD) - http://www.wku.edu/pads/ These can make interactive activities that can both check for correctness and give guiding feedback. Includes modules for graphs (2D functions), vectors (even in/out and other lines and arrows and bar-graphs), motion analysis, equation recognition and more. Uses don&#039;t have to be just for Physics. Math, of course. VectorPAD can be used for placing markers (as points, lines, small pictures, [http://www.wku.edu/pads/exercise.php?id=mgaazqzoakmqgfrkkmqgaaayo arrows) on a picture], that could be used in almost any subject. They can be incorporating in SCORM packages which can interact with Moodle. There is no Moodle module now (july 2009) for using them directly, but that would add a lot more power (compared to SCORM), like being able to save states, turn on/off feedback, etc.&lt;br /&gt;
*GraphApplet 1.05: both calculator and graphapplet - http://www.lundin.info/graphapplet.aspx&lt;br /&gt;
*Physlets: large suite of applets about physics but includes [http://webphysics.davidson.edu/physletprob/ch16_datagraph/default.html advanced graphing] too. [http://www.tupo.biz/kurser/javaapplets/Fysik/java/Physlets/CFL/3dimDiag.htm A time dependent 3D example (Swedish!)]&lt;br /&gt;
&lt;br /&gt;
===Java Applet Collections===&lt;br /&gt;
* http://cs.jsu.edu/mcis/faculty/leathrum/Mathlets/&lt;br /&gt;
* http://www.walter-fendt.de/m14e/&lt;br /&gt;
&lt;br /&gt;
* Probability and Statistics&lt;br /&gt;
**http://www.mste.uiuc.edu/pavel/java/dilemma/&lt;br /&gt;
**http://lstat.kuleuven.be/java/&lt;br /&gt;
**http://www.math.csusb.edu/faculty/stanton/m262/&lt;br /&gt;
&lt;br /&gt;
*http://www.mste.uiuc.edu/murphy/JavaOverview/default.html&lt;br /&gt;
*Math and Physics - http://www.falstad.com/mathphysics.html&lt;br /&gt;
*Curves - http://www-groups.dcs.st-and.ac.uk/~history/Java/index.html&lt;br /&gt;
*Chaos and Fractals - http://math.bu.edu/DYSYS/applets/index.html&lt;br /&gt;
*For sale, but extensive - http://www.cut-the-knot.org/Curriculum/index.shtml&lt;br /&gt;
&lt;br /&gt;
==Mathematics Assessment==&lt;br /&gt;
&lt;br /&gt;
Assessment is a key driver for mathematics.  There are a number of ways of getting students to answer mathematical questions through Moodle.&lt;br /&gt;
* WebWork, see http://webwork.maa.org/wiki/Main_Page  http://webwork.math.rochester.edu/docs/docs/, and http://webwork.maa.org/moodle/ is an independent web application for assessing student Math progress, and there is a Moodle Module for interfacing WebWork to Moodle that can be found here: http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=332, though the resources on the WeBWork wiki are probably more current as the code  in the Moodle CVS has not been updated for some time.&lt;br /&gt;
* STACK provides very mathematical questions for the Moodle quiz module.  These are supported by the CAS Maxima.  The home page for STACK can be found on http://stack.bham.ac.uk/&lt;br /&gt;
* WIRIS quizzes [http://www.wiris.com/demo-moodle wiris.com/demo-moodle]&lt;br /&gt;
**Random variables and graphics&lt;br /&gt;
**Automatic evaluation of oen answers&lt;br /&gt;
**Syntax checking of answers&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Mathematics tools FAQ]]&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=46009 Best practices for teaching Math(s) in Moodle]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=61993 How do you deal with the challenge of writing equations?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62002 How do you deal with the challenge of drawing graphs and diagrams?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62014 How do you deal with the challenge of interactive exercises and simulations?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=95950 How can I have a student enter a fraction as an answer?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=127867 What are the components of an exemplary high school Moodle course?]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Mathematics&amp;diff=87193</id>
		<title>Mathematics</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Mathematics&amp;diff=87193"/>
		<updated>2011-08-07T23:23:03Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Equation Construction and Display */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Equation Construction and Display==&lt;br /&gt;
&lt;br /&gt;
Moodle offers in core basic TeX and Algebra filters. These are simple but not simplistic. An overview of using these tools can be found at the [[Using TeX Notation]] pages. Be aware that these default packages are subsets of complete TeX packages and the conventions used are designed more for ease of use within Moodle rather than as complete TeX packages. &lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
There are a variety of tools that are available for the purpose of constructing equations, providing text expressions that can be converted to equations, and displaying equations. &lt;br /&gt;
&lt;br /&gt;
The most common text expression syntax is LaTeX or a derivative with probably the most common form of display being a conversion of the equation to an image file. However, is demonstrated with ASCIIMathML simple text expressions can now be be converted to MathML on the fly.&lt;br /&gt;
&lt;br /&gt;
Some tools for creating and displaying equations on-line that may be of interest to those teaching mathematics are:&lt;br /&gt;
* The default [[TeX filter]], which allows Tex expressions to be inserted anywhere (e.g. quiz questions, discussion messages, text resources)&lt;br /&gt;
* [[ASCIIMathML]],  which both converts equations into MathML on the fly and provides a text expression syntax more easily mastered than Tex, though the filter will convert TeX expressions as well. [http://sourceforge.net/project/showfiles.php?group_id=106148 The ASCIIMathML 2.0.2 zip] provides all the files necessary for setting ASCIIMathML up as  a Moodle filter as well creating run-time graphs with ASCIIsvg. An on-line calculator is also included. Just recently an  ASCIIMathML export format for DragMath was added to version 0.7.2, [https://docs.moodle.org/en/DragMath_equation_editor available here],  so that you have access to both a GUI and text expression syntax for creating and displaying equations. Quick and GIFless. [http://math.chapman.edu/~jipsen/asciencepad/asciencepad.html  ASciencePad is also available] and consists of htmlarea enhanced with the ASCIIMathML functionality. &lt;br /&gt;
* [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=916 Tim Hunt&#039;s Moodle MathTran Module] converts Tex into images on the fly. You can also use  [http://www.mathtran.org/wiki/index.php/TeX_image mathtran_img.js] on a page by page basis.&lt;br /&gt;
* The [[jsMath]] filter, which does a similar job but using [[Javascript]] on the user&#039;s computer&lt;br /&gt;
* [[MathJax]], a next generation for jsMath from David Cervone et al that now includes MathML and web font features: [http://MathJax.org] A discussion regarding deploying the beta release can be found here: [http://moodle.org/mod/forum/discuss.php?d=142785]&lt;br /&gt;
* [[Calculated question type]]&lt;br /&gt;
* [[DragMath equation editor]], a WYSIWYG equation editor that integrates easily with the Moodle HTML editor.&lt;br /&gt;
* [[WIRIS]], is a plugin that easily integrates with the HTML editor several math tools. Test them at [http://www.wiris.com/demo-moodle/ www.wiris.com/demo-moodle/]&lt;br /&gt;
** WYSIWYG equation editor. Based on MathML&lt;br /&gt;
** Advanced calculator. Integrals, derivatives, limits, ploting in 2D and 3D,...&lt;br /&gt;
** Advancaed math quizzes&lt;br /&gt;
&lt;br /&gt;
* [http://www.dessci.com/en/products/mathtype MathType], a commercial product created by DSI (the folk who also offer MathPlayer, a plugin many IE users employ). Bob Mathews recently posted [http://moodle.org/mod/forum/discuss.php?d=93728&amp;amp;parent=549428] that info on how to use MathType with Moodle can be found at http://www.dessci.com/en/products/mathtype/works_with.htm?target=moodle. Beginning with MathType 6.7, MathType includes a &amp;quot;translator&amp;quot; to convert a MathType equation into the LaTeX code required by the Moodle TeX filter.&lt;br /&gt;
Mathematics teachers may also be interested to follow the work of [http://maths.york.ac.uk York University Maths department], who are working on [http://maths.york.ac.uk/serving_maths/ some projects] to augment Moodle, particularly its [[Quiz module]] for online assessment, for example by integrating a system which is able to mark algebraic and trigonometric answers to open-ended questions.&lt;br /&gt;
&lt;br /&gt;
===Accessibility Display Matrix===&lt;br /&gt;
&lt;br /&gt;
{{Expand-section|date=August 2008}}&lt;br /&gt;
&lt;br /&gt;
■ Feature Key appears below the matrix.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
!Notation&lt;br /&gt;
!Tex/LaTex&lt;br /&gt;
!ASCIIMath&lt;br /&gt;
!MathML&lt;br /&gt;
|-&lt;br /&gt;
|Ease of Use&lt;br /&gt;
|Plain text system. Knowledge of LaTeX notation required. Being a plain text system, LaTeX notation is straightforward to create and edit. &lt;br /&gt;
|Plain text system. Easy to learn. Notation simple. Being a plain text system, ASCIIMath is very easy to create and edit.&lt;br /&gt;
|XML-based. Not easy to create and edit: an editor is required.&lt;br /&gt;
|-&lt;br /&gt;
|Conversion to Braille&lt;br /&gt;
|Output directly to Braille display via screen reader (fn 2)&lt;br /&gt;
|ASCIIMath notation is converted to MathML or LaTeX. Please refer to those formats for details.&lt;br /&gt;
|Converted to suitable textual format and Brailled using screen reader (fn 3)&lt;br /&gt;
|-&lt;br /&gt;
|Transmission via TTS&lt;br /&gt;
|Notation spoken &amp;quot;as-is&amp;quot; via screen reader (fn 2)&lt;br /&gt;
|ASCIIMath notation is converted to MathML or LaTeX. Please refer to those formats for details.&lt;br /&gt;
|Converted to suitable textual format and spoken using screen reader. Note that MathPlayer add-on for IE has TTS functionality built-in (fn 3).&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn1&amp;quot;&amp;gt;&#039;&#039;&#039;fn1.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
MathPlayer claims to do math-to-speech by parsing the MathML, not by parsing TeX. See http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm where it is stated:&lt;br /&gt;
&lt;br /&gt;
All of these examples were written in Microsoft Word and MathType and exported to MathML using MathType’s “MathPage” technology. MathPage technology was added to MathType in version 5.0. No special work is needed to author the expressions to make them accessible. Any product that exports MathML will produce pages that MathPlayer can speak.&lt;br /&gt;
&lt;br /&gt;
For a larger real life example, see this page. Also, MSN Encarta uses MathML on many of their web pages that contain math, so much of their Math should be accessible using MathPlayer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn2&amp;quot;&amp;gt;&#039;&#039;&#039;fn2. &#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
The alt attribute of the rendered graphic is spoken and/or Braillled. As LaTeX is a plain text notation, the notation can be spoken and Brailled by the screen reader directly. This does, of course, assume an understanding of LaTeX notation on the part of the screen reader user.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;fn3&amp;quot;&amp;gt;&#039;&#039;&#039;fn3. &#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
In the case of Internet Explorer, screen readers require the MathPlayer plugin to be installed before MathML is rendered (IE does not include native MathML support). By using MSAA, the screen reader can obtain a textual version of the math notation from MathPlayer, which it can then TTS and Braille. Note that MathPlayer also contains built-in TTS functionality (employing MS SAPI) which can be used to speak the math notation without having to employ a screen reader. See [http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm] for further details. At time of writing, screen reader support for Firefox is via MSAA and a special custom, Firefox-specific IAccessible2 interface (to reveal text attributes and character positions). Math notation is spoken via a screen reader which interrogates these interfaces.&lt;br /&gt;
&lt;br /&gt;
==Using Java for Curriculum==&lt;br /&gt;
===Java Tools for Building Applets for Interactive Demonstration===&lt;br /&gt;
These tools can be integrated in or used with Moodle Resources&lt;br /&gt;
&lt;br /&gt;
==== Java Sketchpad ====&lt;br /&gt;
http://www.dynamicgeometry.com/JavaSketchpad/About_JavaSketchpad.html, is an applet developed by Key Curriculum Press. The applet has been the focus of quite a bit of discussion and demonstrations and discussions are widely available.  An introductory article from the Journal of Online Mathematics can be found here: http://mathdl.maa.org/mathDL/4/?nodeId=508&amp;amp;pa=content&amp;amp;sa=viewDocument. Usage focuses largely on Geometry&lt;br /&gt;
&lt;br /&gt;
==== CabriJava ====&lt;br /&gt;
http://www-cabri.imag.fr/cabrijava/, an applet offered by the University of Cabri,  also focuses on interactive geometry. Quite a number of examples employing CabriJava can be found here: http://www.mathsnet.net/cabri/index.html.&lt;br /&gt;
&lt;br /&gt;
==== Descartes ==== &lt;br /&gt;
http://descartes.cnice.mec.es/, is an applet developed under the auspices of the Spanish Ministerio de Educacion Politica Social y Diporte.  An English introduction can be found here at http://descartes.cnice.mec.es/ingles/index.html.  The Ministery has produced an extensive Mathematics curriculum using Descartes,  which is available in English and can be freely downloaded and used. Much of what is available is still only in Spanish so anyone interested in doing translation work please post to the Moodle Math Tools forum.&lt;br /&gt;
&lt;br /&gt;
==== Sympl ==== &lt;br /&gt;
http://www.sympl.org/, an open source Java application/applet for creating interactive graphs.&lt;br /&gt;
&lt;br /&gt;
===Additional Curricular Use of Applets===&lt;br /&gt;
*Euclid&#039;s Elements -  http://aleph0.clarku.edu/~djoyce/java/elements/elements.html&lt;br /&gt;
*Tutorials employing applets (applets can be downloaded and used in Moodle) http://www.analyzemath.com/&lt;br /&gt;
&lt;br /&gt;
===Applet Tools===&lt;br /&gt;
*Graphing - http://www.langara.bc.ca/mathstats/resource/GraphExplorer/&lt;br /&gt;
*Geometry Construction - http://www.cs.rice.edu/~jwarren/grace/&lt;br /&gt;
*GeoGebra - http://www.geogebra.org/&lt;br /&gt;
*Physics Applets for Drawing (PAD) - http://www.wku.edu/pads/ These can make interactive activities that can both check for correctness and give guiding feedback. Includes modules for graphs (2D functions), vectors (even in/out and other lines and arrows and bar-graphs), motion analysis, equation recognition and more. Uses don&#039;t have to be just for Physics. Math, of course. VectorPAD can be used for placing markers (as points, lines, small pictures, [http://www.wku.edu/pads/exercise.php?id=mgaazqzoakmqgfrkkmqgaaayo arrows) on a picture], that could be used in almost any subject. They can be incorporating in SCORM packages which can interact with Moodle. There is no Moodle module now (july 2009) for using them directly, but that would add a lot more power (compared to SCORM), like being able to save states, turn on/off feedback, etc.&lt;br /&gt;
*GraphApplet 1.05: both calculator and graphapplet - http://www.lundin.info/graphapplet.aspx&lt;br /&gt;
*Physlets: large suite of applets about physics but includes [http://webphysics.davidson.edu/physletprob/ch16_datagraph/default.html advanced graphing] too. [http://www.tupo.biz/kurser/javaapplets/Fysik/java/Physlets/CFL/3dimDiag.htm A time dependent 3D example (Swedish!)]&lt;br /&gt;
&lt;br /&gt;
===Java Applet Collections===&lt;br /&gt;
* http://cs.jsu.edu/mcis/faculty/leathrum/Mathlets/&lt;br /&gt;
* http://www.walter-fendt.de/m14e/&lt;br /&gt;
&lt;br /&gt;
* Probability and Statistics&lt;br /&gt;
**http://www.mste.uiuc.edu/pavel/java/dilemma/&lt;br /&gt;
**http://lstat.kuleuven.be/java/&lt;br /&gt;
**http://www.math.csusb.edu/faculty/stanton/m262/&lt;br /&gt;
&lt;br /&gt;
*http://www.mste.uiuc.edu/murphy/JavaOverview/default.html&lt;br /&gt;
*Math and Physics - http://www.falstad.com/mathphysics.html&lt;br /&gt;
*Curves - http://www-groups.dcs.st-and.ac.uk/~history/Java/index.html&lt;br /&gt;
*Chaos and Fractals - http://math.bu.edu/DYSYS/applets/index.html&lt;br /&gt;
*For sale, but extensive - http://www.cut-the-knot.org/Curriculum/index.shtml&lt;br /&gt;
&lt;br /&gt;
==Mathematics Assessment==&lt;br /&gt;
&lt;br /&gt;
Assessment is a key driver for mathematics.  There are a number of ways of getting students to answer mathematical questions through Moodle.&lt;br /&gt;
* WebWork, see http://webwork.maa.org/wiki/Main_Page  http://webwork.math.rochester.edu/docs/docs/, and http://webwork.maa.org/moodle/ is an independent web application for assessing student Math progress, and there is a Moodle Module for interfacing WebWork to Moodle that can be found here: http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=332, though the resources on the WeBWork wiki are probably more current as the code  in the Moodle CVS has not been updated for some time.&lt;br /&gt;
* STACK provides very mathematical questions for the Moodle quiz module.  These are supported by the CAS Maxima.  The home page for STACK can be found on http://stack.bham.ac.uk/&lt;br /&gt;
* WIRIS quizzes [http://www.wiris.com/demo-moodle wiris.com/demo-moodle]&lt;br /&gt;
**Random variables and graphics&lt;br /&gt;
**Automatic evaluation of oen answers&lt;br /&gt;
**Syntax checking of answers&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Mathematics tools FAQ]]&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=46009 Best practices for teaching Math(s) in Moodle]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=61993 How do you deal with the challenge of writing equations?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62002 How do you deal with the challenge of drawing graphs and diagrams?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=62014 How do you deal with the challenge of interactive exercises and simulations?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=95950 How can I have a student enter a fraction as an answer?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=127867 What are the components of an exemplary high school Moodle course?]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Moodle.net&amp;diff=82745</id>
		<title>Moodle.net</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Moodle.net&amp;diff=82745"/>
		<updated>2011-04-14T05:15:39Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mooch is the Moodle.org hub. Many Moodle sites register to Mooch. They can publish courses for download or list them as enrollable.&lt;br /&gt;
&lt;br /&gt;
With [http://hub.moodle.org Mooch], you can search for courses:&lt;br /&gt;
* to study a new domain&lt;br /&gt;
* to participate to a community &lt;br /&gt;
* to download and install on your Moodle site&lt;br /&gt;
&lt;br /&gt;
Unfortunately, as you will note if you visit MOOCH, there is often no way to know whether the courses available will work in your Moodle,  because you can&#039;t import a Moodle 2.0 course into a 1.9 Moodle, and vice versa which makes the MOOCH, well, less than useful for for many people.&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=81661</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=81661"/>
		<updated>2011-03-01T15:46:49Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Before Posting to the Forum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introduction===&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
Initially integrated with Moodle to be used with Moodle&#039;s Tex filter,  the export feature available with DragMath has now allowed an integration that supports the creation of LaTex text expressions with and without the doubledollar signs used to signal parsing by the filter as well as AsciiMathML text expressions.&lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here].&lt;br /&gt;
&lt;br /&gt;
===How the DragMath editor has been integrated with Moodle===&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
DragMath is integrated with Moodle through a new button on the editor toolbar.  This way, the DragMath editor is available everywhere that you or your students are called upon to enter text.  &#039;&#039;&#039;Please note:&#039;&#039;&#039; The DragMath editor does not come supplied with Moodle.  You (or your administrator) will have to install it. The following comments are targeted at the single file install,  which has retained the beloved smileys.&lt;br /&gt;
&lt;br /&gt;
====Getting Started====&lt;br /&gt;
Suppose that you&#039;re entering text in the HTML editor and you reach a point where you want to insert a mathematical expression. You want to be able to show the text expression you would use to create an equations as well as the equations itself. Pushing the DragMath button launches the DragMath editor in a small popup window (Note: the first time you do this, there will be a delay of a few seconds due to applet initialization).  &lt;br /&gt;
&lt;br /&gt;
====Create the math expression in DragMath====&lt;br /&gt;
Drag the various graphic constituents of your equation into the construction area until the equation is to your satisfaction.&lt;br /&gt;
&lt;br /&gt;
====Save the expression====&lt;br /&gt;
From the Menu Bar click File-&amp;gt;Save As or click on the floppy icon.  Provide a local location where you want to save the equation and the applet stores the equation there in a .dgrm file. &lt;br /&gt;
&lt;br /&gt;
====Select Export Format====&lt;br /&gt;
From the Menu Bar click Options-&amp;gt;Set Export Format.  If you want to insert the text expression for a tex formula,  select LaTex. If you wish to insert the text expression with the doubledollar tokens so that the expression will be converted by the moodle tex filter,  select MoodleTex (this will likely be the default choice in your applet).  If you have replaced your tex filter with the ASCIIMathML filter,  select ASCIIMathML.&lt;br /&gt;
&lt;br /&gt;
====Insert the expression====&lt;br /&gt;
Click the &amp;quot;Insert button&amp;quot; and you&#039;re done.  The editor will disappear and the output you selected will be inserted. If you chose MoodleTex, the LaTeX expression (with $$ delimiters added at both ends) will be inserted into your text at the current cursor position. Note the screen shot below. This demonstrates the results when you have selected MoodleTex to insert the equation in your work. &#039;&#039;&#039;Note ASCIIMathML users:&#039;&#039;&#039;  the ASCIIMathML.xml file currently has backtics set as tokens.  You can edit that file to use the auto nomenclature if you choose&lt;br /&gt;
&lt;br /&gt;
====Altering Applet Parameters====&lt;br /&gt;
The window presented by the dragmath plugin is controlled by an applet reference in a php file, which for htmlarea in Moodle 1.9.x is dlg_ins_dragmath.php,  one of the files included in the distribution, which can be found in moodleroot/lib/editor/htmlarea/popups .  Applet parameters, per the dragmath documentation, can be changed in this file.  By default, the language is set to English and the output format is set to MoodleTex (that is,  the output will include double dollars signs, and if you have turned off your tex filter and are using asciimath then you will probably want to set your default export format to ASCIIMathML.)&lt;br /&gt;
&lt;br /&gt;
In answer to the prayers of users, the STACK folk added the ability to drop the dot that DragMath had always inserted in 3x between the coefficient and the variable as in 3∙x .  You will find a menu item in DragMath&#039;s gui to turn this on and off right next to the menu items for formatting.  This setting can also be set via an applet parameter. &lt;br /&gt;
&lt;br /&gt;
You can add formats and languages via /lib/DragMath/Config.xml with the various XML export formats in the formats subdirectory of applets and the languages in the lang subdirectory. Of course you can, with care, edit the various xml files.&lt;br /&gt;
&lt;br /&gt;
Should you wish to make any changes,  please remember to back up a copy of your original file. &lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_instructions.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
===Installing DragMath===&lt;br /&gt;
The most current version of DragMath can now be installed properly by simply using unzip (see the section immediately below this one).  The Moodle CVS system and issues with managing adminlib.php have resulted in our going to this new and easier to use package. The new package offers a single zip that includes not only the integration files (at least for htmlarea for the present and with smileys) but the current DragMath files as well. The file can be unzipped in place, a welcome change from the hassles of installing with the Moodle CVS zip; just place the zip file in the moodle root and unzip. &lt;br /&gt;
&lt;br /&gt;
This method is different than the two previously used. Beware of relying on installation advice or files posted in forums prior to July 2009 as they may  be addressing files and methods no longer in use. You may also find a variety of development code in the forums regarding use of dragmath with a number of editors.  Some of this may work and some may not, but none of it will be current.  Use at your own risk!&lt;br /&gt;
&lt;br /&gt;
DragMath may eventually become core technology in Moodle,  meaning that as of a certain version no installation may be required, but installation instructions will continue to remain so as to support older versions as long as feasible.&lt;br /&gt;
&lt;br /&gt;
====Installing DragMath from the non-CVS Zip - Recommended!====&lt;br /&gt;
We have come full circle and as a result of the issues with maintaining a current adminlib.php for every version as well as with the potential move of dragmath that may take place with Moodle 2, DragMath is now available as a zip file that can be easily installed from your root moodle directory (unlike the CVS zip described below,  one reason we recommend you no longer use the CVS zip.) &lt;br /&gt;
&lt;br /&gt;
In order to make things as easy as possible, the specifics of downloading the current version can be found [http://www.dragmath.bham.ac.uk/moodle.html here.] Simply download the integration zip file, place the zip file in your root moodle directory (/moodle for many) and unzip.  The DragMath files will be installed in their correct locations.  Additionally,  you will get a file called adminlib_exampleonly.php which you can diff with your adminlib.php to demonstrate the addition of the lines to allow you to turn the dragmath icon on and off (see [[DragMath equation editor#Managing Your Editor Icons Through adminlib.php]]).&lt;br /&gt;
&lt;br /&gt;
Once you have unzipped DragMath &#039;&#039;&#039;DO NOT&#039;&#039;&#039; delete the zip file. Each time you update Moodle the update will write over several of the files necessary for integration.  The easy solution is to simply keep the zip file in your Moodle root and unzip after each update.&lt;br /&gt;
&lt;br /&gt;
If you are using prior versions of DragMath it is suggested that you do a new install as there have been some changes internal to the DragMath directory as well as to the integration files. Once you have done a new install with the zip above, future versions of DragMath in Moodle 1.9.x will likely only require that you replace the DragMath directory that has now been located at /lib/DragMath with a newer directory from sourceforge (or you can wait until you see an updated on Moodle).&lt;br /&gt;
&lt;br /&gt;
Early adopters of the as yet unreleased Moodle 2 should note that dragmath is presently included in HEAD (do not do any installation) and you should review the section on Moodle 2 below for further information.&lt;br /&gt;
&lt;br /&gt;
====Installing DragMath From the Moodle CVS - NOT RECOMMENDED====&lt;br /&gt;
Please note that the Moodle CVS for dragmath is no longer being supported. The files however are still present and if you insist you can access them. It is recommended that you DO NOT DO THIS.&lt;br /&gt;
&lt;br /&gt;
If you are running version 1.9.+  [http://download.moodle.org/patches19/dragmath.zip click here] or if you are running Moodle version 1.8.4 or greater but not 1.9.x [http://download.moodle.org/patches18/dragmath.zip click here]&lt;br /&gt;
and you will start the download of the cvs zip file (at present there are no differences between the two versions.)&lt;br /&gt;
&lt;br /&gt;
At this point you can unzip on your workstation and then you can upload the included files to their appropriate locations (&#039;&#039;&#039;but read the warning below first&#039;&#039;&#039;). This version retains the smileys and includes all integration files and all DragMath files (demos, docs, and  all export formats)  The Moodle automagically creates the zip with a parent directory of &amp;quot;dragmath&amp;quot;.  Should you wish you can unzip the files and then rezip with the top level directory being /lib,  and this will allow you to simply upload the zip you just created to your moodle root and unzip there,  and the files will be placed in their appropriate locations. However, please DO NOT include the adminlib.php file and make sure all files are backed up,  and in as much as there are only a few files you may want to manually install even if a zip with  /lib as top directory were provided here just to ensure each file is backed up before installation. Upload the zip file to your Moodle root and unzip.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning:&#039;&#039;&#039; At present the CVS zip file includes a version of adminlib.php. This file is included because there is a line added to it that allows you to hide the dragmath icon.  In any event, the included adminlib.php should  &#039;&#039;&#039;NOT&#039;&#039;&#039; be used to over write your adminlib.php! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT&#039;&#039;&#039; over write your adminlib.php. Install the rest of the files (other than adminlib.php) and DragMath will work without a problem. &lt;br /&gt;
====Managing Your Editor Icons Through adminlib.php====&lt;br /&gt;
To be able to add your dragmath icon, save your existing copy of adminlib.php (you will find it in the /lib directory) and insert this line:&lt;br /&gt;
                     &#039;insertdragmath&#039; =&amp;gt; &#039;em.icon.dragmath.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
below this line:&lt;br /&gt;
                     &#039;insertsmile&#039; =&amp;gt; &#039;em.icon.smile.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
and save. The line can really be placed anywhere in that array,  but by providing a specific location it will help when addressing requests for assistance in hiding buttons. And,  having taken the time to explore this beautiful little array,  you can now alter your button images to your hearts content!&lt;br /&gt;
&lt;br /&gt;
The array is employed by the admin GUI (Site Administration-&amp;gt; Appearance-&amp;gt;HTML editor) to provide you the Administrator with the ability to hide buttons in the HTML editor via editorhidebuttons.  Once you have installed Dragmath and added the button,  you can use the GUI to hide the insertdragmath button.&lt;br /&gt;
&lt;br /&gt;
You may ask, what about altering the adminlib.php file in the CVS or providing a patch? [http://tracker.moodle.org/browse/MDL-16280 This was raised and you can vote on it.] Let&#039;s get real here folks,  we are talking about one line which could be added to adminlib.php at 1.8.4 or later without any other impact.  Is it really necessary to provide a separate adminlib.php for dragmath everytime someone changes adminlib.php in the core? If you have an opinion on this please edit the page comments on this and provide your input as to whether adminlib.php should just be dropped from the dragmath distribution.&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
====Before Posting to the Forum====&lt;br /&gt;
DragMath is a java applet which in Moodle 1.9 is being invoked through the editor htmlarea. This means that there are a number of places to check to determine what the trouble might be.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You don&#039;t see any editor icons:&#039;&#039; Safari and Chrome, for example, do not handle htmlarea, and without access to htmlarea, you are stuck. Use a different browser or if you are an advanced user,  consider moving to tinyMCE.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Htmlarea comes up, but you don&#039;t see the DragMath button:&#039;&#039; Flush your cache and try again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You flushed your cache and still don&#039;t see the DragMath button:&#039;&#039; Retrace your installation steps-make sure that you placed the zip file in your moodle root and that you did an unzip that overwrote htmlarea.php and dialog.js.  If the problem persists post to the forum with specifics regarding how you followed the steps above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You clicked on the DragMath button but DragMath did not come up:&#039;&#039; In Moodle 1.9 with DragMath 0.7.8.2, open the URL http://yourFQDN/moodlerootifappropriate/lib/DragMath/DragMath%20Demonstration.html .  A demo page with DragMath should come up and be functional.  If the demo works, please post the details of the process you have followed to date along with your java log (please include all details of the versions of the OS, browser, java, etc you are using.) If the demo does not work,  then the issue likely is with your browser&#039;s use of java (see, e.g. http://support.mozilla.com/en-US/kb/Using+the+Java+plugin+with+Firefox.) Please update to the most recent version of java available to you and make sure that you have installed all plugins your browser needs to open a java applet. Then flush your cache browser cache and your java cache,  make sure you have pointed your browser to your most current version of java and retry.  If it still does not work post the details as above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Everything seemed to work but all that happened was that you text expression was inserted (with or without tokens such as double dollar signs):&#039;&#039; DragMath is a GUI constructor that allows you to create text expressions from a GUI representation of your equation. IT DOES NOT display your equation.  To do that you need a display application installed. While Moodle comes with an antiquated but functional Tex filter, that filter DOE NOT include Tex itself (though it does include a fallback to mimetex, another application discussed in [[Mathematics]]. There are also other display applications discussed there, such as ASCIIMathML and MathJax. As noted below, DragMath can render an equation in a variety of formats each with its own tokens, or can insert the text expression with no tokens at all.&lt;br /&gt;
&lt;br /&gt;
====After Update Dragmath Disappears====&lt;br /&gt;
Unfortunately there are files that DragMath shares with core Moodle files that Moodle developers won&#039;t change, which means each time you update Moodle you must reinstall the integration files.  You can do this by identifying each of the files and making a backup of them with a filename that the update won;t overwrite,  or you can simply keep the DragMath install zip in the root of your Moodle and do an unzip after each update.  Quick and easy. &lt;br /&gt;
====unzip====&lt;br /&gt;
Some packages like winRAR provide a separate setting that prefixes the archives name on directories.  In order for the files to be properly placed when the archive is unzipped you must make sure this is not the case. In winRAR for Windows for example you can go to Options-&amp;gt;Settings and on the Compression tab you will see something to the effect of &amp;quot;Append archive name to path&amp;quot;; make sure this is not set!&lt;br /&gt;
&lt;br /&gt;
Also,  please note that the non-cvs zip is created so that the files in various directories are placed correctly.  If, however, you set unzip or instruct unzip not to overwrite but to rename,  then you will unpack the archived files into new directories (for example /lib(2) instead of /lib) and your install will not work.&lt;br /&gt;
&lt;br /&gt;
====java jre====&lt;br /&gt;
Dragmath is java based, and unless you have a current java runtime environment you will likely run into trouble.  Make sure you keep your JRE current and that the current JRE is selected. You can check here for latest versions: http://www.java.com/en/download/manual.jsp.  Note that Apple packages java itself,  so OS X users can be caught in the Apple development cycle.  The best option is to make sure you use Software Update frequently.  DragMath has been shown to work fine with OS X 10.5 using FF 3.6.3 and the latest Java update. As of June 2010 Apple has released Java for Mac OS X 10.6 Update 2 and Java for Mac OS X 10.5 Update 7. These releases correspond to the latest Java released by Sun (Oracle),  Java 6 update 20. Check here for the most recent downloads from Apple: http://support.apple.com/downloads/&lt;br /&gt;
&lt;br /&gt;
===Development===&lt;br /&gt;
====Language Files====&lt;br /&gt;
The 0.7.8.1 package now includes language files (with Finnish, courtesy of Mauno Korpelainen) and the integration files should provide for automatic selection of the language based on the Moodle language setting.&lt;br /&gt;
====Square brackets====&lt;br /&gt;
Use of text expressions in the Moodle Wiki can create problems when the text expression includes square brackets,  which is how TeX expresses the nth root. Pending a simple wiki based solution users may want to use the ASCIIMathML filter and the ASCIIMathML export format as this combination avoids the use of square brackets.  &lt;br /&gt;
====Consistent integration with all html editors====&lt;br /&gt;
The Moodle discussion regarding html editors suggests that it will be important for DragMath to have consistent integration with a variety of html editors as htmlarea passes into obsolescence. Plugins for tinyMCE, Xinha and FCKEditor with a similar structure and common codebase are ready and compatible with all browsers that support javascript and Java.&lt;br /&gt;
====Additional formats====&lt;br /&gt;
There are quite a few options now available for creating text expressions to for displaying equations and Moodle functionality can only be increased if tools were able to create and parse expressions created by the tools a user is most comfortable with.  ASCIIMathML is one tool now available as a filter for Moodle that allows the parsing of both TeX and its own ASCIIMathML text expression syntax. Microsoft has now launched its OMML initiative in Office 2007 (see footnotes on  http://en.wikipedia.org/wiki/Office_Open_XML  and OpenOffice employs its own text expression syntax (the OOo syntax is described at http://documentation.openoffice.org/manuals/oooauthors2/0216WG-MathObjects.pdf).&lt;br /&gt;
The ability to have DragMath create text expressions that can be used in native documents as well as parsed by filters such as ASCIIMathML will help make use of equations on-line more transparent for everyone.&lt;br /&gt;
====Extending DragMath to a Math Chat====&lt;br /&gt;
Having been introduced by Marc Grober to a math chat application (http://www.imathas.com/cur/mathchat/testchat.html [NB: the mathchat referenced here is the creation of David Lippman]) it would be useful to see similar features in Moodle&#039;s chat, specifically:&lt;br /&gt;
&lt;br /&gt;
1.  The ability to &#039;&#039;easily&#039;&#039; display mathematical symbols with DragMath incorporated into the chat window.&lt;br /&gt;
&lt;br /&gt;
2.  The ability to create and display mathematical graphs.&lt;br /&gt;
&lt;br /&gt;
===Moodle 2===&lt;br /&gt;
&amp;lt;s&amp;gt;As part of planning for Moodle 2 we have recommended that DragMath be placed in /lib/editor/common/dragmath alongside asciimathml (which is located in /lib/editor/common/asciimath). This should not result in any other major changes and those wanting to stay abreast may either want to look moving files before Moodle 2 or may want to keep an eye out for a zip of asciimath and dragmath packaged as a precursor to Moodle 2.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=81660</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=81660"/>
		<updated>2011-03-01T15:46:09Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Before Posting to the Forum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introduction===&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
Initially integrated with Moodle to be used with Moodle&#039;s Tex filter,  the export feature available with DragMath has now allowed an integration that supports the creation of LaTex text expressions with and without the doubledollar signs used to signal parsing by the filter as well as AsciiMathML text expressions.&lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here].&lt;br /&gt;
&lt;br /&gt;
===How the DragMath editor has been integrated with Moodle===&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
DragMath is integrated with Moodle through a new button on the editor toolbar.  This way, the DragMath editor is available everywhere that you or your students are called upon to enter text.  &#039;&#039;&#039;Please note:&#039;&#039;&#039; The DragMath editor does not come supplied with Moodle.  You (or your administrator) will have to install it. The following comments are targeted at the single file install,  which has retained the beloved smileys.&lt;br /&gt;
&lt;br /&gt;
====Getting Started====&lt;br /&gt;
Suppose that you&#039;re entering text in the HTML editor and you reach a point where you want to insert a mathematical expression. You want to be able to show the text expression you would use to create an equations as well as the equations itself. Pushing the DragMath button launches the DragMath editor in a small popup window (Note: the first time you do this, there will be a delay of a few seconds due to applet initialization).  &lt;br /&gt;
&lt;br /&gt;
====Create the math expression in DragMath====&lt;br /&gt;
Drag the various graphic constituents of your equation into the construction area until the equation is to your satisfaction.&lt;br /&gt;
&lt;br /&gt;
====Save the expression====&lt;br /&gt;
From the Menu Bar click File-&amp;gt;Save As or click on the floppy icon.  Provide a local location where you want to save the equation and the applet stores the equation there in a .dgrm file. &lt;br /&gt;
&lt;br /&gt;
====Select Export Format====&lt;br /&gt;
From the Menu Bar click Options-&amp;gt;Set Export Format.  If you want to insert the text expression for a tex formula,  select LaTex. If you wish to insert the text expression with the doubledollar tokens so that the expression will be converted by the moodle tex filter,  select MoodleTex (this will likely be the default choice in your applet).  If you have replaced your tex filter with the ASCIIMathML filter,  select ASCIIMathML.&lt;br /&gt;
&lt;br /&gt;
====Insert the expression====&lt;br /&gt;
Click the &amp;quot;Insert button&amp;quot; and you&#039;re done.  The editor will disappear and the output you selected will be inserted. If you chose MoodleTex, the LaTeX expression (with $$ delimiters added at both ends) will be inserted into your text at the current cursor position. Note the screen shot below. This demonstrates the results when you have selected MoodleTex to insert the equation in your work. &#039;&#039;&#039;Note ASCIIMathML users:&#039;&#039;&#039;  the ASCIIMathML.xml file currently has backtics set as tokens.  You can edit that file to use the auto nomenclature if you choose&lt;br /&gt;
&lt;br /&gt;
====Altering Applet Parameters====&lt;br /&gt;
The window presented by the dragmath plugin is controlled by an applet reference in a php file, which for htmlarea in Moodle 1.9.x is dlg_ins_dragmath.php,  one of the files included in the distribution, which can be found in moodleroot/lib/editor/htmlarea/popups .  Applet parameters, per the dragmath documentation, can be changed in this file.  By default, the language is set to English and the output format is set to MoodleTex (that is,  the output will include double dollars signs, and if you have turned off your tex filter and are using asciimath then you will probably want to set your default export format to ASCIIMathML.)&lt;br /&gt;
&lt;br /&gt;
In answer to the prayers of users, the STACK folk added the ability to drop the dot that DragMath had always inserted in 3x between the coefficient and the variable as in 3∙x .  You will find a menu item in DragMath&#039;s gui to turn this on and off right next to the menu items for formatting.  This setting can also be set via an applet parameter. &lt;br /&gt;
&lt;br /&gt;
You can add formats and languages via /lib/DragMath/Config.xml with the various XML export formats in the formats subdirectory of applets and the languages in the lang subdirectory. Of course you can, with care, edit the various xml files.&lt;br /&gt;
&lt;br /&gt;
Should you wish to make any changes,  please remember to back up a copy of your original file. &lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_instructions.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
===Installing DragMath===&lt;br /&gt;
The most current version of DragMath can now be installed properly by simply using unzip (see the section immediately below this one).  The Moodle CVS system and issues with managing adminlib.php have resulted in our going to this new and easier to use package. The new package offers a single zip that includes not only the integration files (at least for htmlarea for the present and with smileys) but the current DragMath files as well. The file can be unzipped in place, a welcome change from the hassles of installing with the Moodle CVS zip; just place the zip file in the moodle root and unzip. &lt;br /&gt;
&lt;br /&gt;
This method is different than the two previously used. Beware of relying on installation advice or files posted in forums prior to July 2009 as they may  be addressing files and methods no longer in use. You may also find a variety of development code in the forums regarding use of dragmath with a number of editors.  Some of this may work and some may not, but none of it will be current.  Use at your own risk!&lt;br /&gt;
&lt;br /&gt;
DragMath may eventually become core technology in Moodle,  meaning that as of a certain version no installation may be required, but installation instructions will continue to remain so as to support older versions as long as feasible.&lt;br /&gt;
&lt;br /&gt;
====Installing DragMath from the non-CVS Zip - Recommended!====&lt;br /&gt;
We have come full circle and as a result of the issues with maintaining a current adminlib.php for every version as well as with the potential move of dragmath that may take place with Moodle 2, DragMath is now available as a zip file that can be easily installed from your root moodle directory (unlike the CVS zip described below,  one reason we recommend you no longer use the CVS zip.) &lt;br /&gt;
&lt;br /&gt;
In order to make things as easy as possible, the specifics of downloading the current version can be found [http://www.dragmath.bham.ac.uk/moodle.html here.] Simply download the integration zip file, place the zip file in your root moodle directory (/moodle for many) and unzip.  The DragMath files will be installed in their correct locations.  Additionally,  you will get a file called adminlib_exampleonly.php which you can diff with your adminlib.php to demonstrate the addition of the lines to allow you to turn the dragmath icon on and off (see [[DragMath equation editor#Managing Your Editor Icons Through adminlib.php]]).&lt;br /&gt;
&lt;br /&gt;
Once you have unzipped DragMath &#039;&#039;&#039;DO NOT&#039;&#039;&#039; delete the zip file. Each time you update Moodle the update will write over several of the files necessary for integration.  The easy solution is to simply keep the zip file in your Moodle root and unzip after each update.&lt;br /&gt;
&lt;br /&gt;
If you are using prior versions of DragMath it is suggested that you do a new install as there have been some changes internal to the DragMath directory as well as to the integration files. Once you have done a new install with the zip above, future versions of DragMath in Moodle 1.9.x will likely only require that you replace the DragMath directory that has now been located at /lib/DragMath with a newer directory from sourceforge (or you can wait until you see an updated on Moodle).&lt;br /&gt;
&lt;br /&gt;
Early adopters of the as yet unreleased Moodle 2 should note that dragmath is presently included in HEAD (do not do any installation) and you should review the section on Moodle 2 below for further information.&lt;br /&gt;
&lt;br /&gt;
====Installing DragMath From the Moodle CVS - NOT RECOMMENDED====&lt;br /&gt;
Please note that the Moodle CVS for dragmath is no longer being supported. The files however are still present and if you insist you can access them. It is recommended that you DO NOT DO THIS.&lt;br /&gt;
&lt;br /&gt;
If you are running version 1.9.+  [http://download.moodle.org/patches19/dragmath.zip click here] or if you are running Moodle version 1.8.4 or greater but not 1.9.x [http://download.moodle.org/patches18/dragmath.zip click here]&lt;br /&gt;
and you will start the download of the cvs zip file (at present there are no differences between the two versions.)&lt;br /&gt;
&lt;br /&gt;
At this point you can unzip on your workstation and then you can upload the included files to their appropriate locations (&#039;&#039;&#039;but read the warning below first&#039;&#039;&#039;). This version retains the smileys and includes all integration files and all DragMath files (demos, docs, and  all export formats)  The Moodle automagically creates the zip with a parent directory of &amp;quot;dragmath&amp;quot;.  Should you wish you can unzip the files and then rezip with the top level directory being /lib,  and this will allow you to simply upload the zip you just created to your moodle root and unzip there,  and the files will be placed in their appropriate locations. However, please DO NOT include the adminlib.php file and make sure all files are backed up,  and in as much as there are only a few files you may want to manually install even if a zip with  /lib as top directory were provided here just to ensure each file is backed up before installation. Upload the zip file to your Moodle root and unzip.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning:&#039;&#039;&#039; At present the CVS zip file includes a version of adminlib.php. This file is included because there is a line added to it that allows you to hide the dragmath icon.  In any event, the included adminlib.php should  &#039;&#039;&#039;NOT&#039;&#039;&#039; be used to over write your adminlib.php! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT&#039;&#039;&#039; over write your adminlib.php. Install the rest of the files (other than adminlib.php) and DragMath will work without a problem. &lt;br /&gt;
====Managing Your Editor Icons Through adminlib.php====&lt;br /&gt;
To be able to add your dragmath icon, save your existing copy of adminlib.php (you will find it in the /lib directory) and insert this line:&lt;br /&gt;
                     &#039;insertdragmath&#039; =&amp;gt; &#039;em.icon.dragmath.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
below this line:&lt;br /&gt;
                     &#039;insertsmile&#039; =&amp;gt; &#039;em.icon.smile.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
and save. The line can really be placed anywhere in that array,  but by providing a specific location it will help when addressing requests for assistance in hiding buttons. And,  having taken the time to explore this beautiful little array,  you can now alter your button images to your hearts content!&lt;br /&gt;
&lt;br /&gt;
The array is employed by the admin GUI (Site Administration-&amp;gt; Appearance-&amp;gt;HTML editor) to provide you the Administrator with the ability to hide buttons in the HTML editor via editorhidebuttons.  Once you have installed Dragmath and added the button,  you can use the GUI to hide the insertdragmath button.&lt;br /&gt;
&lt;br /&gt;
You may ask, what about altering the adminlib.php file in the CVS or providing a patch? [http://tracker.moodle.org/browse/MDL-16280 This was raised and you can vote on it.] Let&#039;s get real here folks,  we are talking about one line which could be added to adminlib.php at 1.8.4 or later without any other impact.  Is it really necessary to provide a separate adminlib.php for dragmath everytime someone changes adminlib.php in the core? If you have an opinion on this please edit the page comments on this and provide your input as to whether adminlib.php should just be dropped from the dragmath distribution.&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
====Before Posting to the Forum====&lt;br /&gt;
DragMath is a java applet which in Moodle 1.9 is being invoked through the editor htmlarea. This means that there are a number of places to check to determine what the trouble might be.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You don&#039;t see any editor icons:&#039;&#039; Safari and Chrome, for example, do not handle htmlarea, and without access to htmlarea, you are stuck. Use a different browser or if you are an advanced user,  consider moving to tinyMCE.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Htmlarea comes up, but you don&#039;t see the DragMath button:&#039;&#039; Flush your cache and try again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You flushed your cache and still don&#039;t see the DragMath button:&#039;&#039; Retrace your installation steps-make sure that you placed the zip file in your moodle root and that you did an unzip that overwrote htmlarea.php and dialog.js.  If the problem persists post to the forum with specifics regarding how you followed the steps above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You clicked on the DragMath button but DragMath did not come up:&#039;&#039; In Moodle 1.9 with DragMath 0.7.8.2, open the URL http://yourFQDN/moodlerootifappropriate/lib/DragMath/DragMath%20Demonstration.html .  A demo page with DragMath should come up and be functional.  If the demo works, please post the details of the process you have followed to date along with your java log (please include all details of the versions of the OS, browser, java, etc you are using.) If the demo does not work,  then the issue likely is with your browser&#039;s use of java (see, e.g. http://support.mozilla.com/en-US/kb/Using+the+Java+plugin+with+Firefox.) Please update to the most recent version of java available to you and make sure that you have installed all plugins your browser needs to open a java applet. Then flush your cache browser cache and your java cache,  make sure you have pointed your browser to your ost current version of java and retry.  If it still does not work post the details as above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Everything seemed to work but all that happened was that you text expression was inserted (with or without tokens such as double dollar signs):&#039;&#039; DragMath is a GUI constructor that allows you to create text expressions from a GUI representation of your equation. IT DOES NOT display your equation.  To do that you need a display applicaton installed. While Moodle comes with an antiquated but functional Tex filter, that filter DOE NOT include Tex itself (though it does include a fallback to mimetex, another application discussed in [[Mathematics]]. There are also other display applications discussed there, such as ASCIIMathML and MathJax. As noted below, DragMath can render an equation in a variety of formats each with its own tokens, or can insert the text expression with no tokens at all.&lt;br /&gt;
&lt;br /&gt;
====After Update Dragmath Disappears====&lt;br /&gt;
Unfortunately there are files that DragMath shares with core Moodle files that Moodle developers won&#039;t change, which means each time you update Moodle you must reinstall the integration files.  You can do this by identifying each of the files and making a backup of them with a filename that the update won;t overwrite,  or you can simply keep the DragMath install zip in the root of your Moodle and do an unzip after each update.  Quick and easy. &lt;br /&gt;
====unzip====&lt;br /&gt;
Some packages like winRAR provide a separate setting that prefixes the archives name on directories.  In order for the files to be properly placed when the archive is unzipped you must make sure this is not the case. In winRAR for Windows for example you can go to Options-&amp;gt;Settings and on the Compression tab you will see something to the effect of &amp;quot;Append archive name to path&amp;quot;; make sure this is not set!&lt;br /&gt;
&lt;br /&gt;
Also,  please note that the non-cvs zip is created so that the files in various directories are placed correctly.  If, however, you set unzip or instruct unzip not to overwrite but to rename,  then you will unpack the archived files into new directories (for example /lib(2) instead of /lib) and your install will not work.&lt;br /&gt;
&lt;br /&gt;
====java jre====&lt;br /&gt;
Dragmath is java based, and unless you have a current java runtime environment you will likely run into trouble.  Make sure you keep your JRE current and that the current JRE is selected. You can check here for latest versions: http://www.java.com/en/download/manual.jsp.  Note that Apple packages java itself,  so OS X users can be caught in the Apple development cycle.  The best option is to make sure you use Software Update frequently.  DragMath has been shown to work fine with OS X 10.5 using FF 3.6.3 and the latest Java update. As of June 2010 Apple has released Java for Mac OS X 10.6 Update 2 and Java for Mac OS X 10.5 Update 7. These releases correspond to the latest Java released by Sun (Oracle),  Java 6 update 20. Check here for the most recent downloads from Apple: http://support.apple.com/downloads/&lt;br /&gt;
&lt;br /&gt;
===Development===&lt;br /&gt;
====Language Files====&lt;br /&gt;
The 0.7.8.1 package now includes language files (with Finnish, courtesy of Mauno Korpelainen) and the integration files should provide for automatic selection of the language based on the Moodle language setting.&lt;br /&gt;
====Square brackets====&lt;br /&gt;
Use of text expressions in the Moodle Wiki can create problems when the text expression includes square brackets,  which is how TeX expresses the nth root. Pending a simple wiki based solution users may want to use the ASCIIMathML filter and the ASCIIMathML export format as this combination avoids the use of square brackets.  &lt;br /&gt;
====Consistent integration with all html editors====&lt;br /&gt;
The Moodle discussion regarding html editors suggests that it will be important for DragMath to have consistent integration with a variety of html editors as htmlarea passes into obsolescence. Plugins for tinyMCE, Xinha and FCKEditor with a similar structure and common codebase are ready and compatible with all browsers that support javascript and Java.&lt;br /&gt;
====Additional formats====&lt;br /&gt;
There are quite a few options now available for creating text expressions to for displaying equations and Moodle functionality can only be increased if tools were able to create and parse expressions created by the tools a user is most comfortable with.  ASCIIMathML is one tool now available as a filter for Moodle that allows the parsing of both TeX and its own ASCIIMathML text expression syntax. Microsoft has now launched its OMML initiative in Office 2007 (see footnotes on  http://en.wikipedia.org/wiki/Office_Open_XML  and OpenOffice employs its own text expression syntax (the OOo syntax is described at http://documentation.openoffice.org/manuals/oooauthors2/0216WG-MathObjects.pdf).&lt;br /&gt;
The ability to have DragMath create text expressions that can be used in native documents as well as parsed by filters such as ASCIIMathML will help make use of equations on-line more transparent for everyone.&lt;br /&gt;
====Extending DragMath to a Math Chat====&lt;br /&gt;
Having been introduced by Marc Grober to a math chat application (http://www.imathas.com/cur/mathchat/testchat.html [NB: the mathchat referenced here is the creation of David Lippman]) it would be useful to see similar features in Moodle&#039;s chat, specifically:&lt;br /&gt;
&lt;br /&gt;
1.  The ability to &#039;&#039;easily&#039;&#039; display mathematical symbols with DragMath incorporated into the chat window.&lt;br /&gt;
&lt;br /&gt;
2.  The ability to create and display mathematical graphs.&lt;br /&gt;
&lt;br /&gt;
===Moodle 2===&lt;br /&gt;
&amp;lt;s&amp;gt;As part of planning for Moodle 2 we have recommended that DragMath be placed in /lib/editor/common/dragmath alongside asciimathml (which is located in /lib/editor/common/asciimath). This should not result in any other major changes and those wanting to stay abreast may either want to look moving files before Moodle 2 or may want to keep an eye out for a zip of asciimath and dragmath packaged as a precursor to Moodle 2.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Algebra_filter&amp;diff=80177</id>
		<title>Algebra filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Algebra_filter&amp;diff=80177"/>
		<updated>2011-01-11T17:13:16Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Generally==&lt;br /&gt;
Moodle has an  &amp;quot;algebra filter&amp;quot; which can display mathematical expressions as if they were typeset. The filter is included in the standard Moodle packages but the administrator must activate it before you can use it.&lt;br /&gt;
&lt;br /&gt;
NOTE that use of the algebra filter REQUIRES that the Moodle Tex filter also be working as the algebra filter simply parses math expressions in one syntax and then converts the expressions to LaTex expressions for the Tex filter to render and display. The filter uses a perl script borrowed from &lt;br /&gt;
&lt;br /&gt;
The filter (see http://cvs.moodle.org/moodle/filter/algebra/ ) uses algebra2tex.pl, a perl script (and its associated perl module, AlgParser.pm) to parse text expressions delimited by double@ signs as tokens (though the tokens employed can be tweaked manually.)&lt;br /&gt;
&lt;br /&gt;
While many have argued that the algebra filter is easy to use, there is apparently no Moodle reference on its &amp;quot;grammar&amp;quot; or &amp;quot;syntax&amp;quot;. Research in to Webworks produced these two links for using webworks text expressions (the first one is arguably replaced by the second):&lt;br /&gt;
&lt;br /&gt;
* http://webwork.math.rochester.edu/docs/docs/pglanguage/availableFunctions.html&lt;br /&gt;
* http://webwork.maa.org/wiki/Mathematical_notation_recognized_by_WeBWorK&lt;br /&gt;
&lt;br /&gt;
See http://moodle.org/mod/forum/discuss.php?d=126522&amp;amp;parent=554632.&lt;br /&gt;
&lt;br /&gt;
There is a discussion of Algebra filter syntax at http://moodle.org/mod/forum/discuss.php?d=5402 offered by [http://moodle.org/user/view.php?id=2466&amp;amp;course=5 Zbigniew Fiedorowicz].&lt;br /&gt;
&lt;br /&gt;
It appears that as of Moodle.org moving to Moodle 2 (late 2010) the Algebra filter in the forums is no longer working. It also appears that the Algebra filter does not work in Moodle Docs (which is not Moodle code, but MediaWiki, which I don&#039;t believe has a ready filter based on algebra2tex.pl.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
The file algebradebug.php is provided in the filter folder for the purpose of debugging. Problems may arise comes from the first tags in algebradebug.php - in moodle 1.9 (and previous versions)&lt;br /&gt;
&lt;br /&gt;
 $nomoodlecookie = true;     // Because it interferes with caching&lt;br /&gt;
&lt;br /&gt;
and in moodle 2&lt;br /&gt;
&lt;br /&gt;
 define(&#039;NO_MOODLE_COOKIES&#039;, true); // Because it interferes with caching&lt;br /&gt;
&lt;br /&gt;
You can delete these lines or set them false.&lt;br /&gt;
&lt;br /&gt;
[[Category:Filter]]&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Filtre Algebra]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Algebra_filter&amp;diff=80176</id>
		<title>Algebra filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Algebra_filter&amp;diff=80176"/>
		<updated>2011-01-11T17:10:14Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moodle has an  &amp;quot;algebra filter&amp;quot; which can display mathematical expressions as if they were typeset. The filter is included in the standard Moodle packages but the administrator must activate it before you can use it.&lt;br /&gt;
&lt;br /&gt;
NOTE that use of the algebra filter REQUIRES that the Moodle Tex filter also be working as the algebra filter simply parses math expressions in one syntax and then converts the expressions to LaTex expressions for the Tex filter to render and display. The filter uses a perl script borrowed from &lt;br /&gt;
&lt;br /&gt;
The filter (see http://cvs.moodle.org/moodle/filter/algebra/ ) uses algebra2tex.pl, a perl script (and its associated perl module, AlgParser.pm) to parse text expressions delimited by double@ signs as tokens (though the tokens employed can be tweaked manually.)&lt;br /&gt;
&lt;br /&gt;
While many have argued that the algebra filter is easy to use, there is apparently no Moodle reference on its &amp;quot;grammar&amp;quot; or &amp;quot;syntax&amp;quot;. Research in to Webworks produced these two links for using webworks text expressions (the first one is arguably replaced by the second):&lt;br /&gt;
&lt;br /&gt;
* http://webwork.math.rochester.edu/docs/docs/pglanguage/availableFunctions.html&lt;br /&gt;
* http://webwork.maa.org/wiki/Mathematical_notation_recognized_by_WeBWorK&lt;br /&gt;
&lt;br /&gt;
See http://moodle.org/mod/forum/discuss.php?d=126522&amp;amp;parent=554632.&lt;br /&gt;
&lt;br /&gt;
There is a discussion of Algebra filter syntax at http://moodle.org/mod/forum/discuss.php?d=5402 offered by [http://moodle.org/user/view.php?id=2466&amp;amp;course=5 Zbigniew Fiedorowicz].&lt;br /&gt;
&lt;br /&gt;
It appears that as of Moodle.org moving to Moodle 2 (late 2010) the Algebra filter in the forums is no longer working. It also appears that the Algebra filter does not work in Moodle Docs (which is not Moodle code, but MediaWiki, which I don&#039;t believe has a ready filter based on algebra2tex.pl.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Filter]]&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Filtre Algebra]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Algebra_filter&amp;diff=80175</id>
		<title>Algebra filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Algebra_filter&amp;diff=80175"/>
		<updated>2011-01-11T17:01:58Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moodle has an  &amp;quot;algebra filter&amp;quot; which can display mathematical expressions as if they were typeset. The filter is included in the standard Moodle packages but the administrator must activate it before you can use it.&lt;br /&gt;
&lt;br /&gt;
NOTE that use of the algebra filter REQUIRES that the Moodle Tex filter also be working as the algebra filter simply parses math expressions in one syntax and then converts the expressions to LaTex expressions for the Tex filter to render and display. The filter uses a perl script borrowed from &lt;br /&gt;
&lt;br /&gt;
The filter (see http://cvs.moodle.org/moodle/filter/algebra/ ) uses algebra2tex.pl, a perl script (and its associated perl module, AlgParser.pm) to parse text expressions delimited by double@ signs as tokens (though the tokens employed can be tweaked manually.)&lt;br /&gt;
&lt;br /&gt;
While many have argued that the algebra filter is easy to use, there is apparently no Moodle reference on its &amp;quot;grammar&amp;quot; or &amp;quot;syntax&amp;quot;. Research in to Webworks produced these two links for using webworks text expressions (the first one is arguably replaced by the second):&lt;br /&gt;
&lt;br /&gt;
* http://webwork.math.rochester.edu/docs/docs/pglanguage/availableFunctions.html&lt;br /&gt;
* http://webwork.maa.org/wiki/Mathematical_notation_recognized_by_WeBWorK&lt;br /&gt;
&lt;br /&gt;
See http://moodle.org/mod/forum/discuss.php?d=126522&amp;amp;parent=554632.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Filter]]&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Filtre Algebra]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Algebra_filter&amp;diff=80173</id>
		<title>Algebra filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Algebra_filter&amp;diff=80173"/>
		<updated>2011-01-11T16:53:26Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moodle has an  &amp;quot;algebra filter&amp;quot; which can display mathematical expressions as if they were typeset. The filter is included in the standard Moodle packages but the administrator must activate it before you can use it and it requires that the Moodle Tex filter also be working as the algebra filter simply parses math expressions in one syntax and then converts the expressions to LaTex expressions for the Tex filter to render and display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More to the point, while it has been argued that the algebra filter is easy to use, there is apparently no Moodle reference on its &amp;quot;grammar&amp;quot; or &amp;quot;syntax&amp;quot;. Research in to Webworks produced these two links for using webworks text expressions (the first one is arguably replaced by the second):&lt;br /&gt;
&lt;br /&gt;
    * http://webwork.math.rochester.edu/docs/docs/pglanguage/availableFunctions.html&lt;br /&gt;
    * http://webwork.maa.org/wiki/Mathematical_notation_recognized_by_WeBWorK&lt;br /&gt;
&lt;br /&gt;
See http://moodle.org/mod/forum/discuss.php?d=126522&amp;amp;parent=554632 for links to an explanation of this notation from the Webworks site.&lt;br /&gt;
&lt;br /&gt;
[[Category:Filter]]&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Filtre Algebra]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Algebra_filter&amp;diff=80169</id>
		<title>Algebra filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Algebra_filter&amp;diff=80169"/>
		<updated>2011-01-11T16:47:16Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moodle has an  &amp;quot;algebra filter&amp;quot; which can display mathematical expressions as if they were typeset. The filter is included in the standard Moodle packages but the administrator must activate it before you can use it and it requires that the Moodle Tex filter also be working as the algebra filter simply parses math expressions in one syntax and then converts the expressions to LaTex expressions for the Tex filter to render and display.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More to the point, while it has been argued that the algebra filter is easy to use, there is apparently no Moodle reference on its &amp;quot;grammar&amp;quot; or &amp;quot;syntax&amp;quot;.  See http://moodle.org/mod/forum/discuss.php?d=126522&amp;amp;parent=554632 for links to an explanation of this notation from the Webworks site.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the advent of the TeX notation seems to have swamped the Algebra Notation. Very little discussion or resources have been devoted to this filter, and a lot more has been directed at TeX Notation. &lt;br /&gt;
&lt;br /&gt;
[[Category:Filter]]&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Filtre Algebra]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=78598</id>
		<title>DragMath equation editor</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=DragMath_equation_editor&amp;diff=78598"/>
		<updated>2010-12-02T17:58:23Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Before Posting to the Forum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introduction===&lt;br /&gt;
To quote the W3C [http://www.w3.org/Math/Software/mathml_software_cat_editors.html]:&lt;br /&gt;
 This is an open-source drag and drop equation editor written in Java.&lt;br /&gt;
 Once an expression is created the user can convert it into a variety &lt;br /&gt;
 of different linear syntax for mathematics, including MathML, LaTeX,&lt;br /&gt;
 Maple, Maxima or any user defined style.&lt;br /&gt;
Created by Christoper Sangwin and Alexander Billingsley at the University of Birmingham as part of the [http://www.stack.bham.ac.uk STACK project],  DragMath allows students to build mathematical expressions using a graphical drag-and-drop interface similar in appearance to that available in a number of office productivity suites. &lt;br /&gt;
&lt;br /&gt;
Initially integrated with Moodle to be used with Moodle&#039;s Tex filter,  the export feature available with DragMath has now allowed an integration that supports the creation of LaTex text expressions with and without the doubledollar signs used to signal parsing by the filter as well as AsciiMathML text expressions.&lt;br /&gt;
&lt;br /&gt;
To use DragMath, users must have the Java Runtime Environment (JRE) version 1.5 or higher installed on their desktop computers.  Most systems come with the JRE as standard equipment, so you may not have to do anything. If you need to install the JRE manually, you can download it from [http://java.com/en/download/index.jsp here].  Note that the JRE is variously known as Java software for your computer, Java Runtime Environment, the Java Runtime, Runtime Environment, Runtime, Java Virtual Machine, Virtual Machine, Java VM, JVM, VM, or Java download.  &lt;br /&gt;
 &lt;br /&gt;
You can see a demo of the DragMath editor [http://www.dragmath.bham.ac.uk/ here].  The DragMath interface is highly intuitive and anyone can be using it productively after a few minutes of trial-and-error.  If you have questions about the editor, there is a short manual [http://www.dragmath.bham.ac.uk/doc/index.html here].&lt;br /&gt;
&lt;br /&gt;
===How the DragMath editor has been integrated with Moodle===&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
DragMath is integrated with Moodle through a new button on the editor toolbar.  This way, the DragMath editor is available everywhere that you or your students are called upon to enter text.  &#039;&#039;&#039;Please note:&#039;&#039;&#039; The DragMath editor does not come supplied with Moodle.  You (or your administrator) will have to install it. The following comments are targeted at the single file install,  which has retained the beloved smileys.&lt;br /&gt;
&lt;br /&gt;
====Getting Started====&lt;br /&gt;
Suppose that you&#039;re entering text in the HTML editor and you reach a point where you want to insert a mathematical expression. You want to be able to show the text expression you would use to create an equations as well as the equations itself. Pushing the DragMath button launches the DragMath editor in a small popup window (Note: the first time you do this, there will be a delay of a few seconds due to applet initialization).  &lt;br /&gt;
&lt;br /&gt;
====Create the math expression in DragMath====&lt;br /&gt;
Drag the various graphic constituents of your equation into the construction area until the equation is to your satisfaction.&lt;br /&gt;
&lt;br /&gt;
====Save the expression====&lt;br /&gt;
From the Menu Bar click File-&amp;gt;Save As or click on the floppy icon.  Provide a local location where you want to save the equation and the applet stores the equation there in a .dgrm file. &lt;br /&gt;
&lt;br /&gt;
====Select Export Format====&lt;br /&gt;
From the Menu Bar click Options-&amp;gt;Set Export Format.  If you want to insert the text expression for a tex formula,  select LaTex. If you wish to insert the text expression with the doubledollar tokens so that the expression will be converted by the moodle tex filter,  select MoodleTex (this will likely be the default choice in your applet).  If you have replaced your tex filter with the ASCIIMathML filter,  select ASCIIMathML.&lt;br /&gt;
&lt;br /&gt;
====Insert the expression====&lt;br /&gt;
Click the &amp;quot;Insert button&amp;quot; and you&#039;re done.  The editor will disappear and the output you selected will be inserted. If you chose MoodleTex, the LaTeX expression (with $$ delimiters added at both ends) will be inserted into your text at the current cursor position. Note the screen shot below. This demonstrates the results when you have selected MoodleTex to insert the equation in your work. &#039;&#039;&#039;Note ASCIIMathML users:&#039;&#039;&#039;  the ASCIIMathML.xml file currently has backtics set as tokens.  You can edit that file to use the auto nomenclature if you choose&lt;br /&gt;
&lt;br /&gt;
====Altering Applet Parameters====&lt;br /&gt;
The window presented by the dragmath plugin is controlled by an applet reference in a php file, which for htmlarea in Moodle 1.9.x is dlg_ins_dragmath.php,  one of the files included in the distribution, which can be found in moodleroot/lib/editor/htmlarea/popups .  Applet parameters, per the dragmath documentation, can be changed in this file.  By default, the language is set to English and the output format is set to MoodleTex (that is,  the output will include double dollars signs, and if you have turned off your tex filter and are using asciimath then you will probably want to set your default export format to ASCIIMathML.)&lt;br /&gt;
&lt;br /&gt;
In answer to the prayers of users, the STACK folk added the ability to drop the dot that DragMath had always inserted in 3x between the coefficient and the variable as in 3∙x .  You will find a menu item in DragMath&#039;s gui to turn this on and off right next to the menu items for formatting.  This setting can also be set via an applet parameter. &lt;br /&gt;
&lt;br /&gt;
You can add formats and languages via /lib/DragMath/Config.xml with the various XML export formats in the formats subdirectory of applets and the languages in the lang subdirectory. Of course you can, with care, edit the various xml files.&lt;br /&gt;
&lt;br /&gt;
Should you wish to make any changes,  please remember to back up a copy of your original file. &lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_instructions.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
===Installing DragMath===&lt;br /&gt;
The most current version of DragMath can now be installed properly by simply using unzip (see the section immediately below this one).  The Moodle CVS system and issues with managing adminlib.php have resulted in our going to this new and easier to use package. The new package offers a single zip that includes not only the integration files (at least for htmlarea for the present and with smileys) but the current DragMath files as well. The file can be unzipped in place, a welcome change from the hassles of installing with the Moodle CVS zip; just place the zip file in the moodle root and unzip. &lt;br /&gt;
&lt;br /&gt;
This method is different than the two previously used. Beware of relying on installation advice or files posted in forums prior to July 2009 as they may  be addressing files and methods no longer in use. You may also find a variety of development code in the forums regarding use of dragmath with a number of editors.  Some of this may work and some may not, but none of it will be current.  Use at your own risk!&lt;br /&gt;
&lt;br /&gt;
DragMath may eventually become core technology in Moodle,  meaning that as of a certain version no installation may be required, but installation instructions will continue to remain so as to support older versions as long as feasible.&lt;br /&gt;
&lt;br /&gt;
====Installing DragMath from the non-CVS Zip - Recommended!====&lt;br /&gt;
We have come full circle and as a result of the issues with maintaining a current adminlib.php for every version as well as with the potential move of dragmath that may take place with Moodle 2, DragMath is now available as a zip file that can be easily installed from your root moodle directory (unlike the CVS zip described below,  one reason we recommend you no longer use the CVS zip.) &lt;br /&gt;
&lt;br /&gt;
In order to make things as easy as possible, the specifics of downloading the current version can be found [http://www.dragmath.bham.ac.uk/moodle.html here.] Simply download the integration zip file, place the zip file in your root moodle directory (/moodle for many) and unzip.  The DragMath files will be installed in their correct locations.  Additionally,  you will get a file called adminlib_exampleonly.php which you can diff with your adminlib.php to demonstrate the addition of the lines to allow you to turn the dragmath icon on and off (see [[DragMath equation editor#Managing Your Editor Icons Through adminlib.php]]).&lt;br /&gt;
&lt;br /&gt;
Once you have unzipped DragMath &#039;&#039;&#039;DO NOT&#039;&#039;&#039; delete the zip file. Each time you update Moodle the update will write over several of the files necessary for integration.  The easy solution is to simply keep the zip file in your Moodle root and unzip after each update.&lt;br /&gt;
&lt;br /&gt;
If you are using prior versions of DragMath it is suggested that you do a new install as there have been some changes internal to the DragMath directory as well as to the integration files. Once you have done a new install with the zip above, future versions of DragMath in Moodle 1.9.x will likely only require that you replace the DragMath directory that has now been located at /lib/DragMath with a newer directory from sourceforge (or you can wait until you see an updated on Moodle).&lt;br /&gt;
&lt;br /&gt;
Early adopters of the as yet unreleased Moodle 2 should note that dragmath is presently included in HEAD (do not do any installation) and you should review the section on Moodle 2 below for further information.&lt;br /&gt;
&lt;br /&gt;
====Installing DragMath From the Moodle CVS - NOT RECOMMENDED====&lt;br /&gt;
Please note that the Moodle CVS for dragmath is no longer being supported. The files however are still present and if you insist you can access them. It is recommended that you DO NOT DO THIS.&lt;br /&gt;
&lt;br /&gt;
If you are running version 1.9.+  [http://download.moodle.org/patches19/dragmath.zip click here] or if you are running Moodle version 1.8.4 or greater but not 1.9.x [http://download.moodle.org/patches18/dragmath.zip click here]&lt;br /&gt;
and you will start the download of the cvs zip file (at present there are no differences between the two versions.)&lt;br /&gt;
&lt;br /&gt;
At this point you can unzip on your workstation and then you can upload the included files to their appropriate locations (&#039;&#039;&#039;but read the warning below first&#039;&#039;&#039;). This version retains the smileys and includes all integration files and all DragMath files (demos, docs, and  all export formats)  The Moodle automagically creates the zip with a parent directory of &amp;quot;dragmath&amp;quot;.  Should you wish you can unzip the files and then rezip with the top level directory being /lib,  and this will allow you to simply upload the zip you just created to your moodle root and unzip there,  and the files will be placed in their appropriate locations. However, please DO NOT include the adminlib.php file and make sure all files are backed up,  and in as much as there are only a few files you may want to manually install even if a zip with  /lib as top directory were provided here just to ensure each file is backed up before installation. Upload the zip file to your Moodle root and unzip.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning:&#039;&#039;&#039; At present the CVS zip file includes a version of adminlib.php. This file is included because there is a line added to it that allows you to hide the dragmath icon.  In any event, the included adminlib.php should  &#039;&#039;&#039;NOT&#039;&#039;&#039; be used to over write your adminlib.php! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DO NOT&#039;&#039;&#039; over write your adminlib.php. Install the rest of the files (other than adminlib.php) and DragMath will work without a problem. &lt;br /&gt;
====Managing Your Editor Icons Through adminlib.php====&lt;br /&gt;
To be able to add your dragmath icon, save your existing copy of adminlib.php (you will find it in the /lib directory) and insert this line:&lt;br /&gt;
                     &#039;insertdragmath&#039; =&amp;gt; &#039;em.icon.dragmath.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
below this line:&lt;br /&gt;
                     &#039;insertsmile&#039; =&amp;gt; &#039;em.icon.smile.gif&#039;,&lt;br /&gt;
&lt;br /&gt;
and save. The line can really be placed anywhere in that array,  but by providing a specific location it will help when addressing requests for assistance in hiding buttons. And,  having taken the time to explore this beautiful little array,  you can now alter your button images to your hearts content!&lt;br /&gt;
&lt;br /&gt;
The array is employed by the admin GUI (Site Administration-&amp;gt; Appearance-&amp;gt;HTML editor) to provide you the Administrator with the ability to hide buttons in the HTML editor via editorhidebuttons.  Once you have installed Dragmath and added the button,  you can use the GUI to hide the insertdragmath button.&lt;br /&gt;
&lt;br /&gt;
You may ask, what about altering the adminlib.php file in the CVS or providing a patch? [http://tracker.moodle.org/browse/MDL-16280 This was raised and you can vote on it.] Let&#039;s get real here folks,  we are talking about one line which could be added to adminlib.php at 1.8.4 or later without any other impact.  Is it really necessary to provide a separate adminlib.php for dragmath everytime someone changes adminlib.php in the core? If you have an opinion on this please edit the page comments on this and provide your input as to whether adminlib.php should just be dropped from the dragmath distribution.&lt;br /&gt;
&lt;br /&gt;
===Locally saving and restoring a DragMath expression===&lt;br /&gt;
When you press the Insert button, DragMath inserts the export string into your text and the DragMath window closes. &#039;&#039;The exported string can no longer be manipulated using DragMath.&#039;&#039;  If you decide to change the string, you have two options:&lt;br /&gt;
*delete the string (including the dollar signs or other token) and completely recreate it using DragMath&lt;br /&gt;
*edit the expression by hand&lt;br /&gt;
You can not tell DragMath to re-read the expression and show it again in two dimensions.  This is a theoretical limitation, not a limitation of DragMath.&lt;br /&gt;
&lt;br /&gt;
But suppose the expression is very complicated.  It would be impractical to start over just to make a simple change.  Before you Insert the expression, you can save a copy of the expression (a .drgm file) to your local disk using the Save button (see screenshot).  Later, if you need to make a change, you open the saved .drgm file.&lt;br /&gt;
&lt;br /&gt;
[[Image:Dragmath_save_and_restore.png|DragMath instructions]]&lt;br /&gt;
&lt;br /&gt;
A .drgm file contains three-dimensional representation of your mathematical expression.  It is a binary file that can only be opened by DragMath.&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
====Before Posting to the Forum====&lt;br /&gt;
DragMath is a java applet which in Moodle 1.9 is being invoked through the editor htmlarea. This means that there are a number of places to check to determine what the trouble might be.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You don&#039;t see any editor icons:&#039;&#039; Safari and Chrome, for example, do not handle htmlarea, and without access to htmlarea, you are stuck. Use a different browser or if you are an advanced user,  consider moving to tinyMCE.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Htmlarea comes up, but you don&#039;t see the DragMath button:&#039;&#039; Flush your cache and try again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You flushed your cache and still don&#039;t see the DragMath button:&#039;&#039; Retrace your installation steps-make sure that you placed the zip file in your moodle root and that you did an unzip that overwrote htmlarea.php and dialog.js.  If the problem persists post to the forum with specifics regarding how you followed the steps above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;You clicked on the DragMath button but DragMath did not come up:&#039;&#039; In Moodle 1.9 with DragMath 0.7.8.2, open the URL http://yourFQDN/moodlerootifappropriate/lib/DragMath/DragMath%20Demonstration.html .  A demo page with DragMath should come up and be functional.  If the demo works, please post the details of the process you have followed to date along with your java log (please include all details of the versions of the OS, browser, java, etc you are using.) If the demo does not work,  then the issue likely is with your browser&#039;s use of java (see, e.g. http://support.mozilla.com/en-US/kb/Using+the+Java+plugin+with+Firefox.) Please update to the most recent version of java available to you and make sure that you have installed all plugins your browser needs to open a java applet. Then flush your cache browser cache and your java cache,  make sure you have pointed your browser to your ost current version of java and retry.  If it still does not work post the details as above.&lt;br /&gt;
&lt;br /&gt;
====After Update Dragmath Disappears====&lt;br /&gt;
Unfortunately there are files that DragMath shares with core Moodle files that Moodle developers won&#039;t change, which means each time you update Moodle you must reinstall the integration files.  You can do this by identifying each of the files and making a backup of them with a filename that the update won;t overwrite,  or you can simply keep the DragMath install zip in the root of your Moodle and do an unzip after each update.  Quick and easy. &lt;br /&gt;
====unzip====&lt;br /&gt;
Some packages like winRAR provide a separate setting that prefixes the archives name on directories.  In order for the files to be properly placed when the archive is unzipped you must make sure this is not the case. In winRAR for Windows for example you can go to Options-&amp;gt;Settings and on the Compression tab you will see something to the effect of &amp;quot;Append archive name to path&amp;quot;; make sure this is not set!&lt;br /&gt;
&lt;br /&gt;
Also,  please note that the non-cvs zip is created so that the files in various directories are placed correctly.  If, however, you set unzip or instruct unzip not to overwrite but to rename,  then you will unpack the archived files into new directories (for example /lib(2) instead of /lib) and your install will not work.&lt;br /&gt;
&lt;br /&gt;
====java jre====&lt;br /&gt;
Dragmath is java based, and unless you have a current java runtime environment you will likely run into trouble.  Make sure you keep your JRE current and that the current JRE is selected. You can check here for latest versions: http://www.java.com/en/download/manual.jsp.  Note that Apple packages java itself,  so OS X users can be caught in the Apple development cycle.  The best option is to make sure you use Software Update frequently.  DragMath has been shown to work fine with OS X 10.5 using FF 3.6.3 and the latest Java update. As of June 2010 Apple has released Java for Mac OS X 10.6 Update 2 and Java for Mac OS X 10.5 Update 7. These releases correspond to the latest Java released by Sun (Oracle),  Java 6 update 20. Check here for the most recent downloads from Apple: http://support.apple.com/downloads/&lt;br /&gt;
&lt;br /&gt;
===Development===&lt;br /&gt;
====Language Files====&lt;br /&gt;
The 0.7.8.1 package now includes language files (with Finnish, courtesy of Mauno Korpelainen) and the integration files should provide for automatic selection of the language based on the Moodle language setting.&lt;br /&gt;
====Square brackets====&lt;br /&gt;
Use of text expressions in the Moodle Wiki can create problems when the text expression includes square brackets,  which is how TeX expresses the nth root. Pending a simple wiki based solution users may want to use the ASCIIMathML filter and the ASCIIMathML export format as this combination avoids the use of square brackets.  &lt;br /&gt;
====Consistent integration with all html editors====&lt;br /&gt;
The Moodle discussion regarding html editors suggests that it will be important for DragMath to have consistent integration with a variety of html editors as htmlarea passes into obsolescence. Plugins for tinyMCE, Xinha and FCKEditor with a similar structure and common codebase are ready and compatible with all browsers that support javascript and Java.&lt;br /&gt;
====Additional formats====&lt;br /&gt;
There are quite a few options now available for creating text expressions to for displaying equations and Moodle functionality can only be increased if tools were able to create and parse expressions created by the tools a user is most comfortable with.  ASCIIMathML is one tool now available as a filter for Moodle that allows the parsing of both TeX and its own ASCIIMathML text expression syntax. Microsoft has now launched its OMML initiative in Office 2007 (see footnotes on  http://en.wikipedia.org/wiki/Office_Open_XML  and OpenOffice employs its own text expression syntax (the OOo syntax is described at http://documentation.openoffice.org/manuals/oooauthors2/0216WG-MathObjects.pdf).&lt;br /&gt;
The ability to have DragMath create text expressions that can be used in native documents as well as parsed by filters such as ASCIIMathML will help make use of equations on-line more transparent for everyone.&lt;br /&gt;
====Extending DragMath to a Math Chat====&lt;br /&gt;
Having been introduced by Marc Grober to a math chat application (http://www.imathas.com/cur/mathchat/testchat.html [NB: the mathchat referenced here is the creation of David Lippman]) it would be useful to see similar features in Moodle&#039;s chat, specifically:&lt;br /&gt;
&lt;br /&gt;
1.  The ability to &#039;&#039;easily&#039;&#039; display mathematical symbols with DragMath incorporated into the chat window.&lt;br /&gt;
&lt;br /&gt;
2.  The ability to create and display mathematical graphs.&lt;br /&gt;
&lt;br /&gt;
===Moodle 2===&lt;br /&gt;
&amp;lt;s&amp;gt;As part of planning for Moodle 2 we have recommended that DragMath be placed in /lib/editor/common/dragmath alongside asciimathml (which is located in /lib/editor/common/asciimath). This should not result in any other major changes and those wanting to stay abreast may either want to look moving files before Moodle 2 or may want to keep an eye out for a zip of asciimath and dragmath packaged as a precursor to Moodle 2.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Discussion of the transition of DragMath to Moodle core: http://moodle.org/mod/forum/discuss.php?d=125977&amp;amp;parent=551794&lt;br /&gt;
&lt;br /&gt;
[[ca:DragMath_editor_d%27equacions]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Backup_and_restore_FAQ&amp;diff=75233</id>
		<title>Backup and restore FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Backup_and_restore_FAQ&amp;diff=75233"/>
		<updated>2010-08-30T18:42:58Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* How can I backup and restore a course from a 1.9 site to a 2.0 site? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==How do I backup a course?==&lt;br /&gt;
&lt;br /&gt;
See [[Course backup]] and [[Automated course backup]].&lt;br /&gt;
&lt;br /&gt;
==How do I restore a course?==&lt;br /&gt;
&lt;br /&gt;
See [[Restore]].&lt;br /&gt;
&lt;br /&gt;
==How do I backup my site?==&lt;br /&gt;
&lt;br /&gt;
See [[Site backup]].&lt;br /&gt;
&lt;br /&gt;
==Backup stops at Zipping backup==&lt;br /&gt;
Moodle 1.9 and lower use a PHP library to zip files that isn&#039;t very efficient and struggles to zip/unzip large files. You can use an external Zip binary to use a different process to handle your files - you can set this in &#039;&#039;Admin &amp;gt; Server &amp;gt; System Paths&#039;&#039; Moodle 2.0 uses new PHP zip functions so that specifying an external Zip binary isn&#039;t necessary see [[System_paths#Path_to_zip]] for help configuring an external zip binary.&lt;br /&gt;
&lt;br /&gt;
==What are the pros and cons of course versus site backups?==&lt;br /&gt;
&lt;br /&gt;
[[Site backup|Site backups]] are recommended in order to have all data saved with the best confidence and the shortest recovery time.&lt;br /&gt;
&lt;br /&gt;
[[Automated course backup|Automated course backups]] are more expensive in terms of time and CPU usage. The recovery time to have your site running again is longer. Course backups are useful for obtaining &amp;quot;fresh&amp;quot; copies of courses to be re-used or distributed individually, however they should never be used as a primary backup system (unless your hosting doesn&#039;t allow the preferred site backups). &lt;br /&gt;
&lt;br /&gt;
==What data is not contained in course backups?==&lt;br /&gt;
&lt;br /&gt;
By selecting all the options when setting up the backup you can include almost all the data in the course. However you should be aware of the fact that some things are not backed up:&lt;br /&gt;
* Quiz questions are only backed up if at least one question from their category has been added to a quiz.&lt;br /&gt;
* Scales are only backed up if they are used by at least one activity.&lt;br /&gt;
&lt;br /&gt;
==The process ends with: &amp;quot;Error: An error occurred deleting old backup data&amp;quot;. What should I do?==&lt;br /&gt;
&lt;br /&gt;
This part of the backup (or restore) procedure tries to delete old info, used in previous executions, performing the following tasks:&lt;br /&gt;
&lt;br /&gt;
# Delete old records from &amp;quot;backup_ids&amp;quot; table: Check the table exists, repair it and try again.&lt;br /&gt;
# Delete old records from &amp;quot;backup_files&amp;quot; table: Check the table exists, repair it and try again.&lt;br /&gt;
# Delete old files from &amp;quot;moodledata/temp/backup&amp;quot;: Delete the dir completely and try again.&lt;br /&gt;
&lt;br /&gt;
[[Image:BackupProblem.gif|thumb|Backup error message]]For points 1 &amp;amp; 2, there are various ways of repairing tables, including using MySQL Admin.&lt;br /&gt;
For point 3 see below:&lt;br /&gt;
&lt;br /&gt;
The error message states that the &amp;quot;directory not empty&amp;quot; and gives the path to that directory. If you go there with an FTP program you can see what is there and clean up. It could be just some empty subfolders that were leftover. Deleting these has been able to help. One can also delete the dir &amp;quot;moodledata/temp/backup&amp;quot; completely. That can take a bit longer but may solve several problems at once.&lt;br /&gt;
&lt;br /&gt;
==The process ends with: &amp;quot;XML error: not well-formed (invalid token) at line YYYY&amp;quot;. What can I do?==&lt;br /&gt;
&lt;br /&gt;
This problem can appear at any point in the restore process. It&#039;s caused when the XML parser detects something incorrect in the backup file that prevent correct operation. Usually, it&#039;s caused by some &amp;quot;illegal&amp;quot; characters added in the original course due to some copy/paste of text containing them (control characters, or invalid sequences...).&lt;br /&gt;
&lt;br /&gt;
The best method to handle this issue is:&lt;br /&gt;
&lt;br /&gt;
* Unzip the problematic backup file under one empty folder.&lt;br /&gt;
&lt;br /&gt;
* Open the moodle.xml with Firefox. It will show you where (exact char) the problem is happening.&lt;br /&gt;
&lt;br /&gt;
* Edit the moodle.xml file with some UTF8-compatible editor and delete such characters. Save changes.&lt;br /&gt;
&lt;br /&gt;
* Test the moodle.xml file again with Firefox until no error was displayed.&lt;br /&gt;
&lt;br /&gt;
* Zip everything again (all the folder contents but not the folder itself!).&lt;br /&gt;
&lt;br /&gt;
* Restore the course. It should work now.&lt;br /&gt;
&lt;br /&gt;
* Restore still not working? See the next question.&lt;br /&gt;
&lt;br /&gt;
Also, if possible, it&#039;s highly recommended to solve those problems in the original course too from Moodle itself. Once &amp;quot;repaired&amp;quot; there, problems will be out if you create new backup files in the future.&lt;br /&gt;
&lt;br /&gt;
==The process ends with: &amp;quot;moodle xml not found at root level of zip file&amp;quot;. What can I do?==&lt;br /&gt;
If you are restoring from a zip file backup make sure the moodle.xml file is at the root level. To ensure this:&lt;br /&gt;
#Unzip the backup file of the course (example: mycourse.zip)&lt;br /&gt;
#Once the file is unzipped, open the folder (example: mycourse).&lt;br /&gt;
#Select the folders within the mycourse folder AND the moodle.xml file and create a zip of those item (example: mycourse_new.zip)&lt;br /&gt;
#Upload the new zip file (example: mycourse_new.zip) and restore from that.&lt;br /&gt;
&lt;br /&gt;
If the backup file is guaranteed to be correct, check paths to external files (zip, unzip). Incorrect settings also lead to this error message (see the Using Moodle forum discussion [http://moodle.org/mod/forum/discuss.php?d=140355 moodle.xml not found in root...] and MDL-14812).&lt;br /&gt;
&lt;br /&gt;
==The process ends with: &amp;quot;An error occurred while copying the zip file...&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
This problem is most likely caused by a permissions issue in the destination directory. Backup files are copied to &amp;quot;XXX/backupdata&amp;quot; under your dataroot directory (where XXX is the id of the course being backed up).&lt;br /&gt;
&lt;br /&gt;
The problem could also be caused by a disk being full, though this is far less likely.&lt;br /&gt;
&lt;br /&gt;
To obtain precise information about what&#039;s happening, you can enable debug messages in &#039;&#039;Administration &amp;gt; Server &amp;gt; [[Debugging]]&#039;&#039; (select the maximum level - DEVELOPER) and/or check the web server error logs.&lt;br /&gt;
&lt;br /&gt;
==I Still get an XML error. How can I clean the borked XML file?==&lt;br /&gt;
&lt;br /&gt;
In some cases XML backup files may contain characters causing the restore process to abort, even after the steps described in the previous question. In such cases you may want to try the following:&lt;br /&gt;
&lt;br /&gt;
* Download the [http://repository.atlassian.com/atlassian-xml-cleaner/jars/atlassian-xml-cleaner-0.1.jar Atlassian XML Cleaner Utility] from the [http://confluence.atlassian.com/display/JIRA/Removing+invalid+characters+from+XML+backups JIRA Atlassian site].&lt;br /&gt;
&lt;br /&gt;
* Unzip the problematic Moodle backup file under one empty folder. Moodle will create the course file folders as long as the unclean moodle.xml file. Please unzip using the Moodle unzip feature.&lt;br /&gt;
&lt;br /&gt;
* Rename the unclean moodle.xml file to moodle-unclean.xml. &lt;br /&gt;
&lt;br /&gt;
* If you don&#039;t have access to your Moodle server&#039;s command prompt, using the Moodle zip feature, zip the moodle-unclean.xml file only, download the zip file locally and unzip it. It is very important to download the xml file in zipped format to avoid unwanted character encoding when transferring from an operating system to another.&lt;br /&gt;
&lt;br /&gt;
* Move the downloaded Atlassian XML Cleaner Utility in the same folder where is your moodle-unclean.xml file.&lt;br /&gt;
&lt;br /&gt;
* Issue the following command from the command prompt: &lt;br /&gt;
&lt;br /&gt;
 java -jar atlassian-xml-cleaner-0.1.jar moodle-unclean.xml &amp;gt; moodle.xml&lt;br /&gt;
&lt;br /&gt;
* If you launched the utility on your local computer, zip the just created (and hopefully cleaned) moodle.xml file and upload it in the same place from where you downloaded the moodle-unclean.xml file. Once uploaded, unzip it using the Moodle unzip feature.&lt;br /&gt;
&lt;br /&gt;
* Zip everything again (all the folder contents but the folder itself!).&lt;br /&gt;
&lt;br /&gt;
* Restore the course. It should work now.&lt;br /&gt;
&lt;br /&gt;
==What does &amp;quot;Some of your courses weren&#039;t saved!!&amp;quot; mean?==&lt;br /&gt;
&lt;br /&gt;
There are three possible causes of this problem:&lt;br /&gt;
# Error - this happens when the backup procedure has found an error and so hasn&#039;t finished the backup of a particular course. These are &amp;quot;controlled&amp;quot; errors and the scheduled backup continues with the next course.&lt;br /&gt;
# Unfinished - this happens when the backup procedure dies without knowing why. When the cron is next executed it detects that the last execution went wrong, and continues skipping the problematic course. A possible solution would be to raise the PHP/Apache limit in your installation (memory, time of execution...). By taking a look to your log tables you should be able to see if the &amp;quot;crash&amp;quot; is happening at exact time intervals (usually a problem with the max_execution_time php&#039;s variable), or if there is some exact point were all the courses are breaking (generally internal zip libraries, try to switch to external executables instead).&lt;br /&gt;
# Skipped - this happens when a course is unavailable to students and has not been changed in the last month (31 days). This isn&#039;t an error situation - it&#039;s a feature, especially useful for sites with many unavailable old courses, saving process time.&lt;br /&gt;
&lt;br /&gt;
==How can I restore pre 1.6 non-ISO-8859-1 backups to Moodle 1.6 (Unicode)?==&lt;br /&gt;
&lt;br /&gt;
Any backup files with contents which are not 100% ISO-8859-1 will be a problem to restore to Moodle 1.6 (and upwards) running under Unicode. Instead, please try the following:&lt;br /&gt;
&lt;br /&gt;
# Make a clean install of Moodle 1.5.x (the latest version available)&lt;br /&gt;
# Restore all your courses there (they should work if they were working originally)&lt;br /&gt;
# Upgrade your site to Moodle 1.6 and run the UTF-8 migration script&lt;br /&gt;
# Backup your courses again&lt;br /&gt;
&lt;br /&gt;
This will produce a new set of backup files that will be 100% UTF-8 and you will be able to use them with Moodle 1.6 without any problems.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;broken_html&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==Restoring a course results in broken HTML tags. What can I do?==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary:&#039;&#039;&#039; Upgrade your libxml2 and PHP and you should be fine. It has been confirmed that the recent versions of libxml2 (2.7.3) and PHP (5.2.10) no longer have this problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Background:&#039;&#039;&#039; (may be obsoleted) This problem is due to a [http://bugs.php.net/bug.php?id=45996 PHP bug in libxml2 2.7.1] (the same bug reported with version 2.7.2 and 2.7.3). All HTML entities, such as &amp;amp;gt;, &amp;amp;lt; and &amp;amp;quot; are removed when a course is restored.&lt;br /&gt;
&lt;br /&gt;
To resolve the problem, you should use a different version of libxml2 such as 2.7.0 or 2.6.32 or compile PHP against libexpat instead of libxml2 or finally use PHP version &amp;gt;= 5.2.9 that solves this compatibility issue over the newer libxml2.&lt;br /&gt;
&lt;br /&gt;
At Gentoo servers, you can use&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;&amp;gt;dev-libs/libxml2-2.6.32&amp;quot; &amp;gt;&amp;gt; /etc/portage/package.mask&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update:&#039;&#039;&#039; This was fixed for libxml2 version 2.7.3 in PHP snapshot on 11/01/2009. You can use the following patch:&lt;br /&gt;
&lt;br /&gt;
 --- php-5.2.8/ext/xml/compat.c 2008/12/31 11:12:38 1.52&lt;br /&gt;
 +++ php-5.2.8/ext/xml/compat.c 2009/01/11 12:00:30 1.53&lt;br /&gt;
 @@ -482,6 +482,10 @@&lt;br /&gt;
 parser-&amp;gt;parser-&amp;gt;charset = XML_CHAR_ENCODING_NONE;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
 +#if LIBXML_VERSION &amp;gt;= 20703&lt;br /&gt;
 + xmlCtxtUseOptions(parser-&amp;gt;parser, XML_PARSE_OLDSAX);&lt;br /&gt;
 +#endif&lt;br /&gt;
 +&lt;br /&gt;
 parser-&amp;gt;parser-&amp;gt;replaceEntities = 1;&lt;br /&gt;
 parser-&amp;gt;parser-&amp;gt;wellFormed = 0;&lt;br /&gt;
 if (sep != NULL) {&lt;br /&gt;
&lt;br /&gt;
See the discussion [http://moodle.org/mod/forum/discuss.php?d=111321 Restoring makes webpages and labels in code] for further information.&lt;br /&gt;
&lt;br /&gt;
==Why are some courses being skipped?==&lt;br /&gt;
&lt;br /&gt;
From 1.6 onwards, course backups automatically skip courses which are unavailable to students and have not been changed in the last month.&lt;br /&gt;
&lt;br /&gt;
==Why does restore stop, rather than completing?==&lt;br /&gt;
&lt;br /&gt;
Attempting to restore a course to an older version of Moodle than the one the course was backed up on can result in the restore process failing to complete. To ensure a successful restore, make sure that the version of Moodle you are restoring the course to is the same, or newer, than the one the course was backed up on.&lt;br /&gt;
&lt;br /&gt;
If it stop unexpectedly with no errors shown try again with [[Debugging]] switched on. Any errors you now see can help experts in the support forums diagnose your problem. You can also check the discussion links in the See also section below for further advice.&lt;br /&gt;
&lt;br /&gt;
==How can I improve restore robustness and execution times?==&lt;br /&gt;
&lt;br /&gt;
{{Moodle 1.9}}To improve restore robustness and execution times, particularly for medium to large course backups, try enabling the setting &#039;&#039;experimentalsplitrestore&#039;&#039; in &#039;&#039;Administration &amp;gt; Miscellaneous &amp;gt; [[Experimental]]&#039;&#039;. (This setting is available in Moodle 1.9.5 onwards.)&lt;br /&gt;
&lt;br /&gt;
MDL-18468 contains information about this Experimental Split Restore functionality and the improvements to course restore robustness and execution times that it introduced, particularly for medium to large course backups. It also explains why this is an &#039;Experimental&#039; feature in Moodle 1.9.&lt;br /&gt;
&lt;br /&gt;
==How can I backup and restore a course from a 1.9 site to a 2.0 site?==&lt;br /&gt;
&lt;br /&gt;
Backup and restore from 1.9 to 2.0 is due to be implemented soon. In the meantime, a workaround (for those daft enough) is to upgrade the 1.9 site to 2.0.  PLEASE NOTE that Moodle 2 has yet to be released. There is a reason that it is yet to be released. For testing purposes, one could clone one&#039;s 1.9.x Moodle (leaving your production Moodle at 1.9.x) and then upgrade your clone to Moodle 2.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/view.php?f=128 Backup and Restore forum]&lt;br /&gt;
*[http://www.databasejournal.com/features/mysql/article.php/10897_3300511_2 databasejournal.com article on repairing database corruption in MySQL]&lt;br /&gt;
&lt;br /&gt;
Moodle Docs:&lt;br /&gt;
* [[Site backup]]&lt;br /&gt;
* [[Moodle migration]]&lt;br /&gt;
* [[Beginning Administration FAQ]]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=66708 Scheduled backup fails] including possible solution to &amp;quot;An error occurred while copying files&amp;quot;.&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=99338 Restore stops]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=125663 Major Backup and Restore Problem in 1.9.5] with ideas for solving &amp;quot;Course ID was incorrect (can&#039;t find it)&amp;quot; problem&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=137203 Restore does not continue]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=142720 Trying to restore user &#039;admin&#039; from backup file will cause conflict]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Backup]]&lt;br /&gt;
&lt;br /&gt;
[[es:FAQ Backup]]&lt;br /&gt;
[[pl:Backup FAQ]]&lt;br /&gt;
[[fr:FAQ de sauvegarde]]&lt;br /&gt;
[[ja:バックアップFAQ]]&lt;br /&gt;
[[pt:FAQ sobre cópias de segurança]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74717</id>
		<title>Finding and Selecting A Web Host</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74717"/>
		<updated>2010-08-12T17:31:24Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Hosts who provide full Moodle management/maintenance services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose==&lt;br /&gt;
These pages are meant to serve as an additional guide to help users work through variety of questions, issues, etc. as they choose the best way to provide Moodle as an LMS to their users.  We hope that these pages will help to steer the user to helpful materials that may not be easily found by the docs search engine.  This is an ambitious undertaking, so we would be very pleased for more authors to add to the content!&lt;br /&gt;
&lt;br /&gt;
A similar effort can be found in the [[Decision FAQ]] and if you have suggestions for integration, linking, etc.  please feel free to post suggestions via the &amp;quot;page comments&amp;quot; tab above.&lt;br /&gt;
&lt;br /&gt;
==Planning a Moodle installation==&lt;br /&gt;
&lt;br /&gt;
If you are interested in installing and using a Moodle instance in your school, organization, or business, there are many things you must consider.  Not only do you have to think about the technical aspects, you also should put some thought into how you would like to use the system, maintain the system, create the content, and support the users.&lt;br /&gt;
&lt;br /&gt;
Depending on the scope and scale of your instance, and the technical expertise you can bring to the table, you may decide that you can host Moodle yourself or you may realize you could use some help!  This page focuses on making decisions about how or where to host a Moodle site.  Other pages will be developed to address the separate issue of retaining consultants apart from the question of hosting (though many of the concerns in addressing both are comparable.)&lt;br /&gt;
&lt;br /&gt;
In addition to technical expertise, there are staffing issues to consider.  A &#039;&#039;&#039;developer&#039;&#039;&#039; will help you write code to enhance or add new functionality.  Many installations find that they do not need a developer, or they can hire development on an ad hoc basis.  An &#039;&#039;&#039;LMS/Moodle administrator&#039;&#039;&#039; needs to have a good understanding of the system side of moodle.  The more this person knows about databases and general web applications, the better.  If you don&#039;t have an IT person to run the server and manage security, then the LMS/Moodle administrator may need to oversee these important duties. &#039;&#039;&#039;Content creators&#039;&#039;&#039; usually assist instructors with planning and creating course content.  Large installations may need dedicated IT staff and database administrators.  Consider the mix of people you have to support Moodle in your organization.  You may find that you can cover all these bases with your current staff.  If not, you may want to look at a contracting to provide management and maintenance services for your Moodle instance, your instructors, and your students/course participants.&lt;br /&gt;
&lt;br /&gt;
==Who are you?  Types of Moodle Instances==&lt;br /&gt;
Before you choose a host, it would probably be helpful to have a firm understanding of who &#039;&#039;&#039;YOU&#039;&#039;&#039; are.  What do you intend to accomplish with your Moodle instance?  &lt;br /&gt;
&lt;br /&gt;
Typical types of Moodle instances include schools, companies, agencies, churches, and a wide variety of non-profit organizations.  A single individual may want to deliver just two or three courses.  Some moodle instances serve as portfolios or special project spaces.  Moodlers are very innovative!&lt;br /&gt;
&lt;br /&gt;
Each of these types of Moodle users will have differing requirements and needs.  Each may have different ideas about what kind of content they want to provide, who will be facilitating the &amp;quot;course work&amp;quot; (or if the course work will be automated), how they will enroll the users, and how strictly they want/need to enforce privacy for users.&lt;br /&gt;
&lt;br /&gt;
These issues are of great importance when selecting a host.  If you can identify exactly what you want to do and how you think it can be best accomplished, then you will likely recognize whether or not you can &amp;quot;do it yourself&amp;quot;, if you need to look for full-service hosting, or if you can accomplish your goals with a consultant or ad hoc development.&lt;br /&gt;
&lt;br /&gt;
The following are common types of users.  Some people only use moodle to create and teach courses (albeit in quite a lot of different ways!) Some people take care of the Moodle &amp;quot;back end&amp;quot;, which involves administrative functions.  In some cases, the Moodle admin will take on responsibilities for &amp;quot;server admin&amp;quot; as well as assisting with training for teachers using moodle.  In others, the &amp;quot;server admin&amp;quot; will work with other people to form a group that covers Moodle admin and classroom teacher perspectives.  Trainers often have all the skills for the instructor as well as Moodle adminintrator.  There are endless combinations of staffing and roles depending on your organization. &lt;br /&gt;
&lt;br /&gt;
The following examples should be seen as a rough continuum with many variations possible. Take a look at the examples that seem to fit you best and we will attempt to describe the skillsets you will need and our best advice for the type of hosting you may find most practical:&lt;br /&gt;
&lt;br /&gt;
===The classroom teacher, instructor, professor, or course creator===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_teachers|The Hosting for moodle teachers page]] describes the default role of &amp;quot;editing teacher&amp;quot; and sets out some considerations for evaluating your ability to manage a Moodle instance on your own.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to negotiate an agreement with them to provide the hosting and assume responsibility for the administrative tasks related to running a Moodle instance.  Depending on your situation and the level of support you need, outsourcing might be the more attractive option.&lt;br /&gt;
&lt;br /&gt;
=== The (limited) Moodle admin===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_admins|The hosting for moodle admins page]] describes the role of the Moodle admin.  Not the server admin.  This role is limited to managing Moodle, but not other software packages on the server.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to arrange for them to provide the hosting and you assume responsibility for the administrative tasks related to running a Moodle instance.&lt;br /&gt;
&lt;br /&gt;
===The Advanced Moodle admin===&lt;br /&gt;
&lt;br /&gt;
As you by now expected, [[Hosting_for_moodle_admins_advanced|the hosting for moodle advanced admins page]] is for those people who manage Moodle as well as getting into server side considerations, such as cron, email, database management and php.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in hosting without service.&lt;br /&gt;
&lt;br /&gt;
===The Server admin===&lt;br /&gt;
&lt;br /&gt;
There is also a [[Hosting_for_server_admins|page addressing hosting for server admins]], for people who have the necessary skills and knowledge to manage the server and stack software.  If you fit into this category, you may be less or not involved in managing the moodle instance.  Some individuals will be able to run the server as well as manage the moodle instance in its entirety.&lt;br /&gt;
&lt;br /&gt;
==Types of Hosts==&lt;br /&gt;
&lt;br /&gt;
===Hosts who provide full Moodle management/maintenance services===&lt;br /&gt;
&lt;br /&gt;
Some hosts are ready to support Moodle as a software package as well as providing and maintaining the server it runs on.  They may provide training, content building, and development services as well. Service packages will likely include moodle upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups. &lt;br /&gt;
&lt;br /&gt;
There are two types of full-service hosts for the purposes of this discussion:  Moodle Partners and hosts who are not Moodle Partners.&lt;br /&gt;
&lt;br /&gt;
[http://moodle.com/partners Moodle Partners] are an [http://moodle.com/partners/list/ international group] of Moodle-based service companies that work closely with [http://moodle.com/ Moodle Pty Ltd].  &lt;br /&gt;
&lt;br /&gt;
There are a variety of other companies providing similar services (sometimes under other names like &amp;quot;lms hosting&amp;quot; and sometimes not) that are not affiliated with the Moodle project and who do not support the project through royalties.  Some of them even offer free services that are supported by third-party advertising.&lt;br /&gt;
&lt;br /&gt;
As a consumer you need to choose carefully from all the options available to you.  Each of these companies is an individual concern, and a prospective client is ultimately responsible for understanding what service package they are purchasing and how long it might be likely to be around.  Do your research and articulate your needs and expectations very carefully!&lt;br /&gt;
&lt;br /&gt;
If you google &amp;quot;moodle hosting&amp;quot; you will find Moodle Partners and a large number of sites offering Moodle hosting that are not full-service hosts.  Be very careful.  Many sites that advertise &amp;quot;Moodle hosting&amp;quot; are really offering you hosting of the software only, without additional management and maintenance services.  These hosts do provide the software you need to run Moodle, but you are on your own after that!&lt;br /&gt;
&lt;br /&gt;
===Hosting without Moodle management and maintenance services===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_without_service|Hosting without Moodle management and maintenance services]] is perhaps the most common situation.  Many people select this option when they have decided they do not want to be responsible for hardware or the basic software &amp;quot;stack&amp;quot; used to run a Moodle instance, but also do not want to pay the premium for someone else to provide administrative expertise in the management of Moodle.  There are thousands of web hosts available, and each probably offers a slightly different set of service options.&lt;br /&gt;
&lt;br /&gt;
While full-service or managed hosting packages may include upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups, no-frills hosting will assume that you are willing to manage all these aspects of running a moodle instance.&lt;br /&gt;
&lt;br /&gt;
If you have a reasonable level of confidence in hosting your own site this can be a very inexpensive solution.&lt;br /&gt;
&lt;br /&gt;
===In-house hosting (or &amp;quot;do it yourself&amp;quot;)===&lt;br /&gt;
If you have the necessary background and interest, you (or your IT team) can set up your own server and run one or more Moodle instances to support your institution, business, or project.  You may choose to deploy Moodle on a variety of different operating systems (Mac, Linux, Windows) and with several different database options (MySQL, Postgres, MSSQL).  While this page is not intended to provide assistance in accomplishing this goal, it does attempt to describe the sort of knowledge base you or your team will require for successfully [[in_house_hosting|hosting your own Moodle instance.]]  You could also consider commercial support for in-house hosting from any of the commercial support providers mentioned above.&lt;br /&gt;
&lt;br /&gt;
=Choosing a Web Host=&lt;br /&gt;
&lt;br /&gt;
==The User Experience==&lt;br /&gt;
===Your Compendium===&lt;br /&gt;
[[Web_Hosts|A matrix]] has been created so that users can provide information on various web hosting options here. Please feel free to add to the matrix,  but respect the footnoting conventions and the table structure please.  There is some exploration of using Google Docs to address user feedback on Web Hosts. While a Google Doc may eventually be embedded in the Web Host doc, an experimental version can be [https://spreadsheets.google.com/pub?key=0AkMXlh7DWOcTcEdsTWhWUlFfelUtM20talNqZVFDR1E seen here].&lt;br /&gt;
&lt;br /&gt;
&#039;NB:&#039; If the wiki structure for the matrix is too much of a hassle, please just use the + tab from the &amp;quot;page comment&amp;quot; tab (you must be logged in to docs to see this,  and that is still a separate log in....) to add your comments and someone will transfer them to the matrix.&lt;br /&gt;
&lt;br /&gt;
===Discussion in the Forums===&lt;br /&gt;
While the forums should not be viewed as authoritative as circumstances change over time, they have been a focal point for quite a bit of discussion of various web hosts over time.  &lt;br /&gt;
&lt;br /&gt;
A collection of posts largely focusing on GoDaddy can be [http://moodle.org/mod/forum/discuss.php?d=53087#p459052| found here] and a list of discussions concerning quite a few other hosts, courtesy of [http://moodle.org/user/view.php?id=195424&amp;amp;course=5| Richard Enison (RLE)], appears in that collection [http://moodle.org/mod/forum/discuss.php?d=53087&amp;amp;parent=459052| at this address].&lt;br /&gt;
&lt;br /&gt;
==Why Use A Web Host==&lt;br /&gt;
&lt;br /&gt;
General areas of concern are:&lt;br /&gt;
&lt;br /&gt;
===General Management and Installation Assistance===&lt;br /&gt;
Many web hosts offer GUIs that provide shortcuts to install and manage web applications.  Some typical &amp;quot;panel&amp;quot; options are Fantastico and cpanel,  while an example of a management application that many webhosts make available is phpmyadmin (for managing mysql databases.)&lt;br /&gt;
====CPanel====&lt;br /&gt;
If you decide to choose a hosting company that has cpanel then  [http://ic.eflclasses.org/tutorials/settingupmoodleonhostingwitholdcpanel.swf this tutorial] may provide some guidance in choosing a host and setting up moodle via the old cpanel. It is a VERY large file (that runs for about 12 minutes) and you will have to wait for it to load but [[User:Eric Hagley|Eric Hagley]] indicates it is worth the wait as affords a step by step approach. If you have the new cpanel please use [http://ic.eflclasses.org/tutorials/settingupmoodleoncpanel.swf this link] for an updated tutorial.&lt;br /&gt;
 &lt;br /&gt;
===Keeping Your Software Current===&lt;br /&gt;
Software such as Moodle is not static; it changes all the time.  Indeed Moodle software changes sometimes daily. Software may be altered to fix security issues or to make improvements.  Sometimes a fix in one respect causes a bug in another.  &lt;br /&gt;
&lt;br /&gt;
Additionally, as noted below, Moodle is not the only product you may want to keep current,  and any time you are trying to keep multiple applications current you are bound to run into compatibility issues.&lt;br /&gt;
&lt;br /&gt;
As noted elsewhere, some web hosts provide utilities for web application management. For a discussion of updating software using such utilities (Cpanel for example) see the section on [[#General Management and Installation Assistance|General Management and Installation Assistance above]].&lt;br /&gt;
&lt;br /&gt;
===Keeping Your Software Compatible===&lt;br /&gt;
Moodle is not &amp;quot;just&amp;quot; Moodle.  The Moodle experience relies on a set of software applications,  including a web server (often but not necessarily  Apache), PHP, and a database engine (often but not necessarily mySQL), as well as the Moodle code itself. Each of the elements involved is regularly updated and this will result in compatibility issues. A fix to one application may cause a problem in another. Moreover, the manner in which an issue is addressed in one version may change with the next (an example being the use of php.ini files, which were required in every directory in php 4.x, a practice unnecessary in php 5.)&lt;br /&gt;
&lt;br /&gt;
In addition to the four primary Moodle components (again, web server, database engine, PHP and Moodle code) you may wish to install a variety of additional software to use with Moodle (Moodle offers many modules to provide for the integration of external applications). The addition of an external application to your overall system increases complexity because as the various applications develop the modules integrating them may fail.&lt;br /&gt;
&lt;br /&gt;
Module installation might be handled by a firm offering dedicated Moodle services, but will not be typically addressed by a vanilla web-host,  which leaves the install of aspell, dragmath, asciimathml, etc. all to you.&lt;br /&gt;
&lt;br /&gt;
One of the most intelligent questions that may be heard in a Moodle class is whether a course developed in Moodle A will work in Moodle B.  The best answer is, &amp;quot;Maybe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Backups===&lt;br /&gt;
[http://www.murphys-laws.com/murphy/murphy-true.html Murphy&#039;s Law] offers no exceptions; it is an absolute, and without knowing who you are, where you come from or what you do, your Moodle may some day fail. The good news is that the odds of multiple failures are in your favor, so if you are well prepared, this eventuality can be viewed with same equanimity as that stubbed toe.....&lt;br /&gt;
&lt;br /&gt;
Keeping very good records of your hacks, your additions, and the settings you have used for moodle as well as all the other software that it takes to support a moodle instance provides invaluable information.  A backup regime, including course backups, software backups, and database backups is also important.&lt;br /&gt;
&lt;br /&gt;
The Moodler must remember that while Moodle itself can do some backups,  Moodle backups are very intensive and are only a small facet of an effective backup program,  which must address the variety of data that is encompassed by a Moodle web site.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll discuss various backup types and issues below,  but first let&#039;s talk about the underlying issue: who is doing what?&lt;br /&gt;
&lt;br /&gt;
Some web hosts provide &amp;quot;snap shots&amp;quot;, some provide site wide backups. Some offer shell access and tell you to roll your own, while some web hosts honestly couldn&#039;t care less....  You must remember that, without a specific agreement otherwise, it is unlikely that your web host acknowledges any responsibility for maintaining your data.  Unfortunately,  typically each of your data types may require a different kind of backup and you either need to learn how to do effective backups of your site on your own, or you will have to negotiate what amounts to bare metal backup with your Web Host (and you will need to identify an appropriate window,  because you want your backups to be rather more current than your web host might find sensible....)&lt;br /&gt;
&lt;br /&gt;
If you have shell access the good news is that there are quite a few scripts out there you can use to help yourself build an effective backup regimen.&lt;br /&gt;
&lt;br /&gt;
There are critical points with respect to backing up your data that need to be addressed. They range from the global, such as addressing the location for the backups and managing remote backups (rsync can be helpful in this respect) and actually handling and recycling of the files themselves (when do you back up, what do you backup when you do backup, and how long do you keep a specific file) to the narrow (for example the db should be locked during backup.) While we have broken up this discussion because different types of data need to be treated in different ways, one could script one&#039;s system to address backups for all the different types of data.&lt;br /&gt;
&lt;br /&gt;
Another option that we should mention in passing is that one can also look at replication of data, either to a simple store or to a failover unit. Be aware that mysql replication requires access to mysql commands that some web hosts do not provide. Chances are that if you are looking at replication you are having multiple private systems hosted by a vendor or are running your own installation and have looked at fail-over, clusters and replication in depth.&lt;br /&gt;
&lt;br /&gt;
Lastly, please remember that if you are paying a web host for bandwidth used, remote backup could become a source of significant expense&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: AT present there is one Backup page, [[Site_backup]], in the docs,  and it might be helpful at some time to break that up so that separate docs address different aspects of backup with one page addressing scripting options.  In any event link to backup page needs to be added&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
====Data====&lt;br /&gt;
By data we mean the contents of the moodledata directory, which may represent some of your most important material.&lt;br /&gt;
&lt;br /&gt;
====GUI====&lt;br /&gt;
Your GUI is what is most often neglected when addressing backups. More often than not much of what you think of as your GUI will be reflected in any customizations to your theme, with pertinent data located in your Moodle code installation (/moodle/theme - see below) and possibly moodledata (a possible site for images used.)&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
Whatever database you are using,  it is critical that you dump and store your db regularly, especially because it can be so simple to restore a site if you have a recent db dump. This can be accomplished manually via a GUI as with phpmyadmin or mysql admin or via command line if the user has access and the requisite skills.  It can also be automated via commercial or open scripting (as in HandyBackup  or automysqlbackup).&lt;br /&gt;
&lt;br /&gt;
====Software====&lt;br /&gt;
Not only your Moodle configuration (additional modules, hacks and twiddles),  but complementary software that you have integrated (like Mahara, etc) should be backed up.&lt;br /&gt;
&lt;br /&gt;
You might ask why you should back up your Moodle code when you can just download it from Moodle and reinstall.  There are a couple of issues here.  First, the version of Moodle you download today is going to be different than the same version of Moodle you download tomorrow.  This is confusing but that is how things lie.  It is possible that a new install will result in problems on a restore and if you are facing down  some failure you DO NOT want to then also have to try and figure out why what was working yesterday isn&#039;t working today. All things being constant  is the hallmark of restore, and you don;t want to deal with any changes you are not aware of.  &lt;br /&gt;
&lt;br /&gt;
The second issue is your potential customization,  whether that amounts to hacks to php code or just to the installation of additional modules. If speed is of interest (and when doing a restore after failure the most oft heard words are &amp;quot;how soon&amp;quot; ) you don&#039;t want to have to recreate your Moodle application, you want to be able to restore.&lt;br /&gt;
&lt;br /&gt;
And a third issue related to the previous point is theme customization. Themes are stored in /moodle/theme.&lt;br /&gt;
&lt;br /&gt;
===Security===&lt;br /&gt;
Most often we talk about security in the context of potential threats to your data. Of course, what can cause some consternation here is that different folks think of data in different ways. There is the data Moodle places in the mysql database.  There is the data that Moodle places in the moodledata file structure, and there is the Moodle code itself. You may want to consider protecting all of these types of data from unauthorized reading, writing and execution. Think of this as a two dimensional matrix.  Now add a third dimension that includes various ways one might be able to access any cell in the existing table, including coding flaws, external configuration problems and internal Moodle configuration issues&lt;br /&gt;
&lt;br /&gt;
====Code Flaws====&lt;br /&gt;
Code exploits are addressed regularly through patches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need links to the various fora, etc for security reporting and info)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configuration====&lt;br /&gt;
The most typical issue in this area is placing the moodledata directory in the web root.&lt;br /&gt;
&lt;br /&gt;
====Moodle set-up====&lt;br /&gt;
This includes such matters as enrollment, internal role configuration, etc.&lt;br /&gt;
&lt;br /&gt;
Perhaps the most widely discussed problem here has been the matter of profile spam that can be produced when admins allow open e-mail enrollment.  There are arguments as to whether this is a security issue or not (and sometimes it seems that the same folks are on both sides of the issue at times) but what it means from a practical standpoint is that you can have a Moodle targeted at your elementary school which contains enough pornography to make Bosche blush.&lt;br /&gt;
&lt;br /&gt;
Sophisticated authentication relying on Moodle Networking, LDAP etc. will require some administrative skill sets pertinent to the scheme employed. One should also be acquainted with the underlying nature of access control including the difference between authentication and authorization. See, e.g.  http://en.wikipedia.org/wiki/Access_control&lt;br /&gt;
&lt;br /&gt;
More more prosaic but as important are matters of security policy and enunciation of protocols addressing access rights to data (in the U. S. consider HIPAA, FERPA, IDEA, etc.)&lt;br /&gt;
&lt;br /&gt;
===Integration===&lt;br /&gt;
After an initial basic Moodle installation there are quite a few tasks that need to be addressed to integrate the Moodle with all the bells and whistles you are expecting to use.&lt;br /&gt;
====Cron====&lt;br /&gt;
One of the most important post-install tasks is to invoke cron.php via the system cron daemon (or Task Scheduler...) Among other tasks,  such as backup, cron triggers mail. [[Cron]] explains a good deal but there may be issues when trying to use smtp (some of these have been fixed in Moodle 1.9.3) to alternative ports.&lt;br /&gt;
====Mail====&lt;br /&gt;
While typically Moodle will use PHP&#039;s mail routines, in some cases you may have to configure mail manually and some issues may require manual database edits.  See, [[Email settings]] and [[Email setup gmail]] as examples of possible manual configuration.&lt;br /&gt;
====Max File Upload====&lt;br /&gt;
The maximum size of file uploads for Moodle can be controlled via the Moodle GUI but are also constrained via Apache and PHP, and to adjust these you may need to be able to edit .htaccess and/or php.ini. Here are some examples of the discussin of such matters: http://moodle.org/mod/forum/discuss.php?d=98064&amp;amp;parent=433245 and  http://moodle.org/mod/forum/discuss.php?d=103190&amp;amp;parent=456650&lt;br /&gt;
&lt;br /&gt;
==Criteria for Selecting Web Hosts==&lt;br /&gt;
&lt;br /&gt;
===What Purpose Will Your Site Serve===&lt;br /&gt;
Production, Experimentation, etc&lt;br /&gt;
Classroom support or Asynchronous Remote&lt;br /&gt;
Gradebook and critical classroom data&lt;br /&gt;
Number of concurrent users&lt;br /&gt;
&lt;br /&gt;
Issues of scale can be very important.  A relatively small number of concurrent users can generate enough email through forum postings to get you in trouble with your host.  Email volume, storage space for users and courses, number of accounts,&lt;br /&gt;
&lt;br /&gt;
===Will You Be Running a 5 Nines Site===&lt;br /&gt;
What is all this you hear about &amp;quot;five nines&amp;quot;. This is a way to discuss [http://en.wikipedia.org/wiki/Uptime system uptime] and  the implications thereby for the amount of time that a [http://en.wikipedia.org/wiki/High_availability system is down and not available].&lt;br /&gt;
&lt;br /&gt;
While five nines is not that difficult to achieve, it becomes obvious quickly that without redundancy bringing down any part of a system for maintenance quickly knocks one out of the park. &lt;br /&gt;
&lt;br /&gt;
Downtime can grossly be divided into planned and unplanned outages.  You may determine that since you only serve people  in one time zone who had beeter be in bed between 2 and 4 in the morning,  that you can live with 2 hours of planned downtime a night.  On the other hand, you may feel that from 7:00 a.m. to 10 p.m. Monday through Friday no outage is acceptable.&lt;br /&gt;
&lt;br /&gt;
===Are you Prepared to Serve as a SYSADMIN?===&lt;br /&gt;
How are you planning to staff your project (see above??)&lt;br /&gt;
Do you have buy in from your IT dept?&lt;br /&gt;
Is everyone involved familiar with the realistic demands of a Moodle install (crank the FTEs!)&lt;br /&gt;
===Is Your Web Host Willing to Negotiate for the Services You require===&lt;br /&gt;
====SLAs====&lt;br /&gt;
What is an SLA? An SLA is a Service Level Agreement. While wikipedia provides  [http://en.wikipedia.org/wiki/Service_level_agreement a basic discussion of SLAs],  a review of [http://www.nkarten.com/sla.html Naomi Karten&#039;s site], which is pitched at the vendor might prove helpful.  There are [http://www.service-level-agreement.net/ commercial SLA kits as well].&lt;br /&gt;
&lt;br /&gt;
By way of example, consider [https://confluence.delhi.edu/display/CIS/Moodlerooms+Service+Level+Agreement the SLA between Delhi SUNY and Moodlerooms] ([https://confluence.delhi.edu/pages/diffpages.action?pageId=82083866&amp;amp;originalId=82346012 and see this comparison]), an SLA in pdf format for [http://www.northumbrialearning.co.uk/documents/legal/moodle_hosting.pdf North Umbria Learning], and an SLA in MS Word format for [http://www.kwantlen.ca/__shared/assets/Moodle_Service_Level_Agreement4387.doc Kwantlen, Canada].&lt;br /&gt;
&lt;br /&gt;
====Remedies====&lt;br /&gt;
Well,  having considered an SLA hard and fast, the question is whether your SLA sets out specific remedies for those occasions when your vendor doesn&#039;t provide the services agreed upon,  and if not, what recourse you may have.&lt;br /&gt;
&lt;br /&gt;
To put this another way,  [http://www.kentlaw.edu/perritt/courses/property/Hohfeld.htm you have no rights if you have no remedies].  Depending on the relative bargaining power of the parties remedies could run from monetary damages to a term extension. In many cases your potential vendor may refuse to agree to any specific remedies.  Consider the vendor who &amp;quot;guarantees&amp;quot; band width and when asked what the client receives when the bandwidth drops below the guaranteed service level, the vendor states that they will work to resolve the issue; there is no remedy and the guarantee is mere puffing.&lt;br /&gt;
&lt;br /&gt;
Negotiating for remedies is an excellent way to explore the amount of faith the vendor puts in his own stock. Most often you will be told that the vendor can&#039;t provide any remedy as remedies could put them out of business. Chances are that this vendor does not have redundancy or experience necessary to provide mission critical service. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Notes to selves:&lt;br /&gt;
Here is the real meat and potatoes,  which we can put here or actually put on additional pages (my prefs)&lt;br /&gt;
SO a link to range of service, types of support, security, e-mail, mysql support, panels....&lt;br /&gt;
perhaps as well, pages on SLAs generally, boilerplate and guarantees, punchlists&lt;br /&gt;
Perhaps specific sections, with brief descriptors and links to more detailed pages.&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Planning an Installation=&lt;br /&gt;
&lt;br /&gt;
[[Installation FAQ]]&lt;br /&gt;
&lt;br /&gt;
==Outsourcing==&lt;br /&gt;
&lt;br /&gt;
===Developing your specs===&lt;br /&gt;
&lt;br /&gt;
Often a larger installation will not be a vanilla Moodle site, and needs to be tuned or customised to a particular purpose or environment.  &lt;br /&gt;
&lt;br /&gt;
If possible, try to develop a really clear specification of what you want internally.  Create a written document that is clear and concise about your needs, including a statement of your purpose and goals.  Resist the temptation to get too detailed, though - 100 page specifications full of descriptive text and mock screenshots may result in your Request For Quote (RFQ) ending up in a too-hard basket.&lt;br /&gt;
&lt;br /&gt;
If you aren&#039;t sure exactly what you need, consider consulting with experts who have implemented similar systems before.  The Moodle forums are a useful place to ask questions and get results from a variety of Moodle experts (but everyone will appreciate it if you read the pertinent docs first.)&lt;br /&gt;
&lt;br /&gt;
===Approaching providers===&lt;br /&gt;
&lt;br /&gt;
When sending your request for a quote to providers, make sure to include information about your deadlines and resources to help the provider make a balanced judgement on their costs and availability (depending on the work you need).&lt;br /&gt;
&lt;br /&gt;
===Comparing quotes===&lt;br /&gt;
&lt;br /&gt;
Generally you do get what you pay for.  Like most things you should consider the following variables beyond cost value:&lt;br /&gt;
&lt;br /&gt;
# Stability of the company&lt;br /&gt;
# Service level agreement (SLA) details&lt;br /&gt;
# Reputation of the provider &lt;br /&gt;
# Experience with Moodle &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Do It Yourself==&lt;br /&gt;
[[Planning your installation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74716</id>
		<title>Finding and Selecting A Web Host</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74716"/>
		<updated>2010-08-12T17:25:14Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Planning a Moodle installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose==&lt;br /&gt;
These pages are meant to serve as an additional guide to help users work through variety of questions, issues, etc. as they choose the best way to provide Moodle as an LMS to their users.  We hope that these pages will help to steer the user to helpful materials that may not be easily found by the docs search engine.  This is an ambitious undertaking, so we would be very pleased for more authors to add to the content!&lt;br /&gt;
&lt;br /&gt;
A similar effort can be found in the [[Decision FAQ]] and if you have suggestions for integration, linking, etc.  please feel free to post suggestions via the &amp;quot;page comments&amp;quot; tab above.&lt;br /&gt;
&lt;br /&gt;
==Planning a Moodle installation==&lt;br /&gt;
&lt;br /&gt;
If you are interested in installing and using a Moodle instance in your school, organization, or business, there are many things you must consider.  Not only do you have to think about the technical aspects, you also should put some thought into how you would like to use the system, maintain the system, create the content, and support the users.&lt;br /&gt;
&lt;br /&gt;
Depending on the scope and scale of your instance, and the technical expertise you can bring to the table, you may decide that you can host Moodle yourself or you may realize you could use some help!  This page focuses on making decisions about how or where to host a Moodle site.  Other pages will be developed to address the separate issue of retaining consultants apart from the question of hosting (though many of the concerns in addressing both are comparable.)&lt;br /&gt;
&lt;br /&gt;
In addition to technical expertise, there are staffing issues to consider.  A &#039;&#039;&#039;developer&#039;&#039;&#039; will help you write code to enhance or add new functionality.  Many installations find that they do not need a developer, or they can hire development on an ad hoc basis.  An &#039;&#039;&#039;LMS/Moodle administrator&#039;&#039;&#039; needs to have a good understanding of the system side of moodle.  The more this person knows about databases and general web applications, the better.  If you don&#039;t have an IT person to run the server and manage security, then the LMS/Moodle administrator may need to oversee these important duties. &#039;&#039;&#039;Content creators&#039;&#039;&#039; usually assist instructors with planning and creating course content.  Large installations may need dedicated IT staff and database administrators.  Consider the mix of people you have to support Moodle in your organization.  You may find that you can cover all these bases with your current staff.  If not, you may want to look at a contracting to provide management and maintenance services for your Moodle instance, your instructors, and your students/course participants.&lt;br /&gt;
&lt;br /&gt;
==Who are you?  Types of Moodle Instances==&lt;br /&gt;
Before you choose a host, it would probably be helpful to have a firm understanding of who &#039;&#039;&#039;YOU&#039;&#039;&#039; are.  What do you intend to accomplish with your Moodle instance?  &lt;br /&gt;
&lt;br /&gt;
Typical types of Moodle instances include schools, companies, agencies, churches, and a wide variety of non-profit organizations.  A single individual may want to deliver just two or three courses.  Some moodle instances serve as portfolios or special project spaces.  Moodlers are very innovative!&lt;br /&gt;
&lt;br /&gt;
Each of these types of Moodle users will have differing requirements and needs.  Each may have different ideas about what kind of content they want to provide, who will be facilitating the &amp;quot;course work&amp;quot; (or if the course work will be automated), how they will enroll the users, and how strictly they want/need to enforce privacy for users.&lt;br /&gt;
&lt;br /&gt;
These issues are of great importance when selecting a host.  If you can identify exactly what you want to do and how you think it can be best accomplished, then you will likely recognize whether or not you can &amp;quot;do it yourself&amp;quot;, if you need to look for full-service hosting, or if you can accomplish your goals with a consultant or ad hoc development.&lt;br /&gt;
&lt;br /&gt;
The following are common types of users.  Some people only use moodle to create and teach courses (albeit in quite a lot of different ways!) Some people take care of the Moodle &amp;quot;back end&amp;quot;, which involves administrative functions.  In some cases, the Moodle admin will take on responsibilities for &amp;quot;server admin&amp;quot; as well as assisting with training for teachers using moodle.  In others, the &amp;quot;server admin&amp;quot; will work with other people to form a group that covers Moodle admin and classroom teacher perspectives.  Trainers often have all the skills for the instructor as well as Moodle adminintrator.  There are endless combinations of staffing and roles depending on your organization. &lt;br /&gt;
&lt;br /&gt;
The following examples should be seen as a rough continuum with many variations possible. Take a look at the examples that seem to fit you best and we will attempt to describe the skillsets you will need and our best advice for the type of hosting you may find most practical:&lt;br /&gt;
&lt;br /&gt;
===The classroom teacher, instructor, professor, or course creator===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_teachers|The Hosting for moodle teachers page]] describes the default role of &amp;quot;editing teacher&amp;quot; and sets out some considerations for evaluating your ability to manage a Moodle instance on your own.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to negotiate an agreement with them to provide the hosting and assume responsibility for the administrative tasks related to running a Moodle instance.  Depending on your situation and the level of support you need, outsourcing might be the more attractive option.&lt;br /&gt;
&lt;br /&gt;
=== The (limited) Moodle admin===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_admins|The hosting for moodle admins page]] describes the role of the Moodle admin.  Not the server admin.  This role is limited to managing Moodle, but not other software packages on the server.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to arrange for them to provide the hosting and you assume responsibility for the administrative tasks related to running a Moodle instance.&lt;br /&gt;
&lt;br /&gt;
===The Advanced Moodle admin===&lt;br /&gt;
&lt;br /&gt;
As you by now expected, [[Hosting_for_moodle_admins_advanced|the hosting for moodle advanced admins page]] is for those people who manage Moodle as well as getting into server side considerations, such as cron, email, database management and php.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in hosting without service.&lt;br /&gt;
&lt;br /&gt;
===The Server admin===&lt;br /&gt;
&lt;br /&gt;
There is also a [[Hosting_for_server_admins|page addressing hosting for server admins]], for people who have the necessary skills and knowledge to manage the server and stack software.  If you fit into this category, you may be less or not involved in managing the moodle instance.  Some individuals will be able to run the server as well as manage the moodle instance in its entirety.&lt;br /&gt;
&lt;br /&gt;
==Types of Hosts==&lt;br /&gt;
&lt;br /&gt;
===Hosts who provide full Moodle management/maintenance services===&lt;br /&gt;
&lt;br /&gt;
Some hosts are ready to support Moodle as a software package as well as providing and maintaining the server it runs on.  They may provide training, content building, and development services as well. Service packages will likely include moodle upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups. &lt;br /&gt;
&lt;br /&gt;
There are two types of full-service hosts for the purposes of this discussion:  Moodle Partners and hosts who are not Moodle Partners.&lt;br /&gt;
&lt;br /&gt;
The [http://moodle.com/partners Moodle Partners] are an [http://moodle.com/partners/list/ international group] of Moodle-based service companies that work closely with [http://moodle.com/ Moodle Pty Ltd].  They contribute 10% of their earnings directly to core Moodle development and are subject to certain codes of conduct.  They provide a range of optional commercial services including fully-serviced Moodle hosting, training, certification, remote support contracts, custom code development and consulting.  Different Partners vary in size, and focus on different specialities in different countries.&lt;br /&gt;
&lt;br /&gt;
Generally only Moodle Partners are allowed to use the Moodle trademark (such as the phrase &amp;quot;Moodle hosting&amp;quot;) to advertise their Moodle Services (see the [[License]] for details).  &lt;br /&gt;
&lt;br /&gt;
There are a variety of other companies providing similar services (sometimes under other names like &amp;quot;lms hosting&amp;quot; and sometimes not) that are not affiliated with the Moodle project and who do not support the project through royalties.  Some of them even offer free services that are supported by third-party advertising.&lt;br /&gt;
&lt;br /&gt;
As a consumer you need to choose carefully from all the options available to you.  Each of these companies is an individual concern, and a prospective client is ultimately responsible for understanding what service package they are purchasing and how long it might be likely to be around.  Do your research and articulate your needs and expectations very carefully!&lt;br /&gt;
&lt;br /&gt;
If you google &amp;quot;moodle hosting&amp;quot; you will find Moodle Partners and a large number of sites offering Moodle hosting that are not full-service hosts.  Be very careful.  Many sites that advertise &amp;quot;Moodle hosting&amp;quot; are really offering you hosting of the software only, without additional management and maintenance services.  These hosts do provide the software you need to run Moodle, but you are on your own after that!&lt;br /&gt;
&lt;br /&gt;
===Hosting without Moodle management and maintenance services===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_without_service|Hosting without Moodle management and maintenance services]] is perhaps the most common situation.  Many people select this option when they have decided they do not want to be responsible for hardware or the basic software &amp;quot;stack&amp;quot; used to run a Moodle instance, but also do not want to pay the premium for someone else to provide administrative expertise in the management of Moodle.  There are thousands of web hosts available, and each probably offers a slightly different set of service options.&lt;br /&gt;
&lt;br /&gt;
While full-service or managed hosting packages may include upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups, no-frills hosting will assume that you are willing to manage all these aspects of running a moodle instance.&lt;br /&gt;
&lt;br /&gt;
If you have a reasonable level of confidence in hosting your own site this can be a very inexpensive solution.&lt;br /&gt;
&lt;br /&gt;
===In-house hosting (or &amp;quot;do it yourself&amp;quot;)===&lt;br /&gt;
If you have the necessary background and interest, you (or your IT team) can set up your own server and run one or more Moodle instances to support your institution, business, or project.  You may choose to deploy Moodle on a variety of different operating systems (Mac, Linux, Windows) and with several different database options (MySQL, Postgres, MSSQL).  While this page is not intended to provide assistance in accomplishing this goal, it does attempt to describe the sort of knowledge base you or your team will require for successfully [[in_house_hosting|hosting your own Moodle instance.]]  You could also consider commercial support for in-house hosting from any of the commercial support providers mentioned above.&lt;br /&gt;
&lt;br /&gt;
=Choosing a Web Host=&lt;br /&gt;
&lt;br /&gt;
==The User Experience==&lt;br /&gt;
===Your Compendium===&lt;br /&gt;
[[Web_Hosts|A matrix]] has been created so that users can provide information on various web hosting options here. Please feel free to add to the matrix,  but respect the footnoting conventions and the table structure please.  There is some exploration of using Google Docs to address user feedback on Web Hosts. While a Google Doc may eventually be embedded in the Web Host doc, an experimental version can be [https://spreadsheets.google.com/pub?key=0AkMXlh7DWOcTcEdsTWhWUlFfelUtM20talNqZVFDR1E seen here].&lt;br /&gt;
&lt;br /&gt;
&#039;NB:&#039; If the wiki structure for the matrix is too much of a hassle, please just use the + tab from the &amp;quot;page comment&amp;quot; tab (you must be logged in to docs to see this,  and that is still a separate log in....) to add your comments and someone will transfer them to the matrix.&lt;br /&gt;
&lt;br /&gt;
===Discussion in the Forums===&lt;br /&gt;
While the forums should not be viewed as authoritative as circumstances change over time, they have been a focal point for quite a bit of discussion of various web hosts over time.  &lt;br /&gt;
&lt;br /&gt;
A collection of posts largely focusing on GoDaddy can be [http://moodle.org/mod/forum/discuss.php?d=53087#p459052| found here] and a list of discussions concerning quite a few other hosts, courtesy of [http://moodle.org/user/view.php?id=195424&amp;amp;course=5| Richard Enison (RLE)], appears in that collection [http://moodle.org/mod/forum/discuss.php?d=53087&amp;amp;parent=459052| at this address].&lt;br /&gt;
&lt;br /&gt;
==Why Use A Web Host==&lt;br /&gt;
&lt;br /&gt;
General areas of concern are:&lt;br /&gt;
&lt;br /&gt;
===General Management and Installation Assistance===&lt;br /&gt;
Many web hosts offer GUIs that provide shortcuts to install and manage web applications.  Some typical &amp;quot;panel&amp;quot; options are Fantastico and cpanel,  while an example of a management application that many webhosts make available is phpmyadmin (for managing mysql databases.)&lt;br /&gt;
====CPanel====&lt;br /&gt;
If you decide to choose a hosting company that has cpanel then  [http://ic.eflclasses.org/tutorials/settingupmoodleonhostingwitholdcpanel.swf this tutorial] may provide some guidance in choosing a host and setting up moodle via the old cpanel. It is a VERY large file (that runs for about 12 minutes) and you will have to wait for it to load but [[User:Eric Hagley|Eric Hagley]] indicates it is worth the wait as affords a step by step approach. If you have the new cpanel please use [http://ic.eflclasses.org/tutorials/settingupmoodleoncpanel.swf this link] for an updated tutorial.&lt;br /&gt;
 &lt;br /&gt;
===Keeping Your Software Current===&lt;br /&gt;
Software such as Moodle is not static; it changes all the time.  Indeed Moodle software changes sometimes daily. Software may be altered to fix security issues or to make improvements.  Sometimes a fix in one respect causes a bug in another.  &lt;br /&gt;
&lt;br /&gt;
Additionally, as noted below, Moodle is not the only product you may want to keep current,  and any time you are trying to keep multiple applications current you are bound to run into compatibility issues.&lt;br /&gt;
&lt;br /&gt;
As noted elsewhere, some web hosts provide utilities for web application management. For a discussion of updating software using such utilities (Cpanel for example) see the section on [[#General Management and Installation Assistance|General Management and Installation Assistance above]].&lt;br /&gt;
&lt;br /&gt;
===Keeping Your Software Compatible===&lt;br /&gt;
Moodle is not &amp;quot;just&amp;quot; Moodle.  The Moodle experience relies on a set of software applications,  including a web server (often but not necessarily  Apache), PHP, and a database engine (often but not necessarily mySQL), as well as the Moodle code itself. Each of the elements involved is regularly updated and this will result in compatibility issues. A fix to one application may cause a problem in another. Moreover, the manner in which an issue is addressed in one version may change with the next (an example being the use of php.ini files, which were required in every directory in php 4.x, a practice unnecessary in php 5.)&lt;br /&gt;
&lt;br /&gt;
In addition to the four primary Moodle components (again, web server, database engine, PHP and Moodle code) you may wish to install a variety of additional software to use with Moodle (Moodle offers many modules to provide for the integration of external applications). The addition of an external application to your overall system increases complexity because as the various applications develop the modules integrating them may fail.&lt;br /&gt;
&lt;br /&gt;
Module installation might be handled by a firm offering dedicated Moodle services, but will not be typically addressed by a vanilla web-host,  which leaves the install of aspell, dragmath, asciimathml, etc. all to you.&lt;br /&gt;
&lt;br /&gt;
One of the most intelligent questions that may be heard in a Moodle class is whether a course developed in Moodle A will work in Moodle B.  The best answer is, &amp;quot;Maybe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Backups===&lt;br /&gt;
[http://www.murphys-laws.com/murphy/murphy-true.html Murphy&#039;s Law] offers no exceptions; it is an absolute, and without knowing who you are, where you come from or what you do, your Moodle may some day fail. The good news is that the odds of multiple failures are in your favor, so if you are well prepared, this eventuality can be viewed with same equanimity as that stubbed toe.....&lt;br /&gt;
&lt;br /&gt;
Keeping very good records of your hacks, your additions, and the settings you have used for moodle as well as all the other software that it takes to support a moodle instance provides invaluable information.  A backup regime, including course backups, software backups, and database backups is also important.&lt;br /&gt;
&lt;br /&gt;
The Moodler must remember that while Moodle itself can do some backups,  Moodle backups are very intensive and are only a small facet of an effective backup program,  which must address the variety of data that is encompassed by a Moodle web site.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll discuss various backup types and issues below,  but first let&#039;s talk about the underlying issue: who is doing what?&lt;br /&gt;
&lt;br /&gt;
Some web hosts provide &amp;quot;snap shots&amp;quot;, some provide site wide backups. Some offer shell access and tell you to roll your own, while some web hosts honestly couldn&#039;t care less....  You must remember that, without a specific agreement otherwise, it is unlikely that your web host acknowledges any responsibility for maintaining your data.  Unfortunately,  typically each of your data types may require a different kind of backup and you either need to learn how to do effective backups of your site on your own, or you will have to negotiate what amounts to bare metal backup with your Web Host (and you will need to identify an appropriate window,  because you want your backups to be rather more current than your web host might find sensible....)&lt;br /&gt;
&lt;br /&gt;
If you have shell access the good news is that there are quite a few scripts out there you can use to help yourself build an effective backup regimen.&lt;br /&gt;
&lt;br /&gt;
There are critical points with respect to backing up your data that need to be addressed. They range from the global, such as addressing the location for the backups and managing remote backups (rsync can be helpful in this respect) and actually handling and recycling of the files themselves (when do you back up, what do you backup when you do backup, and how long do you keep a specific file) to the narrow (for example the db should be locked during backup.) While we have broken up this discussion because different types of data need to be treated in different ways, one could script one&#039;s system to address backups for all the different types of data.&lt;br /&gt;
&lt;br /&gt;
Another option that we should mention in passing is that one can also look at replication of data, either to a simple store or to a failover unit. Be aware that mysql replication requires access to mysql commands that some web hosts do not provide. Chances are that if you are looking at replication you are having multiple private systems hosted by a vendor or are running your own installation and have looked at fail-over, clusters and replication in depth.&lt;br /&gt;
&lt;br /&gt;
Lastly, please remember that if you are paying a web host for bandwidth used, remote backup could become a source of significant expense&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: AT present there is one Backup page, [[Site_backup]], in the docs,  and it might be helpful at some time to break that up so that separate docs address different aspects of backup with one page addressing scripting options.  In any event link to backup page needs to be added&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
====Data====&lt;br /&gt;
By data we mean the contents of the moodledata directory, which may represent some of your most important material.&lt;br /&gt;
&lt;br /&gt;
====GUI====&lt;br /&gt;
Your GUI is what is most often neglected when addressing backups. More often than not much of what you think of as your GUI will be reflected in any customizations to your theme, with pertinent data located in your Moodle code installation (/moodle/theme - see below) and possibly moodledata (a possible site for images used.)&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
Whatever database you are using,  it is critical that you dump and store your db regularly, especially because it can be so simple to restore a site if you have a recent db dump. This can be accomplished manually via a GUI as with phpmyadmin or mysql admin or via command line if the user has access and the requisite skills.  It can also be automated via commercial or open scripting (as in HandyBackup  or automysqlbackup).&lt;br /&gt;
&lt;br /&gt;
====Software====&lt;br /&gt;
Not only your Moodle configuration (additional modules, hacks and twiddles),  but complementary software that you have integrated (like Mahara, etc) should be backed up.&lt;br /&gt;
&lt;br /&gt;
You might ask why you should back up your Moodle code when you can just download it from Moodle and reinstall.  There are a couple of issues here.  First, the version of Moodle you download today is going to be different than the same version of Moodle you download tomorrow.  This is confusing but that is how things lie.  It is possible that a new install will result in problems on a restore and if you are facing down  some failure you DO NOT want to then also have to try and figure out why what was working yesterday isn&#039;t working today. All things being constant  is the hallmark of restore, and you don;t want to deal with any changes you are not aware of.  &lt;br /&gt;
&lt;br /&gt;
The second issue is your potential customization,  whether that amounts to hacks to php code or just to the installation of additional modules. If speed is of interest (and when doing a restore after failure the most oft heard words are &amp;quot;how soon&amp;quot; ) you don&#039;t want to have to recreate your Moodle application, you want to be able to restore.&lt;br /&gt;
&lt;br /&gt;
And a third issue related to the previous point is theme customization. Themes are stored in /moodle/theme.&lt;br /&gt;
&lt;br /&gt;
===Security===&lt;br /&gt;
Most often we talk about security in the context of potential threats to your data. Of course, what can cause some consternation here is that different folks think of data in different ways. There is the data Moodle places in the mysql database.  There is the data that Moodle places in the moodledata file structure, and there is the Moodle code itself. You may want to consider protecting all of these types of data from unauthorized reading, writing and execution. Think of this as a two dimensional matrix.  Now add a third dimension that includes various ways one might be able to access any cell in the existing table, including coding flaws, external configuration problems and internal Moodle configuration issues&lt;br /&gt;
&lt;br /&gt;
====Code Flaws====&lt;br /&gt;
Code exploits are addressed regularly through patches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need links to the various fora, etc for security reporting and info)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configuration====&lt;br /&gt;
The most typical issue in this area is placing the moodledata directory in the web root.&lt;br /&gt;
&lt;br /&gt;
====Moodle set-up====&lt;br /&gt;
This includes such matters as enrollment, internal role configuration, etc.&lt;br /&gt;
&lt;br /&gt;
Perhaps the most widely discussed problem here has been the matter of profile spam that can be produced when admins allow open e-mail enrollment.  There are arguments as to whether this is a security issue or not (and sometimes it seems that the same folks are on both sides of the issue at times) but what it means from a practical standpoint is that you can have a Moodle targeted at your elementary school which contains enough pornography to make Bosche blush.&lt;br /&gt;
&lt;br /&gt;
Sophisticated authentication relying on Moodle Networking, LDAP etc. will require some administrative skill sets pertinent to the scheme employed. One should also be acquainted with the underlying nature of access control including the difference between authentication and authorization. See, e.g.  http://en.wikipedia.org/wiki/Access_control&lt;br /&gt;
&lt;br /&gt;
More more prosaic but as important are matters of security policy and enunciation of protocols addressing access rights to data (in the U. S. consider HIPAA, FERPA, IDEA, etc.)&lt;br /&gt;
&lt;br /&gt;
===Integration===&lt;br /&gt;
After an initial basic Moodle installation there are quite a few tasks that need to be addressed to integrate the Moodle with all the bells and whistles you are expecting to use.&lt;br /&gt;
====Cron====&lt;br /&gt;
One of the most important post-install tasks is to invoke cron.php via the system cron daemon (or Task Scheduler...) Among other tasks,  such as backup, cron triggers mail. [[Cron]] explains a good deal but there may be issues when trying to use smtp (some of these have been fixed in Moodle 1.9.3) to alternative ports.&lt;br /&gt;
====Mail====&lt;br /&gt;
While typically Moodle will use PHP&#039;s mail routines, in some cases you may have to configure mail manually and some issues may require manual database edits.  See, [[Email settings]] and [[Email setup gmail]] as examples of possible manual configuration.&lt;br /&gt;
====Max File Upload====&lt;br /&gt;
The maximum size of file uploads for Moodle can be controlled via the Moodle GUI but are also constrained via Apache and PHP, and to adjust these you may need to be able to edit .htaccess and/or php.ini. Here are some examples of the discussin of such matters: http://moodle.org/mod/forum/discuss.php?d=98064&amp;amp;parent=433245 and  http://moodle.org/mod/forum/discuss.php?d=103190&amp;amp;parent=456650&lt;br /&gt;
&lt;br /&gt;
==Criteria for Selecting Web Hosts==&lt;br /&gt;
&lt;br /&gt;
===What Purpose Will Your Site Serve===&lt;br /&gt;
Production, Experimentation, etc&lt;br /&gt;
Classroom support or Asynchronous Remote&lt;br /&gt;
Gradebook and critical classroom data&lt;br /&gt;
Number of concurrent users&lt;br /&gt;
&lt;br /&gt;
Issues of scale can be very important.  A relatively small number of concurrent users can generate enough email through forum postings to get you in trouble with your host.  Email volume, storage space for users and courses, number of accounts,&lt;br /&gt;
&lt;br /&gt;
===Will You Be Running a 5 Nines Site===&lt;br /&gt;
What is all this you hear about &amp;quot;five nines&amp;quot;. This is a way to discuss [http://en.wikipedia.org/wiki/Uptime system uptime] and  the implications thereby for the amount of time that a [http://en.wikipedia.org/wiki/High_availability system is down and not available].&lt;br /&gt;
&lt;br /&gt;
While five nines is not that difficult to achieve, it becomes obvious quickly that without redundancy bringing down any part of a system for maintenance quickly knocks one out of the park. &lt;br /&gt;
&lt;br /&gt;
Downtime can grossly be divided into planned and unplanned outages.  You may determine that since you only serve people  in one time zone who had beeter be in bed between 2 and 4 in the morning,  that you can live with 2 hours of planned downtime a night.  On the other hand, you may feel that from 7:00 a.m. to 10 p.m. Monday through Friday no outage is acceptable.&lt;br /&gt;
&lt;br /&gt;
===Are you Prepared to Serve as a SYSADMIN?===&lt;br /&gt;
How are you planning to staff your project (see above??)&lt;br /&gt;
Do you have buy in from your IT dept?&lt;br /&gt;
Is everyone involved familiar with the realistic demands of a Moodle install (crank the FTEs!)&lt;br /&gt;
===Is Your Web Host Willing to Negotiate for the Services You require===&lt;br /&gt;
====SLAs====&lt;br /&gt;
What is an SLA? An SLA is a Service Level Agreement. While wikipedia provides  [http://en.wikipedia.org/wiki/Service_level_agreement a basic discussion of SLAs],  a review of [http://www.nkarten.com/sla.html Naomi Karten&#039;s site], which is pitched at the vendor might prove helpful.  There are [http://www.service-level-agreement.net/ commercial SLA kits as well].&lt;br /&gt;
&lt;br /&gt;
By way of example, consider [https://confluence.delhi.edu/display/CIS/Moodlerooms+Service+Level+Agreement the SLA between Delhi SUNY and Moodlerooms] ([https://confluence.delhi.edu/pages/diffpages.action?pageId=82083866&amp;amp;originalId=82346012 and see this comparison]), an SLA in pdf format for [http://www.northumbrialearning.co.uk/documents/legal/moodle_hosting.pdf North Umbria Learning], and an SLA in MS Word format for [http://www.kwantlen.ca/__shared/assets/Moodle_Service_Level_Agreement4387.doc Kwantlen, Canada].&lt;br /&gt;
&lt;br /&gt;
====Remedies====&lt;br /&gt;
Well,  having considered an SLA hard and fast, the question is whether your SLA sets out specific remedies for those occasions when your vendor doesn&#039;t provide the services agreed upon,  and if not, what recourse you may have.&lt;br /&gt;
&lt;br /&gt;
To put this another way,  [http://www.kentlaw.edu/perritt/courses/property/Hohfeld.htm you have no rights if you have no remedies].  Depending on the relative bargaining power of the parties remedies could run from monetary damages to a term extension. In many cases your potential vendor may refuse to agree to any specific remedies.  Consider the vendor who &amp;quot;guarantees&amp;quot; band width and when asked what the client receives when the bandwidth drops below the guaranteed service level, the vendor states that they will work to resolve the issue; there is no remedy and the guarantee is mere puffing.&lt;br /&gt;
&lt;br /&gt;
Negotiating for remedies is an excellent way to explore the amount of faith the vendor puts in his own stock. Most often you will be told that the vendor can&#039;t provide any remedy as remedies could put them out of business. Chances are that this vendor does not have redundancy or experience necessary to provide mission critical service. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Notes to selves:&lt;br /&gt;
Here is the real meat and potatoes,  which we can put here or actually put on additional pages (my prefs)&lt;br /&gt;
SO a link to range of service, types of support, security, e-mail, mysql support, panels....&lt;br /&gt;
perhaps as well, pages on SLAs generally, boilerplate and guarantees, punchlists&lt;br /&gt;
Perhaps specific sections, with brief descriptors and links to more detailed pages.&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Planning an Installation=&lt;br /&gt;
&lt;br /&gt;
[[Installation FAQ]]&lt;br /&gt;
&lt;br /&gt;
==Outsourcing==&lt;br /&gt;
&lt;br /&gt;
===Developing your specs===&lt;br /&gt;
&lt;br /&gt;
Often a larger installation will not be a vanilla Moodle site, and needs to be tuned or customised to a particular purpose or environment.  &lt;br /&gt;
&lt;br /&gt;
If possible, try to develop a really clear specification of what you want internally.  Create a written document that is clear and concise about your needs, including a statement of your purpose and goals.  Resist the temptation to get too detailed, though - 100 page specifications full of descriptive text and mock screenshots may result in your Request For Quote (RFQ) ending up in a too-hard basket.&lt;br /&gt;
&lt;br /&gt;
If you aren&#039;t sure exactly what you need, consider consulting with experts who have implemented similar systems before.  The Moodle forums are a useful place to ask questions and get results from a variety of Moodle experts (but everyone will appreciate it if you read the pertinent docs first.)&lt;br /&gt;
&lt;br /&gt;
===Approaching providers===&lt;br /&gt;
&lt;br /&gt;
When sending your request for a quote to providers, make sure to include information about your deadlines and resources to help the provider make a balanced judgement on their costs and availability (depending on the work you need).&lt;br /&gt;
&lt;br /&gt;
===Comparing quotes===&lt;br /&gt;
&lt;br /&gt;
Generally you do get what you pay for.  Like most things you should consider the following variables beyond cost value:&lt;br /&gt;
&lt;br /&gt;
# Stability of the company&lt;br /&gt;
# Service level agreement (SLA) details&lt;br /&gt;
# Reputation of the provider &lt;br /&gt;
# Experience with Moodle &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Do It Yourself==&lt;br /&gt;
[[Planning your installation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74715</id>
		<title>Finding and Selecting A Web Host</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74715"/>
		<updated>2010-08-12T17:22:14Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Your Compendium */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose==&lt;br /&gt;
These pages are meant to serve as an additional guide to help users work through variety of questions, issues, etc. as they choose the best way to provide Moodle as an LMS to their users.  We hope that these pages will help to steer the user to helpful materials that may not be easily found by the docs search engine.  This is an ambitious undertaking, so we would be very pleased for more authors to add to the content!&lt;br /&gt;
&lt;br /&gt;
A similar effort can be found in the [[Decision FAQ]] and if you have suggestions for integration, linking, etc.  please feel free to post suggestions via the &amp;quot;page comments&amp;quot; tab above.&lt;br /&gt;
&lt;br /&gt;
==Planning a Moodle installation==&lt;br /&gt;
&lt;br /&gt;
If you are interested in installing and using a Moodle instance in your school, organization, or business, there are many things you must consider.  Not only do you have to think about the technical aspects, you also should put some thought into how you would like to use the system, maintain the system, create the content, and support the users.&lt;br /&gt;
&lt;br /&gt;
Depending on the scope and scale of your instance, and the technical expertise you can bring to the table, you may decide that you can host Moodle yourself or you may realize you could use some help!  This page focuses on making decisions about how or where to host a Moodle site.  Other pages will be developed to address the separate issue of retaining consultants apart from the question of hosting (though many of the concerns in addressing both are comparable.)&lt;br /&gt;
&lt;br /&gt;
In addition to technical expertise, there are staffing issues to consider.  A &#039;&#039;&#039;developer&#039;&#039;&#039; will help you write code to enhance or add new functionality.  Many installations find that they do not need a developer, or they can hire development on an ad hoc basis.  An &#039;&#039;&#039;LMS/Moodle administrator&#039;&#039;&#039; needs to have a good understanding of the system side of moodle.  The more this person knows about databases and general web applications, the better.  If you don&#039;t have an IT person to run the server and manage security, then the LMS/Moodle administrator may need to oversee these important duties. &#039;&#039;&#039;Content creators&#039;&#039;&#039; usually assist instructors with planning and creating course content.  Large installations may need dedicated IT staff and database administrators.  Consider the mix of people you have to support Moodle in your organization.  You may find that you can cover all these bases with your current staff.  If not, you may want to look at a [http://moodle.com/ Moodle Partner] to provide management and maintenance services for your Moodle instance, your instructors, and your students/course participants.&lt;br /&gt;
&lt;br /&gt;
==Who are you?  Types of Moodle Instances==&lt;br /&gt;
Before you choose a host, it would probably be helpful to have a firm understanding of who &#039;&#039;&#039;YOU&#039;&#039;&#039; are.  What do you intend to accomplish with your Moodle instance?  &lt;br /&gt;
&lt;br /&gt;
Typical types of Moodle instances include schools, companies, agencies, churches, and a wide variety of non-profit organizations.  A single individual may want to deliver just two or three courses.  Some moodle instances serve as portfolios or special project spaces.  Moodlers are very innovative!&lt;br /&gt;
&lt;br /&gt;
Each of these types of Moodle users will have differing requirements and needs.  Each may have different ideas about what kind of content they want to provide, who will be facilitating the &amp;quot;course work&amp;quot; (or if the course work will be automated), how they will enroll the users, and how strictly they want/need to enforce privacy for users.&lt;br /&gt;
&lt;br /&gt;
These issues are of great importance when selecting a host.  If you can identify exactly what you want to do and how you think it can be best accomplished, then you will likely recognize whether or not you can &amp;quot;do it yourself&amp;quot;, if you need to look for full-service hosting, or if you can accomplish your goals with a consultant or ad hoc development.&lt;br /&gt;
&lt;br /&gt;
The following are common types of users.  Some people only use moodle to create and teach courses (albeit in quite a lot of different ways!) Some people take care of the Moodle &amp;quot;back end&amp;quot;, which involves administrative functions.  In some cases, the Moodle admin will take on responsibilities for &amp;quot;server admin&amp;quot; as well as assisting with training for teachers using moodle.  In others, the &amp;quot;server admin&amp;quot; will work with other people to form a group that covers Moodle admin and classroom teacher perspectives.  Trainers often have all the skills for the instructor as well as Moodle adminintrator.  There are endless combinations of staffing and roles depending on your organization. &lt;br /&gt;
&lt;br /&gt;
The following examples should be seen as a rough continuum with many variations possible. Take a look at the examples that seem to fit you best and we will attempt to describe the skillsets you will need and our best advice for the type of hosting you may find most practical:&lt;br /&gt;
&lt;br /&gt;
===The classroom teacher, instructor, professor, or course creator===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_teachers|The Hosting for moodle teachers page]] describes the default role of &amp;quot;editing teacher&amp;quot; and sets out some considerations for evaluating your ability to manage a Moodle instance on your own.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to negotiate an agreement with them to provide the hosting and assume responsibility for the administrative tasks related to running a Moodle instance.  Depending on your situation and the level of support you need, outsourcing might be the more attractive option.&lt;br /&gt;
&lt;br /&gt;
=== The (limited) Moodle admin===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_admins|The hosting for moodle admins page]] describes the role of the Moodle admin.  Not the server admin.  This role is limited to managing Moodle, but not other software packages on the server.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to arrange for them to provide the hosting and you assume responsibility for the administrative tasks related to running a Moodle instance.&lt;br /&gt;
&lt;br /&gt;
===The Advanced Moodle admin===&lt;br /&gt;
&lt;br /&gt;
As you by now expected, [[Hosting_for_moodle_admins_advanced|the hosting for moodle advanced admins page]] is for those people who manage Moodle as well as getting into server side considerations, such as cron, email, database management and php.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in hosting without service.&lt;br /&gt;
&lt;br /&gt;
===The Server admin===&lt;br /&gt;
&lt;br /&gt;
There is also a [[Hosting_for_server_admins|page addressing hosting for server admins]], for people who have the necessary skills and knowledge to manage the server and stack software.  If you fit into this category, you may be less or not involved in managing the moodle instance.  Some individuals will be able to run the server as well as manage the moodle instance in its entirety.&lt;br /&gt;
&lt;br /&gt;
==Types of Hosts==&lt;br /&gt;
&lt;br /&gt;
===Hosts who provide full Moodle management/maintenance services===&lt;br /&gt;
&lt;br /&gt;
Some hosts are ready to support Moodle as a software package as well as providing and maintaining the server it runs on.  They may provide training, content building, and development services as well. Service packages will likely include moodle upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups. &lt;br /&gt;
&lt;br /&gt;
There are two types of full-service hosts for the purposes of this discussion:  Moodle Partners and hosts who are not Moodle Partners.&lt;br /&gt;
&lt;br /&gt;
The [http://moodle.com/partners Moodle Partners] are an [http://moodle.com/partners/list/ international group] of Moodle-based service companies that work closely with [http://moodle.com/ Moodle Pty Ltd].  They contribute 10% of their earnings directly to core Moodle development and are subject to certain codes of conduct.  They provide a range of optional commercial services including fully-serviced Moodle hosting, training, certification, remote support contracts, custom code development and consulting.  Different Partners vary in size, and focus on different specialities in different countries.&lt;br /&gt;
&lt;br /&gt;
Generally only Moodle Partners are allowed to use the Moodle trademark (such as the phrase &amp;quot;Moodle hosting&amp;quot;) to advertise their Moodle Services (see the [[License]] for details).  &lt;br /&gt;
&lt;br /&gt;
There are a variety of other companies providing similar services (sometimes under other names like &amp;quot;lms hosting&amp;quot; and sometimes not) that are not affiliated with the Moodle project and who do not support the project through royalties.  Some of them even offer free services that are supported by third-party advertising.&lt;br /&gt;
&lt;br /&gt;
As a consumer you need to choose carefully from all the options available to you.  Each of these companies is an individual concern, and a prospective client is ultimately responsible for understanding what service package they are purchasing and how long it might be likely to be around.  Do your research and articulate your needs and expectations very carefully!&lt;br /&gt;
&lt;br /&gt;
If you google &amp;quot;moodle hosting&amp;quot; you will find Moodle Partners and a large number of sites offering Moodle hosting that are not full-service hosts.  Be very careful.  Many sites that advertise &amp;quot;Moodle hosting&amp;quot; are really offering you hosting of the software only, without additional management and maintenance services.  These hosts do provide the software you need to run Moodle, but you are on your own after that!&lt;br /&gt;
&lt;br /&gt;
===Hosting without Moodle management and maintenance services===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_without_service|Hosting without Moodle management and maintenance services]] is perhaps the most common situation.  Many people select this option when they have decided they do not want to be responsible for hardware or the basic software &amp;quot;stack&amp;quot; used to run a Moodle instance, but also do not want to pay the premium for someone else to provide administrative expertise in the management of Moodle.  There are thousands of web hosts available, and each probably offers a slightly different set of service options.&lt;br /&gt;
&lt;br /&gt;
While full-service or managed hosting packages may include upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups, no-frills hosting will assume that you are willing to manage all these aspects of running a moodle instance.&lt;br /&gt;
&lt;br /&gt;
If you have a reasonable level of confidence in hosting your own site this can be a very inexpensive solution.&lt;br /&gt;
&lt;br /&gt;
===In-house hosting (or &amp;quot;do it yourself&amp;quot;)===&lt;br /&gt;
If you have the necessary background and interest, you (or your IT team) can set up your own server and run one or more Moodle instances to support your institution, business, or project.  You may choose to deploy Moodle on a variety of different operating systems (Mac, Linux, Windows) and with several different database options (MySQL, Postgres, MSSQL).  While this page is not intended to provide assistance in accomplishing this goal, it does attempt to describe the sort of knowledge base you or your team will require for successfully [[in_house_hosting|hosting your own Moodle instance.]]  You could also consider commercial support for in-house hosting from any of the commercial support providers mentioned above.&lt;br /&gt;
&lt;br /&gt;
=Choosing a Web Host=&lt;br /&gt;
&lt;br /&gt;
==The User Experience==&lt;br /&gt;
===Your Compendium===&lt;br /&gt;
[[Web_Hosts|A matrix]] has been created so that users can provide information on various web hosting options here. Please feel free to add to the matrix,  but respect the footnoting conventions and the table structure please.  There is some exploration of using Google Docs to address user feedback on Web Hosts. While a Google Doc may eventually be embedded in the Web Host doc, an experimental version can be [https://spreadsheets.google.com/pub?key=0AkMXlh7DWOcTcEdsTWhWUlFfelUtM20talNqZVFDR1E seen here].&lt;br /&gt;
&lt;br /&gt;
&#039;NB:&#039; If the wiki structure for the matrix is too much of a hassle, please just use the + tab from the &amp;quot;page comment&amp;quot; tab (you must be logged in to docs to see this,  and that is still a separate log in....) to add your comments and someone will transfer them to the matrix.&lt;br /&gt;
&lt;br /&gt;
===Discussion in the Forums===&lt;br /&gt;
While the forums should not be viewed as authoritative as circumstances change over time, they have been a focal point for quite a bit of discussion of various web hosts over time.  &lt;br /&gt;
&lt;br /&gt;
A collection of posts largely focusing on GoDaddy can be [http://moodle.org/mod/forum/discuss.php?d=53087#p459052| found here] and a list of discussions concerning quite a few other hosts, courtesy of [http://moodle.org/user/view.php?id=195424&amp;amp;course=5| Richard Enison (RLE)], appears in that collection [http://moodle.org/mod/forum/discuss.php?d=53087&amp;amp;parent=459052| at this address].&lt;br /&gt;
&lt;br /&gt;
==Why Use A Web Host==&lt;br /&gt;
&lt;br /&gt;
General areas of concern are:&lt;br /&gt;
&lt;br /&gt;
===General Management and Installation Assistance===&lt;br /&gt;
Many web hosts offer GUIs that provide shortcuts to install and manage web applications.  Some typical &amp;quot;panel&amp;quot; options are Fantastico and cpanel,  while an example of a management application that many webhosts make available is phpmyadmin (for managing mysql databases.)&lt;br /&gt;
====CPanel====&lt;br /&gt;
If you decide to choose a hosting company that has cpanel then  [http://ic.eflclasses.org/tutorials/settingupmoodleonhostingwitholdcpanel.swf this tutorial] may provide some guidance in choosing a host and setting up moodle via the old cpanel. It is a VERY large file (that runs for about 12 minutes) and you will have to wait for it to load but [[User:Eric Hagley|Eric Hagley]] indicates it is worth the wait as affords a step by step approach. If you have the new cpanel please use [http://ic.eflclasses.org/tutorials/settingupmoodleoncpanel.swf this link] for an updated tutorial.&lt;br /&gt;
 &lt;br /&gt;
===Keeping Your Software Current===&lt;br /&gt;
Software such as Moodle is not static; it changes all the time.  Indeed Moodle software changes sometimes daily. Software may be altered to fix security issues or to make improvements.  Sometimes a fix in one respect causes a bug in another.  &lt;br /&gt;
&lt;br /&gt;
Additionally, as noted below, Moodle is not the only product you may want to keep current,  and any time you are trying to keep multiple applications current you are bound to run into compatibility issues.&lt;br /&gt;
&lt;br /&gt;
As noted elsewhere, some web hosts provide utilities for web application management. For a discussion of updating software using such utilities (Cpanel for example) see the section on [[#General Management and Installation Assistance|General Management and Installation Assistance above]].&lt;br /&gt;
&lt;br /&gt;
===Keeping Your Software Compatible===&lt;br /&gt;
Moodle is not &amp;quot;just&amp;quot; Moodle.  The Moodle experience relies on a set of software applications,  including a web server (often but not necessarily  Apache), PHP, and a database engine (often but not necessarily mySQL), as well as the Moodle code itself. Each of the elements involved is regularly updated and this will result in compatibility issues. A fix to one application may cause a problem in another. Moreover, the manner in which an issue is addressed in one version may change with the next (an example being the use of php.ini files, which were required in every directory in php 4.x, a practice unnecessary in php 5.)&lt;br /&gt;
&lt;br /&gt;
In addition to the four primary Moodle components (again, web server, database engine, PHP and Moodle code) you may wish to install a variety of additional software to use with Moodle (Moodle offers many modules to provide for the integration of external applications). The addition of an external application to your overall system increases complexity because as the various applications develop the modules integrating them may fail.&lt;br /&gt;
&lt;br /&gt;
Module installation might be handled by a firm offering dedicated Moodle services, but will not be typically addressed by a vanilla web-host,  which leaves the install of aspell, dragmath, asciimathml, etc. all to you.&lt;br /&gt;
&lt;br /&gt;
One of the most intelligent questions that may be heard in a Moodle class is whether a course developed in Moodle A will work in Moodle B.  The best answer is, &amp;quot;Maybe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Backups===&lt;br /&gt;
[http://www.murphys-laws.com/murphy/murphy-true.html Murphy&#039;s Law] offers no exceptions; it is an absolute, and without knowing who you are, where you come from or what you do, your Moodle may some day fail. The good news is that the odds of multiple failures are in your favor, so if you are well prepared, this eventuality can be viewed with same equanimity as that stubbed toe.....&lt;br /&gt;
&lt;br /&gt;
Keeping very good records of your hacks, your additions, and the settings you have used for moodle as well as all the other software that it takes to support a moodle instance provides invaluable information.  A backup regime, including course backups, software backups, and database backups is also important.&lt;br /&gt;
&lt;br /&gt;
The Moodler must remember that while Moodle itself can do some backups,  Moodle backups are very intensive and are only a small facet of an effective backup program,  which must address the variety of data that is encompassed by a Moodle web site.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll discuss various backup types and issues below,  but first let&#039;s talk about the underlying issue: who is doing what?&lt;br /&gt;
&lt;br /&gt;
Some web hosts provide &amp;quot;snap shots&amp;quot;, some provide site wide backups. Some offer shell access and tell you to roll your own, while some web hosts honestly couldn&#039;t care less....  You must remember that, without a specific agreement otherwise, it is unlikely that your web host acknowledges any responsibility for maintaining your data.  Unfortunately,  typically each of your data types may require a different kind of backup and you either need to learn how to do effective backups of your site on your own, or you will have to negotiate what amounts to bare metal backup with your Web Host (and you will need to identify an appropriate window,  because you want your backups to be rather more current than your web host might find sensible....)&lt;br /&gt;
&lt;br /&gt;
If you have shell access the good news is that there are quite a few scripts out there you can use to help yourself build an effective backup regimen.&lt;br /&gt;
&lt;br /&gt;
There are critical points with respect to backing up your data that need to be addressed. They range from the global, such as addressing the location for the backups and managing remote backups (rsync can be helpful in this respect) and actually handling and recycling of the files themselves (when do you back up, what do you backup when you do backup, and how long do you keep a specific file) to the narrow (for example the db should be locked during backup.) While we have broken up this discussion because different types of data need to be treated in different ways, one could script one&#039;s system to address backups for all the different types of data.&lt;br /&gt;
&lt;br /&gt;
Another option that we should mention in passing is that one can also look at replication of data, either to a simple store or to a failover unit. Be aware that mysql replication requires access to mysql commands that some web hosts do not provide. Chances are that if you are looking at replication you are having multiple private systems hosted by a vendor or are running your own installation and have looked at fail-over, clusters and replication in depth.&lt;br /&gt;
&lt;br /&gt;
Lastly, please remember that if you are paying a web host for bandwidth used, remote backup could become a source of significant expense&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: AT present there is one Backup page, [[Site_backup]], in the docs,  and it might be helpful at some time to break that up so that separate docs address different aspects of backup with one page addressing scripting options.  In any event link to backup page needs to be added&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
====Data====&lt;br /&gt;
By data we mean the contents of the moodledata directory, which may represent some of your most important material.&lt;br /&gt;
&lt;br /&gt;
====GUI====&lt;br /&gt;
Your GUI is what is most often neglected when addressing backups. More often than not much of what you think of as your GUI will be reflected in any customizations to your theme, with pertinent data located in your Moodle code installation (/moodle/theme - see below) and possibly moodledata (a possible site for images used.)&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
Whatever database you are using,  it is critical that you dump and store your db regularly, especially because it can be so simple to restore a site if you have a recent db dump. This can be accomplished manually via a GUI as with phpmyadmin or mysql admin or via command line if the user has access and the requisite skills.  It can also be automated via commercial or open scripting (as in HandyBackup  or automysqlbackup).&lt;br /&gt;
&lt;br /&gt;
====Software====&lt;br /&gt;
Not only your Moodle configuration (additional modules, hacks and twiddles),  but complementary software that you have integrated (like Mahara, etc) should be backed up.&lt;br /&gt;
&lt;br /&gt;
You might ask why you should back up your Moodle code when you can just download it from Moodle and reinstall.  There are a couple of issues here.  First, the version of Moodle you download today is going to be different than the same version of Moodle you download tomorrow.  This is confusing but that is how things lie.  It is possible that a new install will result in problems on a restore and if you are facing down  some failure you DO NOT want to then also have to try and figure out why what was working yesterday isn&#039;t working today. All things being constant  is the hallmark of restore, and you don;t want to deal with any changes you are not aware of.  &lt;br /&gt;
&lt;br /&gt;
The second issue is your potential customization,  whether that amounts to hacks to php code or just to the installation of additional modules. If speed is of interest (and when doing a restore after failure the most oft heard words are &amp;quot;how soon&amp;quot; ) you don&#039;t want to have to recreate your Moodle application, you want to be able to restore.&lt;br /&gt;
&lt;br /&gt;
And a third issue related to the previous point is theme customization. Themes are stored in /moodle/theme.&lt;br /&gt;
&lt;br /&gt;
===Security===&lt;br /&gt;
Most often we talk about security in the context of potential threats to your data. Of course, what can cause some consternation here is that different folks think of data in different ways. There is the data Moodle places in the mysql database.  There is the data that Moodle places in the moodledata file structure, and there is the Moodle code itself. You may want to consider protecting all of these types of data from unauthorized reading, writing and execution. Think of this as a two dimensional matrix.  Now add a third dimension that includes various ways one might be able to access any cell in the existing table, including coding flaws, external configuration problems and internal Moodle configuration issues&lt;br /&gt;
&lt;br /&gt;
====Code Flaws====&lt;br /&gt;
Code exploits are addressed regularly through patches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need links to the various fora, etc for security reporting and info)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configuration====&lt;br /&gt;
The most typical issue in this area is placing the moodledata directory in the web root.&lt;br /&gt;
&lt;br /&gt;
====Moodle set-up====&lt;br /&gt;
This includes such matters as enrollment, internal role configuration, etc.&lt;br /&gt;
&lt;br /&gt;
Perhaps the most widely discussed problem here has been the matter of profile spam that can be produced when admins allow open e-mail enrollment.  There are arguments as to whether this is a security issue or not (and sometimes it seems that the same folks are on both sides of the issue at times) but what it means from a practical standpoint is that you can have a Moodle targeted at your elementary school which contains enough pornography to make Bosche blush.&lt;br /&gt;
&lt;br /&gt;
Sophisticated authentication relying on Moodle Networking, LDAP etc. will require some administrative skill sets pertinent to the scheme employed. One should also be acquainted with the underlying nature of access control including the difference between authentication and authorization. See, e.g.  http://en.wikipedia.org/wiki/Access_control&lt;br /&gt;
&lt;br /&gt;
More more prosaic but as important are matters of security policy and enunciation of protocols addressing access rights to data (in the U. S. consider HIPAA, FERPA, IDEA, etc.)&lt;br /&gt;
&lt;br /&gt;
===Integration===&lt;br /&gt;
After an initial basic Moodle installation there are quite a few tasks that need to be addressed to integrate the Moodle with all the bells and whistles you are expecting to use.&lt;br /&gt;
====Cron====&lt;br /&gt;
One of the most important post-install tasks is to invoke cron.php via the system cron daemon (or Task Scheduler...) Among other tasks,  such as backup, cron triggers mail. [[Cron]] explains a good deal but there may be issues when trying to use smtp (some of these have been fixed in Moodle 1.9.3) to alternative ports.&lt;br /&gt;
====Mail====&lt;br /&gt;
While typically Moodle will use PHP&#039;s mail routines, in some cases you may have to configure mail manually and some issues may require manual database edits.  See, [[Email settings]] and [[Email setup gmail]] as examples of possible manual configuration.&lt;br /&gt;
====Max File Upload====&lt;br /&gt;
The maximum size of file uploads for Moodle can be controlled via the Moodle GUI but are also constrained via Apache and PHP, and to adjust these you may need to be able to edit .htaccess and/or php.ini. Here are some examples of the discussin of such matters: http://moodle.org/mod/forum/discuss.php?d=98064&amp;amp;parent=433245 and  http://moodle.org/mod/forum/discuss.php?d=103190&amp;amp;parent=456650&lt;br /&gt;
&lt;br /&gt;
==Criteria for Selecting Web Hosts==&lt;br /&gt;
&lt;br /&gt;
===What Purpose Will Your Site Serve===&lt;br /&gt;
Production, Experimentation, etc&lt;br /&gt;
Classroom support or Asynchronous Remote&lt;br /&gt;
Gradebook and critical classroom data&lt;br /&gt;
Number of concurrent users&lt;br /&gt;
&lt;br /&gt;
Issues of scale can be very important.  A relatively small number of concurrent users can generate enough email through forum postings to get you in trouble with your host.  Email volume, storage space for users and courses, number of accounts,&lt;br /&gt;
&lt;br /&gt;
===Will You Be Running a 5 Nines Site===&lt;br /&gt;
What is all this you hear about &amp;quot;five nines&amp;quot;. This is a way to discuss [http://en.wikipedia.org/wiki/Uptime system uptime] and  the implications thereby for the amount of time that a [http://en.wikipedia.org/wiki/High_availability system is down and not available].&lt;br /&gt;
&lt;br /&gt;
While five nines is not that difficult to achieve, it becomes obvious quickly that without redundancy bringing down any part of a system for maintenance quickly knocks one out of the park. &lt;br /&gt;
&lt;br /&gt;
Downtime can grossly be divided into planned and unplanned outages.  You may determine that since you only serve people  in one time zone who had beeter be in bed between 2 and 4 in the morning,  that you can live with 2 hours of planned downtime a night.  On the other hand, you may feel that from 7:00 a.m. to 10 p.m. Monday through Friday no outage is acceptable.&lt;br /&gt;
&lt;br /&gt;
===Are you Prepared to Serve as a SYSADMIN?===&lt;br /&gt;
How are you planning to staff your project (see above??)&lt;br /&gt;
Do you have buy in from your IT dept?&lt;br /&gt;
Is everyone involved familiar with the realistic demands of a Moodle install (crank the FTEs!)&lt;br /&gt;
===Is Your Web Host Willing to Negotiate for the Services You require===&lt;br /&gt;
====SLAs====&lt;br /&gt;
What is an SLA? An SLA is a Service Level Agreement. While wikipedia provides  [http://en.wikipedia.org/wiki/Service_level_agreement a basic discussion of SLAs],  a review of [http://www.nkarten.com/sla.html Naomi Karten&#039;s site], which is pitched at the vendor might prove helpful.  There are [http://www.service-level-agreement.net/ commercial SLA kits as well].&lt;br /&gt;
&lt;br /&gt;
By way of example, consider [https://confluence.delhi.edu/display/CIS/Moodlerooms+Service+Level+Agreement the SLA between Delhi SUNY and Moodlerooms] ([https://confluence.delhi.edu/pages/diffpages.action?pageId=82083866&amp;amp;originalId=82346012 and see this comparison]), an SLA in pdf format for [http://www.northumbrialearning.co.uk/documents/legal/moodle_hosting.pdf North Umbria Learning], and an SLA in MS Word format for [http://www.kwantlen.ca/__shared/assets/Moodle_Service_Level_Agreement4387.doc Kwantlen, Canada].&lt;br /&gt;
&lt;br /&gt;
====Remedies====&lt;br /&gt;
Well,  having considered an SLA hard and fast, the question is whether your SLA sets out specific remedies for those occasions when your vendor doesn&#039;t provide the services agreed upon,  and if not, what recourse you may have.&lt;br /&gt;
&lt;br /&gt;
To put this another way,  [http://www.kentlaw.edu/perritt/courses/property/Hohfeld.htm you have no rights if you have no remedies].  Depending on the relative bargaining power of the parties remedies could run from monetary damages to a term extension. In many cases your potential vendor may refuse to agree to any specific remedies.  Consider the vendor who &amp;quot;guarantees&amp;quot; band width and when asked what the client receives when the bandwidth drops below the guaranteed service level, the vendor states that they will work to resolve the issue; there is no remedy and the guarantee is mere puffing.&lt;br /&gt;
&lt;br /&gt;
Negotiating for remedies is an excellent way to explore the amount of faith the vendor puts in his own stock. Most often you will be told that the vendor can&#039;t provide any remedy as remedies could put them out of business. Chances are that this vendor does not have redundancy or experience necessary to provide mission critical service. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Notes to selves:&lt;br /&gt;
Here is the real meat and potatoes,  which we can put here or actually put on additional pages (my prefs)&lt;br /&gt;
SO a link to range of service, types of support, security, e-mail, mysql support, panels....&lt;br /&gt;
perhaps as well, pages on SLAs generally, boilerplate and guarantees, punchlists&lt;br /&gt;
Perhaps specific sections, with brief descriptors and links to more detailed pages.&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Planning an Installation=&lt;br /&gt;
&lt;br /&gt;
[[Installation FAQ]]&lt;br /&gt;
&lt;br /&gt;
==Outsourcing==&lt;br /&gt;
&lt;br /&gt;
===Developing your specs===&lt;br /&gt;
&lt;br /&gt;
Often a larger installation will not be a vanilla Moodle site, and needs to be tuned or customised to a particular purpose or environment.  &lt;br /&gt;
&lt;br /&gt;
If possible, try to develop a really clear specification of what you want internally.  Create a written document that is clear and concise about your needs, including a statement of your purpose and goals.  Resist the temptation to get too detailed, though - 100 page specifications full of descriptive text and mock screenshots may result in your Request For Quote (RFQ) ending up in a too-hard basket.&lt;br /&gt;
&lt;br /&gt;
If you aren&#039;t sure exactly what you need, consider consulting with experts who have implemented similar systems before.  The Moodle forums are a useful place to ask questions and get results from a variety of Moodle experts (but everyone will appreciate it if you read the pertinent docs first.)&lt;br /&gt;
&lt;br /&gt;
===Approaching providers===&lt;br /&gt;
&lt;br /&gt;
When sending your request for a quote to providers, make sure to include information about your deadlines and resources to help the provider make a balanced judgement on their costs and availability (depending on the work you need).&lt;br /&gt;
&lt;br /&gt;
===Comparing quotes===&lt;br /&gt;
&lt;br /&gt;
Generally you do get what you pay for.  Like most things you should consider the following variables beyond cost value:&lt;br /&gt;
&lt;br /&gt;
# Stability of the company&lt;br /&gt;
# Service level agreement (SLA) details&lt;br /&gt;
# Reputation of the provider &lt;br /&gt;
# Experience with Moodle &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Do It Yourself==&lt;br /&gt;
[[Planning your installation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74714</id>
		<title>Finding and Selecting A Web Host</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74714"/>
		<updated>2010-08-12T17:20:28Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Your Compendium */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose==&lt;br /&gt;
These pages are meant to serve as an additional guide to help users work through variety of questions, issues, etc. as they choose the best way to provide Moodle as an LMS to their users.  We hope that these pages will help to steer the user to helpful materials that may not be easily found by the docs search engine.  This is an ambitious undertaking, so we would be very pleased for more authors to add to the content!&lt;br /&gt;
&lt;br /&gt;
A similar effort can be found in the [[Decision FAQ]] and if you have suggestions for integration, linking, etc.  please feel free to post suggestions via the &amp;quot;page comments&amp;quot; tab above.&lt;br /&gt;
&lt;br /&gt;
==Planning a Moodle installation==&lt;br /&gt;
&lt;br /&gt;
If you are interested in installing and using a Moodle instance in your school, organization, or business, there are many things you must consider.  Not only do you have to think about the technical aspects, you also should put some thought into how you would like to use the system, maintain the system, create the content, and support the users.&lt;br /&gt;
&lt;br /&gt;
Depending on the scope and scale of your instance, and the technical expertise you can bring to the table, you may decide that you can host Moodle yourself or you may realize you could use some help!  This page focuses on making decisions about how or where to host a Moodle site.  Other pages will be developed to address the separate issue of retaining consultants apart from the question of hosting (though many of the concerns in addressing both are comparable.)&lt;br /&gt;
&lt;br /&gt;
In addition to technical expertise, there are staffing issues to consider.  A &#039;&#039;&#039;developer&#039;&#039;&#039; will help you write code to enhance or add new functionality.  Many installations find that they do not need a developer, or they can hire development on an ad hoc basis.  An &#039;&#039;&#039;LMS/Moodle administrator&#039;&#039;&#039; needs to have a good understanding of the system side of moodle.  The more this person knows about databases and general web applications, the better.  If you don&#039;t have an IT person to run the server and manage security, then the LMS/Moodle administrator may need to oversee these important duties. &#039;&#039;&#039;Content creators&#039;&#039;&#039; usually assist instructors with planning and creating course content.  Large installations may need dedicated IT staff and database administrators.  Consider the mix of people you have to support Moodle in your organization.  You may find that you can cover all these bases with your current staff.  If not, you may want to look at a [http://moodle.com/ Moodle Partner] to provide management and maintenance services for your Moodle instance, your instructors, and your students/course participants.&lt;br /&gt;
&lt;br /&gt;
==Who are you?  Types of Moodle Instances==&lt;br /&gt;
Before you choose a host, it would probably be helpful to have a firm understanding of who &#039;&#039;&#039;YOU&#039;&#039;&#039; are.  What do you intend to accomplish with your Moodle instance?  &lt;br /&gt;
&lt;br /&gt;
Typical types of Moodle instances include schools, companies, agencies, churches, and a wide variety of non-profit organizations.  A single individual may want to deliver just two or three courses.  Some moodle instances serve as portfolios or special project spaces.  Moodlers are very innovative!&lt;br /&gt;
&lt;br /&gt;
Each of these types of Moodle users will have differing requirements and needs.  Each may have different ideas about what kind of content they want to provide, who will be facilitating the &amp;quot;course work&amp;quot; (or if the course work will be automated), how they will enroll the users, and how strictly they want/need to enforce privacy for users.&lt;br /&gt;
&lt;br /&gt;
These issues are of great importance when selecting a host.  If you can identify exactly what you want to do and how you think it can be best accomplished, then you will likely recognize whether or not you can &amp;quot;do it yourself&amp;quot;, if you need to look for full-service hosting, or if you can accomplish your goals with a consultant or ad hoc development.&lt;br /&gt;
&lt;br /&gt;
The following are common types of users.  Some people only use moodle to create and teach courses (albeit in quite a lot of different ways!) Some people take care of the Moodle &amp;quot;back end&amp;quot;, which involves administrative functions.  In some cases, the Moodle admin will take on responsibilities for &amp;quot;server admin&amp;quot; as well as assisting with training for teachers using moodle.  In others, the &amp;quot;server admin&amp;quot; will work with other people to form a group that covers Moodle admin and classroom teacher perspectives.  Trainers often have all the skills for the instructor as well as Moodle adminintrator.  There are endless combinations of staffing and roles depending on your organization. &lt;br /&gt;
&lt;br /&gt;
The following examples should be seen as a rough continuum with many variations possible. Take a look at the examples that seem to fit you best and we will attempt to describe the skillsets you will need and our best advice for the type of hosting you may find most practical:&lt;br /&gt;
&lt;br /&gt;
===The classroom teacher, instructor, professor, or course creator===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_teachers|The Hosting for moodle teachers page]] describes the default role of &amp;quot;editing teacher&amp;quot; and sets out some considerations for evaluating your ability to manage a Moodle instance on your own.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to negotiate an agreement with them to provide the hosting and assume responsibility for the administrative tasks related to running a Moodle instance.  Depending on your situation and the level of support you need, outsourcing might be the more attractive option.&lt;br /&gt;
&lt;br /&gt;
=== The (limited) Moodle admin===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_admins|The hosting for moodle admins page]] describes the role of the Moodle admin.  Not the server admin.  This role is limited to managing Moodle, but not other software packages on the server.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to arrange for them to provide the hosting and you assume responsibility for the administrative tasks related to running a Moodle instance.&lt;br /&gt;
&lt;br /&gt;
===The Advanced Moodle admin===&lt;br /&gt;
&lt;br /&gt;
As you by now expected, [[Hosting_for_moodle_admins_advanced|the hosting for moodle advanced admins page]] is for those people who manage Moodle as well as getting into server side considerations, such as cron, email, database management and php.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in hosting without service.&lt;br /&gt;
&lt;br /&gt;
===The Server admin===&lt;br /&gt;
&lt;br /&gt;
There is also a [[Hosting_for_server_admins|page addressing hosting for server admins]], for people who have the necessary skills and knowledge to manage the server and stack software.  If you fit into this category, you may be less or not involved in managing the moodle instance.  Some individuals will be able to run the server as well as manage the moodle instance in its entirety.&lt;br /&gt;
&lt;br /&gt;
==Types of Hosts==&lt;br /&gt;
&lt;br /&gt;
===Hosts who provide full Moodle management/maintenance services===&lt;br /&gt;
&lt;br /&gt;
Some hosts are ready to support Moodle as a software package as well as providing and maintaining the server it runs on.  They may provide training, content building, and development services as well. Service packages will likely include moodle upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups. &lt;br /&gt;
&lt;br /&gt;
There are two types of full-service hosts for the purposes of this discussion:  Moodle Partners and hosts who are not Moodle Partners.&lt;br /&gt;
&lt;br /&gt;
The [http://moodle.com/partners Moodle Partners] are an [http://moodle.com/partners/list/ international group] of Moodle-based service companies that work closely with [http://moodle.com/ Moodle Pty Ltd].  They contribute 10% of their earnings directly to core Moodle development and are subject to certain codes of conduct.  They provide a range of optional commercial services including fully-serviced Moodle hosting, training, certification, remote support contracts, custom code development and consulting.  Different Partners vary in size, and focus on different specialities in different countries.&lt;br /&gt;
&lt;br /&gt;
Generally only Moodle Partners are allowed to use the Moodle trademark (such as the phrase &amp;quot;Moodle hosting&amp;quot;) to advertise their Moodle Services (see the [[License]] for details).  &lt;br /&gt;
&lt;br /&gt;
There are a variety of other companies providing similar services (sometimes under other names like &amp;quot;lms hosting&amp;quot; and sometimes not) that are not affiliated with the Moodle project and who do not support the project through royalties.  Some of them even offer free services that are supported by third-party advertising.&lt;br /&gt;
&lt;br /&gt;
As a consumer you need to choose carefully from all the options available to you.  Each of these companies is an individual concern, and a prospective client is ultimately responsible for understanding what service package they are purchasing and how long it might be likely to be around.  Do your research and articulate your needs and expectations very carefully!&lt;br /&gt;
&lt;br /&gt;
If you google &amp;quot;moodle hosting&amp;quot; you will find Moodle Partners and a large number of sites offering Moodle hosting that are not full-service hosts.  Be very careful.  Many sites that advertise &amp;quot;Moodle hosting&amp;quot; are really offering you hosting of the software only, without additional management and maintenance services.  These hosts do provide the software you need to run Moodle, but you are on your own after that!&lt;br /&gt;
&lt;br /&gt;
===Hosting without Moodle management and maintenance services===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_without_service|Hosting without Moodle management and maintenance services]] is perhaps the most common situation.  Many people select this option when they have decided they do not want to be responsible for hardware or the basic software &amp;quot;stack&amp;quot; used to run a Moodle instance, but also do not want to pay the premium for someone else to provide administrative expertise in the management of Moodle.  There are thousands of web hosts available, and each probably offers a slightly different set of service options.&lt;br /&gt;
&lt;br /&gt;
While full-service or managed hosting packages may include upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups, no-frills hosting will assume that you are willing to manage all these aspects of running a moodle instance.&lt;br /&gt;
&lt;br /&gt;
If you have a reasonable level of confidence in hosting your own site this can be a very inexpensive solution.&lt;br /&gt;
&lt;br /&gt;
===In-house hosting (or &amp;quot;do it yourself&amp;quot;)===&lt;br /&gt;
If you have the necessary background and interest, you (or your IT team) can set up your own server and run one or more Moodle instances to support your institution, business, or project.  You may choose to deploy Moodle on a variety of different operating systems (Mac, Linux, Windows) and with several different database options (MySQL, Postgres, MSSQL).  While this page is not intended to provide assistance in accomplishing this goal, it does attempt to describe the sort of knowledge base you or your team will require for successfully [[in_house_hosting|hosting your own Moodle instance.]]  You could also consider commercial support for in-house hosting from any of the commercial support providers mentioned above.&lt;br /&gt;
&lt;br /&gt;
=Choosing a Web Host=&lt;br /&gt;
&lt;br /&gt;
==The User Experience==&lt;br /&gt;
===Your Compendium===&lt;br /&gt;
[[Web_Hosts|A matrix]] has been created so that users can provide information on various web hosting options here. Please feel free to add to the matrix,  but respect the footnoting conventions and the table structure please.  There is some exploration of using Google Docs to address user feedback on Web Hosts. While a Google Doc may eventually be embedded in the Web Host doc, an experimental version can be [https://spreadsheets.google.com/pub?key=0AkMXlh7DWOcTcEdsTWhWUlFfelUtM20talNqZVFDR1E | seen here].&lt;br /&gt;
&lt;br /&gt;
&#039;NB:&#039; If the wiki structure for the matrix is too much of a hassle, please just use the + tab from the &amp;quot;page comment&amp;quot; tab (you must be logged in to docs to see this,  and that is still a separate log in....) to add your comments and someone will transfer them to the matrix.&lt;br /&gt;
&lt;br /&gt;
===Discussion in the Forums===&lt;br /&gt;
While the forums should not be viewed as authoritative as circumstances change over time, they have been a focal point for quite a bit of discussion of various web hosts over time.  &lt;br /&gt;
&lt;br /&gt;
A collection of posts largely focusing on GoDaddy can be [http://moodle.org/mod/forum/discuss.php?d=53087#p459052| found here] and a list of discussions concerning quite a few other hosts, courtesy of [http://moodle.org/user/view.php?id=195424&amp;amp;course=5| Richard Enison (RLE)], appears in that collection [http://moodle.org/mod/forum/discuss.php?d=53087&amp;amp;parent=459052| at this address].&lt;br /&gt;
&lt;br /&gt;
==Why Use A Web Host==&lt;br /&gt;
&lt;br /&gt;
General areas of concern are:&lt;br /&gt;
&lt;br /&gt;
===General Management and Installation Assistance===&lt;br /&gt;
Many web hosts offer GUIs that provide shortcuts to install and manage web applications.  Some typical &amp;quot;panel&amp;quot; options are Fantastico and cpanel,  while an example of a management application that many webhosts make available is phpmyadmin (for managing mysql databases.)&lt;br /&gt;
====CPanel====&lt;br /&gt;
If you decide to choose a hosting company that has cpanel then  [http://ic.eflclasses.org/tutorials/settingupmoodleonhostingwitholdcpanel.swf this tutorial] may provide some guidance in choosing a host and setting up moodle via the old cpanel. It is a VERY large file (that runs for about 12 minutes) and you will have to wait for it to load but [[User:Eric Hagley|Eric Hagley]] indicates it is worth the wait as affords a step by step approach. If you have the new cpanel please use [http://ic.eflclasses.org/tutorials/settingupmoodleoncpanel.swf this link] for an updated tutorial.&lt;br /&gt;
 &lt;br /&gt;
===Keeping Your Software Current===&lt;br /&gt;
Software such as Moodle is not static; it changes all the time.  Indeed Moodle software changes sometimes daily. Software may be altered to fix security issues or to make improvements.  Sometimes a fix in one respect causes a bug in another.  &lt;br /&gt;
&lt;br /&gt;
Additionally, as noted below, Moodle is not the only product you may want to keep current,  and any time you are trying to keep multiple applications current you are bound to run into compatibility issues.&lt;br /&gt;
&lt;br /&gt;
As noted elsewhere, some web hosts provide utilities for web application management. For a discussion of updating software using such utilities (Cpanel for example) see the section on [[#General Management and Installation Assistance|General Management and Installation Assistance above]].&lt;br /&gt;
&lt;br /&gt;
===Keeping Your Software Compatible===&lt;br /&gt;
Moodle is not &amp;quot;just&amp;quot; Moodle.  The Moodle experience relies on a set of software applications,  including a web server (often but not necessarily  Apache), PHP, and a database engine (often but not necessarily mySQL), as well as the Moodle code itself. Each of the elements involved is regularly updated and this will result in compatibility issues. A fix to one application may cause a problem in another. Moreover, the manner in which an issue is addressed in one version may change with the next (an example being the use of php.ini files, which were required in every directory in php 4.x, a practice unnecessary in php 5.)&lt;br /&gt;
&lt;br /&gt;
In addition to the four primary Moodle components (again, web server, database engine, PHP and Moodle code) you may wish to install a variety of additional software to use with Moodle (Moodle offers many modules to provide for the integration of external applications). The addition of an external application to your overall system increases complexity because as the various applications develop the modules integrating them may fail.&lt;br /&gt;
&lt;br /&gt;
Module installation might be handled by a firm offering dedicated Moodle services, but will not be typically addressed by a vanilla web-host,  which leaves the install of aspell, dragmath, asciimathml, etc. all to you.&lt;br /&gt;
&lt;br /&gt;
One of the most intelligent questions that may be heard in a Moodle class is whether a course developed in Moodle A will work in Moodle B.  The best answer is, &amp;quot;Maybe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Backups===&lt;br /&gt;
[http://www.murphys-laws.com/murphy/murphy-true.html Murphy&#039;s Law] offers no exceptions; it is an absolute, and without knowing who you are, where you come from or what you do, your Moodle may some day fail. The good news is that the odds of multiple failures are in your favor, so if you are well prepared, this eventuality can be viewed with same equanimity as that stubbed toe.....&lt;br /&gt;
&lt;br /&gt;
Keeping very good records of your hacks, your additions, and the settings you have used for moodle as well as all the other software that it takes to support a moodle instance provides invaluable information.  A backup regime, including course backups, software backups, and database backups is also important.&lt;br /&gt;
&lt;br /&gt;
The Moodler must remember that while Moodle itself can do some backups,  Moodle backups are very intensive and are only a small facet of an effective backup program,  which must address the variety of data that is encompassed by a Moodle web site.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll discuss various backup types and issues below,  but first let&#039;s talk about the underlying issue: who is doing what?&lt;br /&gt;
&lt;br /&gt;
Some web hosts provide &amp;quot;snap shots&amp;quot;, some provide site wide backups. Some offer shell access and tell you to roll your own, while some web hosts honestly couldn&#039;t care less....  You must remember that, without a specific agreement otherwise, it is unlikely that your web host acknowledges any responsibility for maintaining your data.  Unfortunately,  typically each of your data types may require a different kind of backup and you either need to learn how to do effective backups of your site on your own, or you will have to negotiate what amounts to bare metal backup with your Web Host (and you will need to identify an appropriate window,  because you want your backups to be rather more current than your web host might find sensible....)&lt;br /&gt;
&lt;br /&gt;
If you have shell access the good news is that there are quite a few scripts out there you can use to help yourself build an effective backup regimen.&lt;br /&gt;
&lt;br /&gt;
There are critical points with respect to backing up your data that need to be addressed. They range from the global, such as addressing the location for the backups and managing remote backups (rsync can be helpful in this respect) and actually handling and recycling of the files themselves (when do you back up, what do you backup when you do backup, and how long do you keep a specific file) to the narrow (for example the db should be locked during backup.) While we have broken up this discussion because different types of data need to be treated in different ways, one could script one&#039;s system to address backups for all the different types of data.&lt;br /&gt;
&lt;br /&gt;
Another option that we should mention in passing is that one can also look at replication of data, either to a simple store or to a failover unit. Be aware that mysql replication requires access to mysql commands that some web hosts do not provide. Chances are that if you are looking at replication you are having multiple private systems hosted by a vendor or are running your own installation and have looked at fail-over, clusters and replication in depth.&lt;br /&gt;
&lt;br /&gt;
Lastly, please remember that if you are paying a web host for bandwidth used, remote backup could become a source of significant expense&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: AT present there is one Backup page, [[Site_backup]], in the docs,  and it might be helpful at some time to break that up so that separate docs address different aspects of backup with one page addressing scripting options.  In any event link to backup page needs to be added&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
====Data====&lt;br /&gt;
By data we mean the contents of the moodledata directory, which may represent some of your most important material.&lt;br /&gt;
&lt;br /&gt;
====GUI====&lt;br /&gt;
Your GUI is what is most often neglected when addressing backups. More often than not much of what you think of as your GUI will be reflected in any customizations to your theme, with pertinent data located in your Moodle code installation (/moodle/theme - see below) and possibly moodledata (a possible site for images used.)&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
Whatever database you are using,  it is critical that you dump and store your db regularly, especially because it can be so simple to restore a site if you have a recent db dump. This can be accomplished manually via a GUI as with phpmyadmin or mysql admin or via command line if the user has access and the requisite skills.  It can also be automated via commercial or open scripting (as in HandyBackup  or automysqlbackup).&lt;br /&gt;
&lt;br /&gt;
====Software====&lt;br /&gt;
Not only your Moodle configuration (additional modules, hacks and twiddles),  but complementary software that you have integrated (like Mahara, etc) should be backed up.&lt;br /&gt;
&lt;br /&gt;
You might ask why you should back up your Moodle code when you can just download it from Moodle and reinstall.  There are a couple of issues here.  First, the version of Moodle you download today is going to be different than the same version of Moodle you download tomorrow.  This is confusing but that is how things lie.  It is possible that a new install will result in problems on a restore and if you are facing down  some failure you DO NOT want to then also have to try and figure out why what was working yesterday isn&#039;t working today. All things being constant  is the hallmark of restore, and you don;t want to deal with any changes you are not aware of.  &lt;br /&gt;
&lt;br /&gt;
The second issue is your potential customization,  whether that amounts to hacks to php code or just to the installation of additional modules. If speed is of interest (and when doing a restore after failure the most oft heard words are &amp;quot;how soon&amp;quot; ) you don&#039;t want to have to recreate your Moodle application, you want to be able to restore.&lt;br /&gt;
&lt;br /&gt;
And a third issue related to the previous point is theme customization. Themes are stored in /moodle/theme.&lt;br /&gt;
&lt;br /&gt;
===Security===&lt;br /&gt;
Most often we talk about security in the context of potential threats to your data. Of course, what can cause some consternation here is that different folks think of data in different ways. There is the data Moodle places in the mysql database.  There is the data that Moodle places in the moodledata file structure, and there is the Moodle code itself. You may want to consider protecting all of these types of data from unauthorized reading, writing and execution. Think of this as a two dimensional matrix.  Now add a third dimension that includes various ways one might be able to access any cell in the existing table, including coding flaws, external configuration problems and internal Moodle configuration issues&lt;br /&gt;
&lt;br /&gt;
====Code Flaws====&lt;br /&gt;
Code exploits are addressed regularly through patches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need links to the various fora, etc for security reporting and info)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configuration====&lt;br /&gt;
The most typical issue in this area is placing the moodledata directory in the web root.&lt;br /&gt;
&lt;br /&gt;
====Moodle set-up====&lt;br /&gt;
This includes such matters as enrollment, internal role configuration, etc.&lt;br /&gt;
&lt;br /&gt;
Perhaps the most widely discussed problem here has been the matter of profile spam that can be produced when admins allow open e-mail enrollment.  There are arguments as to whether this is a security issue or not (and sometimes it seems that the same folks are on both sides of the issue at times) but what it means from a practical standpoint is that you can have a Moodle targeted at your elementary school which contains enough pornography to make Bosche blush.&lt;br /&gt;
&lt;br /&gt;
Sophisticated authentication relying on Moodle Networking, LDAP etc. will require some administrative skill sets pertinent to the scheme employed. One should also be acquainted with the underlying nature of access control including the difference between authentication and authorization. See, e.g.  http://en.wikipedia.org/wiki/Access_control&lt;br /&gt;
&lt;br /&gt;
More more prosaic but as important are matters of security policy and enunciation of protocols addressing access rights to data (in the U. S. consider HIPAA, FERPA, IDEA, etc.)&lt;br /&gt;
&lt;br /&gt;
===Integration===&lt;br /&gt;
After an initial basic Moodle installation there are quite a few tasks that need to be addressed to integrate the Moodle with all the bells and whistles you are expecting to use.&lt;br /&gt;
====Cron====&lt;br /&gt;
One of the most important post-install tasks is to invoke cron.php via the system cron daemon (or Task Scheduler...) Among other tasks,  such as backup, cron triggers mail. [[Cron]] explains a good deal but there may be issues when trying to use smtp (some of these have been fixed in Moodle 1.9.3) to alternative ports.&lt;br /&gt;
====Mail====&lt;br /&gt;
While typically Moodle will use PHP&#039;s mail routines, in some cases you may have to configure mail manually and some issues may require manual database edits.  See, [[Email settings]] and [[Email setup gmail]] as examples of possible manual configuration.&lt;br /&gt;
====Max File Upload====&lt;br /&gt;
The maximum size of file uploads for Moodle can be controlled via the Moodle GUI but are also constrained via Apache and PHP, and to adjust these you may need to be able to edit .htaccess and/or php.ini. Here are some examples of the discussin of such matters: http://moodle.org/mod/forum/discuss.php?d=98064&amp;amp;parent=433245 and  http://moodle.org/mod/forum/discuss.php?d=103190&amp;amp;parent=456650&lt;br /&gt;
&lt;br /&gt;
==Criteria for Selecting Web Hosts==&lt;br /&gt;
&lt;br /&gt;
===What Purpose Will Your Site Serve===&lt;br /&gt;
Production, Experimentation, etc&lt;br /&gt;
Classroom support or Asynchronous Remote&lt;br /&gt;
Gradebook and critical classroom data&lt;br /&gt;
Number of concurrent users&lt;br /&gt;
&lt;br /&gt;
Issues of scale can be very important.  A relatively small number of concurrent users can generate enough email through forum postings to get you in trouble with your host.  Email volume, storage space for users and courses, number of accounts,&lt;br /&gt;
&lt;br /&gt;
===Will You Be Running a 5 Nines Site===&lt;br /&gt;
What is all this you hear about &amp;quot;five nines&amp;quot;. This is a way to discuss [http://en.wikipedia.org/wiki/Uptime system uptime] and  the implications thereby for the amount of time that a [http://en.wikipedia.org/wiki/High_availability system is down and not available].&lt;br /&gt;
&lt;br /&gt;
While five nines is not that difficult to achieve, it becomes obvious quickly that without redundancy bringing down any part of a system for maintenance quickly knocks one out of the park. &lt;br /&gt;
&lt;br /&gt;
Downtime can grossly be divided into planned and unplanned outages.  You may determine that since you only serve people  in one time zone who had beeter be in bed between 2 and 4 in the morning,  that you can live with 2 hours of planned downtime a night.  On the other hand, you may feel that from 7:00 a.m. to 10 p.m. Monday through Friday no outage is acceptable.&lt;br /&gt;
&lt;br /&gt;
===Are you Prepared to Serve as a SYSADMIN?===&lt;br /&gt;
How are you planning to staff your project (see above??)&lt;br /&gt;
Do you have buy in from your IT dept?&lt;br /&gt;
Is everyone involved familiar with the realistic demands of a Moodle install (crank the FTEs!)&lt;br /&gt;
===Is Your Web Host Willing to Negotiate for the Services You require===&lt;br /&gt;
====SLAs====&lt;br /&gt;
What is an SLA? An SLA is a Service Level Agreement. While wikipedia provides  [http://en.wikipedia.org/wiki/Service_level_agreement a basic discussion of SLAs],  a review of [http://www.nkarten.com/sla.html Naomi Karten&#039;s site], which is pitched at the vendor might prove helpful.  There are [http://www.service-level-agreement.net/ commercial SLA kits as well].&lt;br /&gt;
&lt;br /&gt;
By way of example, consider [https://confluence.delhi.edu/display/CIS/Moodlerooms+Service+Level+Agreement the SLA between Delhi SUNY and Moodlerooms] ([https://confluence.delhi.edu/pages/diffpages.action?pageId=82083866&amp;amp;originalId=82346012 and see this comparison]), an SLA in pdf format for [http://www.northumbrialearning.co.uk/documents/legal/moodle_hosting.pdf North Umbria Learning], and an SLA in MS Word format for [http://www.kwantlen.ca/__shared/assets/Moodle_Service_Level_Agreement4387.doc Kwantlen, Canada].&lt;br /&gt;
&lt;br /&gt;
====Remedies====&lt;br /&gt;
Well,  having considered an SLA hard and fast, the question is whether your SLA sets out specific remedies for those occasions when your vendor doesn&#039;t provide the services agreed upon,  and if not, what recourse you may have.&lt;br /&gt;
&lt;br /&gt;
To put this another way,  [http://www.kentlaw.edu/perritt/courses/property/Hohfeld.htm you have no rights if you have no remedies].  Depending on the relative bargaining power of the parties remedies could run from monetary damages to a term extension. In many cases your potential vendor may refuse to agree to any specific remedies.  Consider the vendor who &amp;quot;guarantees&amp;quot; band width and when asked what the client receives when the bandwidth drops below the guaranteed service level, the vendor states that they will work to resolve the issue; there is no remedy and the guarantee is mere puffing.&lt;br /&gt;
&lt;br /&gt;
Negotiating for remedies is an excellent way to explore the amount of faith the vendor puts in his own stock. Most often you will be told that the vendor can&#039;t provide any remedy as remedies could put them out of business. Chances are that this vendor does not have redundancy or experience necessary to provide mission critical service. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Notes to selves:&lt;br /&gt;
Here is the real meat and potatoes,  which we can put here or actually put on additional pages (my prefs)&lt;br /&gt;
SO a link to range of service, types of support, security, e-mail, mysql support, panels....&lt;br /&gt;
perhaps as well, pages on SLAs generally, boilerplate and guarantees, punchlists&lt;br /&gt;
Perhaps specific sections, with brief descriptors and links to more detailed pages.&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Planning an Installation=&lt;br /&gt;
&lt;br /&gt;
[[Installation FAQ]]&lt;br /&gt;
&lt;br /&gt;
==Outsourcing==&lt;br /&gt;
&lt;br /&gt;
===Developing your specs===&lt;br /&gt;
&lt;br /&gt;
Often a larger installation will not be a vanilla Moodle site, and needs to be tuned or customised to a particular purpose or environment.  &lt;br /&gt;
&lt;br /&gt;
If possible, try to develop a really clear specification of what you want internally.  Create a written document that is clear and concise about your needs, including a statement of your purpose and goals.  Resist the temptation to get too detailed, though - 100 page specifications full of descriptive text and mock screenshots may result in your Request For Quote (RFQ) ending up in a too-hard basket.&lt;br /&gt;
&lt;br /&gt;
If you aren&#039;t sure exactly what you need, consider consulting with experts who have implemented similar systems before.  The Moodle forums are a useful place to ask questions and get results from a variety of Moodle experts (but everyone will appreciate it if you read the pertinent docs first.)&lt;br /&gt;
&lt;br /&gt;
===Approaching providers===&lt;br /&gt;
&lt;br /&gt;
When sending your request for a quote to providers, make sure to include information about your deadlines and resources to help the provider make a balanced judgement on their costs and availability (depending on the work you need).&lt;br /&gt;
&lt;br /&gt;
===Comparing quotes===&lt;br /&gt;
&lt;br /&gt;
Generally you do get what you pay for.  Like most things you should consider the following variables beyond cost value:&lt;br /&gt;
&lt;br /&gt;
# Stability of the company&lt;br /&gt;
# Service level agreement (SLA) details&lt;br /&gt;
# Reputation of the provider &lt;br /&gt;
# Experience with Moodle &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Do It Yourself==&lt;br /&gt;
[[Planning your installation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74713</id>
		<title>Finding and Selecting A Web Host</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74713"/>
		<updated>2010-08-12T17:18:05Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Your Compendium */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose==&lt;br /&gt;
These pages are meant to serve as an additional guide to help users work through variety of questions, issues, etc. as they choose the best way to provide Moodle as an LMS to their users.  We hope that these pages will help to steer the user to helpful materials that may not be easily found by the docs search engine.  This is an ambitious undertaking, so we would be very pleased for more authors to add to the content!&lt;br /&gt;
&lt;br /&gt;
A similar effort can be found in the [[Decision FAQ]] and if you have suggestions for integration, linking, etc.  please feel free to post suggestions via the &amp;quot;page comments&amp;quot; tab above.&lt;br /&gt;
&lt;br /&gt;
==Planning a Moodle installation==&lt;br /&gt;
&lt;br /&gt;
If you are interested in installing and using a Moodle instance in your school, organization, or business, there are many things you must consider.  Not only do you have to think about the technical aspects, you also should put some thought into how you would like to use the system, maintain the system, create the content, and support the users.&lt;br /&gt;
&lt;br /&gt;
Depending on the scope and scale of your instance, and the technical expertise you can bring to the table, you may decide that you can host Moodle yourself or you may realize you could use some help!  This page focuses on making decisions about how or where to host a Moodle site.  Other pages will be developed to address the separate issue of retaining consultants apart from the question of hosting (though many of the concerns in addressing both are comparable.)&lt;br /&gt;
&lt;br /&gt;
In addition to technical expertise, there are staffing issues to consider.  A &#039;&#039;&#039;developer&#039;&#039;&#039; will help you write code to enhance or add new functionality.  Many installations find that they do not need a developer, or they can hire development on an ad hoc basis.  An &#039;&#039;&#039;LMS/Moodle administrator&#039;&#039;&#039; needs to have a good understanding of the system side of moodle.  The more this person knows about databases and general web applications, the better.  If you don&#039;t have an IT person to run the server and manage security, then the LMS/Moodle administrator may need to oversee these important duties. &#039;&#039;&#039;Content creators&#039;&#039;&#039; usually assist instructors with planning and creating course content.  Large installations may need dedicated IT staff and database administrators.  Consider the mix of people you have to support Moodle in your organization.  You may find that you can cover all these bases with your current staff.  If not, you may want to look at a [http://moodle.com/ Moodle Partner] to provide management and maintenance services for your Moodle instance, your instructors, and your students/course participants.&lt;br /&gt;
&lt;br /&gt;
==Who are you?  Types of Moodle Instances==&lt;br /&gt;
Before you choose a host, it would probably be helpful to have a firm understanding of who &#039;&#039;&#039;YOU&#039;&#039;&#039; are.  What do you intend to accomplish with your Moodle instance?  &lt;br /&gt;
&lt;br /&gt;
Typical types of Moodle instances include schools, companies, agencies, churches, and a wide variety of non-profit organizations.  A single individual may want to deliver just two or three courses.  Some moodle instances serve as portfolios or special project spaces.  Moodlers are very innovative!&lt;br /&gt;
&lt;br /&gt;
Each of these types of Moodle users will have differing requirements and needs.  Each may have different ideas about what kind of content they want to provide, who will be facilitating the &amp;quot;course work&amp;quot; (or if the course work will be automated), how they will enroll the users, and how strictly they want/need to enforce privacy for users.&lt;br /&gt;
&lt;br /&gt;
These issues are of great importance when selecting a host.  If you can identify exactly what you want to do and how you think it can be best accomplished, then you will likely recognize whether or not you can &amp;quot;do it yourself&amp;quot;, if you need to look for full-service hosting, or if you can accomplish your goals with a consultant or ad hoc development.&lt;br /&gt;
&lt;br /&gt;
The following are common types of users.  Some people only use moodle to create and teach courses (albeit in quite a lot of different ways!) Some people take care of the Moodle &amp;quot;back end&amp;quot;, which involves administrative functions.  In some cases, the Moodle admin will take on responsibilities for &amp;quot;server admin&amp;quot; as well as assisting with training for teachers using moodle.  In others, the &amp;quot;server admin&amp;quot; will work with other people to form a group that covers Moodle admin and classroom teacher perspectives.  Trainers often have all the skills for the instructor as well as Moodle adminintrator.  There are endless combinations of staffing and roles depending on your organization. &lt;br /&gt;
&lt;br /&gt;
The following examples should be seen as a rough continuum with many variations possible. Take a look at the examples that seem to fit you best and we will attempt to describe the skillsets you will need and our best advice for the type of hosting you may find most practical:&lt;br /&gt;
&lt;br /&gt;
===The classroom teacher, instructor, professor, or course creator===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_teachers|The Hosting for moodle teachers page]] describes the default role of &amp;quot;editing teacher&amp;quot; and sets out some considerations for evaluating your ability to manage a Moodle instance on your own.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to negotiate an agreement with them to provide the hosting and assume responsibility for the administrative tasks related to running a Moodle instance.  Depending on your situation and the level of support you need, outsourcing might be the more attractive option.&lt;br /&gt;
&lt;br /&gt;
=== The (limited) Moodle admin===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_admins|The hosting for moodle admins page]] describes the role of the Moodle admin.  Not the server admin.  This role is limited to managing Moodle, but not other software packages on the server.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to arrange for them to provide the hosting and you assume responsibility for the administrative tasks related to running a Moodle instance.&lt;br /&gt;
&lt;br /&gt;
===The Advanced Moodle admin===&lt;br /&gt;
&lt;br /&gt;
As you by now expected, [[Hosting_for_moodle_admins_advanced|the hosting for moodle advanced admins page]] is for those people who manage Moodle as well as getting into server side considerations, such as cron, email, database management and php.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in hosting without service.&lt;br /&gt;
&lt;br /&gt;
===The Server admin===&lt;br /&gt;
&lt;br /&gt;
There is also a [[Hosting_for_server_admins|page addressing hosting for server admins]], for people who have the necessary skills and knowledge to manage the server and stack software.  If you fit into this category, you may be less or not involved in managing the moodle instance.  Some individuals will be able to run the server as well as manage the moodle instance in its entirety.&lt;br /&gt;
&lt;br /&gt;
==Types of Hosts==&lt;br /&gt;
&lt;br /&gt;
===Hosts who provide full Moodle management/maintenance services===&lt;br /&gt;
&lt;br /&gt;
Some hosts are ready to support Moodle as a software package as well as providing and maintaining the server it runs on.  They may provide training, content building, and development services as well. Service packages will likely include moodle upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups. &lt;br /&gt;
&lt;br /&gt;
There are two types of full-service hosts for the purposes of this discussion:  Moodle Partners and hosts who are not Moodle Partners.&lt;br /&gt;
&lt;br /&gt;
The [http://moodle.com/partners Moodle Partners] are an [http://moodle.com/partners/list/ international group] of Moodle-based service companies that work closely with [http://moodle.com/ Moodle Pty Ltd].  They contribute 10% of their earnings directly to core Moodle development and are subject to certain codes of conduct.  They provide a range of optional commercial services including fully-serviced Moodle hosting, training, certification, remote support contracts, custom code development and consulting.  Different Partners vary in size, and focus on different specialities in different countries.&lt;br /&gt;
&lt;br /&gt;
Generally only Moodle Partners are allowed to use the Moodle trademark (such as the phrase &amp;quot;Moodle hosting&amp;quot;) to advertise their Moodle Services (see the [[License]] for details).  &lt;br /&gt;
&lt;br /&gt;
There are a variety of other companies providing similar services (sometimes under other names like &amp;quot;lms hosting&amp;quot; and sometimes not) that are not affiliated with the Moodle project and who do not support the project through royalties.  Some of them even offer free services that are supported by third-party advertising.&lt;br /&gt;
&lt;br /&gt;
As a consumer you need to choose carefully from all the options available to you.  Each of these companies is an individual concern, and a prospective client is ultimately responsible for understanding what service package they are purchasing and how long it might be likely to be around.  Do your research and articulate your needs and expectations very carefully!&lt;br /&gt;
&lt;br /&gt;
If you google &amp;quot;moodle hosting&amp;quot; you will find Moodle Partners and a large number of sites offering Moodle hosting that are not full-service hosts.  Be very careful.  Many sites that advertise &amp;quot;Moodle hosting&amp;quot; are really offering you hosting of the software only, without additional management and maintenance services.  These hosts do provide the software you need to run Moodle, but you are on your own after that!&lt;br /&gt;
&lt;br /&gt;
===Hosting without Moodle management and maintenance services===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_without_service|Hosting without Moodle management and maintenance services]] is perhaps the most common situation.  Many people select this option when they have decided they do not want to be responsible for hardware or the basic software &amp;quot;stack&amp;quot; used to run a Moodle instance, but also do not want to pay the premium for someone else to provide administrative expertise in the management of Moodle.  There are thousands of web hosts available, and each probably offers a slightly different set of service options.&lt;br /&gt;
&lt;br /&gt;
While full-service or managed hosting packages may include upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups, no-frills hosting will assume that you are willing to manage all these aspects of running a moodle instance.&lt;br /&gt;
&lt;br /&gt;
If you have a reasonable level of confidence in hosting your own site this can be a very inexpensive solution.&lt;br /&gt;
&lt;br /&gt;
===In-house hosting (or &amp;quot;do it yourself&amp;quot;)===&lt;br /&gt;
If you have the necessary background and interest, you (or your IT team) can set up your own server and run one or more Moodle instances to support your institution, business, or project.  You may choose to deploy Moodle on a variety of different operating systems (Mac, Linux, Windows) and with several different database options (MySQL, Postgres, MSSQL).  While this page is not intended to provide assistance in accomplishing this goal, it does attempt to describe the sort of knowledge base you or your team will require for successfully [[in_house_hosting|hosting your own Moodle instance.]]  You could also consider commercial support for in-house hosting from any of the commercial support providers mentioned above.&lt;br /&gt;
&lt;br /&gt;
=Choosing a Web Host=&lt;br /&gt;
&lt;br /&gt;
==The User Experience==&lt;br /&gt;
===Your Compendium===&lt;br /&gt;
[[Web_Hosts|A matrix]] has been created so that users can provide information on various web hosting options here. Please feel free to add to the matrix,  but respect the footnoting conventions and the table structure please.  There is some exploration of using Google Docs to address user feedback on Web Hosts. While a Google Doc may eventually be embedded in the Web Host doc, an experimental version can be [https://spreadsheets.google.com/pub?key=0AkMXlh7DWOcTcEdsTWhWUlFfelUtM20talNqZVFDR1E| seen here].&lt;br /&gt;
&lt;br /&gt;
&#039;NB:&#039; If the wiki structure for the matrix is too much of a hassle, please just use the + tab from the &amp;quot;page comment&amp;quot; tab (you must be logged in to docs to see this,  and that is still a separate log in....) to add your comments and someone will transfer them to the matrix.&lt;br /&gt;
&lt;br /&gt;
===Discussion in the Forums===&lt;br /&gt;
While the forums should not be viewed as authoritative as circumstances change over time, they have been a focal point for quite a bit of discussion of various web hosts over time.  &lt;br /&gt;
&lt;br /&gt;
A collection of posts largely focusing on GoDaddy can be [http://moodle.org/mod/forum/discuss.php?d=53087#p459052| found here] and a list of discussions concerning quite a few other hosts, courtesy of [http://moodle.org/user/view.php?id=195424&amp;amp;course=5| Richard Enison (RLE)], appears in that collection [http://moodle.org/mod/forum/discuss.php?d=53087&amp;amp;parent=459052| at this address].&lt;br /&gt;
&lt;br /&gt;
==Why Use A Web Host==&lt;br /&gt;
&lt;br /&gt;
General areas of concern are:&lt;br /&gt;
&lt;br /&gt;
===General Management and Installation Assistance===&lt;br /&gt;
Many web hosts offer GUIs that provide shortcuts to install and manage web applications.  Some typical &amp;quot;panel&amp;quot; options are Fantastico and cpanel,  while an example of a management application that many webhosts make available is phpmyadmin (for managing mysql databases.)&lt;br /&gt;
====CPanel====&lt;br /&gt;
If you decide to choose a hosting company that has cpanel then  [http://ic.eflclasses.org/tutorials/settingupmoodleonhostingwitholdcpanel.swf this tutorial] may provide some guidance in choosing a host and setting up moodle via the old cpanel. It is a VERY large file (that runs for about 12 minutes) and you will have to wait for it to load but [[User:Eric Hagley|Eric Hagley]] indicates it is worth the wait as affords a step by step approach. If you have the new cpanel please use [http://ic.eflclasses.org/tutorials/settingupmoodleoncpanel.swf this link] for an updated tutorial.&lt;br /&gt;
 &lt;br /&gt;
===Keeping Your Software Current===&lt;br /&gt;
Software such as Moodle is not static; it changes all the time.  Indeed Moodle software changes sometimes daily. Software may be altered to fix security issues or to make improvements.  Sometimes a fix in one respect causes a bug in another.  &lt;br /&gt;
&lt;br /&gt;
Additionally, as noted below, Moodle is not the only product you may want to keep current,  and any time you are trying to keep multiple applications current you are bound to run into compatibility issues.&lt;br /&gt;
&lt;br /&gt;
As noted elsewhere, some web hosts provide utilities for web application management. For a discussion of updating software using such utilities (Cpanel for example) see the section on [[#General Management and Installation Assistance|General Management and Installation Assistance above]].&lt;br /&gt;
&lt;br /&gt;
===Keeping Your Software Compatible===&lt;br /&gt;
Moodle is not &amp;quot;just&amp;quot; Moodle.  The Moodle experience relies on a set of software applications,  including a web server (often but not necessarily  Apache), PHP, and a database engine (often but not necessarily mySQL), as well as the Moodle code itself. Each of the elements involved is regularly updated and this will result in compatibility issues. A fix to one application may cause a problem in another. Moreover, the manner in which an issue is addressed in one version may change with the next (an example being the use of php.ini files, which were required in every directory in php 4.x, a practice unnecessary in php 5.)&lt;br /&gt;
&lt;br /&gt;
In addition to the four primary Moodle components (again, web server, database engine, PHP and Moodle code) you may wish to install a variety of additional software to use with Moodle (Moodle offers many modules to provide for the integration of external applications). The addition of an external application to your overall system increases complexity because as the various applications develop the modules integrating them may fail.&lt;br /&gt;
&lt;br /&gt;
Module installation might be handled by a firm offering dedicated Moodle services, but will not be typically addressed by a vanilla web-host,  which leaves the install of aspell, dragmath, asciimathml, etc. all to you.&lt;br /&gt;
&lt;br /&gt;
One of the most intelligent questions that may be heard in a Moodle class is whether a course developed in Moodle A will work in Moodle B.  The best answer is, &amp;quot;Maybe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Backups===&lt;br /&gt;
[http://www.murphys-laws.com/murphy/murphy-true.html Murphy&#039;s Law] offers no exceptions; it is an absolute, and without knowing who you are, where you come from or what you do, your Moodle may some day fail. The good news is that the odds of multiple failures are in your favor, so if you are well prepared, this eventuality can be viewed with same equanimity as that stubbed toe.....&lt;br /&gt;
&lt;br /&gt;
Keeping very good records of your hacks, your additions, and the settings you have used for moodle as well as all the other software that it takes to support a moodle instance provides invaluable information.  A backup regime, including course backups, software backups, and database backups is also important.&lt;br /&gt;
&lt;br /&gt;
The Moodler must remember that while Moodle itself can do some backups,  Moodle backups are very intensive and are only a small facet of an effective backup program,  which must address the variety of data that is encompassed by a Moodle web site.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll discuss various backup types and issues below,  but first let&#039;s talk about the underlying issue: who is doing what?&lt;br /&gt;
&lt;br /&gt;
Some web hosts provide &amp;quot;snap shots&amp;quot;, some provide site wide backups. Some offer shell access and tell you to roll your own, while some web hosts honestly couldn&#039;t care less....  You must remember that, without a specific agreement otherwise, it is unlikely that your web host acknowledges any responsibility for maintaining your data.  Unfortunately,  typically each of your data types may require a different kind of backup and you either need to learn how to do effective backups of your site on your own, or you will have to negotiate what amounts to bare metal backup with your Web Host (and you will need to identify an appropriate window,  because you want your backups to be rather more current than your web host might find sensible....)&lt;br /&gt;
&lt;br /&gt;
If you have shell access the good news is that there are quite a few scripts out there you can use to help yourself build an effective backup regimen.&lt;br /&gt;
&lt;br /&gt;
There are critical points with respect to backing up your data that need to be addressed. They range from the global, such as addressing the location for the backups and managing remote backups (rsync can be helpful in this respect) and actually handling and recycling of the files themselves (when do you back up, what do you backup when you do backup, and how long do you keep a specific file) to the narrow (for example the db should be locked during backup.) While we have broken up this discussion because different types of data need to be treated in different ways, one could script one&#039;s system to address backups for all the different types of data.&lt;br /&gt;
&lt;br /&gt;
Another option that we should mention in passing is that one can also look at replication of data, either to a simple store or to a failover unit. Be aware that mysql replication requires access to mysql commands that some web hosts do not provide. Chances are that if you are looking at replication you are having multiple private systems hosted by a vendor or are running your own installation and have looked at fail-over, clusters and replication in depth.&lt;br /&gt;
&lt;br /&gt;
Lastly, please remember that if you are paying a web host for bandwidth used, remote backup could become a source of significant expense&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: AT present there is one Backup page, [[Site_backup]], in the docs,  and it might be helpful at some time to break that up so that separate docs address different aspects of backup with one page addressing scripting options.  In any event link to backup page needs to be added&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
====Data====&lt;br /&gt;
By data we mean the contents of the moodledata directory, which may represent some of your most important material.&lt;br /&gt;
&lt;br /&gt;
====GUI====&lt;br /&gt;
Your GUI is what is most often neglected when addressing backups. More often than not much of what you think of as your GUI will be reflected in any customizations to your theme, with pertinent data located in your Moodle code installation (/moodle/theme - see below) and possibly moodledata (a possible site for images used.)&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
Whatever database you are using,  it is critical that you dump and store your db regularly, especially because it can be so simple to restore a site if you have a recent db dump. This can be accomplished manually via a GUI as with phpmyadmin or mysql admin or via command line if the user has access and the requisite skills.  It can also be automated via commercial or open scripting (as in HandyBackup  or automysqlbackup).&lt;br /&gt;
&lt;br /&gt;
====Software====&lt;br /&gt;
Not only your Moodle configuration (additional modules, hacks and twiddles),  but complementary software that you have integrated (like Mahara, etc) should be backed up.&lt;br /&gt;
&lt;br /&gt;
You might ask why you should back up your Moodle code when you can just download it from Moodle and reinstall.  There are a couple of issues here.  First, the version of Moodle you download today is going to be different than the same version of Moodle you download tomorrow.  This is confusing but that is how things lie.  It is possible that a new install will result in problems on a restore and if you are facing down  some failure you DO NOT want to then also have to try and figure out why what was working yesterday isn&#039;t working today. All things being constant  is the hallmark of restore, and you don;t want to deal with any changes you are not aware of.  &lt;br /&gt;
&lt;br /&gt;
The second issue is your potential customization,  whether that amounts to hacks to php code or just to the installation of additional modules. If speed is of interest (and when doing a restore after failure the most oft heard words are &amp;quot;how soon&amp;quot; ) you don&#039;t want to have to recreate your Moodle application, you want to be able to restore.&lt;br /&gt;
&lt;br /&gt;
And a third issue related to the previous point is theme customization. Themes are stored in /moodle/theme.&lt;br /&gt;
&lt;br /&gt;
===Security===&lt;br /&gt;
Most often we talk about security in the context of potential threats to your data. Of course, what can cause some consternation here is that different folks think of data in different ways. There is the data Moodle places in the mysql database.  There is the data that Moodle places in the moodledata file structure, and there is the Moodle code itself. You may want to consider protecting all of these types of data from unauthorized reading, writing and execution. Think of this as a two dimensional matrix.  Now add a third dimension that includes various ways one might be able to access any cell in the existing table, including coding flaws, external configuration problems and internal Moodle configuration issues&lt;br /&gt;
&lt;br /&gt;
====Code Flaws====&lt;br /&gt;
Code exploits are addressed regularly through patches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need links to the various fora, etc for security reporting and info)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configuration====&lt;br /&gt;
The most typical issue in this area is placing the moodledata directory in the web root.&lt;br /&gt;
&lt;br /&gt;
====Moodle set-up====&lt;br /&gt;
This includes such matters as enrollment, internal role configuration, etc.&lt;br /&gt;
&lt;br /&gt;
Perhaps the most widely discussed problem here has been the matter of profile spam that can be produced when admins allow open e-mail enrollment.  There are arguments as to whether this is a security issue or not (and sometimes it seems that the same folks are on both sides of the issue at times) but what it means from a practical standpoint is that you can have a Moodle targeted at your elementary school which contains enough pornography to make Bosche blush.&lt;br /&gt;
&lt;br /&gt;
Sophisticated authentication relying on Moodle Networking, LDAP etc. will require some administrative skill sets pertinent to the scheme employed. One should also be acquainted with the underlying nature of access control including the difference between authentication and authorization. See, e.g.  http://en.wikipedia.org/wiki/Access_control&lt;br /&gt;
&lt;br /&gt;
More more prosaic but as important are matters of security policy and enunciation of protocols addressing access rights to data (in the U. S. consider HIPAA, FERPA, IDEA, etc.)&lt;br /&gt;
&lt;br /&gt;
===Integration===&lt;br /&gt;
After an initial basic Moodle installation there are quite a few tasks that need to be addressed to integrate the Moodle with all the bells and whistles you are expecting to use.&lt;br /&gt;
====Cron====&lt;br /&gt;
One of the most important post-install tasks is to invoke cron.php via the system cron daemon (or Task Scheduler...) Among other tasks,  such as backup, cron triggers mail. [[Cron]] explains a good deal but there may be issues when trying to use smtp (some of these have been fixed in Moodle 1.9.3) to alternative ports.&lt;br /&gt;
====Mail====&lt;br /&gt;
While typically Moodle will use PHP&#039;s mail routines, in some cases you may have to configure mail manually and some issues may require manual database edits.  See, [[Email settings]] and [[Email setup gmail]] as examples of possible manual configuration.&lt;br /&gt;
====Max File Upload====&lt;br /&gt;
The maximum size of file uploads for Moodle can be controlled via the Moodle GUI but are also constrained via Apache and PHP, and to adjust these you may need to be able to edit .htaccess and/or php.ini. Here are some examples of the discussin of such matters: http://moodle.org/mod/forum/discuss.php?d=98064&amp;amp;parent=433245 and  http://moodle.org/mod/forum/discuss.php?d=103190&amp;amp;parent=456650&lt;br /&gt;
&lt;br /&gt;
==Criteria for Selecting Web Hosts==&lt;br /&gt;
&lt;br /&gt;
===What Purpose Will Your Site Serve===&lt;br /&gt;
Production, Experimentation, etc&lt;br /&gt;
Classroom support or Asynchronous Remote&lt;br /&gt;
Gradebook and critical classroom data&lt;br /&gt;
Number of concurrent users&lt;br /&gt;
&lt;br /&gt;
Issues of scale can be very important.  A relatively small number of concurrent users can generate enough email through forum postings to get you in trouble with your host.  Email volume, storage space for users and courses, number of accounts,&lt;br /&gt;
&lt;br /&gt;
===Will You Be Running a 5 Nines Site===&lt;br /&gt;
What is all this you hear about &amp;quot;five nines&amp;quot;. This is a way to discuss [http://en.wikipedia.org/wiki/Uptime system uptime] and  the implications thereby for the amount of time that a [http://en.wikipedia.org/wiki/High_availability system is down and not available].&lt;br /&gt;
&lt;br /&gt;
While five nines is not that difficult to achieve, it becomes obvious quickly that without redundancy bringing down any part of a system for maintenance quickly knocks one out of the park. &lt;br /&gt;
&lt;br /&gt;
Downtime can grossly be divided into planned and unplanned outages.  You may determine that since you only serve people  in one time zone who had beeter be in bed between 2 and 4 in the morning,  that you can live with 2 hours of planned downtime a night.  On the other hand, you may feel that from 7:00 a.m. to 10 p.m. Monday through Friday no outage is acceptable.&lt;br /&gt;
&lt;br /&gt;
===Are you Prepared to Serve as a SYSADMIN?===&lt;br /&gt;
How are you planning to staff your project (see above??)&lt;br /&gt;
Do you have buy in from your IT dept?&lt;br /&gt;
Is everyone involved familiar with the realistic demands of a Moodle install (crank the FTEs!)&lt;br /&gt;
===Is Your Web Host Willing to Negotiate for the Services You require===&lt;br /&gt;
====SLAs====&lt;br /&gt;
What is an SLA? An SLA is a Service Level Agreement. While wikipedia provides  [http://en.wikipedia.org/wiki/Service_level_agreement a basic discussion of SLAs],  a review of [http://www.nkarten.com/sla.html Naomi Karten&#039;s site], which is pitched at the vendor might prove helpful.  There are [http://www.service-level-agreement.net/ commercial SLA kits as well].&lt;br /&gt;
&lt;br /&gt;
By way of example, consider [https://confluence.delhi.edu/display/CIS/Moodlerooms+Service+Level+Agreement the SLA between Delhi SUNY and Moodlerooms] ([https://confluence.delhi.edu/pages/diffpages.action?pageId=82083866&amp;amp;originalId=82346012 and see this comparison]), an SLA in pdf format for [http://www.northumbrialearning.co.uk/documents/legal/moodle_hosting.pdf North Umbria Learning], and an SLA in MS Word format for [http://www.kwantlen.ca/__shared/assets/Moodle_Service_Level_Agreement4387.doc Kwantlen, Canada].&lt;br /&gt;
&lt;br /&gt;
====Remedies====&lt;br /&gt;
Well,  having considered an SLA hard and fast, the question is whether your SLA sets out specific remedies for those occasions when your vendor doesn&#039;t provide the services agreed upon,  and if not, what recourse you may have.&lt;br /&gt;
&lt;br /&gt;
To put this another way,  [http://www.kentlaw.edu/perritt/courses/property/Hohfeld.htm you have no rights if you have no remedies].  Depending on the relative bargaining power of the parties remedies could run from monetary damages to a term extension. In many cases your potential vendor may refuse to agree to any specific remedies.  Consider the vendor who &amp;quot;guarantees&amp;quot; band width and when asked what the client receives when the bandwidth drops below the guaranteed service level, the vendor states that they will work to resolve the issue; there is no remedy and the guarantee is mere puffing.&lt;br /&gt;
&lt;br /&gt;
Negotiating for remedies is an excellent way to explore the amount of faith the vendor puts in his own stock. Most often you will be told that the vendor can&#039;t provide any remedy as remedies could put them out of business. Chances are that this vendor does not have redundancy or experience necessary to provide mission critical service. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Notes to selves:&lt;br /&gt;
Here is the real meat and potatoes,  which we can put here or actually put on additional pages (my prefs)&lt;br /&gt;
SO a link to range of service, types of support, security, e-mail, mysql support, panels....&lt;br /&gt;
perhaps as well, pages on SLAs generally, boilerplate and guarantees, punchlists&lt;br /&gt;
Perhaps specific sections, with brief descriptors and links to more detailed pages.&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Planning an Installation=&lt;br /&gt;
&lt;br /&gt;
[[Installation FAQ]]&lt;br /&gt;
&lt;br /&gt;
==Outsourcing==&lt;br /&gt;
&lt;br /&gt;
===Developing your specs===&lt;br /&gt;
&lt;br /&gt;
Often a larger installation will not be a vanilla Moodle site, and needs to be tuned or customised to a particular purpose or environment.  &lt;br /&gt;
&lt;br /&gt;
If possible, try to develop a really clear specification of what you want internally.  Create a written document that is clear and concise about your needs, including a statement of your purpose and goals.  Resist the temptation to get too detailed, though - 100 page specifications full of descriptive text and mock screenshots may result in your Request For Quote (RFQ) ending up in a too-hard basket.&lt;br /&gt;
&lt;br /&gt;
If you aren&#039;t sure exactly what you need, consider consulting with experts who have implemented similar systems before.  The Moodle forums are a useful place to ask questions and get results from a variety of Moodle experts (but everyone will appreciate it if you read the pertinent docs first.)&lt;br /&gt;
&lt;br /&gt;
===Approaching providers===&lt;br /&gt;
&lt;br /&gt;
When sending your request for a quote to providers, make sure to include information about your deadlines and resources to help the provider make a balanced judgement on their costs and availability (depending on the work you need).&lt;br /&gt;
&lt;br /&gt;
===Comparing quotes===&lt;br /&gt;
&lt;br /&gt;
Generally you do get what you pay for.  Like most things you should consider the following variables beyond cost value:&lt;br /&gt;
&lt;br /&gt;
# Stability of the company&lt;br /&gt;
# Service level agreement (SLA) details&lt;br /&gt;
# Reputation of the provider &lt;br /&gt;
# Experience with Moodle &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Do It Yourself==&lt;br /&gt;
[[Planning your installation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74709</id>
		<title>Finding and Selecting A Web Host</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74709"/>
		<updated>2010-08-12T17:10:19Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Developing your specs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose==&lt;br /&gt;
These pages are meant to serve as an additional guide to help users work through variety of questions, issues, etc. as they choose the best way to provide Moodle as an LMS to their users.  We hope that these pages will help to steer the user to helpful materials that may not be easily found by the docs search engine.  This is an ambitious undertaking, so we would be very pleased for more authors to add to the content!&lt;br /&gt;
&lt;br /&gt;
A similar effort can be found in the [[Decision FAQ]] and if you have suggestions for integration, linking, etc.  please feel free to post suggestions via the &amp;quot;page comments&amp;quot; tab above.&lt;br /&gt;
&lt;br /&gt;
==Planning a Moodle installation==&lt;br /&gt;
&lt;br /&gt;
If you are interested in installing and using a Moodle instance in your school, organization, or business, there are many things you must consider.  Not only do you have to think about the technical aspects, you also should put some thought into how you would like to use the system, maintain the system, create the content, and support the users.&lt;br /&gt;
&lt;br /&gt;
Depending on the scope and scale of your instance, and the technical expertise you can bring to the table, you may decide that you can host Moodle yourself or you may realize you could use some help!  This page focuses on making decisions about how or where to host a Moodle site.  Other pages will be developed to address the separate issue of retaining consultants apart from the question of hosting (though many of the concerns in addressing both are comparable.)&lt;br /&gt;
&lt;br /&gt;
In addition to technical expertise, there are staffing issues to consider.  A &#039;&#039;&#039;developer&#039;&#039;&#039; will help you write code to enhance or add new functionality.  Many installations find that they do not need a developer, or they can hire development on an ad hoc basis.  An &#039;&#039;&#039;LMS/Moodle administrator&#039;&#039;&#039; needs to have a good understanding of the system side of moodle.  The more this person knows about databases and general web applications, the better.  If you don&#039;t have an IT person to run the server and manage security, then the LMS/Moodle administrator may need to oversee these important duties. &#039;&#039;&#039;Content creators&#039;&#039;&#039; usually assist instructors with planning and creating course content.  Large installations may need dedicated IT staff and database administrators.  Consider the mix of people you have to support Moodle in your organization.  You may find that you can cover all these bases with your current staff.  If not, you may want to look at a [http://moodle.com/ Moodle Partner] to provide management and maintenance services for your Moodle instance, your instructors, and your students/course participants.&lt;br /&gt;
&lt;br /&gt;
==Who are you?  Types of Moodle Instances==&lt;br /&gt;
Before you choose a host, it would probably be helpful to have a firm understanding of who &#039;&#039;&#039;YOU&#039;&#039;&#039; are.  What do you intend to accomplish with your Moodle instance?  &lt;br /&gt;
&lt;br /&gt;
Typical types of Moodle instances include schools, companies, agencies, churches, and a wide variety of non-profit organizations.  A single individual may want to deliver just two or three courses.  Some moodle instances serve as portfolios or special project spaces.  Moodlers are very innovative!&lt;br /&gt;
&lt;br /&gt;
Each of these types of Moodle users will have differing requirements and needs.  Each may have different ideas about what kind of content they want to provide, who will be facilitating the &amp;quot;course work&amp;quot; (or if the course work will be automated), how they will enroll the users, and how strictly they want/need to enforce privacy for users.&lt;br /&gt;
&lt;br /&gt;
These issues are of great importance when selecting a host.  If you can identify exactly what you want to do and how you think it can be best accomplished, then you will likely recognize whether or not you can &amp;quot;do it yourself&amp;quot;, if you need to look for full-service hosting, or if you can accomplish your goals with a consultant or ad hoc development.&lt;br /&gt;
&lt;br /&gt;
The following are common types of users.  Some people only use moodle to create and teach courses (albeit in quite a lot of different ways!) Some people take care of the Moodle &amp;quot;back end&amp;quot;, which involves administrative functions.  In some cases, the Moodle admin will take on responsibilities for &amp;quot;server admin&amp;quot; as well as assisting with training for teachers using moodle.  In others, the &amp;quot;server admin&amp;quot; will work with other people to form a group that covers Moodle admin and classroom teacher perspectives.  Trainers often have all the skills for the instructor as well as Moodle adminintrator.  There are endless combinations of staffing and roles depending on your organization. &lt;br /&gt;
&lt;br /&gt;
The following examples should be seen as a rough continuum with many variations possible. Take a look at the examples that seem to fit you best and we will attempt to describe the skillsets you will need and our best advice for the type of hosting you may find most practical:&lt;br /&gt;
&lt;br /&gt;
===The classroom teacher, instructor, professor, or course creator===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_teachers|The Hosting for moodle teachers page]] describes the default role of &amp;quot;editing teacher&amp;quot; and sets out some considerations for evaluating your ability to manage a Moodle instance on your own.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to negotiate an agreement with them to provide the hosting and assume responsibility for the administrative tasks related to running a Moodle instance.  Depending on your situation and the level of support you need, outsourcing might be the more attractive option.&lt;br /&gt;
&lt;br /&gt;
=== The (limited) Moodle admin===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_admins|The hosting for moodle admins page]] describes the role of the Moodle admin.  Not the server admin.  This role is limited to managing Moodle, but not other software packages on the server.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to arrange for them to provide the hosting and you assume responsibility for the administrative tasks related to running a Moodle instance.&lt;br /&gt;
&lt;br /&gt;
===The Advanced Moodle admin===&lt;br /&gt;
&lt;br /&gt;
As you by now expected, [[Hosting_for_moodle_admins_advanced|the hosting for moodle advanced admins page]] is for those people who manage Moodle as well as getting into server side considerations, such as cron, email, database management and php.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in hosting without service.&lt;br /&gt;
&lt;br /&gt;
===The Server admin===&lt;br /&gt;
&lt;br /&gt;
There is also a [[Hosting_for_server_admins|page addressing hosting for server admins]], for people who have the necessary skills and knowledge to manage the server and stack software.  If you fit into this category, you may be less or not involved in managing the moodle instance.  Some individuals will be able to run the server as well as manage the moodle instance in its entirety.&lt;br /&gt;
&lt;br /&gt;
==Types of Hosts==&lt;br /&gt;
&lt;br /&gt;
===Hosts who provide full Moodle management/maintenance services===&lt;br /&gt;
&lt;br /&gt;
Some hosts are ready to support Moodle as a software package as well as providing and maintaining the server it runs on.  They may provide training, content building, and development services as well. Service packages will likely include moodle upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups. &lt;br /&gt;
&lt;br /&gt;
There are two types of full-service hosts for the purposes of this discussion:  Moodle Partners and hosts who are not Moodle Partners.&lt;br /&gt;
&lt;br /&gt;
The [http://moodle.com/partners Moodle Partners] are an [http://moodle.com/partners/list/ international group] of Moodle-based service companies that work closely with [http://moodle.com/ Moodle Pty Ltd].  They contribute 10% of their earnings directly to core Moodle development and are subject to certain codes of conduct.  They provide a range of optional commercial services including fully-serviced Moodle hosting, training, certification, remote support contracts, custom code development and consulting.  Different Partners vary in size, and focus on different specialities in different countries.&lt;br /&gt;
&lt;br /&gt;
Generally only Moodle Partners are allowed to use the Moodle trademark (such as the phrase &amp;quot;Moodle hosting&amp;quot;) to advertise their Moodle Services (see the [[License]] for details).  &lt;br /&gt;
&lt;br /&gt;
There are a variety of other companies providing similar services (sometimes under other names like &amp;quot;lms hosting&amp;quot; and sometimes not) that are not affiliated with the Moodle project and who do not support the project through royalties.  Some of them even offer free services that are supported by third-party advertising.&lt;br /&gt;
&lt;br /&gt;
As a consumer you need to choose carefully from all the options available to you.  Each of these companies is an individual concern, and a prospective client is ultimately responsible for understanding what service package they are purchasing and how long it might be likely to be around.  Do your research and articulate your needs and expectations very carefully!&lt;br /&gt;
&lt;br /&gt;
If you google &amp;quot;moodle hosting&amp;quot; you will find Moodle Partners and a large number of sites offering Moodle hosting that are not full-service hosts.  Be very careful.  Many sites that advertise &amp;quot;Moodle hosting&amp;quot; are really offering you hosting of the software only, without additional management and maintenance services.  These hosts do provide the software you need to run Moodle, but you are on your own after that!&lt;br /&gt;
&lt;br /&gt;
===Hosting without Moodle management and maintenance services===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_without_service|Hosting without Moodle management and maintenance services]] is perhaps the most common situation.  Many people select this option when they have decided they do not want to be responsible for hardware or the basic software &amp;quot;stack&amp;quot; used to run a Moodle instance, but also do not want to pay the premium for someone else to provide administrative expertise in the management of Moodle.  There are thousands of web hosts available, and each probably offers a slightly different set of service options.&lt;br /&gt;
&lt;br /&gt;
While full-service or managed hosting packages may include upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups, no-frills hosting will assume that you are willing to manage all these aspects of running a moodle instance.&lt;br /&gt;
&lt;br /&gt;
If you have a reasonable level of confidence in hosting your own site this can be a very inexpensive solution.&lt;br /&gt;
&lt;br /&gt;
===In-house hosting (or &amp;quot;do it yourself&amp;quot;)===&lt;br /&gt;
If you have the necessary background and interest, you (or your IT team) can set up your own server and run one or more Moodle instances to support your institution, business, or project.  You may choose to deploy Moodle on a variety of different operating systems (Mac, Linux, Windows) and with several different database options (MySQL, Postgres, MSSQL).  While this page is not intended to provide assistance in accomplishing this goal, it does attempt to describe the sort of knowledge base you or your team will require for successfully [[in_house_hosting|hosting your own Moodle instance.]]  You could also consider commercial support for in-house hosting from any of the commercial support providers mentioned above.&lt;br /&gt;
&lt;br /&gt;
=Choosing a Web Host=&lt;br /&gt;
&lt;br /&gt;
==The User Experience==&lt;br /&gt;
===Your Compendium===&lt;br /&gt;
[[Web_Hosts|A matrix]] has been created so that users can provide information on various web hosting options here. Please feel free to add to the matrix,  but respect the footnoting conventions and the table structure please.  There is some exploration of using Google Docs to address user feedback on Web Hosts. While a Google Doc may eventually be embedded in the Web Host doc, an experimental version can be [http://spreadsheets.google.com/pub?key=pGlMhVRQ_zU-3m-jSjeQCGQ| seen here].&lt;br /&gt;
&lt;br /&gt;
&#039;NB:&#039; If the wiki structure for the matrix is too much of a hassle, please just use the + tab from the &amp;quot;page comment&amp;quot; tab (you must be logged in to docs to see this,  and that is still a separate log in....) to add your comments and someone will transfer them to the matrix.&lt;br /&gt;
&lt;br /&gt;
===Discussion in the Forums===&lt;br /&gt;
While the forums should not be viewed as authoritative as circumstances change over time, they have been a focal point for quite a bit of discussion of various web hosts over time.  &lt;br /&gt;
&lt;br /&gt;
A collection of posts largely focusing on GoDaddy can be [http://moodle.org/mod/forum/discuss.php?d=53087#p459052| found here] and a list of discussions concerning quite a few other hosts, courtesy of [http://moodle.org/user/view.php?id=195424&amp;amp;course=5| Richard Enison (RLE)], appears in that collection [http://moodle.org/mod/forum/discuss.php?d=53087&amp;amp;parent=459052| at this address].&lt;br /&gt;
&lt;br /&gt;
==Why Use A Web Host==&lt;br /&gt;
&lt;br /&gt;
General areas of concern are:&lt;br /&gt;
&lt;br /&gt;
===General Management and Installation Assistance===&lt;br /&gt;
Many web hosts offer GUIs that provide shortcuts to install and manage web applications.  Some typical &amp;quot;panel&amp;quot; options are Fantastico and cpanel,  while an example of a management application that many webhosts make available is phpmyadmin (for managing mysql databases.)&lt;br /&gt;
====CPanel====&lt;br /&gt;
If you decide to choose a hosting company that has cpanel then  [http://ic.eflclasses.org/tutorials/settingupmoodleonhostingwitholdcpanel.swf this tutorial] may provide some guidance in choosing a host and setting up moodle via the old cpanel. It is a VERY large file (that runs for about 12 minutes) and you will have to wait for it to load but [[User:Eric Hagley|Eric Hagley]] indicates it is worth the wait as affords a step by step approach. If you have the new cpanel please use [http://ic.eflclasses.org/tutorials/settingupmoodleoncpanel.swf this link] for an updated tutorial.&lt;br /&gt;
 &lt;br /&gt;
===Keeping Your Software Current===&lt;br /&gt;
Software such as Moodle is not static; it changes all the time.  Indeed Moodle software changes sometimes daily. Software may be altered to fix security issues or to make improvements.  Sometimes a fix in one respect causes a bug in another.  &lt;br /&gt;
&lt;br /&gt;
Additionally, as noted below, Moodle is not the only product you may want to keep current,  and any time you are trying to keep multiple applications current you are bound to run into compatibility issues.&lt;br /&gt;
&lt;br /&gt;
As noted elsewhere, some web hosts provide utilities for web application management. For a discussion of updating software using such utilities (Cpanel for example) see the section on [[#General Management and Installation Assistance|General Management and Installation Assistance above]].&lt;br /&gt;
&lt;br /&gt;
===Keeping Your Software Compatible===&lt;br /&gt;
Moodle is not &amp;quot;just&amp;quot; Moodle.  The Moodle experience relies on a set of software applications,  including a web server (often but not necessarily  Apache), PHP, and a database engine (often but not necessarily mySQL), as well as the Moodle code itself. Each of the elements involved is regularly updated and this will result in compatibility issues. A fix to one application may cause a problem in another. Moreover, the manner in which an issue is addressed in one version may change with the next (an example being the use of php.ini files, which were required in every directory in php 4.x, a practice unnecessary in php 5.)&lt;br /&gt;
&lt;br /&gt;
In addition to the four primary Moodle components (again, web server, database engine, PHP and Moodle code) you may wish to install a variety of additional software to use with Moodle (Moodle offers many modules to provide for the integration of external applications). The addition of an external application to your overall system increases complexity because as the various applications develop the modules integrating them may fail.&lt;br /&gt;
&lt;br /&gt;
Module installation might be handled by a firm offering dedicated Moodle services, but will not be typically addressed by a vanilla web-host,  which leaves the install of aspell, dragmath, asciimathml, etc. all to you.&lt;br /&gt;
&lt;br /&gt;
One of the most intelligent questions that may be heard in a Moodle class is whether a course developed in Moodle A will work in Moodle B.  The best answer is, &amp;quot;Maybe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Backups===&lt;br /&gt;
[http://www.murphys-laws.com/murphy/murphy-true.html Murphy&#039;s Law] offers no exceptions; it is an absolute, and without knowing who you are, where you come from or what you do, your Moodle may some day fail. The good news is that the odds of multiple failures are in your favor, so if you are well prepared, this eventuality can be viewed with same equanimity as that stubbed toe.....&lt;br /&gt;
&lt;br /&gt;
Keeping very good records of your hacks, your additions, and the settings you have used for moodle as well as all the other software that it takes to support a moodle instance provides invaluable information.  A backup regime, including course backups, software backups, and database backups is also important.&lt;br /&gt;
&lt;br /&gt;
The Moodler must remember that while Moodle itself can do some backups,  Moodle backups are very intensive and are only a small facet of an effective backup program,  which must address the variety of data that is encompassed by a Moodle web site.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll discuss various backup types and issues below,  but first let&#039;s talk about the underlying issue: who is doing what?&lt;br /&gt;
&lt;br /&gt;
Some web hosts provide &amp;quot;snap shots&amp;quot;, some provide site wide backups. Some offer shell access and tell you to roll your own, while some web hosts honestly couldn&#039;t care less....  You must remember that, without a specific agreement otherwise, it is unlikely that your web host acknowledges any responsibility for maintaining your data.  Unfortunately,  typically each of your data types may require a different kind of backup and you either need to learn how to do effective backups of your site on your own, or you will have to negotiate what amounts to bare metal backup with your Web Host (and you will need to identify an appropriate window,  because you want your backups to be rather more current than your web host might find sensible....)&lt;br /&gt;
&lt;br /&gt;
If you have shell access the good news is that there are quite a few scripts out there you can use to help yourself build an effective backup regimen.&lt;br /&gt;
&lt;br /&gt;
There are critical points with respect to backing up your data that need to be addressed. They range from the global, such as addressing the location for the backups and managing remote backups (rsync can be helpful in this respect) and actually handling and recycling of the files themselves (when do you back up, what do you backup when you do backup, and how long do you keep a specific file) to the narrow (for example the db should be locked during backup.) While we have broken up this discussion because different types of data need to be treated in different ways, one could script one&#039;s system to address backups for all the different types of data.&lt;br /&gt;
&lt;br /&gt;
Another option that we should mention in passing is that one can also look at replication of data, either to a simple store or to a failover unit. Be aware that mysql replication requires access to mysql commands that some web hosts do not provide. Chances are that if you are looking at replication you are having multiple private systems hosted by a vendor or are running your own installation and have looked at fail-over, clusters and replication in depth.&lt;br /&gt;
&lt;br /&gt;
Lastly, please remember that if you are paying a web host for bandwidth used, remote backup could become a source of significant expense&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: AT present there is one Backup page, [[Site_backup]], in the docs,  and it might be helpful at some time to break that up so that separate docs address different aspects of backup with one page addressing scripting options.  In any event link to backup page needs to be added&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
====Data====&lt;br /&gt;
By data we mean the contents of the moodledata directory, which may represent some of your most important material.&lt;br /&gt;
&lt;br /&gt;
====GUI====&lt;br /&gt;
Your GUI is what is most often neglected when addressing backups. More often than not much of what you think of as your GUI will be reflected in any customizations to your theme, with pertinent data located in your Moodle code installation (/moodle/theme - see below) and possibly moodledata (a possible site for images used.)&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
Whatever database you are using,  it is critical that you dump and store your db regularly, especially because it can be so simple to restore a site if you have a recent db dump. This can be accomplished manually via a GUI as with phpmyadmin or mysql admin or via command line if the user has access and the requisite skills.  It can also be automated via commercial or open scripting (as in HandyBackup  or automysqlbackup).&lt;br /&gt;
&lt;br /&gt;
====Software====&lt;br /&gt;
Not only your Moodle configuration (additional modules, hacks and twiddles),  but complementary software that you have integrated (like Mahara, etc) should be backed up.&lt;br /&gt;
&lt;br /&gt;
You might ask why you should back up your Moodle code when you can just download it from Moodle and reinstall.  There are a couple of issues here.  First, the version of Moodle you download today is going to be different than the same version of Moodle you download tomorrow.  This is confusing but that is how things lie.  It is possible that a new install will result in problems on a restore and if you are facing down  some failure you DO NOT want to then also have to try and figure out why what was working yesterday isn&#039;t working today. All things being constant  is the hallmark of restore, and you don;t want to deal with any changes you are not aware of.  &lt;br /&gt;
&lt;br /&gt;
The second issue is your potential customization,  whether that amounts to hacks to php code or just to the installation of additional modules. If speed is of interest (and when doing a restore after failure the most oft heard words are &amp;quot;how soon&amp;quot; ) you don&#039;t want to have to recreate your Moodle application, you want to be able to restore.&lt;br /&gt;
&lt;br /&gt;
And a third issue related to the previous point is theme customization. Themes are stored in /moodle/theme.&lt;br /&gt;
&lt;br /&gt;
===Security===&lt;br /&gt;
Most often we talk about security in the context of potential threats to your data. Of course, what can cause some consternation here is that different folks think of data in different ways. There is the data Moodle places in the mysql database.  There is the data that Moodle places in the moodledata file structure, and there is the Moodle code itself. You may want to consider protecting all of these types of data from unauthorized reading, writing and execution. Think of this as a two dimensional matrix.  Now add a third dimension that includes various ways one might be able to access any cell in the existing table, including coding flaws, external configuration problems and internal Moodle configuration issues&lt;br /&gt;
&lt;br /&gt;
====Code Flaws====&lt;br /&gt;
Code exploits are addressed regularly through patches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need links to the various fora, etc for security reporting and info)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configuration====&lt;br /&gt;
The most typical issue in this area is placing the moodledata directory in the web root.&lt;br /&gt;
&lt;br /&gt;
====Moodle set-up====&lt;br /&gt;
This includes such matters as enrollment, internal role configuration, etc.&lt;br /&gt;
&lt;br /&gt;
Perhaps the most widely discussed problem here has been the matter of profile spam that can be produced when admins allow open e-mail enrollment.  There are arguments as to whether this is a security issue or not (and sometimes it seems that the same folks are on both sides of the issue at times) but what it means from a practical standpoint is that you can have a Moodle targeted at your elementary school which contains enough pornography to make Bosche blush.&lt;br /&gt;
&lt;br /&gt;
Sophisticated authentication relying on Moodle Networking, LDAP etc. will require some administrative skill sets pertinent to the scheme employed. One should also be acquainted with the underlying nature of access control including the difference between authentication and authorization. See, e.g.  http://en.wikipedia.org/wiki/Access_control&lt;br /&gt;
&lt;br /&gt;
More more prosaic but as important are matters of security policy and enunciation of protocols addressing access rights to data (in the U. S. consider HIPAA, FERPA, IDEA, etc.)&lt;br /&gt;
&lt;br /&gt;
===Integration===&lt;br /&gt;
After an initial basic Moodle installation there are quite a few tasks that need to be addressed to integrate the Moodle with all the bells and whistles you are expecting to use.&lt;br /&gt;
====Cron====&lt;br /&gt;
One of the most important post-install tasks is to invoke cron.php via the system cron daemon (or Task Scheduler...) Among other tasks,  such as backup, cron triggers mail. [[Cron]] explains a good deal but there may be issues when trying to use smtp (some of these have been fixed in Moodle 1.9.3) to alternative ports.&lt;br /&gt;
====Mail====&lt;br /&gt;
While typically Moodle will use PHP&#039;s mail routines, in some cases you may have to configure mail manually and some issues may require manual database edits.  See, [[Email settings]] and [[Email setup gmail]] as examples of possible manual configuration.&lt;br /&gt;
====Max File Upload====&lt;br /&gt;
The maximum size of file uploads for Moodle can be controlled via the Moodle GUI but are also constrained via Apache and PHP, and to adjust these you may need to be able to edit .htaccess and/or php.ini. Here are some examples of the discussin of such matters: http://moodle.org/mod/forum/discuss.php?d=98064&amp;amp;parent=433245 and  http://moodle.org/mod/forum/discuss.php?d=103190&amp;amp;parent=456650&lt;br /&gt;
&lt;br /&gt;
==Criteria for Selecting Web Hosts==&lt;br /&gt;
&lt;br /&gt;
===What Purpose Will Your Site Serve===&lt;br /&gt;
Production, Experimentation, etc&lt;br /&gt;
Classroom support or Asynchronous Remote&lt;br /&gt;
Gradebook and critical classroom data&lt;br /&gt;
Number of concurrent users&lt;br /&gt;
&lt;br /&gt;
Issues of scale can be very important.  A relatively small number of concurrent users can generate enough email through forum postings to get you in trouble with your host.  Email volume, storage space for users and courses, number of accounts,&lt;br /&gt;
&lt;br /&gt;
===Will You Be Running a 5 Nines Site===&lt;br /&gt;
What is all this you hear about &amp;quot;five nines&amp;quot;. This is a way to discuss [http://en.wikipedia.org/wiki/Uptime system uptime] and  the implications thereby for the amount of time that a [http://en.wikipedia.org/wiki/High_availability system is down and not available].&lt;br /&gt;
&lt;br /&gt;
While five nines is not that difficult to achieve, it becomes obvious quickly that without redundancy bringing down any part of a system for maintenance quickly knocks one out of the park. &lt;br /&gt;
&lt;br /&gt;
Downtime can grossly be divided into planned and unplanned outages.  You may determine that since you only serve people  in one time zone who had beeter be in bed between 2 and 4 in the morning,  that you can live with 2 hours of planned downtime a night.  On the other hand, you may feel that from 7:00 a.m. to 10 p.m. Monday through Friday no outage is acceptable.&lt;br /&gt;
&lt;br /&gt;
===Are you Prepared to Serve as a SYSADMIN?===&lt;br /&gt;
How are you planning to staff your project (see above??)&lt;br /&gt;
Do you have buy in from your IT dept?&lt;br /&gt;
Is everyone involved familiar with the realistic demands of a Moodle install (crank the FTEs!)&lt;br /&gt;
===Is Your Web Host Willing to Negotiate for the Services You require===&lt;br /&gt;
====SLAs====&lt;br /&gt;
What is an SLA? An SLA is a Service Level Agreement. While wikipedia provides  [http://en.wikipedia.org/wiki/Service_level_agreement a basic discussion of SLAs],  a review of [http://www.nkarten.com/sla.html Naomi Karten&#039;s site], which is pitched at the vendor might prove helpful.  There are [http://www.service-level-agreement.net/ commercial SLA kits as well].&lt;br /&gt;
&lt;br /&gt;
By way of example, consider [https://confluence.delhi.edu/display/CIS/Moodlerooms+Service+Level+Agreement the SLA between Delhi SUNY and Moodlerooms] ([https://confluence.delhi.edu/pages/diffpages.action?pageId=82083866&amp;amp;originalId=82346012 and see this comparison]), an SLA in pdf format for [http://www.northumbrialearning.co.uk/documents/legal/moodle_hosting.pdf North Umbria Learning], and an SLA in MS Word format for [http://www.kwantlen.ca/__shared/assets/Moodle_Service_Level_Agreement4387.doc Kwantlen, Canada].&lt;br /&gt;
&lt;br /&gt;
====Remedies====&lt;br /&gt;
Well,  having considered an SLA hard and fast, the question is whether your SLA sets out specific remedies for those occasions when your vendor doesn&#039;t provide the services agreed upon,  and if not, what recourse you may have.&lt;br /&gt;
&lt;br /&gt;
To put this another way,  [http://www.kentlaw.edu/perritt/courses/property/Hohfeld.htm you have no rights if you have no remedies].  Depending on the relative bargaining power of the parties remedies could run from monetary damages to a term extension. In many cases your potential vendor may refuse to agree to any specific remedies.  Consider the vendor who &amp;quot;guarantees&amp;quot; band width and when asked what the client receives when the bandwidth drops below the guaranteed service level, the vendor states that they will work to resolve the issue; there is no remedy and the guarantee is mere puffing.&lt;br /&gt;
&lt;br /&gt;
Negotiating for remedies is an excellent way to explore the amount of faith the vendor puts in his own stock. Most often you will be told that the vendor can&#039;t provide any remedy as remedies could put them out of business. Chances are that this vendor does not have redundancy or experience necessary to provide mission critical service. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Notes to selves:&lt;br /&gt;
Here is the real meat and potatoes,  which we can put here or actually put on additional pages (my prefs)&lt;br /&gt;
SO a link to range of service, types of support, security, e-mail, mysql support, panels....&lt;br /&gt;
perhaps as well, pages on SLAs generally, boilerplate and guarantees, punchlists&lt;br /&gt;
Perhaps specific sections, with brief descriptors and links to more detailed pages.&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Planning an Installation=&lt;br /&gt;
&lt;br /&gt;
[[Installation FAQ]]&lt;br /&gt;
&lt;br /&gt;
==Outsourcing==&lt;br /&gt;
&lt;br /&gt;
===Developing your specs===&lt;br /&gt;
&lt;br /&gt;
Often a larger installation will not be a vanilla Moodle site, and needs to be tuned or customised to a particular purpose or environment.  &lt;br /&gt;
&lt;br /&gt;
If possible, try to develop a really clear specification of what you want internally.  Create a written document that is clear and concise about your needs, including a statement of your purpose and goals.  Resist the temptation to get too detailed, though - 100 page specifications full of descriptive text and mock screenshots may result in your Request For Quote (RFQ) ending up in a too-hard basket.&lt;br /&gt;
&lt;br /&gt;
If you aren&#039;t sure exactly what you need, consider consulting with experts who have implemented similar systems before.  The Moodle forums are a useful place to ask questions and get results from a variety of Moodle experts (but everyone will appreciate it if you read the pertinent docs first.)&lt;br /&gt;
&lt;br /&gt;
===Approaching providers===&lt;br /&gt;
&lt;br /&gt;
When sending your request for a quote to providers, make sure to include information about your deadlines and resources to help the provider make a balanced judgement on their costs and availability (depending on the work you need).&lt;br /&gt;
&lt;br /&gt;
===Comparing quotes===&lt;br /&gt;
&lt;br /&gt;
Generally you do get what you pay for.  Like most things you should consider the following variables beyond cost value:&lt;br /&gt;
&lt;br /&gt;
# Stability of the company&lt;br /&gt;
# Service level agreement (SLA) details&lt;br /&gt;
# Reputation of the provider &lt;br /&gt;
# Experience with Moodle &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Do It Yourself==&lt;br /&gt;
[[Planning your installation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74707</id>
		<title>Finding and Selecting A Web Host</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Finding_and_Selecting_A_Web_Host&amp;diff=74707"/>
		<updated>2010-08-12T17:06:34Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Purpose==&lt;br /&gt;
These pages are meant to serve as an additional guide to help users work through variety of questions, issues, etc. as they choose the best way to provide Moodle as an LMS to their users.  We hope that these pages will help to steer the user to helpful materials that may not be easily found by the docs search engine.  This is an ambitious undertaking, so we would be very pleased for more authors to add to the content!&lt;br /&gt;
&lt;br /&gt;
A similar effort can be found in the [[Decision FAQ]] and if you have suggestions for integration, linking, etc.  please feel free to post suggestions via the &amp;quot;page comments&amp;quot; tab above.&lt;br /&gt;
&lt;br /&gt;
==Planning a Moodle installation==&lt;br /&gt;
&lt;br /&gt;
If you are interested in installing and using a Moodle instance in your school, organization, or business, there are many things you must consider.  Not only do you have to think about the technical aspects, you also should put some thought into how you would like to use the system, maintain the system, create the content, and support the users.&lt;br /&gt;
&lt;br /&gt;
Depending on the scope and scale of your instance, and the technical expertise you can bring to the table, you may decide that you can host Moodle yourself or you may realize you could use some help!  This page focuses on making decisions about how or where to host a Moodle site.  Other pages will be developed to address the separate issue of retaining consultants apart from the question of hosting (though many of the concerns in addressing both are comparable.)&lt;br /&gt;
&lt;br /&gt;
In addition to technical expertise, there are staffing issues to consider.  A &#039;&#039;&#039;developer&#039;&#039;&#039; will help you write code to enhance or add new functionality.  Many installations find that they do not need a developer, or they can hire development on an ad hoc basis.  An &#039;&#039;&#039;LMS/Moodle administrator&#039;&#039;&#039; needs to have a good understanding of the system side of moodle.  The more this person knows about databases and general web applications, the better.  If you don&#039;t have an IT person to run the server and manage security, then the LMS/Moodle administrator may need to oversee these important duties. &#039;&#039;&#039;Content creators&#039;&#039;&#039; usually assist instructors with planning and creating course content.  Large installations may need dedicated IT staff and database administrators.  Consider the mix of people you have to support Moodle in your organization.  You may find that you can cover all these bases with your current staff.  If not, you may want to look at a [http://moodle.com/ Moodle Partner] to provide management and maintenance services for your Moodle instance, your instructors, and your students/course participants.&lt;br /&gt;
&lt;br /&gt;
==Who are you?  Types of Moodle Instances==&lt;br /&gt;
Before you choose a host, it would probably be helpful to have a firm understanding of who &#039;&#039;&#039;YOU&#039;&#039;&#039; are.  What do you intend to accomplish with your Moodle instance?  &lt;br /&gt;
&lt;br /&gt;
Typical types of Moodle instances include schools, companies, agencies, churches, and a wide variety of non-profit organizations.  A single individual may want to deliver just two or three courses.  Some moodle instances serve as portfolios or special project spaces.  Moodlers are very innovative!&lt;br /&gt;
&lt;br /&gt;
Each of these types of Moodle users will have differing requirements and needs.  Each may have different ideas about what kind of content they want to provide, who will be facilitating the &amp;quot;course work&amp;quot; (or if the course work will be automated), how they will enroll the users, and how strictly they want/need to enforce privacy for users.&lt;br /&gt;
&lt;br /&gt;
These issues are of great importance when selecting a host.  If you can identify exactly what you want to do and how you think it can be best accomplished, then you will likely recognize whether or not you can &amp;quot;do it yourself&amp;quot;, if you need to look for full-service hosting, or if you can accomplish your goals with a consultant or ad hoc development.&lt;br /&gt;
&lt;br /&gt;
The following are common types of users.  Some people only use moodle to create and teach courses (albeit in quite a lot of different ways!) Some people take care of the Moodle &amp;quot;back end&amp;quot;, which involves administrative functions.  In some cases, the Moodle admin will take on responsibilities for &amp;quot;server admin&amp;quot; as well as assisting with training for teachers using moodle.  In others, the &amp;quot;server admin&amp;quot; will work with other people to form a group that covers Moodle admin and classroom teacher perspectives.  Trainers often have all the skills for the instructor as well as Moodle adminintrator.  There are endless combinations of staffing and roles depending on your organization. &lt;br /&gt;
&lt;br /&gt;
The following examples should be seen as a rough continuum with many variations possible. Take a look at the examples that seem to fit you best and we will attempt to describe the skillsets you will need and our best advice for the type of hosting you may find most practical:&lt;br /&gt;
&lt;br /&gt;
===The classroom teacher, instructor, professor, or course creator===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_teachers|The Hosting for moodle teachers page]] describes the default role of &amp;quot;editing teacher&amp;quot; and sets out some considerations for evaluating your ability to manage a Moodle instance on your own.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to negotiate an agreement with them to provide the hosting and assume responsibility for the administrative tasks related to running a Moodle instance.  Depending on your situation and the level of support you need, outsourcing might be the more attractive option.&lt;br /&gt;
&lt;br /&gt;
=== The (limited) Moodle admin===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_for_moodle_admins|The hosting for moodle admins page]] describes the role of the Moodle admin.  Not the server admin.  This role is limited to managing Moodle, but not other software packages on the server.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in full service hosting or full service hosting with a moodle partner.  If you have an in-house IT department, you may be able to arrange for them to provide the hosting and you assume responsibility for the administrative tasks related to running a Moodle instance.&lt;br /&gt;
&lt;br /&gt;
===The Advanced Moodle admin===&lt;br /&gt;
&lt;br /&gt;
As you by now expected, [[Hosting_for_moodle_admins_advanced|the hosting for moodle advanced admins page]] is for those people who manage Moodle as well as getting into server side considerations, such as cron, email, database management and php.&lt;br /&gt;
&lt;br /&gt;
If you decide that this category describes you best, you will likely be interested in hosting without service.&lt;br /&gt;
&lt;br /&gt;
===The Server admin===&lt;br /&gt;
&lt;br /&gt;
There is also a [[Hosting_for_server_admins|page addressing hosting for server admins]], for people who have the necessary skills and knowledge to manage the server and stack software.  If you fit into this category, you may be less or not involved in managing the moodle instance.  Some individuals will be able to run the server as well as manage the moodle instance in its entirety.&lt;br /&gt;
&lt;br /&gt;
==Types of Hosts==&lt;br /&gt;
&lt;br /&gt;
===Hosts who provide full Moodle management/maintenance services===&lt;br /&gt;
&lt;br /&gt;
Some hosts are ready to support Moodle as a software package as well as providing and maintaining the server it runs on.  They may provide training, content building, and development services as well. Service packages will likely include moodle upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups. &lt;br /&gt;
&lt;br /&gt;
There are two types of full-service hosts for the purposes of this discussion:  Moodle Partners and hosts who are not Moodle Partners.&lt;br /&gt;
&lt;br /&gt;
The [http://moodle.com/partners Moodle Partners] are an [http://moodle.com/partners/list/ international group] of Moodle-based service companies that work closely with [http://moodle.com/ Moodle Pty Ltd].  They contribute 10% of their earnings directly to core Moodle development and are subject to certain codes of conduct.  They provide a range of optional commercial services including fully-serviced Moodle hosting, training, certification, remote support contracts, custom code development and consulting.  Different Partners vary in size, and focus on different specialities in different countries.&lt;br /&gt;
&lt;br /&gt;
Generally only Moodle Partners are allowed to use the Moodle trademark (such as the phrase &amp;quot;Moodle hosting&amp;quot;) to advertise their Moodle Services (see the [[License]] for details).  &lt;br /&gt;
&lt;br /&gt;
There are a variety of other companies providing similar services (sometimes under other names like &amp;quot;lms hosting&amp;quot; and sometimes not) that are not affiliated with the Moodle project and who do not support the project through royalties.  Some of them even offer free services that are supported by third-party advertising.&lt;br /&gt;
&lt;br /&gt;
As a consumer you need to choose carefully from all the options available to you.  Each of these companies is an individual concern, and a prospective client is ultimately responsible for understanding what service package they are purchasing and how long it might be likely to be around.  Do your research and articulate your needs and expectations very carefully!&lt;br /&gt;
&lt;br /&gt;
If you google &amp;quot;moodle hosting&amp;quot; you will find Moodle Partners and a large number of sites offering Moodle hosting that are not full-service hosts.  Be very careful.  Many sites that advertise &amp;quot;Moodle hosting&amp;quot; are really offering you hosting of the software only, without additional management and maintenance services.  These hosts do provide the software you need to run Moodle, but you are on your own after that!&lt;br /&gt;
&lt;br /&gt;
===Hosting without Moodle management and maintenance services===&lt;br /&gt;
&lt;br /&gt;
[[Hosting_without_service|Hosting without Moodle management and maintenance services]] is perhaps the most common situation.  Many people select this option when they have decided they do not want to be responsible for hardware or the basic software &amp;quot;stack&amp;quot; used to run a Moodle instance, but also do not want to pay the premium for someone else to provide administrative expertise in the management of Moodle.  There are thousands of web hosts available, and each probably offers a slightly different set of service options.&lt;br /&gt;
&lt;br /&gt;
While full-service or managed hosting packages may include upgrades, installation of approved third-party blocks/modules/question types, database maintenance, phone or email support, and backups, no-frills hosting will assume that you are willing to manage all these aspects of running a moodle instance.&lt;br /&gt;
&lt;br /&gt;
If you have a reasonable level of confidence in hosting your own site this can be a very inexpensive solution.&lt;br /&gt;
&lt;br /&gt;
===In-house hosting (or &amp;quot;do it yourself&amp;quot;)===&lt;br /&gt;
If you have the necessary background and interest, you (or your IT team) can set up your own server and run one or more Moodle instances to support your institution, business, or project.  You may choose to deploy Moodle on a variety of different operating systems (Mac, Linux, Windows) and with several different database options (MySQL, Postgres, MSSQL).  While this page is not intended to provide assistance in accomplishing this goal, it does attempt to describe the sort of knowledge base you or your team will require for successfully [[in_house_hosting|hosting your own Moodle instance.]]  You could also consider commercial support for in-house hosting from any of the commercial support providers mentioned above.&lt;br /&gt;
&lt;br /&gt;
=Choosing a Web Host=&lt;br /&gt;
&lt;br /&gt;
==The User Experience==&lt;br /&gt;
===Your Compendium===&lt;br /&gt;
[[Web_Hosts|A matrix]] has been created so that users can provide information on various web hosting options here. Please feel free to add to the matrix,  but respect the footnoting conventions and the table structure please.  There is some exploration of using Google Docs to address user feedback on Web Hosts. While a Google Doc may eventually be embedded in the Web Host doc, an experimental version can be [http://spreadsheets.google.com/pub?key=pGlMhVRQ_zU-3m-jSjeQCGQ| seen here].&lt;br /&gt;
&lt;br /&gt;
&#039;NB:&#039; If the wiki structure for the matrix is too much of a hassle, please just use the + tab from the &amp;quot;page comment&amp;quot; tab (you must be logged in to docs to see this,  and that is still a separate log in....) to add your comments and someone will transfer them to the matrix.&lt;br /&gt;
&lt;br /&gt;
===Discussion in the Forums===&lt;br /&gt;
While the forums should not be viewed as authoritative as circumstances change over time, they have been a focal point for quite a bit of discussion of various web hosts over time.  &lt;br /&gt;
&lt;br /&gt;
A collection of posts largely focusing on GoDaddy can be [http://moodle.org/mod/forum/discuss.php?d=53087#p459052| found here] and a list of discussions concerning quite a few other hosts, courtesy of [http://moodle.org/user/view.php?id=195424&amp;amp;course=5| Richard Enison (RLE)], appears in that collection [http://moodle.org/mod/forum/discuss.php?d=53087&amp;amp;parent=459052| at this address].&lt;br /&gt;
&lt;br /&gt;
==Why Use A Web Host==&lt;br /&gt;
&lt;br /&gt;
General areas of concern are:&lt;br /&gt;
&lt;br /&gt;
===General Management and Installation Assistance===&lt;br /&gt;
Many web hosts offer GUIs that provide shortcuts to install and manage web applications.  Some typical &amp;quot;panel&amp;quot; options are Fantastico and cpanel,  while an example of a management application that many webhosts make available is phpmyadmin (for managing mysql databases.)&lt;br /&gt;
====CPanel====&lt;br /&gt;
If you decide to choose a hosting company that has cpanel then  [http://ic.eflclasses.org/tutorials/settingupmoodleonhostingwitholdcpanel.swf this tutorial] may provide some guidance in choosing a host and setting up moodle via the old cpanel. It is a VERY large file (that runs for about 12 minutes) and you will have to wait for it to load but [[User:Eric Hagley|Eric Hagley]] indicates it is worth the wait as affords a step by step approach. If you have the new cpanel please use [http://ic.eflclasses.org/tutorials/settingupmoodleoncpanel.swf this link] for an updated tutorial.&lt;br /&gt;
 &lt;br /&gt;
===Keeping Your Software Current===&lt;br /&gt;
Software such as Moodle is not static; it changes all the time.  Indeed Moodle software changes sometimes daily. Software may be altered to fix security issues or to make improvements.  Sometimes a fix in one respect causes a bug in another.  &lt;br /&gt;
&lt;br /&gt;
Additionally, as noted below, Moodle is not the only product you may want to keep current,  and any time you are trying to keep multiple applications current you are bound to run into compatibility issues.&lt;br /&gt;
&lt;br /&gt;
As noted elsewhere, some web hosts provide utilities for web application management. For a discussion of updating software using such utilities (Cpanel for example) see the section on [[#General Management and Installation Assistance|General Management and Installation Assistance above]].&lt;br /&gt;
&lt;br /&gt;
===Keeping Your Software Compatible===&lt;br /&gt;
Moodle is not &amp;quot;just&amp;quot; Moodle.  The Moodle experience relies on a set of software applications,  including a web server (often but not necessarily  Apache), PHP, and a database engine (often but not necessarily mySQL), as well as the Moodle code itself. Each of the elements involved is regularly updated and this will result in compatibility issues. A fix to one application may cause a problem in another. Moreover, the manner in which an issue is addressed in one version may change with the next (an example being the use of php.ini files, which were required in every directory in php 4.x, a practice unnecessary in php 5.)&lt;br /&gt;
&lt;br /&gt;
In addition to the four primary Moodle components (again, web server, database engine, PHP and Moodle code) you may wish to install a variety of additional software to use with Moodle (Moodle offers many modules to provide for the integration of external applications). The addition of an external application to your overall system increases complexity because as the various applications develop the modules integrating them may fail.&lt;br /&gt;
&lt;br /&gt;
Module installation might be handled by a firm offering dedicated Moodle services, but will not be typically addressed by a vanilla web-host,  which leaves the install of aspell, dragmath, asciimathml, etc. all to you.&lt;br /&gt;
&lt;br /&gt;
One of the most intelligent questions that may be heard in a Moodle class is whether a course developed in Moodle A will work in Moodle B.  The best answer is, &amp;quot;Maybe&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Backups===&lt;br /&gt;
[http://www.murphys-laws.com/murphy/murphy-true.html Murphy&#039;s Law] offers no exceptions; it is an absolute, and without knowing who you are, where you come from or what you do, your Moodle may some day fail. The good news is that the odds of multiple failures are in your favor, so if you are well prepared, this eventuality can be viewed with same equanimity as that stubbed toe.....&lt;br /&gt;
&lt;br /&gt;
Keeping very good records of your hacks, your additions, and the settings you have used for moodle as well as all the other software that it takes to support a moodle instance provides invaluable information.  A backup regime, including course backups, software backups, and database backups is also important.&lt;br /&gt;
&lt;br /&gt;
The Moodler must remember that while Moodle itself can do some backups,  Moodle backups are very intensive and are only a small facet of an effective backup program,  which must address the variety of data that is encompassed by a Moodle web site.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll discuss various backup types and issues below,  but first let&#039;s talk about the underlying issue: who is doing what?&lt;br /&gt;
&lt;br /&gt;
Some web hosts provide &amp;quot;snap shots&amp;quot;, some provide site wide backups. Some offer shell access and tell you to roll your own, while some web hosts honestly couldn&#039;t care less....  You must remember that, without a specific agreement otherwise, it is unlikely that your web host acknowledges any responsibility for maintaining your data.  Unfortunately,  typically each of your data types may require a different kind of backup and you either need to learn how to do effective backups of your site on your own, or you will have to negotiate what amounts to bare metal backup with your Web Host (and you will need to identify an appropriate window,  because you want your backups to be rather more current than your web host might find sensible....)&lt;br /&gt;
&lt;br /&gt;
If you have shell access the good news is that there are quite a few scripts out there you can use to help yourself build an effective backup regimen.&lt;br /&gt;
&lt;br /&gt;
There are critical points with respect to backing up your data that need to be addressed. They range from the global, such as addressing the location for the backups and managing remote backups (rsync can be helpful in this respect) and actually handling and recycling of the files themselves (when do you back up, what do you backup when you do backup, and how long do you keep a specific file) to the narrow (for example the db should be locked during backup.) While we have broken up this discussion because different types of data need to be treated in different ways, one could script one&#039;s system to address backups for all the different types of data.&lt;br /&gt;
&lt;br /&gt;
Another option that we should mention in passing is that one can also look at replication of data, either to a simple store or to a failover unit. Be aware that mysql replication requires access to mysql commands that some web hosts do not provide. Chances are that if you are looking at replication you are having multiple private systems hosted by a vendor or are running your own installation and have looked at fail-over, clusters and replication in depth.&lt;br /&gt;
&lt;br /&gt;
Lastly, please remember that if you are paying a web host for bandwidth used, remote backup could become a source of significant expense&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: AT present there is one Backup page, [[Site_backup]], in the docs,  and it might be helpful at some time to break that up so that separate docs address different aspects of backup with one page addressing scripting options.  In any event link to backup page needs to be added&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
====Data====&lt;br /&gt;
By data we mean the contents of the moodledata directory, which may represent some of your most important material.&lt;br /&gt;
&lt;br /&gt;
====GUI====&lt;br /&gt;
Your GUI is what is most often neglected when addressing backups. More often than not much of what you think of as your GUI will be reflected in any customizations to your theme, with pertinent data located in your Moodle code installation (/moodle/theme - see below) and possibly moodledata (a possible site for images used.)&lt;br /&gt;
&lt;br /&gt;
====Databases====&lt;br /&gt;
Whatever database you are using,  it is critical that you dump and store your db regularly, especially because it can be so simple to restore a site if you have a recent db dump. This can be accomplished manually via a GUI as with phpmyadmin or mysql admin or via command line if the user has access and the requisite skills.  It can also be automated via commercial or open scripting (as in HandyBackup  or automysqlbackup).&lt;br /&gt;
&lt;br /&gt;
====Software====&lt;br /&gt;
Not only your Moodle configuration (additional modules, hacks and twiddles),  but complementary software that you have integrated (like Mahara, etc) should be backed up.&lt;br /&gt;
&lt;br /&gt;
You might ask why you should back up your Moodle code when you can just download it from Moodle and reinstall.  There are a couple of issues here.  First, the version of Moodle you download today is going to be different than the same version of Moodle you download tomorrow.  This is confusing but that is how things lie.  It is possible that a new install will result in problems on a restore and if you are facing down  some failure you DO NOT want to then also have to try and figure out why what was working yesterday isn&#039;t working today. All things being constant  is the hallmark of restore, and you don;t want to deal with any changes you are not aware of.  &lt;br /&gt;
&lt;br /&gt;
The second issue is your potential customization,  whether that amounts to hacks to php code or just to the installation of additional modules. If speed is of interest (and when doing a restore after failure the most oft heard words are &amp;quot;how soon&amp;quot; ) you don&#039;t want to have to recreate your Moodle application, you want to be able to restore.&lt;br /&gt;
&lt;br /&gt;
And a third issue related to the previous point is theme customization. Themes are stored in /moodle/theme.&lt;br /&gt;
&lt;br /&gt;
===Security===&lt;br /&gt;
Most often we talk about security in the context of potential threats to your data. Of course, what can cause some consternation here is that different folks think of data in different ways. There is the data Moodle places in the mysql database.  There is the data that Moodle places in the moodledata file structure, and there is the Moodle code itself. You may want to consider protecting all of these types of data from unauthorized reading, writing and execution. Think of this as a two dimensional matrix.  Now add a third dimension that includes various ways one might be able to access any cell in the existing table, including coding flaws, external configuration problems and internal Moodle configuration issues&lt;br /&gt;
&lt;br /&gt;
====Code Flaws====&lt;br /&gt;
Code exploits are addressed regularly through patches.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Need links to the various fora, etc for security reporting and info)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configuration====&lt;br /&gt;
The most typical issue in this area is placing the moodledata directory in the web root.&lt;br /&gt;
&lt;br /&gt;
====Moodle set-up====&lt;br /&gt;
This includes such matters as enrollment, internal role configuration, etc.&lt;br /&gt;
&lt;br /&gt;
Perhaps the most widely discussed problem here has been the matter of profile spam that can be produced when admins allow open e-mail enrollment.  There are arguments as to whether this is a security issue or not (and sometimes it seems that the same folks are on both sides of the issue at times) but what it means from a practical standpoint is that you can have a Moodle targeted at your elementary school which contains enough pornography to make Bosche blush.&lt;br /&gt;
&lt;br /&gt;
Sophisticated authentication relying on Moodle Networking, LDAP etc. will require some administrative skill sets pertinent to the scheme employed. One should also be acquainted with the underlying nature of access control including the difference between authentication and authorization. See, e.g.  http://en.wikipedia.org/wiki/Access_control&lt;br /&gt;
&lt;br /&gt;
More more prosaic but as important are matters of security policy and enunciation of protocols addressing access rights to data (in the U. S. consider HIPAA, FERPA, IDEA, etc.)&lt;br /&gt;
&lt;br /&gt;
===Integration===&lt;br /&gt;
After an initial basic Moodle installation there are quite a few tasks that need to be addressed to integrate the Moodle with all the bells and whistles you are expecting to use.&lt;br /&gt;
====Cron====&lt;br /&gt;
One of the most important post-install tasks is to invoke cron.php via the system cron daemon (or Task Scheduler...) Among other tasks,  such as backup, cron triggers mail. [[Cron]] explains a good deal but there may be issues when trying to use smtp (some of these have been fixed in Moodle 1.9.3) to alternative ports.&lt;br /&gt;
====Mail====&lt;br /&gt;
While typically Moodle will use PHP&#039;s mail routines, in some cases you may have to configure mail manually and some issues may require manual database edits.  See, [[Email settings]] and [[Email setup gmail]] as examples of possible manual configuration.&lt;br /&gt;
====Max File Upload====&lt;br /&gt;
The maximum size of file uploads for Moodle can be controlled via the Moodle GUI but are also constrained via Apache and PHP, and to adjust these you may need to be able to edit .htaccess and/or php.ini. Here are some examples of the discussin of such matters: http://moodle.org/mod/forum/discuss.php?d=98064&amp;amp;parent=433245 and  http://moodle.org/mod/forum/discuss.php?d=103190&amp;amp;parent=456650&lt;br /&gt;
&lt;br /&gt;
==Criteria for Selecting Web Hosts==&lt;br /&gt;
&lt;br /&gt;
===What Purpose Will Your Site Serve===&lt;br /&gt;
Production, Experimentation, etc&lt;br /&gt;
Classroom support or Asynchronous Remote&lt;br /&gt;
Gradebook and critical classroom data&lt;br /&gt;
Number of concurrent users&lt;br /&gt;
&lt;br /&gt;
Issues of scale can be very important.  A relatively small number of concurrent users can generate enough email through forum postings to get you in trouble with your host.  Email volume, storage space for users and courses, number of accounts,&lt;br /&gt;
&lt;br /&gt;
===Will You Be Running a 5 Nines Site===&lt;br /&gt;
What is all this you hear about &amp;quot;five nines&amp;quot;. This is a way to discuss [http://en.wikipedia.org/wiki/Uptime system uptime] and  the implications thereby for the amount of time that a [http://en.wikipedia.org/wiki/High_availability system is down and not available].&lt;br /&gt;
&lt;br /&gt;
While five nines is not that difficult to achieve, it becomes obvious quickly that without redundancy bringing down any part of a system for maintenance quickly knocks one out of the park. &lt;br /&gt;
&lt;br /&gt;
Downtime can grossly be divided into planned and unplanned outages.  You may determine that since you only serve people  in one time zone who had beeter be in bed between 2 and 4 in the morning,  that you can live with 2 hours of planned downtime a night.  On the other hand, you may feel that from 7:00 a.m. to 10 p.m. Monday through Friday no outage is acceptable.&lt;br /&gt;
&lt;br /&gt;
===Are you Prepared to Serve as a SYSADMIN?===&lt;br /&gt;
How are you planning to staff your project (see above??)&lt;br /&gt;
Do you have buy in from your IT dept?&lt;br /&gt;
Is everyone involved familiar with the realistic demands of a Moodle install (crank the FTEs!)&lt;br /&gt;
===Is Your Web Host Willing to Negotiate for the Services You require===&lt;br /&gt;
====SLAs====&lt;br /&gt;
What is an SLA? An SLA is a Service Level Agreement. While wikipedia provides  [http://en.wikipedia.org/wiki/Service_level_agreement a basic discussion of SLAs],  a review of [http://www.nkarten.com/sla.html Naomi Karten&#039;s site], which is pitched at the vendor might prove helpful.  There are [http://www.service-level-agreement.net/ commercial SLA kits as well].&lt;br /&gt;
&lt;br /&gt;
By way of example, consider [https://confluence.delhi.edu/display/CIS/Moodlerooms+Service+Level+Agreement the SLA between Delhi SUNY and Moodlerooms] ([https://confluence.delhi.edu/pages/diffpages.action?pageId=82083866&amp;amp;originalId=82346012 and see this comparison]), an SLA in pdf format for [http://www.northumbrialearning.co.uk/documents/legal/moodle_hosting.pdf North Umbria Learning], and an SLA in MS Word format for [http://www.kwantlen.ca/__shared/assets/Moodle_Service_Level_Agreement4387.doc Kwantlen, Canada].&lt;br /&gt;
&lt;br /&gt;
====Remedies====&lt;br /&gt;
Well,  having considered an SLA hard and fast, the question is whether your SLA sets out specific remedies for those occasions when your vendor doesn&#039;t provide the services agreed upon,  and if not, what recourse you may have.&lt;br /&gt;
&lt;br /&gt;
To put this another way,  [http://www.kentlaw.edu/perritt/courses/property/Hohfeld.htm you have no rights if you have no remedies].  Depending on the relative bargaining power of the parties remedies could run from monetary damages to a term extension. In many cases your potential vendor may refuse to agree to any specific remedies.  Consider the vendor who &amp;quot;guarantees&amp;quot; band width and when asked what the client receives when the bandwidth drops below the guaranteed service level, the vendor states that they will work to resolve the issue; there is no remedy and the guarantee is mere puffing.&lt;br /&gt;
&lt;br /&gt;
Negotiating for remedies is an excellent way to explore the amount of faith the vendor puts in his own stock. Most often you will be told that the vendor can&#039;t provide any remedy as remedies could put them out of business. Chances are that this vendor does not have redundancy or experience necessary to provide mission critical service. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Notes to selves:&lt;br /&gt;
Here is the real meat and potatoes,  which we can put here or actually put on additional pages (my prefs)&lt;br /&gt;
SO a link to range of service, types of support, security, e-mail, mysql support, panels....&lt;br /&gt;
perhaps as well, pages on SLAs generally, boilerplate and guarantees, punchlists&lt;br /&gt;
Perhaps specific sections, with brief descriptors and links to more detailed pages.&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Planning an Installation=&lt;br /&gt;
&lt;br /&gt;
[[Installation FAQ]]&lt;br /&gt;
&lt;br /&gt;
==Outsourcing==&lt;br /&gt;
&lt;br /&gt;
===Developing your specs===&lt;br /&gt;
&lt;br /&gt;
Often a larger installation will not be a vanilla Moodle site, and needs to be tuned or customised to a particular purpose or environment.  &lt;br /&gt;
&lt;br /&gt;
If possible, try to develop a really clear specification of what you want internally.  Create a written document that is clear and concise about your needs, including a statement of your purpose and goals.  Resist the temptation to get too detailed, though - 100 page specifications full of descriptive text and mock screenshots may result in your Request For Quote (RFQ) ending up in a too-hard basket.&lt;br /&gt;
&lt;br /&gt;
If you aren&#039;t sure exactly what you need, consider consulting with experts who have implemented similar systems before.  The Moodle forums are a useful place to ask questions and get results from a variety of Moodle experts.  If you need privacy or more direct interaction, many of the Moodle Partners offer [http://moodle.com/consulting Moodle consulting].&lt;br /&gt;
&lt;br /&gt;
===Approaching providers===&lt;br /&gt;
&lt;br /&gt;
When sending your request for a quote to providers, make sure to include information about your deadlines and resources to help the provider make a balanced judgement on their costs and availability (depending on the work you need).&lt;br /&gt;
&lt;br /&gt;
===Comparing quotes===&lt;br /&gt;
&lt;br /&gt;
Generally you do get what you pay for.  Like most things you should consider the following variables beyond cost value:&lt;br /&gt;
&lt;br /&gt;
# Stability of the company&lt;br /&gt;
# Service level agreement (SLA) details&lt;br /&gt;
# Reputation of the provider &lt;br /&gt;
# Experience with Moodle &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Do It Yourself==&lt;br /&gt;
[[Planning your installation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Chemistry/Biochemistry&amp;diff=74501</id>
		<title>Chemistry/Biochemistry</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Chemistry/Biochemistry&amp;diff=74501"/>
		<updated>2010-08-06T00:08:08Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notation==&lt;br /&gt;
Regarding basic notation, see http://moodle.org/mod/forum/discuss.php?d=111785&amp;amp;mode=1&lt;br /&gt;
See also:&lt;br /&gt;
*[[TeX filter]] - displays TeX notation as GIF images and will show full LaTeX implemention in Moodle 1.6 or later&lt;br /&gt;
*[[DragMath equation editor]] - a drag-and-drop equation editor that installs as a button in the regular editor, so that it is visible everywhere a user would enter text. Clicking the button launches an applet in a pop-up window so that the user can choose the parts of the equation.&lt;br /&gt;
*[http://www.dessci.com/en/support/mathtype/workswith/moodle.htm MathType] - a commercial product compatible with many text-editing and presentation software programs, that works with Moodle.&lt;br /&gt;
&lt;br /&gt;
==Moode Add-ins==&lt;br /&gt;
The following Moodle add-ins are useful for making use of molecular data files in courses, and providing 3D visualisations:&lt;br /&gt;
&lt;br /&gt;
*[[Jmol filter]] - display a 3D interactive molecule anywhere in Moodle&lt;br /&gt;
*[[Jmol resource module]] - display a 3D interactive molecule as a specific configurable resource&lt;br /&gt;
*[http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=296 Java Molecular Editor question type] - ask students to design and submit a molecular structure.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=66147 How do Science Teachers Use Moodle?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=60440 Equation editors in Moodle]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=131325 Scientific notation in quiz answers]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
[[Category:Discipline-specific Moodling]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Chemistry/Biochemistry&amp;diff=74500</id>
		<title>Chemistry/Biochemistry</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Chemistry/Biochemistry&amp;diff=74500"/>
		<updated>2010-08-06T00:05:11Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Regarding basic notation, see http://moodle.org/mod/forum/discuss.php?d=111785&amp;amp;mode=1&lt;br /&gt;
&lt;br /&gt;
The following Moodle add-ins are useful for making use of molecular data files in courses, and providing 3D visualisations:&lt;br /&gt;
&lt;br /&gt;
*[[Jmol filter]] - display a 3D interactive molecule anywhere in Moodle&lt;br /&gt;
*[[Jmol resource module]] - display a 3D interactive molecule as a specific configurable resource&lt;br /&gt;
*[http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=296 Java Molecular Editor question type] - ask students to design and submit a molecular structure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equations&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The ability to enter equations into Moodle may be useful for chemistry and biochemistry educators. There are a variety of ways to do this:&lt;br /&gt;
&lt;br /&gt;
*[[TeX filter]] - displays TeX notation as GIF images and will show full LaTeX implemention in Moodle 1.6 or later&lt;br /&gt;
*[[DragMath equation editor]] - a drag-and-drop equation editor that installs as a button in the regular editor, so that it is visible everywhere a user would enter text. Clicking the button launches an applet in a pop-up window so that the user can choose the parts of the equation.&lt;br /&gt;
*[http://www.dessci.com/en/support/mathtype/workswith/moodle.htm MathType] - a commercial product compatible with many text-editing and presentation software programs, that works with Moodle.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=66147 How do Science Teachers Use Moodle?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=60440 Equation editors in Moodle]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=131325 Scientific notation in quiz answers]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
[[Category:Discipline-specific Moodling]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=74485</id>
		<title>Using TeX Notation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=74485"/>
		<updated>2010-08-04T19:00:12Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While there are quite a few notational systems employed for the purpose of representing Math notation, Moodle core provides a [[TeX filter]] that can be configured to employ identified latex, dvips and convert binaries to display a gif or png representation of a Tex expression (and hopefully will soon be able to take advantage of newer Tex distributions which will rely on latex and dvipng.) The Moodle core Tex filter falls back to the use of MimeTex if these binaries can&#039;t be located. Note that the core TeX filter is not the only way to display Tex expressions in Moodle and the discussion of [[Mathematics]] tools address a variety of other solutions. Additionally, the results obtained from the Moodle Tex or algebra filters are dependent on the Tex binaries you have installed. &lt;br /&gt;
&lt;br /&gt;
If you are using other than the Moodle Tex filter to render Tex you may find yourself using other tokens, as well as different syntax.  It is critical that you understand what applications you are using to parse your text expression, as well as whether the application is parsing Tex or some other syntax and what application you are using to display the Math.  The Moodle Tex filter outputs gif or png images based on Tex text expressions delimtied by doubledollar signs. But, if you are using the Moodle Algebra filter, you will be using a parser imported from webworks to parse non-Tex text expressions (algebra syntax), as in @@x/y@@, though you will be using the Tex filter to actually display the resulting images as png or gif.  If you use MathJax or ASCIIMathML,  you can easily change the tokens you use. ASCIIMathML on its own uses backticks, as in `root(n)(x)` though it can also parse Tex if delimited by dollar signs. ASCIIMathML by default outputs MathML and falls back to gif or png. MathJax can output MathML or HTML-CSS. The discussion below largely focuses on using Tex syntax text expressions with the Moodle Tex filter.  However, much of the discussion that addresses Tex syntax can be generalized to other applications that parse Tex. FYI, Moodle Docs uses mediawiki with a Tex extension that employs tags for delimiters instead of tokens, as in: &amp;lt;nowiki&amp;gt;&amp;lt;math&amp;gt;x^2&amp;lt;/math&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you choose to display Math in Moodle via Tex expressions,  you also have to understand that that there are not only quite a few &amp;quot;flavors&amp;quot;  in the Tex world, but there are also three major [http://www.math.uiuc.edu/~hildebr/tex/course/intro2.html Tex modes], and the Moodle core Tex filter employs only one mode. What may work in one Tex implementation, may not work in another. These docs, for example, now use [http://www.tug.org/texlive/doc/texlive-en/texlive-en.html Tex Live], though your Moodle installation may be using the core Tex filter. &lt;br /&gt;
&lt;br /&gt;
Tex itself is felt by some to present a significant learning curve, and the internet offers a number of tutorials. A.J. Hildebrand, a Math professor at UIUC offers [http://www.math.uiuc.edu/~hildebr/tex/ resources and a tutorial here that you may find helpful.] &lt;br /&gt;
&lt;br /&gt;
There are a number of Maths tools available and probably one of the more useful tools for using Tex in Moodle (or elsewhere for that matter), is [[Dragmath]] which will allow you to use a GUI constructor to build your expression, and then insert it in the format you choose.&lt;br /&gt;
&lt;br /&gt;
==Using TeX Notation with the Moodle Tex filter==&lt;br /&gt;
&lt;br /&gt;
For the most part, the TeX Notation has been built using a sub-set of characters from the TeX &amp;quot;default&amp;quot; character set. The trouble is there does not seem to be a &amp;quot;default&amp;quot; character set for TeX. This is one of the most confusing aspects of using TeX Notation in Moodle. When we realise that the documentation we are using is related to the creation of printed documents, and we want to use TeX on line, in Moodle, then further problems occur. There are no environment statements to be made. There are no \begins and \ends. If you go to Administration &amp;gt; Modules &amp;gt; Filters &amp;gt; Filter Manager you will see what filters have been enabled. If you then go to the TeX Notation page, the default preamble is editable via the text box. Using this tool you can add in or subtract font packages and other packages, change the default font package, etc.  &lt;br /&gt;
&lt;br /&gt;
==Language Conventions== &lt;br /&gt;
&lt;br /&gt;
To invoke the TeX filter, use the $$ symbols to open and close statements. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: &lt;br /&gt;
&lt;br /&gt;
  $$ x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$  &lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image: cfmimetex10.gif|frame|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Fraction and square root.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional spaces are placed into the equation by using the \ without a leading or trailing character. Escape characters, of which there are a few in Moodle&#039;s TeX Notation, have the \ in front of them. These are usually set aside for reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Available Characters==&lt;br /&gt;
There seems to be a number of differences between what characters are available in Moodle and what are not. There also seems to be great discrepancies between what the manuals tell you is available and what actually is available. [[Using TeX Notation 2]] shows a lot of what is available, but not all.&lt;br /&gt;
&lt;br /&gt;
==Windows and TeX==&lt;br /&gt;
&lt;br /&gt;
Using TeX in Windows is simpler than it used to be. Download and install a TeX for Windows program, like [http://www.miktex.org/ MikTeX]. (MikTeX is probably the most useful at this point in time for Windows Users.) Also, a graphics package is required for rendering the scripted TeX statements into images, and probably the most readily available and easily installable program useful for this purpose would be [http://www.imagemagick.org/script/index.php ImageMagick]. While there may be better programs available for these purposes, these are the most immediately useful. They are easily installed and configured.   &lt;br /&gt;
&lt;br /&gt;
==Reserved Characters and Keywords==&lt;br /&gt;
&lt;br /&gt;
Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: &lt;br /&gt;
&lt;br /&gt;
  @ # $ % ^ &amp;amp; * ( ) . &lt;br /&gt;
&lt;br /&gt;
To use these characters in an equation just place the \ in front of them \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &amp;amp;, ampersand. See the characters listed in [[Using TeX Notation 2]] for more details.&lt;br /&gt;
&lt;br /&gt;
The Keywords, they are different. There is only one that is of concern here and that it the word &amp;quot;line&amp;quot;. If the \line control sequence, or command, is not properly implemented, then the consequences can be indeterminate. Controlling lines is an adventure of its own, so getting it right when written is important, you can always reposition the line, but you might get it really wrong if you do not use it with some caution. &lt;br /&gt;
&lt;br /&gt;
To use the \line control sequence, go to your text editor, open the filter\lib.php file, and at about line 48, you will see the word &amp;quot;\line&amp;quot;. Delete it from the list. &lt;br /&gt;
&lt;br /&gt;
If you do not have direct access to the server, then the whole thing becomes problematic. You may want to download and install your own Moodle and develop things there rather than on your production site. You can write things out in your own Moodle, render the statement, save the image and then upload it to your production site. If something goes seriously wrong, it is easier to restart your own Moodle than it is your production site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; If you get a dimension wrong on a line, it can actually prevent you from creating any new TeX. You will see the offending control sequence in its natural state. Everything that you have written to that point will work, but nothing you have written after that will.&lt;br /&gt;
&lt;br /&gt;
==Maths Mode==&lt;br /&gt;
A full TeX version has three modes, a &amp;quot;text mode&amp;quot;, an &amp;quot;inline maths mode&amp;quot; and a &amp;quot;maths display mode&amp;quot; but Moodle seems to stay in &amp;quot;inline maths mode&amp;quot;. Perhaps a better description of what happens is that Moodle allows a writer to enter &amp;quot;inline maths mode&amp;quot; when the $$ symbols are written and leave it when the $$ symbol appears a second time. Moodle does not appear to use the &amp;quot;maths display mode&amp;quot;. The command sequences beginning with the $$ are not current practice in any major version of TeX, and why they work in Moodle is not an issue for discussion here. Current common practice in most other flavours of TeX uses a different set of command initiation sequences.&lt;br /&gt;
&lt;br /&gt;
==Superscripts, Subscripts and Roots==&lt;br /&gt;
&lt;br /&gt;
Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: &lt;br /&gt;
&lt;br /&gt;
  $$ 4^2 \ \times \ 4^3 \ = 4^5 $$&lt;br /&gt;
  This is a shorthand way of saying: &lt;br /&gt;
  (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4)&lt;br /&gt;
  or&lt;br /&gt;
  16 x 64 = 1024.&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;4^2 \ \times \ 4^3 \ = 4^5&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscripts are similar, but use the underscore character. &lt;br /&gt;
&lt;br /&gt;
  $$ 3x_2 \ \times \ 2x_3 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;3x_2 \ \times \ 2x_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. &lt;br /&gt;
&lt;br /&gt;
  $$ \sqrt{64} \ = \ 8 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;\sqrt{64} \ = \ 8&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also take this a little further, but adding in a control character. You may ask a question like: &lt;br /&gt;
&lt;br /&gt;
  $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$  &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n?&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Using these different commands allows you to develop equations like: &lt;br /&gt;
&lt;br /&gt;
  $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fractions==&lt;br /&gt;
&lt;br /&gt;
Fractions in TeX are actually simple, as long as you remember the rules.&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{numerator}{denominator} $$ which produces &amp;lt;math&amp;gt;\frac{numerator}{denominator}&amp;lt;/math&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
This can be given as:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;\frac{5}{10} \ is \ equal \ to \ \frac{1}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This is entered as:&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$&lt;br /&gt;
&lt;br /&gt;
With fractions (as with other commands) the curly brackets can be nested so that for example you can implement negative exponents in fractions.  As you can see,&lt;br /&gt;
	&lt;br /&gt;
  $$\frac {5^{-2}}{3}$$ will produce &amp;lt;math&amp;gt;\frac {5^{-2}}{3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  $$\left(\frac{3}{4}\right)^{-3}$$ will produce &amp;lt;math&amp;gt;\left(\frac{3}{4}\right)^{-3}&amp;lt;/math&amp;gt;  and&lt;br /&gt;
&lt;br /&gt;
  $$\frac{3}{4^{-3}}$$ will produce &amp;lt;math&amp;gt; \frac{3}{4^{-3}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  You likely do not want to use $$\frac{3}{4}^{-3}$$ as it produces &amp;lt;math&amp;gt;\frac{3}{4}^{-3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brackets==&lt;br /&gt;
&lt;br /&gt;
As students advance through Maths, they come into contact with brackets. Algebraic notation depends heavily on brackets. The usual keyboard values of ( and ) are useful, for example:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;d = 2 \ \times \ (4 \ - \ j)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is written as:&lt;br /&gt;
&lt;br /&gt;
  $$ d = 2 \ \times \ (4 \ - \ j) $$&lt;br /&gt;
&lt;br /&gt;
Usually, these brackets are enough for most formulae but they will not be in some circumstances. Consider this:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;4x^3 \ + \ (x \ + \ \frac{42}{1 + x^4})&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Is OK, but try it this way:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This can be achieved by:&lt;br /&gt;
&lt;br /&gt;
  $$ 4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right) $$&lt;br /&gt;
&lt;br /&gt;
A simple change using the \left( and \right) symbols instead. Note the actual bracket is both named and presented.&lt;br /&gt;
&lt;br /&gt;
==Ellipsis==&lt;br /&gt;
&lt;br /&gt;
The Ellipsis is a simple code:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;x_1, \ x_2, \ \ldots, \ x_n&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Written like:&lt;br /&gt;
&lt;br /&gt;
  $$ x_1, \ x_2, \ \ldots, \ x_n  $$&lt;br /&gt;
&lt;br /&gt;
A more practical application could be:&lt;br /&gt;
&lt;br /&gt;
Question:&lt;br /&gt;
  &amp;quot;Add together all the numbers from 1 &amp;lt;math&amp;gt;\ldots&amp;lt;/math&amp;gt; 38.&lt;br /&gt;
  What is an elegant and simple solution to this problem?&lt;br /&gt;
  Can you create an algebraic function to explain this solution?&lt;br /&gt;
  Will your solution work for all numbers?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
The question uses an even number to demonstrate a mathematical process and generate an algebraic formula.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Part 1:&lt;br /&gt;
| Part 2.&lt;br /&gt;
| Part 3.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;math&amp;gt;1. \ 1 \ + \ 38 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2. \ 2 \ + \ 37 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3. \ 3 \ + \ 36 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\ldots&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;19. 19 \ + \ 20 \ = \ 39 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\therefore x \ = \ 39 \ \times \ 19 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\therefore x \ = \ 741 &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|An algebraic function might read something like:&lt;br /&gt;
&amp;lt;math&amp;gt;t = (1 + n) \times n/2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where t = total and n = the last number.&lt;br /&gt;
&lt;br /&gt;
|The solution is that, using the largest and the smallest numbers, the numbers are added and then multiplied by the number of different combinations to produce the same result adding the first and last numbers.&lt;br /&gt;
The answer must depend on the number, &amp;lt;math&amp;gt;\frac{n}{2}&amp;lt;/math&amp;gt; being a whole number. Therefore, the solution will not work for an odd range of numbers, only an even range.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Using TeX Notation 2]]&lt;br /&gt;
&lt;br /&gt;
* [[TeX notation filter]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
[[Category:Filter]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=74484</id>
		<title>Using TeX Notation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=74484"/>
		<updated>2010-08-04T18:57:07Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While there are quite a few notational systems employed for the purpose of representing Math notation, Moodle core provides a [[TeX filter]] that can be configured to employ identified latex, dvips and convert binaries to display a gif or png representation of a Tex expression (and hopefully will soon be able to take advantage of newer Tex distributions which will rely on latex and dvipng.) The Moodle core Tex filter falls back to the use of MimeTex if these binaries can&#039;t be located. Note that the core TeX filter is not the only way to display Tex expressions in Moodle and the discussion of [[Mathematics]] tools address a variety of other solutions. Additionally, the results obtained from the Moodle Tex or algebra filters are dependent on the Tex binaries you have installed. &lt;br /&gt;
&lt;br /&gt;
If you are using other than the Moodle Tex filter to render Tex you may find yourself using other tokens, as well as different syntax.  It is critical that you understand what applications you are using to parse your text expression, as well as whether the application is parsing Tex or some other syntax and what application you are using to display the Math.  The Moodle Tex filter outputs gif or png images based on Tex text expressions deleimtied by doubledollar signs. But, if you are using the Moodle Algebra filter, you will be using a parser imported from webworks to parse non-Tex text expressions (algebra syntax), as in @@x/y@@, though you will be using the Tex filter to actually display the resulting images as png or gif.  If you use MathJax or ASCIIMathML,  you can easily change the tokens you use. ASCIIMathML on its own uses backticks, as in `root(n)(x)` though it can also parse Tex if delimited by dollar signs. ASCIIMathML by default outputs MathML and falls back to gif or png. MathJax can output MathML or HTML-CSS. The discussion below largely focuses on using Tex syntax text expressions with the Moodle Tex filter.  However, much of the discussion that addresses Tex syntax can be generalized to other applications that parse Tex. &lt;br /&gt;
&lt;br /&gt;
If you choose to display Math in Moodle via Tex expressions,  you also have to understand that that there are not only quite a few &amp;quot;flavors&amp;quot;  in the Tex world, but there are also three major [http://www.math.uiuc.edu/~hildebr/tex/course/intro2.html Tex modes], and the Moodle core Tex filter employs only one mode. What may work in one Tex implementation, may not work in another. These docs, for example, now use [http://www.tug.org/texlive/doc/texlive-en/texlive-en.html Tex Live], though your Moodle installation may be using the core Tex filter. &lt;br /&gt;
&lt;br /&gt;
Tex itself is felt by some to present a significant learning curve, and the internet offers a number of tutorials. A.J. Hildebrand, a Math professor at UIUC offers [http://www.math.uiuc.edu/~hildebr/tex/ resources and a tutorial here that you may find helpful.] &lt;br /&gt;
&lt;br /&gt;
There are a number of Maths tools available and probably one of the more useful tools for using Tex in Moodle (or elsewhere for that matter), is [[Dragmath]] which will allow you to use a GUI constructor to build your expression, and then insert it in the format you choose.&lt;br /&gt;
&lt;br /&gt;
==Using TeX Notation with the Moodle Tex filter==&lt;br /&gt;
&lt;br /&gt;
For the most part, the TeX Notation has been built using a sub-set of characters from the TeX &amp;quot;default&amp;quot; character set. The trouble is there does not seem to be a &amp;quot;default&amp;quot; character set for TeX. This is one of the most confusing aspects of using TeX Notation in Moodle. When we realise that the documentation we are using is related to the creation of printed documents, and we want to use TeX on line, in Moodle, then further problems occur. There are no environment statements to be made. There are no \begins and \ends. If you go to Administration &amp;gt; Modules &amp;gt; Filters &amp;gt; Filter Manager you will see what filters have been enabled. If you then go to the TeX Notation page, the default preamble is editable via the text box. Using this tool you can add in or subtract font packages and other packages, change the default font package, etc.  &lt;br /&gt;
&lt;br /&gt;
==Language Conventions== &lt;br /&gt;
&lt;br /&gt;
To invoke the TeX filter, use the $$ symbols to open and close statements. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: &lt;br /&gt;
&lt;br /&gt;
  $$ x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$  &lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image: cfmimetex10.gif|frame|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Fraction and square root.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional spaces are placed into the equation by using the \ without a leading or trailing character. Escape characters, of which there are a few in Moodle&#039;s TeX Notation, have the \ in front of them. These are usually set aside for reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Available Characters==&lt;br /&gt;
There seems to be a number of differences between what characters are available in Moodle and what are not. There also seems to be great discrepancies between what the manuals tell you is available and what actually is available. [[Using TeX Notation 2]] shows a lot of what is available, but not all.&lt;br /&gt;
&lt;br /&gt;
==Windows and TeX==&lt;br /&gt;
&lt;br /&gt;
Using TeX in Windows is simpler than it used to be. Download and install a TeX for Windows program, like [http://www.miktex.org/ MikTeX]. (MikTeX is probably the most useful at this point in time for Windows Users.) Also, a graphics package is required for rendering the scripted TeX statements into images, and probably the most readily available and easily installable program useful for this purpose would be [http://www.imagemagick.org/script/index.php ImageMagick]. While there may be better programs available for these purposes, these are the most immediately useful. They are easily installed and configured.   &lt;br /&gt;
&lt;br /&gt;
==Reserved Characters and Keywords==&lt;br /&gt;
&lt;br /&gt;
Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: &lt;br /&gt;
&lt;br /&gt;
  @ # $ % ^ &amp;amp; * ( ) . &lt;br /&gt;
&lt;br /&gt;
To use these characters in an equation just place the \ in front of them \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &amp;amp;, ampersand. See the characters listed in [[Using TeX Notation 2]] for more details.&lt;br /&gt;
&lt;br /&gt;
The Keywords, they are different. There is only one that is of concern here and that it the word &amp;quot;line&amp;quot;. If the \line control sequence, or command, is not properly implemented, then the consequences can be indeterminate. Controlling lines is an adventure of its own, so getting it right when written is important, you can always reposition the line, but you might get it really wrong if you do not use it with some caution. &lt;br /&gt;
&lt;br /&gt;
To use the \line control sequence, go to your text editor, open the filter\lib.php file, and at about line 48, you will see the word &amp;quot;\line&amp;quot;. Delete it from the list. &lt;br /&gt;
&lt;br /&gt;
If you do not have direct access to the server, then the whole thing becomes problematic. You may want to download and install your own Moodle and develop things there rather than on your production site. You can write things out in your own Moodle, render the statement, save the image and then upload it to your production site. If something goes seriously wrong, it is easier to restart your own Moodle than it is your production site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; If you get a dimension wrong on a line, it can actually prevent you from creating any new TeX. You will see the offending control sequence in its natural state. Everything that you have written to that point will work, but nothing you have written after that will.&lt;br /&gt;
&lt;br /&gt;
==Maths Mode==&lt;br /&gt;
A full TeX version has three modes, a &amp;quot;text mode&amp;quot;, an &amp;quot;inline maths mode&amp;quot; and a &amp;quot;maths display mode&amp;quot; but Moodle seems to stay in &amp;quot;inline maths mode&amp;quot;. Perhaps a better description of what happens is that Moodle allows a writer to enter &amp;quot;inline maths mode&amp;quot; when the $$ symbols are written and leave it when the $$ symbol appears a second time. Moodle does not appear to use the &amp;quot;maths display mode&amp;quot;. The command sequences beginning with the $$ are not current practice in any major version of TeX, and why they work in Moodle is not an issue for discussion here. Current common practice in most other flavours of TeX uses a different set of command initiation sequences.&lt;br /&gt;
&lt;br /&gt;
==Superscripts, Subscripts and Roots==&lt;br /&gt;
&lt;br /&gt;
Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: &lt;br /&gt;
&lt;br /&gt;
  $$ 4^2 \ \times \ 4^3 \ = 4^5 $$&lt;br /&gt;
  This is a shorthand way of saying: &lt;br /&gt;
  (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4)&lt;br /&gt;
  or&lt;br /&gt;
  16 x 64 = 1024.&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;4^2 \ \times \ 4^3 \ = 4^5&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscripts are similar, but use the underscore character. &lt;br /&gt;
&lt;br /&gt;
  $$ 3x_2 \ \times \ 2x_3 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;3x_2 \ \times \ 2x_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. &lt;br /&gt;
&lt;br /&gt;
  $$ \sqrt{64} \ = \ 8 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;\sqrt{64} \ = \ 8&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also take this a little further, but adding in a control character. You may ask a question like: &lt;br /&gt;
&lt;br /&gt;
  $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$  &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n?&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Using these different commands allows you to develop equations like: &lt;br /&gt;
&lt;br /&gt;
  $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fractions==&lt;br /&gt;
&lt;br /&gt;
Fractions in TeX are actually simple, as long as you remember the rules.&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{numerator}{denominator} $$ which produces &amp;lt;math&amp;gt;\frac{numerator}{denominator}&amp;lt;/math&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
This can be given as:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;\frac{5}{10} \ is \ equal \ to \ \frac{1}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This is entered as:&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$&lt;br /&gt;
&lt;br /&gt;
With fractions (as with other commands) the curly brackets can be nested so that for example you can implement negative exponents in fractions.  As you can see,&lt;br /&gt;
	&lt;br /&gt;
  $$\frac {5^{-2}}{3}$$ will produce &amp;lt;math&amp;gt;\frac {5^{-2}}{3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  $$\left(\frac{3}{4}\right)^{-3}$$ will produce &amp;lt;math&amp;gt;\left(\frac{3}{4}\right)^{-3}&amp;lt;/math&amp;gt;  and&lt;br /&gt;
&lt;br /&gt;
  $$\frac{3}{4^{-3}}$$ will produce &amp;lt;math&amp;gt; \frac{3}{4^{-3}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  You likely do not want to use $$\frac{3}{4}^{-3}$$ as it produces &amp;lt;math&amp;gt;\frac{3}{4}^{-3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brackets==&lt;br /&gt;
&lt;br /&gt;
As students advance through Maths, they come into contact with brackets. Algebraic notation depends heavily on brackets. The usual keyboard values of ( and ) are useful, for example:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;d = 2 \ \times \ (4 \ - \ j)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is written as:&lt;br /&gt;
&lt;br /&gt;
  $$ d = 2 \ \times \ (4 \ - \ j) $$&lt;br /&gt;
&lt;br /&gt;
Usually, these brackets are enough for most formulae but they will not be in some circumstances. Consider this:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;4x^3 \ + \ (x \ + \ \frac{42}{1 + x^4})&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Is OK, but try it this way:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This can be achieved by:&lt;br /&gt;
&lt;br /&gt;
  $$ 4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right) $$&lt;br /&gt;
&lt;br /&gt;
A simple change using the \left( and \right) symbols instead. Note the actual bracket is both named and presented.&lt;br /&gt;
&lt;br /&gt;
==Ellipsis==&lt;br /&gt;
&lt;br /&gt;
The Ellipsis is a simple code:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;x_1, \ x_2, \ \ldots, \ x_n&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Written like:&lt;br /&gt;
&lt;br /&gt;
  $$ x_1, \ x_2, \ \ldots, \ x_n  $$&lt;br /&gt;
&lt;br /&gt;
A more practical application could be:&lt;br /&gt;
&lt;br /&gt;
Question:&lt;br /&gt;
  &amp;quot;Add together all the numbers from 1 &amp;lt;math&amp;gt;\ldots&amp;lt;/math&amp;gt; 38.&lt;br /&gt;
  What is an elegant and simple solution to this problem?&lt;br /&gt;
  Can you create an algebraic function to explain this solution?&lt;br /&gt;
  Will your solution work for all numbers?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
The question uses an even number to demonstrate a mathematical process and generate an algebraic formula.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Part 1:&lt;br /&gt;
| Part 2.&lt;br /&gt;
| Part 3.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;math&amp;gt;1. \ 1 \ + \ 38 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2. \ 2 \ + \ 37 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3. \ 3 \ + \ 36 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\ldots&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;19. 19 \ + \ 20 \ = \ 39 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\therefore x \ = \ 39 \ \times \ 19 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\therefore x \ = \ 741 &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|An algebraic function might read something like:&lt;br /&gt;
&amp;lt;math&amp;gt;t = (1 + n) \times n/2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where t = total and n = the last number.&lt;br /&gt;
&lt;br /&gt;
|The solution is that, using the largest and the smallest numbers, the numbers are added and then multiplied by the number of different combinations to produce the same result adding the first and last numbers.&lt;br /&gt;
The answer must depend on the number, &amp;lt;math&amp;gt;\frac{n}{2}&amp;lt;/math&amp;gt; being a whole number. Therefore, the solution will not work for an odd range of numbers, only an even range.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Using TeX Notation 2]]&lt;br /&gt;
&lt;br /&gt;
* [[TeX notation filter]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
[[Category:Filter]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=74483</id>
		<title>Using TeX Notation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=74483"/>
		<updated>2010-08-04T18:43:49Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Language Conventions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While there are quite a few notational systems employed for the purpose of representing Math notation, Moodle core provides a [[TeX filter]] that can be configured to employ identified latex, dvips and convert binaries to display a gif representation of a Tex expression. The Moodle core Tex filter falls back to the use of MimeTex if these binaries can&#039;t be located. Note that the core TeX filter is not the only way to display Tex expressions in Moodle and the discussion of [[Mathematics]] tools address a variety of other solutions. Additionally, the results obtained from the Moodle Tex or algebra filters are dependent on the Tex binaries you have installed. &lt;br /&gt;
&lt;br /&gt;
If you choose to display Math in Moodle via Tex expressions,  you have to understand that that there are not only quite a few &amp;quot;flavors&amp;quot;  in the Tex world, but there are also three major [http://www.math.uiuc.edu/~hildebr/tex/course/intro2.html Tex modes], and the Moodle core Tex filter employs only one mode. What may work in one Tex implementation, may not work in another. These docs, for example, now use [http://www.tug.org/texlive/doc/texlive-en/texlive-en.html Tex Live], though your Moodle installation may be using the core Tex filter. &lt;br /&gt;
&lt;br /&gt;
Tex itself is felt by some to present a significant learning curve, and the internet offers a number of tutorials. A.J. Hildebrand, a Math professor at UIUC offers [http://www.math.uiuc.edu/~hildebr/tex/ resources and a tutorial here that you may find helpful.] &lt;br /&gt;
&lt;br /&gt;
There are a number of Maths tools available and probably one of the more useful tools for using Tex in Moodle (or elsewhere for that matter), is [[Dragmath]] which will allow you to use a GUI constructor to build your expression, and then insert it in the format you choose.&lt;br /&gt;
&lt;br /&gt;
==TeX Notation in Moodle==&lt;br /&gt;
&lt;br /&gt;
For the most part, the TeX Notation has been built using a sub-set of characters from the TeX &amp;quot;default&amp;quot; character set. The trouble is there does not seem to be a &amp;quot;default&amp;quot; character set for TeX. This is one of the most confusing aspects of using TeX Notation in Moodle. When we realise that the documentation we are using is related to the creation of printed documents, and we want to use TeX on line, in Moodle, then further problems occur. There are no environment statements to be made. There are no \begins and \ends. If you go to Administration &amp;gt; Modules &amp;gt; Filters &amp;gt; Filter Manager you will see what filters have been enabled. If you then go to the TeX Notation page, the default preamble is written there and is editable via the text box. You can add in or subtract font packages. You can change the default font package. The issue here also seems to be that to use other fonts you need to install a full TeX notation system other than the TeX Notation system for the fonts to change. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A precise, i.e. simple, description of how to do that would be nice here..:)&#039;&#039;     &lt;br /&gt;
&lt;br /&gt;
Which would, if clearer, provide a nice little tool for developing local strategies for quick response to your student needs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; The coding used here was developed on a stand alone PC using Windows XP, and a Standard installation of Moodle 1.9.9+ with nothing other than [[#Windows_and_TeX | MikTeX]] and [[#Windows_and_TeX | ImageMagick]] installed. The code has been successfully exported to a production site using Linux, except for the &amp;quot;\line&amp;quot; command - the reasons for which are [[#Reserved_Characters and Keywords | discussed below]].&lt;br /&gt;
&lt;br /&gt;
==Language Conventions== &lt;br /&gt;
&lt;br /&gt;
To invoke the TeX filter, use the $$ symbols to open and close statements. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: &lt;br /&gt;
&lt;br /&gt;
  $$ x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$  &lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image: cfmimetex10.gif|frame|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Fraction and square root.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you are using other than the Moodle Tex filter to render Tex you may find yourself using other tokens, as well as different syntax.  It is critical that you understand what applications you are using to parse your text expression, as well as whether the application is parsing Tex or some other syntax and what application you are using to display the Math.  The Moodle Tex filter outputs gif or png images based on Tex text expressions deleimtied by doubledollar signs. But, if you are using the Moodle Algebra filter, you will be using a parser imported from webworks to parse non-Tex text expressions (algebra syntax), as in @@x/y@@, though you will be using the Tex filter to actually display the resulting images as png or gif.  If you use MathJax or ASCIIMathML,  you can easily change the tokens you use. ASCIIMathML on its own uses backticks, as in `root(n)(x)` though it can also parse Tex if delimited by dollar signs. ASCIIMathML by default outputs MathML and falls back to gif or png. MathJax can output MathML or HTML-CSS. The discussion below largely focuses on using Tex syntax text expressions with the Moodle Tex filter.  However, much of the discussion that addresses Tex syntax can be generalized to other applications that parse Tex.&lt;br /&gt;
&lt;br /&gt;
Additional spaces are placed into the equation by using the \ without a leading or trailing character. Escape characters, of which there are a few in Moodle&#039;s TeX Notation, have the \ in front of them. These are usually set aside for reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Available Characters==&lt;br /&gt;
There seems to be a number of differences between what characters are available in Moodle and what are not. There also seems to be great discrepancies between what the manuals tell you is available and what actually is available. [[Using TeX Notation 2]] shows a lot of what is available, but not all.&lt;br /&gt;
&lt;br /&gt;
==Windows and TeX==&lt;br /&gt;
&lt;br /&gt;
Using TeX in Windows is simpler than it used to be. Download and install a TeX for Windows program, like [http://www.miktex.org/ MikTeX]. (MikTeX is probably the most useful at this point in time for Windows Users.) Also, a graphics package is required for rendering the scripted TeX statements into images, and probably the most readily available and easily installable program useful for this purpose would be [http://www.imagemagick.org/script/index.php ImageMagick]. While there may be better programs available for these purposes, these are the most immediately useful. They are easily installed and configured.   &lt;br /&gt;
&lt;br /&gt;
==Reserved Characters and Keywords==&lt;br /&gt;
&lt;br /&gt;
Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: &lt;br /&gt;
&lt;br /&gt;
  @ # $ % ^ &amp;amp; * ( ) . &lt;br /&gt;
&lt;br /&gt;
To use these characters in an equation just place the \ in front of them \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &amp;amp;, ampersand. See the characters listed in [[Using TeX Notation 2]] for more details.&lt;br /&gt;
&lt;br /&gt;
The Keywords, they are different. There is only one that is of concern here and that it the word &amp;quot;line&amp;quot;. If the \line control sequence, or command, is not properly implemented, then the consequences can be indeterminate. Controlling lines is an adventure of its own, so getting it right when written is important, you can always reposition the line, but you might get it really wrong if you do not use it with some caution. &lt;br /&gt;
&lt;br /&gt;
To use the \line control sequence, go to your text editor, open the filter\lib.php file, and at about line 48, you will see the word &amp;quot;\line&amp;quot;. Delete it from the list. &lt;br /&gt;
&lt;br /&gt;
If you do not have direct access to the server, then the whole thing becomes problematic. You may want to download and install your own Moodle and develop things there rather than on your production site. You can write things out in your own Moodle, render the statement, save the image and then upload it to your production site. If something goes seriously wrong, it is easier to restart your own Moodle than it is your production site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; If you get a dimension wrong on a line, it can actually prevent you from creating any new TeX. You will see the offending control sequence in its natural state. Everything that you have written to that point will work, but nothing you have written after that will.&lt;br /&gt;
&lt;br /&gt;
==Maths Mode==&lt;br /&gt;
A full TeX version has three modes, a &amp;quot;text mode&amp;quot;, an &amp;quot;inline maths mode&amp;quot; and a &amp;quot;maths display mode&amp;quot; but Moodle seems to stay in &amp;quot;inline maths mode&amp;quot;. Perhaps a better description of what happens is that Moodle allows a writer to enter &amp;quot;inline maths mode&amp;quot; when the $$ symbols are written and leave it when the $$ symbol appears a second time. Moodle does not appear to use the &amp;quot;maths display mode&amp;quot;. The command sequences beginning with the $$ are not current practice in any major version of TeX, and why they work in Moodle is not an issue for discussion here. Current common practice in most other flavours of TeX uses a different set of command initiation sequences.&lt;br /&gt;
&lt;br /&gt;
==Superscripts, Subscripts and Roots==&lt;br /&gt;
&lt;br /&gt;
Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: &lt;br /&gt;
&lt;br /&gt;
  $$ 4^2 \ \times \ 4^3 \ = 4^5 $$&lt;br /&gt;
  This is a shorthand way of saying: &lt;br /&gt;
  (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4)&lt;br /&gt;
  or&lt;br /&gt;
  16 x 64 = 1024.&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;4^2 \ \times \ 4^3 \ = 4^5&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscripts are similar, but use the underscore character. &lt;br /&gt;
&lt;br /&gt;
  $$ 3x_2 \ \times \ 2x_3 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;3x_2 \ \times \ 2x_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. &lt;br /&gt;
&lt;br /&gt;
  $$ \sqrt{64} \ = \ 8 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;\sqrt{64} \ = \ 8&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also take this a little further, but adding in a control character. You may ask a question like: &lt;br /&gt;
&lt;br /&gt;
  $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$  &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n?&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Using these different commands allows you to develop equations like: &lt;br /&gt;
&lt;br /&gt;
  $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fractions==&lt;br /&gt;
&lt;br /&gt;
Fractions in TeX are actually simple, as long as you remember the rules.&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{numerator}{denominator} $$ which produces &amp;lt;math&amp;gt;\frac{numerator}{denominator}&amp;lt;/math&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
This can be given as:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;\frac{5}{10} \ is \ equal \ to \ \frac{1}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This is entered as:&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$&lt;br /&gt;
&lt;br /&gt;
With fractions (as with other commands) the curly brackets can be nested so that for example you can implement negative exponents in fractions.  As you can see,&lt;br /&gt;
	&lt;br /&gt;
  $$\frac {5^{-2}}{3}$$ will produce &amp;lt;math&amp;gt;\frac {5^{-2}}{3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  $$\left(\frac{3}{4}\right)^{-3}$$ will produce &amp;lt;math&amp;gt;\left(\frac{3}{4}\right)^{-3}&amp;lt;/math&amp;gt;  and&lt;br /&gt;
&lt;br /&gt;
  $$\frac{3}{4^{-3}}$$ will produce &amp;lt;math&amp;gt; \frac{3}{4^{-3}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  You likely do not want to use $$\frac{3}{4}^{-3}$$ as it produces &amp;lt;math&amp;gt;\frac{3}{4}^{-3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brackets==&lt;br /&gt;
&lt;br /&gt;
As students advance through Maths, they come into contact with brackets. Algebraic notation depends heavily on brackets. The usual keyboard values of ( and ) are useful, for example:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;d = 2 \ \times \ (4 \ - \ j)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is written as:&lt;br /&gt;
&lt;br /&gt;
  $$ d = 2 \ \times \ (4 \ - \ j) $$&lt;br /&gt;
&lt;br /&gt;
Usually, these brackets are enough for most formulae but they will not be in some circumstances. Consider this:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;4x^3 \ + \ (x \ + \ \frac{42}{1 + x^4})&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Is OK, but try it this way:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This can be achieved by:&lt;br /&gt;
&lt;br /&gt;
  $$ 4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right) $$&lt;br /&gt;
&lt;br /&gt;
A simple change using the \left( and \right) symbols instead. Note the actual bracket is both named and presented.&lt;br /&gt;
&lt;br /&gt;
==Ellipsis==&lt;br /&gt;
&lt;br /&gt;
The Ellipsis is a simple code:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;x_1, \ x_2, \ \ldots, \ x_n&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Written like:&lt;br /&gt;
&lt;br /&gt;
  $$ x_1, \ x_2, \ \ldots, \ x_n  $$&lt;br /&gt;
&lt;br /&gt;
A more practical application could be:&lt;br /&gt;
&lt;br /&gt;
Question:&lt;br /&gt;
  &amp;quot;Add together all the numbers from 1 &amp;lt;math&amp;gt;\ldots&amp;lt;/math&amp;gt; 38.&lt;br /&gt;
  What is an elegant and simple solution to this problem?&lt;br /&gt;
  Can you create an algebraic function to explain this solution?&lt;br /&gt;
  Will your solution work for all numbers?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
The question uses an even number to demonstrate a mathematical process and generate an algebraic formula.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Part 1:&lt;br /&gt;
| Part 2.&lt;br /&gt;
| Part 3.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;math&amp;gt;1. \ 1 \ + \ 38 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2. \ 2 \ + \ 37 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3. \ 3 \ + \ 36 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\ldots&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;19. 19 \ + \ 20 \ = \ 39 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\therefore x \ = \ 39 \ \times \ 19 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\therefore x \ = \ 741 &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|An algebraic function might read something like:&lt;br /&gt;
&amp;lt;math&amp;gt;t = (1 + n) \times n/2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where t = total and n = the last number.&lt;br /&gt;
&lt;br /&gt;
|The solution is that, using the largest and the smallest numbers, the numbers are added and then multiplied by the number of different combinations to produce the same result adding the first and last numbers.&lt;br /&gt;
The answer must depend on the number, &amp;lt;math&amp;gt;\frac{n}{2}&amp;lt;/math&amp;gt; being a whole number. Therefore, the solution will not work for an odd range of numbers, only an even range.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Using TeX Notation 2]]&lt;br /&gt;
&lt;br /&gt;
* [[TeX notation filter]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
[[Category:Filter]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=74481</id>
		<title>Using TeX Notation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=74481"/>
		<updated>2010-08-04T18:28:48Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Fractions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While there are quite a few notational systems employed for the purpose of representing Math notation, Moodle core provides a [[TeX filter]] that can be configured to employ identified latex, dvips and convert binaries to display a gif representation of a Tex expression. The Moodle core Tex filter falls back to the use of MimeTex if these binaries can&#039;t be located. Note that the core TeX filter is not the only way to display Tex expressions in Moodle and the discussion of [[Mathematics]] tools address a variety of other solutions. Additionally, the results obtained from the Moodle Tex or algebra filters are dependent on the Tex binaries you have installed. &lt;br /&gt;
&lt;br /&gt;
If you choose to display Math in Moodle via Tex expressions,  you have to understand that that there are not only quite a few &amp;quot;flavors&amp;quot;  in the Tex world, but there are also three major [http://www.math.uiuc.edu/~hildebr/tex/course/intro2.html Tex modes], and the Moodle core Tex filter employs only one mode. What may work in one Tex implementation, may not work in another. These docs, for example, now use [http://www.tug.org/texlive/doc/texlive-en/texlive-en.html Tex Live], though your Moodle installation may be using the core Tex filter. &lt;br /&gt;
&lt;br /&gt;
Tex itself is felt by some to present a significant learning curve, and the internet offers a number of tutorials. A.J. Hildebrand, a Math professor at UIUC offers [http://www.math.uiuc.edu/~hildebr/tex/ resources and a tutorial here that you may find helpful.] &lt;br /&gt;
&lt;br /&gt;
There are a number of Maths tools available and probably one of the more useful tools for using Tex in Moodle (or elsewhere for that matter), is [[Dragmath]] which will allow you to use a GUI constructor to build your expression, and then insert it in the format you choose.&lt;br /&gt;
&lt;br /&gt;
==TeX Notation in Moodle==&lt;br /&gt;
&lt;br /&gt;
For the most part, the TeX Notation has been built using a sub-set of characters from the TeX &amp;quot;default&amp;quot; character set. The trouble is there does not seem to be a &amp;quot;default&amp;quot; character set for TeX. This is one of the most confusing aspects of using TeX Notation in Moodle. When we realise that the documentation we are using is related to the creation of printed documents, and we want to use TeX on line, in Moodle, then further problems occur. There are no environment statements to be made. There are no \begins and \ends. If you go to Administration &amp;gt; Modules &amp;gt; Filters &amp;gt; Filter Manager you will see what filters have been enabled. If you then go to the TeX Notation page, the default preamble is written there and is editable via the text box. You can add in or subtract font packages. You can change the default font package. The issue here also seems to be that to use other fonts you need to install a full TeX notation system other than the TeX Notation system for the fonts to change. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A precise, i.e. simple, description of how to do that would be nice here..:)&#039;&#039;     &lt;br /&gt;
&lt;br /&gt;
Which would, if clearer, provide a nice little tool for developing local strategies for quick response to your student needs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; The coding used here was developed on a stand alone PC using Windows XP, and a Standard installation of Moodle 1.9.9+ with nothing other than [[#Windows_and_TeX | MikTeX]] and [[#Windows_and_TeX | ImageMagick]] installed. The code has been successfully exported to a production site using Linux, except for the &amp;quot;\line&amp;quot; command - the reasons for which are [[#Reserved_Characters and Keywords | discussed below]].&lt;br /&gt;
&lt;br /&gt;
==Language Conventions== &lt;br /&gt;
&lt;br /&gt;
To invoke the TeX filter is to use the $$ symbols to open and close statements. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: &lt;br /&gt;
&lt;br /&gt;
  $$ x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$  &lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image: cfmimetex10.gif|frame|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Fraction and square root.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Additional spaces are placed into the equation by using the \ without a leading or trailing character. Escape characters, of which there are a few in Moodle&#039;s TeX Notation, have the \ in front of them. These are usually set aside for reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Available Characters==&lt;br /&gt;
There seems to be a number of differences between what characters are available in Moodle and what are not. There also seems to be great discrepancies between what the manuals tell you is available and what actually is available. [[Using TeX Notation 2]] shows a lot of what is available, but not all.&lt;br /&gt;
&lt;br /&gt;
==Windows and TeX==&lt;br /&gt;
&lt;br /&gt;
Using TeX in Windows is simpler than it used to be. Download and install a TeX for Windows program, like [http://www.miktex.org/ MikTeX]. (MikTeX is probably the most useful at this point in time for Windows Users.) Also, a graphics package is required for rendering the scripted TeX statements into images, and probably the most readily available and easily installable program useful for this purpose would be [http://www.imagemagick.org/script/index.php ImageMagick]. While there may be better programs available for these purposes, these are the most immediately useful. They are easily installed and configured.   &lt;br /&gt;
&lt;br /&gt;
==Reserved Characters and Keywords==&lt;br /&gt;
&lt;br /&gt;
Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: &lt;br /&gt;
&lt;br /&gt;
  @ # $ % ^ &amp;amp; * ( ) . &lt;br /&gt;
&lt;br /&gt;
To use these characters in an equation just place the \ in front of them \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &amp;amp;, ampersand. See the characters listed in [[Using TeX Notation 2]] for more details.&lt;br /&gt;
&lt;br /&gt;
The Keywords, they are different. There is only one that is of concern here and that it the word &amp;quot;line&amp;quot;. If the \line control sequence, or command, is not properly implemented, then the consequences can be indeterminate. Controlling lines is an adventure of its own, so getting it right when written is important, you can always reposition the line, but you might get it really wrong if you do not use it with some caution. &lt;br /&gt;
&lt;br /&gt;
To use the \line control sequence, go to your text editor, open the filter\lib.php file, and at about line 48, you will see the word &amp;quot;\line&amp;quot;. Delete it from the list. &lt;br /&gt;
&lt;br /&gt;
If you do not have direct access to the server, then the whole thing becomes problematic. You may want to download and install your own Moodle and develop things there rather than on your production site. You can write things out in your own Moodle, render the statement, save the image and then upload it to your production site. If something goes seriously wrong, it is easier to restart your own Moodle than it is your production site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; If you get a dimension wrong on a line, it can actually prevent you from creating any new TeX. You will see the offending control sequence in its natural state. Everything that you have written to that point will work, but nothing you have written after that will.&lt;br /&gt;
&lt;br /&gt;
==Maths Mode==&lt;br /&gt;
A full TeX version has three modes, a &amp;quot;text mode&amp;quot;, an &amp;quot;inline maths mode&amp;quot; and a &amp;quot;maths display mode&amp;quot; but Moodle seems to stay in &amp;quot;inline maths mode&amp;quot;. Perhaps a better description of what happens is that Moodle allows a writer to enter &amp;quot;inline maths mode&amp;quot; when the $$ symbols are written and leave it when the $$ symbol appears a second time. Moodle does not appear to use the &amp;quot;maths display mode&amp;quot;. The command sequences beginning with the $$ are not current practice in any major version of TeX, and why they work in Moodle is not an issue for discussion here. Current common practice in most other flavours of TeX uses a different set of command initiation sequences.&lt;br /&gt;
&lt;br /&gt;
==Superscripts, Subscripts and Roots==&lt;br /&gt;
&lt;br /&gt;
Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: &lt;br /&gt;
&lt;br /&gt;
  $$ 4^2 \ \times \ 4^3 \ = 4^5 $$&lt;br /&gt;
  This is a shorthand way of saying: &lt;br /&gt;
  (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4)&lt;br /&gt;
  or&lt;br /&gt;
  16 x 64 = 1024.&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;4^2 \ \times \ 4^3 \ = 4^5&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscripts are similar, but use the underscore character. &lt;br /&gt;
&lt;br /&gt;
  $$ 3x_2 \ \times \ 2x_3 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;3x_2 \ \times \ 2x_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. &lt;br /&gt;
&lt;br /&gt;
  $$ \sqrt{64} \ = \ 8 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;\sqrt{64} \ = \ 8&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also take this a little further, but adding in a control character. You may ask a question like: &lt;br /&gt;
&lt;br /&gt;
  $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$  &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n?&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Using these different commands allows you to develop equations like: &lt;br /&gt;
&lt;br /&gt;
  $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fractions==&lt;br /&gt;
&lt;br /&gt;
Fractions in TeX are actually simple, as long as you remember the rules.&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{numerator}{denominator} $$ which produces &amp;lt;math&amp;gt;\frac{numerator}{denominator}&amp;lt;/math&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
This can be given as:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;\frac{5}{10} \ is \ equal \ to \ \frac{1}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This is entered as:&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$&lt;br /&gt;
&lt;br /&gt;
With fractions (as with other commands) the curly brackets can be nested so that for example you can implement negative exponents in fractions.  As you can see,&lt;br /&gt;
	&lt;br /&gt;
  $$\frac {5^{-2}}{3}$$ will produce &amp;lt;math&amp;gt;\frac {5^{-2}}{3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  $$\left(\frac{3}{4}\right)^{-3}$$ will produce &amp;lt;math&amp;gt;\left(\frac{3}{4}\right)^{-3}&amp;lt;/math&amp;gt;  and&lt;br /&gt;
&lt;br /&gt;
  $$\frac{3}{4^{-3}}$$ will produce &amp;lt;math&amp;gt; \frac{3}{4^{-3}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  You likely do not want to use $$\frac{3}{4}^{-3}$$ as it produces &amp;lt;math&amp;gt;\frac{3}{4}^{-3}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Brackets==&lt;br /&gt;
&lt;br /&gt;
As students advance through Maths, they come into contact with brackets. Algebraic notation depends heavily on brackets. The usual keyboard values of ( and ) are useful, for example:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;math&amp;gt;d = 2 \ \times \ (4 \ - \ j)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is written as:&lt;br /&gt;
&lt;br /&gt;
  $$ d = 2 \ \times \ (4 \ - \ j) $$&lt;br /&gt;
&lt;br /&gt;
Usually, these brackets are enough for most formulae but they will not be in some circumstances. Consider this:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;4x^3 \ + \ (x \ + \ \frac{42}{1 + x^4})&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Is OK, but try it this way:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right)&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This can be achieved by:&lt;br /&gt;
&lt;br /&gt;
  $$ 4x^3 \ + \ \left(x \ + \ \frac{42}{1 + x^4}\right) $$&lt;br /&gt;
&lt;br /&gt;
A simple change using the \left( and \right) symbols instead. Note the actual bracket is both named and presented.&lt;br /&gt;
&lt;br /&gt;
==Ellipsis==&lt;br /&gt;
&lt;br /&gt;
The Ellipsis is a simple code:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;x_1, \ x_2, \ \ldots, \ x_n&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Written like:&lt;br /&gt;
&lt;br /&gt;
  $$ x_1, \ x_2, \ \ldots, \ x_n  $$&lt;br /&gt;
&lt;br /&gt;
A more practical application could be:&lt;br /&gt;
&lt;br /&gt;
Question:&lt;br /&gt;
  &amp;quot;Add together all the numbers from 1 &amp;lt;math&amp;gt;\ldots&amp;lt;/math&amp;gt; 38.&lt;br /&gt;
  What is an elegant and simple solution to this problem?&lt;br /&gt;
  Can you create an algebraic function to explain this solution?&lt;br /&gt;
  Will your solution work for all numbers?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Answer:&lt;br /&gt;
The question uses an even number to demonstrate a mathematical process and generate an algebraic formula.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Part 1:&lt;br /&gt;
| Part 2.&lt;br /&gt;
| Part 3.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;math&amp;gt;1. \ 1 \ + \ 38 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;2. \ 2 \ + \ 37 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;3. \ 3 \ + \ 36 \ = \ 39&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\ldots&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;19. 19 \ + \ 20 \ = \ 39 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\therefore x \ = \ 39 \ \times \ 19 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\therefore x \ = \ 741 &amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|An algebraic function might read something like:&lt;br /&gt;
&amp;lt;math&amp;gt;t = (1 + n) \times n/2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where t = total and n = the last number.&lt;br /&gt;
&lt;br /&gt;
|The solution is that, using the largest and the smallest numbers, the numbers are added and then multiplied by the number of different combinations to produce the same result adding the first and last numbers.&lt;br /&gt;
The answer must depend on the number, &amp;lt;math&amp;gt;\frac{n}{2}&amp;lt;/math&amp;gt; being a whole number. Therefore, the solution will not work for an odd range of numbers, only an even range.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Using TeX Notation 2]]&lt;br /&gt;
&lt;br /&gt;
* [[TeX notation filter]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
[[Category:Filter]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=74018</id>
		<title>Using TeX Notation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=74018"/>
		<updated>2010-07-18T20:40:17Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While there are quite a few notational systems employed for the purpose of representing Math notation, Moodle core provides a [[TeX filter]] that can be configured to employ the latex, dvips and convert binaries that are identified by the user to display a gif representation of a Tex expression that is delimited by double dollar signs.  The Moodle core Tex filter falls back to the use of MimeTex if these binaries can&#039;t be located. However, the core TeX filter is not the only way to display Tex expressions in Moodle and the discussion of [[Mathematics]] tools address a variety of other solutions.  Additionally,  the results obtained from the Moodle Tex or algebra filters are dependent on the Tex binaries you have installed. &lt;br /&gt;
&lt;br /&gt;
If you choose to display Math in Moodle via Tex expressions,  you have to understand that that there are not only quite a few &amp;quot;flavors&amp;quot;  in the Tex world, but there are also three major [http://www.math.uiuc.edu/~hildebr/tex/course/intro2.html Tex modes], and the Moodle core Tex filter employs only one mode. What may work in one Tex implementation,  may not work in another. These docs now use [http://www.tug.org/texlive/doc/texlive-en/texlive-en.html Tex Live], though your Moodle installation may not. &lt;br /&gt;
&lt;br /&gt;
Tex itself is felt by some to present a significant learning curve, and the internet offers a number of tutorials. A.J. Hildebrand, a Math professor at UIUC offers [http://www.math.uiuc.edu/~hildebr/tex/ resources and a tutorial here that you may find helpful.] &lt;br /&gt;
&lt;br /&gt;
Probably one of the most useful tools for using Tex in Moodle (or elsewhere for that matter),  is [[Dragmath]] which will allow you to use a GUI constructor to build your expression,  and then insert it in the format you choose.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TeX Notation in Moodle==&lt;br /&gt;
&lt;br /&gt;
For the most part, the TeX Notation has been built using a sub-set of characters from the TeX &amp;quot;default&amp;quot; character set. The trouble is there does not seem to be a &amp;quot;default&amp;quot; character set for TeX. This is one of the most confusing aspects of using TeX Notation in Moodle. When we realise that the documentation we are using is related to the creation of printed documents, and we want to use TeX on line, in Moodle, then further problems occur. There are no environment statements to be made. There are no \begins and \ends. If you go to Administration &amp;gt; Modules &amp;gt; Filters &amp;gt; Filter Manager you will see what filters have been enabled. If you then go to the TeX Notation page, the default preamble is written there and is editable via the text box. You can add in or subtract font packages. You can change the default font package. The issue here also seems to be that to use other fonts you need to install a full TeX notation system other than the TeX Notation system for the fonts to change. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A precise, i.e. simple, description of how to do that would be nice here..:)&#039;&#039;     &lt;br /&gt;
&lt;br /&gt;
Which would, if clearer, provide a nice little tool for developing local strategies for responding to your student needs.&lt;br /&gt;
&lt;br /&gt;
==Language Conventions== &lt;br /&gt;
&lt;br /&gt;
To invoke the TeX filter is to use the $$ symbols to open and close statements. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: &lt;br /&gt;
&lt;br /&gt;
  $$ x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$  &lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image: cfmimetex10.gif|frame|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Fraction and square root.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Additional spaces are placed into the equation by using the \ without a leading or trailing character. Escape characters, of which there are a few in Moodle&#039;s TeX Notation, have the \ in front of them. These are usually set aside for reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Available Characters==&lt;br /&gt;
There seems to be a number of differences between what characters are available in Moodle and what are not. There also seems to be great discrepancies between what the manuals tell you is available and what actually is available. [[Using TeX Notation 2]] shows a lot of what is available, but not all.&lt;br /&gt;
&lt;br /&gt;
==Windows and TeX==&lt;br /&gt;
&lt;br /&gt;
Using TeX in Windows is simpler than it used to be. Download and install a TeX for Windows program, like [http://www.miktex.org/ MikTeX]. (MikTeX is probably the most useful at this point in time for Windows Users.) Also, a graphics package is required for rendering the scripted TeX statements into images, and probably the most readily available and easily installable program useful for this purpose would be [http://www.imagemagick.org/script/index.php ImageMagick]. While there may be better programs available for these purposes, these are the most immediately useful. They are easily installed and configured.   &lt;br /&gt;
&lt;br /&gt;
==Reserved Characters and Keywords==&lt;br /&gt;
&lt;br /&gt;
Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: &lt;br /&gt;
&lt;br /&gt;
  @ # $ % ^ &amp;amp; * ( ) . &lt;br /&gt;
&lt;br /&gt;
To use these characters in an equation just place the \ in front of them \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &amp;amp;, ampersand. See the characters listed in [[Using TeX Notation 2]] for more details.&lt;br /&gt;
&lt;br /&gt;
The Keywords, they are different. There is only one that is of concern here and that it the word &amp;quot;line&amp;quot;. If the \line control sequence, or command, is not properly implemented, then the consequences can be indeterminate. Controlling lines is an adventure of its own, so getting it right when written is important, you can always reposition the line, but you might get it really wrong if you do not use it with some caution. To use the \line control sequence, go to your text editor, open the filter\lib.php file, and at about line 48, you will see the word &amp;quot;\line&amp;quot;. Delete it from the list. If you do not have direct access to the server, then the whole thing becomes problematic. You may want to download and install your own Moodle and develop things there rather than on your production site. You can write things out in your own Moodle, render the statement, save the image and then upload it to your production site. If something goes seriously wrong, it is easier to restart your own Moodle than it is your production site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; If you get a dimension wrong on a line, it can actually prevent you from creating any new TeX. You will see the offending control sequence in its natural state. Everything that you have written to that point will work, but nothing you have written after that will.&lt;br /&gt;
&lt;br /&gt;
==Maths Mode==&lt;br /&gt;
A full TeX version has two modes, a &amp;quot;text mode&amp;quot; and a &amp;quot;maths mode&amp;quot; and Moodle stays in maths mode. Perhaps a better description of what happens is that Moodle allows a writer to enter maths mode when the $$ symbols are written and leave it when the $$ symbol appears a second time.&lt;br /&gt;
&lt;br /&gt;
==Superscripts, Subscripts and Roots==&lt;br /&gt;
&lt;br /&gt;
Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: &lt;br /&gt;
&lt;br /&gt;
  $$ 4^2 \ \times \ 4^3 \ = 4^5 $$&lt;br /&gt;
  This is a shorthand way of saying: &lt;br /&gt;
  (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4)&lt;br /&gt;
  or&lt;br /&gt;
  16 x 64 = 1024.&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;4^2 \ \times \ 4^3 \ = 4^5&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscripts are similar, but use the underscore character. &lt;br /&gt;
&lt;br /&gt;
  $$ 3x_2 \ \times \ 2x_3 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;3x_2 \ \times \ 2x_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. &lt;br /&gt;
&lt;br /&gt;
  $$ \sqrt{64} \ = \ 8 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;\sqrt{64} \ = \ 8&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also take this a little further, but adding in a control character. You may ask a question like: &lt;br /&gt;
&lt;br /&gt;
  $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$  &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n?&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Using these different commands allows you to develop equations like: &lt;br /&gt;
&lt;br /&gt;
  $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fractions==&lt;br /&gt;
&lt;br /&gt;
Fractions in TeX are actually simple, as long as you remember the rules.&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{numerator}{denominator} $$ which produces &amp;lt;math&amp;gt;\frac{numerator}{denominator}&amp;lt;/math&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
This can be given as:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;\frac{5}{10} \ is \ equal \ to \ \frac{1}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This is entered as:&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Using TeX Notation 2]]&lt;br /&gt;
&lt;br /&gt;
* [[TeX notation filter]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=TeX_notation_filter&amp;diff=73970</id>
		<title>TeX notation filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=TeX_notation_filter&amp;diff=73970"/>
		<updated>2010-07-16T21:58:58Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location: TeX Notation settings link in &#039;&#039;Administration &amp;gt; Modules &amp;gt; Filters &amp;gt; Manage filters&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF images. The filter relies on three binaries to accomplish this for expressions contained between appropirate tokens.  Where these binaries are not available,  Moodle provides for a fallback through the use of  Mimetex. Versions of MimeTex for Linux (glib2.3), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on [[Mathematics]] tools for a discussion.)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Methods and Usage ===&lt;br /&gt;
&lt;br /&gt;
To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present,  though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX.  A number of different builds are included in the Moodle distribution for popular operating systems,  though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience.&lt;br /&gt;
&lt;br /&gt;
Before doing anything else, you need to go to &#039;&#039;&#039;Administration &amp;gt; Filters &amp;gt; Manage Filters&#039;&#039;&#039; and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a &amp;quot;front end&amp;quot; to the Tex filter,  you should also turn on the Algebra filter.  For more information on the Algebra Filter see the [[algebra filter]]&lt;br /&gt;
&lt;br /&gt;
Once the filter is turned on and properly configured you can make use of it by&lt;br /&gt;
including a TeX expression delimited by double-dollar signs. Example:&lt;br /&gt;
 &lt;br /&gt;
    $$ \sqrt{x + y} $$&lt;br /&gt;
&lt;br /&gt;
If this does not display properly, see the information on debugging.&lt;br /&gt;
&lt;br /&gt;
=== MimeTeX ===&lt;br /&gt;
&lt;br /&gt;
Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can&#039;t properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. &lt;br /&gt;
&lt;br /&gt;
The [http://www.forkosh.com/mimetexmanual.html MimeTeX manual] is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Settings Page ===&lt;br /&gt;
&lt;br /&gt;
The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found).&lt;br /&gt;
&lt;br /&gt;
==== Installing the binaries ====&lt;br /&gt;
&lt;br /&gt;
This depends on your platform, but for a typical install you are going to need a latex implementation (e.g. [http://www.tug.org/texlive/doc/texlive-en/texlive-en.html Tex Live] if those expected by the filter (dvips, latex, and convert) are not present.   &lt;br /&gt;
&lt;br /&gt;
==== LaTeX preamble ====&lt;br /&gt;
&lt;br /&gt;
Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-latin character sets etc. Please see the LaTeX documentation for further details.&lt;br /&gt;
&lt;br /&gt;
==== Transparent colour ====&lt;br /&gt;
&lt;br /&gt;
This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). &lt;br /&gt;
&lt;br /&gt;
==== Density ====&lt;br /&gt;
&lt;br /&gt;
This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of  reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered.&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;latex&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard latex binary.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/texbin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;dvips&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard dvips binary - generally distributed as part of a LaTeX system.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/texbin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Windows using MikTeX is is usually something like C:\texmf\miktex\bin\dvips.exe&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;convert&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard convert binary. This is distributed as part of the Ghostscript system, or ImageMagick in Linux.&lt;br /&gt;
&lt;br /&gt;
A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/local/bin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On a Windows based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.)&lt;br /&gt;
&lt;br /&gt;
=== Debugging TeX filter ===&lt;br /&gt;
&lt;br /&gt;
The TeX filter has a debugging script (which will be much more helpful if you turn moodle debugging on) included that should help if you are having problems. The URL will be as follows...&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://your.moodle.path/filter/tex/texdebug.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. There are a number of options and suggestions to facilitate debugging the filter. Note that options for the latex/ghostscript versions are only provided from Moodle version 1.8.3.&lt;br /&gt;
&lt;br /&gt;
=== Mimetex on Debian based systems ===&lt;br /&gt;
&lt;br /&gt;
For some reason, the mimetex file that comes with Moodle doesn&#039;t work on Debian based systems (like Debian, Ubuntu, ...).&lt;br /&gt;
What works is installing Mimetex and Ghostscript on your server as Debian package (needs to be executed as root):&lt;br /&gt;
&lt;br /&gt;
 apt-get install tetex-extra mimetex gs&lt;br /&gt;
&lt;br /&gt;
Move your old mimetex file away&lt;br /&gt;
&lt;br /&gt;
 mv /var/www/moodle/filter/tex/mimetex.linux /var/www/moodle/filter/tex/mimetex.linux.old &lt;br /&gt;
&lt;br /&gt;
Make a symbolic link to the mimetex file, installed by the debian installer&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/bin/mimetex /var/www/moodle/filter/tex/mimetex.linux&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Filters]]&lt;br /&gt;
* [http://moodle.org/mod/glossary/view.php?id=2739&amp;amp;mode=letter&amp;amp;hook=M&amp;amp;sortkey=CREATION&amp;amp;sortorder=asc  TeX Filter Glossary] - a [[Glossary|glossary]] you can add to your course which details usage of the supported [[TeX notation]].&lt;br /&gt;
* [http://www.latex-project.org/ LaTeX] - the LaTeX document preparation system.&lt;br /&gt;
* [http://www.ghostscript.com/ ghostscript] - required to render the image&lt;br /&gt;
* [http://www.forkosh.com/mimetexmanual.html MimeTeX Manual] - Default TeX notation manual&lt;br /&gt;
* [http://www.miktex.org/ MikTeX] - LaTeX for Windows systems&lt;br /&gt;
* [http://www.imagemagick.org/script/index.php ImageMagick] - required to render images for Windows&lt;br /&gt;
* [[Using TeX Notation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Filter]]&lt;br /&gt;
[[Category:Mathematics]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=TeX_notation_filter&amp;diff=73969</id>
		<title>TeX notation filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=TeX_notation_filter&amp;diff=73969"/>
		<updated>2010-07-16T21:52:10Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* MimeTeX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location: TeX Notation settings link in &#039;&#039;Administration &amp;gt; Modules &amp;gt; Filters &amp;gt; Manage filters&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF images. The filter relies on three binaries to accomplish this for expressions contained between appropirate tokens.  Where these binaries are not available,  Moodle provides for a fallback through the use of  Mimetex. Versions of MimeTex for Linux (glib2.3), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on [[Mathematics]] tools for a discussion.)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Methods ===&lt;br /&gt;
&lt;br /&gt;
To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present,  though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX.  A number of different builds are included in the Moodle distribution for popular operating systems,  though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
&lt;br /&gt;
Before doing anything else, you need to go to &#039;&#039;&#039;Administration &amp;gt; Filters &amp;gt; Manage Filters&#039;&#039;&#039; and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a &amp;quot;front end&amp;quot; to the Tex filter,  you should also turn on the Algebra filter.  For more information on the Algebra Filter see the [[algebra filter]]&lt;br /&gt;
&lt;br /&gt;
Once the filter is turned on and properly configured you can make use of it by&lt;br /&gt;
including a TeX expression delimited by double-dollar signs. Example:&lt;br /&gt;
 &lt;br /&gt;
    $$ \sqrt{x + y} $$&lt;br /&gt;
&lt;br /&gt;
If this does not display properly, see the information on debugging.&lt;br /&gt;
&lt;br /&gt;
=== MimeTeX ===&lt;br /&gt;
&lt;br /&gt;
Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can&#039;t properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. &lt;br /&gt;
&lt;br /&gt;
The [http://www.forkosh.com/mimetexmanual.html MimeTeX manual] is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment.&lt;br /&gt;
&lt;br /&gt;
[[Using TeX Notation]] offers additional information on using the Moodle core Tex filter.&lt;br /&gt;
&lt;br /&gt;
=== Settings Page ===&lt;br /&gt;
&lt;br /&gt;
The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found).&lt;br /&gt;
&lt;br /&gt;
==== Installing the binaries ====&lt;br /&gt;
&lt;br /&gt;
This depends on your platform, but for a typical Linux install you are going to need a latex implementation (e.g. tetex) and the convert binary (e.g, from ImageMagick). A typical command - in this case for Ubuntu - that installs everything you need would look something like:&lt;br /&gt;
&lt;br /&gt;
    apt-get install tetex-base tetex-bin tetex-extra imagemagick ghostscript&lt;br /&gt;
&lt;br /&gt;
On newer versions of Ubuntu, tetex has been replaced by &#039;&#039;&#039;texlive&#039;&#039;&#039;. You may need to experiment a bit (for example, ImageMagick doesn&#039;t seem to work properly on Solaris but Ghostscript does). If you find the combination that works for your system kindly add the info to this page! On Windows however, ImageMagic seems to work as it should with &#039;&#039;&#039;teXLive&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== LaTeX preamble ====&lt;br /&gt;
&lt;br /&gt;
Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-latin character sets etc. Please see the LaTeX documentation for further details.&lt;br /&gt;
&lt;br /&gt;
==== Transparent colour ====&lt;br /&gt;
&lt;br /&gt;
This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). &lt;br /&gt;
&lt;br /&gt;
==== Density ====&lt;br /&gt;
&lt;br /&gt;
This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of  reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered.&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;latex&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard latex binary.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/texbin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;dvips&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard dvips binary - generally distributed as part of a LaTeX system.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/texbin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Windows using MikTeX is is usually something like C:\texmf\miktex\bin\dvips.exe&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;convert&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard convert binary. This is distributed as part of the Ghostscript system, or ImageMagick in Linux.&lt;br /&gt;
&lt;br /&gt;
A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/local/bin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On a Windows based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.)&lt;br /&gt;
&lt;br /&gt;
=== Debugging TeX filter ===&lt;br /&gt;
&lt;br /&gt;
The TeX filter has a debugging script (which will be much more helpful if you turn moodle debugging on) included that should help if you are having problems. The URL will be as follows...&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://your.moodle.path/filter/tex/texdebug.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. There are a number of options and suggestions to facilitate debugging the filter. Note that options for the latex/ghostscript versions are only provided from Moodle version 1.8.3.&lt;br /&gt;
&lt;br /&gt;
=== Mimetex on Debian based systems ===&lt;br /&gt;
&lt;br /&gt;
For some reason, the mimetex file that comes with Moodle doesn&#039;t work on Debian based systems (like Debian, Ubuntu, ...).&lt;br /&gt;
What works is installing Mimetex and Ghostscript on your server as Debian package (needs to be executed as root):&lt;br /&gt;
&lt;br /&gt;
 apt-get install tetex-extra mimetex gs&lt;br /&gt;
&lt;br /&gt;
Move your old mimetex file away&lt;br /&gt;
&lt;br /&gt;
 mv /var/www/moodle/filter/tex/mimetex.linux /var/www/moodle/filter/tex/mimetex.linux.old &lt;br /&gt;
&lt;br /&gt;
Make a symbolic link to the mimetex file, installed by the debian installer&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/bin/mimetex /var/www/moodle/filter/tex/mimetex.linux&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Filters]]&lt;br /&gt;
* [http://moodle.org/mod/glossary/view.php?id=2739&amp;amp;mode=letter&amp;amp;hook=M&amp;amp;sortkey=CREATION&amp;amp;sortorder=asc  TeX Filter Glossary] - a [[Glossary|glossary]] you can add to your course which details usage of the supported [[TeX notation]].&lt;br /&gt;
* [http://www.latex-project.org/ LaTeX] - the LaTeX document preparation system.&lt;br /&gt;
* [http://www.ghostscript.com/ ghostscript] - required to render the image&lt;br /&gt;
* [http://www.forkosh.com/mimetexmanual.html MimeTeX Manual] - Default TeX notation manual&lt;br /&gt;
* [http://www.miktex.org/ MikTeX] - LaTeX for Windows systems&lt;br /&gt;
* [http://www.imagemagick.org/script/index.php ImageMagick] - required to render images for Windows&lt;br /&gt;
* [[Using TeX Notation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Filter]]&lt;br /&gt;
[[Category:Mathematics]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=TeX_notation_filter&amp;diff=73968</id>
		<title>TeX notation filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=TeX_notation_filter&amp;diff=73968"/>
		<updated>2010-07-16T21:51:02Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* MimeTeX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location: TeX Notation settings link in &#039;&#039;Administration &amp;gt; Modules &amp;gt; Filters &amp;gt; Manage filters&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF images. The filter relies on three binaries to accomplish this for expressions contained between appropirate tokens.  Where these binaries are not available,  Moodle provides for a fallback through the use of  Mimetex. Versions of MimeTex for Linux (glib2.3), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on [[Mathematics]] tools for a discussion.)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Methods ===&lt;br /&gt;
&lt;br /&gt;
To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present,  though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX.  A number of different builds are included in the Moodle distribution for popular operating systems,  though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
&lt;br /&gt;
Before doing anything else, you need to go to &#039;&#039;&#039;Administration &amp;gt; Filters &amp;gt; Manage Filters&#039;&#039;&#039; and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a &amp;quot;front end&amp;quot; to the Tex filter,  you should also turn on the Algebra filter.  For more information on the Algebra Filter see the [[algebra filter]]&lt;br /&gt;
&lt;br /&gt;
Once the filter is turned on and properly configured you can make use of it by&lt;br /&gt;
including a TeX expression delimited by double-dollar signs. Example:&lt;br /&gt;
 &lt;br /&gt;
    $$ \sqrt{x + y} $$&lt;br /&gt;
&lt;br /&gt;
If this does not display properly, see the information on debugging.&lt;br /&gt;
&lt;br /&gt;
=== MimeTeX ===&lt;br /&gt;
&lt;br /&gt;
Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) as a fallback if it can&#039;t properly access dvips, convert and latex binaries. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. &lt;br /&gt;
&lt;br /&gt;
Windows Users need to download and install at least two other programs, a TeX editing program, MikTeX is one, and a image generating program, either GhostScript or Image Magick, to use a TeX filter, but the fallback of MimeTeX appears to be sufficient to at least get started. &lt;br /&gt;
&lt;br /&gt;
The [http://www.forkosh.com/mimetexmanual.html MimeTeX manual] is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment.&lt;br /&gt;
&lt;br /&gt;
[[Using TeX Notation]] offers additional information on using the Moodle core Tex filter.&lt;br /&gt;
&lt;br /&gt;
=== Settings Page ===&lt;br /&gt;
&lt;br /&gt;
The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found).&lt;br /&gt;
&lt;br /&gt;
==== Installing the binaries ====&lt;br /&gt;
&lt;br /&gt;
This depends on your platform, but for a typical Linux install you are going to need a latex implementation (e.g. tetex) and the convert binary (e.g, from ImageMagick). A typical command - in this case for Ubuntu - that installs everything you need would look something like:&lt;br /&gt;
&lt;br /&gt;
    apt-get install tetex-base tetex-bin tetex-extra imagemagick ghostscript&lt;br /&gt;
&lt;br /&gt;
On newer versions of Ubuntu, tetex has been replaced by &#039;&#039;&#039;texlive&#039;&#039;&#039;. You may need to experiment a bit (for example, ImageMagick doesn&#039;t seem to work properly on Solaris but Ghostscript does). If you find the combination that works for your system kindly add the info to this page! On Windows however, ImageMagic seems to work as it should with &#039;&#039;&#039;teXLive&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== LaTeX preamble ====&lt;br /&gt;
&lt;br /&gt;
Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-latin character sets etc. Please see the LaTeX documentation for further details.&lt;br /&gt;
&lt;br /&gt;
==== Transparent colour ====&lt;br /&gt;
&lt;br /&gt;
This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). &lt;br /&gt;
&lt;br /&gt;
==== Density ====&lt;br /&gt;
&lt;br /&gt;
This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of  reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered.&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;latex&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard latex binary.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/texbin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;dvips&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard dvips binary - generally distributed as part of a LaTeX system.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/texbin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Windows using MikTeX is is usually something like C:\texmf\miktex\bin\dvips.exe&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;convert&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard convert binary. This is distributed as part of the Ghostscript system, or ImageMagick in Linux.&lt;br /&gt;
&lt;br /&gt;
A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/local/bin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On a Windows based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.)&lt;br /&gt;
&lt;br /&gt;
=== Debugging TeX filter ===&lt;br /&gt;
&lt;br /&gt;
The TeX filter has a debugging script (which will be much more helpful if you turn moodle debugging on) included that should help if you are having problems. The URL will be as follows...&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://your.moodle.path/filter/tex/texdebug.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. There are a number of options and suggestions to facilitate debugging the filter. Note that options for the latex/ghostscript versions are only provided from Moodle version 1.8.3.&lt;br /&gt;
&lt;br /&gt;
=== Mimetex on Debian based systems ===&lt;br /&gt;
&lt;br /&gt;
For some reason, the mimetex file that comes with Moodle doesn&#039;t work on Debian based systems (like Debian, Ubuntu, ...).&lt;br /&gt;
What works is installing Mimetex and Ghostscript on your server as Debian package (needs to be executed as root):&lt;br /&gt;
&lt;br /&gt;
 apt-get install tetex-extra mimetex gs&lt;br /&gt;
&lt;br /&gt;
Move your old mimetex file away&lt;br /&gt;
&lt;br /&gt;
 mv /var/www/moodle/filter/tex/mimetex.linux /var/www/moodle/filter/tex/mimetex.linux.old &lt;br /&gt;
&lt;br /&gt;
Make a symbolic link to the mimetex file, installed by the debian installer&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/bin/mimetex /var/www/moodle/filter/tex/mimetex.linux&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Filters]]&lt;br /&gt;
* [http://moodle.org/mod/glossary/view.php?id=2739&amp;amp;mode=letter&amp;amp;hook=M&amp;amp;sortkey=CREATION&amp;amp;sortorder=asc  TeX Filter Glossary] - a [[Glossary|glossary]] you can add to your course which details usage of the supported [[TeX notation]].&lt;br /&gt;
* [http://www.latex-project.org/ LaTeX] - the LaTeX document preparation system.&lt;br /&gt;
* [http://www.ghostscript.com/ ghostscript] - required to render the image&lt;br /&gt;
* [http://www.forkosh.com/mimetexmanual.html MimeTeX Manual] - Default TeX notation manual&lt;br /&gt;
* [http://www.miktex.org/ MikTeX] - LaTeX for Windows systems&lt;br /&gt;
* [http://www.imagemagick.org/script/index.php ImageMagick] - required to render images for Windows&lt;br /&gt;
* [[Using TeX Notation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Filter]]&lt;br /&gt;
[[Category:Mathematics]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=TeX_notation_filter&amp;diff=73967</id>
		<title>TeX notation filter</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=TeX_notation_filter&amp;diff=73967"/>
		<updated>2010-07-16T21:49:39Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Location: TeX Notation settings link in &#039;&#039;Administration &amp;gt; Modules &amp;gt; Filters &amp;gt; Manage filters&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The TeX Filter is a core Moodle filter intended to allow one to convert tex expressions into GIF images. The filter relies on three binaries to accomplish this for expressions contained between appropirate tokens.  Where these binaries are not available,  Moodle provides for a fallback through the use of  Mimetex. Versions of MimeTex for Linux (glib2.3), Windows, Mac OS X and FreeBSD are included in the Moodle distribution. There are other technologies available for displaying Tex (see the section on [[Mathematics]] tools for a discussion.)  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Methods ===&lt;br /&gt;
&lt;br /&gt;
To avoid confusion you should note that the TeX filter has two separate methods for converting the TeX notation to images. The preferred method is a collection of three binaries that you are responsible for installing (if they are not already present,  though many webhosts make these available) and configuring on your server. The filter settings page relates entirely to this method. If this fails for any reason the filter will fall back to a single binary - MimeTeX.  A number of different builds are included in the Moodle distribution for popular operating systems,  though Mimetex and its bigger brother, MathTex are easy enough to compile and install if you have systems administration experience.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
&lt;br /&gt;
Before doing anything else, you need to go to &#039;&#039;&#039;Administration &amp;gt; Filters &amp;gt; Manage Filters&#039;&#039;&#039; and activate the TeX Notation Filter. If you want to use the Algebra filter (another core filter) since the Algebra Filter is really only a &amp;quot;front end&amp;quot; to the Tex filter,  you should also turn on the Algebra filter.  For more information on the Algebra Filter see the [[algebra filter]]&lt;br /&gt;
&lt;br /&gt;
Once the filter is turned on and properly configured you can make use of it by&lt;br /&gt;
including a TeX expression delimited by double-dollar signs. Example:&lt;br /&gt;
 &lt;br /&gt;
    $$ \sqrt{x + y} $$&lt;br /&gt;
&lt;br /&gt;
If this does not display properly, see the information on debugging.&lt;br /&gt;
&lt;br /&gt;
=== MimeTeX ===&lt;br /&gt;
&lt;br /&gt;
Moodle may use a pre-built MimeTeX binary (located in the filters/tex directory) if it can&#039;t properly access dvips, convert and latex binaries as a  &amp;quot;fallback&amp;quot;. There are a number of different versions for different operating systems. The TeX filter picks the appropriate binary for the detected host operating system (you will need to hack the script if your operating system is not included). Note that your web server needs to be set up with appropriate permissions for running binaries in that location. &lt;br /&gt;
&lt;br /&gt;
Windows Users need to download and install at least two other programs, a TeX editing program, MikTeX is one, and a image generating program, either GhostScript or Image Magick, to use a TeX filter, but the fallback of MimeTeX appears to be sufficient to at least get started. &lt;br /&gt;
&lt;br /&gt;
The [http://www.forkosh.com/mimetexmanual.html MimeTeX manual] is available but is arguably intended for persons with systems administration experience and does not specifically address the Moodle environment.&lt;br /&gt;
&lt;br /&gt;
[[Using TeX Notation]] offers additional information on using the Moodle core Tex filter.&lt;br /&gt;
&lt;br /&gt;
=== Settings Page ===&lt;br /&gt;
&lt;br /&gt;
The TeX filter settings page are primarily intended to adjust the operation of the LaTeX renderer. The defaults for the three path settings are selected according to the detection of the operating system on which Moodle is running. These are simply suggested common values - Moodle does not check that the binaries actually exist at these locations. More recent versions of Moodle show a green tick or a red cross next to the path setting - this shows that the binary exists at that location (only). The settings have no effect on the operation of the MimeTex binary (used if any of these binaries are not found).&lt;br /&gt;
&lt;br /&gt;
==== Installing the binaries ====&lt;br /&gt;
&lt;br /&gt;
This depends on your platform, but for a typical Linux install you are going to need a latex implementation (e.g. tetex) and the convert binary (e.g, from ImageMagick). A typical command - in this case for Ubuntu - that installs everything you need would look something like:&lt;br /&gt;
&lt;br /&gt;
    apt-get install tetex-base tetex-bin tetex-extra imagemagick ghostscript&lt;br /&gt;
&lt;br /&gt;
On newer versions of Ubuntu, tetex has been replaced by &#039;&#039;&#039;texlive&#039;&#039;&#039;. You may need to experiment a bit (for example, ImageMagick doesn&#039;t seem to work properly on Solaris but Ghostscript does). If you find the combination that works for your system kindly add the info to this page! On Windows however, ImageMagic seems to work as it should with &#039;&#039;&#039;teXLive&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== LaTeX preamble ====&lt;br /&gt;
&lt;br /&gt;
Enables the LaTeX preamble to be specified. The default should work for most users, but you may need to change it to support non-latin character sets etc. Please see the LaTeX documentation for further details.&lt;br /&gt;
&lt;br /&gt;
==== Transparent colour ====&lt;br /&gt;
&lt;br /&gt;
This should be set to your normal text background colour. The default setting is #FFFFFF (i.e., white). &lt;br /&gt;
&lt;br /&gt;
==== Density ====&lt;br /&gt;
&lt;br /&gt;
This setting effects the size of the resulting image. The default setting is 120 pixels, and it produces an image of  reasonable quality, but for some complicated equations, this still may not be enough. It may be that anything less is not going to produce an image of sufficient quality but the image size can be controlled by the TeX encoding when the page is rendered.&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;latex&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard latex binary.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/texbin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In Windows, using MiKTeX, it is usually something like C:\texmf\miktex\bin\latex.exe&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;dvips&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard dvips binary - generally distributed as part of a LaTeX system.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/texbin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On Windows using MikTeX is is usually something like C:\texmf\miktex\bin\dvips.exe&lt;br /&gt;
&lt;br /&gt;
==== Path of &#039;&#039;convert&#039;&#039; binary ====&lt;br /&gt;
&lt;br /&gt;
Path to standard convert binary. This is distributed as part of the Ghostscript system, or ImageMagick in Linux.&lt;br /&gt;
&lt;br /&gt;
A simple check is made to establish if the binaries exist at the given paths. A tick or a cross is displayed alongside each as a result. Note that this does not check that the application actually works, just that it is there.&lt;br /&gt;
&lt;br /&gt;
On a MacOS X, the path is &amp;quot;/usr/local/bin/&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On a Windows based PC the path is something like C:\Program Files\ImageMagick\convert.exe (for ImageMagick, but something else for GhostScript.)&lt;br /&gt;
&lt;br /&gt;
=== Debugging TeX filter ===&lt;br /&gt;
&lt;br /&gt;
The TeX filter has a debugging script (which will be much more helpful if you turn moodle debugging on) included that should help if you are having problems. The URL will be as follows...&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://your.moodle.path/filter/tex/texdebug.php&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can either enter this path explicitly or with appropriate role permissions the TeX images (or more likely incorrectly rendered text, if you need debugging) will link to this. There are a number of options and suggestions to facilitate debugging the filter. Note that options for the latex/ghostscript versions are only provided from Moodle version 1.8.3.&lt;br /&gt;
&lt;br /&gt;
=== Mimetex on Debian based systems ===&lt;br /&gt;
&lt;br /&gt;
For some reason, the mimetex file that comes with Moodle doesn&#039;t work on Debian based systems (like Debian, Ubuntu, ...).&lt;br /&gt;
What works is installing Mimetex and Ghostscript on your server as Debian package (needs to be executed as root):&lt;br /&gt;
&lt;br /&gt;
 apt-get install tetex-extra mimetex gs&lt;br /&gt;
&lt;br /&gt;
Move your old mimetex file away&lt;br /&gt;
&lt;br /&gt;
 mv /var/www/moodle/filter/tex/mimetex.linux /var/www/moodle/filter/tex/mimetex.linux.old &lt;br /&gt;
&lt;br /&gt;
Make a symbolic link to the mimetex file, installed by the debian installer&lt;br /&gt;
&lt;br /&gt;
 ln -s /usr/bin/mimetex /var/www/moodle/filter/tex/mimetex.linux&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Filters]]&lt;br /&gt;
* [http://moodle.org/mod/glossary/view.php?id=2739&amp;amp;mode=letter&amp;amp;hook=M&amp;amp;sortkey=CREATION&amp;amp;sortorder=asc  TeX Filter Glossary] - a [[Glossary|glossary]] you can add to your course which details usage of the supported [[TeX notation]].&lt;br /&gt;
* [http://www.latex-project.org/ LaTeX] - the LaTeX document preparation system.&lt;br /&gt;
* [http://www.ghostscript.com/ ghostscript] - required to render the image&lt;br /&gt;
* [http://www.forkosh.com/mimetexmanual.html MimeTeX Manual] - Default TeX notation manual&lt;br /&gt;
* [http://www.miktex.org/ MikTeX] - LaTeX for Windows systems&lt;br /&gt;
* [http://www.imagemagick.org/script/index.php ImageMagick] - required to render images for Windows&lt;br /&gt;
* [[Using TeX Notation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Filter]]&lt;br /&gt;
[[Category:Mathematics]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=73966</id>
		<title>Using TeX Notation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/39/en/index.php?title=Using_TeX_Notation&amp;diff=73966"/>
		<updated>2010-07-16T21:47:01Z</updated>

		<summary type="html">&lt;p&gt;Net-buoy: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While there are quite a few notational systems employed for the purpose of representing Math notation, as noted in the discussion of the [[TeX filter]] Moodle core provides a Tex filter that can be configured to display a gif representation of a Tex expression delimited by double dollar signs.  Failing that, the Moodle Tex filter falls back to the use of MimeTex. However, the core TeX filter is not the only way to display Tex expressions in Moodle and the discussion of [[Mathematics]] tools address a variety of other solutions.  Additionally,  the results obtained from the Moodle filter are dependent on the Tex binaries you have installed. &lt;br /&gt;
&lt;br /&gt;
If you choose to display Math in Moodle via Tex expressions,  you have to understand that that there are quite a few &amp;quot;flavors&amp;quot;  in the Tex world, and what may work in one Tex implementation,  may not work in another. Probably one of the most useful tools for using Tex in Moodle (or elsewhere for that matter),  is [[Dragmath]] which will allow you to use a GUI constructor to build your expression,  and then insert it in the format you choose.&lt;br /&gt;
&lt;br /&gt;
These docs now use [http://www.tug.org/texlive/doc/texlive-en/texlive-en.html Tex Live], though your Moodle installation may not.  Some of the frustration for Moodle users is that the Moodle filter does not implement a full LaTex environment (see the discussion of mode below.) &lt;br /&gt;
&lt;br /&gt;
==TeX Notation in Moodle==&lt;br /&gt;
&lt;br /&gt;
For the most part, the TeX Notation has been built using a sub-set of characters from the TeX &amp;quot;default&amp;quot; character set. The trouble is there does not seem to be a &amp;quot;default&amp;quot; character set for TeX. This is one of the most confusing aspects of using TeX Notation in Moodle. When we realise that the documentation we are using is related to the creation of printed documents, and we want to use TeX on line, in Moodle, then further problems occur. There are no environment statements to be made. There are no \begins and \ends. If you go to Administration &amp;gt; Modules &amp;gt; Filters &amp;gt; Filter Manager you will see what filters have been enabled. If you then go to the TeX Notation page, the default preamble is written there and is editable via the text box. You can add in or subtract font packages. You can change the default font package. The issue here also seems to be that to use other fonts you need to install a full TeX notation system other than the TeX Notation system for the fonts to change. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A precise, i.e. simple, description of how to do that would be nice here..:)&#039;&#039;     &lt;br /&gt;
&lt;br /&gt;
Which would, if clearer, provide a nice little tool for developing local strategies for responding to your student needs.&lt;br /&gt;
&lt;br /&gt;
==Language Conventions== &lt;br /&gt;
&lt;br /&gt;
To invoke the TeX filter is to use the $$ symbols to open and close statements. To invoke a particular command or control sequence, use the backslash, \. A typical control sequence looks like: &lt;br /&gt;
&lt;br /&gt;
  $$ x \ = \ \frac{\sqrt{144}}{2} \ \times \ (y \ + \ 12) $$  &lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[Image: cfmimetex10.gif|frame|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Fraction and square root.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Additional spaces are placed into the equation by using the \ without a leading or trailing character. Escape characters, of which there are a few in Moodle&#039;s TeX Notation, have the \ in front of them. These are usually set aside for reserved characters.&lt;br /&gt;
&lt;br /&gt;
==Available Characters==&lt;br /&gt;
There seems to be a number of differences between what characters are available in Moodle and what are not. There also seems to be great discrepancies between what the manuals tell you is available and what actually is available. [[Using TeX Notation 2]] shows a lot of what is available, but not all.&lt;br /&gt;
&lt;br /&gt;
==Windows and TeX==&lt;br /&gt;
&lt;br /&gt;
Using TeX in Windows is simpler than it used to be. Download and install a TeX for Windows program, like [http://www.miktex.org/ MikTeX]. (MikTeX is probably the most useful at this point in time for Windows Users.) Also, a graphics package is required for rendering the scripted TeX statements into images, and probably the most readily available and easily installable program useful for this purpose would be [http://www.imagemagick.org/script/index.php ImageMagick]. While there may be better programs available for these purposes, these are the most immediately useful. They are easily installed and configured.   &lt;br /&gt;
&lt;br /&gt;
==Reserved Characters and Keywords==&lt;br /&gt;
&lt;br /&gt;
Most characters and numbers on the keyboard can be used at their default value. As with any computing language, though, there are a set of reserved characters and keywords that are used by the program for its own purposes. TeX Notation is no different, but it does have a very small set of Reserved Characters. This will not be a complete list of reserved characters, but some of these are: &lt;br /&gt;
&lt;br /&gt;
  @ # $ % ^ &amp;amp; * ( ) . &lt;br /&gt;
&lt;br /&gt;
To use these characters in an equation just place the \ in front of them \$ or \%. If you want to use the backslash, just use \backslash. The only exception here seems to be the &amp;amp;, ampersand. See the characters listed in [[Using TeX Notation 2]] for more details.&lt;br /&gt;
&lt;br /&gt;
The Keywords, they are different. There is only one that is of concern here and that it the word &amp;quot;line&amp;quot;. If the \line control sequence, or command, is not properly implemented, then the consequences can be indeterminate. Controlling lines is an adventure of its own, so getting it right when written is important, you can always reposition the line, but you might get it really wrong if you do not use it with some caution. To use the \line control sequence, go to your text editor, open the filter\lib.php file, and at about line 48, you will see the word &amp;quot;\line&amp;quot;. Delete it from the list. If you do not have direct access to the server, then the whole thing becomes problematic. You may want to download and install your own Moodle and develop things there rather than on your production site. You can write things out in your own Moodle, render the statement, save the image and then upload it to your production site. If something goes seriously wrong, it is easier to restart your own Moodle than it is your production site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING:&#039;&#039;&#039; If you get a dimension wrong on a line, it can actually prevent you from creating any new TeX. You will see the offending control sequence in its natural state. Everything that you have written to that point will work, but nothing you have written after that will.&lt;br /&gt;
&lt;br /&gt;
==Maths Mode==&lt;br /&gt;
A full TeX version has two modes, a &amp;quot;text mode&amp;quot; and a &amp;quot;maths mode&amp;quot; and Moodle stays in maths mode. Perhaps a better description of what happens is that Moodle allows a writer to enter maths mode when the $$ symbols are written and leave it when the $$ symbol appears a second time.&lt;br /&gt;
&lt;br /&gt;
==Superscripts, Subscripts and Roots==&lt;br /&gt;
&lt;br /&gt;
Superscripts are recorded using the caret, ^, symbol. An example for a Maths class might be: &lt;br /&gt;
&lt;br /&gt;
  $$ 4^2 \ \times \ 4^3 \ = 4^5 $$&lt;br /&gt;
  This is a shorthand way of saying: &lt;br /&gt;
  (4 x 4) x (4 x 4 x 4) = (4 x 4 x 4 x 4 x 4)&lt;br /&gt;
  or&lt;br /&gt;
  16 x 64 = 1024.&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;4^2 \ \times \ 4^3 \ = 4^5&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Subscripts are similar, but use the underscore character. &lt;br /&gt;
&lt;br /&gt;
  $$ 3x_2 \ \times \ 2x_3 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;3x_2 \ \times \ 2x_3&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is OK if you want superscripts or subscripts, but square roots are a little different. This uses a control sequence. &lt;br /&gt;
&lt;br /&gt;
  $$ \sqrt{64} \ = \ 8 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;\sqrt{64} \ = \ 8&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also take this a little further, but adding in a control character. You may ask a question like: &lt;br /&gt;
&lt;br /&gt;
  $$ If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n? $$  &lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;If \ \sqrt[n]{1024} \ = \ 4, \ what \ is \ the \ value \ of \ n?&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Using these different commands allows you to develop equations like: &lt;br /&gt;
&lt;br /&gt;
  $$ The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024 $$&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;math&amp;gt;The \sqrt{64} \ \times \ 2 \ \times \ 4^3 \ = \ 1024&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fractions==&lt;br /&gt;
&lt;br /&gt;
Fractions in TeX are actually simple, as long as you remember the rules.&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{numerator}{denominator} $$ which produces &amp;lt;math&amp;gt;\frac{numerator}{denominator}&amp;lt;/math&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
This can be given as:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;math&amp;gt;\frac{5}{10} \ is \ equal \ to \ \frac{1}{2}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This is entered as:&lt;br /&gt;
&lt;br /&gt;
  $$ \frac{5}{10} \ is \ equal \ to \ \frac{1}{2}.$$&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Using TeX Notation 2]]&lt;br /&gt;
&lt;br /&gt;
* [[TeX notation filter]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;/div&gt;</summary>
		<author><name>Net-buoy</name></author>
	</entry>
</feed>