<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/37/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Colchambers</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/37/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Colchambers"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/Special:Contributions/Colchambers"/>
	<updated>2026-04-18T20:26:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=52049</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=52049"/>
		<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;
* [[Development:Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Development:Offline_Moodle_Create_Installer|Creating an Offline Moodle Installer]]&lt;br /&gt;
* [[Development: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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=49373</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=49373"/>
		<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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=38076</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=38076"/>
		<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;
* [[Development:Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Development:Offline_Moodle_Create_Installer|Creating an Offline Moodle Installer]]&lt;br /&gt;
* [[Development: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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=37220</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=37220"/>
		<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;
* [[Development:Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Development:Offline_Moodle_Create_Installer|Creating an Offline Moodle Installer]]&lt;br /&gt;
* [[Development: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/37/en/index.php?title=Development:Offline_Moodle_Create_Installer&amp;diff=37039</id>
		<title>Development:Offline Moodle Create Installer</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Installer&amp;diff=37039"/>
		<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 [[Development: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/37/en/index.php?title=Development:Offline_Moodle_Create_Installer&amp;diff=37038</id>
		<title>Development:Offline Moodle Create Installer</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Installer&amp;diff=37038"/>
		<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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=37037</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=37037"/>
		<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;
* [[Development:Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Development:Offline_Moodle_Create_Installer|Creating an Offline Moodle Installer]]&lt;br /&gt;
* [[Development: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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=37036</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=37036"/>
		<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;
* [[Development:Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Development:Offline_Moodle_Create_Environment|Creating an Offline Moodle Installer]]&lt;br /&gt;
* [[Development: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/37/en/index.php?title=Development:Offline_Moodle:_Incremental_Backups&amp;diff=35462</id>
		<title>Development:Offline Moodle: Incremental Backups</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle:_Incremental_Backups&amp;diff=35462"/>
		<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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=35461</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=35461"/>
		<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;
* [[Development:Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
* [[Development: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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=35460</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=35460"/>
		<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;
[[Development:Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
&lt;br /&gt;
[[Development: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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=35459</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=35459"/>
		<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;
[[Development:Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&lt;br /&gt;
[[Development: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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=35115</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=35115"/>
		<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;
[[Development: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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35114</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35114"/>
		<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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35113</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35113"/>
		<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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35112</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35112"/>
		<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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35111</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35111"/>
		<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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35110</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35110"/>
		<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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35108</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35108"/>
		<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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35107</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35107"/>
		<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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35106</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35106"/>
		<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>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35105</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35105"/>
		<updated>2008-04-23T09:47:15Z</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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35104</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35104"/>
		<updated>2008-04-23T09:46:42Z</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]&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/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35103</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35103"/>
		<updated>2008-04-23T09:42:15Z</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]&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;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35102</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35102"/>
		<updated>2008-04-23T09:38:01Z</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]&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;
==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;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35101</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35101"/>
		<updated>2008-04-23T09:35:29Z</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]&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;
==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 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;
Offline Moodle.lnk&lt;br /&gt;
Offline Moodle at the Open University.lnk&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
Security&lt;br /&gt;
passwords are available on request to [c.chambers@open.ac.uk]&lt;br /&gt;
Database:&lt;br /&gt;
User: root&lt;br /&gt;
Password: &lt;br /&gt;
&lt;br /&gt;
Directory protection:&lt;br /&gt;
Will create  a .htaccess file for password protection over http&lt;br /&gt;
&lt;br /&gt;
User: root&lt;br /&gt;
Password:&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35100</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35100"/>
		<updated>2008-04-23T09:23:47Z</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]&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;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
Email: testofflinemoodle@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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 student account====&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
Email: offlinestudent@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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;
&lt;br /&gt;
Internet Shortcuts&lt;br /&gt;
Offline Moodle.lnk&lt;br /&gt;
Offline Moodle at the Open University.lnk&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
Security&lt;br /&gt;
passwords are available on request to [c.chambers@open.ac.uk]&lt;br /&gt;
Database:&lt;br /&gt;
User: root&lt;br /&gt;
Password: &lt;br /&gt;
&lt;br /&gt;
Directory protection:&lt;br /&gt;
Will create  a .htaccess file for password protection over http&lt;br /&gt;
&lt;br /&gt;
User: root&lt;br /&gt;
Password:&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35099</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35099"/>
		<updated>2008-04-23T09:16:17Z</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]&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 Database and Assign 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;
&lt;br /&gt;
===Create 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 Database tables and load data&lt;br /&gt;
&lt;br /&gt;
Got to http://localhost.moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Setup up initial data&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
Email: testofflinemoodle@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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 student account&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
Email: offlinestudent@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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;
&lt;br /&gt;
Internet Shortcuts&lt;br /&gt;
Offline Moodle.lnk&lt;br /&gt;
Offline Moodle at the Open University.lnk&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
Security&lt;br /&gt;
passwords are available on request to [c.chambers@open.ac.uk]&lt;br /&gt;
Database:&lt;br /&gt;
User: root&lt;br /&gt;
Password: &lt;br /&gt;
&lt;br /&gt;
Directory protection:&lt;br /&gt;
Will create  a .htaccess file for password protection over http&lt;br /&gt;
&lt;br /&gt;
User: root&lt;br /&gt;
Password:&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35098</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35098"/>
		<updated>2008-04-23T08:59:59Z</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]&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 and database server, 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 &lt;br /&gt;
&lt;br /&gt;
==Install Moodle==&lt;br /&gt;
&lt;br /&gt;
Secure the mysql root password using the values below&lt;br /&gt;
&lt;br /&gt;
Create the moodle database&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
create database `moodle` character set utf8;&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;
&lt;br /&gt;
==Create config file==&lt;br /&gt;
There are two ways&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 Database tables and load data&lt;br /&gt;
&lt;br /&gt;
Got to http://localhost.moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Setup up initial data&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
Email: testofflinemoodle@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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 student account&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
Email: offlinestudent@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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;
&lt;br /&gt;
Internet Shortcuts&lt;br /&gt;
Offline Moodle.lnk&lt;br /&gt;
Offline Moodle at the Open University.lnk&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
Security&lt;br /&gt;
passwords are available on request to [c.chambers@open.ac.uk]&lt;br /&gt;
Database:&lt;br /&gt;
User: root&lt;br /&gt;
Password: &lt;br /&gt;
&lt;br /&gt;
Directory protection:&lt;br /&gt;
Will create  a .htaccess file for password protection over http&lt;br /&gt;
&lt;br /&gt;
User: root&lt;br /&gt;
Password:&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35060</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35060"/>
		<updated>2008-04-22T16:27:12Z</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]&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;
===Install Moodle===&lt;br /&gt;
&lt;br /&gt;
Secure the mysql root password using the values below&lt;br /&gt;
&lt;br /&gt;
Create the moodle database&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
create database `moodle` character set utf8;&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;
&lt;br /&gt;
==Create config file==&lt;br /&gt;
There are two ways&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 Database tables and load data&lt;br /&gt;
&lt;br /&gt;
Got to http://localhost.moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Setup up initial data&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
Email: testofflinemoodle@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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 student account&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
Email: offlinestudent@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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;
&lt;br /&gt;
Internet Shortcuts&lt;br /&gt;
Offline Moodle.lnk&lt;br /&gt;
Offline Moodle at the Open University.lnk&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
Security&lt;br /&gt;
passwords are available on request to [c.chambers@open.ac.uk]&lt;br /&gt;
Database:&lt;br /&gt;
User: root&lt;br /&gt;
Password: &lt;br /&gt;
&lt;br /&gt;
Directory protection:&lt;br /&gt;
Will create  a .htaccess file for password protection over http&lt;br /&gt;
&lt;br /&gt;
User: root&lt;br /&gt;
Password:&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35059</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35059"/>
		<updated>2008-04-22T16:23:08Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Install Moodle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&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;
Environment Generation&lt;br /&gt;
Source files&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe&lt;br /&gt;
Moodle: moodle-1.9.zip release version&lt;br /&gt;
&lt;br /&gt;
===Install Moodle===&lt;br /&gt;
&lt;br /&gt;
Secure the mysql root password using the values below&lt;br /&gt;
&lt;br /&gt;
Create the moodle database&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
create database `moodle` character set utf8;&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;
&lt;br /&gt;
==Create config file==&lt;br /&gt;
There are two ways&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 Database tables and load data&lt;br /&gt;
&lt;br /&gt;
Got to http://localhost.moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Setup up initial data&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
Email: testofflinemoodle@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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 student account&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
Email: offlinestudent@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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;
&lt;br /&gt;
Internet Shortcuts&lt;br /&gt;
Offline Moodle.lnk&lt;br /&gt;
Offline Moodle at the Open University.lnk&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
Security&lt;br /&gt;
passwords are available on request to [c.chambers@open.ac.uk]&lt;br /&gt;
Database:&lt;br /&gt;
User: root&lt;br /&gt;
Password: &lt;br /&gt;
&lt;br /&gt;
Directory protection:&lt;br /&gt;
Will create  a .htaccess file for password protection over http&lt;br /&gt;
&lt;br /&gt;
User: root&lt;br /&gt;
Password:&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35058</id>
		<title>Development:Offline Moodle Create Environment</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle_Create_Environment&amp;diff=35058"/>
		<updated>2008-04-22T16:22:44Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&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;
Environment Generation&lt;br /&gt;
Source files&lt;br /&gt;
Xampp: xampplite-win32-1.6.6.exe&lt;br /&gt;
Moodle: moodle-1.9.zip release version&lt;br /&gt;
&lt;br /&gt;
===Install Moodle===&lt;br /&gt;
&lt;br /&gt;
Secure the mysql root password using the values below&lt;br /&gt;
&lt;br /&gt;
Create the moodle database&lt;br /&gt;
Run the following sql on the database&lt;br /&gt;
create database `moodle` character set utf8;&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;
&lt;br /&gt;
Create config file&lt;br /&gt;
There are two ways&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 Database tables and load data&lt;br /&gt;
&lt;br /&gt;
Got to http://localhost.moodle and follow the install process&lt;br /&gt;
&lt;br /&gt;
Setup up initial data&lt;br /&gt;
Username: Admin&lt;br /&gt;
Password: m00dl3&lt;br /&gt;
Email: testofflinemoodle@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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 student account&lt;br /&gt;
Username: student&lt;br /&gt;
Password: testing&lt;br /&gt;
Email: offlinestudent@open.ac.uk&lt;br /&gt;
Email Activated: Hide my email address from everyone&lt;br /&gt;
City/Town: Milton Keynes&lt;br /&gt;
Country: United Kingdom&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;
&lt;br /&gt;
Internet Shortcuts&lt;br /&gt;
Offline Moodle.lnk&lt;br /&gt;
Offline Moodle at the Open University.lnk&lt;br /&gt;
Location&lt;br /&gt;
&lt;br /&gt;
Security&lt;br /&gt;
passwords are available on request to [c.chambers@open.ac.uk]&lt;br /&gt;
Database:&lt;br /&gt;
User: root&lt;br /&gt;
Password: &lt;br /&gt;
&lt;br /&gt;
Directory protection:&lt;br /&gt;
Will create  a .htaccess file for password protection over http&lt;br /&gt;
&lt;br /&gt;
User: root&lt;br /&gt;
Password:&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=35057</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=35057"/>
		<updated>2008-04-22T16:19:46Z</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;
==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;
[[Development:Offline_Moodle_Create_Environment|Creating an Offline Moodle Environment]]&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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28456</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28456"/>
		<updated>2007-11-05T10:58:27Z</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;
==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/37/en/index.php?title=Development:Developer_notes&amp;diff=28455</id>
		<title>Development:Developer notes</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Developer_notes&amp;diff=28455"/>
		<updated>2007-11-05T10:46:47Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Other */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; New developer documentation pages should be added to the &#039;&#039;Development namespace&#039;&#039; by typing &amp;lt;code&amp;gt;Development:&amp;lt;/code&amp;gt; before the new page name i.e. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Development:New page name]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This area is for developers to work on various bits of code and documentation as necessary. Once material has matured it should be linked to from the main [[Development:Developer documentation|Developer documentation]] page.&lt;br /&gt;
&lt;br /&gt;
==Core code==&lt;br /&gt;
&lt;br /&gt;
*[[Other lang issues|Language issues]] &lt;br /&gt;
*[[Datalib Notes]]&lt;br /&gt;
*[[Application/session variables]]&lt;br /&gt;
*[[Filters schema]]&lt;br /&gt;
*[[Filterall support]]&lt;br /&gt;
*[[Groups documentation for module developers]]&lt;br /&gt;
*[[Development:Plan to improve ability to delegate administrator tasks to course category level|Plan to improve ability to delegate administrator tasks to course category level]]&lt;br /&gt;
*[[Development:Stealth mode and nested activities|Stealth mode and nested activities]]&lt;br /&gt;
&lt;br /&gt;
==Modules and other recognised plugin types==&lt;br /&gt;
&lt;br /&gt;
===Lesson===&lt;br /&gt;
&lt;br /&gt;
*[[Adding_question_types_to_lesson|Adding question types to lesson module]]&lt;br /&gt;
*[[Development:New lesson navigation | New lesson navigation]]&lt;br /&gt;
*[[Development:Adding blocks to lesson | Adding blocks to lesson]]&lt;br /&gt;
&lt;br /&gt;
===Quiz &amp;amp; question types===&lt;br /&gt;
&lt;br /&gt;
*[[Calculated question development]]&lt;br /&gt;
*[[Development:quiz_navigation | Quiz navigation]]&lt;br /&gt;
*[[Numerical question units and intervals]]&lt;br /&gt;
*[[Development:Plans for adaptive mode|Plans for adaptive mode]]&lt;br /&gt;
*[[Development:Quiz UI redesign prototype | Quiz UI redesign prototype]]&lt;br /&gt;
*[[Development:Open_protocol_for_accessing_question_engines|Open protocol for accessing question engines]]&lt;br /&gt;
*[[Development:Implementation of true negative marks in MC-type questions]]&lt;br /&gt;
&lt;br /&gt;
===Other activity modules===&lt;br /&gt;
&lt;br /&gt;
*[[Forum development|Forum functional upgrade]]&lt;br /&gt;
*[[Wiki development|Wiki module development]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
&lt;br /&gt;
*[[Blogs and forums|Blogs, forums and the nature of discussion]]&lt;br /&gt;
*[[Conditional activities]]&lt;br /&gt;
*[[Improved Payment Plugin]]&lt;br /&gt;
*[[Development:Moodle-specific customisations to the HTML editor]]&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
&lt;br /&gt;
*[[MoodleDocs development]]&lt;br /&gt;
*[[Usability]]&lt;br /&gt;
*[[Document Management API]]&lt;br /&gt;
*[[wikindx|Possible integration of WIKINDX with Moodle]]&lt;br /&gt;
*[[Quiz and quesions community testing day]]&lt;br /&gt;
*[[Development:Snapshot - flat HTML export of complete course]]&lt;br /&gt;
*[[Development:Offline Moodle | Development:Offline Moodle - A Moodle that runs on a mobile device with the internet]]&lt;br /&gt;
&lt;br /&gt;
==Archive: past proposals==&lt;br /&gt;
&lt;br /&gt;
===Things that got implemented===&lt;br /&gt;
&lt;br /&gt;
*[[Roles]] - in Moodle 1.7&lt;br /&gt;
*[[Moodle forms library]] - in Moodle 1.8&lt;br /&gt;
**[[Martin form notes]]&lt;br /&gt;
*[[Development:Plan_to_Improve_Flexibility_of_Question_Category_Sharing_and_Permissions|Plans for enhancing the question bank]] - in Moodle 1.9&lt;br /&gt;
*[[Development:Email notification when a quiz is submitted|Email notification when a quiz is submitted]] - in Moodle 1.9&lt;br /&gt;
*[[Development:Plans for enhancing import/export in questiontype plugins]] - in Moodle 1.9&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28453</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28453"/>
		<updated>2007-11-05T10:44:44Z</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;
==Where can I find out more?==&lt;br /&gt;
&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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28452</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28452"/>
		<updated>2007-11-05T10:44:21Z</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;
==Where can I find out more?==&lt;br /&gt;
&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;
&#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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28451</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28451"/>
		<updated>2007-11-05T10:43:54Z</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;
==Where can I find out more?==&lt;br /&gt;
&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;
&#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;
&#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;
&#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;
&#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;
&#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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28450</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28450"/>
		<updated>2007-11-05T10:43:22Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Assumptions of Offline Moodle */&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;
==Where can I find out more?==&lt;br /&gt;
&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;
&#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;
;test&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;
&#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;
&#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;
&#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;
&#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;
&#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;
&#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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28449</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28449"/>
		<updated>2007-11-05T10:41:04Z</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;
==Where can I find out more?==&lt;br /&gt;
&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;
&#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;
&#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;
&#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;
&#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;
&#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;
&#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;
&#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;
&#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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28448</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28448"/>
		<updated>2007-11-05T10:37:31Z</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;
==Where can I find out more?==&lt;br /&gt;
&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;
The information from the client or the server must be verified and checked at all times before being used. 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;
Information must pass through filters before being sent or used. 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;
The host device must be able to run Offline Moodle with as little modification as necessary. 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;
The Offline Moodle files must all be contained in one place. Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
Offline Moodle runs in its own self contained environment. 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;
It must be very easy to backup and restore the entire Offline Moodle. 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;
It must be very simple to reinstall. 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;
It must be very simple for a helpdesk or faculty to support.&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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28447</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28447"/>
		<updated>2007-11-05T10:36: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;
&#039;&#039;&#039;Where can I find out more?&#039;&#039;&#039;&lt;br /&gt;
&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;
&#039;&#039;&#039;Assumptions of Offline Moodle&#039;&#039;&#039;&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;
The information from the client or the server must be verified and checked at all times before being used. 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;
Information must pass through filters before being sent or used. 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;
The host device must be able to run Offline Moodle with as little modification as necessary. 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;
The Offline Moodle files must all be contained in one place. Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
Offline Moodle runs in its own self contained environment. 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;
It must be very easy to backup and restore the entire Offline Moodle. 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;
It must be very simple to reinstall. 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;
It must be very simple for a helpdesk or faculty to support.&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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28446</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28446"/>
		<updated>2007-11-05T10:36:14Z</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;
&#039;&#039;&#039;Where can I find out more?&#039;&#039;&#039;&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;
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;
The information from the client or the server must be verified and checked at all times before being used. 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;
Information must pass through filters before being sent or used. 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;
The host device must be able to run Offline Moodle with as little modification as necessary. 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;
The Offline Moodle files must all be contained in one place. Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
Offline Moodle runs in its own self contained environment. 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;
It must be very easy to backup and restore the entire Offline Moodle. 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;
It must be very simple to reinstall. 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;
It must be very simple for a helpdesk or faculty to support.&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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28445</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28445"/>
		<updated>2007-11-05T10:33:55Z</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;
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;
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;
The information from the client or the server must be verified and checked at all times before being used. 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;
Information must pass through filters before being sent or used. 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;
The host device must be able to run Offline Moodle with as little modification as necessary. 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;
The Offline Moodle files must all be contained in one place. Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
Offline Moodle runs in its own self contained environment. 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;
It must be very easy to backup and restore the entire Offline Moodle. 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;
It must be very simple to reinstall. 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;
It must be very simple for a helpdesk or faculty to support.&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/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28444</id>
		<title>Development:Offline Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Offline_Moodle&amp;diff=28444"/>
		<updated>2007-11-05T10:33:23Z</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 as 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;
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;
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;
The information from the client or the server must be verified and checked at all times before being used. 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;
Information must pass through filters before being sent or used. 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;
The host device must be able to run Offline Moodle with as little modification as necessary. 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;
The Offline Moodle files must all be contained in one place. Why?&lt;br /&gt;
Ease of support: reinstallation becomes much easier&lt;br /&gt;
&lt;br /&gt;
Offline Moodle runs in its own self contained environment. 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;
It must be very easy to backup and restore the entire Offline Moodle. 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;
It must be very simple to reinstall. 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;
It must be very simple for a helpdesk or faculty to support.&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/37/en/index.php?title=Development:Developer_notes&amp;diff=28443</id>
		<title>Development:Developer notes</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Developer_notes&amp;diff=28443"/>
		<updated>2007-11-05T10:32:52Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Other */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; New developer documentation pages should be added to the &#039;&#039;Development namespace&#039;&#039; by typing &amp;lt;code&amp;gt;Development:&amp;lt;/code&amp;gt; before the new page name i.e. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Development:New page name]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This area is for developers to work on various bits of code and documentation as necessary. Once material has matured it should be linked to from the main [[Development:Developer documentation|Developer documentation]] page.&lt;br /&gt;
&lt;br /&gt;
==Core code==&lt;br /&gt;
&lt;br /&gt;
*[[Other lang issues|Language issues]] &lt;br /&gt;
*[[Datalib Notes]]&lt;br /&gt;
*[[Application/session variables]]&lt;br /&gt;
*[[Filters schema]]&lt;br /&gt;
*[[Filterall support]]&lt;br /&gt;
*[[Groups documentation for module developers]]&lt;br /&gt;
*[[Development:Plan to improve ability to delegate administrator tasks to course category level|Plan to improve ability to delegate administrator tasks to course category level]]&lt;br /&gt;
*[[Development:Stealth mode and nested activities|Stealth mode and nested activities]]&lt;br /&gt;
&lt;br /&gt;
==Modules and other recognised plugin types==&lt;br /&gt;
&lt;br /&gt;
===Lesson===&lt;br /&gt;
&lt;br /&gt;
*[[Adding_question_types_to_lesson|Adding question types to lesson module]]&lt;br /&gt;
*[[Development:New lesson navigation | New lesson navigation]]&lt;br /&gt;
*[[Development:Adding blocks to lesson | Adding blocks to lesson]]&lt;br /&gt;
&lt;br /&gt;
===Quiz &amp;amp; question types===&lt;br /&gt;
&lt;br /&gt;
*[[Calculated question development]]&lt;br /&gt;
*[[Development:quiz_navigation | Quiz navigation]]&lt;br /&gt;
*[[Numerical question units and intervals]]&lt;br /&gt;
*[[Development:Plans for adaptive mode|Plans for adaptive mode]]&lt;br /&gt;
*[[Development:Quiz UI redesign prototype | Quiz UI redesign prototype]]&lt;br /&gt;
*[[Development:Open_protocol_for_accessing_question_engines|Open protocol for accessing question engines]]&lt;br /&gt;
*[[Development:Implementation of true negative marks in MC-type questions]]&lt;br /&gt;
&lt;br /&gt;
===Other activity modules===&lt;br /&gt;
&lt;br /&gt;
*[[Forum development|Forum functional upgrade]]&lt;br /&gt;
*[[Wiki development|Wiki module development]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
&lt;br /&gt;
*[[Blogs and forums|Blogs, forums and the nature of discussion]]&lt;br /&gt;
*[[Conditional activities]]&lt;br /&gt;
*[[Improved Payment Plugin]]&lt;br /&gt;
*[[Development:Moodle-specific customisations to the HTML editor]]&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
&lt;br /&gt;
*[[MoodleDocs development]]&lt;br /&gt;
*[[Usability]]&lt;br /&gt;
*[[Document Management API]]&lt;br /&gt;
*[[wikindx|Possible integration of WIKINDX with Moodle]]&lt;br /&gt;
*[[Quiz and quesions community testing day]]&lt;br /&gt;
*[[Development:Snapshot - flat HTML export of complete course]]&lt;br /&gt;
*[[Development:Offline Moodle - A Moodle that runs on a mobile device with the internet]]&lt;br /&gt;
*[[Development:Offline Moodle | Development:Offline Moodle - A Moodle that runs on a mobile device with the internet]]&lt;br /&gt;
&lt;br /&gt;
==Archive: past proposals==&lt;br /&gt;
&lt;br /&gt;
===Things that got implemented===&lt;br /&gt;
&lt;br /&gt;
*[[Roles]] - in Moodle 1.7&lt;br /&gt;
*[[Moodle forms library]] - in Moodle 1.8&lt;br /&gt;
**[[Martin form notes]]&lt;br /&gt;
*[[Development:Plan_to_Improve_Flexibility_of_Question_Category_Sharing_and_Permissions|Plans for enhancing the question bank]] - in Moodle 1.9&lt;br /&gt;
*[[Development:Email notification when a quiz is submitted|Email notification when a quiz is submitted]] - in Moodle 1.9&lt;br /&gt;
*[[Development:Plans for enhancing import/export in questiontype plugins]] - in Moodle 1.9&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Developer_notes&amp;diff=28438</id>
		<title>Development:Developer notes</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Developer_notes&amp;diff=28438"/>
		<updated>2007-11-05T10:17:13Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Other */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; New developer documentation pages should be added to the &#039;&#039;Development namespace&#039;&#039; by typing &amp;lt;code&amp;gt;Development:&amp;lt;/code&amp;gt; before the new page name i.e. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Development:New page name]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This area is for developers to work on various bits of code and documentation as necessary. Once material has matured it should be linked to from the main [[Development:Developer documentation|Developer documentation]] page.&lt;br /&gt;
&lt;br /&gt;
==Core code==&lt;br /&gt;
&lt;br /&gt;
*[[Other lang issues|Language issues]] &lt;br /&gt;
*[[Datalib Notes]]&lt;br /&gt;
*[[Application/session variables]]&lt;br /&gt;
*[[Filters schema]]&lt;br /&gt;
*[[Filterall support]]&lt;br /&gt;
*[[Groups documentation for module developers]]&lt;br /&gt;
*[[Development:Plan to improve ability to delegate administrator tasks to course category level|Plan to improve ability to delegate administrator tasks to course category level]]&lt;br /&gt;
*[[Development:Stealth mode and nested activities|Stealth mode and nested activities]]&lt;br /&gt;
&lt;br /&gt;
==Modules and other recognised plugin types==&lt;br /&gt;
&lt;br /&gt;
===Lesson===&lt;br /&gt;
&lt;br /&gt;
*[[Adding_question_types_to_lesson|Adding question types to lesson module]]&lt;br /&gt;
*[[Development:New lesson navigation | New lesson navigation]]&lt;br /&gt;
*[[Development:Adding blocks to lesson | Adding blocks to lesson]]&lt;br /&gt;
&lt;br /&gt;
===Quiz &amp;amp; question types===&lt;br /&gt;
&lt;br /&gt;
*[[Calculated question development]]&lt;br /&gt;
*[[Development:quiz_navigation | Quiz navigation]]&lt;br /&gt;
*[[Numerical question units and intervals]]&lt;br /&gt;
*[[Development:Plans for adaptive mode|Plans for adaptive mode]]&lt;br /&gt;
*[[Development:Quiz UI redesign prototype | Quiz UI redesign prototype]]&lt;br /&gt;
*[[Development:Open_protocol_for_accessing_question_engines|Open protocol for accessing question engines]]&lt;br /&gt;
*[[Development:Implementation of true negative marks in MC-type questions]]&lt;br /&gt;
&lt;br /&gt;
===Other activity modules===&lt;br /&gt;
&lt;br /&gt;
*[[Forum development|Forum functional upgrade]]&lt;br /&gt;
*[[Wiki development|Wiki module development]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
&lt;br /&gt;
*[[Blogs and forums|Blogs, forums and the nature of discussion]]&lt;br /&gt;
*[[Conditional activities]]&lt;br /&gt;
*[[Improved Payment Plugin]]&lt;br /&gt;
*[[Development:Moodle-specific customisations to the HTML editor]]&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
&lt;br /&gt;
*[[MoodleDocs development]]&lt;br /&gt;
*[[Usability]]&lt;br /&gt;
*[[Document Management API]]&lt;br /&gt;
*[[wikindx|Possible integration of WIKINDX with Moodle]]&lt;br /&gt;
*[[Quiz and quesions community testing day]]&lt;br /&gt;
*[[Development:Snapshot - flat HTML export of complete course]]&lt;br /&gt;
*[[Development:Offline Moodle - A Moodle that runs on a mobile device with the internet]]&lt;br /&gt;
&lt;br /&gt;
==Archive: past proposals==&lt;br /&gt;
&lt;br /&gt;
===Things that got implemented===&lt;br /&gt;
&lt;br /&gt;
*[[Roles]] - in Moodle 1.7&lt;br /&gt;
*[[Moodle forms library]] - in Moodle 1.8&lt;br /&gt;
**[[Martin form notes]]&lt;br /&gt;
*[[Development:Plan_to_Improve_Flexibility_of_Question_Category_Sharing_and_Permissions|Plans for enhancing the question bank]] - in Moodle 1.9&lt;br /&gt;
*[[Development:Email notification when a quiz is submitted|Email notification when a quiz is submitted]] - in Moodle 1.9&lt;br /&gt;
*[[Development:Plans for enhancing import/export in questiontype plugins]] - in Moodle 1.9&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:Developer_notes&amp;diff=28437</id>
		<title>Development:Developer notes</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:Developer_notes&amp;diff=28437"/>
		<updated>2007-11-05T10:16:51Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Other */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;Note:&#039;&#039;&#039; New developer documentation pages should be added to the &#039;&#039;Development namespace&#039;&#039; by typing &amp;lt;code&amp;gt;Development:&amp;lt;/code&amp;gt; before the new page name i.e. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Development:New page name]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This area is for developers to work on various bits of code and documentation as necessary. Once material has matured it should be linked to from the main [[Development:Developer documentation|Developer documentation]] page.&lt;br /&gt;
&lt;br /&gt;
==Core code==&lt;br /&gt;
&lt;br /&gt;
*[[Other lang issues|Language issues]] &lt;br /&gt;
*[[Datalib Notes]]&lt;br /&gt;
*[[Application/session variables]]&lt;br /&gt;
*[[Filters schema]]&lt;br /&gt;
*[[Filterall support]]&lt;br /&gt;
*[[Groups documentation for module developers]]&lt;br /&gt;
*[[Development:Plan to improve ability to delegate administrator tasks to course category level|Plan to improve ability to delegate administrator tasks to course category level]]&lt;br /&gt;
*[[Development:Stealth mode and nested activities|Stealth mode and nested activities]]&lt;br /&gt;
&lt;br /&gt;
==Modules and other recognised plugin types==&lt;br /&gt;
&lt;br /&gt;
===Lesson===&lt;br /&gt;
&lt;br /&gt;
*[[Adding_question_types_to_lesson|Adding question types to lesson module]]&lt;br /&gt;
*[[Development:New lesson navigation | New lesson navigation]]&lt;br /&gt;
*[[Development:Adding blocks to lesson | Adding blocks to lesson]]&lt;br /&gt;
&lt;br /&gt;
===Quiz &amp;amp; question types===&lt;br /&gt;
&lt;br /&gt;
*[[Calculated question development]]&lt;br /&gt;
*[[Development:quiz_navigation | Quiz navigation]]&lt;br /&gt;
*[[Numerical question units and intervals]]&lt;br /&gt;
*[[Development:Plans for adaptive mode|Plans for adaptive mode]]&lt;br /&gt;
*[[Development:Quiz UI redesign prototype | Quiz UI redesign prototype]]&lt;br /&gt;
*[[Development:Open_protocol_for_accessing_question_engines|Open protocol for accessing question engines]]&lt;br /&gt;
*[[Development:Implementation of true negative marks in MC-type questions]]&lt;br /&gt;
&lt;br /&gt;
===Other activity modules===&lt;br /&gt;
&lt;br /&gt;
*[[Forum development|Forum functional upgrade]]&lt;br /&gt;
*[[Wiki development|Wiki module development]]&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
&lt;br /&gt;
*[[Blogs and forums|Blogs, forums and the nature of discussion]]&lt;br /&gt;
*[[Conditional activities]]&lt;br /&gt;
*[[Improved Payment Plugin]]&lt;br /&gt;
*[[Development:Moodle-specific customisations to the HTML editor]]&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
&lt;br /&gt;
*[[MoodleDocs development]]&lt;br /&gt;
*[[Usability]]&lt;br /&gt;
*[[Document Management API]]&lt;br /&gt;
*[[wikindx|Possible integration of WIKINDX with Moodle]]&lt;br /&gt;
*[[Quiz and quesions community testing day]]&lt;br /&gt;
*[[Development:Snapshot - flat HTML export of complete course]]&lt;br /&gt;
*[[Development:Offline_Moodle - A Moodle that runs on a mobile device with the internet]]&lt;br /&gt;
&lt;br /&gt;
==Archive: past proposals==&lt;br /&gt;
&lt;br /&gt;
===Things that got implemented===&lt;br /&gt;
&lt;br /&gt;
*[[Roles]] - in Moodle 1.7&lt;br /&gt;
*[[Moodle forms library]] - in Moodle 1.8&lt;br /&gt;
**[[Martin form notes]]&lt;br /&gt;
*[[Development:Plan_to_Improve_Flexibility_of_Question_Category_Sharing_and_Permissions|Plans for enhancing the question bank]] - in Moodle 1.9&lt;br /&gt;
*[[Development:Email notification when a quiz is submitted|Email notification when a quiz is submitted]] - in Moodle 1.9&lt;br /&gt;
*[[Development:Plans for enhancing import/export in questiontype plugins]] - in Moodle 1.9&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:MoodleMoot_2007_HackFest&amp;diff=28139</id>
		<title>Development:MoodleMoot 2007 HackFest</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:MoodleMoot_2007_HackFest&amp;diff=28139"/>
		<updated>2007-10-23T08:47:55Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Offline Moodle (and particularly synchronisation issues) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The main part of the [http://moodlemoot.org/ 2007 UK Moodle Moot] is on Wednesday and Thursday 24th and 25th October. The day before, on the Tuesday, there will be a HackFest for developers to meet, talk and write code.&lt;br /&gt;
&lt;br /&gt;
==Practical arrangement==&lt;br /&gt;
&lt;br /&gt;
You need to get [http://maps.google.co.uk/maps?ll=52.025356,-0.710997&amp;amp;spn=0.001005,0.001904&amp;amp;t=k&amp;amp;z=19 right here]. This is the centre of the Open University&#039;s Campus:&lt;br /&gt;
&lt;br /&gt;
[http://www3.open.ac.uk/contact/ The Open University]&amp;lt;br /&amp;gt;&lt;br /&gt;
Walton Hall&amp;lt;br /&amp;gt;&lt;br /&gt;
Milton Keynes&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://maps.google.co.uk/?q=mk7+6aa&amp;amp;ie=UTF8&amp;amp;om=1&amp;amp;f=d MK7 6AA]&lt;br /&gt;
&lt;br /&gt;
The area we are meeting in is called the Christodoulou Meeting Rooms. The entry is under an archway, and if you go in and up the stairs you should find us in Meeting Room 15, or the open foyer area just outside it. We will be there from about 10:00am to about 5:30pm, and lunch will be provided. We also have rooms 1, 2 and 7 available if people want to form smaller groups at any time. (Also, in meeting room 11, there will be a separate group of people taking about online equation editors, which may interest some people.)&lt;br /&gt;
&lt;br /&gt;
If you are registered for the MoodleMoot, wireless network sign-in information should be available on arrival.&lt;br /&gt;
&lt;br /&gt;
==Programme for the day==&lt;br /&gt;
&lt;br /&gt;
In keeping with Moodle&#039;s open source philosophy, the day will be self-organising. You can turn up and talk to other developers about anything you like. However, within that general free-for-all, we will have a number of pre-announced discussions on particular topics at particular times. We have a number of other rooms available for these break-out sessions, but I don&#039;t know the room numbers right now.&lt;br /&gt;
&lt;br /&gt;
Please feel free to add your own suggestions below.&lt;br /&gt;
&lt;br /&gt;
Naturally, not all developers will be able to come, so it might be a good idea to start discussing some of these topics in the [http://moodle.org/mod/forum/view.php?id=55 General Developer Forum] now. And if anything significant comes out of the discussions, we should try to record it on the wiki.&lt;br /&gt;
&lt;br /&gt;
==Particular discussions==&lt;br /&gt;
&lt;br /&gt;
These are significant topics, where it might be worth getting about 5-10 interested developers into a break-out room for a focussed discussion on one topic, or a demonstration of a particular idea.&lt;br /&gt;
&lt;br /&gt;
Irrespective of these sessions, there will be other developers around talking about whatever interests them all day.&lt;br /&gt;
&lt;br /&gt;
===Repository API===&lt;br /&gt;
The aim is to develop some consensus on how it can work so that a spec can be started.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 10:30 - 11:20&lt;br /&gt;
|-&lt;br /&gt;
| Room: || CMR07&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Martin Dougiamas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Social Networking tools===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 11:20 - 12:00&lt;br /&gt;
|-&lt;br /&gt;
| Room: || CMR07&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Jenny Gray&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
The aim is to discuss recent user tagging in Moodle and how it can be used; to think about what else can be tagged (courses, resources, activities etc); and to think about how Moodle can be made more social.  Here are some suggestions made to me recently:&lt;br /&gt;
&lt;br /&gt;
* Learning twitter&lt;br /&gt;
* Learning shared to do &lt;br /&gt;
* Offering self-organising groups of learners their own activity areas (forums etc)&lt;br /&gt;
* shared activity reports&lt;br /&gt;
&lt;br /&gt;
=== Accessibility demonstration ===&lt;br /&gt;
My colleague Chetz Colwell and I would like to give a brief demonstration of assistive technologies to developers, particularly core developers, and discuss future accessibility work on Moodle. We&#039;ll hopefully have a screen reader JAWS (Thunder?), screen magnifier, do a keyboard-only demo, and possibly speech recognition.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 12:00 to 12:40&lt;br /&gt;
|-&lt;br /&gt;
| Room: || CMR15&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Nick Freear&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quiz developments===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 1:40 to 2:20&lt;br /&gt;
|-&lt;br /&gt;
| Room: || CMR07&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Tim Hunt&lt;br /&gt;
|}&lt;br /&gt;
We can discuss some things that have happened recently:&lt;br /&gt;
* The implication of [[Development:Plan_to_Improve_Flexibility_of_Question_Category_Sharing_and_Permissions|Jamie&#039;s recent changes to the question bank]],&lt;br /&gt;
* Improvements to the question type API, especially [[Development:Plans_for_enhancing_import/export_in_questiontype_plugins|Howard&#039;s recent changes]],&lt;br /&gt;
some things that will probably happen soon:&lt;br /&gt;
* The OU&#039;s quiz navigation changes, that we hope to put into Moodle 2.0,&lt;br /&gt;
* The OU&#039;s [[Development:Plans_for_adaptive_mode|changes to adaptive mode]] that we hope to put into Moodle 2.0,&lt;br /&gt;
* Tony Gardner-Medwin&#039;s plans to introduce certainty-based marking,&lt;br /&gt;
known problems with the quiz architecture that no-one is working on right now:&lt;br /&gt;
* ... suggestions welcome ...&lt;br /&gt;
and anything else you want to raise.&lt;br /&gt;
&lt;br /&gt;
Of course, you can talk to me about the quiz at any time time during the day too, if you have a more specific issue.&lt;br /&gt;
&lt;br /&gt;
===ePortfolios===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 2:20 to 3:00&lt;br /&gt;
|-&lt;br /&gt;
| Room: || CMR07&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Thanh Le&lt;br /&gt;
|}&lt;br /&gt;
A quick overview of the Open University electronic portfolio tool and describing its technical underpinning to provide more background information.&lt;br /&gt;
&lt;br /&gt;
From the session, I am keen to:&lt;br /&gt;
* gauge people&#039;s interest in the tool;&lt;br /&gt;
* discuss how the tool can integrate with other Moodle tools around the concept of personal data storage;&lt;br /&gt;
* gather interest and collaboration;&lt;br /&gt;
&lt;br /&gt;
===Conditional Activities===&lt;br /&gt;
The aim is to develop some consensus on how it can work so that a spec can be started.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 3:00 - 3:40&lt;br /&gt;
|-&lt;br /&gt;
| Room: || CMR07&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Martin Dougiamas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Offline Moodle (and particularly synchronisation issues)===&lt;br /&gt;
Offline Moodle reuses the core components on Backup and mNet(Moodle Network) and adds a synchronisation component to take care of tasks that Moodle doesn&#039;t already cater for. &lt;br /&gt;
&lt;br /&gt;
The components are used because they are core components. They already offer functionality that we require and as they evolve the Offline Moodle feature will be able to take advantage of the extra features, functionality and reliability they provide. &lt;br /&gt;
&lt;br /&gt;
Because this is a new feature I&#039;ll explain a little about how we use the comments and then jot a few questions down that have come up:&lt;br /&gt;
Backup and restore is used to get information in and out of Moodle in a standardised format well understood by Moodle. It is supported by most modules and features and is likely to be fixed quickly as changes to modules effect the backup process.&lt;br /&gt;
* Will the backup tool scale effectively&lt;br /&gt;
* Will changes for Offline Moodle harm the backup code? &lt;br /&gt;
&lt;br /&gt;
Moodle Network is used to provide web service functionality. &lt;br /&gt;
* is Moodle Network the best option for this? &lt;br /&gt;
* has the web service been implemented correctly?&lt;br /&gt;
&lt;br /&gt;
Synchronisation (Synch) Component&lt;br /&gt;
This component is really the main controller of synchronisation whic is the key feature of Offline Moodle at this time. We&#039;ve spent a lot of our time developing code to get the content in and out of Moodle and transferred between Moodles in a reliable and well managed fashion. The synch component brings all this together. &lt;br /&gt;
&lt;br /&gt;
So far we&#039;ve proven that we can reliably get course content and related module content from Moodle Server to Offline Moodle. For forums we can get it back again. We&#039;ve investigated lots more but haven&#039;t code it yet. &lt;br /&gt;
&lt;br /&gt;
We would like the communities input. The plan is to improve it by adding functionality such as: &lt;br /&gt;
* merging content: this is a key feature. For example merging a forum discussion with posts from the Offline Moodle and the Moodle Server. Our original proof of concept proved this is possible for forums but the code has not been written for Offline Moodle&lt;br /&gt;
* filtering content: passwords, copyrighted material and other sensitive data all need to be removed at certain points through out the process&lt;br /&gt;
* security: checks for hacking, viruses and trojans, making sure the data doesn&#039;t get changed in transit. These are all key issues that need to be addressed.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 3:40 - 4:20&lt;br /&gt;
|-&lt;br /&gt;
| Room: || CMR07&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Colin Chambers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other things people want to do during the day==&lt;br /&gt;
&lt;br /&gt;
=== PGP Keysiging ===&lt;br /&gt;
If any developers would like to exchange PGP Keys and expand their web of trust then this could be done during the Developer day.  &lt;br /&gt;
&lt;br /&gt;
I think it would be good to follow the  [http://www.debian.org/events/keysigning Debian guidlines] for this.--[[User:Dan Poltawski|Dan Poltawski]] 18:03, 10 October 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
===Enrollment &#039;Groups&#039;===&lt;br /&gt;
I would like to discuss the concept of enrollment groups and thoughts on the reasons for such a feature to be incorporated into Moodle. It would be a useful opportunity to discuss approaches with developers. This is with the intention of implementing a solution and offering it for inclusion into core when I work on this in the coming months. --[[User:Dan Poltawski|Dan Poltawski]] 16:46, 16 October 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
===Bug fixing prize?===&lt;br /&gt;
&lt;br /&gt;
Should we offer a prize for the person who fixes most bugs during the day?--[[User:Tim Hunt|Tim Hunt]] 03:46, 14 October 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
Sorry I won&#039;t be there,&lt;br /&gt;
Ok if you mean somebody submitting the larger number of proposals approved by at least one of the participants, on how to solve various bug. No real code please, if you don&#039;t want to create new ones...[[User:Pierre Pichet|Pierre Pichet]] 18:34, 19 October 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Developer conferences]]&lt;br /&gt;
* [http://moodle.org/mod/forum/view.php?id=55 General Developer Forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/37/en/index.php?title=Development:MoodleMoot_2007_HackFest&amp;diff=27927</id>
		<title>Development:MoodleMoot 2007 HackFest</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/37/en/index.php?title=Development:MoodleMoot_2007_HackFest&amp;diff=27927"/>
		<updated>2007-10-18T11:09:29Z</updated>

		<summary type="html">&lt;p&gt;Colchambers: /* Offline Moodle (and particularly synchronisation issues) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The main part of the [http://moodlemoot.org/ 2007 UK Moodle Moot] is on Wednesday and Thursday 24th and 25th October. The day before, on the Tuesday, there will be a HackFest for developers to meet, talk and write code.&lt;br /&gt;
&lt;br /&gt;
==Practical arrangement==&lt;br /&gt;
&lt;br /&gt;
You need to get [http://maps.google.co.uk/maps?ll=52.025356,-0.710997&amp;amp;spn=0.001005,0.001904&amp;amp;t=k&amp;amp;z=19 right here]. This is the centre of the Open University&#039;s Campus:&lt;br /&gt;
&lt;br /&gt;
[http://www3.open.ac.uk/contact/ The Open University]&amp;lt;br /&amp;gt;&lt;br /&gt;
Walton Hall&amp;lt;br /&amp;gt;&lt;br /&gt;
Milton Keynes&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://maps.google.co.uk/?q=mk7+6aa&amp;amp;ie=UTF8&amp;amp;om=1&amp;amp;f=d MK7 6AA]&lt;br /&gt;
&lt;br /&gt;
The area we are meeting in is called the Christodoulou Meeting Rooms. The entry is under an archway, and if you go in and up the stairs you should find us in Meeting Room 15, or the open foyer area just outside it. We will be there from about 10:00am to about 5:30pm, and lunch will be provided.&lt;br /&gt;
&lt;br /&gt;
If you are registered for the MoodleMoot, wireless network sign-in information should be available on arrival.&lt;br /&gt;
&lt;br /&gt;
==Programme for the day==&lt;br /&gt;
&lt;br /&gt;
In keeping with Moodle&#039;s open source philosophy, the day will be self-organising. You can turn up and talk to other developers about anything you like. However, within that general free-for-all, we will have a number of pre-announced discussions on particular topics at particular times. We have a number of other rooms available for these break-out sessions, but I don&#039;t know the room numbers right now.&lt;br /&gt;
&lt;br /&gt;
Please feel free to add your own suggestions below.&lt;br /&gt;
&lt;br /&gt;
Naturally, not all developers will be able to come, so it might be a good idea to start discussing some of these topics in the [http://moodle.org/mod/forum/view.php?id=55 General Developer Forum] now. And if anything significant comes out of the discussions, we should try to record it on the wiki.&lt;br /&gt;
&lt;br /&gt;
==Particular discussions==&lt;br /&gt;
&lt;br /&gt;
These are significant topics, where it might be worth getting about 5-10 interested developers into a break-out room for a focussed discussion on one topic, or a demonstration of a particular idea.&lt;br /&gt;
&lt;br /&gt;
Irrespective of these sessions, there will be other developers around talking about whatever interests them all day.&lt;br /&gt;
&lt;br /&gt;
=== Accessibility demonstration ===&lt;br /&gt;
My colleague Chetz Colwell and I would like to give a brief demonstration of assistive technologies to developers, particularly core developers, and discuss future accessibility work on Moodle. We&#039;ll hopefully have a screen reader JAWS (Thunder?), screen magnifier, do a keyboard-only demo, and possibly speech recognition.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 10:00 to 10:40&lt;br /&gt;
|-&lt;br /&gt;
| Room: || ??&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Nick Freear&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Repository API===&lt;br /&gt;
The aim is to develop some consensus on how it can work so that a spec can be started.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 10:40 - 11:20&lt;br /&gt;
|-&lt;br /&gt;
| Room: || ??&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Martin Dougiamas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Social Networking tools===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 11:20 - 12:00&lt;br /&gt;
|-&lt;br /&gt;
| Room: || ??&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Jenny Grey&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Quiz developments===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 1:40 to 2:20&lt;br /&gt;
|-&lt;br /&gt;
| Room: || ??&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Tim Hunt&lt;br /&gt;
|}&lt;br /&gt;
We can discuss some things that have happened recently:&lt;br /&gt;
* The implication of [[Development:Plan_to_Improve_Flexibility_of_Question_Category_Sharing_and_Permissions|Jamie&#039;s recent changes to the question bank]],&lt;br /&gt;
* Improvements to the question type API, especially [[Development:Plans_for_enhancing_import/export_in_questiontype_plugins|Howard&#039;s recent changes]],&lt;br /&gt;
some things that will probably happen soon:&lt;br /&gt;
* The OU&#039;s quiz navigation changes, that we hope to put into Moodle 2.0,&lt;br /&gt;
* The OU&#039;s [[Development:Plans_for_adaptive_mode|changes to adaptive mode]] that we hope to put into Moodle 2.0,&lt;br /&gt;
* Tony Gardner-Medwin&#039;s plans to introduce certainty-based marking,&lt;br /&gt;
known problems with the quiz architecture that no-one is working on right now:&lt;br /&gt;
* ... suggestions welcome ...&lt;br /&gt;
and anything else you want to raise.&lt;br /&gt;
&lt;br /&gt;
Of course, you can talk to me about the quiz at any time time during the day too, if you have a more specific issue.&lt;br /&gt;
&lt;br /&gt;
===ePortfolios===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 2:20 to 3:00&lt;br /&gt;
|-&lt;br /&gt;
| Room: || ??&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Thanh Le&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Conditional Activities===&lt;br /&gt;
The aim is to develop some consensus on how it can work so that a spec can be started.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 3:00 - 3:40&lt;br /&gt;
|-&lt;br /&gt;
| Room: || ??&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Martin Dougiamas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Offline Moodle (and particularly synchronisation issues)===&lt;br /&gt;
Offline Moodle reuses the core components on Backup and mNet(Moodle Network) and adds a synchronisation component to take care of tasks that Moodle doesn&#039;t already cater for. &lt;br /&gt;
&lt;br /&gt;
The components are used because they are core components. They already offer functionality that we require and as they evolve the Offline Moodle feature will be able to take advantage of the extra features, functionality and reliability they provide. &lt;br /&gt;
&lt;br /&gt;
Because this is a new feature I&#039;ll explain a little about how we use the comments and then jot a few questions down that have come up:&lt;br /&gt;
Backup and restore is used to get information in and out of Moodle in a standardised format well understood by Moodle. It is supported by most modules and features and is likely to be fixed quickly as changes to modules effect the backup process.&lt;br /&gt;
* Will the backup tool scale effectively&lt;br /&gt;
* Will changes for Offline Moodle harm the backup code? &lt;br /&gt;
&lt;br /&gt;
Moodle Network is used to provide web service functionality. &lt;br /&gt;
* is Moodle Network the best option for this? &lt;br /&gt;
* has the web service been implemented correctly?&lt;br /&gt;
&lt;br /&gt;
Synchronisation (Synch) Component&lt;br /&gt;
This component is really the main controller of synchronisation whic is the key feature of Offline Moodle at this time. We&#039;ve spent a lot of our time developing code to get the content in and out of Moodle and transferred between Moodles in a reliable and well managed fashion. The synch component brings all this together. &lt;br /&gt;
&lt;br /&gt;
So far we&#039;ve proven that we can reliably get course content and related module content from Moodle Server to Offline Moodle. For forums we can get it back again. We&#039;ve investigated lots more but haven&#039;t code it yet. &lt;br /&gt;
&lt;br /&gt;
We would like the communities input. The plan is to improve it by adding functionality such as: &lt;br /&gt;
* merging content: this is a key feature. For example merging a forum discussion with posts from the Offline Moodle and the Moodle Server. Our original proof of concept proved this is possible for forums but the code has not been written for Offline Moodle&lt;br /&gt;
* filtering content: passwords, copyrighted material and other sensitive data all need to be removed at certain points through out the process&lt;br /&gt;
* security: checks for hacking, viruses and trojans, making sure the data doesn&#039;t get changed in transit. These are all key issues that need to be addressed.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Time: || 3:40 - 4:20&lt;br /&gt;
|-&lt;br /&gt;
| Room: || ??&lt;br /&gt;
|-&lt;br /&gt;
| Suggested by: || Colin Chambers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other things people want to do during the day==&lt;br /&gt;
&lt;br /&gt;
=== PGP Keysiging ===&lt;br /&gt;
If any developers would like to exchange PGP Keys and expand their web of trust then this could be done during the Developer day.  &lt;br /&gt;
&lt;br /&gt;
I think it would be good to follow the  [http://www.debian.org/events/keysigning Debian guidlines] for this.--[[User:Dan Poltawski|Dan Poltawski]] 18:03, 10 October 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
===Enrollment &#039;Groups&#039;===&lt;br /&gt;
I would like to discuss the concept of enrollment groups and thoughts on the reasons for such a feature to be incorporated into Moodle. It would be a useful opportunity to discuss approaches with developers. This is with the intention of implementing a solution and offering it for inclusion into core when I work on this in the coming months. --[[User:Dan Poltawski|Dan Poltawski]] 16:46, 16 October 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
===Bug fixing prize?===&lt;br /&gt;
&lt;br /&gt;
Should we offer a prize for the person who fixes most bugs during the day?--[[User:Tim Hunt|Tim Hunt]] 03:46, 14 October 2007 (CDT)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Developer conferences]]&lt;br /&gt;
* [http://moodle.org/mod/forum/view.php?id=55 General Developer Forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Colchambers</name></author>
	</entry>
</feed>