<title>Moodle Docs: Developers Manual</title>\r
<link rel="stylesheet" href="../theme/standard/styles.php" type="TEXT/CSS">\r
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r
+ <style type="text/css">\r
+ <!--\r
+ .sectionheading {\r
+ font-size: medium;\r
+ font-weight: bold;\r
+ font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;\r
+ border: 1px dotted;\r
+ padding: 10px;\r
+ background-color: #EEEEEE;\r
+ }\r
+ -->\r
+ </style>\r
</head>\r
\r
<body bgcolor="#FFFFFF">\r
<h2>Developers Manual</h2>\r
<p>This document describes some of Moodle's design and how you can contribute.</p>\r
+<p>It's a bit thin at the moment - better documentation will come eventually!</p>\r
<p>Sections in this document:</p>\r
<ol>\r
<li><a href="#architecture">Moodle architecture</a></li>\r
</li>\r
</ol>\r
<p> </p>\r
-<h3><a name="architecture"></a>1. Moodle architecture</h3>\r
-<p>From a system administrator's perspective, Moodle has been designed according \r
- to the following criteria:</p>\r
-<ol>\r
- <li><strong>Moodle should run on the widest variety of platforms</strong><br>\r
- <br>\r
- The web application platform that runs on most platforms is PHP combined with \r
- MySQL, and this is the environment that Moodle has been developed in (on Linux, \r
- Windows, and Mac OS X). Moodle also uses the ADOdb library for database abstraction, \r
- which means Moodle can use <a href="http://php.weblogs.com/ADOdb_manual#drivers">more \r
- than ten different brands of database</a> (unfortunately, though, it can not \r
- yet <em><strong>set up tables</strong></em> in all these databases - more \r
- on this later). <br><br>\r
- </li>\r
- <li><strong>Moodle should be easy to install, learn and modify</strong><br>\r
- <br>\r
- Early prototypes of Moodle (1999) were built using <a target=_top href="http://www.zope.org/">Zope</a> \r
- - an advanced object-oriented web application server. Unfortunately I found \r
- that although the technology was pretty cool, it had a very steep learning \r
- curve and was not very flexible in terms of system administration. The PHP \r
- scripting language, on the other hand, is very easy to get into (especially \r
- if you've done any programming using any other scripting language). Early \r
- on I made the decision to avoid using a class-oriented design - again, to \r
- keep it simple to understand for novices. Code reuse is instead achieved by \r
- libraries of clearly-named functions and consistent layout of script files. \r
- PHP is also easy to install (binaries are available for every platform) and \r
- is widely available to the point that most web hosting services provide it \r
- as standard.<br><br>\r
- </li>\r
- <li><strong>It should be easy to upgrade from one version to the next</strong><br>\r
- <br>\r
- Moodle knows what version it is (as well as the versions of all plug-in modules) \r
- and a mechanism has been built-in so that Moodle can properly upgrade itself \r
- to new versions (for example it can rename database tables or add new fields). \r
- If using CVS in Unix for example, one can just do a "cvs update -d" \r
- and then visit the site home page to complete an upgrade.<br><br>\r
- </li>\r
- <li><strong>It should be modular to allow for growth</strong><br>\r
- <br>\r
- Moodle has a number of features that are modular, including themes, activities, \r
- interface languages, database schemas and course formats. This allows anyone \r
- to add features to the main codebase or to even distribute them separately. \r
- More on this below in the next section.<br><br>\r
- </li>\r
- <li><strong>It should be able to be used in conjunction with other systems</strong><br>\r
- <br>\r
- One thing Moodle does is keep all files for one course within a single, normal \r
- directory on the server. This would allow a system administrator to provide \r
- seamless forms of file-level access for each teacher, such as Appletalk, SMB, \r
- NFS, FTP, WebDAV and so on. The authentication modules allow Moodle to use \r
- LDAP, IMAP, POP3, NNTP and other databases as sources for user information.\r
- Otherwise, there is work yet to do. Features planned \r
- for Moodle in future versions include: import and export of Moodle data using XML-based \r
- formats (including IMS and SCORM); and increased use of style sheets for \r
- interface formatting (so that it can be integrated visually into other web sites).</li>\r
-</ol>\r
-<p> </p>\r
-<h3><a name="contribute" id="contribute"></a>2. How you can contribute</h3>\r
-<p>As mentioned above, Moodle has a number of features that are modular. Even \r
- if you are not a programmer there are things you can change or help with.</p>\r
-<p><strong><a name="activities" id="activities"></a>Learning Activities</strong></p>\r
-<blockquote> \r
- <p>These are by far the most important modules, and reside in the 'mod' directory. \r
- There are seven default modules: assignment, choice, forum, journal, quiz, \r
- resource, and survey. Each module is in a separate subdirectory and consists \r
- of the following mandatory elements (plus extra scripts unique to each module):</p>\r
- <ul>\r
- <li>mod.html: a form to set up or update an instance of this module</li>\r
- <li>version.php: defines some meta-info and provides upgrading code</li>\r
- <li>icon.gif: a 16x16 icon for the module</li>\r
- <li>db/: SQL dumps of all the required db tables and data (for each database \r
- type) </li>\r
- <li>index.php: a page to list all instances in a course</li>\r
- <li>view.php: a page to view a particular instance</li>\r
- <li>lib.php: any/all functions defined by the module should be in here. If \r
- the modulename if called widget, then the required functions include: \r
- <ul>\r
- <li>widget_add_instance() - code to add a new instance of widget</li>\r
- <li>widget_update_instance() - code to update an existing instance</li>\r
- <li>widget_delete_instance() - code to delete an instance</li>\r
- <li>widget_user_outline() - given an instance, return a summary of a user's \r
- contribution</li>\r
- <li>widget_user_complete() - given an instance, print details of a user's \r
- contribution<br>\r
- </li>\r
- <li>To avoid possible conflict, any module functions should be named starting \r
- with widget_ and any constants you define should start with WIDGET_ \r
- </li>\r
- </ul>\r
- </li>\r
- <li>Lastly, each module will have some language files that contain strings \r
- for that module. See below.</li>\r
- </ul>\r
- <p>The easiest way to start a new learning activity module is to use the template \r
- in <strong><a href="http://moodle.com/mod/newmodule_template.zip">mod/newmodule_template.zip</a>.</strong> \r
- Unzip it and follow the README inside. </p>\r
- <p>You might also like to post first in the <a href="http://moodle.com/mod/forum/view.php?id=44" target="_top">Activities \r
- modules forum on Using Moodle</a>.</p>\r
- <p> </p>\r
-</blockquote>\r
-<p> <strong><a name="themes" id="themes"></a>Themes</strong></p>\r
-<blockquote> \r
- <p>Themes (or skins) define the look of a site. A number of simple themes are \r
- provided in the main distribution, but you may want to create your own theme\r
- with your own colours, logo, styles and graphics.\r
-\r
- <p>Each theme is in a subdirectory of the "theme" directory, and contains \r
- at least the following files:</p>\r
- <ul>\r
- <li><strong>config.php</strong>: defines the theme colours used throughout \r
- the site</li>\r
- <li><strong>styles.php</strong>: the style sheet, containing CSS definitions \r
- for standard HTML elements as well as many Moodle elements.</li>\r
- <li><strong>header.html</strong>: Included at the top of each page. This is \r
- what you need to edit to add a logo at the top of pages, for example.</li>\r
- <li><strong>footer.html</strong>: Included at the bottom of each page.</li>\r
- </ul>\r
- <p>To create your own themes for current versions of Moodle:</p>\r
+<h3 class="sectionheading"><a name="architecture"></a>1. Moodle architecture</h3>\r
+<blockquote>\r
+ <p>From a system administrator's perspective, Moodle has been designed according \r
+ to the following criteria:</p>\r
<ol>\r
- <li>Copy one of the existing theme folders to one with a new name. I recommend\r
- starting with one of the standard themes.\r
- <li>Edit config.php and insert your own colours.\r
- <li>Edit styles.php and change your CSS styles.\r
- <li>Edit header.html and footer.html to add new logos, or change the layout.\r
- </ol>\r
- <p>Note that all these steps are optional - you can make a radically different\r
- look to your site simply by editing the colours in config.php</p>\r
- <p>Note also that Moodle upgrades <em>may</em> break themes slightly, so check the \r
- release notes carefully if you are using a custom theme.</p>\r
- <p>In particular, Moodle 2.0 will have a completely new display system, probably based on\r
- XSL transformations of XML output from Moodle. It is likely that the \r
- themes for this will be a completely different format, but the advantage will \r
- be a much higher possible degree of customisation (including moving elements \r
- around the page).</p>\r
- <p>More discussion about this in the <a target=_top href="http://moodle.com/mod/forum/view.php?id=46">Themes \r
- forum on Using Moodle</a>. If you create a nice theme that you think others\r
- might want to use, please post your zip file on the themes forum!<br>\r
- </p>\r
-</blockquote>\r
-\r
- <p> </p>\r
-\r
-<p><strong><a name="languages" id="languages"></a>Languages</strong></p>\r
-<blockquote> \r
- <p>Moodle has been designed for internationalisation. Each 'string' or 'page' \r
- of text that is displayed as part of the interface is drawn from a set of \r
- language files. Each language is a subdirectory of the directory 'lang'. The \r
- structure of the lang directory is as follows:</p>\r
- <p><strong>lang/en</strong> - directory containing all files for one language \r
- (eg English)</p>\r
- <ul>\r
- <li>moodle.php - strings for main interface</li>\r
- <li>assignment.php - strings for assignment module</li>\r
- <li>choice.php - strings for choice module</li>\r
- <li>forum.php - strings for forum module</li>\r
- <li>journal.php - strings for journal module </li>\r
- <li>quiz.php - strings for quiz module</li>\r
- <li>resource.php - strings for resource module</li>\r
- <li>survey.php - strings for survey module</li>\r
- <li>.... plus other modules if any.<br>\r
+ <li><strong>Moodle should run on the widest variety of platforms</strong><br>\r
<br>\r
- A string is called from these files using the <strong><em>get_string()</em></strong><em> \r
- </em>or<em> <strong>print_string()</strong> </em>functions. Each string \r
- supports variable substitution, to support variable ordering in different \r
- languages.<em><br>\r
+ The web application platform that runs on most platforms is PHP combined \r
+ with MySQL, and this is the environment that Moodle has been developed in \r
+ (on Linux, Windows, and Mac OS X). Moodle also uses the ADOdb library for \r
+ database abstraction, which means Moodle can use <a href="http://php.weblogs.com/ADOdb_manual#drivers">more \r
+ than ten different brands of database</a> (unfortunately, though, it can \r
+ not yet <em><strong>set up tables</strong></em> in all these databases - \r
+ more on this later). <br>\r
<br>\r
- </em>eg $strdueby = get_string("assignmentdueby", "assignment", \r
- userdate($date)); <br>\r
+ </li>\r
+ <li><strong>Moodle should be easy to install, learn and modify</strong><br>\r
<br>\r
- If a string doesn't exist in a particular language, then the equivalent \r
- in English will automatically be used instead.</li>\r
- </ul>\r
- <p><strong>lang/en/help</strong> - contains whole help pages (for popup context-sensitive \r
- help)</p>\r
- <blockquote> \r
- <p>Main help pages are situated here, while help pages specific to each module \r
- are located in subdirectories with the module's name.</p>\r
- <p>You can insert a helpbutton in a page with the helpbutton function.</p>\r
- <p>eg helpbutton("text", "Click here for help about text");</p>\r
- <p>and for modules:</p>\r
- <p>helpbutton("forumtypes", "Forum types", "forum");</p>\r
- </blockquote>\r
- <p>Note that you can edit languages online, using the administration web tools \r
- under "Check this language". This makes it easy to not to only create \r
- new languages but to refine existing ones. If you are starting a new language, \r
- please contact me, <a target=_top href="http://dougiamas.com/">Martin Dougiamas</a>. </p>\r
- <p>You might also like to post in the <a target=_top href="http://moodle.com/mod/forum/view.php?id=43">Languages \r
- forum on Using Moodle</a>. </p>\r
- <p>If you are maintaining a language an ongoing basis, I can give you <a href="?file=cvs.html">CVS \r
- write access to the Moodle source code</a> so that you can directly maintain \r
- the files.</p>\r
-</blockquote>\r
-<p><br>\r
- <strong><a name="database" id="database"></a>Database Schemas</strong></p>\r
-<blockquote> \r
- <p>Given a working database with defined tables, the intentionally simple SQL \r
- used in Moodle should work fine with a wide variety of database brands.</p>\r
-\r
- <p>A problem exists with <strong>automatically creating</strong> new tables \r
- in a database, which is what Moodle tries to do upon initial installation. \r
- Because every database is very different, there doesn't yet exist any way \r
- to do this in a platform-independent way. To support this automation in each \r
- database, schemas can be created that list the required SQL to create Moodle \r
- tables in a particular database. These are files in <strong>lib/db</strong> \r
- and inside the <strong>db</strong> subdirectory of each module.</p>\r
-\r
- <p>Currently, only MySQL and PostgreSQL are fully supported in this way. If you are \r
- familiar with another database (especially open source databases) and are \r
- willing to help port the existing schema, please get in contact with me (<a target=_top href="http://dougiamas.com/">Martin \r
- Dougiamas</a>).</p>\r
-</blockquote>\r
-<p> </p>\r
-<p><strong><a name="courseformats" id="courseformats"></a>Course Formats</strong></p>\r
-<blockquote> \r
- <p>Moodle currently supports three different course formats: weekly, topics and social. \r
- </p>\r
- <p>These are a little more connected to the rest of the code (and hence, less \r
- "pluggable") but it is still quite easy to add new ones.</p>\r
- <p>If you have any ideas for different formats that you need or would like to \r
- see, get in touch with me and I'll do my absolute best to have them available \r
- in future releases.</p>\r
+ Early prototypes of Moodle (1999) were built using <a target=_top href="http://www.zope.org/">Zope</a> \r
+ - an advanced object-oriented web application server. Unfortunately I found \r
+ that although the technology was pretty cool, it had a very steep learning \r
+ curve and was not very flexible in terms of system administration. The PHP \r
+ scripting language, on the other hand, is very easy to get into (especially \r
+ if you've done any programming using any other scripting language). Early \r
+ on I made the decision to avoid using a class-oriented design - again, to \r
+ keep it simple to understand for novices. Code reuse is instead achieved \r
+ by libraries of clearly-named functions and consistent layout of script \r
+ files. PHP is also easy to install (binaries are available for every platform) \r
+ and is widely available to the point that most web hosting services provide \r
+ it as standard.<br>\r
+ <br>\r
+ </li>\r
+ <li><strong>It should be easy to upgrade from one version to the next</strong><br>\r
+ <br>\r
+ Moodle knows what version it is (as well as the versions of all plug-in \r
+ modules) and a mechanism has been built-in so that Moodle can properly upgrade \r
+ itself to new versions (for example it can rename database tables or add \r
+ new fields). If using CVS in Unix for example, one can just do a "cvs \r
+ update -d" and then visit the site home page to complete an upgrade.<br>\r
+ <br>\r
+ </li>\r
+ <li><strong>It should be modular to allow for growth</strong><br>\r
+ <br>\r
+ Moodle has a number of features that are modular, including themes, activities, \r
+ interface languages, database schemas and course formats. This allows anyone \r
+ to add features to the main codebase or to even distribute them separately. \r
+ More on this below in the next section.<br>\r
+ <br>\r
+ </li>\r
+ <li><strong>It should be able to be used in conjunction with other systems</strong><br>\r
+ <br>\r
+ One thing Moodle does is keep all files for one course within a single, \r
+ normal directory on the server. This would allow a system administrator \r
+ to provide seamless forms of file-level access for each teacher, such as \r
+ Appletalk, SMB, NFS, FTP, WebDAV and so on. The authentication modules allow \r
+ Moodle to use LDAP, IMAP, POP3, NNTP and other databases as sources for \r
+ user information. Otherwise, there is work yet to do. Features planned for \r
+ Moodle in future versions include: import and export of Moodle data using \r
+ XML-based formats (including IMS and SCORM); and increased use of style \r
+ sheets for interface formatting (so that it can be integrated visually into \r
+ other web sites).</li>\r
+ </ol>\r
</blockquote>\r
<p> </p>\r
-<p><strong><a name="doc" id="doc"></a>Documentation and articles</strong></p>\r
-<blockquote> \r
- <p>If you feel like writing a tutorial, an article, an academic paper or anything \r
- else about Moodle, please do! </p>\r
- <p>Put it on the web and make sure you include links to <a target=_top href="http://moodle.com/">http://moodle.com/</a></p>\r
+<h3 class="sectionheading"><a name="contribute" id="contribute"></a>2. How you can contribute</h3>\r
+<blockquote>\r
+ <p>As mentioned above, Moodle has a number of features that are modular. Even \r
+ if you are not a programmer there are things you can change or help with.</p>\r
+ <p><strong><a name="activities" id="activities"></a>Learning Activities</strong></p>\r
+ <blockquote>\r
+ <p>These are by far the most important modules, and reside in the 'mod' directory. \r
+ There are seven default modules: assignment, choice, forum, journal, quiz, \r
+ resource, and survey. Each module is in a separate subdirectory and consists \r
+ of the following mandatory elements (plus extra scripts unique to each module):</p>\r
+ <ul>\r
+ <li>mod.html: a form to set up or update an instance of this module</li>\r
+ <li>version.php: defines some meta-info and provides upgrading code</li>\r
+ <li>icon.gif: a 16x16 icon for the module</li>\r
+ <li>db/: SQL dumps of all the required db tables and data (for each database \r
+ type) </li>\r
+ <li>index.php: a page to list all instances in a course</li>\r
+ <li>view.php: a page to view a particular instance</li>\r
+ <li>lib.php: any/all functions defined by the module should be in here. \r
+ If the modulename if called widget, then the required functions include: \r
+ <ul>\r
+ <li>widget_add_instance() - code to add a new instance of widget</li>\r
+ <li>widget_update_instance() - code to update an existing instance</li>\r
+ <li>widget_delete_instance() - code to delete an instance</li>\r
+ <li>widget_user_outline() - given an instance, return a summary of a \r
+ user's contribution</li>\r
+ <li>widget_user_complete() - given an instance, print details of a user's \r
+ contribution<br>\r
+ </li>\r
+ <li>To avoid possible conflict, any module functions should be named \r
+ starting with widget_ and any constants you define should start with \r
+ WIDGET_ </li>\r
+ </ul>\r
+ </li>\r
+ <li>Lastly, each module will have some language files that contain strings \r
+ for that module. See below.</li>\r
+ </ul>\r
+ <p>The easiest way to start a new learning activity module is to use the template \r
+ in <strong><a href="http://moodle.com/mod/newmodule_template.zip">mod/newmodule_template.zip</a>.</strong> \r
+ Unzip it and follow the README inside. </p>\r
+ <p>You might also like to post first in the <a href="http://moodle.com/mod/forum/view.php?id=44" target="_top">Activities \r
+ modules forum on Using Moodle</a>.</p>\r
+ <p> </p>\r
+ </blockquote>\r
+ <p> <strong><a name="themes" id="themes"></a>Themes</strong></p>\r
+ <blockquote>\r
+ <p>Themes (or skins) define the look of a site. A number of simple themes \r
+ are provided in the main distribution, but you may want to create your own \r
+ theme with your own colours, logo, styles and graphics. </p>\r
+ <p>Each theme is in a subdirectory of the "theme" directory, and \r
+ contains at least the following files:</p>\r
+ <ul>\r
+ <li><strong>config.php</strong>: defines the theme colours used throughout \r
+ the site</li>\r
+ <li><strong>styles.php</strong>: the style sheet, containing CSS definitions \r
+ for standard HTML elements as well as many Moodle elements.</li>\r
+ <li><strong>header.html</strong>: Included at the top of each page. This \r
+ is what you need to edit to add a logo at the top of pages, for example.</li>\r
+ <li><strong>footer.html</strong>: Included at the bottom of each page.</li>\r
+ </ul>\r
+ <p>To create your own themes for current versions of Moodle:</p>\r
+ <ol>\r
+ <li>Copy one of the existing theme folders to one with a new name. I recommend \r
+ starting with one of the standard themes. </li>\r
+ <li>Edit config.php and insert your own colours. </li>\r
+ <li>Edit styles.php and change your CSS styles. </li>\r
+ <li>Edit header.html and footer.html to add new logos, or change the layout. \r
+ </li>\r
+ </ol>\r
+ <p>Note that all these steps are optional - you can make a radically different \r
+ look to your site simply by editing the colours in config.php</p>\r
+ <p>Note also that Moodle upgrades <em>may</em> break themes slightly, so check \r
+ the release notes carefully if you are using a custom theme.</p>\r
+ <p>In particular, Moodle 2.0 will have a completely new display system, probably \r
+ based on XSL transformations of XML output from Moodle. It is likely that \r
+ the themes for this will be a completely different format, but the advantage \r
+ will be a much higher possible degree of customisation (including moving \r
+ elements around the page).</p>\r
+ <p>More discussion about this in the <a target=_top href="http://moodle.com/mod/forum/view.php?id=46">Themes \r
+ forum on Using Moodle</a>. If you create a nice theme that you think others \r
+ might want to use, please post your zip file on the themes forum!<br>\r
+ </p>\r
+ </blockquote>\r
+ <p> </p>\r
+ <p><strong><a name="languages" id="languages"></a>Languages</strong></p>\r
+ <blockquote>\r
+ <p>Moodle has been designed for internationalisation. Each 'string' or 'page' \r
+ of text that is displayed as part of the interface is drawn from a set of \r
+ language files. Each language is a subdirectory of the directory 'lang'. \r
+ The structure of the lang directory is as follows:</p>\r
+ <p><strong>lang/en</strong> - directory containing all files for one language \r
+ (eg English)</p>\r
+ <ul>\r
+ <li>moodle.php - strings for main interface</li>\r
+ <li>assignment.php - strings for assignment module</li>\r
+ <li>choice.php - strings for choice module</li>\r
+ <li>forum.php - strings for forum module</li>\r
+ <li>journal.php - strings for journal module </li>\r
+ <li>quiz.php - strings for quiz module</li>\r
+ <li>resource.php - strings for resource module</li>\r
+ <li>survey.php - strings for survey module</li>\r
+ <li>.... plus other modules if any.<br>\r
+ <br>\r
+ A string is called from these files using the <strong><em>get_string()</em></strong><em> \r
+ </em>or<em> <strong>print_string()</strong> </em>functions. Each string \r
+ supports variable substitution, to support variable ordering in different \r
+ languages.<em><br>\r
+ <br>\r
+ </em>eg $strdueby = get_string("assignmentdueby", "assignment", \r
+ userdate($date)); <br>\r
+ <br>\r
+ If a string doesn't exist in a particular language, then the equivalent \r
+ in English will automatically be used instead.</li>\r
+ </ul>\r
+ <p><strong>lang/en/help</strong> - contains whole help pages (for popup context-sensitive \r
+ help)</p>\r
+ <blockquote>\r
+ <p>Main help pages are situated here, while help pages specific to each \r
+ module are located in subdirectories with the module's name.</p>\r
+ <p>You can insert a helpbutton in a page with the helpbutton function.</p>\r
+ <p>eg helpbutton("text", "Click here for help about text");</p>\r
+ <p>and for modules:</p>\r
+ <p>helpbutton("forumtypes", "Forum types", "forum");</p>\r
+ </blockquote>\r
+ <p>Note that you can edit languages online, using the administration web tools \r
+ under "Check this language". This makes it easy to not to only \r
+ create new languages but to refine existing ones. If you are starting a \r
+ new language, please contact me, <a target=_top href="http://dougiamas.com/">Martin \r
+ Dougiamas</a>. </p>\r
+ <p>You might also like to post in the <a target=_top href="http://moodle.com/mod/forum/view.php?id=43">Languages \r
+ forum on Using Moodle</a>. </p>\r
+ <p>If you are maintaining a language an ongoing basis, I can give you <a href="?file=cvs.html">CVS \r
+ write access to the Moodle source code</a> so that you can directly maintain \r
+ the files.</p>\r
+ </blockquote>\r
+ <p><br>\r
+ <strong><a name="database" id="database"></a>Database Schemas</strong></p>\r
+ <blockquote>\r
+ <p>Given a working database with defined tables, the intentionally simple \r
+ SQL used in Moodle should work fine with a wide variety of database brands.</p>\r
+ <p>A problem exists with <strong>automatically creating</strong> new tables \r
+ in a database, which is what Moodle tries to do upon initial installation. \r
+ Because every database is very different, there doesn't yet exist any way \r
+ to do this in a platform-independent way. To support this automation in \r
+ each database, schemas can be created that list the required SQL to create \r
+ Moodle tables in a particular database. These are files in <strong>lib/db</strong> \r
+ and inside the <strong>db</strong> subdirectory of each module.</p>\r
+ <p>Currently, only MySQL and PostgreSQL are fully supported in this way (no-one \r
+ wrote the schemas for other brands).</p>\r
+ <p>Moodle 1.1 will use a new method of database-independent XML schemas that \r
+ will make all this unnecessary.</p>\r
+ </blockquote>\r
+ <p> </p>\r
+ <p><strong><a name="courseformats" id="courseformats"></a>Course Formats</strong></p>\r
+ <blockquote>\r
+ <p>Moodle currently supports three different course formats: weekly, topics \r
+ and social. </p>\r
+ <p>These are a little more connected to the rest of the code (and hence, less \r
+ "pluggable") but it is still quite easy to add new ones.</p>\r
+ <p>If you have any ideas for different formats that you need or would like \r
+ to see, get in touch with me and I'll do my absolute best to have them available \r
+ in future releases.</p>\r
+ </blockquote>\r
+ <p> </p>\r
+ <p><strong><a name="doc" id="doc"></a>Documentation and articles</strong></p>\r
+ <blockquote>\r
+ <p>If you feel like writing a tutorial, an article, an academic paper or anything \r
+ else about Moodle, please do! </p>\r
+ <p>Put it on the web and make sure you include links to <a target=_top href="http://moodle.org/">http://moodle.org/</a></p>\r
+ </blockquote>\r
+ <p> </p>\r
+ <p><strong><a name="bugs" id="bugs"></a>Participating in the bug tracker</strong></p>\r
+ <blockquote>\r
+ <p>Finally, I would like to invite you to register on the "bug tracker" \r
+ at <a target=_top href="http://moodle.org/bugs/">http://moodle.org/bugs</a> \r
+ so you can file any bugs that you find and perhaps participate in discussing \r
+ and fixing them. </p>\r
+ <p>"Bugs" not only includes software bugs with current versions \r
+ of Moodle, but also new ideas, feature requests and even constructive criticism \r
+ of existing features. The beauty of open source is that anyone can participate \r
+ in some way and help to create a better product for all of us to enjoy. \r
+ In this project, your input is very welcome!</p>\r
</blockquote>\r
-<p> </p>\r
-<p><strong><a name="bugs" id="bugs"></a>Participating in the bug tracker</strong></p>\r
-<blockquote> \r
- <p>Finally, I would like to invite you to register on the "bug tracker" \r
- at <a target=_top href="http://bugs.moodle.org">bugs.moodle.org</a> so you can file any \r
- bugs that you find and perhaps participate in discussing and fixing them. \r
- </p>\r
- <p>"Bugs" not only includes software bugs with current versions of \r
- Moodle, but also new ideas, feature requests and even constructive criticism \r
- of existing features. The beauty of open source is that anyone can participate \r
- in some way and help to create a better product for all of us to enjoy. In \r
- this project, your input is very welcome!</p>\r
</blockquote>\r
<p> </p>\r
<blockquote> \r
<title>Moodle Docs: Background</title>\r
<link rel="stylesheet" href="../theme/standard/styles.php" type="TEXT/CSS">\r
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r
+ <style type="text/css">\r
+ <!--\r
+ .sectionheading {\r
+ font-size: medium;\r
+ font-weight: bold;\r
+ font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;\r
+ border: 1px dotted;\r
+ padding: 10px;\r
+ background-color: #EEEEEE;\r
+ }\r
+ -->\r
+ </style>\r
</head>\r
<body bgcolor="#ffffff">\r
\r
<h2>Features</h2>\r
<p>Moodle is an active and evolving product. This page lists just some of the \r
many features it contains:</p>\r
-<p><strong>Overall design</strong></p>\r
+<h3 class="sectionheading">Overall design</h3>\r
<ul>\r
<li>Promotes a social constructionist pedagogy (collaboration, activities, critical \r
reflection, etc)</li>\r
<li>Most text entry areas (resources, forum postings, journal entries etc) can \r
be edited using an embedded WYSIWYG HTML editor</li>\r
</ul>\r
-<p><strong>Site management</strong></p>\r
+<h3 class="sectionheading">Site management</h3>\r
<ul>\r
<li>Site is managed by an admin user, defined during setup</li>\r
<li>Plug-in "themes" allow the admin to customise the site colours, fonts, layout \r
<li>The code is clearly-written PHP under a GPL license - easy to modify to \r
suit your needs</li>\r
</ul>\r
-<p><strong>User management</strong></p>\r
+<h3 class="sectionheading">User management</h3>\r
<ul>\r
<li>Goals are to reduce admin involvement to a minimum, while retaining high \r
security</li>\r
<li>Every user can choose the language used for the Moodle interface (English, \r
French, German, Spanish, Portuguese etc)</li>\r
</ul>\r
-<p><strong>Course management</strong></p>\r
+<h3 class="sectionheading">Course management</h3>\r
<ul>\r
<li>Teacher has full control over all settings for a course</li>\r
<li>Choice of course formats such as by week, by topic or a discussion-focussed \r
<li>Mail integration - copies of forum posts, teacher feedback etc can be mailed \r
in HTML or plain text.</li>\r
</ul>\r
-<b>Assignment Module</b> \r
+<h3 class="sectionheading">Assignment Module</h3>\r
<ul>\r
<li>Assignments can be specified with a due date and a maximum grade.</li>\r
<li>Students can upload their assignments (any file format) to the server - \r
<li>The teacher can choose to allow resubmission of assignments after grading \r
(for regrading)</li>\r
</ul>\r
-<p><b>Choice Module</b> </p>\r
+<h3 class="sectionheading">Choice Module</h3>\r
<ul>\r
<li>Like a poll. Can either be used to vote on something, or to get feedback \r
from every student (eg research consent)</li>\r
<li>Teacher sees intuitive table view of who chose what</li>\r
<li>Students can optionally be allowed to see an up-to-date graph of results</li>\r
</ul>\r
-<p><b>Forum Module</b> </p>\r
+<h3 class="sectionheading">Forum Module</h3>\r
<ul>\r
<li>Different types of forums are available, such as teacher-only, course news, \r
open-to-all, and one-thread-per-user.</li>\r
forum)</li>\r
<li>Discussion threads can be easily moved between forums by the teacher</li>\r
</ul>\r
-<b>Journal Module</b> \r
+<h3 class="sectionheading">Journal Module</h3>\r
<ul>\r
<li>Journals are private between student and teacher.</li>\r
<li>Each journal entry can be directed by an open question.</li>\r
<li>Teacher feedback is appended to the journal entry page, and notification \r
is mailed out.</li>\r
</ul>\r
-<p><b>Quiz Module</b> </p>\r
+<h3 class="sectionheading">Quiz Module</h3>\r
<ul>\r
<li>Teachers can define a database of questions for re-use in different quizzes</li>\r
<li>Questions can be stored in categories for easy access, and these categories \r
<li>Matching questions</li>\r
<li>Random questions</li>\r
</ul>\r
-<p><b>Resource Module</b> </p>\r
+<h3 class="sectionheading">Resource Module</h3>\r
<ul>\r
<li>Supports display of any electronic content, Word, Powerpoint, Flash, Video, \r
Sounds etc</li>\r
the course interface.</li>\r
<li>External web applications can be linked in with data passed to them</li>\r
</ul>\r
-<b>Survey Module</b> \r
+<h3 class="sectionheading">Survey Module</h3>\r
<ul><li>Built-in surveys (COLLES, ATTLS) have been proven as instruments for analysing online classes</li><li>Online survey reports always available, including many graphs. Data is downloadable as an Excel spreadsheet or CSV text file.</li><li>Survey interface prevents partly-finished surveys.</li><li>Feedback is provided to the student of their results compared to the class averages</ul>\r
\r
<p> </p>\r
$string['release.html'] = "Release Notes";
$string['install.html'] = "Installation";
$string['faq.html'] = "Installation FAQ";
+$string['installamp.html'] = "Apache, MySQL, PHP";
$string['upgrade.html'] = "Upgrading";
$string['teacher.html'] = "Teacher Manual";
$string['developer.html'] = "Developer Manual";
-<HEAD>\r
- <TITLE>Moodle Docs: Installation</TITLE>\r
- <LINK REL="stylesheet" HREF="../theme/standard/styles.php" TYPE="TEXT/CSS">\r
- <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">\r
-</HEAD>\r
+<head>\r
+ <title>Moodle Docs: Installation</title>\r
+ <link rel="stylesheet" href="../theme/standard/styles.php" type="TEXT/CSS">\r
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r
+ <style type="text/css">\r
+<!--\r
+.sectionheading {\r
+ font-size: medium;\r
+ font-weight: bold;\r
+ font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;\r
+ border: 1px dotted;\r
+ padding: 10px;\r
+ background-color: #EEEEEE;\r
+}\r
+-->\r
+</style>\r
+</head>\r
\r
-<BODY BGCOLOR="#FFFFFF">\r
-<H2>Installing Moodle</H2>\r
-<P>This guide explains how to install Moodle for the first time. It goes into some detail\r
+<body bgcolor="#FFFFFF">\r
+<h2>Installing Moodle</h2>\r
+<p>This guide explains how to install Moodle for the first time. It goes into some detail\r
about some of the steps, in order to cover the wide variety of small differences between\r
web server setups, so this document may look long and complicated. Don't be put off by this \r
- - I usually set Moodle up in a few minutes!</P>\r
-<P>Take your time and work through this document carefully - it will save you time later on.</P>\r
-<P>Sections in this document:</P>\r
-<OL>\r
- <LI><A HREF="#requirements">Requirements</A></LI>\r
- <LI><A HREF="#downloading">Download</A></LI>\r
- <LI><A HREF="#site">Site structure</A></LI>\r
- <LI><A HREF="#data">Create a data directory</A></LI>\r
- <LI><A HREF="#database">Create a database</A></LI>\r
- <LI><A HREF="#webserver">Check web server settings</A></LI>\r
- <LI><A HREF="#config">Edit config.php</A></LI>\r
- <LI><A HREF="#admin">Go to the admin page</A></LI>\r
- <LI><A HREF="#cron">Set up cron</A></LI>\r
- <LI><A HREF="#course">Create a new course</A></LI>\r
-</OL>\r
-<H3><A NAME="requirements"></A>1. Requirements</H3>\r
-<blockquote>\r
- <p>Moodle is primarily developed in Linux using PHP, Apache and MySQL, and regularly \r
- tested with PostgreSQL and in Windows XP and Mac OS X environments.</p>\r
- <p>All you should need are:</p>\r
+ - I usually set Moodle up in a few minutes!</p>\r
+<p>Take your time and work through this document carefully - it will save you time later on.</p>\r
+<p>Sections in this document:</p>\r
+<ol>\r
+ <li><a href="#requirements">Requirements</a></li>\r
+ <li><a href="#downloading">Download</a></li>\r
+ <li><a href="#site">Site structure</a></li>\r
+ <li><a href="#data">Create a data directory</a></li>\r
+ <li><a href="#database">Create a database</a></li>\r
+ <li><a href="#webserver">Check web server settings</a></li>\r
+ <li><a href="#config">Edit config.php</a></li>\r
+ <li><a href="#admin">Go to the admin page</a></li>\r
+ <li><a href="#cron">Set up cron</a></li>\r
+ <li><a href="#course">Create a new course</a></li>\r
+</ol>\r
+<h3 class="sectionheading"><a name="requirements"></a>1. Requirements</h3>\r
+<blockquote> \r
+ <p>Moodle is primarily developed in Linux using Apache, MySQL and PHP (also \r
+ sometimes known as the LAMP platform), but is also regularly tested with PostgreSQL \r
+ and on Windows XP, Mac OS X and Netware 6 operating systems</p>\r
+ <p>The requirements for Moodle are as follows:</p>\r
<ol>\r
- <li>a working installation of <A HREF="http://www.php.net/">PHP</A> (version \r
- 4.1.0 or later), with the following features enabled (most PHP installations \r
- these days will have all of these):\r
+ <li>Web server software. Most people use <a href="http://www.apache.org/">Apache</a>, \r
+ but Moodle should work fine under any web server that supports PHP, such \r
+ as IIS on Windows platforms.</li>\r
+ <li><a href="http://www.php.net/">PHP</a> scripting language (version 4.1.0 \r
+ or later), with the following settings: \r
<ul>\r
- <LI><A HREF="http://www.boutell.com/gd/">GD library</A> with support for JPG and PNG formats</li>\r
- <LI>Sessions support</LI>\r
- <LI>File uploading allowed</LI>\r
- </UL>\r
-</LI>\r
- <li>a working database server: <A HREF="http://www.mysql.com/">MySQL</A> or <A HREF="http://www.postgresql.org/">PostgreSQL</A> are recommended. (MSSQL, Oracle, Interbase, Foxpro, Access, ADO, Sybase, DB2 or ODBC are also theoretically supported but will require you to manually set up the database tables).</li>\r
+ <li><a href="http://www.boutell.com/gd/">GD library</a> turned ON, with \r
+ support for JPG and PNG formats</li>\r
+ <li>Sessions support turned ON</li>\r
+ <li>File uploading turned ON</li>\r
+ <li>Safe Mode must be turned OFF (see the forums on moodle.org for problems \r
+ caused by Safe Mode)</li>\r
+ </ul>\r
+ </li>\r
+ <li>a working database server: <a href="http://www.mysql.com/">MySQL</a> or \r
+ <a href="http://www.postgresql.org/">PostgreSQL</a> are completely supported \r
+ and recommended for use with Moodle 1.0.9. All other databases will be supported \r
+ fully in Moodle 1.1.</li>\r
</ol>\r
- <p>On a Windows platform, the quickest way to satisfy these requirements is \r
- to download <A HREF="http://www.foxserv.net/">FoxServ</A>, \r
- or <A HREF="http://www.easyphp.org/">EasyPHP</A> which will install Apache, \r
- PHP, and MySQL for you. Make sure you enable the GD module so Moodle can process \r
- images - you may have to edit php.ini and remove the comment (;) from this \r
- line: 'extension=php_gd.dll'. You may also have to fix the directory for \r
- session.save_path - instead of the default "/tmp" use a Windows directory \r
- like "c:/temp".</p>\r
-\r
- <p>On Mac OS X I highly recommend the <a href="http://fink.sourceforge.net/">fink</a> \r
- project as a way to download easily-maintainable packages for all of this. If you are less\r
- confident with command-line stuff then <A HREF="http://www.entropy.ch/software/macosx/php/">Marc Liyanage's PHP Apache Module</A> is the easiest way to get PHP up and running on a new Mac OS X server.</p>\r
-\r
- <p>If you're on Linux or another Unix then I'll assume you can figure all this out for yourself! ;-) </p>\r
-\r
-</blockquote>\r
-<P> </P>\r
-<H3><A NAME="downloading"></A>2. Download</H3>\r
+ <p>Most web hosts support all of this by default. If you are signed up with \r
+ one of the few webhosts that does not support these features ask them why, \r
+ and consider taking your business elsewhere.</p>\r
+ <p>If you want to run Moodle on your own computer and all this looks a bit daunting, \r
+ then please see our guide: <a href="http://moodle.org/doc/?file=installamp.html">Installing \r
+ Apache, MySQL and PHP</a>. It provides some step-by-step instructions to install \r
+ all this on most popular platforms.</p>\r
+<p> </p></blockquote>\r
+<h3 class="sectionheading"><a name="downloading"></a>2. Download</h3>\r
<blockquote>\r
<p>There are two ways to get Moodle, as a compressed package and via CVS. These \r
- are explained in detail on the download page on <A HREF="http://moodle.org/">http://moodle.org/</A></p>\r
+ are explained in detail on the download page: <a href="http://moodle.org/download/">http://moodle.org/download/</a></p>\r
<p>After downloading and unpacking the archive, or checking out the files via \r
CVS, you will be left with a directory called "moodle", containing \r
a number of files and folders. </p>\r
<p>You can either place the whole folder in your web server documents directory, \r
- in which case the site will be located at <B>http://yourwebserver.com/moodle</B>, \r
+ in which case the site will be located at <b>http://yourwebserver.com/moodle</b>, \r
or you can copy all the contents straight into the main web server documents \r
- directory, in which case the site will be simply <B>http://yourwebserver.com</B>.</p>\r
+ directory, in which case the site will be simply <b>http://yourwebserver.com</b>.</p>\r
</blockquote>\r
-<P> </P>\r
-<H3><A NAME="site"></A>3. Site structure</H3>\r
-<BLOCKQUOTE>\r
+<p> </p>\r
+<h3 class="sectionheading"><a name="site"></a>3. Site structure</h3>\r
+<blockquote>\r
<p>Here is a quick summary of the contents of the Moodle folder, to help get \r
you oriented:</p>\r
<blockquote>\r
- <p>config.php - the only file you need to edit to get started<br>\r
- version.php - defines the current version of Moodle code<BR>\r
+ <p>config.php - the ONLY file you need to edit to get started<br>\r
+ version.php - defines the current version of Moodle code<br>\r
index.php - the front page of the site</p>\r
<ul>\r
<li>admin/ - code to administrate the whole server </li>\r
</ul>\r
<p> </p>\r
</blockquote>\r
-</BLOCKQUOTE>\r
-<H3><A NAME="data"></A>4. Create a data directory</H3>\r
+</blockquote>\r
+<h3 class="sectionheading"><a name="data"></a>4. Create a data directory</h3>\r
<blockquote>\r
<p>Moodle will also need some space on your hard disk to store uploaded files, \r
such as course documents and user pictures.</p>\r
is to simply locate it OUTSIDE the web directory, otherwise protect it \r
by creating a file in the data directory called .htaccess, containing this line:\r
<blockquote>\r
- <PRE>deny from all</PRE>\r
+ <pre>deny from all</pre>\r
</blockquote>\r
\r
<p>To make sure that Moodle can save uploaded files in this directory, check that \r
trouble setting this up securely.</p>\r
\r
</blockquote>\r
-<P> </P>\r
-<H3><A NAME="database"></A>5. Create a database</H3>\r
+<p> </p>\r
+<h3 class="sectionheading"><a name="database"></a>5. Create a database</h3>\r
<blockquote>\r
<p>You need to create an empty database (eg "moodle") in your database system \r
along with a special user (eg "moodleuser") that has access to that database \r
just one database.\r
</p>\r
<p>Example command lines for MySQL: </p>\r
- <PRE>\r
+ <pre>\r
# mysql -u root -p\r
> CREATE DATABASE moodle; \r
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.* \r
TO moodleuser@localhost IDENTIFIED BY 'yourpassword'; \r
> quit \r
# mysqladmin -p reload\r
-</PRE>\r
+</pre>\r
<p>Example command lines for PostgreSQL: </p>\r
- <PRE>\r
+ <pre>\r
# su - postgres\r
> psql -c "create user moodleuser createdb;" template1\r
> psql -c "create database moodle;" -U moodleuser template1\r
> psql -c "alter user moodleuser nocreatedb;" template1\r
-</PRE>\r
+</pre>\r
<p>(For MySQL I highly recommend the use of <a href="http://phpmyadmin.sourceforge.net/">phpMyAdmin</a> \r
- to manage your databases).</p>\r
+ to manage your databases - you can do all this via a web interface).</p>\r
<p>As of version 1.0.8, Moodle now supports table prefixes, and so can safely share \r
a database with tables from other applications.</p>\r
</blockquote>\r
-<P> </P>\r
-<H3><A NAME="webserver" id="webserver"></A>6. Check your web server settings</H3>\r
+<p> </p>\r
+<h3 class="sectionheading"><a name="webserver" id="webserver"></a>6. Check your web server settings</h3>\r
<blockquote>\r
<p>Firstly, make sure that your web server is set up to use index.php as a default \r
page (perhaps in addition to index.html, default.htm and so on).</p>\r
</blockquote>\r
\r
<p>Thirdly, Moodle requires a number of PHP settings to be active for it to \r
- work. <B>On most servers these will already be the default settings.</B>\r
+ work. <b>On most servers these will already be the default settings.</b>\r
However, some PHP servers (and some of the more recent PHP versions) may \r
have things set differently. These are defined in PHP's configuration\r
file (usually called php.ini):</p>\r
</pre>\r
</blockquote>\r
<p>If you don't have access to httpd.conf or php.ini on your server, or you \r
- have Moodle on a server with other applications that require different \r
- settings, then you can OVERRIDE all of the default settings.\r
- \r
- <p>To do this, you need to create a file called <B>.htaccess</B> in Moodle's\r
+ have Moodle on a server with other applications that require different settings, \r
+ then don't worry, you can still OVERRIDE all of the default settings. \r
+ <p>To do this, you need to create a file called <b>.htaccess</b> in Moodle's\r
main directory that contains definitions for these settings.\r
This only works on Apache servers and only when Overrides have been allowed.\r
- <BLOCKQUOTE><PRE>\r
+ <blockquote><pre>\r
DirectoryIndex index.php index.html index.htm\r
\r
<IfDefine APACHE2>\r
php_flag file_uploads 1\r
php_flag short_open_tag 1\r
php_flag session.auto_start 0\r
-php_flag session.bug_compat_warn 0</BLOCKQUOTE></PRE>\r
- <P>You can also do things like define the maximum size for uploaded files:\r
- <BLOCKQUOTE><PRE>\r
+php_flag session.bug_compat_warn 0</pre></blockquote>\r
+ <p>You can also do things like define the maximum size for uploaded files:\r
+ <blockquote><pre>\r
LimitRequestBody 0\r
php_value upload_max_filesize 2M\r
php_value post_max_size 2M\r
- </BLOCKQUOTE></PRE>\r
+ </pre></blockquote>\r
\r
<p>The easiest thing to do is just copy the sample file from lib/htaccess \r
and edit it to suit your needs. It contains further instructions. For \r
\r
</blockquote>\r
<p> </p>\r
-<H3><A NAME="config"></A>7. Edit config.php</H3>\r
+<h3 class="sectionheading"><a name="config"></a>7. Edit config.php</h3>\r
<blockquote>\r
<p>Now you can edit the configuration file, <strong>config.php</strong>, using a \r
text editor. This file is used by all other files in Moodle.</p>\r
- <p>To start with, make a copy of config-dist.php and call it config.php. We \r
- do this so that your config.php won't be overwritten in case you upgrade Moodle \r
- later on. </p>\r
- <p>Edit config.php to specify the database details that you just defined (including \r
- a table prefix - notice this is REQUIRED for PostgreSQL), as \r
- well as the site address, file system directory and data directory. \r
- The config file has detailed directions.</p>\r
- <p>For the rest of this installation document we will assume your site is at: \r
+ <p>To start with, make a copy of <strong>config-dist.php</strong> and name it \r
+ config.php. We do this so that your config.php won't be overwritten in case \r
+ you upgrade Moodle later on. </p>\r
+ <p>Edit <strong>config.php</strong> to specify the database details that you \r
+ just defined (including a table prefix - notice that this is REQUIRED for \r
+ PostgreSQL), as well as the site address, file system directory and data directory. \r
+ The config file itself has detailed directions and examples.</p>\r
+ <p>Once you have done this the rest of the installation is via a web interface. \r
+ For the rest of this installation document we will assume your site is at: \r
<u>http://example.com/moodle</u></p>\r
</blockquote>\r
-<P> </P>\r
-<H3><A NAME="admin"></A>8. Go to the admin page</H3>\r
+<p> </p>\r
+<h3 class="sectionheading"><a name="admin"></a>8. Go to the admin page</h3>\r
<blockquote> \r
<p>The admin page should now be working at: <u>http://example.com/moodle/admin</u>. \r
If you try and access the front page of your site you'll be taken there automatically \r
anyway. The first time you access this admin page, you will be presented with \r
- a GPL agreement with which you need to agree before you can continue with the setup.</p>\r
- <P>(Moodle will also try to set some cookies in your browser. If you have \r
- your browser set up to let you choose to accept cookies, then you <B>must</B>\r
- accept the Moodle cookies, or Moodle won't work properly.)\r
- <p>Now Moodle will start setting up your database and creating tables to store data. \r
- Firstly, the main database tables are created. You should see a number of SQL statements followed by \r
- status messages (in green or red) that look like this:</p>\r
+ a GPL "shrinkwrap" agreement with which you must agree before you \r
+ can continue with the setup.</p>\r
+ <p>(Moodle will also try to set some cookies in your browser. If you have your \r
+ browser set up to let you choose to accept cookies, then you <b>must</b> accept \r
+ the Moodle cookies, or Moodle won't work properly.) \r
+ <p>Now Moodle will start setting up your database and creating tables to store \r
+ data. Firstly, the main database tables are created. You should see a number \r
+ of SQL statements followed by status messages (in green or red) that look \r
+ like this:</p>\r
<blockquote> \r
<p>CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category \r
int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default \r
unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default \r
'0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id)) \r
TYPE=MyISAM</p>\r
- <p><FONT COLOR="#006600">SUCCESS</FONT></p>\r
- <p>...and so on, followed by: <FONT COLOR="#FF0000">Main databases set up \r
- successfully</FONT>. </p>\r
+ <p><font color="#006600">SUCCESS</font></p>\r
+ <p>...and so on, followed by: <font color="#006600">Main databases set up \r
+ successfully.</font> </p>\r
</blockquote>\r
<p>If you don't see these, then there must have been some problem with the database \r
or the configuration settings you defined in config.php. Check that PHP isn't \r
- in a restricted "safe mode" (commercial web hosts often have safe mode turned \r
- on). You can check PHP variables by creating a little file containing <? \r
- phpinfo() ?> and looking at it through a browser. Check all these and try \r
- this page again.</p>\r
+ in a restricted "Safe Mode" (commercial web hosts sometimes have safe mode \r
+ turned on). You can check PHP variables by creating a little file containing \r
+ <? phpinfo() ?> and looking at it through a browser. Check all these and \r
+ try this page again.</p>\r
<p>Scroll down the very bottom of the page and press the "Continue" \r
link.</p>\r
<p>Next you will see a similar page that sets up all the tables required by \r
- each Moodle module. As before, they should all be green.</p>\r
-\r
+ each Moodle module. As before, they should all be <font color="#006600">green</font>.</p>\r
<p>Scroll down the very bottom of the page and press the "Continue" \r
link.</p>\r
-\r
- <p>You should now see a form where you can define more configuration variables\r
- for your installation, such as the default language, SMTP hosts and so on.\r
- Don't worry too much about getting everything right just now - you can always \r
- come back and edit these later on using the admin interface. Scroll down \r
- to the bottom and click "Save changes".</p>\r
-\r
- <p>If (and only if) you find yourself getting stuck on this page or the next \r
- page, unable to continue, then your server probably has what I call the \r
- "buggy referrer" problem. This is easy to fix: just edit\r
- your config.php and set the variable buggy_referrer to <i>true</i>, then \r
- try the page again.</p>\r
-\r
- <p>The next page is a form where you can define parameters for your Moodle site and the \r
- front page, such as the name, format, description and so on. \r
-\r
- Fill this out (you can always go back and change these later) and then press \r
+ <p>You should now see a form where you can define more configuration variables \r
+ for your installation, such as the default language, SMTP hosts and so on. \r
+ Don't worry too much about getting everything right just now - you can always \r
+ come back and edit these later on using the admin interface. Scroll down to \r
+ the bottom and click "Save changes".</p>\r
+ <p>If (and only if) you find yourself getting stuck on this page, unable to \r
+ continue, then your server probably has what I call the "buggy referrer" problem. \r
+ This is easy to fix: just turn off the "secureforms" setting, then \r
+ try to continue again.</p>\r
+ <p>The next page is a form where you can define parameters for your Moodle site \r
+ and the front page, such as the name, format, description and so on. Fill \r
+ this out (you can always come back and change these later) and then press \r
"Save changes".</p>\r
-\r
<p>Finally, you will then be asked to create a top-level administration user \r
for future access to the admin pages. Fill out the details with your own name, \r
email etc and then click "Save changes". Not all the fields are \r
<blockquote> \r
<blockquote> \r
<blockquote> \r
- <blockquote>\r
+ <blockquote> \r
<p><strong>Make sure you remember the username and password you chose \r
for the administration user account, as they will be necessary to \r
access the administration page in future.</strong></p>\r
</blockquote>\r
</blockquote>\r
</blockquote>\r
- <p>Once successful, you will be returned to the main admin page, which contain \r
- a number of links arranged in a menu (these items also appear on the home \r
- page when you are logged in as the admin user). All your further administration \r
+ <p>(If for any reason your install is interrupted, or there is a system error \r
+ of some kind that prevents you from logging in using the admin account, you \r
+ can usually log in using the default username of "<strong>admin</strong>", \r
+ with password "<strong>admin</strong>".)</p>\r
+ <p>Once successful, you will be returned to home page of your site. Note the \r
+ administration links that appear down the left hand side of the page (these \r
+ items also appear on a separate Admin page) - these items are only visible \r
+ to you because you are logged in as the admin user. All your further administration \r
of Moodle can now be done using this menu, such as:</p>\r
<ul>\r
<li>creating and deleting courses</li>\r
<li>changing site-wide settings like themes etc</li>\r
</ul>\r
</blockquote>\r
-<P> </P>\r
-<H3><A NAME="cron"></A>9. Set up cron</H3>\r
+<p> </p>\r
+<h3 class="sectionheading"><a name="cron"></a>9. Set up cron</h3>\r
<blockquote> \r
<p>Some of Moodle's modules require continual checks to perform tasks. For example, \r
Moodle needs to check the discussion forums so it can mail out copies of posts \r
to people who have subscribed.</p>\r
<p>The script that does all this is located in the admin directory, and is called \r
cron.php. However, it can not run itself, so you need to set up a mechanism \r
- where this script is run regularly (eg every five minutes). This provides \r
+ where this script is run regularly (eg every five or ten minutes). This provides \r
a "heartbeat" so that the script can perform functions at periods \r
defined by each module.</p>\r
- <P>Note that the machine performing the cron <B>does not need to be the same \r
- machine that is running Moodle</B>. For example, if you have a limited web hosting \r
- service that does not have cron, then you can might choose to run cron on another \r
- server or on your home computer. All that matters is that the cron.php file is \r
- called every five minutes or so.</p>\r
+ <p>Note that the machine performing the cron <b>does not need to be the same \r
+ machine that is running Moodle</b>. For example, if you have a limited web \r
+ hosting service that does not have cron, then you can might choose to run \r
+ cron on another server or on your home computer. All that matters is that \r
+ the cron.php file is called regularly. </p>\r
+ <p>The load of this script is not very high, so 5 minutes is usually reasonable, \r
+ but if you're worried about it you can reduce the time period to something \r
+ like 15 minutes or even 30 minutes. It's best not to make the time period \r
+ too long, as delaying mail-outs can slow down activity within the course.</p>\r
<p>First, test that the script works by running it directly from your browser:</p>\r
<blockquote> \r
- <PRE>http://example.com/moodle/admin/cron.php</PRE>\r
+ <pre>http://example.com/moodle/admin/cron.php</pre>\r
</blockquote>\r
<p>Now, you need to set up some of way of running the script automatically and \r
regularly. </p>\r
- <H4> Running the script from a command line</H4>\r
+ <h4> Running the script from a command line</h4>\r
<p>You can call the page from the command line just as you did in the example \r
above. For example, you can use a Unix utility like 'wget':</p>\r
<blockquote>\r
- <PRE>wget -q -O /dev/null http://example.com/moodle/admin/cron.php</PRE>\r
+ <pre>wget -q -O /dev/null http://example.com/moodle/admin/cron.php</pre>\r
</blockquote>\r
<p>Note in this example that the output is thrown away (to /dev/null).</p>\r
<p>The same thing using lynx:</p>\r
logs aren't filled with constant requests to cron.php. The disadvantage is \r
that you need to have access to a command-line version of php.</p>\r
<blockquote>\r
- <PRE>/opt/bin/php /web/moodle/admin/cron.php\r
+ <pre>/opt/bin/php /web/moodle/admin/cron.php\r
\r
\r
(Windows) C:\apache\php\php.exe C:\apache\htdocs\moodle\admin\cron.php\r
\r
-</PRE>\r
+</pre>\r
</blockquote>\r
<h4>Automatically running the script every 5 minutes</h4>\r
- <p>On Unix systems: Use <B>cron</B>. Edit your cron settings from the commandline \r
+ <p>On Unix systems: Use <b>cron</b>. Edit your cron settings from the commandline \r
using "crontab -e" and add a line like:</p>\r
<blockquote>\r
- <PRE>*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php</PRE>\r
+ <pre>*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php</pre>\r
</blockquote>\r
- <p>On Windows systems: The simplest way is to use my package <A TITLE="Click to download this package (150k)" HREF="http://moodle.org/download/moodle-cron-for-windows.zip">moodle-cron-for-windows.zip</A> \r
- which makes this whole thing very easy. You can also explore using the built-in \r
+ <p>On Windows systems: The simplest way is to use this little package <a title="Click to download this package (150k)" href="http://moodle.org/download/moodle-cron-for-windows.zip">moodle-cron-for-windows.zip</a> \r
+ which makes this whole thing very easy. You can also explore using the built-in \r
Windows feature for "Scheduled Tasks".</p>\r
- </p>\r
+ <p>On web hosts: Your web-based control panel may have a web page that allows \r
+ you to set up this cron process. Ask your administrator for details on how \r
+ it works.</p>\r
+ <p></p>\r
</blockquote>\r
-<H3><A NAME="course"></A>10. Create a new course</H3>\r
+<h3 class="sectionheading"><a name="course"></a>10. Create a new course</h3>\r
<blockquote>\r
<p>Now that Moodle is running properly, you can create a course. </p>\r
<p>Select "Create a new course" from the Admin page (or the admin \r
for them using the "Add a new user" on the Admin page.</p>\r
<p>Once done, the course is ready to customise, and is accessible via the "Courses" \r
link on the home page.</p>\r
- <p>See the "<A HREF="./?file=teacher.html">Teacher Manual</A>" for more details \r
+ <p>See the "<a href="./?file=teacher.html">Teacher Manual</a>" for more details \r
on course-building.</p>\r
</blockquote>\r
-<P> </P>\r
-<P ALIGN="CENTER"><FONT SIZE="1"><A HREF="." TARGET="_top">Moodle Documentation</A></FONT></P>\r
-<P ALIGN="CENTER"><FONT SIZE="1">Version: $Id$</FONT></P>\r
+<p> </p>\r
+<p align="CENTER"><font size="1"><a href="." target="_top">Moodle Documentation</a></font></p>\r
+<p align="CENTER"><font size="1">Version: $Id$</font></p>\r
\r
-</BODY>\r
+</body>\r
--- /dev/null
+<head>\r
+ <title>Moodle Docs: Installing PHP and MySQL</title>\r
+ <link rel="stylesheet" href="../theme/standard/styles.php" type="TEXT/CSS">\r
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r
+ <style type="text/css">\r
+ <!--\r
+ .sectionheading {\r
+ font-size: medium;\r
+ font-weight: bold;\r
+ font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;\r
+ border: 1px dotted;\r
+ padding: 10px;\r
+ background-color: #EEEEEE;\r
+ }\r
+ -->\r
+ </style>\r
+</head>\r
+\r
+<body bgcolor="#FFFFFF">\r
+<h2>Installing Apache, MySQL and PHP</h2>\r
+<p>Moodle is written in a scripting language called PHP, and stores most of its \r
+ data in a database. The database we recommend is MySQL. Before installing Moodle \r
+ you must have a working PHP installation and a working database to turn your \r
+ computer into a functional web server platform. These packages can be tricky \r
+ to set up for average computer users, so this page has been written to try to \r
+ make this process as simple as possible for different platforms.</p>\r
+<p> </p>\r
+<h3 class="sectionheading">Mac OS X</h3>\r
+<blockquote> \r
+ <p>The easiest way to do this is use the Apache server that Apple provides, \r
+ and add PHP and MySQL using Marc Liyanage's packages. Both of the pages below \r
+ come with good instructions that we won't duplicate here:</p>\r
+ <blockquote>\r
+ <p><strong>PHP</strong>: Download from here: <a href="http://www.entropy.ch/software/macosx/php/">http://www.entropy.ch/software/macosx/php/</a></p>\r
+ <p><strong>MySQL</strong>: Download here: <a href="http://www.entropy.ch/software/macosx/mysql/">http://www.entropy.ch/software/macosx/mysql/</a></p>\r
+ </blockquote>\r
+ <p>Once these are installed the standard <a href="./?file=install.html">Installation \r
+ guide</a> should be fairly straightforward.</p>\r
+ <p>More details might be added here later ...</p>\r
+ <p> </p>\r
+</blockquote>\r
+<h3 class="sectionheading">Redhat Linux</h3>\r
+<blockquote> \r
+ <p>You should install all available RPM packages for Apache, PHP and MySQL. \r
+ One package that people frequently forget is the php-mysql package which is \r
+ necessary for PHP to talk to MySQL.</p>\r
+ <p>Once these are installed the standard <a href="./?file=install.html">Installation \r
+ guide</a> should be fairly straightforward.</p>\r
+ <p>More details might be added here later ...</p>\r
+</blockquote>\r
+<p> </p>\r
+<h3 class="sectionheading">Windows</h3>\r
+<blockquote> \r
+ <p>The easiest way to do this is use <a href="http://www.easyphp.org/">EasyPHP</a>, \r
+ a package that bundles all the software you need into a single Windows application. \r
+ Here are the steps from start to finish:</p>\r
+ <ol>\r
+ <li> Firstly, if you have ever installed MySQL before (even as part of another \r
+ package), uninstall it all, delete all the MySQL files and make sure you \r
+ delete <strong>c:\my.cnf</strong> and <strong>c:\windows\my.ini</strong>.You \r
+ might want to do a search and delete ANY file called <strong>my.cnf</strong> \r
+ or <strong>my.ini</strong>.</li>\r
+ <li> If you've ever installed PHP before delete any files called <strong>php4ts.dll</strong> \r
+ from around your Windows directory, as well as any files called <strong>php.ini</strong>.</li>\r
+ <li> Download EasyPHP from here: <a href="http://www.easyphp.org/telechargements/dn.php?F=easyphp1-6.php3">http://www.easyphp.org/telechargements/dn.php?F=easyphp1-6.php3</a> \r
+ (approx 10 Mb)</li>\r
+ <li> Run the downloaded file: <strong>easyphp1-6_setup.exe</strong>. The installation \r
+ process is in French but is otherwise much like installing any other Windows \r
+ program - I advise accepting the defaults and letting it all install. Note \r
+ that "Suivant" means Next.and "Oui" means Yes.</li>\r
+ <li>At the end of the install leave the checkbox selected to "Lancer \r
+ EasyPHP" (Start EasyPHP) and hit the 'Terminer" button.You might \r
+ be taken to a information web page which you can safely ignore. </li>\r
+ <li>If all went well - congratulations! Apache, PHP and MySQL are all installed \r
+ and running! You should see a black E in your toolbar tray. You can right \r
+ click on it to get a menu which will let you control the running programs, \r
+ but you won't be needing that for now.</li>\r
+ <li> The next thing you need to do is to set up a database for Moodle to use. \r
+ Using a browser, go to <a href="http://localhost/mysql/">http://localhost/mysql/</a> \r
+ (note the final slash).</li>\r
+ <li>If asked for a username, use "root" with a blank password. You \r
+ should see a phpMyAdmin web interface that allows you to create a new databases \r
+ and user accounts. </li>\r
+ <li>Create a new database by typing "moodle" into the field and \r
+ hitting the "Create" button. That was easy!</li>\r
+ <li>You can also create a new user to access your database if you want. This \r
+ can be a bit tricky for a first-time user, so you might just want to use \r
+ the existing user "root" with no password in your Moodle config \r
+ for now, and fix this later.</li>\r
+ <li> You're ready to install Moodle! Download the latest release of Moodle \r
+ from <a href="http://moodle.org/download">http://moodle.org/download</a>, \r
+ then unzip the archive.</li>\r
+ <li>Copy your moodle files into <strong>C:\Program Files\EasyPHP\www. </strong>You \r
+ can either copy the entire moodle directory (ie C:\Program Files\EasyPHP\www\moodle) \r
+ or copy all the <em>contents</em> of the moodle directory. If you choose \r
+ this second option then you will be able to access your Moodle home page \r
+ using http://localhost/ instead of http://localhost/moodle/.</li>\r
+ <li> Make a new empty folder somewhere else for Moodle to store uploaded files \r
+ in, eg: <strong>C:\moodledata</strong></li>\r
+ <li> Go into your Moodle folder. Make a copy of config-dist.php, and call \r
+ it config.php</li>\r
+ <li> Edit config.php using a text editor (Notepad will do, just be careful \r
+ that it doesn't add unwanted spaces at the end). </li>\r
+ <li>Put in all your new database info:<br>\r
+ $CFG->dbtype = 'mysql';<br>\r
+ $CFG->dbhost = 'localhost';<br>\r
+ $CFG->dbname = 'moodle';<br>\r
+ $CFG->dbuser = 'root'; <br>\r
+ $CFG->dbpass = '';<br>\r
+ $CFG->dbpersist = true;<br>\r
+ $CFG->prefix = 'mdl_';<br>\r
+ </li>\r
+ <li>And put in all your file paths:<br>\r
+ $CFG->wwwroot = 'http://localhost/moodle'; // Use an external address \r
+ if you know it. <br>\r
+ $CFG->dirroot = 'C:\Program Files\EasyPHP\www\moodle'; <br>\r
+ $CFG->dataroot = 'C:\moodledata';<br>\r
+ </li>\r
+ <li>Save config.php - you can ignore the other settings if there are any.</li>\r
+ <li>You're nearly there now! The rest of the setup is all web-based. Visit \r
+ <a href="http://localhost/moodle/admin/">http://localhost/moodle/admin/</a> \r
+ with your browser to continue the setup via your browser.</li>\r
+ <li>Lastly, you need to set up some sort of cron. See the <a href="./?file=install.html">Installation \r
+ guide</a> for more details on this.</li>\r
+ </ol>\r
+ <p>If you don't or can't use EasyPHP, here are some a few tips to make sure \r
+ your PHP is set up correctly and avoid common problems:</p>\r
+ <ul>\r
+ <li>Make sure you enable the GD module so Moodle can process images - you \r
+ may have to edit php.ini and remove the comment (;) from this line: 'extension=php_gd.dll'. \r
+ </li>\r
+ <li>Make sure sessions is turned on - you may have to edit php.ini and fix \r
+ the directory for <strong>session.save_path</strong> - instead of the default \r
+ "/tmp" use a Windows directory like "c:/temp".</li>\r
+ </ul>\r
+</blockquote>\r
+<h3> </h3>\r
+<p align="CENTER"><font size="1"><a href="." target="_top">Moodle Documentation</a></font></p>\r
+<p align="CENTER"><font size="1">Version: $Id$</font></p>\r
+\r
+</body>\r
-<HEAD>\r
- <TITLE>Moodle Docs: Teachers Manual</TITLE>\r
- <LINK REL="stylesheet" HREF="../theme/standard/styles.php" TYPE="TEXT/CSS">\r
- <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">\r
-</HEAD>\r
+<head>\r
+ <title>Moodle Docs: Teachers Manual</title>\r
+ <link rel="stylesheet" href="../theme/standard/styles.php" type="TEXT/CSS">\r
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r
+ <style type="text/css">\r
+ <!--\r
+ .sectionheading {\r
+ font-size: medium;\r
+ font-weight: bold;\r
+ font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;\r
+ border: 1px dotted;\r
+ padding: 10px;\r
+ background-color: #EEEEEE;\r
+ }\r
+ -->\r
+ </style>\r
+</head>\r
\r
-<BODY BGCOLOR="#FFFFFF">\r
+<body bgcolor="#FFFFFF">\r
\r
-<H2>Teacher Manual</H2>\r
-<P>This page is a quick guide to creating online courses with Moodle. It outlines \r
+<h2>Teacher Manual</h2>\r
+<p>This page is a quick guide to creating online courses with Moodle. It outlines \r
the main functions that are available, as well as some of the main decisions \r
- you'll need to make.</P>\r
+ you'll need to make.</p>\r
\r
-<P>Sections in this document:</P>\r
-<OL>\r
- <LI><A HREF="#started">Getting started</A></LI>\r
- <LI><A HREF="#settings">Course settings</A></LI>\r
- <LI><A HREF="#upload">Uploading files</A></LI>\r
- <LI><A HREF="#activities">Setting up activities</A></LI>\r
- <LI><A HREF="#course">Running the course</A></LI>\r
- <LI><A HREF="#further">Further information</A></LI>\r
-</OL>\r
-<H3><A NAME="started"></A>Getting started</H3>\r
+<p>Sections in this document:</p>\r
+<ol>\r
+ <li><a href="#started">Getting started</a></li>\r
+ <li><a href="#settings">Course settings</a></li>\r
+ <li><a href="#upload">Uploading files</a></li>\r
+ <li><a href="#activities">Setting up activities</a></li>\r
+ <li><a href="#course">Running the course</a></li>\r
+ <li><a href="#further">Further information</a></li>\r
+</ol>\r
+<h3 class="sectionheading"><a name="started"></a>Getting started</h3>\r
<blockquote> \r
<p>This document assumes your site administrator has set up Moodle and given \r
you new, blank course to start with. It also assumes you have logged in to \r
</ol>\r
<hr>\r
</blockquote>\r
-<h3><A NAME="settings"></A>Course settings</h3>\r
+<h3 class="sectionheading"><a name="settings"></a>Course settings</h3>\r
<blockquote> \r
<p>The first thing you should do is look under the "Administration" \r
on your course home page and click on "<strong>Settings...</strong>" \r
format doesn't use much content at all and is based around just one forum \r
- this is displayed on the main page.</p>\r
<p>See the help buttons on the Course Settings page for more details.</p>\r
- <HR>\r
+ <hr>\r
</blockquote>\r
-<H3><A NAME="upload"></A>Uploading files</H3>\r
+<h3 class="sectionheading"><a name="upload"></a>Uploading files</h3>\r
<blockquote> \r
<p>You may have existing content that you want to add to your course, such as \r
web pages, audio files, video files, word documents, or flash animations. \r
<p>A final note: if your content resides out on the web then you don't need \r
to upload the files at all - you can link directly to them from inside the \r
course (see the Resources module and the next section).</p>\r
- <HR>\r
+ <hr>\r
</blockquote>\r
-<H3><A NAME="activities"></A>Setting up activities</H3>\r
+<h3 class="sectionheading"><a name="activities"></a>Setting up activities</h3>\r
<blockquote> \r
<p>Building a course involves adding course activity modules to the main page \r
in the order that students will be using them. You can shuffle the order any \r
date they upload their file is recorded. Afterwards, you will have a single \r
page on which ou can view each file (and how late or early it is), and then \r
record a grade and a comment. Half an hour after you grade any particular \r
- student, Moodle will automatically email that student a notification. </dd><BR>\r
- <BR>\r
+ student, Moodle will automatically email that student a notification. </dd><br>\r
+ <br>\r
<dt><strong>Choice</strong></dt>\r
<dd>A choice activity is very simple - you ask a question and specify a choice \r
of responses. Students can make their choice, and you \r
have a report screen where you can see the results. I use it to gather research \r
consent from my students, but you could use it for quick polls or class \r
votes.</dd>\r
- <BR>\r
- <BR>\r
+ <br>\r
+ <br>\r
<dt><strong>Forum</strong></dt>\r
<dd>This module is by far the most important - it is here that discussion \r
takes place. When you add a new forum, yu will presented with a choice of \r
different types - a simple single-topic discussion, a free-for-all general \r
forum, or a one-discussion-thread-per-user.</dd>\r
- <BR>\r
- <BR>\r
+ <br>\r
+ <br>\r
<dt><strong>Journal</strong></dt>\r
<dd>Each journal activity is an entry in the whole course journal. For each \r
one you can specify an open-ended question that guides what students write, \r
these journals, as they are only available to them and you. Afterwards, \r
you will be able to grade and comment all the entries for that week or topic, \r
and students will receive an automatic email informing them of your feedback.</dd>\r
- <BR>\r
- <BR>\r
+ <br>\r
+ <br>\r
<dt><strong>Resource</strong></dt>\r
<dd>Resources are the content of your course. Each resource can be any file \r
you have uploaded or can point to using a URL. You can also maintain simple text-based pages by typing them\r
directly into a form.</dd>\r
- <BR>\r
- <BR>\r
+ <br>\r
+ <br>\r
<dt><strong>Quiz</strong></dt>\r
<dd>This module allows you to design and set quiz tests, consisting of\r
multiple choice, true-false, and short answer questions. These\r
teacher can choose whether to give feedback or to show correct answers.\r
This module includes grading facilities.\r
</dd>\r
- <BR>\r
- <BR>\r
+ <br>\r
+ <br>\r
<dt><strong>Survey</strong></dt>\r
<dd>The survey module provides a number of predefined survey instruments that are useful in \r
evaluating and understanding your class. Currently they include the COLLES and the ATTLS instruments.\r
They can be given to students early in the course as a diagnostic tool and at the end of the \r
course as an evaluation tool (I use one every week in my courses).</dd>\r
</dl>\r
- <BR>\r
+ <br>\r
<p>After adding your activities you can move them up and down in your course \r
layout by clicking on the little arrow icons (<img src="../pix/t/up.gif" width="9" height="10"> \r
<img src="../pix/t/down.gif" width="9" height="10">) next to each one. You \r
can also delete them using the cross icon <img src="../pix/t/delete.gif" width="10" height="10">, \r
and re-edit them using the edit icon <img src="../pix/t/edit.gif" width="10" height="11">.</p>\r
- <HR>\r
+ <hr>\r
</blockquote>\r
-<H3><A NAME="course"></A>Running the course</H3>\r
+<h3 class="sectionheading"><a name="course"></a>Running the course</h3>\r
<blockquote> \r
<p>I could write a thesis about this. Actually I <strong>am</strong> writing \r
a thesis about this. <img src="../pix/s/biggrin.gif" width="15" height="15"></p>\r
but it's a crucial part of building and maintaining a community feel in \r
your course.</li>\r
</ol>\r
- <HR>\r
+ <hr>\r
</blockquote>\r
-<H3><A NAME="further"></A>Further information</H3>\r
+<h3 class="sectionheading"><a name="further"></a>Further information</h3>\r
<blockquote> \r
<p>If you have any particular problems with your site, you should contact your \r
local site administrator.</p>\r
<p>If you have some great ideas for improvements to Moodle, or even some good \r
stories, come over to <a href="http://moodle.org/" target="_top">moodle.org</a> and join \r
- in the course called "<A HREF="http://moodle.org/course/view.php?id=5" target=_top >Using Moodle</A>". \r
+ in the course called "<a href="http://moodle.org/course/view.php?id=5" target=_top >Using Moodle</a>". \r
We'd love to hear from you, and you can help Moodle improve.</p>\r
<p>If you want to contribute to coding new modules, or writing documentation, \r
or papers, contact me: <a href="http://dougiamas.com/" target="_top">Martin \r
Dougiamas</a> or browse the "bug tracker" site for Moodle, at <a href="http://moodle.org/bugs/" target="_top">moodle.org/bugs</a></p>\r
<p align="center">Thanks for using Moodle - good luck!</p>\r
- <HR>\r
+ <hr>\r
<p> </p>\r
</blockquote>\r
-<P ALIGN="CENTER"><FONT SIZE="1"><A HREF="." TARGET="_top">Moodle Documentation</A></FONT></P>\r
-<P ALIGN="CENTER"><FONT SIZE="1">Version: $Id: teacher.html,v 1.4 2002/08/18 10:00:01 \r
- martin Exp $</FONT></P>\r
+<p align="CENTER"><font size="1"><a href="." target="_top">Moodle Documentation</a></font></p>\r
+<p align="CENTER"><font size="1">Version: $Id: teacher.html,v 1.4 2002/08/18 10:00:01 \r
+ martin Exp $</font></p>\r
\r
-</BODY>\r
+</body>\r
-<HEAD>\r
- <TITLE>Moodle Docs: Upgrading</TITLE>\r
- <LINK REL="stylesheet" HREF="../theme/standard/styles.php" TYPE="TEXT/CSS">\r
- <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">\r
-</HEAD>\r
+<head>\r
+ <title>Moodle Docs: Upgrading</title>\r
+ <link rel="stylesheet" href="../theme/standard/styles.php" type="TEXT/CSS">\r
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r
+ <style type="text/css">\r
+ <!--\r
+ .sectionheading {\r
+ font-size: medium;\r
+ font-weight: bold;\r
+ font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;\r
+ border: 1px dotted;\r
+ padding: 10px;\r
+ background-color: #EEEEEE;\r
+ }\r
+ -->\r
+ </style>\r
+</head>\r
\r
-<BODY BGCOLOR="#FFFFFF">\r
-<H2>Upgrading Moodle</H2>\r
+<body bgcolor="#FFFFFF">\r
+<h2>Upgrading Moodle</h2>\r
\r
<p>Moodle is designed to upgrade cleanly from any earlier version to any later \r
version. </p>\r
<p>When upgrading a Moodle installation you should follow these steps:</p>\r
-<h2>1. Backup important data</h2>\r
+<h3 class="sectionheading">1. Backup important data</h3>\r
<blockquote> \r
<p>Although it is not strictly necessary, it is always a good idea to make a \r
backup of any production system before a major upgrade, just in case you need \r
</blockquote>\r
<p>You can also use the "Export" feature in Moodle's "Manage \r
Database" web interface to do the same thing on all platforms.</p>\r
+ <p> </p>\r
</blockquote>\r
</blockquote>\r
</blockquote>\r
-<h2> </h2>\r
-<h2>2. Install the new Moodle software</h2>\r
+\r
+<h3 class="sectionheading">2. Install the new Moodle software</h3>\r
<blockquote> \r
<p><strong>Using a downloaded archive</strong></p>\r
<blockquote> \r
</blockquote>\r
<p> </p>\r
</blockquote>\r
-<h2>3. Finishing the upgrade</h2>\r
+<h3 class="sectionheading">3. Finishing the upgrade</h3>\r
<blockquote> \r
<p>The last step is to trigger the upgrade processes within Moodle.</p>\r
<p>To do this just visit <a target=_top href="../admin/index.php">the admin page of your \r
version of Moodle and enjoy the new features!</p>\r
<p>If you have trouble with the upgrade, visit <a target=_top href="http://moodle.org/">moodle.org</a> \r
and post on the <a target=_top href="http://moodle.org/mod/forum/view.php?id=28">Installation \r
- Support Forum</a>.</p>\r
+ Support Forum</a> in the Using Moodle course.</p>\r
+<p> </p>\r
<p> </p>\r
-<P> </P>\r
-<P ALIGN="CENTER"><FONT SIZE="1"><A HREF="." TARGET="_top">Moodle Documentation</A></FONT></P>\r
-<P ALIGN="CENTER"><FONT SIZE="1">Version: $Id$</FONT></P>\r
+<p align="CENTER"><font size="1"><a href="." target="_top">Moodle Documentation</a></font></p>\r
+<p align="CENTER"><font size="1">Version: $Id$</font></p>\r
\r
-</BODY>\r
+</body>\r