Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

MDL-4912 docs directory clean-up

  • Loading branch information...
commit f40f3604c7db98386c0b022ca02c0ab5f58c789b 1 parent 6483b3b
wildgirl authored
View
49 lang/en_utf8/docs/README.txt
@@ -1,48 +1,13 @@
-Moodle documentation
---------------------
+This directory used to contain lots of documentation in HTML form.
-If you want to translate this documentation into another language,
-I would suggest that you:
+All of it has gone now because we now use the Moodle Docs wiki.
- 1) don't include English versions of the files in this directory
- because they will be used automatically anyway if it is missing
- from your language pack.
- 2) translate them in this order (starting with the important ones):
-
- MOST IMPORTANT
- |-------------------
- |
- | - files.php
- | - install.html
- | - installamp.html
- | - upgrade.html
- | - faq.html
- |
- | -----------------
- |
- | - teacher.html
- | - module_files.txt
- |
- | -----------------
- |
- | - intro.html
- | - features.html
- | - release.html
- |
- | -----------------
- |
- | - developer.html
- | - cvs.html
- | - future.html
- |
- | -----------------
- |
- | - license.html
- |
- |-------------------
- LEAST IMPORTANT
+To find out the new locations for all the information that was here, see:
- 3) Please don't translate credits.html at all - it changes too much.
+ http://docs.moodle.org/en/MoodleDocs_and_lang_packs
+ http://tracker.moodle.org/browse/MDL-4912
+Cheers,
+Martin Dougiamas, 10th July 2007
View
80 lang/en_utf8/docs/background.html
@@ -1,80 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>Moodle Docs: Background</title>
- <link rel="stylesheet" href="./docstyles.css" type="TEXT/CSS" />
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-</head>
-<body>
-
-<h1>Background</h1>
-
-<blockquote>
- <p>Moodle is an active and evolving work in progress. Development was started
- by <a href="http://moodle.org/user/view.php?id=1&amp;course=1" target="_top">Martin
- Dougiamas</a> who continues to lead the project:</p>
- <blockquote>
- <p><em>I've been working on it, in some way or other, for several years. It
- started in the 90's when I was webmaster at <a target="_top" href="http://www.curtin.edu.au/">Curtin
- University of Technology</a> and a system administrator of their WebCT installation.
- I encountered many frustrations with the WebCT beast and developed an itch
- that needed scratching - there had to be a better way (no, not Blackboard
- :-)</em></p>
- <p><em>I also know a lot of people in schools and smaller institutions (and
- some big ones!) who want to make better use of the Internet but don't know
- where to start in the maze of technologies and pedagogies that are out there.
- I've always hoped there would be a Free alternative that such people could
- use to help them move their teaching skills into the online environment. </em></p>
- <p><em>My strong beliefs in the unrealised possibilities of Internet-based education
- led me to complete a Masters and then a PhD in Education, combining my former
- career in Computer Science with newly constructed knowledge about the nature
- of learning and collaboration. In particular, I am particularly influenced
- by the epistemology of social constructionism - which not only treats learning
- as a social activity, but focusses attention on the learning that occurs while
- actively constructing artifacts (such as texts) for others to see or use.
- </em></p>
- <p><em>It is crucial to me that this software be easy to use - in fact it should
- be as intuitive as possible. </em></p>
- <p><em>I'm committed to continuing my work on Moodle and on keeping it Open
- and Free. I have a deeply-held belief in the importance of unrestricted education
- and empowered teaching, and Moodle is the main way I can contribute to the
- realisation of these ideals.</em></p>
- </blockquote>
- <p>A number of early prototypes were produced and discarded before he released
- version 1.0 upon a largely unsuspecting world on August 20, 2002. This version
- was targeted towards smaller, more intimate classes at University level, and
- was the subject of research case studies that closely analysed the nature of
- collaboration and reflection that occurred among these small groups of adult
- participants.
-</p>
- <p>Since then there has been steady series of new releases adding new features,
- better scalability and improved performance.
-</p>
- <p>As Moodle has spread and the community has grown, more input is being drawn
- from a wider variety of people in different teaching situations. For example,
- Moodle is now used not only in Universities, but in high schools, primary schools,
- non-profit organisations, private companies, by independent teachers and even
- homeschooling parents. A growing number of people from around the world are
- contributing to Moodle in different ways - for more details see the <a href="?file=credits.html">Credits</a>
- page.
-</p>
- <p>An important feature of the Moodle project is the <a href="http://moodle.org" target="_top">moodle.org</a>
- web site, which provides a central point for information, discussion and collaboration
- among Moodle users, who include system administrators, teachers, researchers,
- instructional designers and of course, developers. Like Moodle, this site is
- always evolving to suit the needs of the community, and like Moodle it will
- always be Free.
-</p>
- <p>In 2003, the company <a href="http://moodle.com/" target="_top">moodle.com</a>
- was launched to provide additional commercial support for those who need it, as
- well as managed hosting, consulting and other services.
-</p>
- <p>For more about our future plans for Moodle, see the <a href="?file=future.html">Future</a>
- roadmap.</p>
-</blockquote>
-<p align="center"><font size="1"><a href="." target="_top">Moodle Documentation</a></font></p>
-<p align="center"><font size="1">Version: $Id$</font></p>
-
-</body>
-</html>
View
270 lang/en_utf8/docs/coding.html
@@ -1,270 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Moodle Docs: Coding Guidelines</title>
-<link rel="stylesheet" href="docstyles.css" type="TEXT/CSS" />
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-</head>
-<body>
-<h1>Moodle Coding Guidelines</h1>
-<p class="normaltext">Any collaborative project needs consistency and stability
- to stay strong.</p>
-<p class="normaltext">These guidelines are to provide a goal for all Moodle code
- to strive to. It's true that some of the older existing code falls short in
- a few areas, but it will all be fixed eventually. All new code definitely must
- adhere to these standards as closely as possible.</p>
-<h2>General Rules</h2>
-<ol class="normaltext">
- <li class="spaced">All code files should use the .php extension.</li>
- <li class="spaced">All template files should use the .html extension.</li>
- <li class="spaced">All text files should use Unix-style text format (most text
- editors have this as an option).</li>
- <li class="spaced">All php tags must be 'full' tags like <font color="#339900">&lt;?php
- ?&gt;</font> ... not 'short' tags like <font color="#339900">&lt;? ?&gt;</font>.
- </li>
- <li class="spaced">All existing copyright notices must be retained. You can
- add your own if necessary.</li>
- <li class="spaced">Each file should include the main config.php file.</li>
- <li class="spaced">Each file should check that the user is authenticated correctly,
- using the correct has_capability() or required_capability() checks.</li>
- <li class="spaced">All access to databases should use the functions in lib/datalib.php
- whenever possible - this allows compatibility across a wide range of databases.
- You should find that almost anything is possible using these functions. If you must write SQL code then make sure it is: cross-platform; restricted to specific functions
- within your code (usually a lib.php file); and clearly marked.</li>
- <li class="spaced">Don't create or use global variables except for the standard
- $CFG, $SESSION, $THEME and $USER.</li>
- <li class="spaced">All variables should be initialised or at least tested for
- existence using isset() or empty() before they are used.</li>
- <li class="spaced">All strings should be translatable - create new texts in
- the &quot;lang/en&quot; files with concise English lowercase names and retrieve them
- from your code using get_string() or print_string().</li>
- <li class="spaced">All help files should be translatable - create new texts
- in the &quot;en/help&quot; directory and call them using helpbutton().
- <p>If you need to update a help file: </p>
- <ul>
- <li>with a minor change, where an old translation of the
- file would still make sense, then it's OK to make the change
- but you should notify translation@moodle.org</li>
- <li>for a major change you should create a new file by adding
- an incrementing number (eg filename2.html) so that translators
- can easily see it's a new version of the file. Obviously the
- new code and the help index files should also be modified to point
- to the newest versions.</li>
- </ul>
-
-</li>
- <li class="spaced">Incoming data from the browser (sent via GET or POST) automatically
- has magic_quotes applied (regardless of the PHP settings) so that you can safely
- insert it straight into the database. All other raw data (from files, or from databases)
- must be escaped with <font color="#339900">addslashes()</font> before inserting it into the database.</li>
- <li class="spaced">IMPORTANT: All texts within Moodle, especially those that have
- come from users, should be printed using the format_text() function. This ensures that
- text is filtered and cleaned correctly.</li>
-</ol>
-<p>&nbsp;</p>
-<h2>Coding Style</h2>
-<p class="normaltext">I know it can be a little annoying to change your style
- if you're used to something else, but balance that annoyance against the annoyance
- of all the people trying later on to make sense of Moodle code with mixed styles.
- There are obviously many good points for and against any style that people use,
- but the current style just <strong>is</strong>, so please stick to it. </p>
-<ol class="normaltext">
- <li class="spaced"><strong>Indenting</strong> should be consistently 4 spaces.
- Don't use tabs AT ALL. </li>
- <li class="spaced"><strong>Variable names</strong> should always be easy-to-read,
- meaningful lowercase English words. If you really need more than one word
- then run them together, but keep them short as possible. Use
-plural names for arrays of objects.
- <p class="examplecode"><font color="#006600">GOOD: $quiz<br />
- GOOD: $errorstring<br />
-GOOD: $assignments (for an array of objects)<br />
- GOOD: $i (but only in little loops)<br />
- <br />
- BAD: $Quiz <br />
- BAD: $aReallyLongVariableNameWithoutAGoodReason<br />
- BAD: $error_string</font></p>
- </li>
- <li class="spaced"><strong>Constants</strong> should always be in upper case,
- and always start with the name of the module. They should have words separated
- by underscores.
- <p class="examplecode"><font color="#006600">define(&quot;FORUM_MODE_FLATOLDEST&quot;,
- 1);</font></p>
- </li>
- <li class="spaced"><strong>Function names</strong> should be simple English
- lowercase words, and start with the name of the module to avoid conflicts between modules.
- Words should be separated by underscores. Parameters should always have sensible
- defaults if possible. Note there is no space between the function name and
- the following (brackets). <br />
- <p class="examplecode"> <font color="#007700">function </font><font color="#0000BB">forum_set_display_mode</font><font color="#007700">(</font><font color="#0000BB">$mode</font><font color="#007700">=</font><font color="#0000BB">0</font><font color="#007700">)
- {<br />
- &nbsp;&nbsp;&nbsp;&nbsp;global </font><font color="#0000BB">$USER</font><font color="#007700">,
- </font><font color="#0000BB">$CFG</font><font color="#007700">;<br />
- <br />
- &nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$mode</font><font color="#007700">)
- {<br />
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$USER</font><font color="#007700">-&gt;</font><font color="#0000BB">mode
- </font><font color="#007700">= </font><font color="#0000BB">$mode</font><font color="#007700">;<br />
- &nbsp;&nbsp;&nbsp;&nbsp;} else if (empty(</font><font color="#0000BB">$USER</font><font color="#007700">-&gt;</font><font color="#0000BB">mode</font><font color="#007700">))
- {<br />
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$USER</font><font color="#007700">-&gt;</font><font color="#0000BB">mode
- </font><font color="#007700">= </font><font color="#0000BB">$CFG</font><font color="#007700">-&gt;</font><font color="#0000BB">forum_displaymode</font><font color="#007700">;<br />
- &nbsp;&nbsp;&nbsp;&nbsp;}<br />
- }</font></p>
- </li>
- <li class="spaced"><strong>Blocks</strong> must always be enclosed in curly
- braces (even if there is only one line). Moodle uses this style:
- <p class="examplecode"> <font color="#006600">if (</font><font color="#0000CC">$quiz</font><font color="#006600">-&gt;</font><font color="#0000CC">attempts</font><font color="#006600">)
- {<br />
- &nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000CC">$numattempts </font><font color="#006600">&gt;
- </font><font color="#0000CC">$quiz</font><font color="#006600">-&gt;</font><font color="#0000CC">attempts</font><font color="#006600">)
- {<br />
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000CC">error</font><font color="#006600">(</font><font color="#0000BB">$strtoomanyattempts</font><font color="#006600">,
- </font><font color="#CC0000">"view.php?id=$cm</font><font color="#006600">-&gt;</font><font color="#CC0000">id"</font><font color="#006600">);<br />
- &nbsp;&nbsp;&nbsp;&nbsp;}<br />
- }</font></p>
- </li>
- <li class="spaced"><strong>Strings</strong> should be defined using single quotes
- where possible, for increased speed.<br />
- <p class="examplecode"> <font color="#006600">$var = 'some text without any
- variables';<br />
- $var = &quot;with special characters like a new line \n&quot;;<br />
- $var = 'a very, very long string with a '.$single.' variable in it';<br />
- $var = &quot;some $text with $many variables $within it&quot;; </font></p>
- </li>
-
-
- <li class="spaced"><strong>Comments</strong> should be added as much as is
- practical, to explain the code flow and the purpose of functions and variables.
- <ul>
- <li>Every function (and class) should use the popular
- <a target="_blank" href="http://www.phpdoc.org/">phpDoc format</a>.
- This allows code documentation to be generated automatically.</li>
- <li>Inline comments should use the // style, laid out neatly
- so that it fits among the code and lines up with it.</li>
- </ul>
-
- <p class="examplecode"><font color="#FF8000">
-/**<br />
- * The description should be first, with asterisks laid out exactly<br />
- * like this example. If you want to refer to a another function,<br />
- * do it like this: {@link clean_param()}. Then, add descriptions <br />
- * for each parameter as follows.<br />
- *<br />
- * @param int $postid The PHP type is followed by the variable name<br />
- * @param array $scale The PHP type is followed by the variable name<br />
- * @param array $ratings The PHP type is followed by the variable name<br />
- * @return mixed<br />
- */</font><br />
-<font color="#006600">function </font><font color="#0000BB">forum_get_ratings_mean</font><font color="#007700">(</font><font color="#0000BB">$postid</font><font color="#007700">,
- </font><font color="#0000BB">$scale</font><font color="#007700">, </font><font color="#0000BB">$ratings</font><font color="#007700">=</font><font color="#0000BB">NULL</font><font color="#007700">)
- {<br /></font>
- &nbsp;&nbsp;&nbsp;&nbsp;<font color="#007700">if (!</font><font color="#0000BB">$ratings</font><font color="#007700">)
- {<br />
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$ratings
- </font><font color="#007700">= array(); &nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">//
- Initialize the empty array</font><font color="#007700"><br />
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (</font><font color="#0000BB">$rates
- </font><font color="#007700">= </font><font color="#0000BB">get_records</font><font color="#007700">(</font><font color="#DD0000">"forum_ratings"</font><font color="#007700">,
- </font><font color="#DD0000">"post"</font><font color="#007700">, </font><font color="#0000BB">$postid</font><font color="#007700">))
- {<br />
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">//
- Process each rating in turn</font><font color="#007700"><br />
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach
- (</font><font color="#0000BB">$rates </font><font color="#007700">as </font><font color="#0000BB">$rate</font><font color="#007700">)
- {</font> <br />
- ....etc </p>
- </li>
-
- <li class="spaced"><strong>Space</strong> should be used liberally - don't be
- afraid to spread things out a little to gain some clarity. Generally, there
- should be one space between brackets and normal statements, but no space between
- brackets and variables or functions:<br />
- <p class="examplecode"> <font color="#007700">foreach (</font><font color="#0000BB">$objects
- </font><font color="#007700">as </font><font color="#0000BB">$key </font><font color="#007700">=&gt;</font><font color="#0000BB">
- $thing</font><font color="#007700">)</font><font color="#006600"> {<br />
- </font><font color="#007700">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">process($thing);</font><font color="#006600">
- <br />
- } <br />
- <br />
- </font><font color="#007700">if (</font><font color="#0000BB">$x </font><font color="#007700">==
- </font><font color="#0000BB">$y</font><font color="#007700">)</font><font color="#006600">
- {<br />
- </font><font color="#007700">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$a
- </font><font color="#007700">= </font><font color="#0000BB">$b</font><font color="#007700">;</font><font color="#006600"><br />
- } else if (</font><font color="#0000BB">$x </font><font color="#007700">==
- </font><font color="#0000BB">$z</font><font color="#006600">) {<br />
- </font><font color="#007700">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$a
- </font><font color="#007700">= </font><font color="#0000BB">$c</font><font color="#007700">;</font><font color="#006600"><br />
- } else {<br />
- </font><font color="#007700">&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$a
- </font><font color="#007700">= </font><font color="#0000BB">$d</font><font color="#007700">;</font><font color="#006600"><br />
- } </font></p>
- </li>
-</ol>
-<p>&nbsp;</p>
-<h2>Database structures</h2>
-<ol class="normaltext">
- <li class="spaced">Every table must have an auto-incrementing <strong>id</strong> field (INT10) as primary index.</li>
- <li class="spaced">The main table containing instances of each module must have the same name as the module (eg <strong>widget</strong>) and contain the following minimum fields:
- <ul>
- <li><strong>id</strong> - as described above</li>
- <li><strong>course</strong> - the id of the course that each instance belongs to</li>
- <li><strong>name</strong> - the full name of each instance of the module</li>
- </ul>
- </li>
- <li class="spaced">Other tables associated with a module that contain information about 'things' should be named <strong>widget_things</strong> (note the plural).</li>
- <li class="spaced">Column names should be simple and short, following the same rules as for variable names.</li>
- <li class="spaced">Where possible, columns that contain a reference to the id field of another table (eg <strong>widget</strong>) should be called <strong>widgetid</strong>. (Note that this convention is newish and not followed in some older tables)</li>
- <li class="spaced">Boolean fields should be implemented as small integer fields (eg INT4) containing 0 or 1, to allow for later expansion of values if necessary.</li>
- <li class="spaced">Most tables should have a <strong>timemodified</strong> field (INT10) which is updated with a current timestamp obtained with the PHP <strong>time</strong>() function.</li>
-</ol>
-<p>&nbsp;</p>
-<h2>Security Issues (and handling form and URL data)</h2>
-<ol class="normaltext">
- <li class="spaced">Do not rely on 'register_globals'. <strong>Every</strong> variable must be
- properly initialised in <strong>every</strong> code file. It must be obvious where the variable
- came from</li>
- <li class="spaced">Initialise all arrays and objects, even if empty. <code>$a = array()</code>
- or <code>$obj = new stdClass();</code>.</li>
- <li class="spaced">Do not use the <code>optional_variable()</code> function. Use the <code>optional_param()</code>
- function instead. Pick the correct PARAM_XXXX value for the data type you expect. To check and set an optional
- value for a variable, use the <code>set_default()</code> function.</li>
- <li class="spaced">Do not use the <code>require_variable()</code> function. Use the <code>required_param()</code>
- function instead. Pick the correct PARAM_XXXX value for the data type you expect.</li>
- <li class="spaced">Use <code>data_submitted()</code>, with care. Data must still be cleaned before use.</li>
- <li class="spaced">Do not use <code>$_GET</code>, <code>$_POST</code> or <code>$_REQUEST</code>. Use the
- appropriate <code>required_param()</code> or <code>optional_param()</code> appropriate to your need.</li>
- <li class="spaced">Do not check for an action using something like <code>if (isset($_GET['something']))</code>.
- Use, e.g., <code>$something = optional_param( 'something',-1,PARAM_INT )</code> and then perform
- proper test for it being in its expected range of values e.g., <code>if ($something>=0) {...</code>.</li>
- <li class="spaced">Wherever possible group all your <code>required_param()</code>, <code>optional_param()</code>
- and other variables initialisation at the beginning of each file to make them easy to find.</li>
- <li class="spaced">Use 'sesskey' mechanism to protect form handling routines from attack.
- Basic example of use: when form is generated,
- include <code>&lt;input type="hidden" name="sesskey" value="&lt;?php echo sesskey(); ?&gt;" /&gt;</code>.
- When you process the form check with <code>if (!confirm_sesskey()) {error('Bad Session Key');}</code>.</li>
- <li class="spaced">All filenames must be 'cleaned' using the <code>clean_filename()</code> function, if this
- has not been done already by appropriate use of <code>required_param()</code> or <code>optional_param()</code>
- </li>
- <li class="spaced">Any data read from the database must have <code>addslashes()</code> applied to it before it
- can be written back. A whole object of data can be hit at once with <code>addslashes_object()</code>.</li>
- <li class="spaced">Wherever possible, data to be stored in the database must come from <code>POST</code>
- data (from a form with <code>method="POST"</code>) as opposed to <code>GET</code> data (ie, data from the URL line).</li>
- <li class="spaced">Do not use data from <code>$_SERVER</code> if you can avoid it. This has portability
- issues.</li>
- <li class="spaced">If it hasn't been done somewhere else, make sure all data written to the database has
- been through the <code>clean_param()</code> function using the appropriate PARAM_XXXX for the datatype.</li>
- <li class="spaced">If you write custom SQL code, make very sure it is correct. In particular watch out for
- missing quotes around values. Possible SQL 'injection' exploit.</li>
- <li class="spaced">Check all data (particularly that written to the database) in <strong>every</strong>
- file it is used. Do not expect or rely on it being done somewhere else.</li>
- <li class="spaced">Blocks of code to be included should contain a definite PHP structure (e.g,
- a class declaration, function definition(s) etc.) - straight blocks of code promote uninitialised
- variable usage.</li>
-</ol>
-<hr />
-<p align="center"><font size="1"><a href="." target="_top">Moodle Documentation</a></font></p>
-<p align="center"><font size="1">Version: $Id$</font></p>
-</body>
-</html>
View
287 lang/en_utf8/docs/credits.html
@@ -1,287 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Moodle Docs: Credits</title>
-<link rel="stylesheet" href="docstyles.css" type="TEXT/CSS" />
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-</head>
-<body>
-<h1>Credits</h1>
-<blockquote>
- <h2>Overall guidance</h2>
- <blockquote>
- <p><a href="http://dougiamas.com/" target="_top">Martin Dougiamas</a> is the originator, lead developer, project manager, release manager and general teaboy for the whole Moodle project. Do you take sugar?</p>
- <p>The Moodle software package is <a href="?file=licence.html">Copyright &copy; 1999-2004, Martin Dougiamas under the GNU GPL</a>.</p>
- <p>&nbsp;</p>
- </blockquote>
- <h2>Main Developers</h2>
- <blockquote>
- <p>A special thanks from all of us goes to those who have contributed substantial and ongoing amounts of time
- to writing Moodle code and helping it grow. These are people who &quot;get&quot; what developing Moodle is all about and without whom Moodle would be a far lesser thing:</p>
- <blockquote>
- <p>
- <strong> Eloy Lafuente (stronk7), Ray Kingdon, Williams Castillo, Petri Asikainen, Henrik Kaipe, Zbigniew Fiedorowicz, Gustav Delius, Thomas Robb, Janne Mikkonen, Jon Papaioannou (pj), Scott Elliott, Shane Elliott, Roberto Pinna (Bobo), Mike Churchward, Petr &#352;koda (skodak), Penny Leach, Martin Langhoff</strong></p>
- </blockquote>
- <p>&nbsp;</p>
- </blockquote>
- <h2>Other Contributors</h2>
- <blockquote>
- <p>Many other people have contributed (and are still contributing) with constructive
- discussions, support, testing and various chunks of code and documentation. This list is long and always
- changing, but some names include (in the order they were added):
- </p>
- <blockquote>
- <p>
- <strong>Peter C. Taylor, Art Lader, Matt Hope, Tom Murdock, Sébastien Namèche, James Miller, Dustin
- Rue, Holger Schadeck, Giovanni Tummarello, John Windmueller, Sean Keogh, Mitsuhiro
- Yoshida, Greg Barnett, Mark Kimes, Mary Hunter, Russell Jungwirth, Przemyslaw Stencel,
- John "Captain" Eyre, Paula Edmiston, Howard Miller, Claudio Tavares, P. Timothy Ervin,
- Bob Calder, Ursula Raab, David Delgado, Mad Alex, Ga&euml;tan Frenoy, Bernard Boucher,
- Bryan Williams, Rob Butner, Koen Roggemans, David Scotson, Torsten Anderson, Eamon Costello, Hannes Gassert, Andrew Walker, Urs Hunkler.</strong></p>
- </blockquote>
- <p>Sorry if we've forgotten to include your name here - the Moodle community is large and active so this list is difficult
- to maintain! Please email Martin and make your suggestions! :-) </p>
- <p>Thanks also to <strong>everyone</strong> of you who have
- </p>
- <ul>
- <li>donated via the <a target="_top" href="http://moodle.org/donations">Donations
- page</a>,
- </li>
- <li>contributed to the <a target="_top" href="http://moodle.org/bugs">bug tracker</a>,
- and
- </li>
- <li>participated in the <a target="_top" href="http://moodle.org/community">Moodle
- Community</a> </li>
- </ul>
- </blockquote>
- <p>&nbsp;</p>
- <h2>Translators</h2>
- <blockquote>
- <p>One of Moodle's strengths is the number of translations it has. Each translation takes many hours of work, as there are
- over 1000 phrases to translate (plus hundreds of help files!). Many of the languages
- have more than one contributor, sometimes working together and sometimes working serially.
- </p>
- <p>Maintaining a list of all these wonderful people is too difficult, so please look at the <a target="_top" href="http://moodle.org/download/lang/">Language
- download page</a> for names and details.</p>
- <p>The Translation Coordinator is Koen Roggemans (<a href="m&#97&#105&#108&#116&#111:tra%6es%6ca%74%69o%6e%40%6d%6f%6f%64%6c%65.org">&#116&#114a&#110&#115&#108&#97t&#105on&#64&#109o&#111&#100&#108e&#46o&#114&#103</a>).</p>
- <p>&nbsp;</p>
- </blockquote>
- <h2>Themes</h2>
- <blockquote>
- <p>Themes give Moodle sites some colour and life. Here are all the themes carried
- as part of the Moodle distribution, along with their authors:
- </p>
- <ul>
- <li><b>cornflower</b>, by Thomas Murdock, <a target="_top" href="http://thinkingdistance.com/">http://thinkingdistance.com/</a>
- </li>
- <li><strong>formal_white</strong>, by Andrea Bicciolo, <a target="_top" href="http://www.mediatouch.it/">http://www.mediatouch.it/</a>
- </li>
- <li><b>metal</b>, by A. Chavan, updated for Moodle 1.5 by Martin Dougiamas
- </li>
- <li><b>oceanblue</b>, by Mitsuhiro Yoshida, <a target="_top" href="http://mitstek.com">http://mitstek.com</a>
- </li>
- <li><b>orangewhite, orangewhitepda</b>, by Urs Hunkler, <a target="_top" href="http://unodo.de">http://unodo.de</a>
- </li>
- <li><b>standard and all standard* themes</b>, by Martin Dougiamas
- </li>
- <li><b>wood</b>, by Eloy Lafuente (stronk7)
- </li>
- </ul>
- <p>&nbsp;</p>
- </blockquote>
- <h2>Moodle libraries</h2>
- <blockquote>
- <p>Some of Moodle's libraries were written by other people, and are being redistributed
- as part of Moodle under their respective open source licenses that thankfully
- allow us to do so. My thanks go out to the authors of all these excellent
- products - without them Moodle would be missing important functionality. Copyright
- information for each package is included below:</p>
-
- <p><b>ADOdb &nbsp; </b>- &nbsp;lib/adodb</p>
- <blockquote>
- <p>Database abstraction library for MySQL, PostgreSQL, MSSQL, Oracle, Interbase,
- Foxpro, Access, ADO, Sybase, DB2 and ODBC.</p>
- <p>Version: 4.71<br />
- Copyright &copy; 2000-2006 John Lim (jlim@natsoft.com.my)<br />
- License: Dual LGPL and BSD-style<br />
- URL: &nbsp;<a href="http://adodb.sourceforge.net" target="newpage">http://adodb.sourceforge.net</a>
- </p>
- </blockquote>
-
- <p><b>FPDF Class</b> &nbsp; - &nbsp;lib/fpdf</p>
- <blockquote>
- <p>Class to generate PDF files</p>
- <p>Version: 1.53<br />
- Copyright Olivier PLATHEY
- License: Freeware
- </p>
- </blockquote>
-
- <p><b>Graph Class</b> &nbsp; - &nbsp;lib/graphlib.php </p>
- <blockquote>
- <p>Class to draw line, point, bar, and area graphs, including numeric x-axis
- and double y-axis.</p>
- <p> Version: 1.6.3 (with modifications)<br />
- Copyright &copy;&nbsp;2000&nbsp; Herman Veluwenkamp,&nbsp;hermanV@mindless.com<br />
- License: LGPL
- </p>
- </blockquote>
-
- <p><b>html2text</b> &nbsp; - &nbsp;lib/html2text.php</p>
- <blockquote>
- <p>PHP script to convert HTML into an approximate text equivalent</p>
- <p> Version: 1.0 (with modifications)<br />
- Copyright &copy;&nbsp;2002&nbsp; Mark Wilton-Jones<br />
- License: <a href="http://www.howtocreate.co.uk/jslibs/termsOfUse.html">HowToCreate script license</a> with written permission<br />
- URL: <a href="http://www.howtocreate.co.uk/php/">http://www.howtocreate.co.uk/php/</a><br />
- </p>
- </blockquote>
-
- <p><b>htmlArea</b> &nbsp; - &nbsp;lib/editor</p>
- <blockquote>
- <p>Javascript/HTML script to put a GUI editor in textareas on Internet Explorer and Mozilla</p>
- <p> Version: 3.0 beta (with modifications)<br />
- Copyright &copy;&nbsp;2002&nbsp; <a href="http://interactivetools.com">interactivetools.com</a>, inc.<br />
- License: htmlArea License (based on BSD license)<br />
- </p>
- </blockquote>
-
- <p><b>IP-Atlas</b>&nbsp; - &nbsp; lib/ipatlas</p>
- <blockquote>
- <p>PHP scripts to show the location of an IP address on a map.<br />
- <br />
- Version: 1.0 (with modifications)<br />
- Copyright &copy; 2002 &nbsp; Ivan Kozik<br />
- License: GNU GPL<br />
- URL: <a href="http://www.xpenguin.com/ip-atlas.php" target="newpage">http://www.xpenguin.com/ip-atlas.php</a>
- </p>
- </blockquote>
-
- <p><b>kses</b> &nbsp; - &nbsp;lib/kses.php</p>
- <blockquote>
- <p>HTML/XHTML filter that only allows some elements and attributes</p>
- <p>Version: 0.2.2<br />
- Copyright &copy;&nbsp;2002, 2003, 2005 &nbsp; Ulf Harnhammar <br />
- License: GNU GPL<br />
- URL: <a href="http://sourceforge.net/projects/kses" target="newpage">http://sourceforge.net/projects/kses</a>
- </p>
- </blockquote>
-
- <p><b>mimeTeX</b>&nbsp; - &nbsp; filter/tex</p>
- <blockquote>
- <p>Compiled C program to convert TeX into GIFs<br />
- <br />
- Version: 1.4 <br />
- Copyright &copy; 2002-2004 &nbsp; John Forkosh Associates, Inc<br />
- License: GNU GPL<br />
- URL: <a href="http://www.forkosh.com/mimetex.html">http://www.forkosh.com/mimetex.html</a><br />
- URL: <a href="http://moodle.org/download/mimetex">http://moodle.org/download/mimetex</a>
- </p>
- </blockquote>
-
- <p><b>mp3player</b>&nbsp; - &nbsp; lib/mp3player</p>
- <blockquote>
- <p>Flash movie to play streaming MP3s<br />
- <br />
- Copyright &copy; 2005 &nbsp; Andrew Walker<br />
- License: GNU GPL</p>
- </blockquote>
-
- <p><b>overlibmws</b>&nbsp; - &nbsp; lib/overlib.js</p>
- <blockquote>
- <p>Javascript library to enable DHTML popups, floating windows, events etc<br />
- <br />
- Version: July 2004<br />
- Copyright &copy; 2002-2004 &nbsp; Foteos Macrides<br />
- Copyright &copy; 1998-2004 &nbsp; Erik Bosrup<br />
- License: Artistic Open Source License<br />
- URL: <a href="http://www.macridesweb.com/oltest/">http://www.macridesweb.com/oltest/</a>
- </p>
- </blockquote>
-
- <p><b>PclZip</b>&nbsp; - &nbsp; lib/pclzip</p>
- <blockquote>
- <p>Class to create, manage and unpack zip files.<br />
- <br />
- Version: 2.4<br />
- Copyright &copy; 2004 &nbsp;Vincent Blavet &lt;vincent@phpconcept.net&gt;<br />
- License: GNU GPL<br />
- URL: <a href="http://www.phpconcept.net" target="newpage">http://www.phpconcept.net</a><br />
- </p>
- </blockquote>
-
- <p><b>PHP mailer</b> &nbsp; - &nbsp;lib/class.phpmailer.php</p>
- <blockquote>
- <p>Class for sending email using either sendmail, PHP mail(), or SMTP.&nbsp;
- Methods are based upon the standard AspEmail(tm) classes.<br />
- <br />
- Version 1.71,<br />
- Copyright &copy; 2003 Brent R. Matzelle &lt;bmatzelle@yahoo.com&gt;<br />
- License: LGPL<br />
- URL: &nbsp; <a href="http://phpmailer.sourceforge.net" target="newpage">http://phpmailer.sourceforge.net</a><br />
- </p>
- </blockquote>
-
- <p><b>PHP Markdown</b> &nbsp; - &nbsp;lib/markdown.php </p>
- <blockquote>
- <p>Functions to convert from the Markdown text format into clean XHTML.</p>
- <p> Version: 1.0b9 (with modifications)<br />
- Copyright &copy;&nbsp;2003-2004&nbsp;,&nbsp;John Gruber<br />
- Copyright &copy;&nbsp;2004&nbsp;,&nbsp;Michel Fortin<br />
- License: LGPL<br />
- URL: <a href="http://www.michelf.com/projects/php-markdown/" target="newpage">http://www.michelf.com/projects/php-markdown/</a><br />
- </p>
- </blockquote>
-
- <p><b>Snoopy</b>&nbsp; - &nbsp; lib/snoopy</p>
- <blockquote>
- <p>A PHP net client<br />
- <br />
- Version: 1.2<br />
- Copyright &copy; 1999-2000&nbsp;Monte Ohrt &lt;monte@ispi.net&gt;<br />
- License: GNU LGPL<br />
- URL: <a href="http://snoopy.sourceforge.com">http://snoopy.sourceforge.net/</a><br />
- </p>
- </blockquote>
-
- <p><b>Spreadsheet::WriteExcel</b>&nbsp; - &nbsp; lib/excel</p>
- <blockquote>
- <p>A library for generating Excel Spreadsheets.<br />
- <br />
- Version: 2002-11-28<br />
- Copyright &copy; 2002 &nbsp;Xavier Noguer &lt;xnoguer@rezebra.com&gt;<br />
- License: GNU LGPL<br />
- URL: <a href="http://jeffn.users.phpclasses.org/browse.html/package/767.html" target="newpage">http://jeffn.users.phpclasses.org/browse.html/package/767.html</a><br />
- </p>
- </blockquote>
-
- <p><b>SMTP class &nbsp; </b>- &nbsp;lib/class.smtp.php</p>
- <blockquote>
- <p>Class that can be used to connect and communicate with any SMTP
- server. <br />
- It implements all the SMTP functions defined in RFC821 except TURN.<br />
- <br />
- Version: 03/26/2001 <br />
- Copyright &copy; 2001 &nbsp;Chris Ryan &lt;chris@greatbridge.com&gt;<br />
- </p>
- </blockquote>
-
- <p><b>Typo3 Character Set Class</b>&nbsp; - &nbsp; lib/typo3</p>
- <blockquote>
- <p>Class for conversion between charsets and multibyte-savy operations
- with strings.<br />
- <br />
- CVS version: 1.54<br />
- Copyright &copy; 2003-2005&nbsp;Kasper Skaarhoj<br />
- License: GNU GPL<br />
- URL: <a href="http://typo3.org/">http://typo3.org/</a><br />
- </p>
- </blockquote>
-
- </blockquote>
- <p align="center"><font size="1"><a href="." target="_top">Moodle Documentation</a></font></p>
- <p align="center"><font size="1">Version: $Id$</font></p>
- </blockquote>
-</body>
-</html>
View
216 lang/en_utf8/docs/cvs.html
@@ -1,216 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Moodle Docs: How to use CVS</title>
-<link rel="stylesheet" href="docstyles.css" type="TEXT/CSS" />
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<style type="text/css">
-<!--
-style ol {margin-left:40px;}
-.style1 {color: #990000}
-.style3 {color: #990000; font-weight: bold; }
-.style4 {
- color: #0000CC;
- font-weight: bold;
-}
--->
- </style>
-</head>
-<body>
-<h1>CVS for Moodle Developers</h1>
-<blockquote>
- <p>CVS is the <strong>Concurrent Versioning System</strong>, a commonly-used way of managing source code for large software projects. CVS keeps all versions of all files so that nothing is ever lost, and usage by different people is tracked. It also provides ways to merge code if two or more people are working on the same file. All code and all versions are stored on a central server (in the case of Moodle, at <a target="_top" href="http://www.sf.net/">Sourceforge</a>). </p>
- <p>If you just want to download Moodle using CVS to run a site, then you probably don't need this page - just follow the simpler CVS instructions on the <a target="_top" href="http://moodle.org/download">Moodle download page</a>.</p>
- <p>&nbsp;</p>
- <ol>
- <li><a href="#n1">Joining the project as a developer</a></li>
- <li><a href="#n2">CVS Modules</a> </li>
- <li><a href="#n3">Basic CVS Commands</a> <br />
- 3.1. <a href="#n3.1">CVS on Unix</a> <br />
- 3.2. <a href="#n3.2">CVS on Windows</a></li>
- <li> <a href="#n4">Working with Branches</a><br />
- 4.1. <a href="#n4.1">Trunk development</a><br />
- 4.2. <a href="#n4.2">Stable branches for each release</a><br />
- 4.3. <a href="#n4.3">Feature branches for large changes</a> </li>
- </ol>
-</blockquote>
-<br />
- <h2><a name="n1" id="n1"></a>1. Joining the project as a developer</h2>
- <blockquote>
- <p>So, you've been offered CVS write access to help us develop and maintain Moodle! <a href="http://sourceforge.net/project/memberlist.php?group_id=30935">Welcome aboard</a>!</p>
- <p>To be able to write changes into <a target="_top" href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/moodle/moodle/">Moodle's CVS archive</a>, you first need to have an account at Sourceforge (<a href="http://sourceforge.net/account/register.php">registration is free and easy</a>). For the examples on this page, let's assume your username is <strong><font color="#990000">myusername</font></strong> and your password is <strong><font color="#990000">mypassword</font></strong>. Take special note of the sourceforge instructions to <a target="_top" href="http://sourceforge.net/docman/display_doc.php?docid=768&amp;group_id=1#develhomedir">create your CVS home directory</a> - something you have to do with every new account to "enable" it for CVS. Basically you just have to use ssh to interactively connect to cvs.sourceforge.net.</p>
- <p>Once you have a working Sourceforge account, contact <a
- target="_top" href="http://moodle.org/user/view.php?id=1&amp;course=1">Martin Dougiamas</a> so he can set up your account with write access to particular Moodle directories.</p>
- <p>To avoid being prompted for <strong><font color="#990000">mypassword</font></strong> every time you run a CVS command, follow the <a target="_top" href="http://sourceforge.net/account/editsshkeys.php">Sourceforge directions for using authorized keys</a>. This step is optional, but it can make your CVS experience a lot nicer.</p>
- <p>With that done, you should have all the permissions you need, so you just need to set up your machine and download the current sources so you can start working on them. </p>
- <p>&nbsp;</p>
- </blockquote>
- <h2><a name="n2" id="n2"></a>2. CVS Modules</h2>
- <blockquote>
- <p>Within CVS, the word &quot;modules&quot; refers to separate collections of code. In Moodle we have the following modules within our repository:</p>
- <blockquote>
- <p><strong>moodle</strong> - the main Moodle source code</p>
- <p><strong>contrib</strong> - user contributions and other assorted code in development</p>
- <p><strong>mysql</strong> - a customised phpMyAdmin to plug into Moodle for database admin</p>
- <p><strong>windows-cron</strong> - a small package that makes cron possible on Windows systems</p>
- <p><strong>docs</strong> - various extra user-contributed documentation</p>
- </blockquote>
- <p>Most people are working on the existing features in the <strong>moodle</strong> module, but many are also contributing new ideas in the <strong>contrib</strong> modules. Once code reaches a certain level of maturity in the <strong>contrib</strong> area, it can be migrated over into the main <strong>moodle</strong> tree. </p>
- <p>&nbsp;</p>
- </blockquote>
- <h2><a name="n3" id="n3"></a>3. Basic CVS Commands </h2>
- <blockquote>
- <h3><a name="n3.1" id="n3.1"></a>3.1 CVS on Unix </h3>
- <blockquote>
- <p>Sourceforge CVS uses ssh as a transport layer for security, so you will have to set a CVS_RSH environment variable in your Unix shell. It's best to put these commands in your .bashrc or .cshrc so you don't have to type it all the time<strong>:</strong></p>
- <div class="commandline">setenv CVS_RSH ssh <em>(for csh, tcsh etc)</em><br />
- export CVS_RSH=ssh <em>(for sh, bash etc)</em></div>
- <p>Next, you can check out the latest development version of Moodle using this (all one line): </p>
- <div class="commandline">cvs -z3 -d:ext:<span class="style1">myusername</span>@cvs.sourceforge.net:/cvsroot/moodle co moodle</div>
- <p>The command is similar for other CVS modules:</p>
- <div class="commandline">cvs -z3 -d:ext:myusername@cvs.sourceforge.net:/cvsroot/moodle co contrib</div>
- <p>Don't try to do run this first CVS command over an existing moodle installation: start fresh with a new directory.</p>
- <p>Note that you will be prompted for <strong><font color="#990000">mypassword</font></strong> for each command unless you set up <a target="_top" href="http://sourceforge.net/account/editsshkeys.php">authorized keys</a>.</p>
- <p>Now, you should have a new 'moodle' directory. You can rename it and move it around if you like. Go into it: </p>
- <div class="commandline">cd moodle </div>
- <p>All the latest Moodle files should be in there. You can now change files in your copy. To compare your files and directories against the main CVS copy on the server use cvs diff, e.g.: </p>
- <div class="commandline">cvs diff -c config-dist.php<br />
- cvs diff -c lang </div>
- <p>To fetch the latest updates from the server use: </p>
- <div class="commandline">cvs update -dP</div>
- <p>To copy your new files back to the server you would do something like: </p>
- <div class="commandline">cd lang/ca <br />
-cvs commit</div>
- <p>You will be prompted to add some comments (depends on your default text editor) ... add a meaningful comment and close the editor ... the files will be sent to Sourceforge and stored. Done! </p>
- <p>To save more time you can put default arguments into a file called .cvsrc in your home directory. For example, mine contains: </p>
- <div class="commandline">diff -c <br />
-update -dP</div>
- <p>Try 'cvs help' for more details ... </p>
- <p>&nbsp;</p>
- </blockquote>
- <h3><a name="n3.2" id="n3.2"></a>3.2 CVS on Windows </h3>
- <blockquote>
- <p>First, you need to download a completely fresh copy of Moodle using your developer account.</p>
- </blockquote>
- <ol>
- <li> Get TortoiseCVS from <a target="_top" href="http://www.tortoisecvs.org/">tortoisecvs.org</a> and install it, then reboot.</li>
- <li>Find or create a new folder somewhere where you want Moodle to be downloaded to.</li>
- <li>Right-mouse-click that folder and choose &quot;<strong>CVS Checkout</strong>&quot; from the menu. You should see a dialog box.</li>
- <li>Copy this text into the CVSROOT field (using your own username!):
- <pre> :ext:<font color="#990000">myusername</font>@cvs.sourceforge.net:/cvsroot/moodle</pre>
- </li>
- <li>Under the &quot;Module&quot; field, type &quot;<strong>moodle</strong>&quot; to get the latest development version of Moodle, &quot;<strong>contrib</strong>&quot; to get the contributions directory, or &quot;<strong>mysql</strong>&quot; to get the MySQL Admin module.</li>
- <li>Press the button: &quot;<strong>OK</strong>&quot; and everything should be downloaded.<br />
- </li>
- </ol>
- <blockquote>
- <p>A dialog box should show all the files being downloaded, and after a while you should have a complete copy of Moodle. After this first checkout, you can fetch the latest updated files from the CVS server:</p>
- </blockquote>
- <ol>
- <li> Right-mouse-click on your Moodle folder (or any file) and select &quot;<strong>CVS Update</strong>&quot;. </li>
- <li>Sit back and watch the logs scroll by. Take note of conflicts that may occur if your local code has changes that conflict with the incoming versions - you will need to edit these files and resolve the conflicts manually. <br />
- </li>
- </ol>
- <blockquote>
- <p>After modifying files (you will notice their icons change from green to red!), you can commit them back to the CVS server like this:</p>
- </blockquote>
- <ol>
- <li> Right-mouse-click on your Moodle folder (or any file) and select &quot;<strong>CVS Commit...</strong>&quot;.</li>
- <li>In the dialog box, type a clear description of the changes you are committing.</li>
- <li>Click &quot;OK&quot;. Your changes will be sent to the server.<br />
- </li>
- </ol>
-<br />
- </blockquote>
- <h2><a name="n4" id="n4"></a>4. Working with Branches</h2>
- <blockquote>
- <p>This diagram shows how the main <strong>moodle</strong> module branches into different versions over time.</p>
- <p align="center"><img src="pix/cvstree.png" width="500" height="200" /></p>
- <p align="left">To see all the current tags and branches that are available, use this command on any old file (such as index.php in the top moodle directory):</p>
- <div class="commandline">cvs status -v index.php</div>
- <p>Some tagging guidelines:</p>
- <ul>
- <li>Tag and branch names should always be all upper-case.</li>
- <li>Tags and branches should ALWAYS be applied to the <strong>entire module</strong> (all of Moodle). Don't tag individual files or directories. </li>
- <li>We don't allow renaming of tags because people may be relying on them, so get them right the first time! </li>
- </ul>
-</blockquote>
-<br />
- <h3><a name="n4.1" id="n4.1"></a>4.1 Trunk development</h3>
- <blockquote>
- <p>The Trunk of CVS is the main development version of Moodle. In CVS it is also known as the <span class="style4">HEAD</span>, or default branch.</p>
- <p>Moodle developers try to keep this stable as possible, but as it usually contains new code it probably has bugs and small instabilities.</p>
- <p>Every now and then we decide the product has enough features to make a release. At this time, the trunk is tagged with a <strong>MOODLE_XX_BETA</strong> tag (in case we ever want to roll back to that point) and a new branch is formed for the release, called <span class="style1">MOODLE_XX_STABLE</span>. </p>
- <p>A Beta package is also released at this point - it's for testers who don't use CVS but want to test the latest features and report bugs.</p>
- </blockquote>
- <p>&nbsp;</p>
- <h3><a name="n4.2" id="n4.2"></a>4.2 Stable branches for each release</h3>
- <blockquote>
- <p>As soon as the stable branch <span class="style3">MOODLE_XX_STABLE</span> is created, development efforts will fork into two streams for a while. Some people may continue working on new features in the trunk for the next release, but most developers should be concentrating on using the current <span class="style1"><strong>STABLE</strong></span> branch and fixing bugs that are found in it. </p>
- <p>You can switch your local copy of Moodle to the STABLE version using the following command in Unix from the root directory:</p>
- <div class="commandline">cvs update -dP -r <span class="style1">MOODLE_XX_STABLE</span></div>
- <p>After that, all the commands described above will apply to that stable version. To return to the trunk version just issue:</p>
- <div class="commandline">cvs update -dPA</div>
- <p>On Windows clients you should have a menu from which you can choose the branch. </p>
- <p>Once the new STABLE branch really stabilises, a release can be declared. Packages are created for distribution and the branch will be tagged (by Martin) with a tag named: <strong>MOODLE_XXX</strong></p>
- <p>Periodically, bug fixes in the STABLE branch should be merged into the trunk so that they become available in future versions of Moodle. A floating tag called MOODLE_XX_MERGED will be maintained to keep track of the last merge. The procedure for such a merge is as follows:</p>
- <ol>
- <li>Get out the very latest trunk version.<br />
- <br />
- <div class="commandline">cvs update -dPA</div>
- </li>
- <li>Merge everything on the branch since the last merge, into your trunk version<br /><br />
- <div class="commandline">cvs update -kk -j MOODLE_13_MERGED -j MOODLE_13_STABLE</div>
- </li>
- <li>Carefully watch the update logs for conflicts, and fix every file that you see with a conflict</li>
- <li>Check the merged copy back into CVS trunk version<br />
- <br />
- <div class="commandline">cvs commit</div>
- </li>
- <li>Go back to the branch version<br /><br />
- <div class="commandline">cvs update -dPr MOODLE_13_STABLE</div>
- </li>
- <li>Update the floating merge tag so that this process can be repeated next time<br /><br />
- <div class="commandline">cvs tag -RF MOODLE_13_MERGED</div>
- </li>
- </ol>
- <p><br />
- Finally, the values for <em>$version</em> in all the Moodle version.php files within the stable branch should not be updated at all if possible (except the last digit if necessary). The reason is that someone updating from a very stable version to the next very stable version could miss database upgrades that happened on the trunk. </p>
- </blockquote>
-<br />
- <h3><a name="n4.3" id="n4.3"></a>4.3 Feature branches for large changes </h3>
- <blockquote>
- <p>Occasionally, there may be a very large feature that needs to be checked in so several people can work on it, but it is too unstable to be included in the main development trunk.</p>
- <p>In these cases a short-term branch can be created to work on the feature, and then merged back into the main trunk as soon as possible. An example called <span class="style1"><strong>MOODLE_14_WIDGET</strong></span> branch can be seen in the above diagram.</p>
- <p>If you need to do this for your new WIDGET feature, follow these steps:</p>
- <ol>
- <li>Discuss with other developers to make sure it's necessary!</li>
- <li>Make a new tag on the <strong>trunk</strong> (for all of moodle) called <strong>MOODLE_XX_WIDGET_PRE</strong>
- <br /><br />
- <div class="commandline">cvs tag -R MOODLE_XX_WIDGET_PRE</div></li>
- <li>Create your branch called <span class="style1"><strong>MOODLE_XX_WIDGET</strong></span>
- <br /><br />
- <div class="commandline">cvs tag -Rb <span class="style1">MOODLE_XX_WIDGET</span></div></li>
- <li>Work in that branch until the feature is reasonably stable. Commit as necessary.
- <br /><br />
- <div class="commandline">cvs commit</div></li>
- <li>When ready, merge the whole branch into the trunk, fix conflicts, commit it to the trunk and then abandon the branch.
- <br />
- <br />
- <div class="commandline">
- <strong>cvs update -dPA</strong><br />
- <strong>cvs update -kk -j <span class="style1">MOODLE_XX_WIDGET</span></strong><br />
- <strong>cvs commit </strong></div>
- </li>
- </ol>
-</blockquote>
-<br />
-<blockquote>
- <p align="center">Good luck, be careful and have fun!</p>
-</blockquote>
-<br />
-<p align="center"><font size="1"><a href="." target="_top">Moodle Documentation</a></font></p>
-<p align="center"><font size="1">Version: $Id$</font></p>
-</body>
-</html>
View
289 lang/en_utf8/docs/developer.html
@@ -1,289 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Moodle Docs: Developers Manual</title>
-<link rel="stylesheet" href="docstyles.css" type="TEXT/CSS" />
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-</head>
-
-<body>
-<h1>Developers Manual</h1>
-<blockquote>
- <p>This document describes some of Moodle's design and how you can contribute.</p>
- <p>It's a bit thin at the moment - better documentation will come eventually!</p>
- <p>Sections in this document:</p>
- <ol>
- <li><a href="#architecture">Moodle architecture</a></li>
- <li><a href="#contribute">How you can contribute</a>
- <ul>
- <li><a href="#activities">Learning activities</a></li>
- <li><a href="#themes">Themes</a></li>
- <li><a href="#languages">Languages</a></li>
- <li><a href="#database">Database Schemas</a></li>
- <li><a href="#courseformats">Course formats</a></li>
- <li><a href="#doc">Documentation and articles</a></li>
- <li><a href="#bugs">Participating in the bug tracker</a></li>
- </ul>
- </li>
- </ol>
-</blockquote>
-<p>&nbsp;</p>
-<h2><a name="architecture"></a>1. Moodle architecture</h2>
-<blockquote>
- <p>From a system administrator's perspective, Moodle has been designed according
- to the following criteria:</p>
- <ol>
- <li><strong>Moodle should run on the widest variety of platforms</strong><br />
- <br />
- The web application platform that runs on most platforms is PHP combined
- with MySQL, and this is the environment that Moodle has been developed in
- (on Linux, Windows, and Mac OS X). Moodle also uses the ADOdb library for
- database abstraction, which means Moodle can use <a href="http://php.weblogs.com/ADOdb_manual#drivers">more
- than ten different brands of database</a> (unfortunately, though, it can
- not yet <em><strong>set up tables</strong></em> in all these databases -
- more on this later). <br />
- <br />
- </li>
- <li><strong>Moodle should be easy to install, learn and modify</strong><br />
- <br />
- Early prototypes of Moodle (1999) were built using <a target="_top" href="http://www.zope.org/">Zope</a>
- - an advanced object-oriented web application server. Unfortunately I found
- that although the technology was pretty cool, it had a very steep learning
- curve and was not very flexible in terms of system administration. The PHP
- scripting language, on the other hand, is very easy to get into (especially
- if you've done any programming using any other scripting language). Early
- on I made the decision to avoid using a class-oriented design - again, to
- keep it simple to understand for novices. Code reuse is instead achieved
- by libraries of clearly-named functions and consistent layout of script
- files. PHP is also easy to install (binaries are available for every platform)
- and is widely available to the point that most web hosting services provide
- it as standard.<br />
- <br />
- </li>
- <li><strong>It should be easy to upgrade from one version to the next</strong><br />
- <br />
- Moodle knows what version it is (as well as the versions of all plug-in
- modules) and a mechanism has been built-in so that Moodle can properly upgrade
- itself to new versions (for example it can rename database tables or add
- new fields). If using CVS in Unix for example, one can just do a &quot;cvs
- update -d&quot; and then visit the site home page to complete an upgrade.<br />
- <br />
- </li>
- <li><strong>It should be modular to allow for growth</strong><br />
- <br />
- Moodle has a number of features that are modular, including themes, activities,
- interface languages, database schemas and course formats. This allows anyone
- to add features to the main codebase or to even distribute them separately.
- More on this below in the next section.<br />
- <br />
- </li>
- <li><strong>It should be able to be used in conjunction with other systems</strong><br />
- <br />
- One thing Moodle does is keep all files for one course within a single,
- normal directory on the server. This would allow a system administrator
- to provide seamless forms of file-level access for each teacher, such as
- Appletalk, SMB, NFS, FTP, WebDAV and so on. The authentication modules allow
- Moodle to use LDAP, IMAP, POP3, NNTP and other databases as sources for
- user information. Otherwise, there is work yet to do. Features planned for
- Moodle in future versions include: import and export of Moodle data using
- XML-based formats (including IMS and SCORM); and increased use of style
- sheets for interface formatting (so that it can be integrated visually into
- other web sites).</li>
- </ol>
-</blockquote>
-<p>&nbsp;</p>
-<h2><a name="contribute" id="contribute"></a>2. How you can contribute</h2>
-<blockquote>
- <p>As mentioned above, Moodle has a number of features that are modular. Even
- if you are not a programmer there are things you can change or help with.</p>
- <h3><a name="activities" id="activities"></a>Learning Activities</h3>
- <blockquote>
- <p>These are by far the most important modules, and reside in the 'mod' directory.
- There are a number of default modules: assignment, choice, forum, quiz, survey, wiki, etc. Each module is in a separate subdirectory and consists
- of the following mandatory elements (plus extra scripts unique to each module):</p>
- <ul>
- <li>mod.html: a form to set up or update an instance of this module</li>
- <li>version.php: defines some meta-info and provides upgrading code</li>
- <li>icon.gif: a 16x16 icon for the module</li>
- <li>db/: SQL dumps of all the required db tables and data (for each database
- type) </li>
- <li>index.php: a page to list all instances in a course</li>
- <li>view.php: a page to view a particular instance</li>
- <li>lib.php: any/all functions defined by the module should be in here.
- If the modulename if called widget, then the required functions include:
- <ul>
- <li>widget_add_instance() - code to add a new instance of widget</li>
- <li>widget_update_instance() - code to update an existing instance</li>
- <li>widget_delete_instance() - code to delete an instance</li>
- <li>widget_user_outline() - given an instance, return a summary of a
- user's contribution</li>
- <li>widget_user_complete() - given an instance, print details of a user's
- contribution<br />
- </li>
- <li>To avoid possible conflict, any module functions should be named
- starting with widget_ and any constants you define should start with
- WIDGET_ </li>
- </ul>
- </li>
- <li>Lastly, each module will have some language files that contain strings
- for that module. See below.</li>
- </ul>
- <p>The easiest way to start a new learning activity module is to use the template
- in <strong><a href="http://moodle.org/mod/newmodule_template.zip">mod/newmodule_template.zip</a>.</strong>
- Unzip it and follow the README inside. </p>
- <p>You might also like to post first in the <a href="http://moodle.org/mod/forum/view.php?id=44" target="_top">Activities
- modules forum on Using Moodle</a>.</p>
- <p>&nbsp;</p>
- </blockquote>
- <h3><a name="themes" id="themes"></a>Themes</h3>
- <blockquote>
- <p>Themes (or skins) define the look of a site. A number of simple themes
- are provided in the main distribution, but you may want to create your own
- theme with your own colours, logo, styles and graphics. </p>
- <p>Each theme is in a subdirectory of the &quot;theme&quot; directory, and
- contains at least the following files:</p>
- <ul>
- <li><strong>config.php</strong>: to configure how the CSS files work together. You can build your theme onto the standard or onto any parent theme, can include or exclude several CSS files.</li>
- <li><strong>styles.php</strong>: Builds the bridge to the CSS files. You don't need to edit anything.</li>
- <li><strong>header.html</strong>: Included at the top of each page. This
- is what you need to edit to add a logo at the top of pages, for example.</li>
- <li><strong>footer.html</strong>: Included at the bottom of each page.</li>
- <li><strong>styles_color.css</strong>: CSS styles for all colour properties.</li>
- <li><strong>styles_fonts.css</strong>: CSS styles for fonts, font-size, line-height etc.</li>
- <li><strong>styles_layout.css</strong>: CSS styles for the page layout, positioning etc.</li>
- <li><strong>styles_moz.css</strong>: CSS styles for Mozilla special rounded corners.</li>
- </ul>
- <p>To create your own themes for the current versions of Moodle:</p>
- <ol>
- <li>Copy one of the existing theme folders to one with a new name. I recommend
- starting with one of the standard themes. </li>
- <li>Edit config.php to meet your demands. </li>
- <li>Edit the CSS files with your styles. </li>
- <li>Edit header.html and footer.html to add new logos, or change the layout.
- </li>
- </ol>
- <p>Note also that Moodle upgrades <em>may</em> break themes slightly, so check
- the release notes carefully if you are using a custom theme.</p>
- <p>Please read the detailed description of Moodle themes in the Themes documentation in <a href="http://docs.moodle.org/wiki/Themes">Moodle Docs</a>.</p>
- <p>More discussion about themes in the <a target="_top" href="http://moodle.org/mod/forum/view.php?id=46">Themes
- forum on Using Moodle</a>. If you create a nice theme that you think others
- might want to use, please post your zip file on the themes forum!<br />
- </p>
- </blockquote>
- <h3><a name="languages" id="languages"></a>Languages</h3>
- <blockquote>
- <p>Moodle has been designed for internationalisation. Each 'string' or 'page'
- of text that is displayed as part of the interface is drawn from a set of
- language files. Each language is a subdirectory of the directory 'lang'.
- The structure of the lang directory is as follows:</p>
- <p><strong>lang/en</strong> - directory containing all files for one language
- (eg English)</p>
- <ul>
- <li>moodle.php - strings for main interface</li>
- <li>assignment.php - strings for assignment module</li>
- <li>choice.php - strings for choice module</li>
- <li>forum.php - strings for forum module</li>
- <li>quiz.php - strings for quiz module</li>
- <li>resource.php - strings for resource module</li>
- <li>survey.php - strings for survey module</li>
- <li>.... plus other modules if any.<br />
- <br />
- A string is called from these files using the <strong><em>get_string()</em></strong> or<em> <strong>print_string()</strong> </em>functions. Each string
- supports variable substitution, to support variable ordering in different
- languages.<em><br />
- <br />
- </em>eg $strdueby = get_string(&quot;assignmentdueby&quot;, &quot;assignment&quot;,
- userdate($date)); <br />
- <br />
- If a string doesn't exist in a particular language, then the equivalent
- in English will automatically be used instead.</li>
- </ul>
- <p><strong>lang/en/help</strong> - contains whole help pages (for popup context-sensitive
- help)</p>
- <blockquote>
- <p>Main help pages are situated here, while help pages specific to each
- module are located in subdirectories with the module's name.</p>
- <p>You can insert a helpbutton in a page with the helpbutton function.</p>
- <p>eg helpbutton(&quot;text&quot;, &quot;Click here for help about text&quot;);</p>
- <p>and for modules:</p>
- <p>helpbutton(&quot;forumtypes&quot;, &quot;Forum types&quot;, &quot;forum&quot;);</p>
- </blockquote>
- <p>Note that you can edit languages online, using the administration web tools
- under &quot;Check this language&quot;. This makes it easy to not to only
- create new languages but to refine existing ones. If you are starting a
- new language, please contact me, <a target="_top" href="http://dougiamas.com/">Martin
- Dougiamas</a>. </p>
- <p>You might also like to post in the <a target="_top" href="http://moodle.org/mod/forum/view.php?id=43">Languages
- forum on Using Moodle</a>. </p>
- <p>If you are maintaining a language an ongoing basis, I can give you <a href="?file=cvs.html">CVS
- write access to the Moodle source code</a> so that you can directly maintain
- the files.</p>
- </blockquote>
- <h3><a name="database" id="database"></a>Database Schemas</h3>
- <blockquote>
- <p>Given a working database with defined tables, the intentionally simple
- SQL used in Moodle should work fine with a wide variety of database brands.</p>
- <p>A problem exists with <strong>automatically creating</strong> new tables
- in a database, which is what Moodle tries to do upon initial installation.
- Because every database is very different, there doesn't yet exist any way
- to do this in a platform-independent way. To support this automation in
- each database, schemas can be created that list the required SQL to create
- Moodle tables in a particular database. These are files in <strong>lib/db</strong>
- and inside the <strong>db</strong> subdirectory of each module.</p>
- <p>Currently, only MySQL and PostgreSQL are fully supported in this way (no-one
- wrote the schemas for other brands).</p>
- <p>Moodle 1.2 will use a new method of database-independent XML schemas that
- will make all this unnecessary.</p>
- </blockquote>
- <p>&nbsp;</p>
- <h3><a name="courseformats" id="courseformats"></a>Course Formats</h3>
- <blockquote>
- <p>Moodle currently supports three different course formats: weekly, topics
- and social. </p>
- <p>These are a little more connected to the rest of the code (and hence, less
- &quot;pluggable&quot;) but it is still quite easy to add new ones.</p>
- <p>If you have any ideas for different formats that you need or would like
- to see, get in touch with me and I'll do my absolute best to have them available
- in future releases.</p>
- </blockquote>
- <p>&nbsp;</p>
- <h3><a name="doc" id="doc"></a>Documentation and articles</h3>
- <blockquote>
- <p>If you feel like writing a tutorial, an article, an academic paper or anything
- else about Moodle, please do! </p>
- <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>
- </blockquote>
- <p>&nbsp;</p>
- <h3><a name="bugs" id="bugs"></a>Participating in the bug tracker</h3>
- <blockquote>
- <p>Finally, I would like to invite you to register on the &quot;bug tracker&quot;
- at <a target="_top" href="http://moodle.org/bugs/">http://moodle.org/bugs</a>
- so you can file any bugs that you find and perhaps participate in discussing
- and fixing them. </p>
- <p>&quot;Bugs&quot; not only includes software bugs with current versions
- of Moodle, but also new ideas, feature requests and even constructive criticism
- of existing features. The beauty of open source is that anyone can participate
- in some way and help to create a better product for all of us to enjoy.
- In this project, your input is very welcome!</p>
- </blockquote>
-</blockquote>
-<p>&nbsp;</p>
-<blockquote>
- <blockquote>
- <blockquote>
- <p align="center">Thanks for using Moodle!<br />
- <br />
- <a target="_top" href="http://dougiamas.com/">Martin Dougiamas</a>, Lead
- Developer </p>
- </blockquote>
- </blockquote>
-</blockquote>
-<p>&nbsp;</p>
-<blockquote>
- <p>&nbsp;</p>
-</blockquote>
-<p align="center"><font size="1"><a href="." target="_top">Moodle Documentation</a></font></p>
-<p align="center"><font size="1">Version: $Id$</font></p>
-</body>
-</html>
View
134 lang/en_utf8/docs/docstyles.css
@@ -1,134 +0,0 @@
-body, td, th, li {
- font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- background-color: #FFFFFF;
-}
-
-th {
- font-weight: bold;
-}
-
-a:link {
- text-decoration: none;
- color: blue;
-}
-
-a:visited {
- text-decoration: none;
- color: blue;
-}
-
-a:hover {
- text-decoration: underline;
- color: red;
-}
-
-form {
- margin-bottom: 0;
-}
-
-
-li {
- margin-bottom: 10px;
-
-}
-
-.question {
- font-size: medium;
- font-weight: bold;
- font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- border: 1px dotted;
- padding: 10px;
- background-color: #EEEEEE;
-}
-
-.answer {
- font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- font-size: medium;
- border: none;
- padding-left: 40px;
-}
-
-.normaltext {
- font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- font-size: medium;
- border: none;
- margin-left: 30px;
-
-}
-
-.answercode {
- font-family: "Courier New", Courier, mono;
- font-size: small;
- border: none;
- padding-left: 60px;
-}
-
-.questionlink {
- font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- font-size: medium;
- border: none;
- padding-left: 40px;
-}
-
-.examplecode {
- font-family: "Courier New", Courier, mono;
- font-size: small;
- border: thin dashed #999999;
- background-color: #FBFBFB;
- margin: auto;
- padding: 30px;
- height: auto;
- width: auto;
-}
-h1 {
- font-weight: bold;
- color: #000000;
- background-color: #CCCCCC;
- padding: 5px;
- font-size: large;
- border-width: 1px;
- border-color: #CCCCCC;
- -moz-border-radius: 10px;
-}
-h2 {
- font-weight: bold;
- color: #FFFFFF;
- background-color: #666666;
- padding: 5px;
- font-size: medium;
- border-width: 1px;
- border-color: #666666;
- -moz-border-radius: 10px;
-}
-h3 {
- font-weight: normal;
- color: #FFFFFF;
- background-color: #666666;
- padding: 5px;
- font-size: medium;
- -moz-border-radius: 10px;
-}
-.spaced {
-
- margin-bottom: 30px;
-}
-
-ul {
- margin-top: 10px;
-
-}
-.commandline {
- font-family: "Courier New", Courier, mono;
- font-size: x-small;
- background-color: #FBFBFB;
- margin: auto auto 20px 30px;
- padding: 5px;
- height: auto;
- width: auto;
- font-weight: bold;
- border: 1px solid #999999;
- white-space: nowrap;
- display: compact;
- clear: both;
- float: none;
-}
View
806 lang/en_utf8/docs/faq.html
@@ -1,806 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Moodle Docs: Frequently Asked Questions (FAQ)</title>
-<link rel="stylesheet" href="docstyles.css" type="TEXT/CSS" />
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-</head>
-
-<body>
-<h1>Frequently Asked Questions (FAQ)</h1>
-<p class="normaltext">This page contains answers to some of the most
- frequently asked questions by people installing Moodle. If you have
- followed the <a href="./?file=install.html">installation instructions</a> but
- you still have a problem, then this page is probably the best place to be. </p>
-
-<p class="normaltext">If you don't find your answer here try the <a href="http://moodle.org/mod/forum/index.php?id=5" target="_top">Using
- Moodle</a> course on moodle.org. Start by searching the forums using a few keywords,
- in case your problem has already been discussed. If you don't find
- anything, then try posting your question into the appropriate forum - somebody will
- usually be able to help you.</p>
-
-
-<p class="normaltext">If you have tried a number of solutions without resolving an issue,
-and you are running behind a firewall, it may be advisable to try re-configuring your
-firewall to ensure that it is not blocking a required function or necessary communication.
-Firewalls very rarely cause problems with Moodle but are occasionally responsible for
-reduced functionality due to a mis-configuration in the firewall settings.
-
-
-
-<p class="normaltext">Use this list to jump to the appropriate answer below:</p>
-
-<p class="questionlink"><a href="#filenotfound">Whenever I try to access or view a file that I uploaded, I get an error &quot;File not Found&quot;</a></p>
-
-
-
-<p class="questionlink"><a href="#php">PHP - is it installed and what version do I have?</a></p>
-
-
-
-<p class="questionlink"><a href="#blankpages">Why are all my pages blank?</a></p>
-
-
-
-<p class="questionlink"><a href="#errorgetstring">My pages show fatal errors such as : call to undefined function: get_string()</a></p>
-
-
-
-<p class="questionlink"><a href="#headerssent">Why do I keep getting error messages about &quot;headers already sent&quot;?</a></p>
-
-
-
-<p class="questionlink"><a href="#failedopen">I keep getting this error: Failed opening required '/web/moodle/lib/setup.php'</a></p>
-
-
-
-<p class="questionlink"><a href="#quotes">Any text I add with an apostrophe (') or a quote (&quot;) causes errors or comes up with a slash added</a></p>
-
-
-
-<p class="questionlink"><a href="#sessiontmp">I keep getting error messages about session_start</a></p>
-
-
-
-<p class="questionlink"><a href="#fixdirroot">When I go to the admin page, I get told to make dirroot blank!</a></p>
-
-
-
-<p class="questionlink"><a href="#loginsetting">I login but the login link doesn't change. I am logged in and can navigate freely.</a></p>
-
-
-
-<p class="questionlink"><a href="#resource1">When trying to add a resource I receive error messages.</a></p>
-
-
-
-<p class="questionlink"><a href="#noadmin">During the initial setting-up process, I never get asked to create an admin account!</a></p>
-
-<p class="questionlink"><a href="#nologin">I can't log in at all- I just stay stuck on the login screen.</a></p>
-
-<p class="questionlink"><a href="#backup">How do I backup my Moodle site?</a></p>
-
-<p class="questionlink"><a href="#locale">Why doesn't my Moodle site display the
-
- time &amp; date correctly?</a></p>
-
-<p class="questionlink"><a href="#cron">Email copies are not being sent
-
- from my forums</a></p>
-
-<p class="questionlink">&nbsp;</p>
-
-
-
-
-
-
-
-<h3><a name="filenotfound"></a>Whenever I try to access or view
-
-
-
- a file that I uploaded, I get an error &quot;File not Found&quot;</h3>
-
-
-
-<p class="answer">For example: Not Found: The requested URL /moodle/file.php/2/myfile.jpg
-
-
-
- was not found on this server. </p>
-
-
-
-<p class="answer">Your web server needs to be configured to allow the part of
-
-
-
- the URL after a script name to be passed directly to the script. This is usually
-
-
-
- enabled in Apache 1, but is usually disabled by default in Apache 2. To turn
-
-
-
- it on, add this line to your httpd.conf, or to a .htaccess file in your local
-
-
-
- directory (see the <a href="./?file=install.html#webserver">Install documentation</a>
-
-
-
- for more details): </p>
-
-
-
-<p class="answercode"><b>AcceptPathInfo</b> on</p>
-
-
-
-<p class="answer">Note, this will ONLY work for Apache versions 2.x. </p>
-
-
-
-<p class="answer">If you are not using Apache 2 and you still have this problem
-
-
-
- (unlikely) then you can switch Moodle to use an alternative method. The disadvantages
-
-
-
- are a slight loss of performance for your users and you won't be able to use
-
-
-
- relative links within HTML resources. </p>
-
-
-
-<p class="answer">To use this alternative method: login as Admin, go into the
-
-
-
- "Configure Variables" page and change the setting for "<b>slasharguments</b>".
-
-
-
- You should now be able to access your uploaded files.</p>
-
-
-
-<p class="answer">&nbsp;</p>
-
-
-
-
-
-
-
- <h3><a name="php"></a>PHP - is it installed and what version
-
-
-
- do I have?</h3>
-
-
-
- <p class="answer">Make a new file on your web site called info.php, containing the following
-
-
-
- text, and call it from your browser:</p>
-
-
-
-
-
-
-
- <p class="answercode">&lt;?PHP phpinfo() ?&gt;</p>
-
-
-
-<p class="answer">If nothing happens then you don't have PHP installed. See the
-
-
-
- installation docs for some information about where to download it for your computer.</p>
-
-
-
-<p class="answer">&nbsp;</p>
-
-
-
-<h3><a name="blankpages"></a>Why are all my pages blank? </h3>
-
-
-
-<p class="answer">Check the dirroot variable in config.php. You must use complete,
-
-
-
- absolute pathnames, eg:</p>
-
-
-
-<p class="answercode"> $CFG->dirroot = "d:\inetpub\sites\www.yoursite.com\web\moodle";</p>
-
-
-
-<p>&nbsp; </p>
-
-
-
-<p class="answer">Redhat Linux platform please see: <a href="http://moodle.org/doc/?file=installamp.html">Redhat Linux</a></p>
-
-
-
-<p>&nbsp; </p>
-
-
-
-<h3><a name="errorgetstring"></a>My pages show fatal errors such
-
-
-
- as : call to undefined function: get_string()</h3>
-
-
-
-<p class="answer">If you see errors like:</p>
-
-
-
-<p class="answercode">Parse error: parse error, unexpected T_VARIABLE in c:\program
-
-
-
- files\easyphp\www\moodle\config.php on line 94 <br />
-
-
-
- Fatal error: Call to undefined function: get_string() in c:\program files\easyphp\www\moodle\mod\resource\lib.php
-
-
-
- on line 11</p>
-
-
-
-<p class="answer">then it's likely you have left out a semi-colon or ending quote
-
-
-
- from a line in config.php (previous to line 94).</p>
-
-
-
-<p class="answer">Another reason could be that you have opened config.php in a
-
-
-
- program like Word to edit it, and saved it as a HTML web page, instead of a
-
-
-
- proper text file.</p>
-
-
-
-<p>&nbsp;</p>
-
-
-
-<h3><a name="headerssent"></a>Why do I keep getting error messages
-
-
-
- about &quot;headers already sent&quot;?</h3>
-
-
-
-<p class="answer">If you see errors like this:</p>
-
-
-
-<p class="answercode">Warning: Cannot add header information - headers already
-
-
-
- sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php
-
-
-
- on line 1322 </p>
-
-
-
-<p class="answercode"> Warning: Cannot add header information - headers already
-
-
-
- sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php
-
-
-
- on line 1323 </p>
-
-
-
-<p class="answercode"> Warning: Cannot add header information - headers already
-
-
-
- sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/login/index.php
-
-
-
- on line 54 </p>
-
-
-
-<p class="answer">You have blank lines or spaces after the final ?> in your config.php
-
-
-
- file. Sometimes text editors add these - for example Notepad on Windows - so
-
-
-
- you may have to try a different text editor to remove these spaces or blank
-
-
-
- lines completely. </p>
-
-
-
-<p class="answer">&nbsp;</p>
-
-
-
-<h3><a name="failedopen"></a>I keep getting this error: Failed
-
-
-
- opening required '/web/moodle/lib/setup.php'</h3>
-
-
-
-<p class="answer">In your config.php, the setting that you use for the dirroot
-
-
-
- variable must be the <strong>complete path from the root of your server's hard
-
-
-
- drive</strong>.</p>
-
-
-
-<p class="answer">Sometimes people only use the path from their home directory,
-
-
-
- or relative to the root of the web server directory.</p>
-
-
-
-<p class="answer">&nbsp;</p>
-
-
-
-<h3><a name="quotes" id="quotes"></a>Any text I add with an apostrophe
-
-
-
- (') or a quote (&quot;) causes errors or comes up with a slash added</h3>
-
-
-
-<p class="answer">Problems caused by apostrophes are caused by incorrect &quot;magic
-
-
-
- quotes&quot; settings. Moodle requires the following settings (which are usually
-
-
-
- the default):</p>
-
-
-
-<p class="answercode">magic_quotes_gpc = On<br />
-
-
-
- magic_quotes_runtime = Off</p>
-
-
-
-<p class="answer">See the section on <a href="./?file=install.html#webserver">webserver
-
- configuration</a> in the Installation docs for more details.</p>
-
-<p class="answer">&nbsp;</p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h3><a name="sessiontmp"></a>I keep getting error messages about session_start</h3>
-
-
-
-<p class="answer">If you see errors like this:</p>
-
-
-
-<p class="answercode">Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123</p>
-
-
-
-<p class="answercode">Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123</p>
-
-
-
-<p class="answercode">Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\web\moodle\lib\setup.php:1) in G:\web\moodle\lib\setup.php on line 123</p>
-
-
-
-
-
-
-
-<p class="answer">... these are all related to the fact that PHP is failing to save
-
-
-
- "session" files on your hard disk (in a directory called /tmp). Usually the
-
-
-
- reason is that you don't HAVE a directory called /tmp on your computer. This
-
-
-
- is usually the case with Windows installations.
-
-
-
-
-
-
-
-<p class="answer">The solution is to fix the PHP setting for this path to point to a real directory. You can do this in your php.ini file:</p>
-
-
-
-<p class="answercode">session.save_path = C:\temp</p>
-
-
-
-<p class="answer">or otherwise in a .htaccess file in your main moodle directory:</p>
-
-
-
-<p class="answercode">php_value session.save_path "/home/moodle/sessions"</p>
-
-<p class="answercode">&nbsp;</p>
-
-
-
-
-
-
-
-<h3><a name="fixdirroot"></a>When I go to the admin page, I get told to make dirroot blank!</h3>
-
-
-
-<p class="answer">If you see errors like this in Moodle 1.0.9:</p>
-
-
-
-
-
-
-
-<table class="generalbox" cellspacing="0" cellpadding="5" align="center" border="0">
-
-
-
-<tbody>
-
-
-
-<tr>
-
-
-
-<td bgcolor=#ffbbbb>Please fix your settings in config.php:
-
-
-
-<p>You have:
-
-
-
-<p>$CFG-&gt;dirroot = "/home/users/fred/public_html/moodle";
-
-
-
-<p>but it should be:
-
-
-
-<p>$CFG-&gt;dirroot = "";</p></td></tr></tbody></table>
-
-
-
-
-
-
-
-<p class="answer">then you have encountered a small bug that occurs on some servers. The problem is with the error-checking mechanism, not with your actual path. To fix it, find this line (line 66) in the file admin/index.php: </p>
-
-
-
-<p class="answercode">if ($dirroot != $CFG->dirroot) {</p>
-
-
-
-<p class="answer">and change it to this:</p>
-
-
-
-<p class="answercode">if (!empty($dirroot) and $dirroot != $CFG->dirroot) {</p>
-
-<p class="answercode">&nbsp;</p>
-
-
-
-
-
-<h3><a name="loginsetting"></a>I login but don't appear to be. I am logged in and can navigate freely.</h3>
-
-
-
-<p class="answer">Make sure the URL in your $CFG->wwwroot setting is exactly the
-
- same as the one you are actually using to access the site.</p>
-
-<p class="answer">&nbsp;</p>
-
-
-
-<h3><a name="resource1"></a>When trying to add a resource I receive error messages.</h3>
-
-
-
-<p class="answer">Assuming you are using Apache, then it's quite likely that your
-
- setting in config.php for $CFG->wwwroot is different from the actual URL you
-
- are using to access the site. Also try turning off "<b>secureforms</b>" in the
-
- admin settings.</p>
-
-<p class="answer">&nbsp;</p>
-
-
-
-
-
-
-
-<h3><a name="noadmin"></a>During the initial setting-up process, I never get asked to create an admin account!</h3>
-
-
-
-<p class="answer">This is a known bug in versions of Moodle up to 1.0.9, now fixed in the main code and version 1.1.</p>
-
-
-
-<p class="answer">It doesn't affect all people, it only occurs when the person installing Moodle has a
-
- cookie in their browser from another program on the same site, called "user", "admin", or "teacher".</p>
-
-
-
-<p class="answer">Quick fixes include deleting those cookies from your browser before installing, using a different browser, or editing the file moodle/admin/user.php to insert these lines near the top:</p>
-
-
-
-<p class="answercode">unset($user);<br />unset($admin);<br />unset($teacher);</p>
-
-
-
-<p class="answer">After performing any of these fixes it might be a good idea
-
- to drop all the tables in your database and re-install again from scratch.</p>
-
-<p class="answer">&nbsp;</p>
-
-
-
-
-
-
-
-<h3><a name="nologin"></a>I can't log in - I just stay stuck on the login screen.</h3>
-
-
-
-<p class="answer">The most common cause for this is that your own computer (not your Moodle server)
-
- has a firewall that is stripping referrer information from the browser. Here are
-
- some instructions for fixing <a href="http://service1.symantec.com/SUPPORT/nip.nsf/46f26a2d6dafb0a788256bc7005c3fa3/b9b47ad7eddd343b88256c6b006a85a8?OpenDocument&amp;src=bar_sch_nam">Norton firewall products</a>.</p>
-
-
-
-<p class="answer">The server admin can also fix this for everyone by editing the Moodle configuration
-
- page and changing the variable "<b>secureforms</b>" to "No".</p>
-
-
-
-<p class="answer">Another possible cause of this problem is that sessions are
-
- not configured properly on the server. You can test this by calling the script
-
- http://yourserver/moodle/lib/session-test.php.</p>
-
-<p class="answer">&nbsp;</p>
-
-
-
-
-
-
-
-<h3><a name="backup"></a>How do I backup my whole Moodle site?</h3>
-
-
-
-<p class="answer">There are two main things you need to make a copy of: the database and the uploaded files. The Moodle scripts themselves are less important, since you can always download a fresh copy if you have to.</p>
-
-
-
-<p class="answer">There are many ways to do such backups. Here is an outline of a little script you can run on Unix to backup the database (it works well to have such a script run daily via a cron task</p>
-
-<p class="answercode">cd /my/backup/directory</p>
-
-<p class="answercode">mv moodle-database.sql.gz moodle-database-old.sql.gz</p>
-
-<p class="answercode">mysqldump -h example.com -u myusername --password=mypassword -C -Q -e -a mydatabasename > moodle-database.sql</p>
-
-<p class="answercode">gzip moodle-database.sql</p>
-
-<p class="answer">For the files, you can use rsync regularly to copy only the changed files to another host:</p>
-
-<p class="answercode">rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory
-
- /my/backup/directory/</p>
-
-<p class="answercode">&nbsp;</p>
-
-
-
-
-
-<h3><a name="locale"></a>Why doesn't my Moodle site display the time &amp; date correctly?</h3>
-
-
-
-<p class="answer">Each language requires a specific language code (called a <strong>locale</strong>
-
- code) to allow dates to be displayed correctly. The language packs contain default
-
- standard codes, but sometimes these don't work on Windows servers. </p>
-
-<p class="answer">You can find the correct locale codes for Windows on these two
-
- pages: <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_language_strings.asp" target="_blank">Language
-
- codes</a> and <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_country_strings.asp" target="_blank">Country/region
-
- codes</a>.(eg &quot;esp_esp&quot; for spanish)</p>
-
-<p class="answer">These new locale codes can be entered on the Admin -&gt; Configure
-
- -&gt; Variables page, where they override the ones in the currently chosen language
-
- pack.</p>
-
-<p class="answer">&nbsp;</p>
-
-<h3><a name="cron"></a>Email copies are not being sent
-
- from my forums </h3>
-
-<p class="answer">You <strong>must</strong> set up cron properly if you want Moodle
-
- to send out automatic email from forums, assignments etc. This same
-
- process also performs a number of clean-up tasks such as deleting old unconfirmed
-
- users, unenrolling old students and so on.</p>
-
-<p class="answer">Basically, you need to set up a process to regularly call the
-
- script http://yoursite/admin/cron.php. Please see <a href="./?file=install.html#cron">the
-
- section on cron in the Installation documentation</a>.</p>
-
-<p class="answer">Tip: Try the default setting in Moodle variables page. Leave the smtphost blank.
-
-This will be acceptable for the majority of users.
-<p class="answer">&nbsp;
-<p class="answer">&nbsp;
-
-
-<hr />
-
-
-
-<p align="center" class="normaltext"><a href='ma&#105&#108t&#111:ma%72%74in@%6d%6fo%64%6c%65.o%72g' title='mar&#116&#105n@&#109oo&#100&#108&#101&#46&#111&#114g'>Suggest
-
-
-
- a new FAQ</a> (include the answer!)</p>
-
-
-
-<hr />
-
-
-
-<p align="right"><strong><em>Thanks to John Eyre for helping to maintain this
-
-
-
- FAQ.</em></strong></p>
-
-
-
-<p align="center"><font size="1"><a href="." target="_top">Moodle Documentation</a></font></p>
-
-
-
-<p align="center"><font size="1">Version: $Id: faq.html,v 1.6 2003/03/30 13:54:28
-
-
-
- moodler Exp $</font></p>
-
-
-
-
-
-
-
-</body>
-
-
-
-</html>
-
View
211 lang/en_utf8/docs/features.html
@@ -1,211 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-
-<title>Moodle Docs: Features</title>
-
-<link rel="stylesheet" href="docstyles.css" type="TEXT/CSS" />
-
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-</head>
-<body>
-
-<h1>Features</h1>
-<blockquote>
- <p>Moodle is an active and evolving product. This page lists just some of the
- many features it contains:</p>
- <h3>Overall design</h3>
- <ul>
- <li>Promotes a social constructionist pedagogy (collaboration, activities, critical
- reflection, etc)</li>
- <li>Suitable for 100% online classes as well as supplementing face-to-face learning
- </li>
- <li>Simple, lightweight, efficient, compatible, low-tech browser interface</li>
- <li>Easy to install on almost any platform that supports PHP. Requires only
- one database (and can share it).</li>
- <li>Full database abstraction supports all major brands of database (except
- for initial table definition)</li>
- <li>Course listing shows descriptions for every course on the server, including
- accessibility to guests.</li>
- <li>Courses can be categorised and searched - one Moodle site can support thousands
- of courses</li>
- <li>Emphasis on strong security throughout. Forms are all checked, data validated,
- cookies encrypted etc</li>
- <li>Most text entry areas (resources, forum postings etc) can
- be edited using an embedded WYSIWYG HTML editor</li>
- </ul>
- <h3 >Site management</h3>
- <ul>
- <li>Site is managed by an admin user, defined during setup</li>
- <li>Plug-in "themes" allow the admin to customise the site colours, fonts, layout
- etc to suit local needs</li>
- <li>Plug-in activity modules can be added to existing Moodle installations</li>
- <li>Plug-in language packs allow full localisation to any language. These can
- be edited using a built-in web-based editor. Currently there are language
- packs for over <a href="http://moodle.org/download/lang/" target="_top">43
- languages</a>.</li>
- <li>The code is clearly-written PHP under a GPL license - easy to modify to
- suit your needs</li>
- </ul>
- <h3 >User management</h3>
- <ul>
- <li>Goals are to reduce admin involvement to a minimum, while retaining high
- security</li>
- <li>Supports a range of authentication mechanisms through plug-in authentication
- modules, allowing easy integration with existing systems.</li>
- <li>Standard email method: students can create their own login accounts. Email
- addresses are verified by confirmation.</li>
- <li>LDAP method: account logins can be checked against an LDAP server. Admin
- can specify which fields to use.</li>
- <li>IMAP, POP3, NNTP: account logins are checked against a mail or news server.
- SSL, certificates and TLS are supported.</li>
- <li>External database: any database containing at least two fields can be used
- as an external authentication source.</li>
- <li>Each person requires only one account for the whole server - each account
- can have different access</li>
- <li>An admin account controls the creation of courses and creates teachers by
- assigning users to courses</li>
- <li>A course creator account is only allowed to create courses and teach in
- them</li>
- <li>Teachers may have editing privileges removed so that they can't modify the
- course (eg for part-time tutors)</li>
- <li>Security - teachers can add an "enrolment key" to their courses to keep
- out non-students. They can give out this key face-to-face or via personal
- email etc</li>
- <li>Teachers can enrol students manually if desired</li>
- <li>Teachers can unenrol students manually if desired, otherwise they are automatically
- unenrolled after a certain period of inactivity (set by the admin)</li>
- <li>Students are encouraged to build an online profile including photos, description.
- Email addresses can be protected from display if required.</li>
- <li>Every user can specify their own timezone, and every date in Moodle is translated
- to that timezone (eg posting dates, assignment due dates etc)</li>