<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Colchambers</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Colchambers"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/Special:Contributions/Colchambers"/>
	<updated>2026-04-25T09:01:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38760</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38760"/>
		<updated>2013-04-05T09:50:19Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements MDL-37417&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = MDL-37417, code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.4}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] ([https://tracker.moodle.org/browse/MDL-30637 MDL-30637]). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical MDL-36534, MDL-36570, MDL-37466==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_grouped.jpg]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line MDL-37422==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38756</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38756"/>
		<updated>2013-04-05T09:43:58Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Expandable Sections MDL-30637 */ Removed references to our work. Included link to LUNS mdl bug&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements MDL-37417&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = MDL-37417, code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.4}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] ([https://tracker.moodle.org/browse/MDL-30637 MDL-30637]). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical MDL-36534, MDL-36570, MDL-37466==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_grouped.jpg]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line MDL-37422==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:choices_grouped.jpg&amp;diff=38755</id>
		<title>File:choices grouped.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:choices_grouped.jpg&amp;diff=38755"/>
		<updated>2013-04-05T09:38:35Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38754</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38754"/>
		<updated>2013-04-05T09:37:57Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Make the form sections more logical MDL-36534, MDL-36570, MDL-37466 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements MDL-37417&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = MDL-37417, code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.4}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical MDL-36534, MDL-36570, MDL-37466==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_grouped.jpg]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line MDL-37422==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38752</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38752"/>
		<updated>2013-04-05T09:29:12Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Make the form sections more logical MDL-36534, MDL-36570, MDL-37466 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements MDL-37417&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = MDL-37417, code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.4}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical MDL-36534, MDL-36570, MDL-37466==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_grouped.jpeg]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line MDL-37422==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:choices_grouped.jpeg&amp;diff=38751</id>
		<title>File:choices grouped.jpeg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:choices_grouped.jpeg&amp;diff=38751"/>
		<updated>2013-04-05T09:28:33Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: Example of question choice fields grouped together.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example of question choice fields grouped together.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38749</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38749"/>
		<updated>2013-04-05T09:24:14Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Always collapsed sections */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements MDL-37417&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = MDL-37417, code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.4}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical MDL-36534, MDL-36570, MDL-37466==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_grouped.png]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line MDL-37422==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38748</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=38748"/>
		<updated>2013-04-05T09:23:24Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Make the form sections more logical MDL-36534, MDL-36570, MDL-37466 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements MDL-37417&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = MDL-37417, code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.4}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
[[File:Example.jpg]]==Make the form sections more logical MDL-36534, MDL-36570, MDL-37466==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_grouped.png]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line MDL-37422==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37296</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37296"/>
		<updated>2013-01-21T11:23:14Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Group some fields on the same line */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements MDL-37417&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = MDL-37417, code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.4}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical MDL-36534, MDL-36570, MDL-37466==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_regrouped.png]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line MDL-37422==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37295</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37295"/>
		<updated>2013-01-21T11:22:46Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Make the form sections more logical MDL-36534, MDL-36570, MDL-37466, MDL-37422 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements MDL-37417&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = MDL-37417, code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.4}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical MDL-36534, MDL-36570, MDL-37466==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_regrouped.png]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37294</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37294"/>
		<updated>2013-01-21T11:17:59Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: Add mdl tracker number&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements MDL-37417&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = MDL-37417, code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.4}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical MDL-36534, MDL-36570, MDL-37466, MDL-37422==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_regrouped.png]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37293</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37293"/>
		<updated>2013-01-21T11:06:00Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Make the form sections more logical MDL-36534, 36570 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = TBA, but code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.3}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical MDL-36534, MDL-36570, MDL-37466, MDL-37422==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_regrouped.png]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37291</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37291"/>
		<updated>2013-01-21T11:03:26Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Make the form sections more logical */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = TBA, but code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.3}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical MDL-36534, 36570==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_regrouped.png]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37290</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37290"/>
		<updated>2013-01-21T11:01:17Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Pre-fill the combined feedback fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = TBA, but code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.3}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_regrouped.png]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields MDL-31726==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37289</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37289"/>
		<updated>2013-01-21T11:00:45Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Hide editing tools from some html fields */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = TBA, but code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.3}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_regrouped.png]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields MDL-32750==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37288</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=37288"/>
		<updated>2013-01-21T10:57:29Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Expandable Sections */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Question editing form improvements&lt;br /&gt;
|state = Prototype implemented, feedback wanted&lt;br /&gt;
|tracker = TBA, but code at https://github.com/timhunt/moodle/tree/qforms&lt;br /&gt;
|discussion = [http://moodle.org/mod/forum/discuss.php?d=175290 Quiz forum thread]&lt;br /&gt;
|assignee = Colin Chambers&lt;br /&gt;
}}&lt;br /&gt;
{{Moodle 2.3}}&lt;br /&gt;
&lt;br /&gt;
This page describes proposed improvements that have been done by Colin Chambers, with some input from Phil Butcher and Tim Hunt at the OU, so that is who is meant by &#039;we&#039; below. Note also that the screen-grabs are a mixture of the OU theme and the Moodle standard theme.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Many question type editing forms are long and unwieldy. The usability really needs to be improved, and so we have been experimenting with several ideas:&lt;br /&gt;
&lt;br /&gt;
# Making all sections of the forms collapsible.&lt;br /&gt;
# Re-grouping the elements on the forms into sections, so the collapsible sections are more useful.&lt;br /&gt;
# Grouping some fields onto the same line to save space. For example, putting answer, grade and tolerance on the same line for numerical questions.&lt;br /&gt;
# Hiding the editing tools for &#039;small&#039; html editors by default. For example for multiple choice choices. This saves a huge amount of space.&lt;br /&gt;
# Pre-filling the &#039;Overall feedback&#039; form fields with some standard text.&lt;br /&gt;
&lt;br /&gt;
Overall, we think we have made big improvements to the usability of these forms, but before such major changes could be made in Moodle, we need to know what everyone else thinks.&lt;br /&gt;
&lt;br /&gt;
If you have any more ideas for making things even better, please let us know.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Expandable Sections MDL-30637==&lt;br /&gt;
&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
We developed a solution (outlined below). So did LUNS [http://moodle.org/mod/forum/discuss.php?d=191549 LUNS implementation of the same thing] (MDL-30637). Great minds think alike!&lt;br /&gt;
&lt;br /&gt;
The functionality is almost identical. Their work is nearing integration and thus replaces our work. &lt;br /&gt;
&lt;br /&gt;
We&#039;re leaving the description of our work below for reference and in case the LUNS work isn&#039;t integrated. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===The subtleties about collapsing forms===&lt;br /&gt;
&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Required sections should be expanded by default====&lt;br /&gt;
&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
====Whether a section is expanded remembered as a user preference====&lt;br /&gt;
&lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Sections that contain a validation error expanded by default====&lt;br /&gt;
&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or errors are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections with validation errors are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====Always expanded sections==== &lt;br /&gt;
&lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section (more generally the first section of the form) is always expanded initially.&lt;br /&gt;
&lt;br /&gt;
====Always collapsed sections==== &lt;br /&gt;
&lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
As you can see, to makes things &amp;quot;just work the way you would naturally expect&amp;quot;, a lot of details have to be considered. We are still not sure we have got it quite right. There may be more tinkering to do.&lt;br /&gt;
&lt;br /&gt;
==Make the form sections more logical==&lt;br /&gt;
&lt;br /&gt;
Once you have collapsible sections of the form, it becomes really important that the sections of the form that you expand or collapse are logical units.&lt;br /&gt;
&lt;br /&gt;
In the past, for example, we had a separate section for each choice in multiple choice questions, or each unit in a numerical question. These sections are too small, so we merged them.&lt;br /&gt;
&lt;br /&gt;
Here is the new grouping on part of the numerical question type form:&lt;br /&gt;
&lt;br /&gt;
[[File:choices_regrouped.png]]&lt;br /&gt;
&lt;br /&gt;
And here is how the form used to look: (note that there was only space to show two choices in this screen-grab!)&lt;br /&gt;
&lt;br /&gt;
[[File:choices_original.png]]&lt;br /&gt;
&lt;br /&gt;
Obviously, the specific changes depend on each question type, but we followed a general principle. For a typical question type we now have the following sections on the form:&lt;br /&gt;
&lt;br /&gt;
* General - question text, general feedback, and any other settings like &#039;Shuffle answers&#039;&lt;br /&gt;
* Answers / Choices / ... - all together in one section, for those question types that have such things.&lt;br /&gt;
* Combined feedback - that is, the &#039;Feedback for any correct response&#039; etc. - for those question types that have this section.&lt;br /&gt;
* Settings for multiple tries - this now contains the penalty and all the hints.&lt;br /&gt;
* Tags - as currently, the last section on the form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Group some fields on the same line==&lt;br /&gt;
&lt;br /&gt;
This change is also visible in the previous section. The Answer, Grade and Accepted error are all on the same line. In fact the forms used to be like this way back in the days of Moodle &amp;lt;=1.7 and the fields got spread out in Moodle 1.8. The old arrangement seems like a better use of space, and Colin has finally tamed formslib to make that possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hide editing tools from some html fields==&lt;br /&gt;
&lt;br /&gt;
For &#039;small&#039; HTML editor, the HTML editor starts with the editing toolbar hidden:&lt;br /&gt;
&lt;br /&gt;
[[File:editorscollapsed.png]]&lt;br /&gt;
&lt;br /&gt;
You can click to reveal it if necessary:&lt;br /&gt;
&lt;br /&gt;
[[File:editorsexpanded.png]]&lt;br /&gt;
&lt;br /&gt;
At the moment this is implemented by having a &#039;whitelist&#039; of form elements on the question editing forms to apply this to. The question is, should we do this automatically throughout Moodle. For example, we could apply this to any HTML editor that was smaller than X px high? Or we could require a &#039;collapsible&#039; property to be set in the form definition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pre-fill the combined feedback fields==&lt;br /&gt;
&lt;br /&gt;
We would like to pre-fill the combined feedback fields as shown in this screen-grab.&lt;br /&gt;
&lt;br /&gt;
[[File:combinedfeedback.png]]&lt;br /&gt;
&lt;br /&gt;
This is a change that clearly makes sense for the OU, but may not be a good idea for anyone else. Note that these strings would be language strings, and so could be customised using Site administration ► Language ► Language customization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Questions==&lt;br /&gt;
&lt;br /&gt;
This is a summary of the questions posed above:&lt;br /&gt;
&lt;br /&gt;
# Do we want to make all sections of all forms collapsible in Moodle 2.3? If so, which bits of logic do we want?&lt;br /&gt;
## Auto-expand all sections with required fields?&lt;br /&gt;
## ... or just those where the required field is currently empty?&lt;br /&gt;
## Auto-expand any section containing a validation error? (We think this is obviously &#039;yes&#039;.)&lt;br /&gt;
## Always start with the first section of the form expanded?&lt;br /&gt;
## Are there other sections of forms which should always start expanded? If so, how do we mark them?&lt;br /&gt;
## Do we need the bit about user-preferences to remember which sections you had expanded last time?&lt;br /&gt;
# Any objection to re-grouping the fields into sections? (We think the new grouping is just better.)&lt;br /&gt;
# Any objection to grouping some fields on the same line? (Again, we think this is just better.)&lt;br /&gt;
# Is the collapsible editor a good idea?&lt;br /&gt;
## If so, to we apply it everywhere in Moodle?&lt;br /&gt;
## If so, how to we decide which editors to apply it to? By initial size? By requiring the form creator to add a class=&amp;quot;...&amp;quot; attribute to the form elements to modify?&lt;br /&gt;
# Is pre-filling the combined feedback fields a good idea?&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30844</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30844"/>
		<updated>2011-12-02T15:49:54Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Many question type editing forms are long and unwieldy. The biggest improvements we made were &lt;br /&gt;
#Expandable Sections&lt;br /&gt;
#Group similar fields. &lt;br /&gt;
#Expandable html editors&lt;br /&gt;
&lt;br /&gt;
Combined with smaller tweaks the forms are now much easier to understand and use. &lt;br /&gt;
&lt;br /&gt;
==Expandable Sections==&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
===Summary===&lt;br /&gt;
Each form is broken down into logical sections including:&lt;br /&gt;
#General&lt;br /&gt;
#Answers&lt;br /&gt;
#Units&lt;br /&gt;
#Multiple tries&lt;br /&gt;
&lt;br /&gt;
To simplify the form it helps to think of breaking it down into sections and focusing on one section at a time. This is what expandable sections allow. Each section of the form can now be collapsed or expanded exactly the same way this happens to blocks. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===Required Sections===&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
===Logic===&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Remembers section visibility==== &lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Default to expanded====&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or error are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====always expanded sections==== &lt;br /&gt;
Regardless of previous user preference the &#039;General&#039; section it will always load expanded&lt;br /&gt;
&lt;br /&gt;
====always collapsed sections==== &lt;br /&gt;
If no user preference is recorded the &#039;Combined feedback&#039; section will load collapsed. &lt;br /&gt;
&lt;br /&gt;
==Group similar fields==&lt;br /&gt;
==Expandable html editors==&lt;br /&gt;
 Ability to collapse and expand the editor of html text entry fields.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30843</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30843"/>
		<updated>2011-12-02T15:48:21Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Many question type editing forms are long and unwieldy. The biggest improvements we made were &lt;br /&gt;
#Expandable Sections&lt;br /&gt;
#Group similar fields. &lt;br /&gt;
#Expandable html editors&lt;br /&gt;
&lt;br /&gt;
Combined with smaller tweaks the forms are now much easier to understand and use. &lt;br /&gt;
&lt;br /&gt;
==Expandable Sections==&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
===Summary===&lt;br /&gt;
Each form is broken down into logical sections including:&lt;br /&gt;
#General&lt;br /&gt;
#Answers&lt;br /&gt;
#Units&lt;br /&gt;
#Multiple tries&lt;br /&gt;
&lt;br /&gt;
To simplify the form it helps to think of breaking it down into sections and focusing on one section at a time. This is what expandable sections allow. Each section of the form can now be collapsed or expanded exactly the same way this happens to blocks. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===Required Sections===&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
===Logic===&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Remembers section visibility==== &lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Default to expanded====&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or error are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====always expanded==== &lt;br /&gt;
#General section . Regardless of previous user choice it will always load expanded&lt;br /&gt;
#Combined feedback section default to collapsed. If no user preference is recorded will load collapsed. &lt;br /&gt;
&lt;br /&gt;
==Group similar fields==&lt;br /&gt;
==Expandable html editors==&lt;br /&gt;
 Ability to collapse and expand the editor of html text entry fields.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30842</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30842"/>
		<updated>2011-12-02T15:46:08Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Many question type editing forms are long and unwieldy. The biggest improvements we made were &lt;br /&gt;
#Expandable Sections&lt;br /&gt;
#Group similar fields. &lt;br /&gt;
#Expandable html editors&lt;br /&gt;
&lt;br /&gt;
Combined with smaller tweaks the forms are now much easier to understand and use. &lt;br /&gt;
&lt;br /&gt;
==Expandable Sections==&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
===Summary===&lt;br /&gt;
Each form is broken down into logical sections including:&lt;br /&gt;
#General&lt;br /&gt;
#Answers&lt;br /&gt;
#Units&lt;br /&gt;
#Multiple tries&lt;br /&gt;
&lt;br /&gt;
To simplify the form it helps to think of breaking it down into sections and focusing on one section at a time. This is what expandable sections allow. Each section of the form can now be collapsed or expanded exactly the same way this happens to blocks. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===Required Sections===&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
===Logic===&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
====Remembers section visibility=== &lt;br /&gt;
the collapsed or expanded state of each section is remembered for example if the answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. The type of question doesn&#039;t matter. &lt;br /&gt;
&lt;br /&gt;
====Default to expanded====&lt;br /&gt;
Remembering section visibility can cause issues. Particularly if sections with required fields or error are collapsed. You may not realise why you&#039;re having problems submitting a form. &lt;br /&gt;
&lt;br /&gt;
To prevent this problem all sections are expanded by default. They will also be expanded if they contain empty required fields or fields with errors. &lt;br /&gt;
&lt;br /&gt;
====always expanded &lt;br /&gt;
#General section . Regardless of previous user choice it will always load expanded&lt;br /&gt;
#Combined feedback section default to collapsed. If no user preference is recorded will load collapsed. &lt;br /&gt;
&lt;br /&gt;
==Group similar fields==&lt;br /&gt;
==Expandable html editors==&lt;br /&gt;
 Ability to collapse and expand the editor of html text entry fields.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30841</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30841"/>
		<updated>2011-12-02T15:32:28Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: Added logic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Many question type editing forms are long and unwieldy. The biggest improvements we made were &lt;br /&gt;
#Expandable Sections&lt;br /&gt;
#Group similar fields. &lt;br /&gt;
#Expandable html editors&lt;br /&gt;
&lt;br /&gt;
Combined with smaller tweaks the forms are now much easier to understand and use. &lt;br /&gt;
&lt;br /&gt;
==Expandable Sections==&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
===Summary===&lt;br /&gt;
Each form is broken down into logical sections including:&lt;br /&gt;
#General&lt;br /&gt;
#Answers&lt;br /&gt;
#Units&lt;br /&gt;
#Multiple tries&lt;br /&gt;
&lt;br /&gt;
To simplify the form it helps to think of breaking it down into sections and focusing on one section at a time. This is what expandable sections allow. Each section of the form can now be collapsed or expanded exactly the same way this happens to blocks. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===Required Sections===&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
This section contains a required field so a * appears after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
===Logic===&lt;br /&gt;
We could collapse all sections when the form loads but this wouldn&#039;t be very helpful. So we&#039;ve added some additional logic to set the form up for easy editing straight away. &lt;br /&gt;
&lt;br /&gt;
#Default to expanded: By default each section is expanded&lt;br /&gt;
#Remembers visibility preference: The last visibility setting of each section is remembered from one form to the next. So if answers section was collapsed last time you used a question editing form it will be collapsed for the next question editing form. &lt;br /&gt;
#General section always expanded. Regardless of previous user choice it will always load expanded&lt;br /&gt;
#Combined feedback section default to collapsed. If no user preference is recorded will load collapsed. &lt;br /&gt;
&lt;br /&gt;
==Group similar fields==&lt;br /&gt;
==Expandable html editors==&lt;br /&gt;
 Ability to collapse and expand the editor of html text entry fields.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30840</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30840"/>
		<updated>2011-12-02T15:20:02Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many question type editing forms are long and unwieldy. The biggest improvements we made were &lt;br /&gt;
#Expandable Sections&lt;br /&gt;
#Group similar fields. &lt;br /&gt;
#Expandable html editors&lt;br /&gt;
&lt;br /&gt;
Combined with smaller tweaks the forms are now much easier to understand and use. &lt;br /&gt;
&lt;br /&gt;
==Expandable Sections==&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
===Summary===&lt;br /&gt;
Each form is broken down into logical sections including:&lt;br /&gt;
#General&lt;br /&gt;
#Answers&lt;br /&gt;
#Units&lt;br /&gt;
#Multiple tries&lt;br /&gt;
&lt;br /&gt;
To simplify the form it helps to think of breaking it down into sections and focusing on one section at a time. This is what expandable sections allow. Each section of the form can now be collapsed or expanded exactly the same way this happens to blocks. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here. &lt;br /&gt;
&lt;br /&gt;
===Required Sections===&lt;br /&gt;
Collapsing a section can hide required form fields. So required sections are marked with *&lt;br /&gt;
&lt;br /&gt;
Fig 3. Required section collapsed&lt;br /&gt;
[[File:Required-collapsed.jpg]]&lt;br /&gt;
This section contains a required field so a * appear after its title.&lt;br /&gt;
&lt;br /&gt;
Fig 4. Required section expanded&lt;br /&gt;
[[File:Required-expanded.jpg]]&lt;br /&gt;
Expanding the section reveals the required field.&lt;br /&gt;
&lt;br /&gt;
==Group similar fields==&lt;br /&gt;
==Expandable html editors==&lt;br /&gt;
 Ability to collapse and expand the editor of html text entry fields.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:Required-collapsed.jpg&amp;diff=30839</id>
		<title>File:Required-collapsed.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:Required-collapsed.jpg&amp;diff=30839"/>
		<updated>2011-12-02T15:14:53Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: Question editing. Required section collapsed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Question editing. Required section collapsed&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:Required-expanded.jpg&amp;diff=30838</id>
		<title>File:Required-expanded.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:Required-expanded.jpg&amp;diff=30838"/>
		<updated>2011-12-02T15:14:12Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: Question editing required section expanded&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Question editing required section expanded&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30837</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30837"/>
		<updated>2011-12-02T15:06:17Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many question type editing forms are long and unwieldy. The biggest improvements we made were &lt;br /&gt;
#Expandable Sections&lt;br /&gt;
#Group similar fields. &lt;br /&gt;
#Expandable html editors&lt;br /&gt;
&lt;br /&gt;
Combined with smaller tweaks the forms are now much easier to understand and use. &lt;br /&gt;
&lt;br /&gt;
==Expandable Sections==&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
Each form is broken down into logical sections including:&lt;br /&gt;
#General&lt;br /&gt;
#Answers&lt;br /&gt;
#Units&lt;br /&gt;
#Multiple tries&lt;br /&gt;
&lt;br /&gt;
To simplify the form it helps to think of breaking it down into sections and focusing on one section at a time. This is what expandable sections allow. Each section of the form can now be collapsed or expanded exactly the same way this happens to blocks. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. All sections collapsed&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. &lt;br /&gt;
&lt;br /&gt;
Fig 2. Sections expanded&lt;br /&gt;
[[File:Toggles-expanded.jpg]]&lt;br /&gt;
You can expand only the sections you want to see. The answers section often takes up one or two screens. So it&#039;s collapsed here.  &lt;br /&gt;
&lt;br /&gt;
==Group similar fields==&lt;br /&gt;
==Expandable html editors==&lt;br /&gt;
 Ability to collapse and expand the editor of html text entry fields.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:Toggles-expanded.jpg&amp;diff=30836</id>
		<title>File:Toggles-expanded.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:Toggles-expanded.jpg&amp;diff=30836"/>
		<updated>2011-12-02T15:04:29Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: Question editing form sections expanded&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Question editing form sections expanded&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30835</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30835"/>
		<updated>2011-12-02T15:00:19Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: Added collapsed image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many question type editing forms are long and unwieldy. The biggest improvements we made were &lt;br /&gt;
#Expandable Sections&lt;br /&gt;
#Group similar fields. &lt;br /&gt;
#Expandable html editors&lt;br /&gt;
&lt;br /&gt;
Combined with smaller tweaks the forms are now much easier to understand and use. &lt;br /&gt;
&lt;br /&gt;
==Expandable Sections==&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
Each form is broken down into logical sections including:&lt;br /&gt;
#General&lt;br /&gt;
#Answers&lt;br /&gt;
#Units&lt;br /&gt;
#Multiple tries&lt;br /&gt;
&lt;br /&gt;
To simplify the form it helps to think of breaking it down into sections and focusing on one section at a time. This is what expandable sections allow. Each section of the form can now be collapsed or expanded exactly the same way this happens to blocks. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
Fig 1. Form with all sections collapsed&lt;br /&gt;
[[File:Toggles-collapsed.jpg]]&lt;br /&gt;
With all sections collapsed it&#039;s possible to see on one page all sections in the form and gauge its complexity. Then expand each section as you work through it. &lt;br /&gt;
&lt;br /&gt;
==Group similar fields==&lt;br /&gt;
==Expandable html editors==&lt;br /&gt;
 Ability to collapse and expand the editor of html text entry fields.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:Toggles-collapsed.jpg&amp;diff=30834</id>
		<title>File:Toggles-collapsed.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:Toggles-collapsed.jpg&amp;diff=30834"/>
		<updated>2011-12-02T14:57:33Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: Screenshot of section visibility toggling on question editing forms&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of section visibility toggling on question editing forms&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30833</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30833"/>
		<updated>2011-12-02T14:55:16Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: text for expandable sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many question type editing forms are long and unwieldy. The biggest improvements we made were &lt;br /&gt;
#Expandable Sections&lt;br /&gt;
#Group similar fields. &lt;br /&gt;
#Expandable html editors&lt;br /&gt;
&lt;br /&gt;
Combined with smaller tweaks the forms are now much easier to understand and use. &lt;br /&gt;
&lt;br /&gt;
==Expandable Sections==&lt;br /&gt;
This is the ability for the user to collapse and expand form sections.  &lt;br /&gt;
&lt;br /&gt;
Each form is broken down into logical sections including:&lt;br /&gt;
#General&lt;br /&gt;
#Answers&lt;br /&gt;
#Units&lt;br /&gt;
#Multiple tries&lt;br /&gt;
&lt;br /&gt;
To simplify the form it helps to think of breaking it down into sections and focusing on one section at a time. This is what expandable sections allow. Each section of the form can now be collapsed or expanded exactly the same way this happens to blocks. &lt;br /&gt;
&lt;br /&gt;
To the left of each section title a + or - icon controls the visibility of that particular section. The icon used indicates what will happen when it is clicked. - indicates the section will collapse. + indicates it will expand. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Group similar fields==&lt;br /&gt;
==Expandable html editors==&lt;br /&gt;
 Ability to collapse and expand the editor of html text entry fields.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30832</id>
		<title>Question editing form improvements</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Question_editing_form_improvements&amp;diff=30832"/>
		<updated>2011-12-02T14:45:56Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: Started intro structure&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many question type editing forms are long and unwieldy. The biggest improvements we made were &lt;br /&gt;
#Expandable Sections&lt;br /&gt;
#Group similar fields. &lt;br /&gt;
#Expandable html editors&lt;br /&gt;
&lt;br /&gt;
Combined with smaller tweaks the forms are now much easier to understand and use. &lt;br /&gt;
&lt;br /&gt;
==Expandable Sections==&lt;br /&gt;
Ability to collapse and expand form sections &lt;br /&gt;
==Group similar fields==&lt;br /&gt;
==Expandable html editors==&lt;br /&gt;
 Ability to collapse and expand the editor of html text entry fields.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7213</id>
		<title>Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7213"/>
		<updated>2009-03-05T08:59:38Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Offline Moodle is a joint project between the Open University (UK) and Intel. We presented our current developments at the Moodle Moot 2007 and were able to demonstrate a working proof of concept that downloads Moodle courses from a remote server on to a mobile device which runs an Offline version of Moodle. &lt;br /&gt;
&lt;br /&gt;
The Offline Moodle concept aims for simplicity in all aspects so a lot of thought has gone into ensuring it is as easy to develop and maintain as it is to use. We have a lot to say and will endeavour to add to this wiki as the project progresses. In the meantime please visit the other places that we have been using to get everyone involved and explain what we&#039;re trying to achieve. &lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
* [[Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Offline_Moodle_Create_Installer|Creating an Offline Moodle Installer]]&lt;br /&gt;
* [[Offline_Moodle: Incremental Backups|Work on Incremental Backups]]&lt;br /&gt;
&lt;br /&gt;
==Where can I find out more?==&lt;br /&gt;
The project was introduced to the Moodle community in the forums at http://moodle.org/mod/forum/discuss.php?d=71136&lt;br /&gt;
&lt;br /&gt;
A Moodle course has been set up at http://hawk.aos.ecu.edu/moodle2/course/view.php?id=22 as a central place to find out about current developments and get involved in the development process.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve just come across this fascinating article by Adobe on the [http://www.adobe.com/devnet/devices/articles/mobile_ecosystem.pdf current mobile environment]. The environment is constantly evolving and this is quite a recent and in depth exploration of the topic. I discovered it while reading about [http://www.jolongo.org/ Jolongo], another [http://moodle.org/mod/forum/discuss.php?d=98877#p437085 Offline Moodle] being developed by a team in Latin America.&lt;br /&gt;
&lt;br /&gt;
==Why do we need an offline version of Moodle?==&lt;br /&gt;
There are many opinions for and against an offline version. I put some of my thoughts into a blog article to put my thoughts in print and invite comments. &lt;br /&gt;
http://colchambers.blogspot.com/2008/06/is-offline-moodle-really-worth-hassle.html&lt;br /&gt;
&lt;br /&gt;
==Assumptions of Offline Moodle==&lt;br /&gt;
An Offline Moodle represents, among other things, significant security and privacy challenges. For this reason we have defined a set of assumptions we are using to guide our development to ensure the application and its supporting processes maintain a high level of security and privacy where appropriate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information from the client or the server must be verified and checked at all times before being used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Cross site scripting&lt;br /&gt;
*Trojans, viruses&lt;br /&gt;
*Machines altering data in the middle of it’s transfer&lt;br /&gt;
*Ip spoofing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Information must pass through filters before being sent or used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Data protection: passwords, contact details&lt;br /&gt;
*Copyright issues&lt;br /&gt;
*Security issues&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The host device must be able to run Offline Moodle with as little modification as necessary.&#039;&#039;&#039; Why?&lt;br /&gt;
*Ease of use: plug and play functionality leads to convenience and simplicity&lt;br /&gt;
*Ease of support: The less changes made the less there is to go wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Offline Moodle files must all be contained in one place.&#039;&#039;&#039; Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Offline Moodle runs in its own self contained environment.&#039;&#039;&#039; Why?&lt;br /&gt;
*users can make changes to their Offline Moodle and underlying files but this is at their own risk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very easy to backup and restore the entire Offline Moodle&#039;&#039;&#039;. Why?&lt;br /&gt;
*Protection of work stored in Offline Moodle&lt;br /&gt;
*Makes for a simple reinstall&lt;br /&gt;
*Portability of content&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple to reinstall.&#039;&#039;&#039; Why?&lt;br /&gt;
*Reduces support overhead&lt;br /&gt;
*Backup, reinstall, restore is simple for users to follow and fix issues themselves&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple for a helpdesk or faculty to support.&#039;&#039;&#039;&lt;br /&gt;
*To reduce support headaches the recommended procedure for the majority of technical issues should be backup existing data, reinstall Offline Moodle, restored data. &lt;br /&gt;
*Standard pre written Moodle documentation should be used to educate users on effective Moodle use. The need for extra documentation must be minimised.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8573</id>
		<title>Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8573"/>
		<updated>2009-01-26T09:33:52Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Create the Database and Assign a User */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating an Offline Moodle Environment=&lt;br /&gt;
This article is designed to help you replicate the Offline Moodle Environment that is being used within Offline Moodle. Currently we have focused on distributing to machines using the Windows operating system. In time we expect to add advice for other operating systems. We have tried to cover everything that&#039;s required to setup the entire environment so that this process it as simple as possible.&lt;br /&gt;
&lt;br /&gt;
==Source files==&lt;br /&gt;
The environment comprises the following libraries&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe obtained from:&lt;br /&gt;
* The XAMPP Apache, Mysql and PHP Environment can be obtained from [http://www.apachefriends.org/en/xampp-windows.html#646 http://www.apachefriends.org/en/xampp-windows.html#646]&lt;br /&gt;
* Moodle: moodle-1.9.zip latest version obtained from [http://download.moodle.org/windows/ http://download.moodle.org/windows/]&lt;br /&gt;
* Portable Menu: PStartSetup211.exe obtained from [http://www.pegtop.de/start/ http://www.pegtop.de/start/]&lt;br /&gt;
&lt;br /&gt;
==Create the Environment==&lt;br /&gt;
First of all you need to create an environment that meets the basic requirements of Moodle. This includes:&lt;br /&gt;
* A web server: To server internet files&lt;br /&gt;
* A database server: To handle data records&lt;br /&gt;
* A PHP distribution: Moodle runs under php so you need this installed. &lt;br /&gt;
&lt;br /&gt;
===Install The Architecture===&lt;br /&gt;
I could say install xampp because that&#039;s what we&#039;ll be doing but it&#039;s important to remember that xampp is simply a web server, database server and php distribution, among other things, that is freely available and works on different operating systems. There are other solutions you could use and we&#039;ve worked to ensure you could switch it to these instead of xampp if you so desired. &lt;br /&gt;
&lt;br /&gt;
Since we&#039;re using xampp the install is very simple. Just run the exe and chose where to unzip the files. No registry settings should be changed and no other operating system changes will be made. This is important to the overall concept of Offline Moodle in that it can be run from the folder it is unzipped to. All that you need to do is reconfigure xampp to recognise it&#039;s new location, thankfully a handle utility setup_xampp.bat does this for you so you just need to click it. Then start xampp with xampp_start.exe and xampp should start. If you&#039;re using windows xp you may notice firewall warnings. This is what firewalls do, basically xampp starting means a database and web server start. Each on needs to access the network and provide data over the network. That&#039;s why your firewall asks if this is ok with you. So just choose unblock when prompted. &lt;br /&gt;
&lt;br /&gt;
When prompted chose where to unzip the xampp files to. We&#039;ll choose c:\offline for this tutorial but I normally nest it much further where I&#039;m used to keeping project files. &lt;br /&gt;
&lt;br /&gt;
===Start the Architecture===&lt;br /&gt;
This should be as easy as explained above reconfigure xampp to recognise its new location using setup_xampp.bat and then start it using xampp_start.exe. When you want to stop it just use the corresponding xampp_stop.exe file. &lt;br /&gt;
&lt;br /&gt;
You&#039;ll get a black command prompt window pop up telling you xampp and it&#039;s services starting. Now open a web browser on your machine and type http://localhost into the address bar and press enter. You should be taken to the xampp home page. If you&#039;re not then wait a short while and try again in case xampp was still starting. If xampp won&#039;t start then check the xampp site for advice on how to fix the error. My main problem was forget to reconfigure it when I move the xampp folder or install it. &lt;br /&gt;
&lt;br /&gt;
So there you go. There is another way to get xampp running using the xampp-control.exe but I&#039;ll levave you to play around with that. At this point we&#039;re not planning to promote use of this in our Offline Moodle installs simply because it presents the webserver and database as separate applications. Which while correct we don&#039;t want users to have to worry about this complexity. We just want them to start and stop Offline Moodle as they would any application. &lt;br /&gt;
&lt;br /&gt;
===Secure XAMPP===&lt;br /&gt;
We have taken some small steps to secure the database and web server directories using standard approaches. Xampp makes this simple by providing a form to enter the required details. to reach this form choose security from the left hand menu then half way down the page should be a link http://localhost/security/xamppsecurity.php. Follow the link and enter the necessary values. &lt;br /&gt;
&lt;br /&gt;
we have left the default values in place and added passwords to the root accounts both for the database and web server directories. This won&#039;t affect access to the htdocs folder itself where Moodle runs from. It simply protects the xampp configuration that&#039;s accessible through a browser with the password you&#039;ve set. This protects your xampp installation from malicious users.&lt;br /&gt;
&lt;br /&gt;
==Install Moodle==&lt;br /&gt;
Now that we have a web server and database architecture working we need to install Moodle to get a VLE up and running. &lt;br /&gt;
&lt;br /&gt;
===Create the Database and Assign a User===&lt;br /&gt;
First we have to create a database within the database server for Moodle to reside in and then create a user with access to this database.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll assume you know how to run sql commands against the database to follow the next points.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
&lt;br /&gt;
Creates the moodle database&lt;br /&gt;
   create database `moodle` character set utf8;&lt;br /&gt;
&lt;br /&gt;
Creates the User and assigns permission to the database&lt;br /&gt;
   grant all on `moodle`.* to &#039;moodle&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;m00dl3&#039;;&lt;br /&gt;
&lt;br /&gt;
=== Unzip Moodle===&lt;br /&gt;
Unzip the Moodle installation to the folder c:\offline\htdocs\moodle&lt;br /&gt;
create the folder c:\offline\moodledata so Moodle knows where to store its data&lt;br /&gt;
&lt;br /&gt;
===Create the config file===&lt;br /&gt;
The first part of installing Moodle creates the configuration file which tells Moodle where it is on your device and what it can do. &lt;br /&gt;
&lt;br /&gt;
There are two ways to do this. We recommend the first step as it creates a file that references files relative to your moodle installation. The wizard unfortunately uses paths that are absolute. They point exactly to the location Moodle is installed. This means that if you copy the xampp folder to another machine you will have to change these paths in the config. &lt;br /&gt;
&lt;br /&gt;
if you do use the wizard then simply replace part of the file path for $CFG-&amp;gt;dirroot and $CFG-&amp;gt;dataroot with dirname(__FILE__) to let php determine where Moodle is installed and make it easy to move Offline Moodle around.&lt;br /&gt;
&lt;br /&gt;
the two processes are described here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create the file directly&lt;br /&gt;
create a file using the following values in the root of the moodle directory called config.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php  /// Moodle Configuration File &lt;br /&gt;
&lt;br /&gt;
unset($CFG);&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;dbtype    = &#039;mysql&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbhost    = &#039;localhost&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbname    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbuser    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpass    = &#039;m00dl3&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpersist =  false;&lt;br /&gt;
$CFG-&amp;gt;prefix    = &#039;mdl_&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;wwwroot   = &#039;http://localhost/moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dirroot   = dirname(__FILE__);&lt;br /&gt;
$CFG-&amp;gt;dataroot   = dirname(__FILE__).&#039;\\..\\..\\moodledata&#039;;&lt;br /&gt;
$CFG-&amp;gt;admin     = &#039;admin&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;directorypermissions = 00777;  // try 02777 on a server in Safe Mode&lt;br /&gt;
&lt;br /&gt;
require_once(&amp;quot;$CFG-&amp;gt;dirroot/lib/setup.php&amp;quot;);&lt;br /&gt;
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,&lt;br /&gt;
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Use the install wizard &lt;br /&gt;
Got to http://localhost.moodle&lt;br /&gt;
Enter the values from above as they are requested. Once the config file is created change the values for  $CFG-&amp;gt;dirroot and CFG-&amp;gt;dataroot as shown above to ensure they are dynamic paths that will work as the code is moved around. &lt;br /&gt;
&lt;br /&gt;
===Generate the Database tables and load data===&lt;br /&gt;
Now you&#039;re past the point of editing files. Everything from this point should be done through a web browser since php is now running, you have a database setup and Moodle knows where it is and which account to use. &lt;br /&gt;
In a web browser go to http://localhost/moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Here are the initial values we chose if you just want to copy and paste.&lt;br /&gt;
&lt;br /&gt;
====Setup up initial data====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
&lt;br /&gt;
====Front Page settings====&lt;br /&gt;
Full site name: Offline Moodle&lt;br /&gt;
Short name for site: OfflineMoodle&lt;br /&gt;
Front Page Description: Welcome to Offline Moodle&lt;br /&gt;
&lt;br /&gt;
====Setup session handling====&lt;br /&gt;
So that we don’t conflict with other moodles change the session to be unique.&lt;br /&gt;
Go to Server&amp;gt; Session Handling. In the Cookie prefix box enter ‘offlinemoodle’ and save changes. You will now have to log back in. &lt;br /&gt;
&lt;br /&gt;
====Add a student account====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create root support files&lt;br /&gt;
Pre configured help files&lt;br /&gt;
Readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
Help folder and contents&lt;br /&gt;
&lt;br /&gt;
==Improve Usability==&lt;br /&gt;
Now we should have a fully installed and working Moodle environment that can work from any folder you move it to. What we need to do now is make it a little easier for the average user to use. We&#039;re technical guys that know how to configure these things but many students and lecturers won&#039;t have our technical skills so we want to remove any barriers there are to them just starting there machine, clicking start Offline Moodle and clicking a shortcut that opens Offline Moodle in a  browser for them. Basically what are the fewest number of steps that we can achieve this in? &lt;br /&gt;
&lt;br /&gt;
We looked at ways to package up Offline Moodle into one file, create batch files that automate all the processes necessary to configure and start xampp each time and many other options but each, while possible, would require more time, effort and expertise than we currently have to devote. they would also add complexity to the approach we are taking. At this point we just decided to go for the simplest solutions of creating shortcuts and readme files and adding a portable menu since these are very simple to create and degrade gracefully across environments thus ensuring we cater for the lowest common denominator.&lt;br /&gt;
&lt;br /&gt;
===Internet Shortcuts===&lt;br /&gt;
Let&#039;s create a couple of shortcuts to save the user the trouble of typing urls. Once made the user just has to click these shortcuts to load a brwoser and see the site. That&#039;s two or three steps eliminated. &lt;br /&gt;
&lt;br /&gt;
There are many ways to create shortcuts and feel free to choose your own. I thought I show you how to create a shortcut directly since that&#039;s what you&#039;ll end up with and you&#039;ll have more control this way. &lt;br /&gt;
&lt;br /&gt;
Create a text file with the appropriate name and .url extension and open it in a text editor. Notepad, vim, eclipse, whatever.&lt;br /&gt;
add the following lines&lt;br /&gt;
&lt;br /&gt;
[InternetShortcut]&lt;br /&gt;
URL=http://localhost/moodle&lt;br /&gt;
&lt;br /&gt;
Save the file and double click it in the file system. You browser should open and go to the url. It&#039;s that simple. Or it is in windows XP. If it&#039;s different for other versions of windows then please let me know. &lt;br /&gt;
&lt;br /&gt;
We created the following files&lt;br /&gt;
Offline Moodle.url, URL=http://localhost/moodle &lt;br /&gt;
Offline Moodle at the Open University.url, URL=http://www.open.ac.uk/offlinemoodle&lt;br /&gt;
&lt;br /&gt;
The last link we created to give the user context of what Offline Moodle is. You&#039;ll probably want to create your own to guide your own users appropriately.&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
===Readme Files===&lt;br /&gt;
Following the practise of many application manufacturers we created an html readme file. this way it&#039;s more presentable than a plain text file and matches the web based approach of Moodle. &lt;br /&gt;
&lt;br /&gt;
We added the files &lt;br /&gt;
readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
&lt;br /&gt;
The full contents of these files are too large to add here and are changing as the project develops. The main contents of readme.htm cover basic points such as &lt;br /&gt;
    * Quick Start&lt;br /&gt;
    * Run On Another Machine&lt;br /&gt;
    * Troubleshooting&lt;br /&gt;
    * Improvements&lt;br /&gt;
    * Known Issues&lt;br /&gt;
&lt;br /&gt;
===Portable Menu===&lt;br /&gt;
The latest addition to the mix is to provide a portable menu system(Pegtop PStart) that provides easy access to key components of Offline Moodle. Thanks for identifying this feature go to John Attwood and Pete Simson who have been developing his own Portable Moodle application similar to Offline Moodle. You can read more at [http://hawk.aos.ecu.edu/moodle/mod/forum/discuss.php?d=141 http://hawk.aos.ecu.edu/moodle/mod/forum/discuss.php?d=141].&lt;br /&gt;
&lt;br /&gt;
Again the xml config file the portable menu creates is too large to add here. The links are extremely easy to create within the menu itself and you&#039;ll probably want to customise it to your needs.&lt;br /&gt;
&lt;br /&gt;
The main links we have included so far are:&lt;br /&gt;
* readme: links to readme.htm&lt;br /&gt;
* Offline Moodle: Links to the Offline Moodle.url shortcut created earlier&lt;br /&gt;
* Start Offline Moodle: Links to the file xampp_start.exe &lt;br /&gt;
* Stop Offline Moodle: Links to the file xampp_stop.exe &lt;br /&gt;
* Reconfigure Offline Moodle: Links to the file setup_xampp.bat &lt;br /&gt;
&lt;br /&gt;
We also added a group named &#039;resources&#039; to contain links to extra components that may come in useful such as:&lt;br /&gt;
* Restart Offline Moodle: Links to the file xampp_restart.exe&lt;br /&gt;
* Is Offline Moodle Running?: Links to the file xampp-portcheck.exe&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7212</id>
		<title>Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7212"/>
		<updated>2008-06-23T09:22:16Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Offline Moodle is a joint project between the Open University (UK) and Intel. We presented our current developments at the Moodle Moot 2007 and were able to demonstrate a working proof of concept that downloads Moodle courses from a remote server on to a mobile device which runs an Offline version of Moodle. &lt;br /&gt;
&lt;br /&gt;
The Offline Moodle concept aims for simplicity in all aspects so a lot of thought has gone into ensuring it is as easy to develop and maintain as it is to use. We have a lot to say and will endeavour to add to this wiki as the project progresses. In the meantime please visit the other places that we have been using to get everyone involved and explain what we&#039;re trying to achieve. &lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
* [[Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Offline_Moodle_Create_Installer|Creating an Offline Moodle Installer]]&lt;br /&gt;
* [[Offline_Moodle: Incremental Backups|Work on Incremental Backups]]&lt;br /&gt;
&lt;br /&gt;
==Where can I find out more?==&lt;br /&gt;
The project was introduced to the Moodle community in the forums at http://moodle.org/mod/forum/discuss.php?d=71136&lt;br /&gt;
&lt;br /&gt;
A Moodle course has been set up at http://hawk.aos.ecu.edu/moodle/ as a central place to find out about current developments and get involved in the development process.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve just come across this fascinating article by Adobe on the [http://www.adobe.com/devnet/devices/articles/mobile_ecosystem.pdf current mobile environment]. The environment is constantly evolving and this is quite a recent and in depth exploration of the topic. I discovered it while reading about [http://www.jolongo.org/ Jolongo], another [http://moodle.org/mod/forum/discuss.php?d=98877#p437085 Offline Moodle] being developed by a team in Latin America.&lt;br /&gt;
&lt;br /&gt;
==Why do we need an offline version of Moodle?==&lt;br /&gt;
There are many opinions for and against an offline version. I put some of my thoughts into a blog article to put my thoughts in print and invite comments. &lt;br /&gt;
http://colchambers.blogspot.com/2008/06/is-offline-moodle-really-worth-hassle.html&lt;br /&gt;
&lt;br /&gt;
==Assumptions of Offline Moodle==&lt;br /&gt;
An Offline Moodle represents, among other things, significant security and privacy challenges. For this reason we have defined a set of assumptions we are using to guide our development to ensure the application and its supporting processes maintain a high level of security and privacy where appropriate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information from the client or the server must be verified and checked at all times before being used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Cross site scripting&lt;br /&gt;
*Trojans, viruses&lt;br /&gt;
*Machines altering data in the middle of it’s transfer&lt;br /&gt;
*Ip spoofing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Information must pass through filters before being sent or used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Data protection: passwords, contact details&lt;br /&gt;
*Copyright issues&lt;br /&gt;
*Security issues&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The host device must be able to run Offline Moodle with as little modification as necessary.&#039;&#039;&#039; Why?&lt;br /&gt;
*Ease of use: plug and play functionality leads to convenience and simplicity&lt;br /&gt;
*Ease of support: The less changes made the less there is to go wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Offline Moodle files must all be contained in one place.&#039;&#039;&#039; Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Offline Moodle runs in its own self contained environment.&#039;&#039;&#039; Why?&lt;br /&gt;
*users can make changes to their Offline Moodle and underlying files but this is at their own risk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very easy to backup and restore the entire Offline Moodle&#039;&#039;&#039;. Why?&lt;br /&gt;
*Protection of work stored in Offline Moodle&lt;br /&gt;
*Makes for a simple reinstall&lt;br /&gt;
*Portability of content&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple to reinstall.&#039;&#039;&#039; Why?&lt;br /&gt;
*Reduces support overhead&lt;br /&gt;
*Backup, reinstall, restore is simple for users to follow and fix issues themselves&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple for a helpdesk or faculty to support.&#039;&#039;&#039;&lt;br /&gt;
*To reduce support headaches the recommended procedure for the majority of technical issues should be backup existing data, reinstall Offline Moodle, restored data. &lt;br /&gt;
*Standard pre written Moodle documentation should be used to educate users on effective Moodle use. The need for extra documentation must be minimised.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7211</id>
		<title>Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7211"/>
		<updated>2008-06-09T09:55:30Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Where can I find out more? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Offline Moodle is a joint project between the Open University (UK) and Intel. We presented our current developments at the Moodle Moot 2007 and were able to demonstrate a working proof of concept that downloads Moodle courses from a remote server on to a mobile device which runs an Offline version of Moodle. &lt;br /&gt;
&lt;br /&gt;
The Offline Moodle concept aims for simplicity in all aspects so a lot of thought has gone into ensuring it is as easy to develop and maintain as it is to use. We have a lot to say and will endeavour to add to this wiki as the project progresses. In the meantime please visit the other places that we have been using to get everyone involved and explain what we&#039;re trying to achieve. &lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
* [[Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Offline_Moodle_Create_Installer|Creating an Offline Moodle Installer]]&lt;br /&gt;
* [[Offline_Moodle: Incremental Backups|Work on Incremental Backups]]&lt;br /&gt;
&lt;br /&gt;
==Where can I find out more?==&lt;br /&gt;
The project was introduced to the Moodle community in the forums at http://moodle.org/mod/forum/discuss.php?d=71136&lt;br /&gt;
&lt;br /&gt;
A Moodle course has been set up at http://hawk.aos.ecu.edu/moodle/ as a central place to find out about current developments and get involved in the development process.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve just come across this fascinating article by Adobe on the [http://www.adobe.com/devnet/devices/articles/mobile_ecosystem.pdf current mobile environment]. The environment is constantly evolving and this is quite a recent and in depth exploration of the topic. I discovered it while reading about [http://www.jolongo.org/ Jolongo], another [http://moodle.org/mod/forum/discuss.php?d=98877#p437085 Offline Moodle] being developed by a team in Latin America.&lt;br /&gt;
&lt;br /&gt;
==Assumptions of Offline Moodle==&lt;br /&gt;
An Offline Moodle represents, among other things, significant security and privacy challenges. For this reason we have defined a set of assumptions we are using to guide our development to ensure the application and its supporting processes maintain a high level of security and privacy where appropriate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information from the client or the server must be verified and checked at all times before being used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Cross site scripting&lt;br /&gt;
*Trojans, viruses&lt;br /&gt;
*Machines altering data in the middle of it’s transfer&lt;br /&gt;
*Ip spoofing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Information must pass through filters before being sent or used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Data protection: passwords, contact details&lt;br /&gt;
*Copyright issues&lt;br /&gt;
*Security issues&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The host device must be able to run Offline Moodle with as little modification as necessary.&#039;&#039;&#039; Why?&lt;br /&gt;
*Ease of use: plug and play functionality leads to convenience and simplicity&lt;br /&gt;
*Ease of support: The less changes made the less there is to go wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Offline Moodle files must all be contained in one place.&#039;&#039;&#039; Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Offline Moodle runs in its own self contained environment.&#039;&#039;&#039; Why?&lt;br /&gt;
*users can make changes to their Offline Moodle and underlying files but this is at their own risk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very easy to backup and restore the entire Offline Moodle&#039;&#039;&#039;. Why?&lt;br /&gt;
*Protection of work stored in Offline Moodle&lt;br /&gt;
*Makes for a simple reinstall&lt;br /&gt;
*Portability of content&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple to reinstall.&#039;&#039;&#039; Why?&lt;br /&gt;
*Reduces support overhead&lt;br /&gt;
*Backup, reinstall, restore is simple for users to follow and fix issues themselves&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple for a helpdesk or faculty to support.&#039;&#039;&#039;&lt;br /&gt;
*To reduce support headaches the recommended procedure for the majority of technical issues should be backup existing data, reinstall Offline Moodle, restored data. &lt;br /&gt;
*Standard pre written Moodle documentation should be used to educate users on effective Moodle use. The need for extra documentation must be minimised.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Installer&amp;diff=9174</id>
		<title>Offline Moodle Create Installer</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Installer&amp;diff=9174"/>
		<updated>2008-06-04T14:19:52Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To ensure a standard approach to developing offline moodle environments it is important to record and maintain details&lt;br /&gt;
&lt;br /&gt;
=What You’ll Need=&lt;br /&gt;
&lt;br /&gt;
Firstly you&#039;ll need an Offline Moodle environment to go inside your installer in the first place. For details on how to create one check out [[Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]].&lt;br /&gt;
&lt;br /&gt;
Once you have a working environment you want to begin creating a distributable package, the installer. The easiest way to do this is to use a ready made tool that&#039;ll create the installer for you. The best we&#039;ve found that&#039;s free is the [http://nsis.sourceforge.net/Main_Page NSIS installer]  since it provides a customisable installer package that runs on the windows platform and it’s free. It’s very easy to create an installer using the wizard provided in the nsis edit at http://hmne.sourceforge.net/ &lt;br /&gt;
&lt;br /&gt;
=Creating an Installer=&lt;br /&gt;
Ok, you should now have a working Offline Moodle environment. The next step is to package it up and distribute it. &lt;br /&gt;
&lt;br /&gt;
First you have to decide on the installer you want to package this up with. We chose the NSIS installer from Nullsoft because it’s highly configurable and it’s free. Unfortunately it only works on windows.&lt;br /&gt;
&lt;br /&gt;
==Creating an NSIS script==&lt;br /&gt;
Once you have installed the nsis editor go to ‘file\new script from wizard’ click next &lt;br /&gt;
&lt;br /&gt;
===Application Information===&lt;br /&gt;
then enter the request values. Note that the Application Website field will be used to create an internet shortcut and placed in the same folder as Offline Moodle. It will have the same name as the Application name. We already have an internet shortcut named Offline Moodle that points to http://localhost/moodle which takes a user to Offline Moodle on their machine.  So you might want to leave this empty to avoid overwriting the current file.&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Setup Options===&lt;br /&gt;
Leave all settings at default. Setup file can be something like Offline Moodle Setup 0.3.exe&lt;br /&gt;
Setup Lang defaults to English&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Application directory and License===&lt;br /&gt;
Leave with default values except for license file. We use the apache license file at xampp\licenses\apache\LICENSE.txt in the absence of a specific file for Offline Moodle&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Application Files===&lt;br /&gt;
This part takes a while because we can’t find away to import all the necessary files without letting the nsis installer run through each one. This can take quite a while. &lt;br /&gt;
&lt;br /&gt;
Delete the two example files using the x (Remove file) icon above the file window. Then click the add directory tree icon. It will open a dialogue box titled EditDirectory&lt;br /&gt;
&lt;br /&gt;
Enter the path to the xampp folder containing the xampp and moodle installation you wish to use (Copy and pasting from windows explorer is easiest I find). Leave the defaults and click ok.&lt;br /&gt;
&lt;br /&gt;
The dialogue box will then close and begin importing the many files necessary into the install script you are creating. The program will look as if it is not doing anything and has hung but check your hard drive activity light and you should see a lot of activity. &lt;br /&gt;
&lt;br /&gt;
Once all the files have been imported to the script the file area will list all the files included in the xampp install.&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Application Icons===&lt;br /&gt;
Enter the Application Start Menu Folder Name.&lt;br /&gt;
&lt;br /&gt;
Leave the defaults. &lt;br /&gt;
Remove the first two shortcuts since we want users to use the portable start menu. &lt;br /&gt;
Change the help.lnk shortcut to point to the readme.htm file &lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Execute after setup===&lt;br /&gt;
You can use these values&lt;br /&gt;
Program: $INSTDIR\setup_xampp.bat&lt;br /&gt;
Readme: $INSTDIR\readme.htm&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Uninstaller===&lt;br /&gt;
Accept the defaults&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Wizard Finished===&lt;br /&gt;
Check the save script and compile boxes. Click finish&lt;br /&gt;
&lt;br /&gt;
Enter the path to where you wish the script to be saved and the installer to be created.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Installer&amp;diff=9173</id>
		<title>Offline Moodle Create Installer</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Installer&amp;diff=9173"/>
		<updated>2008-06-04T13:57:13Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To ensure a standard approach to developing offline moodle environments it is important to record and maintain details&lt;br /&gt;
&lt;br /&gt;
=What You’ll Need=&lt;br /&gt;
&lt;br /&gt;
==Create an Environment==&lt;br /&gt;
Source files&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe&lt;br /&gt;
	Provide environment to run Offline Moodle web server, database server etc&lt;br /&gt;
Moodle: moodle-1.9.4 zip release version ideally with offline moodle enhancements. Unzipped to htdocs/moodle&lt;br /&gt;
Moodle Data folder created in root folder of xampp&lt;br /&gt;
Portable Start menu: pstart available at http://www.pegtop.de/start/&lt;br /&gt;
&lt;br /&gt;
To put it all together follow the separate document titled Environment Creation&lt;br /&gt;
&lt;br /&gt;
==Create an installer==&lt;br /&gt;
Once you have a working version begin creating a distributable package. We use the NSIS installer http://nsis.sourceforge.net/Main_Page  since it provides a customisable installer package that runs on the windows platform and it’s free. It’s very easy to create an installer using the wizard provided in the nsis edit at http://hmne.sourceforge.net/ &lt;br /&gt;
&lt;br /&gt;
=Creating an Installer=&lt;br /&gt;
Ok, you should now have a working Offline Moodle environment. The next step is to package it up and distribute it. &lt;br /&gt;
&lt;br /&gt;
First you have to decide on the installer you want to package this up with. We chose the NSIS installer from Nullsoft because it’s highly configurable and it’s free. Unfortunately it only works on windows.&lt;br /&gt;
&lt;br /&gt;
==Creating an NSIS script==&lt;br /&gt;
Once you have installed the nsis editor go to ‘file\new script from wizard’ click next &lt;br /&gt;
&lt;br /&gt;
===Application Information==&lt;br /&gt;
then enter the request values. Note that the Application Website field will be used to create an internet shortcut and placed in the same folder as Offline Moodle. It will have the same name as the Application name. We already have an internet shortcut named Offline Moodle that points to http://localhost/moodle which takes a user to Offline Moodle on their machine.  So you might want to leave this empty to avoid overwriting the current file.&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Setup Options===&lt;br /&gt;
Leave all settings at default. Setup file can be something like Offline Moodle Setup 0.3.exe&lt;br /&gt;
Setup Lang defaults to English&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Application directory and License===&lt;br /&gt;
Leave with default values except for license file. We use the apache license file at xampp\licenses\apache\LICENSE.txt in the absence of a specific file for Offline Moodle&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Application Files===&lt;br /&gt;
This part takes a while because we can’t find away to import all the necessary files without letting the nsis installer run through each one. This can take quite a while. &lt;br /&gt;
&lt;br /&gt;
Delete the two example files using the x (Remove file) icon above the file window. Then click the add directory tree icon. It will open a dialogue box titled EditDirectory&lt;br /&gt;
&lt;br /&gt;
Enter the path to the xampp folder containing the xampp and moodle installation you wish to use (Copy and pasting from windows explorer is easiest I find). Leave the defaults and click ok.&lt;br /&gt;
&lt;br /&gt;
The dialogue box will then close and begin importing the many files necessary into the install script you are creating. The program will look as if it is not doing anything and has hung but check your hard drive activity light and you should see a lot of activity. &lt;br /&gt;
&lt;br /&gt;
Once all the files have been imported to the script the file area will list all the files included in the xampp install.&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Application Icons===&lt;br /&gt;
Enter the Application Start Menu Folder Name.&lt;br /&gt;
&lt;br /&gt;
Leave the defaults. &lt;br /&gt;
Remove the first two shortcuts since we want users to use the portable start menu. &lt;br /&gt;
Change the help.lnk shortcut to point to the readme.htm file &lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Execute after setup===&lt;br /&gt;
You can use these values&lt;br /&gt;
Program: $INSTDIR\setup_xampp.bat&lt;br /&gt;
Readme: $INSTDIR\readme.htm&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Uninstaller===&lt;br /&gt;
Accept the defaults&lt;br /&gt;
&lt;br /&gt;
Click next&lt;br /&gt;
&lt;br /&gt;
===Wizard Finished===&lt;br /&gt;
Check the save script and compile boxes. Click finish&lt;br /&gt;
&lt;br /&gt;
Enter the path to where you wish the script to be saved and the installer to be created.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7210</id>
		<title>Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7210"/>
		<updated>2008-06-04T13:53:35Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Offline Moodle is a joint project between the Open University (UK) and Intel. We presented our current developments at the Moodle Moot 2007 and were able to demonstrate a working proof of concept that downloads Moodle courses from a remote server on to a mobile device which runs an Offline version of Moodle. &lt;br /&gt;
&lt;br /&gt;
The Offline Moodle concept aims for simplicity in all aspects so a lot of thought has gone into ensuring it is as easy to develop and maintain as it is to use. We have a lot to say and will endeavour to add to this wiki as the project progresses. In the meantime please visit the other places that we have been using to get everyone involved and explain what we&#039;re trying to achieve. &lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
* [[Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Offline_Moodle_Create_Installer|Creating an Offline Moodle Installer]]&lt;br /&gt;
* [[Offline_Moodle: Incremental Backups|Work on Incremental Backups]]&lt;br /&gt;
&lt;br /&gt;
==Where can I find out more?==&lt;br /&gt;
The project was introduced to the Moodle community in the forums at http://moodle.org/mod/forum/discuss.php?d=71136&lt;br /&gt;
&lt;br /&gt;
A Moodle course has been set up at http://hawk.aos.ecu.edu/moodle/ as a central place to find out about current developments and get involved in the development process.&lt;br /&gt;
&lt;br /&gt;
==Assumptions of Offline Moodle==&lt;br /&gt;
An Offline Moodle represents, among other things, significant security and privacy challenges. For this reason we have defined a set of assumptions we are using to guide our development to ensure the application and its supporting processes maintain a high level of security and privacy where appropriate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information from the client or the server must be verified and checked at all times before being used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Cross site scripting&lt;br /&gt;
*Trojans, viruses&lt;br /&gt;
*Machines altering data in the middle of it’s transfer&lt;br /&gt;
*Ip spoofing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Information must pass through filters before being sent or used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Data protection: passwords, contact details&lt;br /&gt;
*Copyright issues&lt;br /&gt;
*Security issues&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The host device must be able to run Offline Moodle with as little modification as necessary.&#039;&#039;&#039; Why?&lt;br /&gt;
*Ease of use: plug and play functionality leads to convenience and simplicity&lt;br /&gt;
*Ease of support: The less changes made the less there is to go wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Offline Moodle files must all be contained in one place.&#039;&#039;&#039; Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Offline Moodle runs in its own self contained environment.&#039;&#039;&#039; Why?&lt;br /&gt;
*users can make changes to their Offline Moodle and underlying files but this is at their own risk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very easy to backup and restore the entire Offline Moodle&#039;&#039;&#039;. Why?&lt;br /&gt;
*Protection of work stored in Offline Moodle&lt;br /&gt;
*Makes for a simple reinstall&lt;br /&gt;
*Portability of content&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple to reinstall.&#039;&#039;&#039; Why?&lt;br /&gt;
*Reduces support overhead&lt;br /&gt;
*Backup, reinstall, restore is simple for users to follow and fix issues themselves&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple for a helpdesk or faculty to support.&#039;&#039;&#039;&lt;br /&gt;
*To reduce support headaches the recommended procedure for the majority of technical issues should be backup existing data, reinstall Offline Moodle, restored data. &lt;br /&gt;
*Standard pre written Moodle documentation should be used to educate users on effective Moodle use. The need for extra documentation must be minimised.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7209</id>
		<title>Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7209"/>
		<updated>2008-06-04T13:53:11Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Offline Moodle is a joint project between the Open University (UK) and Intel. We presented our current developments at the Moodle Moot 2007 and were able to demonstrate a working proof of concept that downloads Moodle courses from a remote server on to a mobile device which runs an Offline version of Moodle. &lt;br /&gt;
&lt;br /&gt;
The Offline Moodle concept aims for simplicity in all aspects so a lot of thought has gone into ensuring it is as easy to develop and maintain as it is to use. We have a lot to say and will endeavour to add to this wiki as the project progresses. In the meantime please visit the other places that we have been using to get everyone involved and explain what we&#039;re trying to achieve. &lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
* [[Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Offline_Moodle_Create_Environment|Creating an Offline Moodle Installer]]&lt;br /&gt;
* [[Offline_Moodle: Incremental Backups|Work on Incremental Backups]]&lt;br /&gt;
&lt;br /&gt;
==Where can I find out more?==&lt;br /&gt;
The project was introduced to the Moodle community in the forums at http://moodle.org/mod/forum/discuss.php?d=71136&lt;br /&gt;
&lt;br /&gt;
A Moodle course has been set up at http://hawk.aos.ecu.edu/moodle/ as a central place to find out about current developments and get involved in the development process.&lt;br /&gt;
&lt;br /&gt;
==Assumptions of Offline Moodle==&lt;br /&gt;
An Offline Moodle represents, among other things, significant security and privacy challenges. For this reason we have defined a set of assumptions we are using to guide our development to ensure the application and its supporting processes maintain a high level of security and privacy where appropriate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information from the client or the server must be verified and checked at all times before being used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Cross site scripting&lt;br /&gt;
*Trojans, viruses&lt;br /&gt;
*Machines altering data in the middle of it’s transfer&lt;br /&gt;
*Ip spoofing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Information must pass through filters before being sent or used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Data protection: passwords, contact details&lt;br /&gt;
*Copyright issues&lt;br /&gt;
*Security issues&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The host device must be able to run Offline Moodle with as little modification as necessary.&#039;&#039;&#039; Why?&lt;br /&gt;
*Ease of use: plug and play functionality leads to convenience and simplicity&lt;br /&gt;
*Ease of support: The less changes made the less there is to go wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Offline Moodle files must all be contained in one place.&#039;&#039;&#039; Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Offline Moodle runs in its own self contained environment.&#039;&#039;&#039; Why?&lt;br /&gt;
*users can make changes to their Offline Moodle and underlying files but this is at their own risk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very easy to backup and restore the entire Offline Moodle&#039;&#039;&#039;. Why?&lt;br /&gt;
*Protection of work stored in Offline Moodle&lt;br /&gt;
*Makes for a simple reinstall&lt;br /&gt;
*Portability of content&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple to reinstall.&#039;&#039;&#039; Why?&lt;br /&gt;
*Reduces support overhead&lt;br /&gt;
*Backup, reinstall, restore is simple for users to follow and fix issues themselves&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple for a helpdesk or faculty to support.&#039;&#039;&#039;&lt;br /&gt;
*To reduce support headaches the recommended procedure for the majority of technical issues should be backup existing data, reinstall Offline Moodle, restored data. &lt;br /&gt;
*Standard pre written Moodle documentation should be used to educate users on effective Moodle use. The need for extra documentation must be minimised.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle:_Incremental_Backups&amp;diff=8814</id>
		<title>Offline Moodle: Incremental Backups</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle:_Incremental_Backups&amp;diff=8814"/>
		<updated>2008-04-30T11:16:08Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Current work on Incremental Backups=&lt;br /&gt;
One of the first features that on Offline Moodle requires from Moodle is to be able to get updates from a central Moodle in a small, efficient package rather than a large download. The only reliable method for getting the required information in and out of Moodle at the moment is using the backup/restore feature that&#039;s built into Moodle and thus Offline Moodle. This works well enough but can easily create large files which will cause problems when a user just wants to update quickly before they go to work for example. &lt;br /&gt;
&lt;br /&gt;
The answer to this is to enhance the backup component to offer smaller incremental updates aswell as the standard full backup. To achieve this the Open University (UK) have teamed up with Catalyst to develop this functionality and get it into the core of Moodle. We believe that not only is this functionality a necessary feature for Offline Moodle but that it will benefit many sections of the community particularly those responsible for managing Moodle installations. &lt;br /&gt;
&lt;br /&gt;
==Latest Work==&lt;br /&gt;
If you&#039;d like to check our progress you can download Moodle 1.9.4 with the latest incremental backup code at http://git.catalyst.net.nz/gitweb?p=moodle-r2.git;a=shortlog;h=refs/heads/mdl19-incrementalbackup .&lt;br /&gt;
&lt;br /&gt;
We aim to put some text up here explaining in more detail how it all works and how to get a server and client work, how to automate it  etc. For now just be aware that the backup work is well under way but the restore work is not. It&#039;s being developed against the postgres db and then ported to mysql so there are a couple of outstanding mysql issues. &lt;br /&gt;
&lt;br /&gt;
You can try it out by creating a course with a little content. Then selecting backup from the course admin menu, make sure you select generate incrementals from the form provided. It&#039;s at the bottom of the list of drop down menus about half way down the form. Then generate the backup.&lt;br /&gt;
&lt;br /&gt;
You can report a bug at http://tracker.moodle.org log it as part of the &#039;non core components&#039; under the &#039;Offline Moodle&#039; component and please include &#039;Incremental Backup:&#039; in the bug title to help us identify it. Assign it to Colin Chambers. &lt;br /&gt;
&lt;br /&gt;
If you wish to get in contact then please email me at c.chambers@open.ac.uk&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7208</id>
		<title>Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7208"/>
		<updated>2008-04-30T10:55:24Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Offline Moodle is a joint project between the Open University (UK) and Intel. We presented our current developments at the Moodle Moot 2007 and were able to demonstrate a working proof of concept that downloads Moodle courses from a remote server on to a mobile device which runs an Offline version of Moodle. &lt;br /&gt;
&lt;br /&gt;
The Offline Moodle concept aims for simplicity in all aspects so a lot of thought has gone into ensuring it is as easy to develop and maintain as it is to use. We have a lot to say and will endeavour to add to this wiki as the project progresses. In the meantime please visit the other places that we have been using to get everyone involved and explain what we&#039;re trying to achieve. &lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
* [[Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Offline_Moodle: Incremental Backups|Work on Incremental Backups]]&lt;br /&gt;
&lt;br /&gt;
==Where can I find out more?==&lt;br /&gt;
The project was introduced to the Moodle community in the forums at http://moodle.org/mod/forum/discuss.php?d=71136&lt;br /&gt;
&lt;br /&gt;
A Moodle course has been set up at http://hawk.aos.ecu.edu/moodle/ as a central place to find out about current developments and get involved in the development process.&lt;br /&gt;
&lt;br /&gt;
==Assumptions of Offline Moodle==&lt;br /&gt;
An Offline Moodle represents, among other things, significant security and privacy challenges. For this reason we have defined a set of assumptions we are using to guide our development to ensure the application and its supporting processes maintain a high level of security and privacy where appropriate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information from the client or the server must be verified and checked at all times before being used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Cross site scripting&lt;br /&gt;
*Trojans, viruses&lt;br /&gt;
*Machines altering data in the middle of it’s transfer&lt;br /&gt;
*Ip spoofing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Information must pass through filters before being sent or used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Data protection: passwords, contact details&lt;br /&gt;
*Copyright issues&lt;br /&gt;
*Security issues&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The host device must be able to run Offline Moodle with as little modification as necessary.&#039;&#039;&#039; Why?&lt;br /&gt;
*Ease of use: plug and play functionality leads to convenience and simplicity&lt;br /&gt;
*Ease of support: The less changes made the less there is to go wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Offline Moodle files must all be contained in one place.&#039;&#039;&#039; Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Offline Moodle runs in its own self contained environment.&#039;&#039;&#039; Why?&lt;br /&gt;
*users can make changes to their Offline Moodle and underlying files but this is at their own risk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very easy to backup and restore the entire Offline Moodle&#039;&#039;&#039;. Why?&lt;br /&gt;
*Protection of work stored in Offline Moodle&lt;br /&gt;
*Makes for a simple reinstall&lt;br /&gt;
*Portability of content&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple to reinstall.&#039;&#039;&#039; Why?&lt;br /&gt;
*Reduces support overhead&lt;br /&gt;
*Backup, reinstall, restore is simple for users to follow and fix issues themselves&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple for a helpdesk or faculty to support.&#039;&#039;&#039;&lt;br /&gt;
*To reduce support headaches the recommended procedure for the majority of technical issues should be backup existing data, reinstall Offline Moodle, restored data. &lt;br /&gt;
*Standard pre written Moodle documentation should be used to educate users on effective Moodle use. The need for extra documentation must be minimised.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7207</id>
		<title>Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7207"/>
		<updated>2008-04-30T10:55:10Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Offline Moodle is a joint project between the Open University (UK) and Intel. We presented our current developments at the Moodle Moot 2007 and were able to demonstrate a working proof of concept that downloads Moodle courses from a remote server on to a mobile device which runs an Offline version of Moodle. &lt;br /&gt;
&lt;br /&gt;
The Offline Moodle concept aims for simplicity in all aspects so a lot of thought has gone into ensuring it is as easy to develop and maintain as it is to use. We have a lot to say and will endeavour to add to this wiki as the project progresses. In the meantime please visit the other places that we have been using to get everyone involved and explain what we&#039;re trying to achieve. &lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
[[Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
&lt;br /&gt;
[[Offline_Moodle: Incremental Backups|Work on Incremental Backups]]&lt;br /&gt;
&lt;br /&gt;
==Where can I find out more?==&lt;br /&gt;
The project was introduced to the Moodle community in the forums at http://moodle.org/mod/forum/discuss.php?d=71136&lt;br /&gt;
&lt;br /&gt;
A Moodle course has been set up at http://hawk.aos.ecu.edu/moodle/ as a central place to find out about current developments and get involved in the development process.&lt;br /&gt;
&lt;br /&gt;
==Assumptions of Offline Moodle==&lt;br /&gt;
An Offline Moodle represents, among other things, significant security and privacy challenges. For this reason we have defined a set of assumptions we are using to guide our development to ensure the application and its supporting processes maintain a high level of security and privacy where appropriate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information from the client or the server must be verified and checked at all times before being used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Cross site scripting&lt;br /&gt;
*Trojans, viruses&lt;br /&gt;
*Machines altering data in the middle of it’s transfer&lt;br /&gt;
*Ip spoofing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Information must pass through filters before being sent or used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Data protection: passwords, contact details&lt;br /&gt;
*Copyright issues&lt;br /&gt;
*Security issues&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The host device must be able to run Offline Moodle with as little modification as necessary.&#039;&#039;&#039; Why?&lt;br /&gt;
*Ease of use: plug and play functionality leads to convenience and simplicity&lt;br /&gt;
*Ease of support: The less changes made the less there is to go wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Offline Moodle files must all be contained in one place.&#039;&#039;&#039; Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Offline Moodle runs in its own self contained environment.&#039;&#039;&#039; Why?&lt;br /&gt;
*users can make changes to their Offline Moodle and underlying files but this is at their own risk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very easy to backup and restore the entire Offline Moodle&#039;&#039;&#039;. Why?&lt;br /&gt;
*Protection of work stored in Offline Moodle&lt;br /&gt;
*Makes for a simple reinstall&lt;br /&gt;
*Portability of content&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple to reinstall.&#039;&#039;&#039; Why?&lt;br /&gt;
*Reduces support overhead&lt;br /&gt;
*Backup, reinstall, restore is simple for users to follow and fix issues themselves&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple for a helpdesk or faculty to support.&#039;&#039;&#039;&lt;br /&gt;
*To reduce support headaches the recommended procedure for the majority of technical issues should be backup existing data, reinstall Offline Moodle, restored data. &lt;br /&gt;
*Standard pre written Moodle documentation should be used to educate users on effective Moodle use. The need for extra documentation must be minimised.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7206</id>
		<title>Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7206"/>
		<updated>2008-04-30T10:54:51Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Offline Moodle is a joint project between the Open University (UK) and Intel. We presented our current developments at the Moodle Moot 2007 and were able to demonstrate a working proof of concept that downloads Moodle courses from a remote server on to a mobile device which runs an Offline version of Moodle. &lt;br /&gt;
&lt;br /&gt;
The Offline Moodle concept aims for simplicity in all aspects so a lot of thought has gone into ensuring it is as easy to develop and maintain as it is to use. We have a lot to say and will endeavour to add to this wiki as the project progresses. In the meantime please visit the other places that we have been using to get everyone involved and explain what we&#039;re trying to achieve. &lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
[[Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
[[Offline_Moodle: Incremental Backups|Work on Incremental Backups]]&lt;br /&gt;
&lt;br /&gt;
==Where can I find out more?==&lt;br /&gt;
The project was introduced to the Moodle community in the forums at http://moodle.org/mod/forum/discuss.php?d=71136&lt;br /&gt;
&lt;br /&gt;
A Moodle course has been set up at http://hawk.aos.ecu.edu/moodle/ as a central place to find out about current developments and get involved in the development process.&lt;br /&gt;
&lt;br /&gt;
==Assumptions of Offline Moodle==&lt;br /&gt;
An Offline Moodle represents, among other things, significant security and privacy challenges. For this reason we have defined a set of assumptions we are using to guide our development to ensure the application and its supporting processes maintain a high level of security and privacy where appropriate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information from the client or the server must be verified and checked at all times before being used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Cross site scripting&lt;br /&gt;
*Trojans, viruses&lt;br /&gt;
*Machines altering data in the middle of it’s transfer&lt;br /&gt;
*Ip spoofing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Information must pass through filters before being sent or used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Data protection: passwords, contact details&lt;br /&gt;
*Copyright issues&lt;br /&gt;
*Security issues&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The host device must be able to run Offline Moodle with as little modification as necessary.&#039;&#039;&#039; Why?&lt;br /&gt;
*Ease of use: plug and play functionality leads to convenience and simplicity&lt;br /&gt;
*Ease of support: The less changes made the less there is to go wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Offline Moodle files must all be contained in one place.&#039;&#039;&#039; Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Offline Moodle runs in its own self contained environment.&#039;&#039;&#039; Why?&lt;br /&gt;
*users can make changes to their Offline Moodle and underlying files but this is at their own risk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very easy to backup and restore the entire Offline Moodle&#039;&#039;&#039;. Why?&lt;br /&gt;
*Protection of work stored in Offline Moodle&lt;br /&gt;
*Makes for a simple reinstall&lt;br /&gt;
*Portability of content&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple to reinstall.&#039;&#039;&#039; Why?&lt;br /&gt;
*Reduces support overhead&lt;br /&gt;
*Backup, reinstall, restore is simple for users to follow and fix issues themselves&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple for a helpdesk or faculty to support.&#039;&#039;&#039;&lt;br /&gt;
*To reduce support headaches the recommended procedure for the majority of technical issues should be backup existing data, reinstall Offline Moodle, restored data. &lt;br /&gt;
*Standard pre written Moodle documentation should be used to educate users on effective Moodle use. The need for extra documentation must be minimised.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7205</id>
		<title>Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle&amp;diff=7205"/>
		<updated>2008-04-23T11:00:08Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Offline Moodle is a joint project between the Open University (UK) and Intel. We presented our current developments at the Moodle Moot 2007 and were able to demonstrate a working proof of concept that downloads Moodle courses from a remote server on to a mobile device which runs an Offline version of Moodle. &lt;br /&gt;
&lt;br /&gt;
The Offline Moodle concept aims for simplicity in all aspects so a lot of thought has gone into ensuring it is as easy to develop and maintain as it is to use. We have a lot to say and will endeavour to add to this wiki as the project progresses. In the meantime please visit the other places that we have been using to get everyone involved and explain what we&#039;re trying to achieve. &lt;br /&gt;
&lt;br /&gt;
==Articles==&lt;br /&gt;
[[Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
&lt;br /&gt;
==Where can I find out more?==&lt;br /&gt;
The project was introduced to the Moodle community in the forums at http://moodle.org/mod/forum/discuss.php?d=71136&lt;br /&gt;
&lt;br /&gt;
A Moodle course has been set up at http://hawk.aos.ecu.edu/moodle/ as a central place to find out about current developments and get involved in the development process.&lt;br /&gt;
&lt;br /&gt;
==Assumptions of Offline Moodle==&lt;br /&gt;
An Offline Moodle represents, among other things, significant security and privacy challenges. For this reason we have defined a set of assumptions we are using to guide our development to ensure the application and its supporting processes maintain a high level of security and privacy where appropriate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The information from the client or the server must be verified and checked at all times before being used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Cross site scripting&lt;br /&gt;
*Trojans, viruses&lt;br /&gt;
*Machines altering data in the middle of it’s transfer&lt;br /&gt;
*Ip spoofing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Information must pass through filters before being sent or used.&#039;&#039;&#039; Why?&lt;br /&gt;
*Data protection: passwords, contact details&lt;br /&gt;
*Copyright issues&lt;br /&gt;
*Security issues&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The host device must be able to run Offline Moodle with as little modification as necessary.&#039;&#039;&#039; Why?&lt;br /&gt;
*Ease of use: plug and play functionality leads to convenience and simplicity&lt;br /&gt;
*Ease of support: The less changes made the less there is to go wrong&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Offline Moodle files must all be contained in one place.&#039;&#039;&#039; Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Offline Moodle runs in its own self contained environment.&#039;&#039;&#039; Why?&lt;br /&gt;
*users can make changes to their Offline Moodle and underlying files but this is at their own risk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very easy to backup and restore the entire Offline Moodle&#039;&#039;&#039;. Why?&lt;br /&gt;
*Protection of work stored in Offline Moodle&lt;br /&gt;
*Makes for a simple reinstall&lt;br /&gt;
*Portability of content&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple to reinstall.&#039;&#039;&#039; Why?&lt;br /&gt;
*Reduces support overhead&lt;br /&gt;
*Backup, reinstall, restore is simple for users to follow and fix issues themselves&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It must be very simple for a helpdesk or faculty to support.&#039;&#039;&#039;&lt;br /&gt;
*To reduce support headaches the recommended procedure for the majority of technical issues should be backup existing data, reinstall Offline Moodle, restored data. &lt;br /&gt;
*Standard pre written Moodle documentation should be used to educate users on effective Moodle use. The need for extra documentation must be minimised.&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8571</id>
		<title>Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8571"/>
		<updated>2008-04-23T10:15:30Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating an Offline Moodle Environment=&lt;br /&gt;
This article is designed to help you replicate the Offline Moodle Environment that is being used within Offline Moodle. Currently we have focused on distributing to machines using the Windows operating system. In time we expect to add advice for other operating systems. We have tried to cover everything that&#039;s required to setup the entire environment so that this process it as simple as possible.&lt;br /&gt;
&lt;br /&gt;
==Source files==&lt;br /&gt;
The environment comprises the following libraries&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe obtained from:&lt;br /&gt;
* The XAMPP Apache, Mysql and PHP Environment can be obtained from [http://www.apachefriends.org/en/xampp-windows.html#646 http://www.apachefriends.org/en/xampp-windows.html#646]&lt;br /&gt;
* Moodle: moodle-1.9.zip latest version obtained from [http://download.moodle.org/windows/ http://download.moodle.org/windows/]&lt;br /&gt;
* Portable Menu: PStartSetup211.exe obtained from [http://www.pegtop.de/start/ http://www.pegtop.de/start/]&lt;br /&gt;
&lt;br /&gt;
==Create the Environment==&lt;br /&gt;
First of all you need to create an environment that meets the basic requirements of Moodle. This includes:&lt;br /&gt;
* A web server: To server internet files&lt;br /&gt;
* A database server: To handle data records&lt;br /&gt;
* A PHP distribution: Moodle runs under php so you need this installed. &lt;br /&gt;
&lt;br /&gt;
===Install The Architecture===&lt;br /&gt;
I could say install xampp because that&#039;s what we&#039;ll be doing but it&#039;s important to remember that xampp is simply a web server, database server and php distribution, among other things, that is freely available and works on different operating systems. There are other solutions you could use and we&#039;ve worked to ensure you could switch it to these instead of xampp if you so desired. &lt;br /&gt;
&lt;br /&gt;
Since we&#039;re using xampp the install is very simple. Just run the exe and chose where to unzip the files. No registry settings should be changed and no other operating system changes will be made. This is important to the overall concept of Offline Moodle in that it can be run from the folder it is unzipped to. All that you need to do is reconfigure xampp to recognise it&#039;s new location, thankfully a handle utility setup_xampp.bat does this for you so you just need to click it. Then start xampp with xampp_start.exe and xampp should start. If you&#039;re using windows xp you may notice firewall warnings. This is what firewalls do, basically xampp starting means a database and web server start. Each on needs to access the network and provide data over the network. That&#039;s why your firewall asks if this is ok with you. So just choose unblock when prompted. &lt;br /&gt;
&lt;br /&gt;
When prompted chose where to unzip the xampp files to. We&#039;ll choose c:\offline for this tutorial but I normally nest it much further where I&#039;m used to keeping project files. &lt;br /&gt;
&lt;br /&gt;
===Start the Architecture===&lt;br /&gt;
This should be as easy as explained above reconfigure xampp to recognise its new location using setup_xampp.bat and then start it using xampp_start.exe. When you want to stop it just use the corresponding xampp_stop.exe file. &lt;br /&gt;
&lt;br /&gt;
You&#039;ll get a black command prompt window pop up telling you xampp and it&#039;s services starting. Now open a web browser on your machine and type http://localhost into the address bar and press enter. You should be taken to the xampp home page. If you&#039;re not then wait a short while and try again in case xampp was still starting. If xampp won&#039;t start then check the xampp site for advice on how to fix the error. My main problem was forget to reconfigure it when I move the xampp folder or install it. &lt;br /&gt;
&lt;br /&gt;
So there you go. There is another way to get xampp running using the xampp-control.exe but I&#039;ll levave you to play around with that. At this point we&#039;re not planning to promote use of this in our Offline Moodle installs simply because it presents the webserver and database as separate applications. Which while correct we don&#039;t want users to have to worry about this complexity. We just want them to start and stop Offline Moodle as they would any application. &lt;br /&gt;
&lt;br /&gt;
===Secure XAMPP===&lt;br /&gt;
We have taken some small steps to secure the database and web server directories using standard approaches. Xampp makes this simple by providing a form to enter the required details. to reach this form choose security from the left hand menu then half way down the page should be a link http://localhost/security/xamppsecurity.php. Follow the link and enter the necessary values. &lt;br /&gt;
&lt;br /&gt;
we have left the default values in place and added passwords to the root accounts both for the database and web server directories. This won&#039;t affect access to the htdocs folder itself where Moodle runs from. It simply protects the xampp configuration that&#039;s accessible through a browser with the password you&#039;ve set. This protects your xampp installation from malicious users.&lt;br /&gt;
&lt;br /&gt;
==Install Moodle==&lt;br /&gt;
Now that we have a web server and database architecture working we need to install Moodle to get a VLE up and running. &lt;br /&gt;
&lt;br /&gt;
===Create the Database and Assign a User===&lt;br /&gt;
First we have to create a database within the database server for Moodle to reside in and then create a user with access to this database.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll assume you know how to run sql commands against the database to follow the next points.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
Creates the moodle database&lt;br /&gt;
create database `moodle` character set utf8;&lt;br /&gt;
&lt;br /&gt;
Creates the User and assigns permission to the database&lt;br /&gt;
grant all on `moodle`.* to &#039;moodle&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;m00dl3&#039;;&lt;br /&gt;
&lt;br /&gt;
=== Unzip Moodle===&lt;br /&gt;
Unzip the Moodle installation to the folder c:\offline\htdocs\moodle&lt;br /&gt;
create the folder c:\offline\moodledata so Moodle knows where to store its data&lt;br /&gt;
&lt;br /&gt;
===Create the config file===&lt;br /&gt;
The first part of installing Moodle creates the configuration file which tells Moodle where it is on your device and what it can do. &lt;br /&gt;
&lt;br /&gt;
There are two ways to do this. We recommend the first step as it creates a file that references files relative to your moodle installation. The wizard unfortunately uses paths that are absolute. They point exactly to the location Moodle is installed. This means that if you copy the xampp folder to another machine you will have to change these paths in the config. &lt;br /&gt;
&lt;br /&gt;
if you do use the wizard then simply replace part of the file path for $CFG-&amp;gt;dirroot and $CFG-&amp;gt;dataroot with dirname(__FILE__) to let php determine where Moodle is installed and make it easy to move Offline Moodle around.&lt;br /&gt;
&lt;br /&gt;
the two processes are described here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create the file directly&lt;br /&gt;
create a file using the following values in the root of the moodle directory called config.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php  /// Moodle Configuration File &lt;br /&gt;
&lt;br /&gt;
unset($CFG);&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;dbtype    = &#039;mysql&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbhost    = &#039;localhost&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbname    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbuser    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpass    = &#039;m00dl3&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpersist =  false;&lt;br /&gt;
$CFG-&amp;gt;prefix    = &#039;mdl_&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;wwwroot   = &#039;http://localhost/moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dirroot   = dirname(__FILE__);&lt;br /&gt;
$CFG-&amp;gt;dataroot   = dirname(__FILE__).&#039;\\..\\..\\moodledata&#039;;&lt;br /&gt;
$CFG-&amp;gt;admin     = &#039;admin&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;directorypermissions = 00777;  // try 02777 on a server in Safe Mode&lt;br /&gt;
&lt;br /&gt;
require_once(&amp;quot;$CFG-&amp;gt;dirroot/lib/setup.php&amp;quot;);&lt;br /&gt;
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,&lt;br /&gt;
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Use the install wizard &lt;br /&gt;
Got to http://localhost.moodle&lt;br /&gt;
Enter the values from above as they are requested. Once the config file is created change the values for  $CFG-&amp;gt;dirroot and CFG-&amp;gt;dataroot as shown above to ensure they are dynamic paths that will work as the code is moved around. &lt;br /&gt;
&lt;br /&gt;
===Generate the Database tables and load data===&lt;br /&gt;
Now you&#039;re past the point of editing files. Everything from this point should be done through a web browser since php is now running, you have a database setup and Moodle knows where it is and which account to use. &lt;br /&gt;
In a web browser go to http://localhost/moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Here are the initial values we chose if you just want to copy and paste.&lt;br /&gt;
&lt;br /&gt;
====Setup up initial data====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
&lt;br /&gt;
====Front Page settings====&lt;br /&gt;
Full site name: Offline Moodle&lt;br /&gt;
Short name for site: OfflineMoodle&lt;br /&gt;
Front Page Description: Welcome to Offline Moodle&lt;br /&gt;
&lt;br /&gt;
====Setup session handling====&lt;br /&gt;
So that we don’t conflict with other moodles change the session to be unique.&lt;br /&gt;
Go to Server&amp;gt; Session Handling. In the Cookie prefix box enter ‘offlinemoodle’ and save changes. You will now have to log back in. &lt;br /&gt;
&lt;br /&gt;
====Add a student account====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create root support files&lt;br /&gt;
Pre configured help files&lt;br /&gt;
Readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
Help folder and contents&lt;br /&gt;
&lt;br /&gt;
==Improve Usability==&lt;br /&gt;
Now we should have a fully installed and working Moodle environment that can work from any folder you move it to. What we need to do now is make it a little easier for the average user to use. We&#039;re technical guys that know how to configure these things but many students and lecturers won&#039;t have our technical skills so we want to remove any barriers there are to them just starting there machine, clicking start Offline Moodle and clicking a shortcut that opens Offline Moodle in a  browser for them. Basically what are the fewest number of steps that we can achieve this in? &lt;br /&gt;
&lt;br /&gt;
We looked at ways to package up Offline Moodle into one file, create batch files that automate all the processes necessary to configure and start xampp each time and many other options but each, while possible, would require more time, effort and expertise than we currently have to devote. they would also add complexity to the approach we are taking. At this point we just decided to go for the simplest solutions of creating shortcuts and readme files and adding a portable menu since these are very simple to create and degrade gracefully across environments thus ensuring we cater for the lowest common denominator.&lt;br /&gt;
&lt;br /&gt;
===Internet Shortcuts===&lt;br /&gt;
Let&#039;s create a couple of shortcuts to save the user the trouble of typing urls. Once made the user just has to click these shortcuts to load a brwoser and see the site. That&#039;s two or three steps eliminated. &lt;br /&gt;
&lt;br /&gt;
There are many ways to create shortcuts and feel free to choose your own. I thought I show you how to create a shortcut directly since that&#039;s what you&#039;ll end up with and you&#039;ll have more control this way. &lt;br /&gt;
&lt;br /&gt;
Create a text file with the appropriate name and .url extension and open it in a text editor. Notepad, vim, eclipse, whatever.&lt;br /&gt;
add the following lines&lt;br /&gt;
&lt;br /&gt;
[InternetShortcut]&lt;br /&gt;
URL=http://localhost/moodle&lt;br /&gt;
&lt;br /&gt;
Save the file and double click it in the file system. You browser should open and go to the url. It&#039;s that simple. Or it is in windows XP. If it&#039;s different for other versions of windows then please let me know. &lt;br /&gt;
&lt;br /&gt;
We created the following files&lt;br /&gt;
Offline Moodle.url, URL=http://localhost/moodle &lt;br /&gt;
Offline Moodle at the Open University.url, URL=http://www.open.ac.uk/offlinemoodle&lt;br /&gt;
&lt;br /&gt;
The last link we created to give the user context of what Offline Moodle is. You&#039;ll probably want to create your own to guide your own users appropriately.&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
===Readme Files===&lt;br /&gt;
Following the practise of many application manufacturers we created an html readme file. this way it&#039;s more presentable than a plain text file and matches the web based approach of Moodle. &lt;br /&gt;
&lt;br /&gt;
We added the files &lt;br /&gt;
readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
&lt;br /&gt;
The full contents of these files are too large to add here and are changing as the project develops. The main contents of readme.htm cover basic points such as &lt;br /&gt;
    * Quick Start&lt;br /&gt;
    * Run On Another Machine&lt;br /&gt;
    * Troubleshooting&lt;br /&gt;
    * Improvements&lt;br /&gt;
    * Known Issues&lt;br /&gt;
&lt;br /&gt;
===Portable Menu===&lt;br /&gt;
The latest addition to the mix is to provide a portable menu system that provides easy access to key components of Offline Moodle. Thanks for identifying this feature go to John Attwood who has been developing his own Portable Moodle application similar to Offline Moodle. You can read more at [http://hawk.aos.ecu.edu/moodle/mod/forum/discuss.php?d=141 http://hawk.aos.ecu.edu/moodle/mod/forum/discuss.php?d=141].&lt;br /&gt;
&lt;br /&gt;
Again the xml config file the portable menu creates is too large to add here. The links are extremely easy to create within the menu itself and you&#039;ll probably want to customise it to your needs.&lt;br /&gt;
&lt;br /&gt;
The main links we have included so far are:&lt;br /&gt;
* readme: links to readme.htm&lt;br /&gt;
* Offline Moodle: Links to the Offline Moodle.url shortcut created earlier&lt;br /&gt;
* Start Offline Moodle: Links to the file xampp_start.exe &lt;br /&gt;
* Stop Offline Moodle: Links to the file xampp_stop.exe &lt;br /&gt;
* Reconfigure Offline Moodle: Links to the file setup_xampp.bat &lt;br /&gt;
&lt;br /&gt;
We also added a group named &#039;resources&#039; to contain links to extra components that may come in useful such as:&lt;br /&gt;
* Restart Offline Moodle: Links to the file xampp_restart.exe&lt;br /&gt;
* Is Offline Moodle Running?: Links to the file xampp-portcheck.exe&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8570</id>
		<title>Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8570"/>
		<updated>2008-04-23T10:13:03Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating an Offline Moodle Environment=&lt;br /&gt;
To ensure a standard approach to developing offline moodle environments it is important to record and maintain details&lt;br /&gt;
&lt;br /&gt;
==Source files==&lt;br /&gt;
The environment comprises the following libraries&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe obtained from:&lt;br /&gt;
* The XAMPP Apache, Mysql and PHP Environment can be obtained from [http://www.apachefriends.org/en/xampp-windows.html#646 http://www.apachefriends.org/en/xampp-windows.html#646]&lt;br /&gt;
* Moodle: moodle-1.9.zip latest version obtained from [http://download.moodle.org/windows/ http://download.moodle.org/windows/]&lt;br /&gt;
* Portable Menu: PStartSetup211.exe obtained from [http://www.pegtop.de/start/ http://www.pegtop.de/start/]&lt;br /&gt;
&lt;br /&gt;
==Create the Environment==&lt;br /&gt;
First of all you need to create an environment that meets the basic requirements of Moodle. This includes:&lt;br /&gt;
* A web server: To server internet files&lt;br /&gt;
* A database server: To handle data records&lt;br /&gt;
* A PHP distribution: Moodle runs under php so you need this installed. &lt;br /&gt;
&lt;br /&gt;
===Install The Architecture===&lt;br /&gt;
I could say install xampp because that&#039;s what we&#039;ll be doing but it&#039;s important to remember that xampp is simply a web server, database server and php distribution, among other things, that is freely available and works on different operating systems. There are other solutions you could use and we&#039;ve worked to ensure you could switch it to these instead of xampp if you so desired. &lt;br /&gt;
&lt;br /&gt;
Since we&#039;re using xampp the install is very simple. Just run the exe and chose where to unzip the files. No registry settings should be changed and no other operating system changes will be made. This is important to the overall concept of Offline Moodle in that it can be run from the folder it is unzipped to. All that you need to do is reconfigure xampp to recognise it&#039;s new location, thankfully a handle utility setup_xampp.bat does this for you so you just need to click it. Then start xampp with xampp_start.exe and xampp should start. If you&#039;re using windows xp you may notice firewall warnings. This is what firewalls do, basically xampp starting means a database and web server start. Each on needs to access the network and provide data over the network. That&#039;s why your firewall asks if this is ok with you. So just choose unblock when prompted. &lt;br /&gt;
&lt;br /&gt;
When prompted chose where to unzip the xampp files to. We&#039;ll choose c:\offline for this tutorial but I normally nest it much further where I&#039;m used to keeping project files. &lt;br /&gt;
&lt;br /&gt;
===Start the Architecture===&lt;br /&gt;
This should be as easy as explained above reconfigure xampp to recognise its new location using setup_xampp.bat and then start it using xampp_start.exe. When you want to stop it just use the corresponding xampp_stop.exe file. &lt;br /&gt;
&lt;br /&gt;
You&#039;ll get a black command prompt window pop up telling you xampp and it&#039;s services starting. Now open a web browser on your machine and type http://localhost into the address bar and press enter. You should be taken to the xampp home page. If you&#039;re not then wait a short while and try again in case xampp was still starting. If xampp won&#039;t start then check the xampp site for advice on how to fix the error. My main problem was forget to reconfigure it when I move the xampp folder or install it. &lt;br /&gt;
&lt;br /&gt;
So there you go. There is another way to get xampp running using the xampp-control.exe but I&#039;ll levave you to play around with that. At this point we&#039;re not planning to promote use of this in our Offline Moodle installs simply because it presents the webserver and database as separate applications. Which while correct we don&#039;t want users to have to worry about this complexity. We just want them to start and stop Offline Moodle as they would any application. &lt;br /&gt;
&lt;br /&gt;
===Secure XAMPP===&lt;br /&gt;
We have taken some small steps to secure the database and web server directories using standard approaches. Xampp makes this simple by providing a form to enter the required details. to reach this form choose security from the left hand menu then half way down the page should be a link http://localhost/security/xamppsecurity.php. Follow the link and enter the necessary values. &lt;br /&gt;
&lt;br /&gt;
we have left the default values in place and added passwords to the root accounts both for the database and web server directories. This won&#039;t affect access to the htdocs folder itself where Moodle runs from. It simply protects the xampp configuration that&#039;s accessible through a browser with the password you&#039;ve set. This protects your xampp installation from malicious users.&lt;br /&gt;
&lt;br /&gt;
==Install Moodle==&lt;br /&gt;
Now that we have a web server and database architecture working we need to install Moodle to get a VLE up and running. &lt;br /&gt;
&lt;br /&gt;
===Create the Database and Assign a User===&lt;br /&gt;
First we have to create a database within the database server for Moodle to reside in and then create a user with access to this database.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll assume you know how to run sql commands against the database to follow the next points.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
Creates the moodle database&lt;br /&gt;
create database `moodle` character set utf8;&lt;br /&gt;
&lt;br /&gt;
Creates the User and assigns permission to the database&lt;br /&gt;
grant all on `moodle`.* to &#039;moodle&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;m00dl3&#039;;&lt;br /&gt;
&lt;br /&gt;
=== Unzip Moodle===&lt;br /&gt;
Unzip the Moodle installation to the folder c:\offline\htdocs\moodle&lt;br /&gt;
create the folder c:\offline\moodledata so Moodle knows where to store its data&lt;br /&gt;
&lt;br /&gt;
===Create the config file===&lt;br /&gt;
The first part of installing Moodle creates the configuration file which tells Moodle where it is on your device and what it can do. &lt;br /&gt;
&lt;br /&gt;
There are two ways to do this. We recommend the first step as it creates a file that references files relative to your moodle installation. The wizard unfortunately uses paths that are absolute. They point exactly to the location Moodle is installed. This means that if you copy the xampp folder to another machine you will have to change these paths in the config. &lt;br /&gt;
&lt;br /&gt;
if you do use the wizard then simply replace part of the file path for $CFG-&amp;gt;dirroot and $CFG-&amp;gt;dataroot with dirname(__FILE__) to let php determine where Moodle is installed and make it easy to move Offline Moodle around.&lt;br /&gt;
&lt;br /&gt;
the two processes are described here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create the file directly&lt;br /&gt;
create a file using the following values in the root of the moodle directory called config.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php  /// Moodle Configuration File &lt;br /&gt;
&lt;br /&gt;
unset($CFG);&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;dbtype    = &#039;mysql&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbhost    = &#039;localhost&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbname    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbuser    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpass    = &#039;m00dl3&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpersist =  false;&lt;br /&gt;
$CFG-&amp;gt;prefix    = &#039;mdl_&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;wwwroot   = &#039;http://localhost/moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dirroot   = dirname(__FILE__);&lt;br /&gt;
$CFG-&amp;gt;dataroot   = dirname(__FILE__).&#039;\\..\\..\\moodledata&#039;;&lt;br /&gt;
$CFG-&amp;gt;admin     = &#039;admin&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;directorypermissions = 00777;  // try 02777 on a server in Safe Mode&lt;br /&gt;
&lt;br /&gt;
require_once(&amp;quot;$CFG-&amp;gt;dirroot/lib/setup.php&amp;quot;);&lt;br /&gt;
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,&lt;br /&gt;
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Use the install wizard &lt;br /&gt;
Got to http://localhost.moodle&lt;br /&gt;
Enter the values from above as they are requested. Once the config file is created change the values for  $CFG-&amp;gt;dirroot and CFG-&amp;gt;dataroot as shown above to ensure they are dynamic paths that will work as the code is moved around. &lt;br /&gt;
&lt;br /&gt;
===Generate the Database tables and load data===&lt;br /&gt;
Now you&#039;re past the point of editing files. Everything from this point should be done through a web browser since php is now running, you have a database setup and Moodle knows where it is and which account to use. &lt;br /&gt;
In a web browser go to http://localhost/moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Here are the initial values we chose if you just want to copy and paste.&lt;br /&gt;
&lt;br /&gt;
====Setup up initial data====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
&lt;br /&gt;
====Front Page settings====&lt;br /&gt;
Full site name: Offline Moodle&lt;br /&gt;
Short name for site: OfflineMoodle&lt;br /&gt;
Front Page Description: Welcome to Offline Moodle&lt;br /&gt;
&lt;br /&gt;
====Setup session handling====&lt;br /&gt;
So that we don’t conflict with other moodles change the session to be unique.&lt;br /&gt;
Go to Server&amp;gt; Session Handling. In the Cookie prefix box enter ‘offlinemoodle’ and save changes. You will now have to log back in. &lt;br /&gt;
&lt;br /&gt;
====Add a student account====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create root support files&lt;br /&gt;
Pre configured help files&lt;br /&gt;
Readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
Help folder and contents&lt;br /&gt;
&lt;br /&gt;
==Improve Usability==&lt;br /&gt;
Now we should have a fully installed and working Moodle environment that can work from any folder you move it to. What we need to do now is make it a little easier for the average user to use. We&#039;re technical guys that know how to configure these things but many students and lecturers won&#039;t have our technical skills so we want to remove any barriers there are to them just starting there machine, clicking start Offline Moodle and clicking a shortcut that opens Offline Moodle in a  browser for them. Basically what are the fewest number of steps that we can achieve this in? &lt;br /&gt;
&lt;br /&gt;
We looked at ways to package up Offline Moodle into one file, create batch files that automate all the processes necessary to configure and start xampp each time and many other options but each, while possible, would require more time, effort and expertise than we currently have to devote. they would also add complexity to the approach we are taking. At this point we just decided to go for the simplest solutions of creating shortcuts and readme files and adding a portable menu since these are very simple to create and degrade gracefully across environments thus ensuring we cater for the lowest common denominator.&lt;br /&gt;
&lt;br /&gt;
===Internet Shortcuts===&lt;br /&gt;
Let&#039;s create a couple of shortcuts to save the user the trouble of typing urls. Once made the user just has to click these shortcuts to load a brwoser and see the site. That&#039;s two or three steps eliminated. &lt;br /&gt;
&lt;br /&gt;
There are many ways to create shortcuts and feel free to choose your own. I thought I show you how to create a shortcut directly since that&#039;s what you&#039;ll end up with and you&#039;ll have more control this way. &lt;br /&gt;
&lt;br /&gt;
Create a text file with the appropriate name and .url extension and open it in a text editor. Notepad, vim, eclipse, whatever.&lt;br /&gt;
add the following lines&lt;br /&gt;
&lt;br /&gt;
[InternetShortcut]&lt;br /&gt;
URL=http://localhost/moodle&lt;br /&gt;
&lt;br /&gt;
Save the file and double click it in the file system. You browser should open and go to the url. It&#039;s that simple. Or it is in windows XP. If it&#039;s different for other versions of windows then please let me know. &lt;br /&gt;
&lt;br /&gt;
We created the following files&lt;br /&gt;
Offline Moodle.url, URL=http://localhost/moodle &lt;br /&gt;
Offline Moodle at the Open University.url, URL=http://www.open.ac.uk/offlinemoodle&lt;br /&gt;
&lt;br /&gt;
The last link we created to give the user context of what Offline Moodle is. You&#039;ll probably want to create your own to guide your own users appropriately.&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
===Readme Files===&lt;br /&gt;
Following the practise of many application manufacturers we created an html readme file. this way it&#039;s more presentable than a plain text file and matches the web based approach of Moodle. &lt;br /&gt;
&lt;br /&gt;
We added the files &lt;br /&gt;
readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
&lt;br /&gt;
The full contents of these files are too large to add here and are changing as the project develops. The main contents of readme.htm cover basic points such as &lt;br /&gt;
    * Quick Start&lt;br /&gt;
    * Run On Another Machine&lt;br /&gt;
    * Troubleshooting&lt;br /&gt;
    * Improvements&lt;br /&gt;
    * Known Issues&lt;br /&gt;
&lt;br /&gt;
===Portable Menu===&lt;br /&gt;
The latest addition to the mix is to provide a portable menu system that provides easy access to key components of Offline Moodle. Thanks for identifying this feature go to John Attwood who has been developing his own Portable Moodle application similar to Offline Moodle. You can read more at [http://hawk.aos.ecu.edu/moodle/mod/forum/discuss.php?d=141 http://hawk.aos.ecu.edu/moodle/mod/forum/discuss.php?d=141].&lt;br /&gt;
&lt;br /&gt;
Again the xml config file the portable menu creates is too large to add here. The links are extremely easy to create within the menu itself and you&#039;ll probably want to customise it to your needs.&lt;br /&gt;
&lt;br /&gt;
The main links we have included so far are:&lt;br /&gt;
* readme: links to readme.htm&lt;br /&gt;
* Offline Moodle: Links to the Offline Moodle.url shortcut created earlier&lt;br /&gt;
* Start Offline Moodle: Links to the file xampp_start.exe &lt;br /&gt;
* Stop Offline Moodle: Links to the file xampp_stop.exe &lt;br /&gt;
* Reconfigure Offline Moodle: Links to the file setup_xampp.bat &lt;br /&gt;
&lt;br /&gt;
We also added a group named &#039;resources&#039; to contain links to extra components that may come in useful such as:&lt;br /&gt;
* Restart Offline Moodle: Links to the file xampp_restart.exe&lt;br /&gt;
* Is Offline Moodle Running?: Links to the file xampp-portcheck.exe&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8569</id>
		<title>Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8569"/>
		<updated>2008-04-23T10:08:21Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating an Offline Moodle Environment=&lt;br /&gt;
To ensure a standard approach to developing offline moodle environments it is important to record and maintain details&lt;br /&gt;
&lt;br /&gt;
==Source files==&lt;br /&gt;
The environment comprises the following libraries&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe obtained from:&lt;br /&gt;
* The XAMPP Apache, Mysql and PHP Environment can be obtained from [http://www.apachefriends.org/en/xampp-windows.html#646 http://www.apachefriends.org/en/xampp-windows.html#646]&lt;br /&gt;
* Moodle: moodle-1.9.zip latest version obtained from [http://download.moodle.org/windows/ http://download.moodle.org/windows/]&lt;br /&gt;
* Portable Menu: PStartSetup211.exe obtained from [http://www.pegtop.de/start/ http://www.pegtop.de/start/]&lt;br /&gt;
&lt;br /&gt;
==Create the Environment==&lt;br /&gt;
===Install The Architecture===&lt;br /&gt;
I could say install xampp because that&#039;s what we&#039;ll be doing but it&#039;s important to remember that xampp is simply a web server, database server and php distribution, among other things, that is freely available and works on different operating systems. There are other solutions you could use and we&#039;ve worked to ensure you could switch it to these instead of xampp if you so desired. &lt;br /&gt;
&lt;br /&gt;
Since we&#039;re using xampp the install is very simple. Just run the exe and chose where to unzip the files. No registry settings should be changed and no other operating system changes will be made. This is important to the overall concept of Offline Moodle in that it can be run from the folder it is unzipped to. All that you need to do is reconfigure xampp to recognise it&#039;s new location, thankfully a handle utility setup_xampp.bat does this for you so you just need to click it. Then start xampp with xampp_start.exe and xampp should start. If you&#039;re using windows xp you may notice firewall warnings. This is what firewalls do, basically xampp starting means a database and web server start. Each on needs to access the network and provide data over the network. That&#039;s why your firewall asks if this is ok with you. So just choose unblock when prompted. &lt;br /&gt;
&lt;br /&gt;
When prompted chose where to unzip the xampp files to. We&#039;ll choose c:\offline for this tutorial but I normally nest it much further where I&#039;m used to keeping project files. &lt;br /&gt;
&lt;br /&gt;
===Start the Architecture===&lt;br /&gt;
This should be as easy as explained above reconfigure xampp to recognise its new location using setup_xampp.bat and then start it using xampp_start.exe. When you want to stop it just use the corresponding xampp_stop.exe file. &lt;br /&gt;
&lt;br /&gt;
You&#039;ll get a black command prompt window pop up telling you xampp and it&#039;s services starting. Now open a web browser on your machine and type http://localhost into the address bar and press enter. You should be taken to the xampp home page. If you&#039;re not then wait a short while and try again in case xampp was still starting. If xampp won&#039;t start then check the xampp site for advice on how to fix the error. My main problem was forget to reconfigure it when I move the xampp folder or install it. &lt;br /&gt;
&lt;br /&gt;
So there you go. There is another way to get xampp running using the xampp-control.exe but I&#039;ll levave you to play around with that. At this point we&#039;re not planning to promote use of this in our Offline Moodle installs simply because it presents the webserver and database as separate applications. Which while correct we don&#039;t want users to have to worry about this complexity. We just want them to start and stop Offline Moodle as they would any application. &lt;br /&gt;
&lt;br /&gt;
===Secure XAMPP===&lt;br /&gt;
We have taken some small steps to secure the database and web server directories using standard approaches. Xampp makes this simple by providing a form to enter the required details. to reach this form choose security from the left hand menu then half way down the page should be a link http://localhost/security/xamppsecurity.php. Follow the link and enter the necessary values. &lt;br /&gt;
&lt;br /&gt;
we have left the default values in place and added passwords to the root accounts both for the database and web server directories. This won&#039;t affect access to the htdocs folder itself where Moodle runs from. It simply protects the xampp configuration that&#039;s accessible through a browser with the password you&#039;ve set. This protects your xampp installation from malicious users.&lt;br /&gt;
&lt;br /&gt;
==Install Moodle==&lt;br /&gt;
Now that we have a web server and database architecture working we need to install Moodle to get a VLE up and running. &lt;br /&gt;
&lt;br /&gt;
===Create the Database and Assign a User===&lt;br /&gt;
First we have to create a database within the database server for Moodle to reside in and then create a user with access to this database.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll assume you know how to run sql commands against the database to follow the next points.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
Creates the moodle database&lt;br /&gt;
create database `moodle` character set utf8;&lt;br /&gt;
&lt;br /&gt;
Creates the User and assigns permission to the database&lt;br /&gt;
grant all on `moodle`.* to &#039;moodle&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;m00dl3&#039;;&lt;br /&gt;
&lt;br /&gt;
=== Unzip Moodle===&lt;br /&gt;
Unzip the Moodle installation to the folder c:\offline\htdocs\moodle&lt;br /&gt;
create the folder c:\offline\moodledata so Moodle knows where to store its data&lt;br /&gt;
&lt;br /&gt;
===Create the config file===&lt;br /&gt;
The first part of installing Moodle creates the configuration file which tells Moodle where it is on your device and what it can do. &lt;br /&gt;
&lt;br /&gt;
There are two ways to do this. We recommend the first step as it creates a file that references files relative to your moodle installation. The wizard unfortunately uses paths that are absolute. They point exactly to the location Moodle is installed. This means that if you copy the xampp folder to another machine you will have to change these paths in the config. &lt;br /&gt;
&lt;br /&gt;
if you do use the wizard then simply replace part of the file path for $CFG-&amp;gt;dirroot and $CFG-&amp;gt;dataroot with dirname(__FILE__) to let php determine where Moodle is installed and make it easy to move Offline Moodle around.&lt;br /&gt;
&lt;br /&gt;
the two processes are described here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create the file directly&lt;br /&gt;
create a file using the following values in the root of the moodle directory called config.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php  /// Moodle Configuration File &lt;br /&gt;
&lt;br /&gt;
unset($CFG);&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;dbtype    = &#039;mysql&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbhost    = &#039;localhost&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbname    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbuser    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpass    = &#039;m00dl3&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpersist =  false;&lt;br /&gt;
$CFG-&amp;gt;prefix    = &#039;mdl_&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;wwwroot   = &#039;http://localhost/moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dirroot   = dirname(__FILE__);&lt;br /&gt;
$CFG-&amp;gt;dataroot   = dirname(__FILE__).&#039;\\..\\..\\moodledata&#039;;&lt;br /&gt;
$CFG-&amp;gt;admin     = &#039;admin&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;directorypermissions = 00777;  // try 02777 on a server in Safe Mode&lt;br /&gt;
&lt;br /&gt;
require_once(&amp;quot;$CFG-&amp;gt;dirroot/lib/setup.php&amp;quot;);&lt;br /&gt;
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,&lt;br /&gt;
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Use the install wizard &lt;br /&gt;
Got to http://localhost.moodle&lt;br /&gt;
Enter the values from above as they are requested. Once the config file is created change the values for  $CFG-&amp;gt;dirroot and CFG-&amp;gt;dataroot as shown above to ensure they are dynamic paths that will work as the code is moved around. &lt;br /&gt;
&lt;br /&gt;
===Generate the Database tables and load data===&lt;br /&gt;
Now you&#039;re past the point of editing files. Everything from this point should be done through a web browser since php is now running, you have a database setup and Moodle knows where it is and which account to use. &lt;br /&gt;
In a web browser go to http://localhost/moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Here are the initial values we chose if you just want to copy and paste.&lt;br /&gt;
&lt;br /&gt;
====Setup up initial data====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
&lt;br /&gt;
====Front Page settings====&lt;br /&gt;
Full site name: Offline Moodle&lt;br /&gt;
Short name for site: OfflineMoodle&lt;br /&gt;
Front Page Description: Welcome to Offline Moodle&lt;br /&gt;
&lt;br /&gt;
====Setup session handling====&lt;br /&gt;
So that we don’t conflict with other moodles change the session to be unique.&lt;br /&gt;
Go to Server&amp;gt; Session Handling. In the Cookie prefix box enter ‘offlinemoodle’ and save changes. You will now have to log back in. &lt;br /&gt;
&lt;br /&gt;
====Add a student account====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create root support files&lt;br /&gt;
Pre configured help files&lt;br /&gt;
Readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
Help folder and contents&lt;br /&gt;
&lt;br /&gt;
==Improve Usability==&lt;br /&gt;
Now we should have a fully installed and working Moodle environment that can work from any folder you move it to. What we need to do now is make it a little easier for the average user to use. We&#039;re technical guys that know how to configure these things but many students and lecturers won&#039;t have our technical skills so we want to remove any barriers there are to them just starting there machine, clicking start Offline Moodle and clicking a shortcut that opens Offline Moodle in a  browser for them. Basically what are the fewest number of steps that we can achieve this in? &lt;br /&gt;
&lt;br /&gt;
We looked at ways to package up Offline Moodle into one file, create batch files that automate all the processes necessary to configure and start xampp each time and many other options but each, while possible, would require more time, effort and expertise than we currently have to devote. they would also add complexity to the approach we are taking. At this point we just decided to go for the simplest solutions of creating shortcuts and readme files and adding a portable menu since these are very simple to create and degrade gracefully across environments thus ensuring we cater for the lowest common denominator.&lt;br /&gt;
&lt;br /&gt;
===Internet Shortcuts===&lt;br /&gt;
Let&#039;s create a couple of shortcuts to save the user the trouble of typing urls. Once made the user just has to click these shortcuts to load a brwoser and see the site. That&#039;s two or three steps eliminated. &lt;br /&gt;
&lt;br /&gt;
There are many ways to create shortcuts and feel free to choose your own. I thought I show you how to create a shortcut directly since that&#039;s what you&#039;ll end up with and you&#039;ll have more control this way. &lt;br /&gt;
&lt;br /&gt;
Create a text file with the appropriate name and .url extension and open it in a text editor. Notepad, vim, eclipse, whatever.&lt;br /&gt;
add the following lines&lt;br /&gt;
&lt;br /&gt;
[InternetShortcut]&lt;br /&gt;
URL=http://localhost/moodle&lt;br /&gt;
&lt;br /&gt;
Save the file and double click it in the file system. You browser should open and go to the url. It&#039;s that simple. Or it is in windows XP. If it&#039;s different for other versions of windows then please let me know. &lt;br /&gt;
&lt;br /&gt;
We created the following files&lt;br /&gt;
Offline Moodle.url, URL=http://localhost/moodle &lt;br /&gt;
Offline Moodle at the Open University.url, URL=http://www.open.ac.uk/offlinemoodle&lt;br /&gt;
&lt;br /&gt;
The last link we created to give the user context of what Offline Moodle is. You&#039;ll probably want to create your own to guide your own users appropriately.&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
===Readme Files===&lt;br /&gt;
Following the practise of many application manufacturers we created an html readme file. this way it&#039;s more presentable than a plain text file and matches the web based approach of Moodle. &lt;br /&gt;
&lt;br /&gt;
We added the files &lt;br /&gt;
readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
&lt;br /&gt;
The full contents of these files are too large to add here and are changing as the project develops. The main contents of readme.htm cover basic points such as &lt;br /&gt;
    * Quick Start&lt;br /&gt;
    * Run On Another Machine&lt;br /&gt;
    * Troubleshooting&lt;br /&gt;
    * Improvements&lt;br /&gt;
    * Known Issues&lt;br /&gt;
&lt;br /&gt;
===Portable Menu===&lt;br /&gt;
The latest addition to the mix is to provide a portable menu system that provides easy access to key components of Offline Moodle. Thanks for identifying this feature go to John Attwood who has been developing his own Portable Moodle application similar to Offline Moodle. You can read more at [http://hawk.aos.ecu.edu/moodle/mod/forum/discuss.php?d=141 http://hawk.aos.ecu.edu/moodle/mod/forum/discuss.php?d=141].&lt;br /&gt;
&lt;br /&gt;
Again the xml config file the portable menu creates is too large to add here. The links are extremely easy to create within the menu itself and you&#039;ll probably want to customise it to your needs.&lt;br /&gt;
&lt;br /&gt;
The main links we have included so far are:&lt;br /&gt;
* readme: links to readme.htm&lt;br /&gt;
* Offline Moodle: Links to the Offline Moodle.url shortcut created earlier&lt;br /&gt;
* Start Offline Moodle: Links to the file xampp_start.exe &lt;br /&gt;
* Stop Offline Moodle: Links to the file xampp_stop.exe &lt;br /&gt;
* Reconfigure Offline Moodle: Links to the file setup_xampp.bat &lt;br /&gt;
&lt;br /&gt;
We also added a group named &#039;resources&#039; to contain links to extra components that may come in useful such as:&lt;br /&gt;
* Restart Offline Moodle: Links to the file xampp_restart.exe&lt;br /&gt;
* Is Offline Moodle Running?: Links to the file xampp-portcheck.exe&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8568</id>
		<title>Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8568"/>
		<updated>2008-04-23T09:59:21Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating an Offline Moodle Environment=&lt;br /&gt;
To ensure a standard approach to developing offline moodle environments it is important to record and maintain details&lt;br /&gt;
&lt;br /&gt;
==Source files==&lt;br /&gt;
The environment comprises the following libraries&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe obtained from:&lt;br /&gt;
* The XAMPP Apache, Mysql and PHP Environment can be obtained from [http://www.apachefriends.org/en/xampp-windows.html#646 http://www.apachefriends.org/en/xampp-windows.html#646]&lt;br /&gt;
* Moodle: moodle-1.9.zip latest version obtained from [http://download.moodle.org/windows/ http://download.moodle.org/windows/]&lt;br /&gt;
* Portable Menu: PStartSetup211.exe obtained from [http://www.pegtop.de/start/ http://www.pegtop.de/start/]&lt;br /&gt;
&lt;br /&gt;
==Create the Environment==&lt;br /&gt;
===Install The Architecture===&lt;br /&gt;
I could say install xampp because that&#039;s what we&#039;ll be doing but it&#039;s important to remember that xampp is simply a web server, database server and php distribution, among other things, that is freely available and works on different operating systems. There are other solutions you could use and we&#039;ve worked to ensure you could switch it to these instead of xampp if you so desired. &lt;br /&gt;
&lt;br /&gt;
Since we&#039;re using xampp the install is very simple. Just run the exe and chose where to unzip the files. No registry settings should be changed and no other operating system changes will be made. This is important to the overall concept of Offline Moodle in that it can be run from the folder it is unzipped to. All that you need to do is reconfigure xampp to recognise it&#039;s new location, thankfully a handle utility setup_xampp.bat does this for you so you just need to click it. Then start xampp with xampp_start.exe and xampp should start. If you&#039;re using windows xp you may notice firewall warnings. This is what firewalls do, basically xampp starting means a database and web server start. Each on needs to access the network and provide data over the network. That&#039;s why your firewall asks if this is ok with you. So just choose unblock when prompted. &lt;br /&gt;
&lt;br /&gt;
When prompted chose where to unzip the xampp files to. We&#039;ll choose c:\offline for this tutorial but I normally nest it much further where I&#039;m used to keeping project files. &lt;br /&gt;
&lt;br /&gt;
===Start the Architecture===&lt;br /&gt;
This should be as easy as explained above reconfigure xampp to recognise its new location using setup_xampp.bat and then start it using xampp_start.exe. When you want to stop it just use the corresponding xampp_stop.exe file. &lt;br /&gt;
&lt;br /&gt;
You&#039;ll get a black command prompt window pop up telling you xampp and it&#039;s services starting. Now open a web browser on your machine and type http://localhost into the address bar and press enter. You should be taken to the xampp home page. If you&#039;re not then wait a short while and try again in case xampp was still starting. If xampp won&#039;t start then check the xampp site for advice on how to fix the error. My main problem was forget to reconfigure it when I move the xampp folder or install it. &lt;br /&gt;
&lt;br /&gt;
So there you go. There is another way to get xampp running using the xampp-control.exe but I&#039;ll levave you to play around with that. At this point we&#039;re not planning to promote use of this in our Offline Moodle installs simply because it presents the webserver and database as separate applications. Which while correct we don&#039;t want users to have to worry about this complexity. We just want them to start and stop Offline Moodle as they would any application. &lt;br /&gt;
&lt;br /&gt;
===Secure XAMPP===&lt;br /&gt;
We have taken some small steps to secure the database and web server directories using standard approaches. Xampp makes this simple by providing a form to enter the required details. to reach this form choose security from the left hand menu then half way down the page should be a link http://localhost/security/xamppsecurity.php. Follow the link and enter the necessary values. &lt;br /&gt;
&lt;br /&gt;
we have left the default values in place and added passwords to the root accounts both for the database and web server directories. This won&#039;t affect access to the htdocs folder itself where Moodle runs from. It simply protects the xampp configuration that&#039;s accessible through a browser with the password you&#039;ve set. This protects your xampp installation from malicious users.&lt;br /&gt;
&lt;br /&gt;
==Install Moodle==&lt;br /&gt;
Now that we have a web server and database architecture working we need to install Moodle to get a VLE up and running. &lt;br /&gt;
&lt;br /&gt;
===Create the Database and Assign a User===&lt;br /&gt;
First we have to create a database within the database server for Moodle to reside in and then create a user with access to this database.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll assume you know how to run sql commands against the database to follow the next points.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
Creates the moodle database&lt;br /&gt;
create database `moodle` character set utf8;&lt;br /&gt;
&lt;br /&gt;
Creates the User and assigns permission to the database&lt;br /&gt;
grant all on `moodle`.* to &#039;moodle&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;m00dl3&#039;;&lt;br /&gt;
&lt;br /&gt;
=== Unzip Moodle===&lt;br /&gt;
Unzip the Moodle installation to the folder c:\offline\htdocs\moodle&lt;br /&gt;
create the folder c:\offline\moodledata so Moodle knows where to store its data&lt;br /&gt;
&lt;br /&gt;
===Create the config file===&lt;br /&gt;
The first part of installing Moodle creates the configuration file which tells Moodle where it is on your device and what it can do. &lt;br /&gt;
&lt;br /&gt;
There are two ways to do this. We recommend the first step as it creates a file that references files relative to your moodle installation. The wizard unfortunately uses paths that are absolute. They point exactly to the location Moodle is installed. This means that if you copy the xampp folder to another machine you will have to change these paths in the config. &lt;br /&gt;
&lt;br /&gt;
if you do use the wizard then simply replace part of the file path for $CFG-&amp;gt;dirroot and $CFG-&amp;gt;dataroot with dirname(__FILE__) to let php determine where Moodle is installed and make it easy to move Offline Moodle around.&lt;br /&gt;
&lt;br /&gt;
the two processes are described here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create the file directly&lt;br /&gt;
create a file using the following values in the root of the moodle directory called config.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php  /// Moodle Configuration File &lt;br /&gt;
&lt;br /&gt;
unset($CFG);&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;dbtype    = &#039;mysql&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbhost    = &#039;localhost&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbname    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbuser    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpass    = &#039;m00dl3&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpersist =  false;&lt;br /&gt;
$CFG-&amp;gt;prefix    = &#039;mdl_&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;wwwroot   = &#039;http://localhost/moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dirroot   = dirname(__FILE__);&lt;br /&gt;
$CFG-&amp;gt;dataroot   = dirname(__FILE__).&#039;\\..\\..\\moodledata&#039;;&lt;br /&gt;
$CFG-&amp;gt;admin     = &#039;admin&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;directorypermissions = 00777;  // try 02777 on a server in Safe Mode&lt;br /&gt;
&lt;br /&gt;
require_once(&amp;quot;$CFG-&amp;gt;dirroot/lib/setup.php&amp;quot;);&lt;br /&gt;
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,&lt;br /&gt;
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Use the install wizard &lt;br /&gt;
Got to http://localhost.moodle&lt;br /&gt;
Enter the values from above as they are requested. Once the config file is created change the values for  $CFG-&amp;gt;dirroot and CFG-&amp;gt;dataroot as shown above to ensure they are dynamic paths that will work as the code is moved around. &lt;br /&gt;
&lt;br /&gt;
===Generate the Database tables and load data===&lt;br /&gt;
Now you&#039;re past the point of editing files. Everything from this point should be done through a web browser since php is now running, you have a database setup and Moodle knows where it is and which account to use. &lt;br /&gt;
In a web browser go to http://localhost/moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Here are the initial values we chose if you just want to copy and paste.&lt;br /&gt;
&lt;br /&gt;
====Setup up initial data====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
&lt;br /&gt;
====Front Page settings====&lt;br /&gt;
Full site name: Offline Moodle&lt;br /&gt;
Short name for site: OfflineMoodle&lt;br /&gt;
Front Page Description: Welcome to Offline Moodle&lt;br /&gt;
&lt;br /&gt;
====Setup session handling====&lt;br /&gt;
So that we don’t conflict with other moodles change the session to be unique.&lt;br /&gt;
Go to Server&amp;gt; Session Handling. In the Cookie prefix box enter ‘offlinemoodle’ and save changes. You will now have to log back in. &lt;br /&gt;
&lt;br /&gt;
====Add a student account====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create root support files&lt;br /&gt;
Pre configured help files&lt;br /&gt;
Readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
Help folder and contents&lt;br /&gt;
&lt;br /&gt;
==Improve Usability==&lt;br /&gt;
Now we should have a fully installed and working Moodle environment that can work from any folder you move it to. What we need to do now is make it a little easier for the average user to use. We&#039;re technical guys that know how to configure these things but many students and lecturers won&#039;t have our technical skills so we want to remove any barriers there are to them just starting there machine, clicking start Offline Moodle and clicking a shortcut that opens Offline Moodle in a  browser for them. Basically what are the fewest number of steps that we can achieve this in? &lt;br /&gt;
&lt;br /&gt;
We looked at ways to package up Offline Moodle into one file, create batch files that automate all the processes necessary to configure and start xampp each time and many other options but each, while possible, would require more time, effort and expertise than we currently have to devote. they would also add complexity to the approach we are taking. At this point we just decided to go for the simplest solutions of creating shortcuts and readme files and adding a portable menu since these are very simple to create and degrade gracefully across environments thus ensuring we cater for the lowest common denominator.&lt;br /&gt;
&lt;br /&gt;
===Internet Shortcuts===&lt;br /&gt;
Let&#039;s create a couple of shortcuts to save the user the trouble of typing urls. Once made the user just has to click these shortcuts to load a brwoser and see the site. That&#039;s two or three steps eliminated. &lt;br /&gt;
&lt;br /&gt;
There are many ways to create shortcuts and feel free to choose your own. I thought I show you how to create a shortcut directly since that&#039;s what you&#039;ll end up with and you&#039;ll have more control this way. &lt;br /&gt;
&lt;br /&gt;
Create a text file with the appropriate name and .url extension and open it in a text editor. Notepad, vim, eclipse, whatever.&lt;br /&gt;
add the following lines&lt;br /&gt;
&lt;br /&gt;
[InternetShortcut]&lt;br /&gt;
URL=http://localhost/moodle&lt;br /&gt;
&lt;br /&gt;
Save the file and double click it in the file system. You browser should open and go to the url. It&#039;s that simple. Or it is in windows XP. If it&#039;s different for other versions of windows then please let me know. &lt;br /&gt;
&lt;br /&gt;
We created the following files&lt;br /&gt;
Offline Moodle.url, URL=http://localhost/moodle &lt;br /&gt;
Offline Moodle at the Open University.url, URL=http://www.open.ac.uk/offlinemoodle&lt;br /&gt;
&lt;br /&gt;
The last link we created to give the user context of what Offline Moodle is. You&#039;ll probably want to create your own to guide your own users appropriately.&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
===Readme Files===&lt;br /&gt;
Following the practise of many application manufacturers we created an html readme file. this way it&#039;s more presentable than a plain text file and matches the web based approach of Moodle. &lt;br /&gt;
&lt;br /&gt;
We added the files &lt;br /&gt;
readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
&lt;br /&gt;
The full contents of these files are too large to add here and are changing as the project develops. The main contents of readme.htm cover basic points such as &lt;br /&gt;
    * Quick Start&lt;br /&gt;
    * Run On Another Machine&lt;br /&gt;
    * Troubleshooting&lt;br /&gt;
    * Improvements&lt;br /&gt;
    * Known Issues&lt;br /&gt;
&lt;br /&gt;
===Portable Menu===&lt;br /&gt;
The latest addition to the mix is to provide a portable menu system that provides easy access to key components of Offline Moodle. Thanks for identifying this feature go to John Attwood who has been developing his own Portable Moodle application similar to Offline Moodle. You can read more at [http://hawk.aos.ecu.edu/moodle/mod/forum/discuss.php?d=141 http://hawk.aos.ecu.edu/moodle/mod/forum/discuss.php?d=141]&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8567</id>
		<title>Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8567"/>
		<updated>2008-04-23T09:51:30Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating an Offline Moodle Environment=&lt;br /&gt;
To ensure a standard approach to developing offline moodle environments it is important to record and maintain details&lt;br /&gt;
&lt;br /&gt;
==Source files==&lt;br /&gt;
The environment comprises the following libraries&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe obtained from:&lt;br /&gt;
* The XAMPP Apache, Mysql and PHP Environment can be obtained from [http://www.apachefriends.org/en/xampp-windows.html#646 http://www.apachefriends.org/en/xampp-windows.html#646]&lt;br /&gt;
* Moodle: moodle-1.9.zip latest version obtained from [http://download.moodle.org/windows/ http://download.moodle.org/windows/]&lt;br /&gt;
* Portable Menu: PStartSetup211.exe obtained from [http://www.pegtop.de/start/ http://www.pegtop.de/start/]&lt;br /&gt;
&lt;br /&gt;
==Create the Environment==&lt;br /&gt;
===Install The Architecture===&lt;br /&gt;
I could say install xampp because that&#039;s what we&#039;ll be doing but it&#039;s important to remember that xampp is simply a web server, database server and php distribution, among other things, that is freely available and works on different operating systems. There are other solutions you could use and we&#039;ve worked to ensure you could Switch it to these instead of xampp if you so desired. &lt;br /&gt;
&lt;br /&gt;
Since we&#039;re using xampp the install is very simple. Just run the exe and chose where to unzip the files. No registry settings should be changed and no other operating system changes will be made. This is important to the overall concept of Offline Moodle in that it can be run from the folder it is unzipped to. All that you need to do is reconfigure xampp to recognise it&#039;s new location, thankfully a handle utility setup_xampp.bat does this for you so you just need to click it. Then start xampp with xampp_start.exe and xampp should start. If you&#039;re using windows xp you may notice firewall warnings. This is what firewalls do, basically xampp starting means a database and web server start. Each on needs to access the network and provide data over the network. That&#039;s why your firewall asks if this is ok with you. So just choose unblock when prompted. &lt;br /&gt;
&lt;br /&gt;
When prompted chose where to unzip the xampp files to. We&#039;ll choose c:\offline for this tutorial but I normally nest it much further where I&#039;m used to keeping project files. &lt;br /&gt;
&lt;br /&gt;
===Start the Architecture===&lt;br /&gt;
This should be as easy as explained above reconfigure xampp to recognise its new location using setup_xampp.bat and then start it using xampp_start.exe. When you want to stop it just use the corresponding xampp_stop.exe file. &lt;br /&gt;
&lt;br /&gt;
You&#039;ll get a black command prompt window pop up telling you xampp and it&#039;s services starting. Now open a web browser on your machine and type http://localhost into the address bar and press enter. You should be taken to the xampp home page. If you&#039;re not then wait a short while and try again in case xampp was still starting. If xampp won&#039;t start then check the xampp site for advice on how to fix the error. My main problem was forget to reconfigure it when I move the xampp folder or install it. &lt;br /&gt;
&lt;br /&gt;
So there you go. There is another way to get xampp running using the xampp-control.exe but I&#039;ll levave you to play around with that. At this point we&#039;re not planning to promote use of this in our Offline Moodle installs simply because it presents the webserver and database as separate applications. Which while correct we don&#039;t want users to have to worry about this complexity. We just want them to start and stop Offline Moodle as they would any application. &lt;br /&gt;
&lt;br /&gt;
===Secure XAMPP===&lt;br /&gt;
We have taken some small steps to secure the database and web server directories using standard approaches. Xampp makes this simple by providing a form to enter the required details. to reach this form choose security from the left hand menu then half way down the page should be a link http://localhost/security/xamppsecurity.php. Follow the link and enter the necessary values. &lt;br /&gt;
&lt;br /&gt;
we have left the default values in place and added passwords to the root accounts both for the database and web server directories. This won&#039;t affect access to the htdocs folder itself where Moodle runs from. It simply protects the xampp configuration that&#039;s accessible through a browser with the password you&#039;ve set. This protects your xampp installation from malicious users.&lt;br /&gt;
&lt;br /&gt;
==Install Moodle==&lt;br /&gt;
Now that we have a web server and database architecture working we need to install Moodle to get a VLE up and running. &lt;br /&gt;
&lt;br /&gt;
===Create the Database and Assign a User===&lt;br /&gt;
First we have to create a database within the database server for Moodle to reside in and then create a user with access to this database.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll assume you know how to run sql commands against the database to follow the next points.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
Creates the moodle database&lt;br /&gt;
create database `moodle` character set utf8;&lt;br /&gt;
&lt;br /&gt;
Creates the User and assigns permission to the database&lt;br /&gt;
grant all on `moodle`.* to &#039;moodle&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;m00dl3&#039;;&lt;br /&gt;
&lt;br /&gt;
=== Unzip Moodle===&lt;br /&gt;
Unzip the Moodle installation to the folder c:\offline\htdocs\moodle&lt;br /&gt;
create the folder c:\offline\moodledata so Moodle knows where to store its data&lt;br /&gt;
&lt;br /&gt;
===Create the config file===&lt;br /&gt;
The first part of installing Moodle creates the configuration file which tells Moodle where it is on your device and what it can do. &lt;br /&gt;
&lt;br /&gt;
There are two ways to do this. We recommend the first step as it creates a file that references files relative to your moodle installation. The wizard unfortunately uses paths that are absolute. They point exactly to the location Moodle is installed. This means that if you copy the xampp folder to another machine you will have to change these paths in the config. &lt;br /&gt;
&lt;br /&gt;
if you do use the wizard then simply replace part of the file path for $CFG-&amp;gt;dirroot and $CFG-&amp;gt;dataroot with dirname(__FILE__) to let php determine where Moodle is installed and make it easy to move Offline Moodle around.&lt;br /&gt;
&lt;br /&gt;
the two processes are described here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create the file directly&lt;br /&gt;
create a file using the following values in the root of the moodle directory called config.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php  /// Moodle Configuration File &lt;br /&gt;
&lt;br /&gt;
unset($CFG);&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;dbtype    = &#039;mysql&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbhost    = &#039;localhost&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbname    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbuser    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpass    = &#039;m00dl3&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpersist =  false;&lt;br /&gt;
$CFG-&amp;gt;prefix    = &#039;mdl_&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;wwwroot   = &#039;http://localhost/moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dirroot   = dirname(__FILE__);&lt;br /&gt;
$CFG-&amp;gt;dataroot   = dirname(__FILE__).&#039;\\..\\..\\moodledata&#039;;&lt;br /&gt;
$CFG-&amp;gt;admin     = &#039;admin&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;directorypermissions = 00777;  // try 02777 on a server in Safe Mode&lt;br /&gt;
&lt;br /&gt;
require_once(&amp;quot;$CFG-&amp;gt;dirroot/lib/setup.php&amp;quot;);&lt;br /&gt;
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,&lt;br /&gt;
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Use the install wizard &lt;br /&gt;
Got to http://localhost.moodle&lt;br /&gt;
Enter the values from above as they are requested. Once the config file is created change the values for  $CFG-&amp;gt;dirroot and CFG-&amp;gt;dataroot as shown above to ensure they are dynamic paths that will work as the code is moved around. &lt;br /&gt;
&lt;br /&gt;
===Generate the Database tables and load data===&lt;br /&gt;
Now you&#039;re past the point of editing files. Everything from this point should be done through a web browser since php is now running, you have a database setup and Moodle knows where it is and which account to use. &lt;br /&gt;
In a web browser go to http://localhost/moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Here are the initial values we chose if you just want to copy and paste.&lt;br /&gt;
&lt;br /&gt;
====Setup up initial data====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
&lt;br /&gt;
====Front Page settings====&lt;br /&gt;
Full site name: Offline Moodle&lt;br /&gt;
Short name for site: OfflineMoodle&lt;br /&gt;
Front Page Description: Welcome to Offline Moodle&lt;br /&gt;
&lt;br /&gt;
====Setup session handling====&lt;br /&gt;
So that we don’t conflict with other moodles change the session to be unique.&lt;br /&gt;
Go to Server&amp;gt; Session Handling. In the Cookie prefix box enter ‘offlinemoodle’ and save changes. You will now have to log back in. &lt;br /&gt;
&lt;br /&gt;
====Add a student account====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create root support files&lt;br /&gt;
Pre configured help files&lt;br /&gt;
Readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
Help folder and contents&lt;br /&gt;
&lt;br /&gt;
==Improve Usability==&lt;br /&gt;
Now we should have a fully installed and working Moodle environment that can work from any folder you move it to. What we need to do now is make it a little easier for the average user to use. We&#039;re technical guys that know how to configure these things but many students and lecturers won&#039;t have our technical skills so we want to remove any barriers there are to them just starting there machine, clicking start Offline Moodle and clicking a shortcut that opens Offline Moodle in a  browser for them. Basically what are the fewest number of steps that we can achieve this in? &lt;br /&gt;
&lt;br /&gt;
We looked at ways to package up Offline Moodle into one file, create batch files that automate all the processes necessary to configure and start xampp each time and many other options but each, while possible, would require more time, effort and expertise than we currently have to devote. they would also add complexity to the approach we are taking. At this point we just decided to go for the simplest solutions of creating shortcuts and readme files and adding a portable menu since these are very simple to create and degrade gracefully across environments thus ensuring we cater for the lowest common denominator.&lt;br /&gt;
&lt;br /&gt;
===Internet Shortcuts===&lt;br /&gt;
Let&#039;s create a couple of shortcuts to save the user the trouble of typing urls. Once made the user just has to click these shortcuts to load a brwoser and see the site. That&#039;s two or three steps eliminated. &lt;br /&gt;
&lt;br /&gt;
There are many ways to create shortcuts and feel free to choose your own. I thought I show you how to create a shortcut directly since that&#039;s what you&#039;ll end up with and you&#039;ll have more control this way. &lt;br /&gt;
&lt;br /&gt;
Create a text file with the appropriate name and .url extension and open it in a text editor. Notepad, vim, eclipse, whatever.&lt;br /&gt;
add the following lines&lt;br /&gt;
&lt;br /&gt;
[InternetShortcut]&lt;br /&gt;
URL=http://localhost/moodle&lt;br /&gt;
&lt;br /&gt;
Save the file and double click it in the file system. You browser should open and go to the url. It&#039;s that simple. Or it is in windows XP. If it&#039;s different for other versions of windows then please let me know. &lt;br /&gt;
&lt;br /&gt;
We created the following files&lt;br /&gt;
Offline Moodle.url, URL=http://localhost/moodle &lt;br /&gt;
Offline Moodle at the Open University.url, URL=http://www.open.ac.uk/offlinemoodle&lt;br /&gt;
&lt;br /&gt;
The last link we created to give the user context of what Offline Moodle is. You&#039;ll probably want to create your own to guide your own users appropriately.&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
===Readme Files===&lt;br /&gt;
Following the practise of many application manufacturers we created an html readme file. this way it&#039;s more presentable than a plain text file and matches the web based approach of Moodle. &lt;br /&gt;
&lt;br /&gt;
We added the files &lt;br /&gt;
readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
&lt;br /&gt;
The full contents of these files are too large to add here and are changing as the project develops. The main contents of readme.htm cover basic points such as &lt;br /&gt;
    * Quick Start&lt;br /&gt;
    * Run On Another Machine&lt;br /&gt;
    * Troubleshooting&lt;br /&gt;
    * Improvements&lt;br /&gt;
    * Known Issues&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8566</id>
		<title>Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8566"/>
		<updated>2008-04-23T09:49:46Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating an Offline Moodle Environment=&lt;br /&gt;
To ensure a standard approach to developing offline moodle environments it is important to record and maintain details&lt;br /&gt;
&lt;br /&gt;
==Source files==&lt;br /&gt;
The environment comprises the following libraries&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe obtained from [http://www.apachefriends.org/en/xampp-windows.html#646 http://www.apachefriends.org/en/xampp-windows.html#646]&lt;br /&gt;
Moodle: moodle-1.9.zip latest version obtained from [http://download.moodle.org/windows/]&lt;br /&gt;
Portable Menu: PStartSetup211.exe obtained from [http://www.pegtop.de/start/]&lt;br /&gt;
&lt;br /&gt;
==Create the Environment==&lt;br /&gt;
===Install The Architecture===&lt;br /&gt;
I could say install xampp because that&#039;s what we&#039;ll be doing but it&#039;s important to remember that xampp is simply a web server, database server and php distribution, among other things, that is freely available and works on different operating systems. There are other solutions you could use and we&#039;ve worked to ensure you could Switch it to these instead of xampp if you so desired. &lt;br /&gt;
&lt;br /&gt;
Since we&#039;re using xampp the install is very simple. Just run the exe and chose where to unzip the files. No registry settings should be changed and no other operating system changes will be made. This is important to the overall concept of Offline Moodle in that it can be run from the folder it is unzipped to. All that you need to do is reconfigure xampp to recognise it&#039;s new location, thankfully a handle utility setup_xampp.bat does this for you so you just need to click it. Then start xampp with xampp_start.exe and xampp should start. If you&#039;re using windows xp you may notice firewall warnings. This is what firewalls do, basically xampp starting means a database and web server start. Each on needs to access the network and provide data over the network. That&#039;s why your firewall asks if this is ok with you. So just choose unblock when prompted. &lt;br /&gt;
&lt;br /&gt;
When prompted chose where to unzip the xampp files to. We&#039;ll choose c:\offline for this tutorial but I normally nest it much further where I&#039;m used to keeping project files. &lt;br /&gt;
&lt;br /&gt;
===Start the Architecture===&lt;br /&gt;
This should be as easy as explained above reconfigure xampp to recognise its new location using setup_xampp.bat and then start it using xampp_start.exe. When you want to stop it just use the corresponding xampp_stop.exe file. &lt;br /&gt;
&lt;br /&gt;
You&#039;ll get a black command prompt window pop up telling you xampp and it&#039;s services starting. Now open a web browser on your machine and type http://localhost into the address bar and press enter. You should be taken to the xampp home page. If you&#039;re not then wait a short while and try again in case xampp was still starting. If xampp won&#039;t start then check the xampp site for advice on how to fix the error. My main problem was forget to reconfigure it when I move the xampp folder or install it. &lt;br /&gt;
&lt;br /&gt;
So there you go. There is another way to get xampp running using the xampp-control.exe but I&#039;ll levave you to play around with that. At this point we&#039;re not planning to promote use of this in our Offline Moodle installs simply because it presents the webserver and database as separate applications. Which while correct we don&#039;t want users to have to worry about this complexity. We just want them to start and stop Offline Moodle as they would any application. &lt;br /&gt;
&lt;br /&gt;
===Secure XAMPP===&lt;br /&gt;
We have taken some small steps to secure the database and web server directories using standard approaches. Xampp makes this simple by providing a form to enter the required details. to reach this form choose security from the left hand menu then half way down the page should be a link http://localhost/security/xamppsecurity.php. Follow the link and enter the necessary values. &lt;br /&gt;
&lt;br /&gt;
we have left the default values in place and added passwords to the root accounts both for the database and web server directories. This won&#039;t affect access to the htdocs folder itself where Moodle runs from. It simply protects the xampp configuration that&#039;s accessible through a browser with the password you&#039;ve set. This protects your xampp installation from malicious users.&lt;br /&gt;
&lt;br /&gt;
==Install Moodle==&lt;br /&gt;
Now that we have a web server and database architecture working we need to install Moodle to get a VLE up and running. &lt;br /&gt;
&lt;br /&gt;
===Create the Database and Assign a User===&lt;br /&gt;
First we have to create a database within the database server for Moodle to reside in and then create a user with access to this database.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll assume you know how to run sql commands against the database to follow the next points.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
Creates the moodle database&lt;br /&gt;
create database `moodle` character set utf8;&lt;br /&gt;
&lt;br /&gt;
Creates the User and assigns permission to the database&lt;br /&gt;
grant all on `moodle`.* to &#039;moodle&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;m00dl3&#039;;&lt;br /&gt;
&lt;br /&gt;
=== Unzip Moodle===&lt;br /&gt;
Unzip the Moodle installation to the folder c:\offline\htdocs\moodle&lt;br /&gt;
create the folder c:\offline\moodledata so Moodle knows where to store its data&lt;br /&gt;
&lt;br /&gt;
===Create the config file===&lt;br /&gt;
The first part of installing Moodle creates the configuration file which tells Moodle where it is on your device and what it can do. &lt;br /&gt;
&lt;br /&gt;
There are two ways to do this. We recommend the first step as it creates a file that references files relative to your moodle installation. The wizard unfortunately uses paths that are absolute. They point exactly to the location Moodle is installed. This means that if you copy the xampp folder to another machine you will have to change these paths in the config. &lt;br /&gt;
&lt;br /&gt;
if you do use the wizard then simply replace part of the file path for $CFG-&amp;gt;dirroot and $CFG-&amp;gt;dataroot with dirname(__FILE__) to let php determine where Moodle is installed and make it easy to move Offline Moodle around.&lt;br /&gt;
&lt;br /&gt;
the two processes are described here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create the file directly&lt;br /&gt;
create a file using the following values in the root of the moodle directory called config.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php  /// Moodle Configuration File &lt;br /&gt;
&lt;br /&gt;
unset($CFG);&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;dbtype    = &#039;mysql&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbhost    = &#039;localhost&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbname    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbuser    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpass    = &#039;m00dl3&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpersist =  false;&lt;br /&gt;
$CFG-&amp;gt;prefix    = &#039;mdl_&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;wwwroot   = &#039;http://localhost/moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dirroot   = dirname(__FILE__);&lt;br /&gt;
$CFG-&amp;gt;dataroot   = dirname(__FILE__).&#039;\\..\\..\\moodledata&#039;;&lt;br /&gt;
$CFG-&amp;gt;admin     = &#039;admin&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;directorypermissions = 00777;  // try 02777 on a server in Safe Mode&lt;br /&gt;
&lt;br /&gt;
require_once(&amp;quot;$CFG-&amp;gt;dirroot/lib/setup.php&amp;quot;);&lt;br /&gt;
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,&lt;br /&gt;
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Use the install wizard &lt;br /&gt;
Got to http://localhost.moodle&lt;br /&gt;
Enter the values from above as they are requested. Once the config file is created change the values for  $CFG-&amp;gt;dirroot and CFG-&amp;gt;dataroot as shown above to ensure they are dynamic paths that will work as the code is moved around. &lt;br /&gt;
&lt;br /&gt;
===Generate the Database tables and load data===&lt;br /&gt;
Now you&#039;re past the point of editing files. Everything from this point should be done through a web browser since php is now running, you have a database setup and Moodle knows where it is and which account to use. &lt;br /&gt;
In a web browser go to http://localhost/moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Here are the initial values we chose if you just want to copy and paste.&lt;br /&gt;
&lt;br /&gt;
====Setup up initial data====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
&lt;br /&gt;
====Front Page settings====&lt;br /&gt;
Full site name: Offline Moodle&lt;br /&gt;
Short name for site: OfflineMoodle&lt;br /&gt;
Front Page Description: Welcome to Offline Moodle&lt;br /&gt;
&lt;br /&gt;
====Setup session handling====&lt;br /&gt;
So that we don’t conflict with other moodles change the session to be unique.&lt;br /&gt;
Go to Server&amp;gt; Session Handling. In the Cookie prefix box enter ‘offlinemoodle’ and save changes. You will now have to log back in. &lt;br /&gt;
&lt;br /&gt;
====Add a student account====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create root support files&lt;br /&gt;
Pre configured help files&lt;br /&gt;
Readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
Help folder and contents&lt;br /&gt;
&lt;br /&gt;
==Improve Usability==&lt;br /&gt;
Now we should have a fully installed and working Moodle environment that can work from any folder you move it to. What we need to do now is make it a little easier for the average user to use. We&#039;re technical guys that know how to configure these things but many students and lecturers won&#039;t have our technical skills so we want to remove any barriers there are to them just starting there machine, clicking start Offline Moodle and clicking a shortcut that opens Offline Moodle in a  browser for them. Basically what are the fewest number of steps that we can achieve this in? &lt;br /&gt;
&lt;br /&gt;
We looked at ways to package up Offline Moodle into one file, create batch files that automate all the processes necessary to configure and start xampp each time and many other options but each, while possible, would require more time, effort and expertise than we currently have to devote. they would also add complexity to the approach we are taking. At this point we just decided to go for the simplest solutions of creating shortcuts and readme files and adding a portable menu since these are very simple to create and degrade gracefully across environments thus ensuring we cater for the lowest common denominator.&lt;br /&gt;
&lt;br /&gt;
===Internet Shortcuts===&lt;br /&gt;
Let&#039;s create a couple of shortcuts to save the user the trouble of typing urls. Once made the user just has to click these shortcuts to load a brwoser and see the site. That&#039;s two or three steps eliminated. &lt;br /&gt;
&lt;br /&gt;
There are many ways to create shortcuts and feel free to choose your own. I thought I show you how to create a shortcut directly since that&#039;s what you&#039;ll end up with and you&#039;ll have more control this way. &lt;br /&gt;
&lt;br /&gt;
Create a text file with the appropriate name and .url extension and open it in a text editor. Notepad, vim, eclipse, whatever.&lt;br /&gt;
add the following lines&lt;br /&gt;
&lt;br /&gt;
[InternetShortcut]&lt;br /&gt;
URL=http://localhost/moodle&lt;br /&gt;
&lt;br /&gt;
Save the file and double click it in the file system. You browser should open and go to the url. It&#039;s that simple. Or it is in windows XP. If it&#039;s different for other versions of windows then please let me know. &lt;br /&gt;
&lt;br /&gt;
We created the following files&lt;br /&gt;
Offline Moodle.url, URL=http://localhost/moodle &lt;br /&gt;
Offline Moodle at the Open University.url, URL=http://www.open.ac.uk/offlinemoodle&lt;br /&gt;
&lt;br /&gt;
The last link we created to give the user context of what Offline Moodle is. You&#039;ll probably want to create your own to guide your own users appropriately.&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
===Readme Files===&lt;br /&gt;
Following the practise of many application manufacturers we created an html readme file. this way it&#039;s more presentable than a plain text file and matches the web based approach of Moodle. &lt;br /&gt;
&lt;br /&gt;
We added the files &lt;br /&gt;
readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
&lt;br /&gt;
The full contents of these files are too large to add here and are changing as the project develops. The main contents of readme.htm cover basic points such as &lt;br /&gt;
    * Quick Start&lt;br /&gt;
    * Run On Another Machine&lt;br /&gt;
    * Troubleshooting&lt;br /&gt;
    * Improvements&lt;br /&gt;
    * Known Issues&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8565</id>
		<title>Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8565"/>
		<updated>2008-04-23T09:49:26Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating an Offline Moodle Environment=&lt;br /&gt;
To ensure a standard approach to developing offline moodle environments it is important to record and maintain details&lt;br /&gt;
&lt;br /&gt;
==Source files==&lt;br /&gt;
The environment comprises the following libraries&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe obtained from [[http://www.apachefriends.org/en/xampp-windows.html#646 http://www.apachefriends.org/en/xampp-windows.html#646]]&lt;br /&gt;
Moodle: moodle-1.9.zip latest version obtained from [http://download.moodle.org/windows/]&lt;br /&gt;
Portable Menu: PStartSetup211.exe obtained from [http://www.pegtop.de/start/]&lt;br /&gt;
&lt;br /&gt;
==Create the Environment==&lt;br /&gt;
===Install The Architecture===&lt;br /&gt;
I could say install xampp because that&#039;s what we&#039;ll be doing but it&#039;s important to remember that xampp is simply a web server, database server and php distribution, among other things, that is freely available and works on different operating systems. There are other solutions you could use and we&#039;ve worked to ensure you could Switch it to these instead of xampp if you so desired. &lt;br /&gt;
&lt;br /&gt;
Since we&#039;re using xampp the install is very simple. Just run the exe and chose where to unzip the files. No registry settings should be changed and no other operating system changes will be made. This is important to the overall concept of Offline Moodle in that it can be run from the folder it is unzipped to. All that you need to do is reconfigure xampp to recognise it&#039;s new location, thankfully a handle utility setup_xampp.bat does this for you so you just need to click it. Then start xampp with xampp_start.exe and xampp should start. If you&#039;re using windows xp you may notice firewall warnings. This is what firewalls do, basically xampp starting means a database and web server start. Each on needs to access the network and provide data over the network. That&#039;s why your firewall asks if this is ok with you. So just choose unblock when prompted. &lt;br /&gt;
&lt;br /&gt;
When prompted chose where to unzip the xampp files to. We&#039;ll choose c:\offline for this tutorial but I normally nest it much further where I&#039;m used to keeping project files. &lt;br /&gt;
&lt;br /&gt;
===Start the Architecture===&lt;br /&gt;
This should be as easy as explained above reconfigure xampp to recognise its new location using setup_xampp.bat and then start it using xampp_start.exe. When you want to stop it just use the corresponding xampp_stop.exe file. &lt;br /&gt;
&lt;br /&gt;
You&#039;ll get a black command prompt window pop up telling you xampp and it&#039;s services starting. Now open a web browser on your machine and type http://localhost into the address bar and press enter. You should be taken to the xampp home page. If you&#039;re not then wait a short while and try again in case xampp was still starting. If xampp won&#039;t start then check the xampp site for advice on how to fix the error. My main problem was forget to reconfigure it when I move the xampp folder or install it. &lt;br /&gt;
&lt;br /&gt;
So there you go. There is another way to get xampp running using the xampp-control.exe but I&#039;ll levave you to play around with that. At this point we&#039;re not planning to promote use of this in our Offline Moodle installs simply because it presents the webserver and database as separate applications. Which while correct we don&#039;t want users to have to worry about this complexity. We just want them to start and stop Offline Moodle as they would any application. &lt;br /&gt;
&lt;br /&gt;
===Secure XAMPP===&lt;br /&gt;
We have taken some small steps to secure the database and web server directories using standard approaches. Xampp makes this simple by providing a form to enter the required details. to reach this form choose security from the left hand menu then half way down the page should be a link http://localhost/security/xamppsecurity.php. Follow the link and enter the necessary values. &lt;br /&gt;
&lt;br /&gt;
we have left the default values in place and added passwords to the root accounts both for the database and web server directories. This won&#039;t affect access to the htdocs folder itself where Moodle runs from. It simply protects the xampp configuration that&#039;s accessible through a browser with the password you&#039;ve set. This protects your xampp installation from malicious users.&lt;br /&gt;
&lt;br /&gt;
==Install Moodle==&lt;br /&gt;
Now that we have a web server and database architecture working we need to install Moodle to get a VLE up and running. &lt;br /&gt;
&lt;br /&gt;
===Create the Database and Assign a User===&lt;br /&gt;
First we have to create a database within the database server for Moodle to reside in and then create a user with access to this database.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll assume you know how to run sql commands against the database to follow the next points.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
Creates the moodle database&lt;br /&gt;
create database `moodle` character set utf8;&lt;br /&gt;
&lt;br /&gt;
Creates the User and assigns permission to the database&lt;br /&gt;
grant all on `moodle`.* to &#039;moodle&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;m00dl3&#039;;&lt;br /&gt;
&lt;br /&gt;
=== Unzip Moodle===&lt;br /&gt;
Unzip the Moodle installation to the folder c:\offline\htdocs\moodle&lt;br /&gt;
create the folder c:\offline\moodledata so Moodle knows where to store its data&lt;br /&gt;
&lt;br /&gt;
===Create the config file===&lt;br /&gt;
The first part of installing Moodle creates the configuration file which tells Moodle where it is on your device and what it can do. &lt;br /&gt;
&lt;br /&gt;
There are two ways to do this. We recommend the first step as it creates a file that references files relative to your moodle installation. The wizard unfortunately uses paths that are absolute. They point exactly to the location Moodle is installed. This means that if you copy the xampp folder to another machine you will have to change these paths in the config. &lt;br /&gt;
&lt;br /&gt;
if you do use the wizard then simply replace part of the file path for $CFG-&amp;gt;dirroot and $CFG-&amp;gt;dataroot with dirname(__FILE__) to let php determine where Moodle is installed and make it easy to move Offline Moodle around.&lt;br /&gt;
&lt;br /&gt;
the two processes are described here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create the file directly&lt;br /&gt;
create a file using the following values in the root of the moodle directory called config.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php  /// Moodle Configuration File &lt;br /&gt;
&lt;br /&gt;
unset($CFG);&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;dbtype    = &#039;mysql&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbhost    = &#039;localhost&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbname    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbuser    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpass    = &#039;m00dl3&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpersist =  false;&lt;br /&gt;
$CFG-&amp;gt;prefix    = &#039;mdl_&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;wwwroot   = &#039;http://localhost/moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dirroot   = dirname(__FILE__);&lt;br /&gt;
$CFG-&amp;gt;dataroot   = dirname(__FILE__).&#039;\\..\\..\\moodledata&#039;;&lt;br /&gt;
$CFG-&amp;gt;admin     = &#039;admin&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;directorypermissions = 00777;  // try 02777 on a server in Safe Mode&lt;br /&gt;
&lt;br /&gt;
require_once(&amp;quot;$CFG-&amp;gt;dirroot/lib/setup.php&amp;quot;);&lt;br /&gt;
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,&lt;br /&gt;
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Use the install wizard &lt;br /&gt;
Got to http://localhost.moodle&lt;br /&gt;
Enter the values from above as they are requested. Once the config file is created change the values for  $CFG-&amp;gt;dirroot and CFG-&amp;gt;dataroot as shown above to ensure they are dynamic paths that will work as the code is moved around. &lt;br /&gt;
&lt;br /&gt;
===Generate the Database tables and load data===&lt;br /&gt;
Now you&#039;re past the point of editing files. Everything from this point should be done through a web browser since php is now running, you have a database setup and Moodle knows where it is and which account to use. &lt;br /&gt;
In a web browser go to http://localhost/moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Here are the initial values we chose if you just want to copy and paste.&lt;br /&gt;
&lt;br /&gt;
====Setup up initial data====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
&lt;br /&gt;
====Front Page settings====&lt;br /&gt;
Full site name: Offline Moodle&lt;br /&gt;
Short name for site: OfflineMoodle&lt;br /&gt;
Front Page Description: Welcome to Offline Moodle&lt;br /&gt;
&lt;br /&gt;
====Setup session handling====&lt;br /&gt;
So that we don’t conflict with other moodles change the session to be unique.&lt;br /&gt;
Go to Server&amp;gt; Session Handling. In the Cookie prefix box enter ‘offlinemoodle’ and save changes. You will now have to log back in. &lt;br /&gt;
&lt;br /&gt;
====Add a student account====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create root support files&lt;br /&gt;
Pre configured help files&lt;br /&gt;
Readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
Help folder and contents&lt;br /&gt;
&lt;br /&gt;
==Improve Usability==&lt;br /&gt;
Now we should have a fully installed and working Moodle environment that can work from any folder you move it to. What we need to do now is make it a little easier for the average user to use. We&#039;re technical guys that know how to configure these things but many students and lecturers won&#039;t have our technical skills so we want to remove any barriers there are to them just starting there machine, clicking start Offline Moodle and clicking a shortcut that opens Offline Moodle in a  browser for them. Basically what are the fewest number of steps that we can achieve this in? &lt;br /&gt;
&lt;br /&gt;
We looked at ways to package up Offline Moodle into one file, create batch files that automate all the processes necessary to configure and start xampp each time and many other options but each, while possible, would require more time, effort and expertise than we currently have to devote. they would also add complexity to the approach we are taking. At this point we just decided to go for the simplest solutions of creating shortcuts and readme files and adding a portable menu since these are very simple to create and degrade gracefully across environments thus ensuring we cater for the lowest common denominator.&lt;br /&gt;
&lt;br /&gt;
===Internet Shortcuts===&lt;br /&gt;
Let&#039;s create a couple of shortcuts to save the user the trouble of typing urls. Once made the user just has to click these shortcuts to load a brwoser and see the site. That&#039;s two or three steps eliminated. &lt;br /&gt;
&lt;br /&gt;
There are many ways to create shortcuts and feel free to choose your own. I thought I show you how to create a shortcut directly since that&#039;s what you&#039;ll end up with and you&#039;ll have more control this way. &lt;br /&gt;
&lt;br /&gt;
Create a text file with the appropriate name and .url extension and open it in a text editor. Notepad, vim, eclipse, whatever.&lt;br /&gt;
add the following lines&lt;br /&gt;
&lt;br /&gt;
[InternetShortcut]&lt;br /&gt;
URL=http://localhost/moodle&lt;br /&gt;
&lt;br /&gt;
Save the file and double click it in the file system. You browser should open and go to the url. It&#039;s that simple. Or it is in windows XP. If it&#039;s different for other versions of windows then please let me know. &lt;br /&gt;
&lt;br /&gt;
We created the following files&lt;br /&gt;
Offline Moodle.url, URL=http://localhost/moodle &lt;br /&gt;
Offline Moodle at the Open University.url, URL=http://www.open.ac.uk/offlinemoodle&lt;br /&gt;
&lt;br /&gt;
The last link we created to give the user context of what Offline Moodle is. You&#039;ll probably want to create your own to guide your own users appropriately.&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
===Readme Files===&lt;br /&gt;
Following the practise of many application manufacturers we created an html readme file. this way it&#039;s more presentable than a plain text file and matches the web based approach of Moodle. &lt;br /&gt;
&lt;br /&gt;
We added the files &lt;br /&gt;
readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
&lt;br /&gt;
The full contents of these files are too large to add here and are changing as the project develops. The main contents of readme.htm cover basic points such as &lt;br /&gt;
    * Quick Start&lt;br /&gt;
    * Run On Another Machine&lt;br /&gt;
    * Troubleshooting&lt;br /&gt;
    * Improvements&lt;br /&gt;
    * Known Issues&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8564</id>
		<title>Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Offline_Moodle_Create_Environment&amp;diff=8564"/>
		<updated>2008-04-23T09:48:02Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Creating an Offline Moodle Environment=&lt;br /&gt;
To ensure a standard approach to developing offline moodle environments it is important to record and maintain details&lt;br /&gt;
&lt;br /&gt;
==Source files==&lt;br /&gt;
The environment comprises the following libraries&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe obtained from [[http://www.apachefriends.org/en/xampp-windows.html#646|http://www.apachefriends.org/en/xampp-windows.html#646]]&lt;br /&gt;
Moodle: moodle-1.9.zip latest version obtained from [http://download.moodle.org/windows/]&lt;br /&gt;
Portable Menu: PStartSetup211.exe obtained from [http://www.pegtop.de/start/]&lt;br /&gt;
&lt;br /&gt;
==Create the Environment==&lt;br /&gt;
===Install The Architecture===&lt;br /&gt;
I could say install xampp because that&#039;s what we&#039;ll be doing but it&#039;s important to remember that xampp is simply a web server, database server and php distribution, among other things, that is freely available and works on different operating systems. There are other solutions you could use and we&#039;ve worked to ensure you could Switch it to these instead of xampp if you so desired. &lt;br /&gt;
&lt;br /&gt;
Since we&#039;re using xampp the install is very simple. Just run the exe and chose where to unzip the files. No registry settings should be changed and no other operating system changes will be made. This is important to the overall concept of Offline Moodle in that it can be run from the folder it is unzipped to. All that you need to do is reconfigure xampp to recognise it&#039;s new location, thankfully a handle utility setup_xampp.bat does this for you so you just need to click it. Then start xampp with xampp_start.exe and xampp should start. If you&#039;re using windows xp you may notice firewall warnings. This is what firewalls do, basically xampp starting means a database and web server start. Each on needs to access the network and provide data over the network. That&#039;s why your firewall asks if this is ok with you. So just choose unblock when prompted. &lt;br /&gt;
&lt;br /&gt;
When prompted chose where to unzip the xampp files to. We&#039;ll choose c:\offline for this tutorial but I normally nest it much further where I&#039;m used to keeping project files. &lt;br /&gt;
&lt;br /&gt;
===Start the Architecture===&lt;br /&gt;
This should be as easy as explained above reconfigure xampp to recognise its new location using setup_xampp.bat and then start it using xampp_start.exe. When you want to stop it just use the corresponding xampp_stop.exe file. &lt;br /&gt;
&lt;br /&gt;
You&#039;ll get a black command prompt window pop up telling you xampp and it&#039;s services starting. Now open a web browser on your machine and type http://localhost into the address bar and press enter. You should be taken to the xampp home page. If you&#039;re not then wait a short while and try again in case xampp was still starting. If xampp won&#039;t start then check the xampp site for advice on how to fix the error. My main problem was forget to reconfigure it when I move the xampp folder or install it. &lt;br /&gt;
&lt;br /&gt;
So there you go. There is another way to get xampp running using the xampp-control.exe but I&#039;ll levave you to play around with that. At this point we&#039;re not planning to promote use of this in our Offline Moodle installs simply because it presents the webserver and database as separate applications. Which while correct we don&#039;t want users to have to worry about this complexity. We just want them to start and stop Offline Moodle as they would any application. &lt;br /&gt;
&lt;br /&gt;
===Secure XAMPP===&lt;br /&gt;
We have taken some small steps to secure the database and web server directories using standard approaches. Xampp makes this simple by providing a form to enter the required details. to reach this form choose security from the left hand menu then half way down the page should be a link http://localhost/security/xamppsecurity.php. Follow the link and enter the necessary values. &lt;br /&gt;
&lt;br /&gt;
we have left the default values in place and added passwords to the root accounts both for the database and web server directories. This won&#039;t affect access to the htdocs folder itself where Moodle runs from. It simply protects the xampp configuration that&#039;s accessible through a browser with the password you&#039;ve set. This protects your xampp installation from malicious users.&lt;br /&gt;
&lt;br /&gt;
==Install Moodle==&lt;br /&gt;
Now that we have a web server and database architecture working we need to install Moodle to get a VLE up and running. &lt;br /&gt;
&lt;br /&gt;
===Create the Database and Assign a User===&lt;br /&gt;
First we have to create a database within the database server for Moodle to reside in and then create a user with access to this database.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll assume you know how to run sql commands against the database to follow the next points.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
Creates the moodle database&lt;br /&gt;
create database `moodle` character set utf8;&lt;br /&gt;
&lt;br /&gt;
Creates the User and assigns permission to the database&lt;br /&gt;
grant all on `moodle`.* to &#039;moodle&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;m00dl3&#039;;&lt;br /&gt;
&lt;br /&gt;
=== Unzip Moodle===&lt;br /&gt;
Unzip the Moodle installation to the folder c:\offline\htdocs\moodle&lt;br /&gt;
create the folder c:\offline\moodledata so Moodle knows where to store its data&lt;br /&gt;
&lt;br /&gt;
===Create the config file===&lt;br /&gt;
The first part of installing Moodle creates the configuration file which tells Moodle where it is on your device and what it can do. &lt;br /&gt;
&lt;br /&gt;
There are two ways to do this. We recommend the first step as it creates a file that references files relative to your moodle installation. The wizard unfortunately uses paths that are absolute. They point exactly to the location Moodle is installed. This means that if you copy the xampp folder to another machine you will have to change these paths in the config. &lt;br /&gt;
&lt;br /&gt;
if you do use the wizard then simply replace part of the file path for $CFG-&amp;gt;dirroot and $CFG-&amp;gt;dataroot with dirname(__FILE__) to let php determine where Moodle is installed and make it easy to move Offline Moodle around.&lt;br /&gt;
&lt;br /&gt;
the two processes are described here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create the file directly&lt;br /&gt;
create a file using the following values in the root of the moodle directory called config.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php  /// Moodle Configuration File &lt;br /&gt;
&lt;br /&gt;
unset($CFG);&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;dbtype    = &#039;mysql&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbhost    = &#039;localhost&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbname    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbuser    = &#039;moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpass    = &#039;m00dl3&#039;;&lt;br /&gt;
$CFG-&amp;gt;dbpersist =  false;&lt;br /&gt;
$CFG-&amp;gt;prefix    = &#039;mdl_&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;wwwroot   = &#039;http://localhost/moodle&#039;;&lt;br /&gt;
$CFG-&amp;gt;dirroot   = dirname(__FILE__);&lt;br /&gt;
$CFG-&amp;gt;dataroot   = dirname(__FILE__).&#039;\\..\\..\\moodledata&#039;;&lt;br /&gt;
$CFG-&amp;gt;admin     = &#039;admin&#039;;&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;directorypermissions = 00777;  // try 02777 on a server in Safe Mode&lt;br /&gt;
&lt;br /&gt;
require_once(&amp;quot;$CFG-&amp;gt;dirroot/lib/setup.php&amp;quot;);&lt;br /&gt;
// MAKE SURE WHEN YOU EDIT THIS FILE THAT THERE ARE NO SPACES, BLANK LINES,&lt;br /&gt;
// RETURNS, OR ANYTHING ELSE AFTER THE TWO CHARACTERS ON THE NEXT LINE.&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Use the install wizard &lt;br /&gt;
Got to http://localhost.moodle&lt;br /&gt;
Enter the values from above as they are requested. Once the config file is created change the values for  $CFG-&amp;gt;dirroot and CFG-&amp;gt;dataroot as shown above to ensure they are dynamic paths that will work as the code is moved around. &lt;br /&gt;
&lt;br /&gt;
===Generate the Database tables and load data===&lt;br /&gt;
Now you&#039;re past the point of editing files. Everything from this point should be done through a web browser since php is now running, you have a database setup and Moodle knows where it is and which account to use. &lt;br /&gt;
In a web browser go to http://localhost/moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Here are the initial values we chose if you just want to copy and paste.&lt;br /&gt;
&lt;br /&gt;
====Setup up initial data====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
&lt;br /&gt;
====Front Page settings====&lt;br /&gt;
Full site name: Offline Moodle&lt;br /&gt;
Short name for site: OfflineMoodle&lt;br /&gt;
Front Page Description: Welcome to Offline Moodle&lt;br /&gt;
&lt;br /&gt;
====Setup session handling====&lt;br /&gt;
So that we don’t conflict with other moodles change the session to be unique.&lt;br /&gt;
Go to Server&amp;gt; Session Handling. In the Cookie prefix box enter ‘offlinemoodle’ and save changes. You will now have to log back in. &lt;br /&gt;
&lt;br /&gt;
====Add a student account====&lt;br /&gt;
We&#039;ve left out some of the compulsory value since you&#039;ll want to enter your own&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create root support files&lt;br /&gt;
Pre configured help files&lt;br /&gt;
Readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
Help folder and contents&lt;br /&gt;
&lt;br /&gt;
==Improve Usability==&lt;br /&gt;
Now we should have a fully installed and working Moodle environment that can work from any folder you move it to. What we need to do now is make it a little easier for the average user to use. We&#039;re technical guys that know how to configure these things but many students and lecturers won&#039;t have our technical skills so we want to remove any barriers there are to them just starting there machine, clicking start Offline Moodle and clicking a shortcut that opens Offline Moodle in a  browser for them. Basically what are the fewest number of steps that we can achieve this in? &lt;br /&gt;
&lt;br /&gt;
We looked at ways to package up Offline Moodle into one file, create batch files that automate all the processes necessary to configure and start xampp each time and many other options but each, while possible, would require more time, effort and expertise than we currently have to devote. they would also add complexity to the approach we are taking. At this point we just decided to go for the simplest solutions of creating shortcuts and readme files and adding a portable menu since these are very simple to create and degrade gracefully across environments thus ensuring we cater for the lowest common denominator.&lt;br /&gt;
&lt;br /&gt;
===Internet Shortcuts===&lt;br /&gt;
Let&#039;s create a couple of shortcuts to save the user the trouble of typing urls. Once made the user just has to click these shortcuts to load a brwoser and see the site. That&#039;s two or three steps eliminated. &lt;br /&gt;
&lt;br /&gt;
There are many ways to create shortcuts and feel free to choose your own. I thought I show you how to create a shortcut directly since that&#039;s what you&#039;ll end up with and you&#039;ll have more control this way. &lt;br /&gt;
&lt;br /&gt;
Create a text file with the appropriate name and .url extension and open it in a text editor. Notepad, vim, eclipse, whatever.&lt;br /&gt;
add the following lines&lt;br /&gt;
&lt;br /&gt;
[InternetShortcut]&lt;br /&gt;
URL=http://localhost/moodle&lt;br /&gt;
&lt;br /&gt;
Save the file and double click it in the file system. You browser should open and go to the url. It&#039;s that simple. Or it is in windows XP. If it&#039;s different for other versions of windows then please let me know. &lt;br /&gt;
&lt;br /&gt;
We created the following files&lt;br /&gt;
Offline Moodle.url, URL=http://localhost/moodle &lt;br /&gt;
Offline Moodle at the Open University.url, URL=http://www.open.ac.uk/offlinemoodle&lt;br /&gt;
&lt;br /&gt;
The last link we created to give the user context of what Offline Moodle is. You&#039;ll probably want to create your own to guide your own users appropriately.&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
===Readme Files===&lt;br /&gt;
Following the practise of many application manufacturers we created an html readme file. this way it&#039;s more presentable than a plain text file and matches the web based approach of Moodle. &lt;br /&gt;
&lt;br /&gt;
We added the files &lt;br /&gt;
readme.htm&lt;br /&gt;
system-requirements.htm&lt;br /&gt;
&lt;br /&gt;
The full contents of these files are too large to add here and are changing as the project develops. The main contents of readme.htm cover basic points such as &lt;br /&gt;
    * Quick Start&lt;br /&gt;
    * Run On Another Machine&lt;br /&gt;
    * Troubleshooting&lt;br /&gt;
    * Improvements&lt;br /&gt;
    * Known Issues&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
</feed>