<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://docs.moodle.org/4x/sv/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Davidds</id>
	<title>MoodleDocs - Användarbidrag [sv]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/4x/sv/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Davidds"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/Special:Bidrag/Davidds"/>
	<updated>2026-04-14T10:56:21Z</updated>
	<subtitle>Användarbidrag</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=122865</id>
		<title>Användare:David Delgado</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=122865"/>
		<updated>2016-04-08T03:34:57Z</updated>

		<summary type="html">&lt;p&gt;Davidds: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;David Delgado&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Daviddswiki.jpg]]&lt;br /&gt;
&lt;br /&gt;
Online CLO at [http://www.incaem.com Incaem]. Senior Expert in E-learning. Working on e-learning since 1997.&lt;br /&gt;
&lt;br /&gt;
I have been contributing to Moodle since 2003.&lt;br /&gt;
&lt;br /&gt;
You can take a look at my [http://moodle.org/user/view.php?id=4920&amp;amp;course=5 Profile] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
Anyway, I have a more relevant [http://www.linkedin.com/in/davidds Profile at LinkedIn] (I am working on both [http://elgg.org Elgg] and [http://moodle.org Moodle] as tools to develop online learning communities).&lt;br /&gt;
&lt;br /&gt;
By the way, I have been also contributing to the Wikipedia since 2003. You can take a look at [http://en.wikipedia.org/wiki/User:Davidds my profile at Wikipedia], if you want.&lt;br /&gt;
&lt;br /&gt;
Cheers! :-)&lt;br /&gt;
&lt;br /&gt;
Last updated: April 8, 2016&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=122864</id>
		<title>Användare:David Delgado</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=122864"/>
		<updated>2016-04-08T03:34:13Z</updated>

		<summary type="html">&lt;p&gt;Davidds: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;David Delgado&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Daviddswiki.jpg]]&lt;br /&gt;
&lt;br /&gt;
Online CLO at [http://www.incaem.com Incaem]. Senior Expert in E-learning. Working on e-learning since 1997.&lt;br /&gt;
&lt;br /&gt;
I have been contributing to Moodle since 2003.&lt;br /&gt;
&lt;br /&gt;
You can take a look at my [http://moodle.org/user/view.php?id=4920&amp;amp;course=5 Profile] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
Anyway, I have a more relevant profile on LinkedIn [http://www.linkedin.com/in/davidds http://www.linkedin.com/in/davidds] (I am working on both [http://elgg.org Elgg] and [http://moodle.org Moodle] as tools to develop online learning communities).&lt;br /&gt;
&lt;br /&gt;
By the way, I have been also contributing to the Wikipedia since 2003. You can take a look at [http://en.wikipedia.org/wiki/User:Davidds my profile at Wikipedia], if you want.&lt;br /&gt;
&lt;br /&gt;
Cheers! :-)&lt;br /&gt;
&lt;br /&gt;
Last updated: April 8, 2016&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=122863</id>
		<title>Användare:David Delgado</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=122863"/>
		<updated>2016-04-08T03:33:48Z</updated>

		<summary type="html">&lt;p&gt;Davidds: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;David Delgado&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Daviddswiki.jpg]]&lt;br /&gt;
&lt;br /&gt;
Online CLO at [http://www.incaem.com Incaem]. Senior Expert in E-learning. Working on e-learning since 1997.&lt;br /&gt;
&lt;br /&gt;
I have been contributing to Moodle since 2003.&lt;br /&gt;
&lt;br /&gt;
You can take a look at my [http://moodle.org/user/view.php?id=4920&amp;amp;course=5 Profile] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
Anyway, I have a more relevant profile on LinkedIn [http://www.linkedin.com/in/davidds] (I am working on both [http://elgg.org Elgg] and [http://moodle.org Moodle] as tools to develop online learning communities).&lt;br /&gt;
&lt;br /&gt;
By the way, I have been also contributing to the Wikipedia since 2003. You can take a look at [http://en.wikipedia.org/wiki/User:Davidds my profile at Wikipedia], if you want.&lt;br /&gt;
&lt;br /&gt;
Cheers! :-)&lt;br /&gt;
&lt;br /&gt;
Last updated: April 8, 2016&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=122862</id>
		<title>Användare:David Delgado</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=122862"/>
		<updated>2016-04-08T03:32:14Z</updated>

		<summary type="html">&lt;p&gt;Davidds: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;David Delgado&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Daviddswiki.jpg]]&lt;br /&gt;
&lt;br /&gt;
Online CLO at [http://www.incaem.com Incaem]. Senior Expert in E-learning. Working on e-learning since 1997.&lt;br /&gt;
&lt;br /&gt;
I have been contributing to Moodle since 2003.&lt;br /&gt;
&lt;br /&gt;
You can take a look at my [http://moodle.org/user/view.php?id=4920&amp;amp;course=5 Profile] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
Anyway, I have a more relevant profile in my social network at http://eduspaces.net/davidds (I am working on both [http://elgg.org Elgg] and [http://moodle.org Moodle] as tools to develop online learning communities).&lt;br /&gt;
&lt;br /&gt;
By the way, I have been also contributing to the Wikipedia since 2003. You can take a look at [http://en.wikipedia.org/wiki/User:Davidds my profile at Wikipedia], if you want.&lt;br /&gt;
&lt;br /&gt;
Cheers! :-)&lt;br /&gt;
&lt;br /&gt;
Last updated: April 8, 2016&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=122861</id>
		<title>Användare:David Delgado</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=122861"/>
		<updated>2016-04-08T03:31:43Z</updated>

		<summary type="html">&lt;p&gt;Davidds: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;David Delgado&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Daviddswiki.jpg]]&lt;br /&gt;
&lt;br /&gt;
CLO at [http://www.incaem.com Incaem]. Senior Expert in E-learning. Working on e-learning since 1997.&lt;br /&gt;
&lt;br /&gt;
I have been contributing to Moodle since 2003.&lt;br /&gt;
&lt;br /&gt;
You can take a look at my [http://moodle.org/user/view.php?id=4920&amp;amp;course=5 Profile] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
Anyway, I have a more relevant profile in my social network at http://eduspaces.net/davidds (I am working on both [http://elgg.org Elgg] and [http://moodle.org Moodle] as tools to develop online learning communities).&lt;br /&gt;
&lt;br /&gt;
By the way, I have been also contributing to the Wikipedia since 2003. You can take a look at [http://en.wikipedia.org/wiki/User:Davidds my profile at Wikipedia], if you want.&lt;br /&gt;
&lt;br /&gt;
Cheers! :-)&lt;br /&gt;
&lt;br /&gt;
Last updated: April 8, 2016&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=23270</id>
		<title>Användare:David Delgado</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=23270"/>
		<updated>2007-05-14T21:37:50Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added Wikipedia profile&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;David Delgado&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Daviddswiki.jpg]]&lt;br /&gt;
&lt;br /&gt;
Developer of learning systems and online communities.&lt;br /&gt;
&lt;br /&gt;
I have been contributing to Moodle since 2003.&lt;br /&gt;
&lt;br /&gt;
You can take a look at my [http://moodle.org/user/view.php?id=4920&amp;amp;course=5 Profile] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
Anyway, I have a more relevant profile in my social network at http://eduspaces.net/davidds (I am working on both [http://elgg.org Elgg] and [http://moodle.org Moodle] as tools to develop online learning communities).&lt;br /&gt;
&lt;br /&gt;
By the way, I have been also contributing to the Wikipedia since 2003. You can take a look at [http://en.wikipedia.org/wiki/User:Davidds my profile at Wikipedia], if you want.&lt;br /&gt;
&lt;br /&gt;
Cheers! :-)&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=21519</id>
		<title>Användare:David Delgado</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=21519"/>
		<updated>2007-03-18T21:46:47Z</updated>

		<summary type="html">&lt;p&gt;Davidds: elgg -&amp;gt; eduspaces&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;David Delgado&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Daviddswiki.jpg]]&lt;br /&gt;
&lt;br /&gt;
Developer of learning systems and online communities.&lt;br /&gt;
&lt;br /&gt;
You can take a look at my [http://moodle.org/user/view.php?id=4920&amp;amp;course=5 Profile] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
Anyway, I have a more relevant profile in my social network at http://eduspaces.net/davidds (I am working on both [http://elgg.org Elgg] and [http://moodle.org Moodle] as tools to develop online learning communities).&lt;br /&gt;
&lt;br /&gt;
Cheers! :-)&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=19402</id>
		<title>Användare:David Delgado</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=19402"/>
		<updated>2007-01-21T11:58:57Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added links to elgg.org and moodle.org&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;David Delgado&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Daviddswiki.jpg]]&lt;br /&gt;
&lt;br /&gt;
Developer of learning systems and online communities.&lt;br /&gt;
&lt;br /&gt;
You can take a look at my [http://moodle.org/user/view.php?id=4920&amp;amp;course=5 Profile] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
Anyway, I have a more relevant profile in my social network at http://elgg.net/davidds (I am working on both [http://elgg.org Elgg] and [http://moodle.org Moodle] as tools to develop online learning communities).&lt;br /&gt;
&lt;br /&gt;
Cheers! :-)&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=19401</id>
		<title>Användare:David Delgado</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=19401"/>
		<updated>2007-01-21T11:56:14Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Changed description and added social network&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;David Delgado&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Daviddswiki.jpg]]&lt;br /&gt;
&lt;br /&gt;
Developer of learning systems and online communities.&lt;br /&gt;
&lt;br /&gt;
You can take a look at my [http://moodle.org/user/view.php?id=4920&amp;amp;course=5 Profile] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
Anyway, I have a more relevant profile in my social network at http://elgg.net/davidds (I am working on both Elgg and Moodle as tools to develop online learning communities).&lt;br /&gt;
&lt;br /&gt;
Cheers! :-)&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=About_Moodle&amp;diff=13700</id>
		<title>About Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=About_Moodle&amp;diff=13700"/>
		<updated>2006-08-01T13:43:46Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Changed link at Moodle presentations to the new one&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{About Moodle}}&lt;br /&gt;
Moodle is a software package for producing internet-based courses and web sites. It&#039;s an ongoing development project designed to support a [[Philosophy|social constructionist]] framework of education.&lt;br /&gt;
&lt;br /&gt;
Moodle is provided freely as [http://www.opensource.org/docs/definition_plain.html Open Source] software (under the [http://www.gnu.org/copyleft/gpl.html GNU Public License]). Basically this means Moodle is copyrighted, but that you have additional freedoms. You are allowed to copy, use and modify Moodle provided that you agree to: &#039;&#039;&#039;provide the source to others; not modify or remove the original license and copyrights&#039;&#039;&#039;, and &#039;&#039;&#039;apply this same license to any derivative work&#039;&#039;&#039;. Read the [[License|license]] for full details and please contact the [http://moodle.org/user/view.php?id=1&amp;amp;course=1 copyright holder] directly if you have any questions.&lt;br /&gt;
&lt;br /&gt;
Moodle will run on any computer that can run [http://www.php.net/ PHP], and can support many types of database (particularly [http://www.mysql.com/ MySQL]).&lt;br /&gt;
&lt;br /&gt;
The word Moodle was originally an acronym for Modular Object-Oriented Dynamic Learning Environment, which is mostly useful to programmers and education theorists.  It&#039;s also a verb that describes the process of lazily meandering through something, doing things as it occurs to you to do them, an enjoyable tinkering that often leads to insight and creativity. As such it applies both to the way Moodle was developed, and to the way a student or teacher might approach studying or teaching an online course. Anyone who uses Moodle is a Moodler.&lt;br /&gt;
&lt;br /&gt;
Come [http://moodle.org/community/ moodle with us]!&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Moodle Moodle at Wikipedia]&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
*[[Moodle presentations|Presentations]]&lt;br /&gt;
* Moodle Conferences: [http://www.google.com/search?hl=en&amp;amp;q=moodlemoot Moodlemoots]&lt;br /&gt;
&lt;br /&gt;
[[es:Acerca de Moodle]]&lt;br /&gt;
[[fr:À propos de Moodle]]&lt;br /&gt;
[[nl:Over Moodle]]&lt;br /&gt;
[[de:Was ist Moodle?]]&lt;br /&gt;
[[hr:O_Moodle_rješenju]]&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=13085</id>
		<title>Broken/Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=13085"/>
		<updated>2006-07-12T12:50:08Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* Table of Versions, to be completed... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This page is an attempt to consolidate and explain the available activity locking (AL) code that is present for Moodle 1.5.x and 1.6.x. This page will hopefully help explain all the available versions and their respective features. Some of the reference here will overlap with the existing MoodleDoc page covering [[Conditional activities]]. &lt;br /&gt;
&lt;br /&gt;
Please be patient as this page is new and under development.  See page comments for reference material.&lt;br /&gt;
&lt;br /&gt;
=Types of activity locking code=&lt;br /&gt;
For the purpose of this MoodleDoc article: AL is any code that allows the user to make decisions on the next available resource or item the student will be able to use based on student events or quiz performance. There is some activity locking code that is very quick and dirty to simply lock future activities and then there is much more complex code based on the conditional activity though structure which attempts to progress the student through the course in a thought out progression based on activities and performance. Again we hope to clarify some of this here.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 0.1 (Bernard Boucher)==&lt;br /&gt;
Bernard started all this with a hack to lock quiz and resources in [http://moodle.org/mod/forum/discuss.php?d=2948#12825 october 2003]. The certificate based on a quiz score was added in [http://moodle.org/mod/forum/discuss.php?d=9766#59875 september 2004] with version 0.7.  It was a great start!&lt;br /&gt;
&lt;br /&gt;
== AL Branch 2.0 for Moodle 1.6 (Stuart Mayor)==&lt;br /&gt;
*This has been virtually a complete rewrite and as such there are areas of functionality the were available in older versions of AL that are not in this.    &lt;br /&gt;
&lt;br /&gt;
* Conditional locking: Lock based on a user&#039;s performance in previous activities. You can also choose to unlock and activity if a user scores less than a certain grade.&lt;br /&gt;
* Show activity completion: The checkbox that appears before each activity to show it have been done.&lt;br /&gt;
* A variation on this  also hides future activities, see AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch) below.&lt;br /&gt;
* Bernard Boucher reworked Stuart&#039;s version for Moolde 1.6, initially on June 20, 2006 and updated on July 10, 2006 posted [http://206.167.134.155/bb/authoring1/activityLocking2_0_for_1_6_july1006.zip &#039;&#039;&#039;Activity Locking V 2.0 for Moodle 1.6&#039;&#039;&#039;] on [http://moodle.org/mod/forum/discuss.php?d=46863#220125 Activity Locking v3 or v2 for testing only].&lt;br /&gt;
&lt;br /&gt;
===Installation for 2.1 for Moodle 1.6(Stuart Mayor)===&lt;br /&gt;
&#039;&#039;&#039;activitylocking20051201.zip&#039;&#039;&#039; the initial version&lt;br /&gt;
&lt;br /&gt;
* Firstly, you need the stable build of Moodle 1.6. This version of AL might work on earlier releases but I didn&#039;t write it with them in mind and I certainly can&#039;t support them.&lt;br /&gt;
Next, you need to modify one table in the database and add a new one (I use phpmyadmin for this). &lt;br /&gt;
&lt;br /&gt;
* The table you need to modify is mdl_course_modules and you need to add the following fields:&lt;br /&gt;
completedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
completedscore VARCHAR(255) NOT NULL&lt;br /&gt;
completedstyle VARCHAR(255) NOT NULL&lt;br /&gt;
lockedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
lockedstyle VARCHAR(255) NOT NULL DEFAULT &#039;locked&#039;&lt;br /&gt;
lockedvisible TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
delay INT(10) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
&lt;br /&gt;
* The table you need to create is as follows:&lt;br /&gt;
CREATE TABLE `mdl_course_locks` (&lt;br /&gt;
`id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
`courseid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locktype` varchar(10) NOT NULL default &#039;&#039;,&lt;br /&gt;
`targetid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locks` longtext NOT NULL,&lt;br /&gt;
PRIMARY KEY (`id`)&lt;br /&gt;
) TYPE=MyISAM COMMENT=&#039;Contains locks for sections and modules&#039;;&lt;br /&gt;
* Lastly, you need to copy the following files from the zip file:&lt;br /&gt;
lib/moodlelib.php to moodle/lib/moodlelib.php&lt;br /&gt;
lib/locklib.php to moodle/lib/locklib.php&lt;br /&gt;
course/lib.php to moodle/course/lib.php&lt;br /&gt;
course/lock.php to moodle/course/lock.php&lt;br /&gt;
course/mod.php to moodle/course/mod.php&lt;br /&gt;
course/settings.html to moodle/course/settings.html&lt;br /&gt;
pix/t/open.gif to moodle/pix/t/open.gif&lt;br /&gt;
pix/t/closed.gif to moodle/pix/t/closed.gif&lt;br /&gt;
lang/en/lock.php to moodle/lang/en/lock.php&lt;br /&gt;
&lt;br /&gt;
==AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch and others)==&lt;br /&gt;
John&#039;s versionincludes the settings tab--making it possible to set the hide/visible options, as well as the completion (a checkmark in front of a resource/activity) options, says Chardelle.  &lt;br /&gt;
* A variation on  Stuart Mayor&#039;s 2.1, it hides topics dependent upon conditions set on specific activities/resources  &#039;&#039;&#039;ALV2_1_debug.ZIP&#039;&#039;&#039; (John). Had bug which Benard tweaked out.&lt;br /&gt;
* A build of Stuarts Mayor&#039;s 2.1 it locks and/or hides specific activities depending upon conditions set on specific activities/resources. Was posted by Chardelle in [http://proemployees.com/ActivityLockingWithHide-1.6.zip &#039;&#039;&#039;ActivityLockingWithHide-1.6.zip&#039;&#039;&#039;]. Probably same as above. Had bug which Benard tweaked out.&lt;br /&gt;
* A tweak by Bernard Boucher on June 27, 2006 was posted [http://moodle.org/mod/forum/discuss.php?d=35488&amp;amp;parent=222516 moodle/lib/locklib.php file] and called &#039;&#039;&#039;locklib.zip&#039;&#039;&#039; seems to fix known bug in both the above downloads.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 3.s for Moodle 1.6 (Stuart Mayor)==&lt;br /&gt;
Similar to the 2.x versions. Major difference is that a question to the student unlocks activities.  Being actively developed and tested.&lt;br /&gt;
&lt;br /&gt;
==CA Branch 1.0 for Moodle 1.5.2 (Borja Rubio Reyes)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;[http://moodle.org/mod/forum/discuss.php?d=36697 NEW research on CONDITIONAL ACTIVITIES in Moodle]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Table of Versions, to be completed... =&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; padding=&amp;quot;4&amp;quot;&lt;br /&gt;
|+ Activity Locking updated 10 July 2006 17:50 EDT&lt;br /&gt;
! -Version-  &lt;br /&gt;
! Moodle version&lt;br /&gt;
! Who&lt;br /&gt;
! Status&lt;br /&gt;
! MySql Install&lt;br /&gt;
! Docs&lt;br /&gt;
! Download&lt;br /&gt;
! Teacher Interface &lt;br /&gt;
! Hide Option&lt;br /&gt;
! Completion Box Option&lt;br /&gt;
! Section Lock &lt;br /&gt;
! Quiz Question &lt;br /&gt;
! Comments &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Bug &lt;br /&gt;
! Bug &lt;br /&gt;
|-----&lt;br /&gt;
| AL 3.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| not finished&lt;br /&gt;
|&lt;br /&gt;
|[http://moodle.org/mod/forum/discuss.php?d=46863]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes &lt;br /&gt;
| &lt;br /&gt;
| A/R dep on questions&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.3&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| &lt;br /&gt;
| A/R/T dep on A/Rs&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.2&lt;br /&gt;
| 1.6&lt;br /&gt;
| Gschnaidner, Mayor, Busch&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488#220946]&lt;br /&gt;
| &lt;br /&gt;
| Tabs&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| almost&lt;br /&gt;
| A/R dep on A/Rs&lt;br /&gt;
| +Hide&lt;br /&gt;
|&lt;br /&gt;
| bug fix&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.0&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Bernard Boucher&lt;br /&gt;
| Updated&lt;br /&gt;
| Automatic&lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=31627#152788]&lt;br /&gt;
| [http://206.167.134.155/bb/authoring1/activityLocking2_0_for_1_6_july1006.zip]&lt;br /&gt;
| Padlock Icons&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| No&lt;br /&gt;
| see above&lt;br /&gt;
|-----&lt;br /&gt;
| C A 1.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Borja Rubio Reyes, David Delgado&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=36697]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=General installation instructions DRAFT=&lt;br /&gt;
Installing AL on a localhost (desktop) machine was not difficult!  Some months ago I must have downloaded and connected phpAdministration and that came in handy for step 6.   I just did a conversion and it took me less than 30 minutes (actually I think the AL part was done in 3 minutes ) because I wanted to install the latest version of Moodle 1.6 and then zipped my entire Moodle16 file structure before I attempted the AL installation.&lt;br /&gt;
*1. Perform any backups you think are necessary (I zipped everything in my localhost path).&lt;br /&gt;
*2. Select the zip file flavor of AL you want and download it (I used Chardelle&#039;s zip plus Bernards tweak found in 2.2 above)&lt;br /&gt;
*3. Unzip it to a non Moodle place.  (Like to keep the folder structures option)&lt;br /&gt;
*4. Locate the MySQL.sql file so you can find it again.&lt;br /&gt;
*5. In Moodle as admin, go to Administration, Configuration and turn on Maintence Mode.&lt;br /&gt;
*6. Go to Administration, Database. In the home query window, on the left, click on moodle (mine says Moodle16 and has a bunch of mdl_ listings under it). &lt;br /&gt;
*7. Best: Click on the SQL tab. In the location of the text file, browse to the file in #4, then click go.&lt;br /&gt;
*7. Alternative: use the MySQL document and make or changes in &lt;br /&gt;
*8. Leave Moodle, shut that browser window.&lt;br /&gt;
*9.  Now you need to move the files in the folders located in #3 to your Moodle file structure.   (See my tip below). In your non moodle area you have unpack the file to a folder called ActivityLockingWithHide.  It has a folder called Moodle in it, with sub folders under it, for example ActivityLockingWithHide\Moodle\Course.  You should copy ever file from there to your local host file structure in the same spot. (Mine is Moodle16\Moodle\Course ).&lt;br /&gt;
*10. Go back into Moodle, log in as Admin, go to Administration. Moodle will adjust itself.&lt;br /&gt;
*11 Check in Administration, Configuration, Maintence to make sure it is disabled.  &lt;br /&gt;
*12.  You are done, check out a lesson with weeks or topics, go to lesson settings and notice the new tabs.&lt;br /&gt;
* TIP?   There is probably a slicker way but after I unzipped the file in #3, I went down a level and zipped the Moodle folder.  Then I unpacked the files to Moodle16\, told the unzip program to keep the folder structure and overwrite existing files.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding_activity_locks]] will give the reader an idea of what one of the flavors of Activity Locking looks like for a student and teacher setting it up.  &lt;br /&gt;
&lt;br /&gt;
Please visit the Moodle Forum for more information concerning Activity Locking and Conditional Activities-&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] titled Activity Locking v2.1 (for Moodle 1.6)&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] titled Activity Locking v3&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] titled NEW research on CONDITIONAL ACTIVITIES in Moodle&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=31627&amp;amp;parent=152788: AL v2.1 LALR]  titled Latest Activity Locking Release started 19 October 2005&lt;br /&gt;
* http://moodle.org/mod/forum/view.php?id=4295&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 AL v2.1 wH1.6] titled Re: Certificate for 1.6 with security in Activity Modules forum&lt;br /&gt;
&lt;br /&gt;
There is a very specialized-limited type of activity locking under a lesson (activity) setting called dependency in 1.6.   See: *https://docs.moodle.org/en/Adding/editing_a_lesson#Dependent_on .  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=13084</id>
		<title>Broken/Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=13084"/>
		<updated>2006-07-12T12:49:47Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* Table of Versions, to be completed... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This page is an attempt to consolidate and explain the available activity locking (AL) code that is present for Moodle 1.5.x and 1.6.x. This page will hopefully help explain all the available versions and their respective features. Some of the reference here will overlap with the existing MoodleDoc page covering [[Conditional activities]]. &lt;br /&gt;
&lt;br /&gt;
Please be patient as this page is new and under development.  See page comments for reference material.&lt;br /&gt;
&lt;br /&gt;
=Types of activity locking code=&lt;br /&gt;
For the purpose of this MoodleDoc article: AL is any code that allows the user to make decisions on the next available resource or item the student will be able to use based on student events or quiz performance. There is some activity locking code that is very quick and dirty to simply lock future activities and then there is much more complex code based on the conditional activity though structure which attempts to progress the student through the course in a thought out progression based on activities and performance. Again we hope to clarify some of this here.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 0.1 (Bernard Boucher)==&lt;br /&gt;
Bernard started all this with a hack to lock quiz and resources in [http://moodle.org/mod/forum/discuss.php?d=2948#12825 october 2003]. The certificate based on a quiz score was added in [http://moodle.org/mod/forum/discuss.php?d=9766#59875 september 2004] with version 0.7.  It was a great start!&lt;br /&gt;
&lt;br /&gt;
== AL Branch 2.0 for Moodle 1.6 (Stuart Mayor)==&lt;br /&gt;
*This has been virtually a complete rewrite and as such there are areas of functionality the were available in older versions of AL that are not in this.    &lt;br /&gt;
&lt;br /&gt;
* Conditional locking: Lock based on a user&#039;s performance in previous activities. You can also choose to unlock and activity if a user scores less than a certain grade.&lt;br /&gt;
* Show activity completion: The checkbox that appears before each activity to show it have been done.&lt;br /&gt;
* A variation on this  also hides future activities, see AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch) below.&lt;br /&gt;
* Bernard Boucher reworked Stuart&#039;s version for Moolde 1.6, initially on June 20, 2006 and updated on July 10, 2006 posted [http://206.167.134.155/bb/authoring1/activityLocking2_0_for_1_6_july1006.zip &#039;&#039;&#039;Activity Locking V 2.0 for Moodle 1.6&#039;&#039;&#039;] on [http://moodle.org/mod/forum/discuss.php?d=46863#220125 Activity Locking v3 or v2 for testing only].&lt;br /&gt;
&lt;br /&gt;
===Installation for 2.1 for Moodle 1.6(Stuart Mayor)===&lt;br /&gt;
&#039;&#039;&#039;activitylocking20051201.zip&#039;&#039;&#039; the initial version&lt;br /&gt;
&lt;br /&gt;
* Firstly, you need the stable build of Moodle 1.6. This version of AL might work on earlier releases but I didn&#039;t write it with them in mind and I certainly can&#039;t support them.&lt;br /&gt;
Next, you need to modify one table in the database and add a new one (I use phpmyadmin for this). &lt;br /&gt;
&lt;br /&gt;
* The table you need to modify is mdl_course_modules and you need to add the following fields:&lt;br /&gt;
completedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
completedscore VARCHAR(255) NOT NULL&lt;br /&gt;
completedstyle VARCHAR(255) NOT NULL&lt;br /&gt;
lockedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
lockedstyle VARCHAR(255) NOT NULL DEFAULT &#039;locked&#039;&lt;br /&gt;
lockedvisible TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
delay INT(10) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
&lt;br /&gt;
* The table you need to create is as follows:&lt;br /&gt;
CREATE TABLE `mdl_course_locks` (&lt;br /&gt;
`id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
`courseid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locktype` varchar(10) NOT NULL default &#039;&#039;,&lt;br /&gt;
`targetid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locks` longtext NOT NULL,&lt;br /&gt;
PRIMARY KEY (`id`)&lt;br /&gt;
) TYPE=MyISAM COMMENT=&#039;Contains locks for sections and modules&#039;;&lt;br /&gt;
* Lastly, you need to copy the following files from the zip file:&lt;br /&gt;
lib/moodlelib.php to moodle/lib/moodlelib.php&lt;br /&gt;
lib/locklib.php to moodle/lib/locklib.php&lt;br /&gt;
course/lib.php to moodle/course/lib.php&lt;br /&gt;
course/lock.php to moodle/course/lock.php&lt;br /&gt;
course/mod.php to moodle/course/mod.php&lt;br /&gt;
course/settings.html to moodle/course/settings.html&lt;br /&gt;
pix/t/open.gif to moodle/pix/t/open.gif&lt;br /&gt;
pix/t/closed.gif to moodle/pix/t/closed.gif&lt;br /&gt;
lang/en/lock.php to moodle/lang/en/lock.php&lt;br /&gt;
&lt;br /&gt;
==AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch and others)==&lt;br /&gt;
John&#039;s versionincludes the settings tab--making it possible to set the hide/visible options, as well as the completion (a checkmark in front of a resource/activity) options, says Chardelle.  &lt;br /&gt;
* A variation on  Stuart Mayor&#039;s 2.1, it hides topics dependent upon conditions set on specific activities/resources  &#039;&#039;&#039;ALV2_1_debug.ZIP&#039;&#039;&#039; (John). Had bug which Benard tweaked out.&lt;br /&gt;
* A build of Stuarts Mayor&#039;s 2.1 it locks and/or hides specific activities depending upon conditions set on specific activities/resources. Was posted by Chardelle in [http://proemployees.com/ActivityLockingWithHide-1.6.zip &#039;&#039;&#039;ActivityLockingWithHide-1.6.zip&#039;&#039;&#039;]. Probably same as above. Had bug which Benard tweaked out.&lt;br /&gt;
* A tweak by Bernard Boucher on June 27, 2006 was posted [http://moodle.org/mod/forum/discuss.php?d=35488&amp;amp;parent=222516 moodle/lib/locklib.php file] and called &#039;&#039;&#039;locklib.zip&#039;&#039;&#039; seems to fix known bug in both the above downloads.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 3.s for Moodle 1.6 (Stuart Mayor)==&lt;br /&gt;
Similar to the 2.x versions. Major difference is that a question to the student unlocks activities.  Being actively developed and tested.&lt;br /&gt;
&lt;br /&gt;
==CA Branch 1.0 for Moodle 1.5.2 (Borja Rubio Reyes)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;[http://moodle.org/mod/forum/discuss.php?d=36697 NEW research on CONDITIONAL ACTIVITIES in Moodle]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Table of Versions, to be completed... =&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; padding=&amp;quot;4&amp;quot;&lt;br /&gt;
|+ Activity Locking updated 10 July 2006 17:50 AM EDT&lt;br /&gt;
! -Version-  &lt;br /&gt;
! Moodle version&lt;br /&gt;
! Who&lt;br /&gt;
! Status&lt;br /&gt;
! MySql Install&lt;br /&gt;
! Docs&lt;br /&gt;
! Download&lt;br /&gt;
! Teacher Interface &lt;br /&gt;
! Hide Option&lt;br /&gt;
! Completion Box Option&lt;br /&gt;
! Section Lock &lt;br /&gt;
! Quiz Question &lt;br /&gt;
! Comments &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Bug &lt;br /&gt;
! Bug &lt;br /&gt;
|-----&lt;br /&gt;
| AL 3.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| not finished&lt;br /&gt;
|&lt;br /&gt;
|[http://moodle.org/mod/forum/discuss.php?d=46863]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes &lt;br /&gt;
| &lt;br /&gt;
| A/R dep on questions&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.3&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| &lt;br /&gt;
| A/R/T dep on A/Rs&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.2&lt;br /&gt;
| 1.6&lt;br /&gt;
| Gschnaidner, Mayor, Busch&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488#220946]&lt;br /&gt;
| &lt;br /&gt;
| Tabs&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| almost&lt;br /&gt;
| A/R dep on A/Rs&lt;br /&gt;
| +Hide&lt;br /&gt;
|&lt;br /&gt;
| bug fix&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.0&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Bernard Boucher&lt;br /&gt;
| Updated&lt;br /&gt;
| Automatic&lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=31627#152788]&lt;br /&gt;
| [http://206.167.134.155/bb/authoring1/activityLocking2_0_for_1_6_july1006.zip]&lt;br /&gt;
| Padlock Icons&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| No&lt;br /&gt;
| see above&lt;br /&gt;
|-----&lt;br /&gt;
| C A 1.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Borja Rubio Reyes, David Delgado&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=36697]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=General installation instructions DRAFT=&lt;br /&gt;
Installing AL on a localhost (desktop) machine was not difficult!  Some months ago I must have downloaded and connected phpAdministration and that came in handy for step 6.   I just did a conversion and it took me less than 30 minutes (actually I think the AL part was done in 3 minutes ) because I wanted to install the latest version of Moodle 1.6 and then zipped my entire Moodle16 file structure before I attempted the AL installation.&lt;br /&gt;
*1. Perform any backups you think are necessary (I zipped everything in my localhost path).&lt;br /&gt;
*2. Select the zip file flavor of AL you want and download it (I used Chardelle&#039;s zip plus Bernards tweak found in 2.2 above)&lt;br /&gt;
*3. Unzip it to a non Moodle place.  (Like to keep the folder structures option)&lt;br /&gt;
*4. Locate the MySQL.sql file so you can find it again.&lt;br /&gt;
*5. In Moodle as admin, go to Administration, Configuration and turn on Maintence Mode.&lt;br /&gt;
*6. Go to Administration, Database. In the home query window, on the left, click on moodle (mine says Moodle16 and has a bunch of mdl_ listings under it). &lt;br /&gt;
*7. Best: Click on the SQL tab. In the location of the text file, browse to the file in #4, then click go.&lt;br /&gt;
*7. Alternative: use the MySQL document and make or changes in &lt;br /&gt;
*8. Leave Moodle, shut that browser window.&lt;br /&gt;
*9.  Now you need to move the files in the folders located in #3 to your Moodle file structure.   (See my tip below). In your non moodle area you have unpack the file to a folder called ActivityLockingWithHide.  It has a folder called Moodle in it, with sub folders under it, for example ActivityLockingWithHide\Moodle\Course.  You should copy ever file from there to your local host file structure in the same spot. (Mine is Moodle16\Moodle\Course ).&lt;br /&gt;
*10. Go back into Moodle, log in as Admin, go to Administration. Moodle will adjust itself.&lt;br /&gt;
*11 Check in Administration, Configuration, Maintence to make sure it is disabled.  &lt;br /&gt;
*12.  You are done, check out a lesson with weeks or topics, go to lesson settings and notice the new tabs.&lt;br /&gt;
* TIP?   There is probably a slicker way but after I unzipped the file in #3, I went down a level and zipped the Moodle folder.  Then I unpacked the files to Moodle16\, told the unzip program to keep the folder structure and overwrite existing files.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding_activity_locks]] will give the reader an idea of what one of the flavors of Activity Locking looks like for a student and teacher setting it up.  &lt;br /&gt;
&lt;br /&gt;
Please visit the Moodle Forum for more information concerning Activity Locking and Conditional Activities-&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] titled Activity Locking v2.1 (for Moodle 1.6)&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] titled Activity Locking v3&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] titled NEW research on CONDITIONAL ACTIVITIES in Moodle&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=31627&amp;amp;parent=152788: AL v2.1 LALR]  titled Latest Activity Locking Release started 19 October 2005&lt;br /&gt;
* http://moodle.org/mod/forum/view.php?id=4295&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 AL v2.1 wH1.6] titled Re: Certificate for 1.6 with security in Activity Modules forum&lt;br /&gt;
&lt;br /&gt;
There is a very specialized-limited type of activity locking under a lesson (activity) setting called dependency in 1.6.   See: *https://docs.moodle.org/en/Adding/editing_a_lesson#Dependent_on .  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Sandbox&amp;diff=13083</id>
		<title>Sandbox</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Sandbox&amp;diff=13083"/>
		<updated>2006-07-12T12:42:45Z</updated>

		<summary type="html">&lt;p&gt;Davidds: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;kk&lt;br /&gt;
&lt;br /&gt;
Nice. But where can I create a new page?&lt;br /&gt;
&lt;br /&gt;
: Type the title for your new page in the Search box to your left and hit &#039;&#039;&#039;Go&#039;&#039;&#039;. If the page doesn&#039;t exist you&#039;ll be give the option to create it by clicking on the &#039;this exact title&#039; link. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Nobody has tried to edit this sandbox since &lt;br /&gt;
*This is a great sandbox for what is called MoodleDocs, the collaborative documation Wiki for Moodle.org website. There is a similar Wiki that is part of  Moodle.   &lt;br /&gt;
&lt;br /&gt;
* If you are looking for a Moodle Sanbox, I would recommend that you (collective group of individuals) go to download.moodle [http://download.moodle.org/ click here] and put the latest stable version of Moodle on your desktop, laptop or what have you.  I did this back in Jan 06, I loaded the complete package (not the standard) onto a Win XP Pro desktop (this has PHP, Apache and MySQL).  Went so well, I did another one at home.   &lt;br /&gt;
&lt;br /&gt;
Another tip: At the home page of http://moodle.org/, look for Free Support, then the first item is &#039;&#039;&#039;WELCOME! Are you new? Confused? Please start here&#039;&#039;&#039;!  Good advice.&lt;br /&gt;
  &lt;br /&gt;
Chris--11 April 2006  reedited on --[[User:chris collman 2|chris collman 2]] 05:57, 9 May 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
[[Wikipedia:Página de desambiguación|página de desambiguación]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Möge die Macht bei Euch sein!&#039;&#039;&#039;&#039;&#039; --[[User:Art Lader|Art Lader]] 09:15, 21 February 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
I am trying the &#039;&#039;sandbox&#039;&#039; out.  I am trying to learn about Moodle so I can be the administrator for our district.--[[User:Maginitt|Maginitt]] 23:16, 8 February 2006 (WST)&lt;br /&gt;
[[Create your own course]]&lt;br /&gt;
&lt;br /&gt;
Hello world!&lt;br /&gt;
&lt;br /&gt;
I don&#039;t get the math to show up with @@ $$ $ or math tags&lt;br /&gt;
&amp;lt;math&amp;gt; $$y={2+x} /over {3-a}$$&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hi&lt;br /&gt;
&lt;br /&gt;
We live in such an exciting era, being able to play with such fun toys.--[[User:Lyndall Owbridge|Lyndall Owbridge]] 15:56, 18 February 2006 (WST)&lt;br /&gt;
[[Image:Example.jpg]].&lt;br /&gt;
&lt;br /&gt;
I hope to learn enough about moodle to set it up for our district.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Portada&lt;br /&gt;
Bienvenido a Moodle Docs, la documentación para Moodle en la que todo el mundo puede colaborar. En esta versión en Castellano, oficialmente lanzada el 15 de febrero de 2006, estamos actualmente trabajando en 357 artículos, añadiendo nuevas páginas cada día.&lt;br /&gt;
¿Le gustaría ver Moodle Docs en otro idioma? Si es así, por favor lea la información sobre cómo comenzar con Moodle Docs en otro idioma.&lt;br /&gt;
Es muy sencillo editar páginas - practica en la Zona de Pruebas!&lt;br /&gt;
&lt;br /&gt;
is this all you have to do &#039;&#039;&#039;this text is now bold?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Quiero crear una universidad magnifica donde todos sean bienvenidos y nunca sea necesario pagar. La idea de una institución que ofrezca la formación suprema, la mejor en el mundo, y usando la mejor tecnología para proporcionar a todos los que quieran aprender un baluarte de la misma calidad que el &#039;&#039;&#039;Ivy League&#039;&#039;&#039; sin pagar.  Quizas en una escuela tan maravillosa pueda aprender el español mejor que ahora. (Nota: Lo ha traducido del &#039;&#039;spanglish&#039;&#039; un español)&lt;br /&gt;
&lt;br /&gt;
So, this is cool, but it isn&#039;t getting me discernibly closer to my goal of seeing if this is really something the average faculty member can and will use to create high quality college courses.  I do understand that social constructionism looks at education from the viewpoint of the learner but, without wanting to sound ungracious, I am not finding it easy to get up to speed with Moodle.  &lt;br /&gt;
&lt;br /&gt;
I think there needs to be something like a Moodle for Idiots right up front.  Maybe I&#039;ll provide this once I learn enough to have something to teach!&lt;br /&gt;
&lt;br /&gt;
I agree.  This is not easy.  I&#039;ve spent all night going around this site and I still don&#039;t have a clue how to use it.&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Insert non-formatted text here&amp;lt;/nowiki&amp;gt;&amp;lt;math&amp;gt;Insert formula here&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meow ;)&lt;br /&gt;
© by Bat&lt;br /&gt;
&lt;br /&gt;
==Capitalizing links==&lt;br /&gt;
&lt;br /&gt;
Links like [[sandbox]] might be automatically capitalized? At least on Wikipedia they are. [[User:Samuli Karevaara|Samuli Karevaara]] 14:56, 24 May 2006 (WST) Okay, here they are not. A setting somewhere? So far links have to be entered like [[Philosophy|philosophy]], ok...&lt;br /&gt;
&lt;br /&gt;
:Hi Samuli, you&#039;re right about a wiki setting to not automatically capitalize page titles e.g. for [[MoodleDocs:Link pages|link pages]]. --[[User:Helen Foster|Helen Foster]] 16:18, 24 May 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
Are we talking about capitalising the displayed text, or automatically linking &amp;lt;nowiki&amp;gt;[[word]]&amp;lt;/nowiki&amp;gt; to the page called &#039;&#039;Word&#039;&#039; (i.e. lowercase link text, capitalised page title? The latter would be nice if it&#039;s possible. I assume that many of Wikipedia&#039;s articles are about people or places that are proper nouns and are therefore always capitalised. --[[User:David Scotson|David Scotson]] 18:13, 24 May 2006 (WST)&lt;br /&gt;
&lt;br /&gt;
:Actually it was decided not to force capitalized links (see [http://meta.wikimedia.org/wiki/LocalSettings.php#Force_Capital_Links LocalSettings.php Force Capital Links]). It would be too much work to change it now ;-) --[[User:Helen Foster|Helen Foster]] 06:14, 30 May 2006 (WST)&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=About_Moodle&amp;diff=13065</id>
		<title>About Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=About_Moodle&amp;diff=13065"/>
		<updated>2006-07-11T15:12:01Z</updated>

		<summary type="html">&lt;p&gt;Davidds: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{About Moodle}}&lt;br /&gt;
Moodle is a software package for producing internet-based courses and web sites. It&#039;s an ongoing development project designed to support a [[Philosophy|social constructionist]] framework of education.&lt;br /&gt;
&lt;br /&gt;
Moodle is provided freely as [http://www.opensource.org/docs/definition_plain.html Open Source] software (under the [http://www.gnu.org/copyleft/gpl.html GNU Public License]). Basically this means Moodle is copyrighted, but that you have additional freedoms. You are allowed to copy, use and modify Moodle provided that you agree to: &#039;&#039;&#039;provide the source to others; not modify or remove the original license and copyrights&#039;&#039;&#039;, and &#039;&#039;&#039;apply this same license to any derivative work&#039;&#039;&#039;. Read the [[License|license]] for full details and please contact the [http://moodle.org/user/view.php?id=1&amp;amp;course=1 copyright holder] directly if you have any questions.&lt;br /&gt;
&lt;br /&gt;
Moodle will run on any computer that can run [http://www.php.net/ PHP], and can support many types of database (particularly [http://www.mysql.com/ MySQL]).&lt;br /&gt;
&lt;br /&gt;
The word Moodle was originally an acronym for Modular Object-Oriented Dynamic Learning Environment, which is mostly useful to programmers and education theorists.  It&#039;s also a verb that describes the process of lazily meandering through something, doing things as it occurs to you to do them, an enjoyable tinkering that often leads to insight and creativity. As such it applies both to the way Moodle was developed, and to the way a student or teacher might approach studying or teaching an online course. Anyone who uses Moodle is a Moodler.&lt;br /&gt;
&lt;br /&gt;
Come [http://moodle.org/community/ moodle with us]!&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Moodle Moodle at Wikipedia]&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
* Moodle Conferences: [http://www.google.com/search?hl=en&amp;amp;q=moodlemoot Moodlemoots]&lt;br /&gt;
&lt;br /&gt;
[[es:Acerca de Moodle]]&lt;br /&gt;
[[fr:À propos de Moodle]]&lt;br /&gt;
[[nl:Over Moodle]]&lt;br /&gt;
[[de:Was ist Moodle?]]&lt;br /&gt;
[[hr:O_Moodle_rješenju]]&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=13019</id>
		<title>Broken/Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=13019"/>
		<updated>2006-07-10T21:50:59Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* Table of Versions, to be completed... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This page is an attempt to consolidate and explain the available activity locking (AL) code that is present for Moodle 1.5.x and 1.6.x. This page will hopefully help explain all the available versions and their respective features. Some of the reference here will overlap with the existing MoodleDoc page covering [[Conditional activities]]. &lt;br /&gt;
&lt;br /&gt;
Please be patient as this page is new and under development.  See page comments for reference material.&lt;br /&gt;
&lt;br /&gt;
=Types of activity locking code=&lt;br /&gt;
For the purpose of this MoodleDoc article: AL is any code that allows the user to make decisions on the next available resource or item the student will be able to use based on student events or quiz performance. There is some activity locking code that is very quick and dirty to simply lock future activities and then there is much more complex code based on the conditional activity though structure which attempts to progress the student through the course in a thought out progression based on activities and performance. Again we hope to clarify some of this here.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 0.1 (Bernard Boucher)==&lt;br /&gt;
Bernard started all this with a hack to lock quiz and resources in [http://moodle.org/mod/forum/discuss.php?d=2948#12825 october 2003]. The certificate based on a quiz score was added in [http://moodle.org/mod/forum/discuss.php?d=9766#59875 september 2004] with version 0.7.  It was a great start!&lt;br /&gt;
&lt;br /&gt;
== AL Branch 2.1 for Moodle 1.6 (Stuart Mayor)==&lt;br /&gt;
*This has been virtually a complete rewrite and as such there are areas of functionality the were available in older versions of AL that are not in this.    &lt;br /&gt;
&lt;br /&gt;
* Conditional locking: Lock based on a user&#039;s performance in previous activities. You can also choose to unlock and activity if a user scores less than a certain grade.&lt;br /&gt;
* Show activity completion: The checkbox that appears before each activity to show it have been done.&lt;br /&gt;
* A variation on this  also hides future activities, see AL Branch 2.1 for Moodle 1.6 (John Gschnaidner-Chardelle Busch) below.&lt;br /&gt;
* Bernard Boucher reworked Stuart&#039;s version and on June 20, 2006 posted [http://206.167.134.155/bb/authoring1/activity_locking_v2_for_16_20060620.zip &#039;&#039;&#039;Activity_locking_v2_for_16_20060620.zip&#039;&#039;&#039;] on [http://moodle.org/mod/forum/user.php?id=1323&amp;amp;course=5 Activity Locking v3 or v2 for testing only].  The link is outside moodle.org and the link was not working on June 29, 2006.&lt;br /&gt;
&lt;br /&gt;
===Installation for 2.1 for Moodle 1.6(Stuart Mayor)===&lt;br /&gt;
&#039;&#039;&#039;activitylocking20051201.zip&#039;&#039;&#039; the initial version&lt;br /&gt;
&lt;br /&gt;
* Firstly, you need the stable build of Moodle 1.6. This version of AL might work on earlier releases but I didn&#039;t write it with them in mind and I certainly can&#039;t support them.&lt;br /&gt;
Next, you need to modify one table in the database and add a new one (I use phpmyadmin for this). &lt;br /&gt;
&lt;br /&gt;
* The table you need to modify is mdl_course_modules and you need to add the following fields:&lt;br /&gt;
completedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
completedscore VARCHAR(255) NOT NULL&lt;br /&gt;
completedstyle VARCHAR(255) NOT NULL&lt;br /&gt;
lockedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
lockedstyle VARCHAR(255) NOT NULL DEFAULT &#039;locked&#039;&lt;br /&gt;
lockedvisible TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
delay INT(10) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
&lt;br /&gt;
* The table you need to create is as follows:&lt;br /&gt;
CREATE TABLE `mdl_course_locks` (&lt;br /&gt;
`id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
`courseid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locktype` varchar(10) NOT NULL default &#039;&#039;,&lt;br /&gt;
`targetid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locks` longtext NOT NULL,&lt;br /&gt;
PRIMARY KEY (`id`)&lt;br /&gt;
) TYPE=MyISAM COMMENT=&#039;Contains locks for sections and modules&#039;;&lt;br /&gt;
* Lastly, you need to copy the following files from the zip file:&lt;br /&gt;
lib/moodlelib.php to moodle/lib/moodlelib.php&lt;br /&gt;
lib/locklib.php to moodle/lib/locklib.php&lt;br /&gt;
course/lib.php to moodle/course/lib.php&lt;br /&gt;
course/lock.php to moodle/course/lock.php&lt;br /&gt;
course/mod.php to moodle/course/mod.php&lt;br /&gt;
course/settings.html to moodle/course/settings.html&lt;br /&gt;
pix/t/open.gif to moodle/pix/t/open.gif&lt;br /&gt;
pix/t/closed.gif to moodle/pix/t/closed.gif&lt;br /&gt;
lang/en/lock.php to moodle/lang/en/lock.php&lt;br /&gt;
&lt;br /&gt;
==AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch and others)==&lt;br /&gt;
John&#039;s versionincludes the settings tab--making it possible to set the hide/visible options, as well as the completion (a checkmark in front of a resource/activity) options, says Chardelle.  &lt;br /&gt;
* A variation on  Stuart Mayor&#039;s 2.1, it hides topics dependent upon conditions set on specific activities/resources  &#039;&#039;&#039;ALV2_1_debug.ZIP&#039;&#039;&#039; (John). Had bug which Benard tweaked out.&lt;br /&gt;
* A build of Stuarts Mayor&#039;s 2.1 it locks and/or hides specific activities depending upon conditions set on specific activities/resources. Was posted by Chardelle in [http://proemployees.com/ActivityLockingWithHide-1.6.zip &#039;&#039;&#039;ActivityLockingWithHide-1.6.zip&#039;&#039;&#039;]. Probably same as above. Had bug which Benard tweaked out.&lt;br /&gt;
* A tweak by Bernard Boucher on June 27, 2006 was posted [http://moodle.org/mod/forum/discuss.php?d=35488&amp;amp;parent=222516 moodle/lib/locklib.php file] and called &#039;&#039;&#039;locklib.zip&#039;&#039;&#039; seems to fix known bug in both the above downloads.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 3.s for Moodle 1.6 (Stuart Mayor)==&lt;br /&gt;
Similar to the 2.x versions. Major difference is that a question to the student unlocks activities.  Being actively developed and tested.&lt;br /&gt;
&lt;br /&gt;
==CA Branch 1.0 for Moodle 1.5.2 (Borja Rubio Reyes)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;[http://moodle.org/mod/forum/discuss.php?d=36697 NEW research on CONDITIONAL ACTIVITIES in Moodle]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Table of Versions, to be completed... =&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; padding=&amp;quot;4&amp;quot;&lt;br /&gt;
|+ Activity Locking updated 29 June 2006 10:00 AM EST&lt;br /&gt;
! -Version-  &lt;br /&gt;
! Moodle version&lt;br /&gt;
! Who&lt;br /&gt;
! Status&lt;br /&gt;
! MySql Install&lt;br /&gt;
! Docs&lt;br /&gt;
! Download&lt;br /&gt;
! Teacher Interface &lt;br /&gt;
! Hide Option&lt;br /&gt;
! Completion Box Option&lt;br /&gt;
! Section Lock &lt;br /&gt;
! Quiz Question &lt;br /&gt;
! Comments &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Bug &lt;br /&gt;
! Bug &lt;br /&gt;
|-----&lt;br /&gt;
| AL 3.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| not finished&lt;br /&gt;
|&lt;br /&gt;
|[http://moodle.org/mod/forum/discuss.php?d=46863]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes &lt;br /&gt;
| A/R dep on questions&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.3&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| A/R/T dep on A/Rs&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.2&lt;br /&gt;
| 1.6&lt;br /&gt;
| Gschnaidner, Mayor, Busch&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488#220946]&lt;br /&gt;
| &lt;br /&gt;
| Tabs&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Yes&lt;br /&gt;
| almost&lt;br /&gt;
| A/R dep on A/Rs&lt;br /&gt;
| +Hide&lt;br /&gt;
|&lt;br /&gt;
| bug fix&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.0&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Bernard Boucher&lt;br /&gt;
| Updated&lt;br /&gt;
| Automatic&lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=31627#152788]&lt;br /&gt;
| [http://206.167.134.155/bb/authoring1/activityLocking2_0_for_1_6_july1006.zip]&lt;br /&gt;
| Padlock Icons&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| Yes&lt;br /&gt;
| No&lt;br /&gt;
| see above&lt;br /&gt;
|-----&lt;br /&gt;
| C A 1.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Borja Rubio Reyes, David Delgado&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=36697]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=General installation instructions DRAFT=&lt;br /&gt;
Installing AL on a localhost (desktop) machine was not difficult!  Some months ago I must have downloaded and connected phpAdministration and that came in handy for step 6.   I just did a conversion and it took me less than 30 minutes (actually I think the AL part was done in 3 minutes ) because I wanted to install the latest version of Moodle 1.6 and then zipped my entire Moodle16 file structure before I attempted the AL installation.&lt;br /&gt;
*1. Perform any backups you think are necessary (I zipped everything in my localhost path).&lt;br /&gt;
*2. Select the zip file flavor of AL you want and download it (I used Chardelle&#039;s zip plus Bernards tweak found in 2.2 above)&lt;br /&gt;
*3. Unzip it to a non Moodle place.  (Like to keep the folder structures option)&lt;br /&gt;
*4. Locate the MySQL.sql file so you can find it again.&lt;br /&gt;
*5. In Moodle as admin, go to Administration, Configuration and turn on Maintence Mode.&lt;br /&gt;
*6. Go to Administration, Database. In the home query window, on the left, click on moodle (mine says Moodle16 and has a bunch of mdl_ listings under it). &lt;br /&gt;
*7. Best: Click on the SQL tab. In the location of the text file, browse to the file in #4, then click go.&lt;br /&gt;
*7. Alternative: use the MySQL document and make or changes in &lt;br /&gt;
*8. Leave Moodle, shut that browser window.&lt;br /&gt;
*9.  Now you need to move the files in the folders located in #3 to your Moodle file structure.   (See my tip below). In your non moodle area you have unpack the file to a folder called ActivityLockingWithHide.  It has a folder called Moodle in it, with sub folders under it, for example ActivityLockingWithHide\Moodle\Course.  You should copy ever file from there to your local host file structure in the same spot. (Mine is Moodle16\Moodle\Course ).&lt;br /&gt;
*10. Go back into Moodle, log in as Admin, go to Administration. Moodle will adjust itself.&lt;br /&gt;
*11 Check in Administration, Configuration, Maintence to make sure it is disabled.  &lt;br /&gt;
*12.  You are done, check out a lesson with weeks or topics, go to lesson settings and notice the new tabs.&lt;br /&gt;
* TIP?   There is probably a slicker way but after I unzipped the file in #3, I went down a level and zipped the Moodle folder.  Then I unpacked the files to Moodle16\, told the unzip program to keep the folder structure and overwrite existing files.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding_activity_locks]] will give the reader an idea of what one of the flavors of Activity Locking looks like for a student and teacher setting it up.  &lt;br /&gt;
&lt;br /&gt;
Please visit the Moodle Forum for more information concerning Activity Locking and Conditional Activities-&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] titled Activity Locking v2.1 (for Moodle 1.6)&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] titled Activity Locking v3&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] titled NEW research on CONDITIONAL ACTIVITIES in Moodle&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=31627&amp;amp;parent=152788: AL v2.1 LALR]  titled Latest Activity Locking Release started 19 October 2005&lt;br /&gt;
* http://moodle.org/mod/forum/view.php?id=4295&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 AL v2.1 wH1.6] titled Re: Certificate for 1.6 with security in Activity Modules forum&lt;br /&gt;
&lt;br /&gt;
There is a very specialized-limited type of activity locking under a lesson (activity) setting called dependency in 1.6.   See: *https://docs.moodle.org/en/Adding/editing_a_lesson#Dependent_on .  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12926</id>
		<title>Broken/Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12926"/>
		<updated>2006-07-07T14:04:32Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* CA Branch 1.0 for Moodle 1.5.2 (Borja Rubio) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This page is an attempt to consolidate and explain the available activity locking (AL) code that is present for Moodle 1.5.x and 1.6.x. This page will hopefully help explain all the available versions and their respective features. Some of the reference here will overlap with the existing MoodleDoc page covering [[Conditional activities]]. &lt;br /&gt;
&lt;br /&gt;
Please be patient as this page is new and under development.  See page comments for reference material.&lt;br /&gt;
&lt;br /&gt;
=Types of activity locking code=&lt;br /&gt;
For the purpose of this MoodleDoc article: AL is any code that allows the user to make decisions on the next available resource or item the student will be able to use based on student events or quiz performance. There is some activity locking code that is very quick and dirty to simply lock future activities and then there is much more complex code based on the conditional activity though structure which attempts to progress the student through the course in a thought out progression based on activities and performance. Again we hope to clarify some of this here.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 1.0 (Bernard Boucher)==&lt;br /&gt;
Bernard started all this with a hack to lock the certificate based on a quiz score in 2004.  It was a great start! &lt;br /&gt;
&lt;br /&gt;
== AL Branch 2.1 for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
*This has been virtually a complete rewrite and as such there are areas of functionality the were available in older versions of AL that are not in this.    &lt;br /&gt;
&lt;br /&gt;
* Conditional locking: Lock based on a user&#039;s performance in previous activities. You can also choose to unlock and activity if a user scores less than a certain grade.&lt;br /&gt;
* Show activity completion: The checkbox that appears before each activity to show it have been done.&lt;br /&gt;
* A variation on this  also hides future activities, see AL Branch 2.1 for Moodle 1.6 (John Gschnaidner-Chardelle Busch) below.&lt;br /&gt;
* Bernard Boucher reworked Stuart&#039;s version and on June 20, 2006 posted [http://206.167.134.155/bb/authoring1/activity_locking_v2_for_16_20060620.zip &#039;&#039;&#039;Activity_locking_v2_for_16_20060620.zip&#039;&#039;&#039;] on [http://moodle.org/mod/forum/user.php?id=1323&amp;amp;course=5 Activity Locking v3 or v2 for testing only].  The link is outside moodle.org and the link was not working on June 29, 2006.&lt;br /&gt;
&lt;br /&gt;
===Installation for 2.1 for Moodle 1.6(Stuart Meyor)===&lt;br /&gt;
&#039;&#039;&#039;activitylocking20051201.zip&#039;&#039;&#039; the initial version&lt;br /&gt;
&lt;br /&gt;
* Firstly, you need the stable build of Moodle 1.6. This version of AL might work on earlier releases but I didn&#039;t write it with them in mind and I certainly can&#039;t support them.&lt;br /&gt;
Next, you need to modify one table in the database and add a new one (I use phpmyadmin for this). &lt;br /&gt;
&lt;br /&gt;
* The table you need to modify is mdl_course_modules and you need to add the following fields:&lt;br /&gt;
completedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
completedscore VARCHAR(255) NOT NULL&lt;br /&gt;
completedstyle VARCHAR(255) NOT NULL&lt;br /&gt;
lockedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
lockedstyle VARCHAR(255) NOT NULL DEFAULT &#039;locked&#039;&lt;br /&gt;
lockedvisible TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
delay INT(10) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
&lt;br /&gt;
* The table you need to create is as follows:&lt;br /&gt;
CREATE TABLE `mdl_course_locks` (&lt;br /&gt;
`id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
`courseid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locktype` varchar(10) NOT NULL default &#039;&#039;,&lt;br /&gt;
`targetid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locks` longtext NOT NULL,&lt;br /&gt;
PRIMARY KEY (`id`)&lt;br /&gt;
) TYPE=MyISAM COMMENT=&#039;Contains locks for sections and modules&#039;;&lt;br /&gt;
* Lastly, you need to copy the following files from the zip file:&lt;br /&gt;
lib/moodlelib.php to moodle/lib/moodlelib.php&lt;br /&gt;
lib/locklib.php to moodle/lib/locklib.php&lt;br /&gt;
course/lib.php to moodle/course/lib.php&lt;br /&gt;
course/lock.php to moodle/course/lock.php&lt;br /&gt;
course/mod.php to moodle/course/mod.php&lt;br /&gt;
course/settings.html to moodle/course/settings.html&lt;br /&gt;
pix/t/open.gif to moodle/pix/t/open.gif&lt;br /&gt;
pix/t/closed.gif to moodle/pix/t/closed.gif&lt;br /&gt;
lang/en/lock.php to moodle/lang/en/lock.php&lt;br /&gt;
&lt;br /&gt;
==AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch and others)==&lt;br /&gt;
John&#039;s versionincludes the settings tab--making it possible to set the hide/visible options, as well as the completion (a checkmark in front of a resource/activity) options, says Chardelle.  &lt;br /&gt;
* A variation on  Stuart Mayor&#039;s 2.1, it hides topics dependent upon conditions set on specific activities/resources  &#039;&#039;&#039;ALV2_1_debug.ZIP&#039;&#039;&#039; (John). Had bug which Benard tweaked out.&lt;br /&gt;
* A build of Stuarts Mayor&#039;s 2.1 it locks and/or hides specific activities depending upon conditions set on specific activities/resources. Was posted by Chardelle in [http://proemployees.com/ActivityLockingWithHide-1.6.zip &#039;&#039;&#039;ActivityLockingWithHide-1.6.zip&#039;&#039;&#039;]. Probably same as above. Had bug which Benard tweaked out.&lt;br /&gt;
* A tweak by Bernard Boucher on June 27, 2006 was posted [http://moodle.org/mod/forum/discuss.php?d=35488&amp;amp;parent=222516 moodle/lib/locklib.php file] and called &#039;&#039;&#039;locklib.zip&#039;&#039;&#039; seems to fix known bug in both the above downloads.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 3.s for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
Similar to the 2.x versions. Major difference is that a question to the student unlocks activities.  Being actively developed and tested.&lt;br /&gt;
&lt;br /&gt;
==CA Branch 1.0 for Moodle 1.5.2 (Borja Rubio Reyes)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;[http://moodle.org/mod/forum/discuss.php?d=36697 NEW research on CONDITIONAL ACTIVITIES in Moodle]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Table of Versions, to be completed... =&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; padding=&amp;quot;4&amp;quot;&lt;br /&gt;
|+ Activity Locking updated 29 June 2006 10:00 AM EST&lt;br /&gt;
! -Version-  &lt;br /&gt;
! Moodle version&lt;br /&gt;
! Who&lt;br /&gt;
! Status&lt;br /&gt;
! MySql Install&lt;br /&gt;
! Docs&lt;br /&gt;
! Comments &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Bug &lt;br /&gt;
! Bug &lt;br /&gt;
|-----&lt;br /&gt;
| AL 3.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| not finished&lt;br /&gt;
|&lt;br /&gt;
|[http://moodle.org/mod/forum/discuss.php?d=46863]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on questions&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.3&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R/T dep on A/Rs&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.2&lt;br /&gt;
| 1.6&lt;br /&gt;
| Gschnaidner, Mayor, Busch, Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488#220946]&lt;br /&gt;
| almost&lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on A/Rs&lt;br /&gt;
| +Hide&lt;br /&gt;
|&lt;br /&gt;
| bug fix&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.1&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| base&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| see above&lt;br /&gt;
| AL&lt;br /&gt;
|-----&lt;br /&gt;
| C A 1.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Borja Rubio Reyes David Delgado&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=36697]&lt;br /&gt;
|&lt;br /&gt;
| AL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=General installation instructions DRAFT=&lt;br /&gt;
Installing AL on a localhost (desktop) machine was not difficult!  Some months ago I must have downloaded and connected phpAdministration and that came in handy for step 6.   I just did a conversion and it took me less than 30 minutes (actually I think the AL part was done in 3 minutes ) because I wanted to install the latest version of Moodle 1.6 and then zipped my entire Moodle16 file structure before I attempted the AL installation.&lt;br /&gt;
*1. Perform any backups you think are necessary (I zipped everything in my localhost path).&lt;br /&gt;
*2. Select the zip file flavor of AL you want and download it (I used Chardelle&#039;s zip plus Bernards tweak found in 2.2 above)&lt;br /&gt;
*3. Unzip it to a non Moodle place.  (Like to keep the folder structures option)&lt;br /&gt;
*4. Locate the MySQL.sql file so you can find it again.&lt;br /&gt;
*5. In Moodle as admin, go to Administration, Configuration and turn on Maintence Mode.&lt;br /&gt;
*6. Go to Administration, Database. In the home query window, on the left, click on moodle (mine says Moodle16 and has a bunch of mdl_ listings under it). &lt;br /&gt;
*7. Best: Click on the SQL tab. In the location of the text file, browse to the file in #4, then click go.&lt;br /&gt;
*7. Alternative: use the MySQL document and make or changes in &lt;br /&gt;
*8. Leave Moodle, shut that browser window.&lt;br /&gt;
*9.  Now you need to move the files in the folders located in #3 to your Moodle file structure.   (See my tip below). In your non moodle area you have unpack the file to a folder called ActivityLockingWithHide.  It has a folder called Moodle in it, with sub folders under it, for example ActivityLockingWithHide\Moodle\Course.  You should copy ever file from there to your local host file structure in the same spot. (Mine is Moodle16\Moodle\Course ).&lt;br /&gt;
*10. Go back into Moodle, log in as Admin, go to Administration. Moodle will adjust itself.&lt;br /&gt;
*11 Check in Administration, Configuration, Maintence to make sure it is disabled.  &lt;br /&gt;
*12.  You are done, check out a lesson with weeks or topics, go to lesson settings and notice the new tabs.&lt;br /&gt;
* TIP?   There is probably a slicker way but after I unzipped the file in #3, I went down a level and zipped the Moodle folder.  Then I unpacked the files to Moodle16\, told the unzip program to keep the folder structure and overwrite existing files.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding_activity_locks]] will give the reader an idea of what one of the flavors of Activity Locking looks like for a student and teacher setting it up.  &lt;br /&gt;
&lt;br /&gt;
Please visit the Moodle Forum for more information concerning Activity Locking and Conditional Activities-&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] titled Activity Locking v2.1 (for Moodle 1.6)&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] titled Activity Locking v3&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] titled NEW research on CONDITIONAL ACTIVITIES in Moodle&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=31627&amp;amp;parent=152788: AL v2.1 LALR]  titled Latest Activity Locking Release started 19 October 2005&lt;br /&gt;
* http://moodle.org/mod/forum/view.php?id=4295&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 AL v2.1 wH1.6] titled Re: Certificate for 1.6 with security in Activity Modules forum&lt;br /&gt;
&lt;br /&gt;
There is a very specialized-limited type of activity locking under a lesson (activity) setting called dependency in 1.6.   See: *https://docs.moodle.org/en/Adding/editing_a_lesson#Dependent_on .  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12925</id>
		<title>Broken/Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12925"/>
		<updated>2006-07-07T14:03:50Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* Table of Versions, to be completed... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This page is an attempt to consolidate and explain the available activity locking (AL) code that is present for Moodle 1.5.x and 1.6.x. This page will hopefully help explain all the available versions and their respective features. Some of the reference here will overlap with the existing MoodleDoc page covering [[Conditional activities]]. &lt;br /&gt;
&lt;br /&gt;
Please be patient as this page is new and under development.  See page comments for reference material.&lt;br /&gt;
&lt;br /&gt;
=Types of activity locking code=&lt;br /&gt;
For the purpose of this MoodleDoc article: AL is any code that allows the user to make decisions on the next available resource or item the student will be able to use based on student events or quiz performance. There is some activity locking code that is very quick and dirty to simply lock future activities and then there is much more complex code based on the conditional activity though structure which attempts to progress the student through the course in a thought out progression based on activities and performance. Again we hope to clarify some of this here.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 1.0 (Bernard Boucher)==&lt;br /&gt;
Bernard started all this with a hack to lock the certificate based on a quiz score in 2004.  It was a great start! &lt;br /&gt;
&lt;br /&gt;
== AL Branch 2.1 for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
*This has been virtually a complete rewrite and as such there are areas of functionality the were available in older versions of AL that are not in this.    &lt;br /&gt;
&lt;br /&gt;
* Conditional locking: Lock based on a user&#039;s performance in previous activities. You can also choose to unlock and activity if a user scores less than a certain grade.&lt;br /&gt;
* Show activity completion: The checkbox that appears before each activity to show it have been done.&lt;br /&gt;
* A variation on this  also hides future activities, see AL Branch 2.1 for Moodle 1.6 (John Gschnaidner-Chardelle Busch) below.&lt;br /&gt;
* Bernard Boucher reworked Stuart&#039;s version and on June 20, 2006 posted [http://206.167.134.155/bb/authoring1/activity_locking_v2_for_16_20060620.zip &#039;&#039;&#039;Activity_locking_v2_for_16_20060620.zip&#039;&#039;&#039;] on [http://moodle.org/mod/forum/user.php?id=1323&amp;amp;course=5 Activity Locking v3 or v2 for testing only].  The link is outside moodle.org and the link was not working on June 29, 2006.&lt;br /&gt;
&lt;br /&gt;
===Installation for 2.1 for Moodle 1.6(Stuart Meyor)===&lt;br /&gt;
&#039;&#039;&#039;activitylocking20051201.zip&#039;&#039;&#039; the initial version&lt;br /&gt;
&lt;br /&gt;
* Firstly, you need the stable build of Moodle 1.6. This version of AL might work on earlier releases but I didn&#039;t write it with them in mind and I certainly can&#039;t support them.&lt;br /&gt;
Next, you need to modify one table in the database and add a new one (I use phpmyadmin for this). &lt;br /&gt;
&lt;br /&gt;
* The table you need to modify is mdl_course_modules and you need to add the following fields:&lt;br /&gt;
completedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
completedscore VARCHAR(255) NOT NULL&lt;br /&gt;
completedstyle VARCHAR(255) NOT NULL&lt;br /&gt;
lockedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
lockedstyle VARCHAR(255) NOT NULL DEFAULT &#039;locked&#039;&lt;br /&gt;
lockedvisible TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
delay INT(10) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
&lt;br /&gt;
* The table you need to create is as follows:&lt;br /&gt;
CREATE TABLE `mdl_course_locks` (&lt;br /&gt;
`id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
`courseid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locktype` varchar(10) NOT NULL default &#039;&#039;,&lt;br /&gt;
`targetid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locks` longtext NOT NULL,&lt;br /&gt;
PRIMARY KEY (`id`)&lt;br /&gt;
) TYPE=MyISAM COMMENT=&#039;Contains locks for sections and modules&#039;;&lt;br /&gt;
* Lastly, you need to copy the following files from the zip file:&lt;br /&gt;
lib/moodlelib.php to moodle/lib/moodlelib.php&lt;br /&gt;
lib/locklib.php to moodle/lib/locklib.php&lt;br /&gt;
course/lib.php to moodle/course/lib.php&lt;br /&gt;
course/lock.php to moodle/course/lock.php&lt;br /&gt;
course/mod.php to moodle/course/mod.php&lt;br /&gt;
course/settings.html to moodle/course/settings.html&lt;br /&gt;
pix/t/open.gif to moodle/pix/t/open.gif&lt;br /&gt;
pix/t/closed.gif to moodle/pix/t/closed.gif&lt;br /&gt;
lang/en/lock.php to moodle/lang/en/lock.php&lt;br /&gt;
&lt;br /&gt;
==AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch and others)==&lt;br /&gt;
John&#039;s versionincludes the settings tab--making it possible to set the hide/visible options, as well as the completion (a checkmark in front of a resource/activity) options, says Chardelle.  &lt;br /&gt;
* A variation on  Stuart Mayor&#039;s 2.1, it hides topics dependent upon conditions set on specific activities/resources  &#039;&#039;&#039;ALV2_1_debug.ZIP&#039;&#039;&#039; (John). Had bug which Benard tweaked out.&lt;br /&gt;
* A build of Stuarts Mayor&#039;s 2.1 it locks and/or hides specific activities depending upon conditions set on specific activities/resources. Was posted by Chardelle in [http://proemployees.com/ActivityLockingWithHide-1.6.zip &#039;&#039;&#039;ActivityLockingWithHide-1.6.zip&#039;&#039;&#039;]. Probably same as above. Had bug which Benard tweaked out.&lt;br /&gt;
* A tweak by Bernard Boucher on June 27, 2006 was posted [http://moodle.org/mod/forum/discuss.php?d=35488&amp;amp;parent=222516 moodle/lib/locklib.php file] and called &#039;&#039;&#039;locklib.zip&#039;&#039;&#039; seems to fix known bug in both the above downloads.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 3.s for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
Similar to the 2.x versions. Major difference is that a question to the student unlocks activities.  Being actively developed and tested.&lt;br /&gt;
&lt;br /&gt;
==CA Branch 1.0 for Moodle 1.5.2 (Borja Rubio)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;[http://moodle.org/mod/forum/discuss.php?d=36697 NEW research on CONDITIONAL ACTIVITIES in Moodle]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Table of Versions, to be completed... =&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; padding=&amp;quot;4&amp;quot;&lt;br /&gt;
|+ Activity Locking updated 29 June 2006 10:00 AM EST&lt;br /&gt;
! -Version-  &lt;br /&gt;
! Moodle version&lt;br /&gt;
! Who&lt;br /&gt;
! Status&lt;br /&gt;
! MySql Install&lt;br /&gt;
! Docs&lt;br /&gt;
! Comments &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Bug &lt;br /&gt;
! Bug &lt;br /&gt;
|-----&lt;br /&gt;
| AL 3.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| not finished&lt;br /&gt;
|&lt;br /&gt;
|[http://moodle.org/mod/forum/discuss.php?d=46863]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on questions&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.3&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R/T dep on A/Rs&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.2&lt;br /&gt;
| 1.6&lt;br /&gt;
| Gschnaidner, Mayor, Busch, Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488#220946]&lt;br /&gt;
| almost&lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on A/Rs&lt;br /&gt;
| +Hide&lt;br /&gt;
|&lt;br /&gt;
| bug fix&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.1&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| base&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| see above&lt;br /&gt;
| AL&lt;br /&gt;
|-----&lt;br /&gt;
| C A 1.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Borja Rubio Reyes David Delgado&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=36697]&lt;br /&gt;
|&lt;br /&gt;
| AL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=General installation instructions DRAFT=&lt;br /&gt;
Installing AL on a localhost (desktop) machine was not difficult!  Some months ago I must have downloaded and connected phpAdministration and that came in handy for step 6.   I just did a conversion and it took me less than 30 minutes (actually I think the AL part was done in 3 minutes ) because I wanted to install the latest version of Moodle 1.6 and then zipped my entire Moodle16 file structure before I attempted the AL installation.&lt;br /&gt;
*1. Perform any backups you think are necessary (I zipped everything in my localhost path).&lt;br /&gt;
*2. Select the zip file flavor of AL you want and download it (I used Chardelle&#039;s zip plus Bernards tweak found in 2.2 above)&lt;br /&gt;
*3. Unzip it to a non Moodle place.  (Like to keep the folder structures option)&lt;br /&gt;
*4. Locate the MySQL.sql file so you can find it again.&lt;br /&gt;
*5. In Moodle as admin, go to Administration, Configuration and turn on Maintence Mode.&lt;br /&gt;
*6. Go to Administration, Database. In the home query window, on the left, click on moodle (mine says Moodle16 and has a bunch of mdl_ listings under it). &lt;br /&gt;
*7. Best: Click on the SQL tab. In the location of the text file, browse to the file in #4, then click go.&lt;br /&gt;
*7. Alternative: use the MySQL document and make or changes in &lt;br /&gt;
*8. Leave Moodle, shut that browser window.&lt;br /&gt;
*9.  Now you need to move the files in the folders located in #3 to your Moodle file structure.   (See my tip below). In your non moodle area you have unpack the file to a folder called ActivityLockingWithHide.  It has a folder called Moodle in it, with sub folders under it, for example ActivityLockingWithHide\Moodle\Course.  You should copy ever file from there to your local host file structure in the same spot. (Mine is Moodle16\Moodle\Course ).&lt;br /&gt;
*10. Go back into Moodle, log in as Admin, go to Administration. Moodle will adjust itself.&lt;br /&gt;
*11 Check in Administration, Configuration, Maintence to make sure it is disabled.  &lt;br /&gt;
*12.  You are done, check out a lesson with weeks or topics, go to lesson settings and notice the new tabs.&lt;br /&gt;
* TIP?   There is probably a slicker way but after I unzipped the file in #3, I went down a level and zipped the Moodle folder.  Then I unpacked the files to Moodle16\, told the unzip program to keep the folder structure and overwrite existing files.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding_activity_locks]] will give the reader an idea of what one of the flavors of Activity Locking looks like for a student and teacher setting it up.  &lt;br /&gt;
&lt;br /&gt;
Please visit the Moodle Forum for more information concerning Activity Locking and Conditional Activities-&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] titled Activity Locking v2.1 (for Moodle 1.6)&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] titled Activity Locking v3&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] titled NEW research on CONDITIONAL ACTIVITIES in Moodle&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=31627&amp;amp;parent=152788: AL v2.1 LALR]  titled Latest Activity Locking Release started 19 October 2005&lt;br /&gt;
* http://moodle.org/mod/forum/view.php?id=4295&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 AL v2.1 wH1.6] titled Re: Certificate for 1.6 with security in Activity Modules forum&lt;br /&gt;
&lt;br /&gt;
There is a very specialized-limited type of activity locking under a lesson (activity) setting called dependency in 1.6.   See: *https://docs.moodle.org/en/Adding/editing_a_lesson#Dependent_on .  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12924</id>
		<title>Broken/Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12924"/>
		<updated>2006-07-07T14:01:36Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* CA Branch 1.0 for Moodle 1.5.2 (David Delgado) */ Right code author&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This page is an attempt to consolidate and explain the available activity locking (AL) code that is present for Moodle 1.5.x and 1.6.x. This page will hopefully help explain all the available versions and their respective features. Some of the reference here will overlap with the existing MoodleDoc page covering [[Conditional activities]]. &lt;br /&gt;
&lt;br /&gt;
Please be patient as this page is new and under development.  See page comments for reference material.&lt;br /&gt;
&lt;br /&gt;
=Types of activity locking code=&lt;br /&gt;
For the purpose of this MoodleDoc article: AL is any code that allows the user to make decisions on the next available resource or item the student will be able to use based on student events or quiz performance. There is some activity locking code that is very quick and dirty to simply lock future activities and then there is much more complex code based on the conditional activity though structure which attempts to progress the student through the course in a thought out progression based on activities and performance. Again we hope to clarify some of this here.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 1.0 (Bernard Boucher)==&lt;br /&gt;
Bernard started all this with a hack to lock the certificate based on a quiz score in 2004.  It was a great start! &lt;br /&gt;
&lt;br /&gt;
== AL Branch 2.1 for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
*This has been virtually a complete rewrite and as such there are areas of functionality the were available in older versions of AL that are not in this.    &lt;br /&gt;
&lt;br /&gt;
* Conditional locking: Lock based on a user&#039;s performance in previous activities. You can also choose to unlock and activity if a user scores less than a certain grade.&lt;br /&gt;
* Show activity completion: The checkbox that appears before each activity to show it have been done.&lt;br /&gt;
* A variation on this  also hides future activities, see AL Branch 2.1 for Moodle 1.6 (John Gschnaidner-Chardelle Busch) below.&lt;br /&gt;
* Bernard Boucher reworked Stuart&#039;s version and on June 20, 2006 posted [http://206.167.134.155/bb/authoring1/activity_locking_v2_for_16_20060620.zip &#039;&#039;&#039;Activity_locking_v2_for_16_20060620.zip&#039;&#039;&#039;] on [http://moodle.org/mod/forum/user.php?id=1323&amp;amp;course=5 Activity Locking v3 or v2 for testing only].  The link is outside moodle.org and the link was not working on June 29, 2006.&lt;br /&gt;
&lt;br /&gt;
===Installation for 2.1 for Moodle 1.6(Stuart Meyor)===&lt;br /&gt;
&#039;&#039;&#039;activitylocking20051201.zip&#039;&#039;&#039; the initial version&lt;br /&gt;
&lt;br /&gt;
* Firstly, you need the stable build of Moodle 1.6. This version of AL might work on earlier releases but I didn&#039;t write it with them in mind and I certainly can&#039;t support them.&lt;br /&gt;
Next, you need to modify one table in the database and add a new one (I use phpmyadmin for this). &lt;br /&gt;
&lt;br /&gt;
* The table you need to modify is mdl_course_modules and you need to add the following fields:&lt;br /&gt;
completedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
completedscore VARCHAR(255) NOT NULL&lt;br /&gt;
completedstyle VARCHAR(255) NOT NULL&lt;br /&gt;
lockedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
lockedstyle VARCHAR(255) NOT NULL DEFAULT &#039;locked&#039;&lt;br /&gt;
lockedvisible TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
delay INT(10) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
&lt;br /&gt;
* The table you need to create is as follows:&lt;br /&gt;
CREATE TABLE `mdl_course_locks` (&lt;br /&gt;
`id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
`courseid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locktype` varchar(10) NOT NULL default &#039;&#039;,&lt;br /&gt;
`targetid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locks` longtext NOT NULL,&lt;br /&gt;
PRIMARY KEY (`id`)&lt;br /&gt;
) TYPE=MyISAM COMMENT=&#039;Contains locks for sections and modules&#039;;&lt;br /&gt;
* Lastly, you need to copy the following files from the zip file:&lt;br /&gt;
lib/moodlelib.php to moodle/lib/moodlelib.php&lt;br /&gt;
lib/locklib.php to moodle/lib/locklib.php&lt;br /&gt;
course/lib.php to moodle/course/lib.php&lt;br /&gt;
course/lock.php to moodle/course/lock.php&lt;br /&gt;
course/mod.php to moodle/course/mod.php&lt;br /&gt;
course/settings.html to moodle/course/settings.html&lt;br /&gt;
pix/t/open.gif to moodle/pix/t/open.gif&lt;br /&gt;
pix/t/closed.gif to moodle/pix/t/closed.gif&lt;br /&gt;
lang/en/lock.php to moodle/lang/en/lock.php&lt;br /&gt;
&lt;br /&gt;
==AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch and others)==&lt;br /&gt;
John&#039;s versionincludes the settings tab--making it possible to set the hide/visible options, as well as the completion (a checkmark in front of a resource/activity) options, says Chardelle.  &lt;br /&gt;
* A variation on  Stuart Mayor&#039;s 2.1, it hides topics dependent upon conditions set on specific activities/resources  &#039;&#039;&#039;ALV2_1_debug.ZIP&#039;&#039;&#039; (John). Had bug which Benard tweaked out.&lt;br /&gt;
* A build of Stuarts Mayor&#039;s 2.1 it locks and/or hides specific activities depending upon conditions set on specific activities/resources. Was posted by Chardelle in [http://proemployees.com/ActivityLockingWithHide-1.6.zip &#039;&#039;&#039;ActivityLockingWithHide-1.6.zip&#039;&#039;&#039;]. Probably same as above. Had bug which Benard tweaked out.&lt;br /&gt;
* A tweak by Bernard Boucher on June 27, 2006 was posted [http://moodle.org/mod/forum/discuss.php?d=35488&amp;amp;parent=222516 moodle/lib/locklib.php file] and called &#039;&#039;&#039;locklib.zip&#039;&#039;&#039; seems to fix known bug in both the above downloads.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 3.s for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
Similar to the 2.x versions. Major difference is that a question to the student unlocks activities.  Being actively developed and tested.&lt;br /&gt;
&lt;br /&gt;
==CA Branch 1.0 for Moodle 1.5.2 (Borja Rubio)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;[http://moodle.org/mod/forum/discuss.php?d=36697 NEW research on CONDITIONAL ACTIVITIES in Moodle]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Table of Versions, to be completed... =&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; padding=&amp;quot;4&amp;quot;&lt;br /&gt;
|+ Activity Locking updated 29 June 2006 10:00 AM EST&lt;br /&gt;
! -Version-  &lt;br /&gt;
! Moodle version&lt;br /&gt;
! Who&lt;br /&gt;
! Status&lt;br /&gt;
! MySql Install&lt;br /&gt;
! Docs&lt;br /&gt;
! Comments &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Bug &lt;br /&gt;
! Bug &lt;br /&gt;
|-----&lt;br /&gt;
| AL 3.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| not finished&lt;br /&gt;
|&lt;br /&gt;
|[http://moodle.org/mod/forum/discuss.php?d=46863]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on questions&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.3&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R/T dep on A/Rs&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.2&lt;br /&gt;
| 1.6&lt;br /&gt;
| Gschnaidner, Mayor, Busch, Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488#220946]&lt;br /&gt;
| almost&lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on A/Rs&lt;br /&gt;
| +Hide&lt;br /&gt;
|&lt;br /&gt;
| bug fix&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.1&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| base&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| see above&lt;br /&gt;
| AL&lt;br /&gt;
|-----&lt;br /&gt;
| C A 1.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| David Delgado Borja Rubio Reyes&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=36697]&lt;br /&gt;
|&lt;br /&gt;
| AL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=General installation instructions DRAFT=&lt;br /&gt;
Installing AL on a localhost (desktop) machine was not difficult!  Some months ago I must have downloaded and connected phpAdministration and that came in handy for step 6.   I just did a conversion and it took me less than 30 minutes (actually I think the AL part was done in 3 minutes ) because I wanted to install the latest version of Moodle 1.6 and then zipped my entire Moodle16 file structure before I attempted the AL installation.&lt;br /&gt;
*1. Perform any backups you think are necessary (I zipped everything in my localhost path).&lt;br /&gt;
*2. Select the zip file flavor of AL you want and download it (I used Chardelle&#039;s zip plus Bernards tweak found in 2.2 above)&lt;br /&gt;
*3. Unzip it to a non Moodle place.  (Like to keep the folder structures option)&lt;br /&gt;
*4. Locate the MySQL.sql file so you can find it again.&lt;br /&gt;
*5. In Moodle as admin, go to Administration, Configuration and turn on Maintence Mode.&lt;br /&gt;
*6. Go to Administration, Database. In the home query window, on the left, click on moodle (mine says Moodle16 and has a bunch of mdl_ listings under it). &lt;br /&gt;
*7. Best: Click on the SQL tab. In the location of the text file, browse to the file in #4, then click go.&lt;br /&gt;
*7. Alternative: use the MySQL document and make or changes in &lt;br /&gt;
*8. Leave Moodle, shut that browser window.&lt;br /&gt;
*9.  Now you need to move the files in the folders located in #3 to your Moodle file structure.   (See my tip below). In your non moodle area you have unpack the file to a folder called ActivityLockingWithHide.  It has a folder called Moodle in it, with sub folders under it, for example ActivityLockingWithHide\Moodle\Course.  You should copy ever file from there to your local host file structure in the same spot. (Mine is Moodle16\Moodle\Course ).&lt;br /&gt;
*10. Go back into Moodle, log in as Admin, go to Administration. Moodle will adjust itself.&lt;br /&gt;
*11 Check in Administration, Configuration, Maintence to make sure it is disabled.  &lt;br /&gt;
*12.  You are done, check out a lesson with weeks or topics, go to lesson settings and notice the new tabs.&lt;br /&gt;
* TIP?   There is probably a slicker way but after I unzipped the file in #3, I went down a level and zipped the Moodle folder.  Then I unpacked the files to Moodle16\, told the unzip program to keep the folder structure and overwrite existing files.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding_activity_locks]] will give the reader an idea of what one of the flavors of Activity Locking looks like for a student and teacher setting it up.  &lt;br /&gt;
&lt;br /&gt;
Please visit the Moodle Forum for more information concerning Activity Locking and Conditional Activities-&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] titled Activity Locking v2.1 (for Moodle 1.6)&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] titled Activity Locking v3&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] titled NEW research on CONDITIONAL ACTIVITIES in Moodle&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=31627&amp;amp;parent=152788: AL v2.1 LALR]  titled Latest Activity Locking Release started 19 October 2005&lt;br /&gt;
* http://moodle.org/mod/forum/view.php?id=4295&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 AL v2.1 wH1.6] titled Re: Certificate for 1.6 with security in Activity Modules forum&lt;br /&gt;
&lt;br /&gt;
There is a very specialized-limited type of activity locking under a lesson (activity) setting called dependency in 1.6.   See: *https://docs.moodle.org/en/Adding/editing_a_lesson#Dependent_on .  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12923</id>
		<title>Broken/Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12923"/>
		<updated>2006-07-07T13:59:44Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* CA Branch 1.0 for Moodle 1.5.2 (David Delgado) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This page is an attempt to consolidate and explain the available activity locking (AL) code that is present for Moodle 1.5.x and 1.6.x. This page will hopefully help explain all the available versions and their respective features. Some of the reference here will overlap with the existing MoodleDoc page covering [[Conditional activities]]. &lt;br /&gt;
&lt;br /&gt;
Please be patient as this page is new and under development.  See page comments for reference material.&lt;br /&gt;
&lt;br /&gt;
=Types of activity locking code=&lt;br /&gt;
For the purpose of this MoodleDoc article: AL is any code that allows the user to make decisions on the next available resource or item the student will be able to use based on student events or quiz performance. There is some activity locking code that is very quick and dirty to simply lock future activities and then there is much more complex code based on the conditional activity though structure which attempts to progress the student through the course in a thought out progression based on activities and performance. Again we hope to clarify some of this here.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 1.0 (Bernard Boucher)==&lt;br /&gt;
Bernard started all this with a hack to lock the certificate based on a quiz score in 2004.  It was a great start! &lt;br /&gt;
&lt;br /&gt;
== AL Branch 2.1 for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
*This has been virtually a complete rewrite and as such there are areas of functionality the were available in older versions of AL that are not in this.    &lt;br /&gt;
&lt;br /&gt;
* Conditional locking: Lock based on a user&#039;s performance in previous activities. You can also choose to unlock and activity if a user scores less than a certain grade.&lt;br /&gt;
* Show activity completion: The checkbox that appears before each activity to show it have been done.&lt;br /&gt;
* A variation on this  also hides future activities, see AL Branch 2.1 for Moodle 1.6 (John Gschnaidner-Chardelle Busch) below.&lt;br /&gt;
* Bernard Boucher reworked Stuart&#039;s version and on June 20, 2006 posted [http://206.167.134.155/bb/authoring1/activity_locking_v2_for_16_20060620.zip &#039;&#039;&#039;Activity_locking_v2_for_16_20060620.zip&#039;&#039;&#039;] on [http://moodle.org/mod/forum/user.php?id=1323&amp;amp;course=5 Activity Locking v3 or v2 for testing only].  The link is outside moodle.org and the link was not working on June 29, 2006.&lt;br /&gt;
&lt;br /&gt;
===Installation for 2.1 for Moodle 1.6(Stuart Meyor)===&lt;br /&gt;
&#039;&#039;&#039;activitylocking20051201.zip&#039;&#039;&#039; the initial version&lt;br /&gt;
&lt;br /&gt;
* Firstly, you need the stable build of Moodle 1.6. This version of AL might work on earlier releases but I didn&#039;t write it with them in mind and I certainly can&#039;t support them.&lt;br /&gt;
Next, you need to modify one table in the database and add a new one (I use phpmyadmin for this). &lt;br /&gt;
&lt;br /&gt;
* The table you need to modify is mdl_course_modules and you need to add the following fields:&lt;br /&gt;
completedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
completedscore VARCHAR(255) NOT NULL&lt;br /&gt;
completedstyle VARCHAR(255) NOT NULL&lt;br /&gt;
lockedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
lockedstyle VARCHAR(255) NOT NULL DEFAULT &#039;locked&#039;&lt;br /&gt;
lockedvisible TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
delay INT(10) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
&lt;br /&gt;
* The table you need to create is as follows:&lt;br /&gt;
CREATE TABLE `mdl_course_locks` (&lt;br /&gt;
`id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
`courseid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locktype` varchar(10) NOT NULL default &#039;&#039;,&lt;br /&gt;
`targetid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locks` longtext NOT NULL,&lt;br /&gt;
PRIMARY KEY (`id`)&lt;br /&gt;
) TYPE=MyISAM COMMENT=&#039;Contains locks for sections and modules&#039;;&lt;br /&gt;
* Lastly, you need to copy the following files from the zip file:&lt;br /&gt;
lib/moodlelib.php to moodle/lib/moodlelib.php&lt;br /&gt;
lib/locklib.php to moodle/lib/locklib.php&lt;br /&gt;
course/lib.php to moodle/course/lib.php&lt;br /&gt;
course/lock.php to moodle/course/lock.php&lt;br /&gt;
course/mod.php to moodle/course/mod.php&lt;br /&gt;
course/settings.html to moodle/course/settings.html&lt;br /&gt;
pix/t/open.gif to moodle/pix/t/open.gif&lt;br /&gt;
pix/t/closed.gif to moodle/pix/t/closed.gif&lt;br /&gt;
lang/en/lock.php to moodle/lang/en/lock.php&lt;br /&gt;
&lt;br /&gt;
==AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch and others)==&lt;br /&gt;
John&#039;s versionincludes the settings tab--making it possible to set the hide/visible options, as well as the completion (a checkmark in front of a resource/activity) options, says Chardelle.  &lt;br /&gt;
* A variation on  Stuart Mayor&#039;s 2.1, it hides topics dependent upon conditions set on specific activities/resources  &#039;&#039;&#039;ALV2_1_debug.ZIP&#039;&#039;&#039; (John). Had bug which Benard tweaked out.&lt;br /&gt;
* A build of Stuarts Mayor&#039;s 2.1 it locks and/or hides specific activities depending upon conditions set on specific activities/resources. Was posted by Chardelle in [http://proemployees.com/ActivityLockingWithHide-1.6.zip &#039;&#039;&#039;ActivityLockingWithHide-1.6.zip&#039;&#039;&#039;]. Probably same as above. Had bug which Benard tweaked out.&lt;br /&gt;
* A tweak by Bernard Boucher on June 27, 2006 was posted [http://moodle.org/mod/forum/discuss.php?d=35488&amp;amp;parent=222516 moodle/lib/locklib.php file] and called &#039;&#039;&#039;locklib.zip&#039;&#039;&#039; seems to fix known bug in both the above downloads.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 3.s for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
Similar to the 2.x versions. Major difference is that a question to the student unlocks activities.  Being actively developed and tested.&lt;br /&gt;
&lt;br /&gt;
==CA Branch 1.0 for Moodle 1.5.2 (David Delgado)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;[http://moodle.org/mod/forum/discuss.php?d=36697 NEW research on CONDITIONAL ACTIVITIES in Moodle]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Table of Versions, to be completed... =&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; padding=&amp;quot;4&amp;quot;&lt;br /&gt;
|+ Activity Locking updated 29 June 2006 10:00 AM EST&lt;br /&gt;
! -Version-  &lt;br /&gt;
! Moodle version&lt;br /&gt;
! Who&lt;br /&gt;
! Status&lt;br /&gt;
! MySql Install&lt;br /&gt;
! Docs&lt;br /&gt;
! Comments &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Bug &lt;br /&gt;
! Bug &lt;br /&gt;
|-----&lt;br /&gt;
| AL 3.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| not finished&lt;br /&gt;
|&lt;br /&gt;
|[http://moodle.org/mod/forum/discuss.php?d=46863]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on questions&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.3&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R/T dep on A/Rs&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.2&lt;br /&gt;
| 1.6&lt;br /&gt;
| Gschnaidner, Mayor, Busch, Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488#220946]&lt;br /&gt;
| almost&lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on A/Rs&lt;br /&gt;
| +Hide&lt;br /&gt;
|&lt;br /&gt;
| bug fix&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.1&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| base&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| see above&lt;br /&gt;
| AL&lt;br /&gt;
|-----&lt;br /&gt;
| C A 1.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| David Delgado Borja Rubio Reyes&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=36697]&lt;br /&gt;
|&lt;br /&gt;
| AL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=General installation instructions DRAFT=&lt;br /&gt;
Installing AL on a localhost (desktop) machine was not difficult!  Some months ago I must have downloaded and connected phpAdministration and that came in handy for step 6.   I just did a conversion and it took me less than 30 minutes (actually I think the AL part was done in 3 minutes ) because I wanted to install the latest version of Moodle 1.6 and then zipped my entire Moodle16 file structure before I attempted the AL installation.&lt;br /&gt;
*1. Perform any backups you think are necessary (I zipped everything in my localhost path).&lt;br /&gt;
*2. Select the zip file flavor of AL you want and download it (I used Chardelle&#039;s zip plus Bernards tweak found in 2.2 above)&lt;br /&gt;
*3. Unzip it to a non Moodle place.  (Like to keep the folder structures option)&lt;br /&gt;
*4. Locate the MySQL.sql file so you can find it again.&lt;br /&gt;
*5. In Moodle as admin, go to Administration, Configuration and turn on Maintence Mode.&lt;br /&gt;
*6. Go to Administration, Database. In the home query window, on the left, click on moodle (mine says Moodle16 and has a bunch of mdl_ listings under it). &lt;br /&gt;
*7. Best: Click on the SQL tab. In the location of the text file, browse to the file in #4, then click go.&lt;br /&gt;
*7. Alternative: use the MySQL document and make or changes in &lt;br /&gt;
*8. Leave Moodle, shut that browser window.&lt;br /&gt;
*9.  Now you need to move the files in the folders located in #3 to your Moodle file structure.   (See my tip below). In your non moodle area you have unpack the file to a folder called ActivityLockingWithHide.  It has a folder called Moodle in it, with sub folders under it, for example ActivityLockingWithHide\Moodle\Course.  You should copy ever file from there to your local host file structure in the same spot. (Mine is Moodle16\Moodle\Course ).&lt;br /&gt;
*10. Go back into Moodle, log in as Admin, go to Administration. Moodle will adjust itself.&lt;br /&gt;
*11 Check in Administration, Configuration, Maintence to make sure it is disabled.  &lt;br /&gt;
*12.  You are done, check out a lesson with weeks or topics, go to lesson settings and notice the new tabs.&lt;br /&gt;
* TIP?   There is probably a slicker way but after I unzipped the file in #3, I went down a level and zipped the Moodle folder.  Then I unpacked the files to Moodle16\, told the unzip program to keep the folder structure and overwrite existing files.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding_activity_locks]] will give the reader an idea of what one of the flavors of Activity Locking looks like for a student and teacher setting it up.  &lt;br /&gt;
&lt;br /&gt;
Please visit the Moodle Forum for more information concerning Activity Locking and Conditional Activities-&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] titled Activity Locking v2.1 (for Moodle 1.6)&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] titled Activity Locking v3&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] titled NEW research on CONDITIONAL ACTIVITIES in Moodle&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=31627&amp;amp;parent=152788: AL v2.1 LALR]  titled Latest Activity Locking Release started 19 October 2005&lt;br /&gt;
* http://moodle.org/mod/forum/view.php?id=4295&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 AL v2.1 wH1.6] titled Re: Certificate for 1.6 with security in Activity Modules forum&lt;br /&gt;
&lt;br /&gt;
There is a very specialized-limited type of activity locking under a lesson (activity) setting called dependency in 1.6.   See: *https://docs.moodle.org/en/Adding/editing_a_lesson#Dependent_on .  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12922</id>
		<title>Broken/Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12922"/>
		<updated>2006-07-07T13:58:49Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* CA Branch 1.0 for Moodle 1.5.2 (David Delgado) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This page is an attempt to consolidate and explain the available activity locking (AL) code that is present for Moodle 1.5.x and 1.6.x. This page will hopefully help explain all the available versions and their respective features. Some of the reference here will overlap with the existing MoodleDoc page covering [[Conditional activities]]. &lt;br /&gt;
&lt;br /&gt;
Please be patient as this page is new and under development.  See page comments for reference material.&lt;br /&gt;
&lt;br /&gt;
=Types of activity locking code=&lt;br /&gt;
For the purpose of this MoodleDoc article: AL is any code that allows the user to make decisions on the next available resource or item the student will be able to use based on student events or quiz performance. There is some activity locking code that is very quick and dirty to simply lock future activities and then there is much more complex code based on the conditional activity though structure which attempts to progress the student through the course in a thought out progression based on activities and performance. Again we hope to clarify some of this here.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 1.0 (Bernard Boucher)==&lt;br /&gt;
Bernard started all this with a hack to lock the certificate based on a quiz score in 2004.  It was a great start! &lt;br /&gt;
&lt;br /&gt;
== AL Branch 2.1 for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
*This has been virtually a complete rewrite and as such there are areas of functionality the were available in older versions of AL that are not in this.    &lt;br /&gt;
&lt;br /&gt;
* Conditional locking: Lock based on a user&#039;s performance in previous activities. You can also choose to unlock and activity if a user scores less than a certain grade.&lt;br /&gt;
* Show activity completion: The checkbox that appears before each activity to show it have been done.&lt;br /&gt;
* A variation on this  also hides future activities, see AL Branch 2.1 for Moodle 1.6 (John Gschnaidner-Chardelle Busch) below.&lt;br /&gt;
* Bernard Boucher reworked Stuart&#039;s version and on June 20, 2006 posted [http://206.167.134.155/bb/authoring1/activity_locking_v2_for_16_20060620.zip &#039;&#039;&#039;Activity_locking_v2_for_16_20060620.zip&#039;&#039;&#039;] on [http://moodle.org/mod/forum/user.php?id=1323&amp;amp;course=5 Activity Locking v3 or v2 for testing only].  The link is outside moodle.org and the link was not working on June 29, 2006.&lt;br /&gt;
&lt;br /&gt;
===Installation for 2.1 for Moodle 1.6(Stuart Meyor)===&lt;br /&gt;
&#039;&#039;&#039;activitylocking20051201.zip&#039;&#039;&#039; the initial version&lt;br /&gt;
&lt;br /&gt;
* Firstly, you need the stable build of Moodle 1.6. This version of AL might work on earlier releases but I didn&#039;t write it with them in mind and I certainly can&#039;t support them.&lt;br /&gt;
Next, you need to modify one table in the database and add a new one (I use phpmyadmin for this). &lt;br /&gt;
&lt;br /&gt;
* The table you need to modify is mdl_course_modules and you need to add the following fields:&lt;br /&gt;
completedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
completedscore VARCHAR(255) NOT NULL&lt;br /&gt;
completedstyle VARCHAR(255) NOT NULL&lt;br /&gt;
lockedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
lockedstyle VARCHAR(255) NOT NULL DEFAULT &#039;locked&#039;&lt;br /&gt;
lockedvisible TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
delay INT(10) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
&lt;br /&gt;
* The table you need to create is as follows:&lt;br /&gt;
CREATE TABLE `mdl_course_locks` (&lt;br /&gt;
`id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
`courseid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locktype` varchar(10) NOT NULL default &#039;&#039;,&lt;br /&gt;
`targetid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locks` longtext NOT NULL,&lt;br /&gt;
PRIMARY KEY (`id`)&lt;br /&gt;
) TYPE=MyISAM COMMENT=&#039;Contains locks for sections and modules&#039;;&lt;br /&gt;
* Lastly, you need to copy the following files from the zip file:&lt;br /&gt;
lib/moodlelib.php to moodle/lib/moodlelib.php&lt;br /&gt;
lib/locklib.php to moodle/lib/locklib.php&lt;br /&gt;
course/lib.php to moodle/course/lib.php&lt;br /&gt;
course/lock.php to moodle/course/lock.php&lt;br /&gt;
course/mod.php to moodle/course/mod.php&lt;br /&gt;
course/settings.html to moodle/course/settings.html&lt;br /&gt;
pix/t/open.gif to moodle/pix/t/open.gif&lt;br /&gt;
pix/t/closed.gif to moodle/pix/t/closed.gif&lt;br /&gt;
lang/en/lock.php to moodle/lang/en/lock.php&lt;br /&gt;
&lt;br /&gt;
==AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch and others)==&lt;br /&gt;
John&#039;s versionincludes the settings tab--making it possible to set the hide/visible options, as well as the completion (a checkmark in front of a resource/activity) options, says Chardelle.  &lt;br /&gt;
* A variation on  Stuart Mayor&#039;s 2.1, it hides topics dependent upon conditions set on specific activities/resources  &#039;&#039;&#039;ALV2_1_debug.ZIP&#039;&#039;&#039; (John). Had bug which Benard tweaked out.&lt;br /&gt;
* A build of Stuarts Mayor&#039;s 2.1 it locks and/or hides specific activities depending upon conditions set on specific activities/resources. Was posted by Chardelle in [http://proemployees.com/ActivityLockingWithHide-1.6.zip &#039;&#039;&#039;ActivityLockingWithHide-1.6.zip&#039;&#039;&#039;]. Probably same as above. Had bug which Benard tweaked out.&lt;br /&gt;
* A tweak by Bernard Boucher on June 27, 2006 was posted [http://moodle.org/mod/forum/discuss.php?d=35488&amp;amp;parent=222516 moodle/lib/locklib.php file] and called &#039;&#039;&#039;locklib.zip&#039;&#039;&#039; seems to fix known bug in both the above downloads.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 3.s for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
Similar to the 2.x versions. Major difference is that a question to the student unlocks activities.  Being actively developed and tested.&lt;br /&gt;
&lt;br /&gt;
==CA Branch 1.0 for Moodle 1.5.2 (David Delgado)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;[http://moodle.org/mod/forum/discuss.php?d=36697|NEW research on CONDITIONAL ACTIVITIES in Moodle]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Table of Versions, to be completed... =&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; padding=&amp;quot;4&amp;quot;&lt;br /&gt;
|+ Activity Locking updated 29 June 2006 10:00 AM EST&lt;br /&gt;
! -Version-  &lt;br /&gt;
! Moodle version&lt;br /&gt;
! Who&lt;br /&gt;
! Status&lt;br /&gt;
! MySql Install&lt;br /&gt;
! Docs&lt;br /&gt;
! Comments &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Bug &lt;br /&gt;
! Bug &lt;br /&gt;
|-----&lt;br /&gt;
| AL 3.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| not finished&lt;br /&gt;
|&lt;br /&gt;
|[http://moodle.org/mod/forum/discuss.php?d=46863]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on questions&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.3&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R/T dep on A/Rs&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.2&lt;br /&gt;
| 1.6&lt;br /&gt;
| Gschnaidner, Mayor, Busch, Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488#220946]&lt;br /&gt;
| almost&lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on A/Rs&lt;br /&gt;
| +Hide&lt;br /&gt;
|&lt;br /&gt;
| bug fix&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.1&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| base&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| see above&lt;br /&gt;
| AL&lt;br /&gt;
|-----&lt;br /&gt;
| C A 1.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| David Delgado Borja Rubio Reyes&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=36697]&lt;br /&gt;
|&lt;br /&gt;
| AL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=General installation instructions DRAFT=&lt;br /&gt;
Installing AL on a localhost (desktop) machine was not difficult!  Some months ago I must have downloaded and connected phpAdministration and that came in handy for step 6.   I just did a conversion and it took me less than 30 minutes (actually I think the AL part was done in 3 minutes ) because I wanted to install the latest version of Moodle 1.6 and then zipped my entire Moodle16 file structure before I attempted the AL installation.&lt;br /&gt;
*1. Perform any backups you think are necessary (I zipped everything in my localhost path).&lt;br /&gt;
*2. Select the zip file flavor of AL you want and download it (I used Chardelle&#039;s zip plus Bernards tweak found in 2.2 above)&lt;br /&gt;
*3. Unzip it to a non Moodle place.  (Like to keep the folder structures option)&lt;br /&gt;
*4. Locate the MySQL.sql file so you can find it again.&lt;br /&gt;
*5. In Moodle as admin, go to Administration, Configuration and turn on Maintence Mode.&lt;br /&gt;
*6. Go to Administration, Database. In the home query window, on the left, click on moodle (mine says Moodle16 and has a bunch of mdl_ listings under it). &lt;br /&gt;
*7. Best: Click on the SQL tab. In the location of the text file, browse to the file in #4, then click go.&lt;br /&gt;
*7. Alternative: use the MySQL document and make or changes in &lt;br /&gt;
*8. Leave Moodle, shut that browser window.&lt;br /&gt;
*9.  Now you need to move the files in the folders located in #3 to your Moodle file structure.   (See my tip below). In your non moodle area you have unpack the file to a folder called ActivityLockingWithHide.  It has a folder called Moodle in it, with sub folders under it, for example ActivityLockingWithHide\Moodle\Course.  You should copy ever file from there to your local host file structure in the same spot. (Mine is Moodle16\Moodle\Course ).&lt;br /&gt;
*10. Go back into Moodle, log in as Admin, go to Administration. Moodle will adjust itself.&lt;br /&gt;
*11 Check in Administration, Configuration, Maintence to make sure it is disabled.  &lt;br /&gt;
*12.  You are done, check out a lesson with weeks or topics, go to lesson settings and notice the new tabs.&lt;br /&gt;
* TIP?   There is probably a slicker way but after I unzipped the file in #3, I went down a level and zipped the Moodle folder.  Then I unpacked the files to Moodle16\, told the unzip program to keep the folder structure and overwrite existing files.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding_activity_locks]] will give the reader an idea of what one of the flavors of Activity Locking looks like for a student and teacher setting it up.  &lt;br /&gt;
&lt;br /&gt;
Please visit the Moodle Forum for more information concerning Activity Locking and Conditional Activities-&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] titled Activity Locking v2.1 (for Moodle 1.6)&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] titled Activity Locking v3&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] titled NEW research on CONDITIONAL ACTIVITIES in Moodle&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=31627&amp;amp;parent=152788: AL v2.1 LALR]  titled Latest Activity Locking Release started 19 October 2005&lt;br /&gt;
* http://moodle.org/mod/forum/view.php?id=4295&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 AL v2.1 wH1.6] titled Re: Certificate for 1.6 with security in Activity Modules forum&lt;br /&gt;
&lt;br /&gt;
There is a very specialized-limited type of activity locking under a lesson (activity) setting called dependency in 1.6.   See: *https://docs.moodle.org/en/Adding/editing_a_lesson#Dependent_on .  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12921</id>
		<title>Broken/Activity Locking</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Activity_Locking&amp;diff=12921"/>
		<updated>2006-07-07T13:58:19Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* CA Branch 1.0 for Moodle 1.5.2 (David Delgado) */ link to the forum discussion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Overview=&lt;br /&gt;
This page is an attempt to consolidate and explain the available activity locking (AL) code that is present for Moodle 1.5.x and 1.6.x. This page will hopefully help explain all the available versions and their respective features. Some of the reference here will overlap with the existing MoodleDoc page covering [[Conditional activities]]. &lt;br /&gt;
&lt;br /&gt;
Please be patient as this page is new and under development.  See page comments for reference material.&lt;br /&gt;
&lt;br /&gt;
=Types of activity locking code=&lt;br /&gt;
For the purpose of this MoodleDoc article: AL is any code that allows the user to make decisions on the next available resource or item the student will be able to use based on student events or quiz performance. There is some activity locking code that is very quick and dirty to simply lock future activities and then there is much more complex code based on the conditional activity though structure which attempts to progress the student through the course in a thought out progression based on activities and performance. Again we hope to clarify some of this here.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 1.0 (Bernard Boucher)==&lt;br /&gt;
Bernard started all this with a hack to lock the certificate based on a quiz score in 2004.  It was a great start! &lt;br /&gt;
&lt;br /&gt;
== AL Branch 2.1 for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
*This has been virtually a complete rewrite and as such there are areas of functionality the were available in older versions of AL that are not in this.    &lt;br /&gt;
&lt;br /&gt;
* Conditional locking: Lock based on a user&#039;s performance in previous activities. You can also choose to unlock and activity if a user scores less than a certain grade.&lt;br /&gt;
* Show activity completion: The checkbox that appears before each activity to show it have been done.&lt;br /&gt;
* A variation on this  also hides future activities, see AL Branch 2.1 for Moodle 1.6 (John Gschnaidner-Chardelle Busch) below.&lt;br /&gt;
* Bernard Boucher reworked Stuart&#039;s version and on June 20, 2006 posted [http://206.167.134.155/bb/authoring1/activity_locking_v2_for_16_20060620.zip &#039;&#039;&#039;Activity_locking_v2_for_16_20060620.zip&#039;&#039;&#039;] on [http://moodle.org/mod/forum/user.php?id=1323&amp;amp;course=5 Activity Locking v3 or v2 for testing only].  The link is outside moodle.org and the link was not working on June 29, 2006.&lt;br /&gt;
&lt;br /&gt;
===Installation for 2.1 for Moodle 1.6(Stuart Meyor)===&lt;br /&gt;
&#039;&#039;&#039;activitylocking20051201.zip&#039;&#039;&#039; the initial version&lt;br /&gt;
&lt;br /&gt;
* Firstly, you need the stable build of Moodle 1.6. This version of AL might work on earlier releases but I didn&#039;t write it with them in mind and I certainly can&#039;t support them.&lt;br /&gt;
Next, you need to modify one table in the database and add a new one (I use phpmyadmin for this). &lt;br /&gt;
&lt;br /&gt;
* The table you need to modify is mdl_course_modules and you need to add the following fields:&lt;br /&gt;
completedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
completedscore VARCHAR(255) NOT NULL&lt;br /&gt;
completedstyle VARCHAR(255) NOT NULL&lt;br /&gt;
lockedbox TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
lockedstyle VARCHAR(255) NOT NULL DEFAULT &#039;locked&#039;&lt;br /&gt;
lockedvisible TINYINT(1) UNSIGNED NOT NULL DEFAULT &#039;1&#039;&lt;br /&gt;
delay INT(10) UNSIGNED NOT NULL DEFAULT &#039;0&#039;&lt;br /&gt;
&lt;br /&gt;
* The table you need to create is as follows:&lt;br /&gt;
CREATE TABLE `mdl_course_locks` (&lt;br /&gt;
`id` int(10) unsigned NOT NULL auto_increment,&lt;br /&gt;
`courseid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locktype` varchar(10) NOT NULL default &#039;&#039;,&lt;br /&gt;
`targetid` int(10) unsigned NOT NULL default &#039;0&#039;,&lt;br /&gt;
`locks` longtext NOT NULL,&lt;br /&gt;
PRIMARY KEY (`id`)&lt;br /&gt;
) TYPE=MyISAM COMMENT=&#039;Contains locks for sections and modules&#039;;&lt;br /&gt;
* Lastly, you need to copy the following files from the zip file:&lt;br /&gt;
lib/moodlelib.php to moodle/lib/moodlelib.php&lt;br /&gt;
lib/locklib.php to moodle/lib/locklib.php&lt;br /&gt;
course/lib.php to moodle/course/lib.php&lt;br /&gt;
course/lock.php to moodle/course/lock.php&lt;br /&gt;
course/mod.php to moodle/course/mod.php&lt;br /&gt;
course/settings.html to moodle/course/settings.html&lt;br /&gt;
pix/t/open.gif to moodle/pix/t/open.gif&lt;br /&gt;
pix/t/closed.gif to moodle/pix/t/closed.gif&lt;br /&gt;
lang/en/lock.php to moodle/lang/en/lock.php&lt;br /&gt;
&lt;br /&gt;
==AL Branch 2.2 for Moodle 1.6 (John Gschnaidner-Chardelle Busch and others)==&lt;br /&gt;
John&#039;s versionincludes the settings tab--making it possible to set the hide/visible options, as well as the completion (a checkmark in front of a resource/activity) options, says Chardelle.  &lt;br /&gt;
* A variation on  Stuart Mayor&#039;s 2.1, it hides topics dependent upon conditions set on specific activities/resources  &#039;&#039;&#039;ALV2_1_debug.ZIP&#039;&#039;&#039; (John). Had bug which Benard tweaked out.&lt;br /&gt;
* A build of Stuarts Mayor&#039;s 2.1 it locks and/or hides specific activities depending upon conditions set on specific activities/resources. Was posted by Chardelle in [http://proemployees.com/ActivityLockingWithHide-1.6.zip &#039;&#039;&#039;ActivityLockingWithHide-1.6.zip&#039;&#039;&#039;]. Probably same as above. Had bug which Benard tweaked out.&lt;br /&gt;
* A tweak by Bernard Boucher on June 27, 2006 was posted [http://moodle.org/mod/forum/discuss.php?d=35488&amp;amp;parent=222516 moodle/lib/locklib.php file] and called &#039;&#039;&#039;locklib.zip&#039;&#039;&#039; seems to fix known bug in both the above downloads.&lt;br /&gt;
&lt;br /&gt;
==AL Branch 3.s for Moodle 1.6 (Stuart Meyor)==&lt;br /&gt;
Similar to the 2.x versions. Major difference is that a question to the student unlocks activities.  Being actively developed and tested.&lt;br /&gt;
&lt;br /&gt;
==CA Branch 1.0 for Moodle 1.5.2 (David Delgado)==&lt;br /&gt;
Details and discussed in the thread &amp;quot;[[http://moodle.org/mod/forum/discuss.php?d=36697|NEW research on CONDITIONAL ACTIVITIES in Moodle]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Table of Versions, to be completed... =&lt;br /&gt;
{| border=&amp;quot;3&amp;quot; padding=&amp;quot;4&amp;quot;&lt;br /&gt;
|+ Activity Locking updated 29 June 2006 10:00 AM EST&lt;br /&gt;
! -Version-  &lt;br /&gt;
! Moodle version&lt;br /&gt;
! Who&lt;br /&gt;
! Status&lt;br /&gt;
! MySql Install&lt;br /&gt;
! Docs&lt;br /&gt;
! Comments &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Feature &lt;br /&gt;
! Bug &lt;br /&gt;
! Bug &lt;br /&gt;
|-----&lt;br /&gt;
| AL 3.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| Stuart Mayor&lt;br /&gt;
| not finished&lt;br /&gt;
|&lt;br /&gt;
|[http://moodle.org/mod/forum/discuss.php?d=46863]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on questions&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.3&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| &lt;br /&gt;
| AL&lt;br /&gt;
| A/R/T dep on A/Rs&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.2&lt;br /&gt;
| 1.6&lt;br /&gt;
| Gschnaidner, Mayor, Busch, Boucher&lt;br /&gt;
| Testing&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488#220946]&lt;br /&gt;
| almost&lt;br /&gt;
| AL&lt;br /&gt;
| A/R dep on A/Rs&lt;br /&gt;
| +Hide&lt;br /&gt;
|&lt;br /&gt;
| bug fix&lt;br /&gt;
|-----&lt;br /&gt;
| AL 2.1&lt;br /&gt;
| 1.6&lt;br /&gt;
| Stuart Mayor, Benard Boucher&lt;br /&gt;
| base&lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=35488]&lt;br /&gt;
| see above&lt;br /&gt;
| AL&lt;br /&gt;
|-----&lt;br /&gt;
| C A 1.0&lt;br /&gt;
| 1.5.2&lt;br /&gt;
| David Delgado Borja Rubio Reyes&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://moodle.org/mod/forum/discuss.php?d=36697]&lt;br /&gt;
|&lt;br /&gt;
| AL&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=General installation instructions DRAFT=&lt;br /&gt;
Installing AL on a localhost (desktop) machine was not difficult!  Some months ago I must have downloaded and connected phpAdministration and that came in handy for step 6.   I just did a conversion and it took me less than 30 minutes (actually I think the AL part was done in 3 minutes ) because I wanted to install the latest version of Moodle 1.6 and then zipped my entire Moodle16 file structure before I attempted the AL installation.&lt;br /&gt;
*1. Perform any backups you think are necessary (I zipped everything in my localhost path).&lt;br /&gt;
*2. Select the zip file flavor of AL you want and download it (I used Chardelle&#039;s zip plus Bernards tweak found in 2.2 above)&lt;br /&gt;
*3. Unzip it to a non Moodle place.  (Like to keep the folder structures option)&lt;br /&gt;
*4. Locate the MySQL.sql file so you can find it again.&lt;br /&gt;
*5. In Moodle as admin, go to Administration, Configuration and turn on Maintence Mode.&lt;br /&gt;
*6. Go to Administration, Database. In the home query window, on the left, click on moodle (mine says Moodle16 and has a bunch of mdl_ listings under it). &lt;br /&gt;
*7. Best: Click on the SQL tab. In the location of the text file, browse to the file in #4, then click go.&lt;br /&gt;
*7. Alternative: use the MySQL document and make or changes in &lt;br /&gt;
*8. Leave Moodle, shut that browser window.&lt;br /&gt;
*9.  Now you need to move the files in the folders located in #3 to your Moodle file structure.   (See my tip below). In your non moodle area you have unpack the file to a folder called ActivityLockingWithHide.  It has a folder called Moodle in it, with sub folders under it, for example ActivityLockingWithHide\Moodle\Course.  You should copy ever file from there to your local host file structure in the same spot. (Mine is Moodle16\Moodle\Course ).&lt;br /&gt;
*10. Go back into Moodle, log in as Admin, go to Administration. Moodle will adjust itself.&lt;br /&gt;
*11 Check in Administration, Configuration, Maintence to make sure it is disabled.  &lt;br /&gt;
*12.  You are done, check out a lesson with weeks or topics, go to lesson settings and notice the new tabs.&lt;br /&gt;
* TIP?   There is probably a slicker way but after I unzipped the file in #3, I went down a level and zipped the Moodle folder.  Then I unpacked the files to Moodle16\, told the unzip program to keep the folder structure and overwrite existing files.   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
*[[Adding_activity_locks]] will give the reader an idea of what one of the flavors of Activity Locking looks like for a student and teacher setting it up.  &lt;br /&gt;
&lt;br /&gt;
Please visit the Moodle Forum for more information concerning Activity Locking and Conditional Activities-&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488#220984:  AL v2.1-M1.6] titled Activity Locking v2.1 (for Moodle 1.6)&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=46863:  AL v3.0-Mx] titled Activity Locking v3&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 AL v3.0-DD] titled NEW research on CONDITIONAL ACTIVITIES in Moodle&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=31627&amp;amp;parent=152788: AL v2.1 LALR]  titled Latest Activity Locking Release started 19 October 2005&lt;br /&gt;
* http://moodle.org/mod/forum/view.php?id=4295&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=47906&amp;amp;parent=221613 AL v2.1 wH1.6] titled Re: Certificate for 1.6 with security in Activity Modules forum&lt;br /&gt;
&lt;br /&gt;
There is a very specialized-limited type of activity locking under a lesson (activity) setting called dependency in 1.6.   See: *https://docs.moodle.org/en/Adding/editing_a_lesson#Dependent_on .  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=About_Moodle&amp;diff=6579</id>
		<title>About Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=About_Moodle&amp;diff=6579"/>
		<updated>2006-02-27T00:37:04Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added presentations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{About Moodle}}&lt;br /&gt;
Moodle is a software package for producing internet-based courses and web sites. It&#039;s an ongoing development project designed to support a [[Philosophy|social constructionist]] framework of education.&lt;br /&gt;
&lt;br /&gt;
Moodle is provided freely as [http://www.opensource.org/docs/definition_plain.html Open Source] software (under the [http://www.gnu.org/copyleft/gpl.html GNU Public License]). Basically this means Moodle is copyrighted, but that you have additional freedoms. You are allowed to copy, use and modify Moodle provided that you agree to: &#039;&#039;&#039;provide the source to others; not modify or remove the original license and copyrights&#039;&#039;&#039;, and &#039;&#039;&#039;apply this same license to any derivative work&#039;&#039;&#039;. Read the [[License|license]] for full details and please contact the [http://moodle.org/user/view.php?id=1&amp;amp;course=1 copyright holder] directly if you have any questions.&lt;br /&gt;
&lt;br /&gt;
Moodle will run on any computer that can run [http://www.php.net/ PHP], and can support many types of database (particularly [http://www.mysql.com/ MySQL]).&lt;br /&gt;
&lt;br /&gt;
The word Moodle was originally an acronym for Modular Object-Oriented Dynamic Learning Environment, which is mostly useful to programmers and education theorists.  It&#039;s also a verb that describes the process of lazily meandering through something, doing things as it occurs to you to do them, an enjoyable tinkering that often leads to insight and creativity. As such it applies both to the way Moodle was developed, and to the way a student or teacher might approach studying or teaching an online course. Anyone who uses Moodle is a Moodler.&lt;br /&gt;
&lt;br /&gt;
Come [http://moodle.org/community/ moodle with us]!&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Moodle Moodle at Wikipedia]&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
&lt;br /&gt;
[[es:Acerca de Moodle]]&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Quiz&amp;diff=5864</id>
		<title>Broken/Quiz</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Quiz&amp;diff=5864"/>
		<updated>2006-02-19T15:05:47Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* Questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quiz developer docs}}The quiz module is a complex module with its own modular structure to allow question type plug-ins. The module has grown organically and in spite of a lot of rewriting for Moodle 1.5 the code is not very simple to understand. This page aims to collect useful documentation on how the module works. &lt;br /&gt;
&lt;br /&gt;
==Terminology==&lt;br /&gt;
&lt;br /&gt;
When talking about the quiz module there are certain terms that can cause confusion because they can be used with different meanings. In Moodle we have adopted a certain terminology that will be explained below.&lt;br /&gt;
&lt;br /&gt;
===Questions===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;question&#039;&#039;&#039; in the context of the quiz module is the set of definitions (question name, question text, possible answers, grading rules, feedback, etc.) that constitute a reusable assessment item. So it is much more than what one would in everyday language understand under a question and which in Moodle is just on field (the questiontext field) of the question object.&lt;br /&gt;
&lt;br /&gt;
What in Moodle we refer to as a &#039;question&#039; is what in the terminology of the QTI specification ismore appropriately called an &#039;&#039;&#039;assessment item&#039;&#039;&#039; or just &#039;item&#039; for short. &lt;br /&gt;
&lt;br /&gt;
There are different types of questions, like for example multiple-choice questions or numerical questions. These are referred to as &#039;&#039;&#039;[[Quiz developer docs#Question types|question types]]&#039;&#039;&#039; in Moodle.&lt;br /&gt;
&lt;br /&gt;
Since version 1.5 Moodle is able to handle so-called &#039;&#039;&#039;[[Adaptive questions]]&#039;&#039;&#039;, also known as &#039;adaptive items&#039; in QTI speak. These are questions that walk the user through a directed graph of question states depending on the user&#039;s responses. For example a complicated mathematical question that is answered incorrectly, but is likely to be incorrect because of a common mistake, could provide the user with a hint towards this mistake, apply a penalty and allow a second attempt at this question. Quizzes can be run in &#039;adaptive mode&#039;, which provides buttons to mark each question individually.&lt;br /&gt;
&lt;br /&gt;
===Answers===&lt;br /&gt;
&lt;br /&gt;
In Moodle the term &#039;&#039;&#039;&#039;answer&#039;&#039;&#039;&#039; is used exclusively for the &#039;&#039;&#039;teacher-defined answers&#039;&#039;&#039; of a question. When talking about the quiz module it is easy to get confused between these teacher-defined answers and the answers that the students actually give. We have therefore adopted the convention to refer to the student-supplied answers as &#039;responses&#039; and to reserve the term &#039;answers&#039; to apply to teacher-defined answers. In question types that rely on teacher-supplied answers these are used in the grading process by comparing them with the student responses. Of course not all question types use teacher-defined answers but use some more intelligent way to process the student responses. &lt;br /&gt;
&lt;br /&gt;
Perhaps one should also stress that &#039;answer&#039; is not always used in the sense of &#039;correct answer&#039;. For example every choice in a multiple-choice question is referred to as an answer. Other systems use the term &#039;distractor&#039; for wrong answers. &lt;br /&gt;
&lt;br /&gt;
In Moodle we always use the term &#039;&#039;&#039;&#039;responses&#039;&#039;&#039;&#039; to refer to the students&#039; responses to a question because term &#039;answers&#039; that one might also be tempted to use for this is already used to refer to the teacher-defined answers, see above. This term is always used in plural, although for some questiontypes there is only one possible response.&lt;br /&gt;
&lt;br /&gt;
There is unfortunately, for historical reasons, one exception to the above rule: The [[Quiz database structure#quiz_states|quiz_states table]] has a field &#039;answer&#039; whose purpose it actually is to hold the student&#039;s responses.&lt;br /&gt;
&lt;br /&gt;
===Attempts===&lt;br /&gt;
&lt;br /&gt;
In Moodle the term &#039;&#039;&#039;&#039;attempt&#039;&#039;&#039;&#039; is used in the sense of &amp;quot;Attempt at the quiz&amp;quot;. Depending on the quiz settings, a student may be allowed several attempts at a quiz. An attempt is finished when the student clicks on the corresponding button on the attempt page. Students do not have to complete an attempt in one visit. They can navigate away from the quiz page and return later to continue the same attempt.&lt;br /&gt;
&lt;br /&gt;
Within one and the same quiz attempt a student may make several attempts at answering a particular question, at least if the questiontype allows it and the quiz is set up in adaptive mode. These will always be referred to as &#039;&#039;&#039;&#039;attempts at a question&#039;&#039;&#039;&#039;, never just as &#039;attempts&#039;.&lt;br /&gt;
&lt;br /&gt;
Because a student can have several attempts at a question within the same attempt at the quiz, there is a lot of data that needs to be stored as the student takes the question through several &#039;&#039;&#039;&#039;states&#039;&#039;&#039;&#039; by repeated interactions with the question. A state object holds the most recent state of the question and whenever a student submits a response or a similar &#039;&#039;&#039;&#039;event&#039;&#039;&#039;&#039; occurs, the question goes to a new state. The complete history of question states that the question is taken through is saved and this is referred to as the question &#039;&#039;&#039;&#039;session&#039;&#039;&#039;&#039;. Usually only the most recent state and the last graded state are of interest though.&lt;br /&gt;
&lt;br /&gt;
==Code documentation==&lt;br /&gt;
&lt;br /&gt;
The code is documented according to phpdoc conventions. The explanations here in the wiki are meant to complement this.&lt;br /&gt;
&lt;br /&gt;
Inline comments should be used liberally in the code. The following conventions make it easier to search for comments with special meaning:&lt;br /&gt;
* use TODO in comments about things that need to be done&lt;br /&gt;
* use ??? in comments that are questions about the code&lt;br /&gt;
&lt;br /&gt;
There are three function libraries:&lt;br /&gt;
&lt;br /&gt;
;questionlib.php&lt;br /&gt;
:All functions that need to be available to any module wanting to use questions. This is New in Moodle 1.6, in Moodle 1.5 this was part of locallib.php. This instantiates all questiontype classes by loading the questiontype.php files&lt;br /&gt;
&lt;br /&gt;
;lib.php&lt;br /&gt;
:All the functions that are sometimes called by the Moodle core. This loads constants from &#039;&#039;&#039;constants.php&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;editlib.php&lt;br /&gt;
:Functions that are used by the edit page edit.php. This loads locallib.php&lt;br /&gt;
&lt;br /&gt;
;locallib.php&lt;br /&gt;
:All functions that are used only by the quiz module. This loads lib.php and questionlib.php&lt;br /&gt;
&lt;br /&gt;
The default questiontype class is defined in &#039;&#039;&#039;questiontypes/questiontype.php&#039;&#039;&#039; (in Moodle 1.5 this was still in locallib.php). The individual questiontypes extend this class in their own questiontype.php file. For documentation of the questiontype classes one should often look at the documentation of the default question type because much of the documentation that is in the default class is not repeated in the other questiontype classes&lt;br /&gt;
&lt;br /&gt;
Constants are defined in &#039;&#039;&#039;constants.php&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
While questiontypes are realized as classes, the quiz module is not written in a truly object-oriented way. Instead it follows the Moodle model of using objects mostly only as alternatives to arrays to hold database records. So none of the quiz, question, attempt, and state objects that play a central role in the module have any methods. Only the questiontype objects have methods. Strangely enough the quiz module instantiates on object of each questiontype class at the start and then reuses their methods for the different questions. If one is used to the Moodle way of programming then this is easy enough to handle.&lt;br /&gt;
&lt;br /&gt;
==Objects and data structures==&lt;br /&gt;
&lt;br /&gt;
Key to understanding how the quiz module works is to understand the different kinds of object work together. The most important ones are:&lt;br /&gt;
&lt;br /&gt;
*Quizzes&lt;br /&gt;
*Questions&lt;br /&gt;
*Attempts&lt;br /&gt;
*States&lt;br /&gt;
&lt;br /&gt;
Quizzes and Questions are data created by the teacher when setting up and editing a quiz. Attempts and States are data created by the student when interacting with a quiz. &lt;br /&gt;
&lt;br /&gt;
Moodle allows students to make several attempts at a quiz. Data about such an attempt is stored in an attempt object. This holds for example how the quiz was randomized for this attempt and the ordering of the questions and answers. So attempts are indexed by user id and quiz id.&lt;br /&gt;
&lt;br /&gt;
Moodle allows students to interact repeatedly with a single question. So for example the student might initially just save an answer, later mark it, then correct it if it was marked incorrect. Each time the student interacts with a particular question inside a particular attempt at a quiz a new state is created. So states are indexed by user id, attempt id and question id.&lt;br /&gt;
&lt;br /&gt;
===Database structure===&lt;br /&gt;
All this data needs to be kept in Moodle&#039;s database. How this is achieved is explained on a separate page about the &#039;&#039;&#039;[[Quiz database structure]]&#039;&#039;&#039;, which also contains a useful diagram.&lt;br /&gt;
&lt;br /&gt;
As is customary in Moodle, most runtime objects simply represent the data from a particular database record. So for example a $quiz object has fields corresponding to all the fields in the [[Quiz database structure#quiz|quiz table]]. In some cases the objects have some additional fields that are added at runtime. This is particularly the case for $question and $state objects. These additional fields are also described on the page about the &#039;&#039;&#039;[[Quiz database structure]]&#039;&#039;&#039;. Many functions that are used to process these objects make use of the additional fields and it is therefore necessary to use the correct functions for creating these objects.&lt;br /&gt;
&lt;br /&gt;
===Runtime objects===&lt;br /&gt;
Some objects used by the quiz module are purely runtime object and do not correspond to a database table. The structure of these objects is explained in detail on a separate page about the &#039;&#039;&#039;[[Quiz runtime objects]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The main script of the quiz module is attempt.php which will have to deal with all these objects. Studying the &#039;&#039;&#039;[[Quiz attempt|explanation of attempt.php]]&#039;&#039;&#039; is therefore a good way to start to study the quiz module code.&lt;br /&gt;
&lt;br /&gt;
==Response storage==&lt;br /&gt;
&lt;br /&gt;
The student&#039;s responses to a question are stored in &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt;. Questiontypes are completely free to implement the storage mechanism of their responses (and other state information) the way they want. Still, the standard questiontypes all follow a similar model. The default storage model and the questiontype specific variations are explained below.&lt;br /&gt;
&lt;br /&gt;
The flexibility for the questiontypes to choose their response storage mechanism freely and to convert from the storage model to the runtime model is provided by a set of three functions, which allow to initialise the runtime &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; field, to convert from the runtime to the storage model and vice versa:&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;create_session_and_responses()&amp;lt;/code&amp;gt;&lt;br /&gt;
:Initializes the $state object, in particular the &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; field&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;restore_session_and_responses()&amp;lt;/code&amp;gt;&lt;br /&gt;
:Loads the question type specific session data from the database into the &amp;lt;code&amp;gt;$state&amp;lt;/code&amp;gt; object, in particular it loads the responses that have been saved for the given &amp;lt;code&amp;gt;$state&amp;lt;/code&amp;gt; into the &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; field.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;code&amp;gt;save_session_and_responses()&amp;lt;/code&amp;gt;&lt;br /&gt;
:Saves the question type specific session data from the $state object to the database. In particular, for most questiontypes, it saves the responses from the &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; to the database.&lt;br /&gt;
&lt;br /&gt;
The generic quiz module code saves the contents form the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$state-&amp;gt;responses[&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; field to the answer field in the [[Quiz database structure#quiz_states|quiz_states table]] and also automatically restores the contents of this field to &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$state-&amp;gt;responses[&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. This means that any questiontype, which only expects a single value as its response can skip the implementation of the three methods described above. All questiontypes that have multiple value responses need to implement these methods. &lt;br /&gt;
&lt;br /&gt;
The default questiontypes handle this problem by serializing/de-serializing the responses to/from the answer field in the quiz_states table. However, it is also possible (and may be better practice) to extend the quiz_states table with a questiontype specific table, i.e. take the id of the quiz_states record as a foreign key in the questiontype specific table. Because the value of &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$state-&amp;gt;responses[&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; is set to the value of the answer field, questiontypes that serialize their response need to overwrite (in &amp;lt;code&amp;gt;save_session_and_responses()&amp;lt;/code&amp;gt;) whatever value the generic code set this field to with their serialized value (usually achieved with a simple set_field). &lt;br /&gt;
&lt;br /&gt;
In the method &amp;lt;code&amp;gt;restore_session_and_responses()&amp;lt;/code&amp;gt; the serialized value can be read from &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;$state-&amp;gt;responses[&#039;&#039;]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; because this is where the value from answer field of the quiz_states table has been moved. Care needs to be taken that this array value is then unset or the whole array overwritten, so that the array does not accidentally contain a value with the empty string index.&lt;br /&gt;
&lt;br /&gt;
==Response processing==&lt;br /&gt;
&lt;br /&gt;
The runtime model for responses dictates the structure of the $state-&amp;gt;responses array. Starting with the names of the form elements this section goes through the relevant processing steps and thus attempts to clarify why the keys of the $state-&amp;gt;responses array can differ for different questiontypes; even more, it explains how the array keys are chosen and set.&lt;br /&gt;
&lt;br /&gt;
Although it may initially seem strange to start with the naming convention of the form fields, the reason for this will become clear later on. The controls (i.e. the form fields) of a question get printed by the method &amp;lt;code&amp;gt;print_question_formulation_and_controls()&amp;lt;/code&amp;gt;. The convention only dictates that the name of the control element(s) must begin with the value of &amp;lt;code&amp;gt;$question-&amp;gt;name_prefix&amp;lt;/code&amp;gt;. The &amp;lt;code&amp;gt;$question-&amp;gt;name_prefix&amp;lt;/code&amp;gt; is a string starting with &amp;quot;resp&amp;quot; followed by the question id and an underscore, e.g. &amp;lt;code&amp;gt;resp56_&amp;lt;/code&amp;gt;. In the default case, when there is only a single control element (this includes the case of a list of equally named radio buttons), no postfix is appended to the name prefix. For questiontypes that allow or require multiple form elements, an arbitrary string can be appended to the name prefix to form the name of these form elements. The postfix must not include any relational data (i.e. ids of records in the quiz_answers table), because this can lead to problems with regrading of versioned questions.&lt;br /&gt;
&lt;br /&gt;
After the printing of the question the server only sees it again when it is submitted. So the submitted data will contain several values indexed by strings starting with &amp;lt;code&amp;gt;respXX_&amp;lt;/code&amp;gt;. Upon submission, the function &amp;lt;code&amp;gt;quiz_process_responses()&amp;lt;/code&amp;gt; is called, which assigns the submitted responses to the state of the question with id XX, using the postfix (i.e. everything after the underscore) as array keys. In the default case with only one control element the name only consists of the name prefix. This explains why the default index of the &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; array is the empty string. The value of each array element is obviously the value that was submitted by the form, basically a raw response.&lt;br /&gt;
&lt;br /&gt;
The function &amp;lt;code&amp;gt;quiz_process_responses()&amp;lt;/code&amp;gt; in turn calls the questiontype specific method &amp;lt;code&amp;gt;grade_responses()&amp;lt;/code&amp;gt; to assign a grade to the submitted responses and &amp;lt;code&amp;gt;compare_responses()&amp;lt;/code&amp;gt; to determine whether the response was identical to the previous submission and to avoid regrading the same responses repeatedly. These questiontype specific functions need to be aware of the expected keys of the &amp;lt;code&amp;gt;$state-&amp;gt;responses&amp;lt;/code&amp;gt; array.&lt;br /&gt;
&lt;br /&gt;
Finally, the methods &amp;lt;code&amp;gt;restore_session_and_responses()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;save_session_and_responses()&amp;lt;/code&amp;gt; also need to know the questiontype specific layout of the &amp;lt;code&amp;gt;$state-&amp;gt;responses array&amp;lt;/code&amp;gt; and restore or save the information, e.g. by converting from or to the data representation.&lt;br /&gt;
&lt;br /&gt;
==Question types==&lt;br /&gt;
{{Questiontype developer docs}}&lt;br /&gt;
The quiz module is itself modular and allows question type plug-ins. For each question type there should be a page, accessible via the menu at the right, which provides at least the dtails about&lt;br /&gt;
*Database tables&lt;br /&gt;
*Response storage&lt;br /&gt;
*Question options object&lt;br /&gt;
*State options object&lt;br /&gt;
&lt;br /&gt;
It is hoped that Moodlers will contribute a lot of non-core question types in the future. For this it would be good to start a [[Guide to question type plugins]].&lt;br /&gt;
&lt;br /&gt;
==Grades==&lt;br /&gt;
&lt;br /&gt;
The handling of grades is a bit complicated because there are so many different grades around that get rescaled and combined in various ways. This section should summarize how this is done and why.&lt;br /&gt;
&lt;br /&gt;
The following grade fields are being used:&lt;br /&gt;
*$question-&amp;gt;defaultgrade&lt;br /&gt;
::This is the default value for the maximum grade for this question. This is set up when the teacher creates the question and it is stored in an int(10) field in the [[Quiz database structure#quiz_questions|quiz_questions]] table. However when the question is actually used in a particular quiz the teacher can overrule this default and this is stored in:&lt;br /&gt;
*$question-&amp;gt;maxgrade&lt;br /&gt;
::This is the maximum grade that the teacher has assigned to this question in the context of the current quiz. This is by default equal to $questions-&amp;gt;defaultgrade but the teacher can change this when editing the quiz. In the database it is stored in an int(10) field in the [[Quiz database structure#quiz_question_instances|quiz_question_instances table]].&lt;br /&gt;
*$question-&amp;gt;penalty&lt;br /&gt;
&lt;br /&gt;
*$state-&amp;gt;raw_grade&lt;br /&gt;
*$state-&amp;gt;grade&lt;br /&gt;
*$state-&amp;gt;penalty&lt;br /&gt;
*$state-&amp;gt;sumpenalty&lt;br /&gt;
&lt;br /&gt;
*$attempt-&amp;gt;sumgrades&lt;br /&gt;
&lt;br /&gt;
The maximum grades set by the teacher, $question-&amp;gt;defaultgrade and $question-&amp;gt;maxgrade, are integers. All student-obtained grades are in principle floating point numbers. For historical reasons they are stored in the database as varchar(10) fields. Care has to be taken when writing to the database to make sure all grades are correctly rounded and squeezed into a string of no more than 10 characters, otherwise the writing to database will fail, see bug 4220.&lt;br /&gt;
&lt;br /&gt;
The final outcome of the calculation of the grade for a user at a particular quiz is stored in the &#039;grade&#039; field of the [[Quiz database structure#quiz_grades|quiz_grades table]]. This field has type double.&lt;br /&gt;
&lt;br /&gt;
==Penalty mechanism==&lt;br /&gt;
&lt;br /&gt;
===What it is for===&lt;br /&gt;
&lt;br /&gt;
When the quiz is run in adaptive mode the student can interact with a question repeatedly. So in particular the student can try again when he gets a wrong answer. Clearly the final mark for the question must reflect the fact that the student did not get it right originally. Therefore a penalty is subtracted from the final mark.&lt;br /&gt;
&lt;br /&gt;
===How the penalty is determined===&lt;br /&gt;
&lt;br /&gt;
First of all penalties are relevant only if a quiz is run in adaptive mode. Only in this case can a student have a second attempt and therefore only in this mode can there be any occasion to subtract a penalty.&lt;br /&gt;
&lt;br /&gt;
Even in adaptive mode the penalty mechanism is only used when it is selected in the quiz options. If &amp;quot;Apply penalties&amp;quot; is set to &amp;quot;No&amp;quot; then the final mark for the question is the mark for the last graded response.&lt;br /&gt;
&lt;br /&gt;
Each question has a &#039;penalty&#039; field (which should really be called &#039;penaltyfactor&#039;) which is a number between 0 and 1. The penalty for a wrong response is calculated as the product ($quiz-&amp;gt;penalty * $quiz-&amp;gt;grade), i.e., as the product of the penaltyfactor with the maximum achievable grade for the question. This product is stored in $state-&amp;gt;penalty. So $quiz-&amp;gt;penalty is the fraction of the maximum grade that is subtracted as a penalty for each wrong response.&lt;br /&gt;
&lt;br /&gt;
The $quiz-&amp;gt;penalty field has a default value of 0.1, both in the database and in mod/quiz/defaults.php. This default can of course be overwritten by the admin on the quiz configuration page. This admin-selected default is (as usual for admin defaults) stored in $CFG-&amp;gt;quiz_penalty. The teacher can choose a different penalty factor for each individual question when adding or editing a question.&lt;br /&gt;
&lt;br /&gt;
Now if a student makes repeated wrong attempts (or partially correct attempts) the penalties for all these attempts are added up in $state-&amp;gt;sumpenalties. The mark for the question is then calculated as the mark for the last graded response minus the sum of the penalties.&lt;br /&gt;
&lt;br /&gt;
One curious fact about $state-&amp;gt;sumpenalties is that, for efficiency reasons, it is not stored in the quiz_states table but instead in the &#039;sumpenalty&#039; field of the quiz_newest_states table. That way it only has to be stored once per attempt rather than once per response.&lt;br /&gt;
&lt;br /&gt;
===Where it is done in the code===&lt;br /&gt;
&lt;br /&gt;
The function quiz_apply_penalty_and_timelimit() subtracts the penalty in $state-&amp;gt;sumpenalty from the raw grade in $state-&amp;gt;raw_grade to obtain $state-&amp;gt;grade for the response. However it is ensured that the grade of a new attempt at the question never falls below the previously achieved grade. This function also increases $state-&amp;gt;sumpenalty by the amount in $state-&amp;gt;penalty. The assumption is that $state-&amp;gt;penalty has just been set appropriately by the code calling this function, e.g., quiz_process_responses.&lt;br /&gt;
&lt;br /&gt;
==Time limit==&lt;br /&gt;
&lt;br /&gt;
A quiz can have a time limit. This is stored in minutes in $quiz-&amp;gt;timelimit. So before using this in time calculations it always has to be multiplied by 60 to turn it into seconds like all other timestamps in moodle and php. If $quiz-&amp;gt;timelimit is zero it means there is no timelimit.&lt;br /&gt;
&lt;br /&gt;
If a student asks to start an attempt on view.php for a quiz with a timelimit then he is shown a javascript message alerting him to the timelimit and is asked to confirm.&lt;br /&gt;
&lt;br /&gt;
For quizzes with timelimit attempt.php shows a javascript timer that counts down and automatically submits and closes the attempt when the time is up.&lt;br /&gt;
&lt;br /&gt;
Confusingly there are two javascript timers in the quiz module. jsclock.php provides a countdown in the title bar that counts down to the quiz closing time if this is less than a day away. This has nothing to do with the timelimit. jstimer.php provides the countdown timer that implements the timelimit. It in turn uses timer.js.&lt;br /&gt;
&lt;br /&gt;
The time a response was submitted by the student is recorded by attempt.php right at the top of the page and is then passed on to quiz_process_responses in $action-&amp;gt;timestamp. This puts it into $state-&amp;gt;timestamp. Finally, after the responses have been graded, the function quiz_apply_penalty_and_timelimit() checks that the responses are within the timelimit to within 5% and if not it sets the grade to zero (or the previously obtained grade, if that is higher).&lt;br /&gt;
&lt;br /&gt;
==Pagination==&lt;br /&gt;
&lt;br /&gt;
Quiz attempts can be paginated, i.e., spread over several pages. The student can navigate between the pages using the standard Moodle paging bar. When the student navigates to a different quiz page the answers on the current page are automatically submitted for saving (but not grading).&lt;br /&gt;
&lt;br /&gt;
To do this automatic submission the paging bar needs some javascript. It is therefore not produced with Moodle&#039;s standard print_paging_bar() function from weblib.php but with quiz_print_navigation_panel() which is defined in mod/quiz/locallib.php and produces something that looks the same.&lt;br /&gt;
&lt;br /&gt;
The teacher has complete control via the edit interface on edit.php over where the page breaks should occur. He can repaginate the quiz with any chosen number of questions per page. He can also move the page-breaks up and down using the arrows.&lt;br /&gt;
&lt;br /&gt;
Internally page breaks are stored in the $quiz-&amp;gt;questions field (which now should really be called $quiz-&amp;gt;layout). This field contains a comma separated list of questionids and pagebreaks where the pagebreaks are represented by the id 0. For example 23,12,0,11, 0 means that the two questions with ids 23 and 12 are on the first page and the question with id 11 is on the second page. The last page break is invisible and Moodle sometimes puts it there itself for its own convenience.&lt;br /&gt;
&lt;br /&gt;
Because the quiz has an option $quiz-&amp;gt;shufflequestions to shuffle questions the layout that the student sees in a particular attempt does not necessarily have to be the same as that stored in $quiz-&amp;gt;questions. Therefore each attempt has its own $attemp-&amp;gt;layout field. If $quiz-&amp;gt;shufflequestions is false then this just contains a copy of $quiz-&amp;gt;questions but if it is true then during the creation of a new attempt by quiz_create_attempt() the function quiz_repaginate() is used to produce a layout with $quiz-&amp;gt;questionsperpage number of questions per page that are randomly ordered.&lt;br /&gt;
&lt;br /&gt;
Both attempt.php and review.php use the $attempt-&amp;gt;layout field to determine what questions to show on a particular page. That way we can guarantee that the student will, for a particular attempt, always see the questions in the same order and with the same pagination, both while attempting and during review. Also a teacher when reviewing a student&#039;s attempt sees the pages the same way they were shown to the student. However the teacher is also given the option to see all questions on one page.&lt;br /&gt;
&lt;br /&gt;
There are some functions in locallib.php dedicated to handling the layout fields: quiz_questions_on_page(), quiz_questions_in_quiz(), quiz_number_of_pages(), quiz_first_questionnumber(), quiz_repaginate(). They are very short functions. The function quiz_first_questionnumber() that determines the number of the first question on a particular page makes use of the $question-&amp;gt;length field. To allow this calculation to be fast is the main reason why that field is in the question table even though it could also be determined easily from the question type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Question versioning==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Question versioning is currently disabled until it is re-developed to fix all reported issues.&lt;br /&gt;
&lt;br /&gt;
When questions that were already attempted by a student are edited, it can be important to keep a copy of the question as it was before editing in order to reconstruct the quiz as it was seen by the student. To provide this functionality a question versioning mechanism was implemented.&lt;br /&gt;
&lt;br /&gt;
The first goal, namely keeping around old questions, is easily achieved. They are just not deleted any more. However, this is not enough; it is also necessary to store which questions are versions of others. To achieve this goal, there is an additional table, which stores the versioning information: quiz_question_versions.&lt;br /&gt;
&lt;br /&gt;
When a question is replaced for which there are already student attempts then all the attempt data gets associated to the new version of the question and is re-graded. This requires the question ids in the quiz_attempts, quiz_states and quiz_newest_states tables to be replaced by the new id. However we do also want to be able to reconstruct the quiz the way the student saw it when he gave his answers. For that purpose the id of the original question is always preserved in the &#039;originalquestion&#039; field of the quiz_states table.&lt;br /&gt;
&lt;br /&gt;
If all old versions of questions are kept around this could horribly clutter the editing interface. Therefore a field called hidden was added to the quiz_questions table and all old versions of edited questions are automatically hidden. When this flag is set to 1 the question is not displayed in the list of available questions, unless the user chooses to show them.&lt;br /&gt;
&lt;br /&gt;
While the mechanism above should work as described, there is some additional complexity in order to minimise the number of versions created. If a question is created and has not been attempted by a student yet (this excludes teacher previews of the individual question and the quiz!), the database record will be reused (i.e. overwritten) and no new version will be created. This is especially important when the question is created and the first 2 or 3 mistakes are only noticed during preview.&lt;br /&gt;
&lt;br /&gt;
On the editing screen for questions an additional set of options was introduced (see image).&lt;br /&gt;
Replacement Options&lt;br /&gt;
It shows which quizzes use the edited question and how many students have attempted it in a particular quiz. Based on this information it is then possible to choose in which quizzes the new version of the question should be used and in which ones the old one should remain.&lt;br /&gt;
&lt;br /&gt;
By default the &#039;replace&#039; checkbox for all quizzes that don&#039;t have any students&#039; attempts are checked and in addition, if the question is edited out of a quiz context (i.e. not in the category question list), the &#039;replace&#039; option is checked for that quiz as well.&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
&lt;br /&gt;
The changes to the database structure are limited to an added field (hidden) in the quiz_questions table and an additional table called quiz_question_versions. However, dealing with the quiz_questions table has become slightly more complicated.&lt;br /&gt;
&lt;br /&gt;
The hidden field in the quiz_questions table has no implications for the core functionality. It is only used to determine, as the name implies, whether the question is shown in the category list or not.&lt;br /&gt;
&lt;br /&gt;
The table quiz_question_versions stores information about the actual change. This information includes the ids of the old question and the new question, the id of the user who did the change and a timestamp. Quite importantly, the id of the quiz, in which the question was replaced is also stored. This means that the versions table provides a history of the different states the quiz went through until it was edited to be at the current state. The information allows to recreate a quiz as it was at any point in time (from a data perspective - this possibility is not used extensively by the code).&lt;br /&gt;
&lt;br /&gt;
===Adjustments to the Data===&lt;br /&gt;
&lt;br /&gt;
When a question is replaced by a newer version, database records are updated in the order shown below (compare with question.php):&lt;br /&gt;
&lt;br /&gt;
* First a new record is inserted into the quiz_question_versions table for each affected quiz (i.e. each quiz in which the question was replaced).&lt;br /&gt;
* Then, for each affected quiz, the comma separated list of question ids in the question field is updated by replacing the old question id with the new one.&lt;br /&gt;
* In the quiz_question_instances table the record that links the old question to the quiz is also updated to point to the new question.&lt;br /&gt;
* In all attempts belonging to the old question the comma-separated list of question ids in the layout field are changed by replacing the old id by the new one.&lt;br /&gt;
* All states belonging to the old question are made to belong to the new version by changing the id in the &#039;question&#039; field. However if we are replacing the original question then the id of this original version is stored in the originalquestion field.&lt;br /&gt;
* We have to change the questionid field in quiz_newest_states.&lt;br /&gt;
* Finally we have to do any question-type specific changes. For example question types that store student responses by storing the id of the answer in the quiz_answers table will have to recode these ids in all the states to point to the corresponding answers in the new version. This is handled by the function replace_question_in_attempts() in the question type class.&lt;br /&gt;
&lt;br /&gt;
===Affected Code and Functionality===&lt;br /&gt;
&lt;br /&gt;
Note: This section should still be considered under construction until the question mark behind bug #3311 is taken off.&lt;br /&gt;
&lt;br /&gt;
In the file review.php and potentially also in the file attempt.php, if a question is edited during a student&#039;s attempt, the data from quiz_question_versions needs to be taken into account. If a student has attempted a quiz and a question was changed afterwards (i.e. a new version of that question was created), the question id of the old version remains in the comma separated list inside the attempt-&amp;gt;layout field. However, since the records in the quiz_question_instances table get updated, we need to go forward in the question history, by looping through entries from the quiz_question_versions table, to find out the id of the question version that is currently used in the quiz.&lt;br /&gt;
&lt;br /&gt;
Suggestion: With a fairly simple change to the convention of what is stored in the quiz_question_versions table we could get rid of the requirement of looping through all the versions. If in the newquestion field we store the id of the question that is currently used in the quiz, it would be possible to get the complete history for a question quite simply by selecting by quiz id and newquestion.&lt;br /&gt;
&lt;br /&gt;
It should be fairly simple to write an upgrade script for this change. Additionally, another set_field would need to be added to question.php to change the newquestion field to the new question id. The benefits would be a much simpler handling of the question history, resulting in more efficient code than the current fix for bug #3311 in review.php.&lt;br /&gt;
&lt;br /&gt;
The place where all the versioning actually takes place is question.php. Here the changes described in Adjustments to the Data are carried out.&lt;br /&gt;
&lt;br /&gt;
Obviously the backup and restore scripts also take quiz_question_versions into account, however, they don&#039;t need to be concerned with the ways the data is used.&lt;br /&gt;
&lt;br /&gt;
==Changes for Moodle 1.5: adaptive questions==&lt;br /&gt;
&lt;br /&gt;
During the first half of 2005 the quiz module code has undergone a considerable rewrite to allow for adaptive questions in which a question session can consist of several sequential student responses. The question can adapt itself to the student answers. For example in response to certain answers the question could provide feedback or hints and then ask the student to answer again or give the student a simpler or related question.&lt;br /&gt;
&lt;br /&gt;
Unfortunately many changes had to be made to the question type methods. This has however resulted in improved efficiency and has made the writing of question types easier. It also allows question types with more powerful features and has fixed some bugs / annoying behaviour. &lt;br /&gt;
&lt;br /&gt;
For details see:&lt;br /&gt;
*[[Quiz rewrite|Quiz module rewrite]]&lt;br /&gt;
*[[Quiz conversion|How to convert existing question types]]&lt;br /&gt;
&lt;br /&gt;
Of course there were countless other changes to the quiz module going from Moodle 1.4 to 1.5, especially to the teacher interface. However in spite of the fact that these changes are a lot more visible they were much less drastic from the point of view of the code. Here is a very incomplete list of changes:&lt;br /&gt;
&lt;br /&gt;
* New quiz results overview page&lt;br /&gt;
* Reform of the quiz edit page: Changes on the quiz edit page are saved straightaway, not only after Save button is pressed.&lt;br /&gt;
* Copying questions: The teacher can create a new question using a previous one as template.&lt;br /&gt;
* Moving questions: The teacher can now move selected questions to a different category.&lt;br /&gt;
* Re-marking after question editing: if a teacher corrects a question that students have already attempted the teacher can request a remark.&lt;br /&gt;
* Teacher preview tab.&lt;br /&gt;
* Detailed teacher control over what students can see during review.&lt;br /&gt;
&lt;br /&gt;
==Changes for Moodle 1.6: separating questions from quizzes==&lt;br /&gt;
&lt;br /&gt;
The quiz module is not the only activity module in Moodle that uses questions. The lesson does too and potentially questions could be useful in many modules. Therefore we have started to rewrite some  of the quiz module functions and move them from locallib.php to questionlib.php so that eventually they could be moved into a central library and be used by other modules. &lt;br /&gt;
&lt;br /&gt;
Module developers who want to use the &lt;br /&gt;
quiz module questions in their own module should take a look at the simple questiondemo module that you can find in CVS at [http://cvs.sourceforge.net/viewcvs.py/moodle/contrib/questiondemo contrib/questiondemo]. The idea is that it will be simpler&lt;br /&gt;
to understand this demonstration module than the code in the quiz module which&lt;br /&gt;
is very complicated due to the many options and features. The interesting code in the questiondemo module is in view.php. There you can see how to&lt;br /&gt;
both render and score questions. This module requires the version of the quiz module from Moodle 1.6dev or later.&lt;br /&gt;
&lt;br /&gt;
The details of the changes are explained on the page [[Separating questions from quizzes]].&lt;br /&gt;
&lt;br /&gt;
==Future plans==&lt;br /&gt;
&lt;br /&gt;
The features below are in no particular order:&lt;br /&gt;
&lt;br /&gt;
* Editing questions: This is about editing questions after students have already attempted them. There needs to be a mechanism to keep the old versions of the question around for auditing purposes.&lt;br /&gt;
* New quiz statistics pages?: These pages should be built by using functions defined by the individual question types.&lt;br /&gt;
* Manual grade override: Teachers should be able to override the automatically calculated grades and should be able to make comments.&lt;br /&gt;
* Off-line questions: The answers to these are handed in off-line in the conventional way (e.g., on paper) and teachers enter marks on Moodle.&lt;br /&gt;
* Batch printing of quiz sheets: We want to be able to hand out question sheets to students so they can start working on the questions before going to the computer.&lt;br /&gt;
* Question preview from question edit page: so the teacher can try the question already before saving the changes.&lt;br /&gt;
* Show table of questions on view.php: gives teachers and students a bit of an overview of the quiz.&lt;br /&gt;
* Extending deadlines for individual students: for example when a student misses a deadline for good reasons.&lt;br /&gt;
* Filtering questions by quiz and by search: More ways to restrict which questions are shown on the quiz editing page.&lt;br /&gt;
* Re-open quizzes for revision: After the due date has passed the quiz could allow practice attempts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Quiz]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Administrator_documentation&amp;diff=5686</id>
		<title>Administrator documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Administrator_documentation&amp;diff=5686"/>
		<updated>2006-02-18T14:52:30Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Site management ==&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
&lt;br /&gt;
*[[Installing Moodle]]&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installation FAQ]]&lt;br /&gt;
*[[Installing AMP|Installing Apache, MySQL and PHP]]&lt;br /&gt;
*[[Upgrading|Upgrading Moodle]]&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
&lt;br /&gt;
*[[admin/config|Variables]]&lt;br /&gt;
*[[admin/site|Site settings]]&lt;br /&gt;
*[[Themes]]&lt;br /&gt;
*[[admin/lang|Language]]&lt;br /&gt;
*[[admin/modules|Modules]]&lt;br /&gt;
*[[admin/blocks|Blocks]]&lt;br /&gt;
*[[admin/filters|Filters]]&lt;br /&gt;
*[[admin/backup|Backup]]&lt;br /&gt;
*[[admin/editor|Editor settings]]&lt;br /&gt;
*[[admin/calendar|Calendar]]&lt;br /&gt;
*[[admin/maintenance|Maintenance mode]]&lt;br /&gt;
&lt;br /&gt;
==== Performance ====&lt;br /&gt;
&lt;br /&gt;
*Please see [[Performance]]&lt;br /&gt;
*[[Large installations|List of large Moodle installations (1000 or more users)]]&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
*[[Security]]&lt;br /&gt;
&lt;br /&gt;
==== See also ====&lt;br /&gt;
&lt;br /&gt;
*[[Administration FAQ]]&lt;br /&gt;
*[[Backup FAQ]]&lt;br /&gt;
*[[Block layout]]&lt;br /&gt;
*[[CVS|CVS documentation]]&lt;br /&gt;
*[[Email processing]]&lt;br /&gt;
*[[Messaging]]&lt;br /&gt;
*[[Migration]]&lt;br /&gt;
*[[Search engine optimization]]&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
*[[Moodle manuals]]&lt;br /&gt;
*[[Administrator do&#039;s and don&#039;ts]]&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
&lt;br /&gt;
== Users ==&lt;br /&gt;
&lt;br /&gt;
*[[User Authentication|Authentication]]&lt;br /&gt;
*[[admin/uploaduser|Upload users]]&lt;br /&gt;
*[[admin/enrol|Enrolments]]&lt;br /&gt;
*[[admin/admin|Assign admins]]&lt;br /&gt;
&lt;br /&gt;
==Course management==&lt;br /&gt;
&lt;br /&gt;
*[[Course Categories|Course categories]]&lt;br /&gt;
*[[Metacourses]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Administrator]]&lt;br /&gt;
[[es:Documentación para Administradores]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Administrator_documentation&amp;diff=5685</id>
		<title>Administrator documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Administrator_documentation&amp;diff=5685"/>
		<updated>2006-02-18T14:51:23Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Site management ==&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
&lt;br /&gt;
*[[Installing Moodle]]&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installation FAQ]]&lt;br /&gt;
*[[Installing AMP|Installing Apache, MySQL and PHP]]&lt;br /&gt;
*[[Upgrading|Upgrading Moodle]]&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
&lt;br /&gt;
*[[admin/config|Variables]]&lt;br /&gt;
*[[admin/site|Site settings]]&lt;br /&gt;
*[[Themes]]&lt;br /&gt;
*[[admin/lang|Language]]&lt;br /&gt;
*[[admin/modules|Modules]]&lt;br /&gt;
*[[admin/blocks|Blocks]]&lt;br /&gt;
*[[admin/filters|Filters]]&lt;br /&gt;
*[[admin/backup|Backup]]&lt;br /&gt;
*[[admin/editor|Editor settings]]&lt;br /&gt;
*[[admin/calendar|Calendar]]&lt;br /&gt;
*[[admin/maintenance|Maintenance mode]]&lt;br /&gt;
&lt;br /&gt;
==== Performance ====&lt;br /&gt;
&lt;br /&gt;
*Please see [[Performance]]&lt;br /&gt;
*[[Large installations|List of large Moodle installations (1000 or more users)]]&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
*[[Security]]&lt;br /&gt;
&lt;br /&gt;
==== See also ====&lt;br /&gt;
&lt;br /&gt;
*[[Administration FAQ]]&lt;br /&gt;
*[[Backup FAQ]]&lt;br /&gt;
*[[Block layout]]&lt;br /&gt;
*[[CVS|CVS documentation]]&lt;br /&gt;
*[[Email processing]]&lt;br /&gt;
*[[Messaging]]&lt;br /&gt;
*[[Migration]]&lt;br /&gt;
*[[Search engine optimization]]&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
*[[Moodle manuals]]&lt;br /&gt;
*[[Administartion do&#039;s and don&#039;ts]]&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
&lt;br /&gt;
== Users ==&lt;br /&gt;
&lt;br /&gt;
*[[User Authentication|Authentication]]&lt;br /&gt;
*[[admin/uploaduser|Upload users]]&lt;br /&gt;
*[[admin/enrol|Enrolments]]&lt;br /&gt;
*[[admin/admin|Assign admins]]&lt;br /&gt;
&lt;br /&gt;
==Course management==&lt;br /&gt;
&lt;br /&gt;
*[[Course Categories|Course categories]]&lt;br /&gt;
*[[Metacourses]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Administrator]]&lt;br /&gt;
[[es:Documentación para Administradores]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Moodle_in_education&amp;diff=5682</id>
		<title>Moodle in education</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Moodle_in_education&amp;diff=5682"/>
		<updated>2006-02-18T14:50:13Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Activity modules==&lt;br /&gt;
*[[mod/assignment/index|Assignments]]&lt;br /&gt;
*[[Chats]]&lt;br /&gt;
*[[mod/choice/index|Choices]]&lt;br /&gt;
*[[Forums]]&lt;br /&gt;
*[[mod/glossary/index|Glossaries]]&lt;br /&gt;
*[[mod/hotpot/index|Hot Potatoes]]&lt;br /&gt;
*[[Lessons]]&lt;br /&gt;
*[[Quizzes]]&lt;br /&gt;
*[[mod/scorm/index|SCORM]]&lt;br /&gt;
*[[mod/survey/index|Surveys]]&lt;br /&gt;
*[[Wikis]]&lt;br /&gt;
*[[Workshops]]&lt;br /&gt;
*[[Non-standard modules]]&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
*[[mod/resource/index|About resources]]&lt;br /&gt;
*[[course/mod/text|Text page]]&lt;br /&gt;
*[[course/mod/html|Web page]]&lt;br /&gt;
*[[course/mod/file|File or website link]]&lt;br /&gt;
*[[course/mod/directory|Directory]]&lt;br /&gt;
*[[course/mod/label|Label]]&lt;br /&gt;
&lt;br /&gt;
==Blocks==&lt;br /&gt;
*[[Blocks (teacher)|About blocks]]&lt;br /&gt;
*[[Activities]]&lt;br /&gt;
*[[Administration]]&lt;br /&gt;
*[[Calendar (teacher)|Calendar]]&lt;br /&gt;
*[[Courses]]&lt;br /&gt;
*[[Course/Site Description]]&lt;br /&gt;
*[[HTML]]&lt;br /&gt;
*[[Latest News]]&lt;br /&gt;
*[[Messages]]&lt;br /&gt;
*[[Online Users]]&lt;br /&gt;
*[[People]]&lt;br /&gt;
*[[Quiz Results]]&lt;br /&gt;
*[[Random Glossary Entry]]&lt;br /&gt;
*[[Recent Activity]]&lt;br /&gt;
*[[RSS feeds]]&lt;br /&gt;
*[[Search Forums]]&lt;br /&gt;
*[[Section Links]]&lt;br /&gt;
*[[Upcoming Events]]&lt;br /&gt;
*[[Non-standard blocks]]&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
[[Gradebook]] &lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Teaching with Moodle]]&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
*[[course/view|The course homepage]]&lt;br /&gt;
*[[Course sections]]&lt;br /&gt;
*[[Formatting options]]&lt;br /&gt;
*[[HTML in Moodle]]&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
*[[Moodle manuals]]&lt;br /&gt;
*[[Adding resources and activities|Adding resources and activities to your course]]&lt;br /&gt;
*[[Teaching FAQ]]&lt;br /&gt;
*[[Teaching Best Practices (K-12) | Teaching with Moodle - Good Practices (K-12)]]&lt;br /&gt;
*[[Teaching do&#039;s and don&#039;ts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;br /&gt;
[[es:Documentación para Profesores]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:Davidds&amp;diff=5508</id>
		<title>Användare:Davidds</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:Davidds&amp;diff=5508"/>
		<updated>2006-02-17T01:59:07Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Redirect to David_Delgado&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[User:David Delgado]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=5493</id>
		<title>Användare:David Delgado</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Anv%C3%A4ndare:David_Delgado&amp;diff=5493"/>
		<updated>2006-02-16T23:57:26Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Reconstruction of the page that dissapeared because of the admin changing my username&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt;David Delgado&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Daviddswiki.jpg]]&lt;br /&gt;
&lt;br /&gt;
E-learning systems developer.&lt;br /&gt;
&lt;br /&gt;
Please take a look at my [http://moodle.org/user/view.php?id=4920&amp;amp;course=5 Profile] at [http://moodle.org http://moodle.org].&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5464</id>
		<title>Security recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5464"/>
		<updated>2006-02-16T10:43:19Z</updated>

		<summary type="html">&lt;p&gt;Davidds: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;Maybe we should take a look at the security in this &amp;quot;Security&amp;quot; page. :-/ Should it be a protected page maintained directly by http://security.moodle.org? Please, give us your opinion on this in the &amp;quot;page comments&amp;quot; label in this page.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All web application software is highly complex, and every application has security issues that are found from time to time, usually involving some conbination of input that the programmers did not anticipate. The Moodle project takes security seriously, and is continuously improving Moodle to close such holes as we find them.&lt;br /&gt;
&lt;br /&gt;
==Before all==&lt;br /&gt;
*In this document, you will find important security measures for your Moodle installation.&lt;br /&gt;
*You should report security problems directly at http://security.moodle.org - because developers might overlook it elsewhere, and they must not be released to general public until they are solved (to prevent attacks).&lt;br /&gt;
*You should not post actual exploits in the bugtracker or forums, for exactly the same reasons.&lt;br /&gt;
&lt;br /&gt;
==Simple security measures==&lt;br /&gt;
*The best security strategy is a good backup! But you don&#039;t have a good backup unless you are able to restore it. Test your restoration procedures!&lt;br /&gt;
*Load only software or services you will use&lt;br /&gt;
*Perform regular updates&lt;br /&gt;
*Model your security after the layers of clothing you wear on a cold winter day&lt;br /&gt;
&lt;br /&gt;
==Basic recommendations==&lt;br /&gt;
*Update Moodle regularly on each release&lt;br /&gt;
**Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.&lt;br /&gt;
*Disable register globals&lt;br /&gt;
**This will help prevent against possible XSS problems in third-party scripts.&lt;br /&gt;
*Use strong passwords for admin and teachers&lt;br /&gt;
**Choosing &amp;quot;difficult&amp;quot; passwords is a basic security practice to protect against &amp;quot;brute force&amp;quot; cracking of accounts.&lt;br /&gt;
*Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.&lt;br /&gt;
**Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.&lt;br /&gt;
*Separate your systems as much as possible&lt;br /&gt;
**Another basic security technique is to use different passwords on different systems, use different machines for different services and so on.  This will prevent damage being widespread even if one account or one server is compromised.&lt;br /&gt;
&lt;br /&gt;
==Run regular updates==&lt;br /&gt;
*Use auto update systems&lt;br /&gt;
*Windows Update &lt;br /&gt;
*Linux: up2date, yum, apt-get&lt;br /&gt;
**Consider automating updates with a script scheduled via cron &lt;br /&gt;
*Mac OSX update system&lt;br /&gt;
*Stay current with php, apache, and moodle&lt;br /&gt;
&lt;br /&gt;
==Use mailing lists to stay updated==&lt;br /&gt;
*CERT &lt;br /&gt;
**http://www.us-cert.gov/cas/signup.html&lt;br /&gt;
*PHP&lt;br /&gt;
**http://www.php.net/mailing-lists.php&lt;br /&gt;
**Sign up for Announcements list&lt;br /&gt;
*MySQL&lt;br /&gt;
**http://lists.mysql.com&lt;br /&gt;
**Sign up for MySQL Announcements&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
*Security experts recommend a dual firewall&lt;br /&gt;
**Differing hardware/software combinations &lt;br /&gt;
*Disabling unused services is often as effective as a firewall&lt;br /&gt;
**Use netstat -a to review open network ports&lt;br /&gt;
*Not a guarantee of protection&lt;br /&gt;
*Allow ports &lt;br /&gt;
**80, 443(ssl), and 9111 (for chat), &lt;br /&gt;
**Remote admin: ssh 22, or rpd 3389&lt;br /&gt;
&lt;br /&gt;
==Be prepared for the worst==&lt;br /&gt;
*Have backups ready &lt;br /&gt;
*Practice recovery procedures ahead of time &lt;br /&gt;
*Use a rootkit detector on a regular basis &lt;br /&gt;
**Linux/MacOSX: &lt;br /&gt;
***http://www.chkrootkit.org/ &lt;br /&gt;
**Windows: 						&lt;br /&gt;
***http://www.sysinternals.com/Utilities/RootkitRevealer.html&lt;br /&gt;
&lt;br /&gt;
==Moodle security alerts==&lt;br /&gt;
*Register your site with Moodle.org&lt;br /&gt;
**Registered users receive email alerts&lt;br /&gt;
*Security alerts also posted online&lt;br /&gt;
*Web&lt;br /&gt;
**http://security.moodle.org/ &lt;br /&gt;
*RSS feed&lt;br /&gt;
**http://security.moodle.org/rss/file.php/1/1/forum/1/rss.xml&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous considerations==&lt;br /&gt;
*These are all things you might consider that impact your overall security&lt;br /&gt;
*Turn off opentogoogle, esp for K12 sites&lt;br /&gt;
*Use SSL, httpslogins=yes&lt;br /&gt;
*Disable guest access&lt;br /&gt;
*Place enrollment keys on all courses&lt;br /&gt;
*Use good passwords&lt;br /&gt;
*Use the secure forms setting&lt;br /&gt;
*Set the mysql root user password&lt;br /&gt;
*Turn off mysql network access&lt;br /&gt;
&lt;br /&gt;
==Most secure/paranoid file permissions==&lt;br /&gt;
 Assuming you are running this on a sealed server (i.e. no user logins allowed on the machine) and that root takes care of the modifications to both moodle code and moodle config (config.php), then this are the most tight permissions I can think of:&lt;br /&gt;
&lt;br /&gt;
  1.- moodledata directory and all of its contents (and subdirs, includes sessions):&lt;br /&gt;
            owner: apache user (apache, httpd, www-data, whatever).&lt;br /&gt;
            group: apache group (apache, httpd, www-data, whatever)&lt;br /&gt;
            perms: 700 on directories, 600 on files.&lt;br /&gt;
&lt;br /&gt;
  2.- moodle directory and all of its contents and subdirs (including config.php):&lt;br /&gt;
            owner: root&lt;br /&gt;
            group: root&lt;br /&gt;
            perms: 755 on directories, 644 on files.&lt;br /&gt;
&lt;br /&gt;
If you allow local logins, then 2.- should be:&lt;br /&gt;
          owner: root&lt;br /&gt;
          group: apache group&lt;br /&gt;
          perms: 750 on directories, 640 on files&lt;br /&gt;
&lt;br /&gt;
Think of these permissions as the most paranoid ones. You can be secure enough with less tighter permissions, both in moodledata and moodle directories (and subdirectories).&lt;br /&gt;
&lt;br /&gt;
==Running Moodle with PHP safe_mode=on==&lt;br /&gt;
&lt;br /&gt;
Does any security guru dare to document that? I think it is possible to do that (both to run Moodle with safe_mode=on and to write the document). ;-)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=39404 &amp;quot;Guide to Securing your Moodle Server&amp;quot; discussion] at [http://moodle.org http://moodle.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5463</id>
		<title>Security recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5463"/>
		<updated>2006-02-16T10:42:34Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* Most secure/paranoid file permissions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;Maybe we should take a look at the security in this &amp;quot;Security&amp;quot; page. :-/ Should it be a protected page maintained directly by http://security.moodle.org? Please, give us your opinion on this in the &amp;quot;page comments&amp;quot; label in this page.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All web application software is highly complex, and every application has security issues that are found from time to time, usually involving some conbination of input that the programmers did not anticipate. The Moodle project takes security seriously, and is continuously improving Moodle to close such holes as we find them.&lt;br /&gt;
&lt;br /&gt;
==Before all==&lt;br /&gt;
*In this document, you will find important security measures for your Moodle installation.&lt;br /&gt;
*You should report security problems directly at http://security.moodle.org - because developers might overlook it elsewhere, and they must not be released to general public until they are solved (to prevent attacks).&lt;br /&gt;
*You should not post actual exploits in the bugtracker or forums, for exactly the same reasons.&lt;br /&gt;
&lt;br /&gt;
==Simple security measures==&lt;br /&gt;
*The best security strategy is a good backup! But you don&#039;t have a good backup unless you are able to restore it. Test your restoration procedures!&lt;br /&gt;
*Load only software or services you will use&lt;br /&gt;
*Perform regular updates&lt;br /&gt;
*Model your security after the layers of clothing you wear on a cold winter day&lt;br /&gt;
&lt;br /&gt;
==Basic recommendations==&lt;br /&gt;
*Update Moodle regularly on each release&lt;br /&gt;
**Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.&lt;br /&gt;
*Disable register globals&lt;br /&gt;
**This will help prevent against possible XSS problems in third-party scripts.&lt;br /&gt;
*Use strong passwords for admin and teachers&lt;br /&gt;
**Choosing &amp;quot;difficult&amp;quot; passwords is a basic security practice to protect against &amp;quot;brute force&amp;quot; cracking of accounts.&lt;br /&gt;
*Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.&lt;br /&gt;
**Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.&lt;br /&gt;
*Separate your systems as much as possible&lt;br /&gt;
**Another basic security technique is to use different passwords on different systems, use different machines for different services and so on.  This will prevent damage being widespread even if one account or one server is compromised.&lt;br /&gt;
&lt;br /&gt;
==Run regular updates==&lt;br /&gt;
*Use auto update systems&lt;br /&gt;
*Windows Update &lt;br /&gt;
*Linux: up2date, yum, apt-get&lt;br /&gt;
**Consider automating updates with a script scheduled via cron &lt;br /&gt;
*Mac OSX update system&lt;br /&gt;
*Stay current with php, apache, and moodle&lt;br /&gt;
&lt;br /&gt;
==Use mailing lists to stay updated==&lt;br /&gt;
*CERT &lt;br /&gt;
**http://www.us-cert.gov/cas/signup.html&lt;br /&gt;
*PHP&lt;br /&gt;
**http://www.php.net/mailing-lists.php&lt;br /&gt;
**Sign up for Announcements list&lt;br /&gt;
*MySQL&lt;br /&gt;
**http://lists.mysql.com&lt;br /&gt;
**Sign up for MySQL Announcements&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
*Security experts recommend a dual firewall&lt;br /&gt;
**Differing hardware/software combinations &lt;br /&gt;
*Disabling unused services is often as effective as a firewall&lt;br /&gt;
**Use netstat -a to review open network ports&lt;br /&gt;
*Not a guarantee of protection&lt;br /&gt;
*Allow ports &lt;br /&gt;
**80, 443(ssl), and 9111 (for chat), &lt;br /&gt;
**Remote admin: ssh 22, or rpd 3389&lt;br /&gt;
&lt;br /&gt;
==Be prepared for the worst==&lt;br /&gt;
*Have backups ready &lt;br /&gt;
*Practice recovery procedures ahead of time &lt;br /&gt;
*Use a rootkit detector on a regular basis &lt;br /&gt;
**Linux/MacOSX: &lt;br /&gt;
***http://www.chkrootkit.org/ &lt;br /&gt;
**Windows: 						&lt;br /&gt;
***http://www.sysinternals.com/Utilities/RootkitRevealer.html&lt;br /&gt;
&lt;br /&gt;
==Moodle security alerts==&lt;br /&gt;
*Register your site with Moodle.org&lt;br /&gt;
**Registered users receive email alerts&lt;br /&gt;
*Security alerts also posted online&lt;br /&gt;
*Web&lt;br /&gt;
**http://security.moodle.org/ &lt;br /&gt;
*RSS feed&lt;br /&gt;
**http://security.moodle.org/rss/file.php/1/1/forum/1/rss.xml&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous considerations==&lt;br /&gt;
*These are all things you might consider that impact your overall security&lt;br /&gt;
*Turn off opentogoogle, esp for K12 sites&lt;br /&gt;
*Use SSL, httpslogins=yes&lt;br /&gt;
*Disable guest access&lt;br /&gt;
*Place enrollment keys on all courses&lt;br /&gt;
*Use good passwords&lt;br /&gt;
*Use the secure forms setting&lt;br /&gt;
*Set the mysql root user password&lt;br /&gt;
*Turn off mysql network access&lt;br /&gt;
&lt;br /&gt;
==Most secure/paranoid file permissions==&lt;br /&gt;
 Assuming you are running this on a sealed server (i.e. no user logins allowed on the machine) and that root&lt;br /&gt;
takes care of the modifications to both moodle code and moodle config (config.php), &lt;br /&gt;
then this are the most tight permissions I can think of:&lt;br /&gt;
&lt;br /&gt;
  1.- moodledata directory and all of its contents (and subdirs, includes sessions):&lt;br /&gt;
            owner: apache user (apache, httpd, www-data, whatever).&lt;br /&gt;
            group: apache group (apache, httpd, www-data, whatever)&lt;br /&gt;
            perms: 700 on directories, 600 on files.&lt;br /&gt;
&lt;br /&gt;
  2.- moodle directory and all of its contents and subdirs (including config.php):&lt;br /&gt;
            owner: root&lt;br /&gt;
            group: root&lt;br /&gt;
            perms: 755 on directories, 644 on files.&lt;br /&gt;
&lt;br /&gt;
If you allow local logins, then 2.- should be:&lt;br /&gt;
          owner: root&lt;br /&gt;
          group: apache group&lt;br /&gt;
          perms: 750 on directories, 640 on files&lt;br /&gt;
&lt;br /&gt;
Think of these permissions as the most paranoid ones. You can be secure enough with less tighter permissions, both in moodledata and moodle directories (and subdirectories).&lt;br /&gt;
&lt;br /&gt;
==Running Moodle with PHP safe_mode=on==&lt;br /&gt;
&lt;br /&gt;
Does any security guru dare to document that? I think it is possible to do that (both to run Moodle with safe_mode=on and to write the document). ;-)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=39404 &amp;quot;Guide to Securing your Moodle Server&amp;quot; discussion] at [http://moodle.org http://moodle.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5365</id>
		<title>Security recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5365"/>
		<updated>2006-02-14T20:30:59Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* Running Moodle with PHP safe_mode=on */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;Maybe we should take a look at the security in this &amp;quot;Security&amp;quot; page. :-/ Should it be a protected page maintained directly by http://security.moodle.org? Please, give us your opinion on this in the &amp;quot;page comments&amp;quot; label in this page.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All web application software is highly complex, and every application has security issues that are found from time to time, usually involving some conbination of input that the programmers did not anticipate. The Moodle project takes security seriously, and is continuously improving Moodle to close such holes as we find them.&lt;br /&gt;
&lt;br /&gt;
==Before all==&lt;br /&gt;
*In this document, you will find important security measures for your Moodle installation.&lt;br /&gt;
*You should report security problems directly at http://security.moodle.org - because developers might overlook it elsewhere, and they must not be released to general public until they are solved (to prevent attacks).&lt;br /&gt;
*You should not post actual exploits in the bugtracker or forums, for exactly the same reasons.&lt;br /&gt;
&lt;br /&gt;
==Simple security measures==&lt;br /&gt;
*The best security strategy is a good backup! But you don&#039;t have a good backup unless you are able to restore it. Test your restoration procedures!&lt;br /&gt;
*Load only software or services you will use&lt;br /&gt;
*Perform regular updates&lt;br /&gt;
*Model your security after the layers of clothing you wear on a cold winter day&lt;br /&gt;
&lt;br /&gt;
==Basic recommendations==&lt;br /&gt;
*Update Moodle regularly on each release&lt;br /&gt;
**Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.&lt;br /&gt;
*Disable register globals&lt;br /&gt;
**This will help prevent against possible XSS problems in third-party scripts.&lt;br /&gt;
*Use strong passwords for admin and teachers&lt;br /&gt;
**Choosing &amp;quot;difficult&amp;quot; passwords is a basic security practice to protect against &amp;quot;brute force&amp;quot; cracking of accounts.&lt;br /&gt;
*Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.&lt;br /&gt;
**Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.&lt;br /&gt;
*Separate your systems as much as possible&lt;br /&gt;
**Another basic security technique is to use different passwords on different systems, use different machines for different services and so on.  This will prevent damage being widespread even if one account or one server is compromised.&lt;br /&gt;
&lt;br /&gt;
==Run regular updates==&lt;br /&gt;
*Use auto update systems&lt;br /&gt;
*Windows Update &lt;br /&gt;
*Linux: up2date, yum, apt-get&lt;br /&gt;
**Consider automating updates with a script scheduled via cron &lt;br /&gt;
*Mac OSX update system&lt;br /&gt;
*Stay current with php, apache, and moodle&lt;br /&gt;
&lt;br /&gt;
==Use mailing lists to stay updated==&lt;br /&gt;
*CERT &lt;br /&gt;
**http://www.us-cert.gov/cas/signup.html&lt;br /&gt;
*PHP&lt;br /&gt;
**http://www.php.net/mailing-lists.php&lt;br /&gt;
**Sign up for Announcements list&lt;br /&gt;
*MySQL&lt;br /&gt;
**http://lists.mysql.com&lt;br /&gt;
**Sign up for MySQL Announcements&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
*Security experts recommend a dual firewall&lt;br /&gt;
**Differing hardware/software combinations &lt;br /&gt;
*Disabling unused services is often as effective as a firewall&lt;br /&gt;
**Use netstat -a to review open network ports&lt;br /&gt;
*Not a guarantee of protection&lt;br /&gt;
*Allow ports &lt;br /&gt;
**80, 443(ssl), and 9111 (for chat), &lt;br /&gt;
**Remote admin: ssh 22, or rpd 3389&lt;br /&gt;
&lt;br /&gt;
==Be prepared for the worst==&lt;br /&gt;
*Have backups ready &lt;br /&gt;
*Practice recovery procedures ahead of time &lt;br /&gt;
*Use a rootkit detector on a regular basis &lt;br /&gt;
**Linux/MacOSX: &lt;br /&gt;
***http://www.chkrootkit.org/ &lt;br /&gt;
**Windows: 						&lt;br /&gt;
***http://www.sysinternals.com/Utilities/RootkitRevealer.html&lt;br /&gt;
&lt;br /&gt;
==Moodle security alerts==&lt;br /&gt;
*Register your site with Moodle.org&lt;br /&gt;
**Registered users receive email alerts&lt;br /&gt;
*Security alerts also posted online&lt;br /&gt;
*Web&lt;br /&gt;
**http://security.moodle.org/ &lt;br /&gt;
*RSS feed&lt;br /&gt;
**http://security.moodle.org/rss/file.php/1/1/forum/1/rss.xml&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous considerations==&lt;br /&gt;
*These are all things you might consider that impact your overall security&lt;br /&gt;
*Turn off opentogoogle, esp for K12 sites&lt;br /&gt;
*Use SSL, httpslogins=yes&lt;br /&gt;
*Disable guest access&lt;br /&gt;
*Place enrollment keys on all courses&lt;br /&gt;
*Use good passwords&lt;br /&gt;
*Use the secure forms setting&lt;br /&gt;
*Set the mysql root user password&lt;br /&gt;
*Turn off mysql network access&lt;br /&gt;
&lt;br /&gt;
==Most secure/paranoid file permissions==&lt;br /&gt;
 Assuming you are running this on a sealed server (i.e. no user logins allowed on the machine) and that root takes care of the modifications to both moodle code and moodle config (config.php), then this are the most tight permissions I can think of:&lt;br /&gt;
&lt;br /&gt;
  1.- moodledata directory and all of its contents (and subdirs, includes sessions):&lt;br /&gt;
            owner: apache user (apache, httpd, www-data, whatever).&lt;br /&gt;
            group: apache group (apache, httpd, www-data, whatever)&lt;br /&gt;
            perms: 700 on directories, 600 on files.&lt;br /&gt;
&lt;br /&gt;
  2.- moodle directory and all of its contents and subdirs (including config.php):&lt;br /&gt;
            owner: root&lt;br /&gt;
            group: root&lt;br /&gt;
            perms: 755 on directories, 644 on files.&lt;br /&gt;
&lt;br /&gt;
If you allow local logins, then 2.- should be:&lt;br /&gt;
          owner: root&lt;br /&gt;
          group: apache group&lt;br /&gt;
          perms: 750 on directories, 640 on files&lt;br /&gt;
&lt;br /&gt;
Think of these permissions as the most paranoid ones. You can be secure enough with less tighter permissions, both in moodledata and moodle directories (and subdirectories).&lt;br /&gt;
&lt;br /&gt;
==Running Moodle with PHP safe_mode=on==&lt;br /&gt;
&lt;br /&gt;
Does any security guru dare to document that? I think it is possible to do that (both to run Moodle with safe_mode=on and to write the document). ;-)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=39404 &amp;quot;Guide to Securing your Moodle Server&amp;quot; discussion] at [http://moodle.org http://moodle.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5364</id>
		<title>Security recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5364"/>
		<updated>2006-02-14T20:30:10Z</updated>

		<summary type="html">&lt;p&gt;Davidds: safe_mode=on&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;Maybe we should take a look at the security in this &amp;quot;Security&amp;quot; page. :-/ Should it be a protected page maintained directly by http://security.moodle.org? Please, give us your opinion on this in the &amp;quot;page comments&amp;quot; label in this page.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All web application software is highly complex, and every application has security issues that are found from time to time, usually involving some conbination of input that the programmers did not anticipate. The Moodle project takes security seriously, and is continuously improving Moodle to close such holes as we find them.&lt;br /&gt;
&lt;br /&gt;
==Before all==&lt;br /&gt;
*In this document, you will find important security measures for your Moodle installation.&lt;br /&gt;
*You should report security problems directly at http://security.moodle.org - because developers might overlook it elsewhere, and they must not be released to general public until they are solved (to prevent attacks).&lt;br /&gt;
*You should not post actual exploits in the bugtracker or forums, for exactly the same reasons.&lt;br /&gt;
&lt;br /&gt;
==Simple security measures==&lt;br /&gt;
*The best security strategy is a good backup! But you don&#039;t have a good backup unless you are able to restore it. Test your restoration procedures!&lt;br /&gt;
*Load only software or services you will use&lt;br /&gt;
*Perform regular updates&lt;br /&gt;
*Model your security after the layers of clothing you wear on a cold winter day&lt;br /&gt;
&lt;br /&gt;
==Basic recommendations==&lt;br /&gt;
*Update Moodle regularly on each release&lt;br /&gt;
**Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.&lt;br /&gt;
*Disable register globals&lt;br /&gt;
**This will help prevent against possible XSS problems in third-party scripts.&lt;br /&gt;
*Use strong passwords for admin and teachers&lt;br /&gt;
**Choosing &amp;quot;difficult&amp;quot; passwords is a basic security practice to protect against &amp;quot;brute force&amp;quot; cracking of accounts.&lt;br /&gt;
*Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.&lt;br /&gt;
**Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.&lt;br /&gt;
*Separate your systems as much as possible&lt;br /&gt;
**Another basic security technique is to use different passwords on different systems, use different machines for different services and so on.  This will prevent damage being widespread even if one account or one server is compromised.&lt;br /&gt;
&lt;br /&gt;
==Run regular updates==&lt;br /&gt;
*Use auto update systems&lt;br /&gt;
*Windows Update &lt;br /&gt;
*Linux: up2date, yum, apt-get&lt;br /&gt;
**Consider automating updates with a script scheduled via cron &lt;br /&gt;
*Mac OSX update system&lt;br /&gt;
*Stay current with php, apache, and moodle&lt;br /&gt;
&lt;br /&gt;
==Use mailing lists to stay updated==&lt;br /&gt;
*CERT &lt;br /&gt;
**http://www.us-cert.gov/cas/signup.html&lt;br /&gt;
*PHP&lt;br /&gt;
**http://www.php.net/mailing-lists.php&lt;br /&gt;
**Sign up for Announcements list&lt;br /&gt;
*MySQL&lt;br /&gt;
**http://lists.mysql.com&lt;br /&gt;
**Sign up for MySQL Announcements&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
*Security experts recommend a dual firewall&lt;br /&gt;
**Differing hardware/software combinations &lt;br /&gt;
*Disabling unused services is often as effective as a firewall&lt;br /&gt;
**Use netstat -a to review open network ports&lt;br /&gt;
*Not a guarantee of protection&lt;br /&gt;
*Allow ports &lt;br /&gt;
**80, 443(ssl), and 9111 (for chat), &lt;br /&gt;
**Remote admin: ssh 22, or rpd 3389&lt;br /&gt;
&lt;br /&gt;
==Be prepared for the worst==&lt;br /&gt;
*Have backups ready &lt;br /&gt;
*Practice recovery procedures ahead of time &lt;br /&gt;
*Use a rootkit detector on a regular basis &lt;br /&gt;
**Linux/MacOSX: &lt;br /&gt;
***http://www.chkrootkit.org/ &lt;br /&gt;
**Windows: 						&lt;br /&gt;
***http://www.sysinternals.com/Utilities/RootkitRevealer.html&lt;br /&gt;
&lt;br /&gt;
==Moodle security alerts==&lt;br /&gt;
*Register your site with Moodle.org&lt;br /&gt;
**Registered users receive email alerts&lt;br /&gt;
*Security alerts also posted online&lt;br /&gt;
*Web&lt;br /&gt;
**http://security.moodle.org/ &lt;br /&gt;
*RSS feed&lt;br /&gt;
**http://security.moodle.org/rss/file.php/1/1/forum/1/rss.xml&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous considerations==&lt;br /&gt;
*These are all things you might consider that impact your overall security&lt;br /&gt;
*Turn off opentogoogle, esp for K12 sites&lt;br /&gt;
*Use SSL, httpslogins=yes&lt;br /&gt;
*Disable guest access&lt;br /&gt;
*Place enrollment keys on all courses&lt;br /&gt;
*Use good passwords&lt;br /&gt;
*Use the secure forms setting&lt;br /&gt;
*Set the mysql root user password&lt;br /&gt;
*Turn off mysql network access&lt;br /&gt;
&lt;br /&gt;
==Most secure/paranoid file permissions==&lt;br /&gt;
 Assuming you are running this on a sealed server (i.e. no user logins allowed on the machine) and that root takes care of the modifications to both moodle code and moodle config (config.php), then this are the most tight permissions I can think of:&lt;br /&gt;
&lt;br /&gt;
  1.- moodledata directory and all of its contents (and subdirs, includes sessions):&lt;br /&gt;
            owner: apache user (apache, httpd, www-data, whatever).&lt;br /&gt;
            group: apache group (apache, httpd, www-data, whatever)&lt;br /&gt;
            perms: 700 on directories, 600 on files.&lt;br /&gt;
&lt;br /&gt;
  2.- moodle directory and all of its contents and subdirs (including config.php):&lt;br /&gt;
            owner: root&lt;br /&gt;
            group: root&lt;br /&gt;
            perms: 755 on directories, 644 on files.&lt;br /&gt;
&lt;br /&gt;
If you allow local logins, then 2.- should be:&lt;br /&gt;
          owner: root&lt;br /&gt;
          group: apache group&lt;br /&gt;
          perms: 750 on directories, 640 on files&lt;br /&gt;
&lt;br /&gt;
Think of these permissions as the most paranoid ones. You can be secure enough with less tighter permissions, both in moodledata and moodle directories (and subdirectories).&lt;br /&gt;
&lt;br /&gt;
==Running Moodle with PHP safe_mode=on==&lt;br /&gt;
&lt;br /&gt;
Does any security guru dare to document that? I think it is possible to do that (both to run Moodle with safe_mode=on and to write the document. ;-)&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=39404 &amp;quot;Guide to Securing your Moodle Server&amp;quot; discussion] at [http://moodle.org http://moodle.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=About_Moodle&amp;diff=5350</id>
		<title>About Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=About_Moodle&amp;diff=5350"/>
		<updated>2006-02-14T13:36:00Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* See also */ - Added Using Moodle book&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{About Moodle}}&lt;br /&gt;
Moodle is a software package for producing internet-based courses and web sites. It&#039;s an ongoing development project designed to support a [[Philosophy|social constructionist]] framework of education.&lt;br /&gt;
&lt;br /&gt;
Moodle is provided freely as [http://www.opensource.org/docs/definition_plain.html Open Source] software (under the [http://www.gnu.org/copyleft/gpl.html GNU Public License]). Basically this means Moodle is copyrighted, but that you have additional freedoms. You are allowed to copy, use and modify Moodle provided that you agree to: &#039;&#039;&#039;provide the source to others; not modify or remove the original license and copyrights&#039;&#039;&#039;, and &#039;&#039;&#039;apply this same license to any derivative work&#039;&#039;&#039;. Read the [[License|license]] for full details and please contact the [http://moodle.org/user/view.php?id=1&amp;amp;course=1 copyright holder] directly if you have any questions.&lt;br /&gt;
&lt;br /&gt;
Moodle will run on any computer that can run [http://www.php.net/ PHP], and can support many types of database (particularly [http://www.mysql.com/ MySQL]).&lt;br /&gt;
&lt;br /&gt;
The word Moodle was originally an acronym for Modular Object-Oriented Dynamic Learning Environment, which is mostly useful to programmers and education theorists.  It&#039;s also a verb that describes the process of lazily meandering through something, doing things as it occurs to you to do them, an enjoyable tinkering that often leads to insight and creativity. As such it applies both to the way Moodle was developed, and to the way a student or teacher might approach studying or teaching an online course. Anyone who uses Moodle is a Moodler.&lt;br /&gt;
&lt;br /&gt;
Come [http://moodle.org/community/ moodle with us]!&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Moodle Moodle at Wikipedia]&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Moodle_in_education&amp;diff=5349</id>
		<title>Moodle in education</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Moodle_in_education&amp;diff=5349"/>
		<updated>2006-02-14T13:34:35Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added AGAIN the Using Moodle book&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;Note for contributors:&#039;&#039;&#039; Design and/or style improvements to this page are welcome :-) Please add additional teacher documentation links to the See also section.&amp;lt;/p&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 15px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4;&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Modules (teacher)|Activity modules]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[mod/assignment/index|Assignments]] | [[mod/chat/index|Chats]] | [[mod/choice/index|Choices]] | [[mod/forum/index|Forums]] | [[mod/glossary/index|Glossaries]] | [[mod/hotpot/index|Hot Potatoes]] | [[mod/lesson/index|Lessons]] | [[mod/quiz/index|Quizzes]] | [[mod/scorm/index|SCORM]] | [[mod/survey/index|Surveys]] | [[mod/wiki/index|Wikis]] | [[mod/workshop/index|Workshops]]&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 15px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[mod/resource/index|Resources]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[course/mod/text|Text page]] | [[course/mod/html|Web page]] | [[course/mod/file|File or website link]] | [[course/mod/directory|Directory]] | [[course/mod/label|Label]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Blocks (teacher)|Blocks]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Activities]] | [[Administration]] | [[Calendar]] | [[Courses]] | [[Course/Site Description]] | [[HTML]] | [[Latest News]] | [[Messages]] | [[Online Users]] | [[People]] | [[Quiz Results]] | [[Random Glossary Entry]] | [[Recent Activity]] | [[RSS feeds]] | [[Search Forums]] | [[Section Links]] | [[Upcoming Events]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Tools]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Gradebook]] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Teaching with Moodle]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Teaching FAQ]] | [[Teaching Good Practices (K-12) | Good Practices (K-12)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
*[[course/view|The course homepage]]&lt;br /&gt;
*[[Course sections]]&lt;br /&gt;
*[[Formatting options]]&lt;br /&gt;
*[[HTML in Moodle]]&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
*[[Moodle manuals]]&lt;br /&gt;
*[[Adding resources and activities|Adding resources and activities to your course]]&lt;br /&gt;
*[[Non-standard modules]]&lt;br /&gt;
*[[Non-standard blocks]]&lt;br /&gt;
*[[Teaching FAQ]]&lt;br /&gt;
*[[Teaching Best Practices (K-12) | Teaching with Moodle - Good Practices (K-12)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5254</id>
		<title>Security recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5254"/>
		<updated>2006-02-13T08:32:14Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Should this security page be protected?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;Maybe we should take a look at the security in this &amp;quot;Security&amp;quot; page. :-/ Should it be a protected page maintained directly by http://security.moodle.org? Please, give us your opinion on this in the &amp;quot;page comments&amp;quot; label in this page.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All web application software is highly complex, and every application has security issues that are found from time to time, usually involving some conbination of input that the programmers did not anticipate. The Moodle project takes security seriously, and is continuously improving Moodle to close such holes as we find them.&lt;br /&gt;
&lt;br /&gt;
==Before all==&lt;br /&gt;
*In this document, you will find important security measures for your Moodle installation.&lt;br /&gt;
*You should report security problems directly at http://security.moodle.org - because developers might overlook it elsewhere, and they must not be released to general public until they are solved (to prevent attacks).&lt;br /&gt;
*You should not post actual exploits in the bugtracker or forums, for exactly the same reasons.&lt;br /&gt;
&lt;br /&gt;
==Simple security measures==&lt;br /&gt;
*The best security strategy is a good backup! But you don&#039;t have a good backup unless you are able to restore it. Test your restoration procedures!&lt;br /&gt;
*Load only software or services you will use&lt;br /&gt;
*Perform regular updates&lt;br /&gt;
*Model your security after the layers of clothing you wear on a cold winter day&lt;br /&gt;
&lt;br /&gt;
==Basic recommendations==&lt;br /&gt;
*Update Moodle regularly on each release&lt;br /&gt;
**Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.&lt;br /&gt;
*Disable register globals&lt;br /&gt;
**This will help prevent against possible XSS problems in third-party scripts.&lt;br /&gt;
*Use strong passwords for admin and teachers&lt;br /&gt;
**Choosing &amp;quot;difficult&amp;quot; passwords is a basic security practice to protect against &amp;quot;brute force&amp;quot; cracking of accounts.&lt;br /&gt;
*Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.&lt;br /&gt;
**Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.&lt;br /&gt;
*Separate your systems as much as possible&lt;br /&gt;
**Another basic security technique is to use different passwords on different systems, use different machines for different services and so on.  This will prevent damage being widespread even if one account or one server is compromised.&lt;br /&gt;
&lt;br /&gt;
==Run regular updates==&lt;br /&gt;
*Use auto update systems&lt;br /&gt;
*Windows Update &lt;br /&gt;
*Linux: up2date, yum, apt-get&lt;br /&gt;
**Consider automating updates with a script scheduled via cron &lt;br /&gt;
*Mac OSX update system&lt;br /&gt;
*Stay current with php, apache, and moodle&lt;br /&gt;
&lt;br /&gt;
==Use mailing lists to stay updated==&lt;br /&gt;
*CERT &lt;br /&gt;
**http://www.us-cert.gov/cas/signup.html&lt;br /&gt;
*PHP&lt;br /&gt;
**http://www.php.net/mailing-lists.php&lt;br /&gt;
**Sign up for Announcements list&lt;br /&gt;
*MySQL&lt;br /&gt;
**http://lists.mysql.com&lt;br /&gt;
**Sign up for MySQL Announcements&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
*Security experts recommend a dual firewall&lt;br /&gt;
**Differing hardware/software combinations &lt;br /&gt;
*Disabling unused services is often as effective as a firewall&lt;br /&gt;
**Use netstat -a to review open network ports&lt;br /&gt;
*Not a guarantee of protection&lt;br /&gt;
*Allow ports &lt;br /&gt;
**80, 443(ssl), and 9111 (for chat), &lt;br /&gt;
**Remote admin: ssh 22, or rpd 3389&lt;br /&gt;
&lt;br /&gt;
==Be prepared for the worst==&lt;br /&gt;
*Have backups ready &lt;br /&gt;
*Practice recovery procedures ahead of time &lt;br /&gt;
*Use a rootkit detector on a regular basis &lt;br /&gt;
**Linux/MacOSX: &lt;br /&gt;
***http://www.chkrootkit.org/ &lt;br /&gt;
**Windows: 						&lt;br /&gt;
***http://www.sysinternals.com/Utilities/RootkitRevealer.html&lt;br /&gt;
&lt;br /&gt;
==Moodle security alerts==&lt;br /&gt;
*Register your site with Moodle.org&lt;br /&gt;
**Registered users receive email alerts&lt;br /&gt;
*Security alerts also posted online&lt;br /&gt;
*Web&lt;br /&gt;
**http://security.moodle.org/ &lt;br /&gt;
*RSS feed&lt;br /&gt;
**http://security.moodle.org/rss/file.php/1/1/forum/1/rss.xml&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous considerations==&lt;br /&gt;
*These are all things you might consider that impact your overall security&lt;br /&gt;
*Turn off opentogoogle, esp for K12 sites&lt;br /&gt;
*Use SSL, httpslogins=yes&lt;br /&gt;
*Disable guest access&lt;br /&gt;
*Place enrollment keys on all courses&lt;br /&gt;
*Use good passwords&lt;br /&gt;
*Use the secure forms setting&lt;br /&gt;
*Set the mysql root user password&lt;br /&gt;
*Turn off mysql network access&lt;br /&gt;
&lt;br /&gt;
==Most secure/paranoid file permissions==&lt;br /&gt;
*The moodle directory&lt;br /&gt;
**Owner root &lt;br /&gt;
**Group root&lt;br /&gt;
**Permissions 755 directories, 644 files&lt;br /&gt;
*The moodledata directory&lt;br /&gt;
**Should be placed outside the webroot, or restricted via .htaccess file&lt;br /&gt;
**Owner root&lt;br /&gt;
**Group apache group&lt;br /&gt;
**Permissions 700 directories, 600 files&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=39404 &amp;quot;Guide to Securing your Moodle Server&amp;quot; discussion] at [http://moodle.org http://moodle.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Developer_notes&amp;diff=5243</id>
		<title>Developer notes</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Developer_notes&amp;diff=5243"/>
		<updated>2006-02-13T00:47:42Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added Conditional activities&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt; &#039;&#039;&#039;Note for contributors:&#039;&#039;&#039; This area is for developers to work on various bits of code and documentation as necessary. Once material has matured it should be linked to from the main [[Developer documentation]] page.&lt;br /&gt;
Initial text has been taken from [http://moodle.org/course/view.php?id=5 Using Moodle] Developer Wiki. If you find any text missing, please email docs AT moodle DOT org.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Forum development|Forum functional upgrade]]&lt;br /&gt;
*[[Other lang issues|Language issues]] &lt;br /&gt;
*[[MoodleDocs development]]&lt;br /&gt;
*[[Usability]]&lt;br /&gt;
*[[Blogs and forums|Blogs, forums and the nature of discussion]]&lt;br /&gt;
*[[Document Management API]]&lt;br /&gt;
*[[Filters schema]]&lt;br /&gt;
*[[Filterall support]]&lt;br /&gt;
*[[Application/session variables]]&lt;br /&gt;
*[[Wiki development|Wiki module development]]&lt;br /&gt;
*[[Conditional activities]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Conditional_activities&amp;diff=5238</id>
		<title>Broken/Conditional activities</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Conditional_activities&amp;diff=5238"/>
		<updated>2006-02-13T00:07:19Z</updated>

		<summary type="html">&lt;p&gt;Davidds: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Different attempts at conditional activities in the Using Moodle Conditional Activities forum; generating a course page for each user requires lots of processing (Martin).&lt;br /&gt;
&lt;br /&gt;
Possible solution (David Delgado): add a conditional activities on/off selection for each course, being defaulted to off. Normal behaviour would be just the same as now, and conditional activities extra processing power would be used just for the courses that would need them. So, we would get the best of both sytems: fast default behaviour (no conditional activities used) and powerful adaptive e-learning posibilities (conditional activities used). Could it be a good solution? Hope so. :-) &lt;br /&gt;
&lt;br /&gt;
Take a look at the [http://moodle.org/mod/forum/view.php?f=678 Conditional activities forum] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
These are the 2 attempts:&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488 Stuart Mayor&#039;s Conditional Activities], including Moodle 1.6 version&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 Conditional activities at CICEI], running demo included as student, teacher and designer.&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Developer_documentation&amp;diff=5237</id>
		<title>Broken/Developer documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Developer_documentation&amp;diff=5237"/>
		<updated>2006-02-13T00:06:34Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* Documentation for specific components */ - Added Conditional activities&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==How you can contribute==&lt;br /&gt;
&lt;br /&gt;
Even if you are not a programmer there are things you can change or help with.&lt;br /&gt;
*[[Activity modules]]&lt;br /&gt;
*[[Themes]]&lt;br /&gt;
*[[Translation]]&lt;br /&gt;
*[[Database Schemas|Database schemas]]&lt;br /&gt;
*[[Course formats]]&lt;br /&gt;
*[[Bug tracker|Participating in the bug tracker]]&lt;br /&gt;
&lt;br /&gt;
==Guides for developers==&lt;br /&gt;
*[[Moodle architecture]]&lt;br /&gt;
*[[Coding|Coding guidelines]]&lt;br /&gt;
*[[Interface_guidelines]]&lt;br /&gt;
*[[CVS|Moodle CVS for developers]]&lt;br /&gt;
*[[Blocks Howto|A Step-by-step Guide To Creating Blocks]]&lt;br /&gt;
&lt;br /&gt;
==Plans for the future==&lt;br /&gt;
*[[Roadmap]]&lt;br /&gt;
*[[Developer notes]]&lt;br /&gt;
*[[Developer conference|Developer conferences]]&lt;br /&gt;
&lt;br /&gt;
==Documentation for specific components==&lt;br /&gt;
&lt;br /&gt;
*[[UTF-8 migration|Migration to UTF-8]]&lt;br /&gt;
*[[Quiz developer docs|Quiz module]]&lt;br /&gt;
*[[SCORM schema|SCORM module 1.5 schema]]&lt;br /&gt;
*[[Authentication API]]&lt;br /&gt;
*[[Stats package]]&lt;br /&gt;
*[[Email processing]]&lt;br /&gt;
*[[Cookieless Sessions]]&lt;br /&gt;
*[[Conditional activities]]&lt;br /&gt;
&lt;br /&gt;
== Developer resources and tools ==&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/bugs/ Moodle bug tracker] - bug reports, feature requests and other tracked issues&lt;br /&gt;
*[http://cvs.sourceforge.net/viewcvs.py/moodle/moodle/ CVS code]&lt;br /&gt;
*[http://moodle.org/xref/nav.html?index.html Cross reference] - phpxref output for browsing Moodle source code&lt;br /&gt;
*[http://moodle.org/mod/resource/view.php?id=1267 Core API]&lt;br /&gt;
*[http://moodle.sourceforge.net/dhawes-phpdoc/ Moodle PHP doc reference]&lt;br /&gt;
*[[Unmerged files|1.4 and 1.5 un-merged files]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://security.moodle.org/ Moodle Security Centre]&lt;br /&gt;
*[http://moodle.com/partners/ Moodle Partners] - providers of custom Moodle development services&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
*[[Moodle manuals]]&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Conditional_activities&amp;diff=5236</id>
		<title>Broken/Conditional activities</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Conditional_activities&amp;diff=5236"/>
		<updated>2006-02-13T00:02:49Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Just created this page! :-)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Different attempts at conditional activities in the Using Moodle Conditional Activities forum; generating a course page for each user requires lots of processing.&lt;br /&gt;
&lt;br /&gt;
Possible solution (David Delgado): add a conditional activities on/off selection for each course, being defaulted to off. Normal behaviour would be just the same as now, and conditional activities extra processing power would be used just for the courses that would need them. So, we would get the best of both sytems: fast default behaviour (no conditional activities used) and powerful adaptive e-learning posibilities (conditional activities used). Could it be a good solution? Hope so. :-) &lt;br /&gt;
&lt;br /&gt;
Take a look at the [http://moodle.org/mod/forum/view.php?f=678 Conditional activities forum] at [http://moodle.org http://moodle.org].&lt;br /&gt;
&lt;br /&gt;
These are the 2 attempts:&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=35488 Stuart Mayor&#039;s Conditional Activities], including Moodle 1.6 version&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36697 Conditional activities at CICEI], running demo included as student, teacher and designer.&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5233</id>
		<title>Security recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5233"/>
		<updated>2006-02-12T20:17:34Z</updated>

		<summary type="html">&lt;p&gt;Davidds: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All web application software is highly complex, and every application has security issues that are found from time to time, usually involving some conbination of input that the programmers did not anticipate. The Moodle project takes security seriously, and is continuously improving Moodle to close such holes as we find them.&lt;br /&gt;
&lt;br /&gt;
==Before all==&lt;br /&gt;
*In this document, you will find important security measures for your Moodle installation.&lt;br /&gt;
*You should report security problems directly at http://security.moodle.org - because developers might overlook it elsewhere, and they must not be released to general public until they are solved (to prevent attacks).&lt;br /&gt;
*You should not post actual exploits in the bugtracker or forums, for exactly the same reasons.&lt;br /&gt;
&lt;br /&gt;
==Simple security measures==&lt;br /&gt;
*The best security strategy is a good backup! &lt;br /&gt;
*Load only software or services you will use&lt;br /&gt;
*Perform regular updates&lt;br /&gt;
*Model your security after the layers of clothing you wear on a cold winter day&lt;br /&gt;
&lt;br /&gt;
==Basic recommendations==&lt;br /&gt;
*Update Moodle regularly on each release&lt;br /&gt;
**Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.&lt;br /&gt;
*Disable register globals&lt;br /&gt;
**This will help prevent against possible XSS problems in third-party scripts.&lt;br /&gt;
*Use strong passwords for admin and teachers&lt;br /&gt;
**Choosing &amp;quot;difficult&amp;quot; passwords is a basic security practice to protect against &amp;quot;brute force&amp;quot; cracking of accounts.&lt;br /&gt;
*Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.&lt;br /&gt;
**Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.&lt;br /&gt;
*Separate your systems as much as possible&lt;br /&gt;
**Another basic security technique is to use different passwords on different systems, use different machines for different services and so on.  This will prevent damage being widespread even if one account or one server is compromised.&lt;br /&gt;
&lt;br /&gt;
==Run regular updates==&lt;br /&gt;
*Use auto update systems&lt;br /&gt;
*Windows Update &lt;br /&gt;
*Linux: up2date, yum, apt-get&lt;br /&gt;
**Consider automating updates with a script scheduled via cron &lt;br /&gt;
*Mac OSX update system&lt;br /&gt;
*Stay current with php, apache, and moodle&lt;br /&gt;
&lt;br /&gt;
==Use mailing lists to stay updated==&lt;br /&gt;
*CERT &lt;br /&gt;
**http://www.us-cert.gov/cas/signup.html&lt;br /&gt;
*PHP&lt;br /&gt;
**http://www.php.net/mailing-lists.php&lt;br /&gt;
**Sign up for Announcements list&lt;br /&gt;
*MySQL&lt;br /&gt;
**http://lists.mysql.com&lt;br /&gt;
**Sign up for MySQL Announcements&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
*Security experts recommend a dual firewall&lt;br /&gt;
**Differing hardware/software combinations &lt;br /&gt;
*Disabling unused services is often as effective as a firewall&lt;br /&gt;
**Use netstat -a to review open network ports&lt;br /&gt;
*Not a guarantee of protection&lt;br /&gt;
*Allow ports &lt;br /&gt;
**80, 443(ssl), and 9111 (for chat), &lt;br /&gt;
**Remote admin: ssh 22, or rpd 3389&lt;br /&gt;
&lt;br /&gt;
==Be prepared for the worst==&lt;br /&gt;
*Have backups ready &lt;br /&gt;
*Practice recovery procedures ahead of time &lt;br /&gt;
*Use a rootkit detector on a regular basis &lt;br /&gt;
**Linux/MacOSX: &lt;br /&gt;
***http://www.chkrootkit.org/ &lt;br /&gt;
**Windows: 						&lt;br /&gt;
***http://www.sysinternals.com/Utilities/RootkitRevealer.html&lt;br /&gt;
&lt;br /&gt;
==Moodle security alerts==&lt;br /&gt;
*Register your site with Moodle.org&lt;br /&gt;
**Registered users receive email alerts&lt;br /&gt;
*Security alerts also posted online&lt;br /&gt;
*Web&lt;br /&gt;
**http://security.moodle.org/ &lt;br /&gt;
*RSS feed&lt;br /&gt;
**http://security.moodle.org/rss/file.php/1/1/forum/1/rss.xml&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous considerations==&lt;br /&gt;
*These are all things you might consider that impact your overall security&lt;br /&gt;
*Turn off opentogoogle, esp for K12 sites&lt;br /&gt;
*Use SSL, httpslogins=yes&lt;br /&gt;
*Disable guest access&lt;br /&gt;
*Place enrollment keys on all courses&lt;br /&gt;
*Use good passwords&lt;br /&gt;
*Use the secure forms setting&lt;br /&gt;
*Set the mysql root user password&lt;br /&gt;
*Turn off mysql network access&lt;br /&gt;
&lt;br /&gt;
==Most secure/paranoid file permissions==&lt;br /&gt;
*The moodle directory&lt;br /&gt;
**Owner root &lt;br /&gt;
**Group root&lt;br /&gt;
**Permissions 755 directories, 644 files&lt;br /&gt;
*The moodledata directory&lt;br /&gt;
**Should be placed outside the webroot, or restricted via .htaccess file&lt;br /&gt;
**Owner root&lt;br /&gt;
**Group apache group&lt;br /&gt;
**Permissions 700 directories, 600 files&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=39404 &amp;quot;Guide to Securing your Moodle Server&amp;quot; discussion] at [http://moodle.org http://moodle.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5232</id>
		<title>Security recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5232"/>
		<updated>2006-02-12T20:16:59Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added &amp;quot;Guide to Securing your Moodle Server&amp;quot; discussion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All web application software is highly complex, and every application has security issues that are found from time to time, usually involving some conbination of input that the programmers did not anticipate. The Moodle project takes security seriously, and is continuously improving Moodle to close such holes as we find them.&lt;br /&gt;
&lt;br /&gt;
==Before all==&lt;br /&gt;
*In this document, you will find important security measures for your Moodle installation.&lt;br /&gt;
*You should report security problems directly at http://security.moodle.org - because developers might overlook it elsewhere, and they must not be released to general public until they are solved (to prevent attacks).&lt;br /&gt;
*You should not post actual exploits in the bugtracker or forums, for exactly the same reasons.&lt;br /&gt;
&lt;br /&gt;
==Simple security measures==&lt;br /&gt;
*The best security strategy is a good backup! &lt;br /&gt;
*Load only software or services you will use&lt;br /&gt;
*Perform regular updates&lt;br /&gt;
*Model your security after the layers of clothing you wear on a cold winter day&lt;br /&gt;
&lt;br /&gt;
==Basic recommendations==&lt;br /&gt;
*Update Moodle regularly on each release&lt;br /&gt;
**Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.&lt;br /&gt;
*Disable register globals&lt;br /&gt;
**This will help prevent against possible XSS problems in third-party scripts.&lt;br /&gt;
*Use strong passwords for admin and teachers&lt;br /&gt;
**Choosing &amp;quot;difficult&amp;quot; passwords is a basic security practice to protect against &amp;quot;brute force&amp;quot; cracking of accounts.&lt;br /&gt;
*Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.&lt;br /&gt;
**Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.&lt;br /&gt;
*Separate your systems as much as possible&lt;br /&gt;
**Another basic security technique is to use different passwords on different systems, use different machines for different services and so on.  This will prevent damage being widespread even if one account or one server is compromised.&lt;br /&gt;
&lt;br /&gt;
==Run regular updates==&lt;br /&gt;
*Use auto update systems&lt;br /&gt;
*Windows Update &lt;br /&gt;
*Linux: up2date, yum, apt-get&lt;br /&gt;
**Consider automating updates with a script scheduled via cron &lt;br /&gt;
*Mac OSX update system&lt;br /&gt;
*Stay current with php, apache, and moodle&lt;br /&gt;
&lt;br /&gt;
==Use mailing lists to stay updated==&lt;br /&gt;
*CERT &lt;br /&gt;
**http://www.us-cert.gov/cas/signup.html&lt;br /&gt;
*PHP&lt;br /&gt;
**http://www.php.net/mailing-lists.php&lt;br /&gt;
**Sign up for Announcements list&lt;br /&gt;
*MySQL&lt;br /&gt;
**http://lists.mysql.com&lt;br /&gt;
**Sign up for MySQL Announcements&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
*Security experts recommend a dual firewall&lt;br /&gt;
**Differing hardware/software combinations &lt;br /&gt;
*Disabling unused services is often as effective as a firewall&lt;br /&gt;
**Use netstat -a to review open network ports&lt;br /&gt;
*Not a guarantee of protection&lt;br /&gt;
*Allow ports &lt;br /&gt;
**80, 443(ssl), and 9111 (for chat), &lt;br /&gt;
**Remote admin: ssh 22, or rpd 3389&lt;br /&gt;
&lt;br /&gt;
==Be prepared for the worst==&lt;br /&gt;
*Have backups ready &lt;br /&gt;
*Practice recovery procedures ahead of time &lt;br /&gt;
*Use a rootkit detector on a regular basis &lt;br /&gt;
**Linux/MacOSX: &lt;br /&gt;
***http://www.chkrootkit.org/ &lt;br /&gt;
**Windows: 						&lt;br /&gt;
***http://www.sysinternals.com/Utilities/RootkitRevealer.html&lt;br /&gt;
&lt;br /&gt;
==Moodle security alerts==&lt;br /&gt;
*Register your site with Moodle.org&lt;br /&gt;
**Registered users receive email alerts&lt;br /&gt;
*Security alerts also posted online&lt;br /&gt;
*Web&lt;br /&gt;
**http://security.moodle.org/ &lt;br /&gt;
*RSS feed&lt;br /&gt;
**http://security.moodle.org/rss/file.php/1/1/forum/1/rss.xml&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous considerations==&lt;br /&gt;
*These are all things you might consider that impact your overall security&lt;br /&gt;
*Turn off opentogoogle, esp for K12 sites&lt;br /&gt;
*Use SSL, httpslogins=yes&lt;br /&gt;
*Disable guest access&lt;br /&gt;
*Place enrollment keys on all courses&lt;br /&gt;
*Use good passwords&lt;br /&gt;
*Use the secure forms setting&lt;br /&gt;
*Set the mysql root user password&lt;br /&gt;
*Turn off mysql network access&lt;br /&gt;
&lt;br /&gt;
==Most secure/paranoid file permissions==&lt;br /&gt;
*The moodle directory&lt;br /&gt;
**Owner root &lt;br /&gt;
**Group root&lt;br /&gt;
**Permissions 755 directories, 644 files&lt;br /&gt;
*The moodledata directory&lt;br /&gt;
**Should be placed outside the webroot, or restricted via .htaccess file&lt;br /&gt;
**Owner root&lt;br /&gt;
**Group apache group&lt;br /&gt;
**Permissions 700 directories, 600 files&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=39404 &amp;quot;Guide to Securing your Moodle Server&amp;quot; discussion] at [http://moodle.org]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5227</id>
		<title>Security recommendations</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Security_recommendations&amp;diff=5227"/>
		<updated>2006-02-12T17:58:43Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All web application software is highly complex, and every application has security issues that are found from time to time, usually involving some conbination of input that the programmers did not anticipate. The Moodle project takes security seriously, and is continuously improving Moodle to close such holes as we find them.&lt;br /&gt;
&lt;br /&gt;
==Before all==&lt;br /&gt;
*In this document, you will find important security measures for your Moodle installation.&lt;br /&gt;
*You should report security problems directly at http://security.moodle.org - because developers might overlook it elsewhere, and they must not be released to general public until they are solved (to prevent attacks).&lt;br /&gt;
*You should not post actual exploits in the bugtracker or forums, for exactly the same reasons.&lt;br /&gt;
&lt;br /&gt;
==Simple security measures==&lt;br /&gt;
*The best security strategy is a good backup! &lt;br /&gt;
*Load only software or services you will use&lt;br /&gt;
*Perform regular updates&lt;br /&gt;
*Model your security after the layers of clothing you wear on a cold winter day&lt;br /&gt;
&lt;br /&gt;
==Basic recommendations==&lt;br /&gt;
*Update Moodle regularly on each release&lt;br /&gt;
**Published security holes draw crackers attention after release. The older the version, the more vulnerabilities it is likely to contain.&lt;br /&gt;
*Disable register globals&lt;br /&gt;
**This will help prevent against possible XSS problems in third-party scripts.&lt;br /&gt;
*Use strong passwords for admin and teachers&lt;br /&gt;
**Choosing &amp;quot;difficult&amp;quot; passwords is a basic security practice to protect against &amp;quot;brute force&amp;quot; cracking of accounts.&lt;br /&gt;
*Only give teacher accounts to trusted users. Avoid creating public sandboxes with free teacher accounts on production servers.&lt;br /&gt;
**Teacher accounts have much freer permissions and it is easier to create situations where data can be abused or stolen.&lt;br /&gt;
*Separate your systems as much as possible&lt;br /&gt;
**Another basic security technique is to use different passwords on different systems, use different machines for different services and so on.  This will prevent damage being widespread even if one account or one server is compromised.&lt;br /&gt;
&lt;br /&gt;
==Run regular updates==&lt;br /&gt;
*Use auto update systems&lt;br /&gt;
*Windows Update &lt;br /&gt;
*Linux: up2date, yum, apt-get&lt;br /&gt;
**Consider automating updates with a script scheduled via cron &lt;br /&gt;
*Mac OSX update system&lt;br /&gt;
*Stay current with php, apache, and moodle&lt;br /&gt;
&lt;br /&gt;
==Use mailing lists to stay updated==&lt;br /&gt;
*CERT &lt;br /&gt;
**http://www.us-cert.gov/cas/signup.html&lt;br /&gt;
*PHP&lt;br /&gt;
**http://www.php.net/mailing-lists.php&lt;br /&gt;
**Sign up for Announcements list&lt;br /&gt;
*MySQL&lt;br /&gt;
**http://lists.mysql.com&lt;br /&gt;
**Sign up for MySQL Announcements&lt;br /&gt;
&lt;br /&gt;
==Firewalls==&lt;br /&gt;
*Security experts recommend a dual firewall&lt;br /&gt;
**Differing hardware/software combinations &lt;br /&gt;
*Disabling unused services is often as effective as a firewall&lt;br /&gt;
**Use netstat -a to review open network ports&lt;br /&gt;
*Not a guarantee of protection&lt;br /&gt;
*Allow ports &lt;br /&gt;
**80, 443(ssl), and 9111 (for chat), &lt;br /&gt;
**Remote admin: ssh 22, or rpd 3389&lt;br /&gt;
&lt;br /&gt;
==Be prepared for the worst==&lt;br /&gt;
*Have backups ready &lt;br /&gt;
*Practice recovery procedures ahead of time &lt;br /&gt;
*Use a rootkit detector on a regular basis &lt;br /&gt;
**Linux/MacOSX: &lt;br /&gt;
***http://www.chkrootkit.org/ &lt;br /&gt;
**Windows: 						&lt;br /&gt;
***http://www.sysinternals.com/Utilities/RootkitRevealer.html&lt;br /&gt;
&lt;br /&gt;
==Moodle security alerts==&lt;br /&gt;
*Register your site with Moodle.org&lt;br /&gt;
**Registered users receive email alerts&lt;br /&gt;
*Security alerts also posted online&lt;br /&gt;
*Web&lt;br /&gt;
**http://security.moodle.org/ &lt;br /&gt;
*RSS feed&lt;br /&gt;
**http://security.moodle.org/rss/file.php/1/1/forum/1/rss.xml&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous considerations==&lt;br /&gt;
*These are all things you might consider that impact your overall security&lt;br /&gt;
*Turn off opentogoogle, esp for K12 sites&lt;br /&gt;
*Use SSL, httpslogins=yes&lt;br /&gt;
*Disable guest access&lt;br /&gt;
*Place enrollment keys on all courses&lt;br /&gt;
*Use good passwords&lt;br /&gt;
*Use the secure forms setting&lt;br /&gt;
*Set the mysql root user password&lt;br /&gt;
*Turn off mysql network access&lt;br /&gt;
&lt;br /&gt;
==Most secure/paranoid file permissions==&lt;br /&gt;
*The moodle directory&lt;br /&gt;
**Owner root &lt;br /&gt;
**Group root&lt;br /&gt;
**Permissions 755 directories, 644 files&lt;br /&gt;
*The moodledata directory&lt;br /&gt;
**Should be placed outside the webroot, or restricted via .htaccess file&lt;br /&gt;
**Owner root&lt;br /&gt;
**Group apache group&lt;br /&gt;
**Permissions 700 directories, 600 files&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Moodle_in_education&amp;diff=5197</id>
		<title>Moodle in education</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Moodle_in_education&amp;diff=5197"/>
		<updated>2006-02-12T11:56:37Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Reverted to previous version: blocks howto is just for developers, sorry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;Note for contributors:&#039;&#039;&#039; Design and/or style improvements to this page are welcome :-) Please add additional teacher documentation links to the See also section.&amp;lt;/p&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 15px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4;&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Activity modules]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[mod/assignment/index|Assignments]] | [[mod/chat/index|Chats]] | [[mod/choice/index|Choices]] | [[mod/forum/index|Forums]] | [[mod/glossary/index|Glossaries]] | [[mod/hotpot/index|Hot Potatoes]] | [[mod/lesson/index|Lessons]] | [[mod/quiz/index|Quizzes]] | [[mod/scorm/index|SCORM]] | [[mod/survey/index|Surveys]] | [[mod/wiki/index|Wikis]] | [[mod/workshop/index|Workshops]]&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 15px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[mod/resource/index|Resources]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[course/mod/text|Text page]] | [[course/mod/html|Web page]] | [[course/mod/file|File or website link]] | [[course/mod/directory|Directory]] | [[course/mod/label|Label]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Blocks]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Activities]] | [[Administration]] | [[Calendar]] | [[Courses]] | [[Course/Site Description]] | [[HTML]] | [[Latest News]] | [[Messages]] | [[Online Users]] | [[People]] | [[Quiz Results]] | [[Random Glossary Entry]] | [[Recent Activity]] | [[RSS feeds]] | [[Search Forums]] | [[Section Links]] | [[Upcoming Events]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Tools]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Gradebook]] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Teaching with Moodle]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Teaching FAQ]] | [[Teaching Good Practices (K-12) | Good Practices (K-12)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
*[[course/view|The course homepage]]&lt;br /&gt;
*[[Course sections]]&lt;br /&gt;
*[[Formatting options]]&lt;br /&gt;
*[[HTML in Moodle]]&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
*[[Moodle manuals]]&lt;br /&gt;
*[[Adding resources and activities|Adding resources and activities to your course]]&lt;br /&gt;
*[[Non-standard modules]]&lt;br /&gt;
*[[Non-standard blocks]]&lt;br /&gt;
*[[Teaching FAQ]]&lt;br /&gt;
*[[Teaching Best Practices (K-12) | Teaching with Moodle - Good Practices (K-12)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Moodle_in_education&amp;diff=5196</id>
		<title>Moodle in education</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Moodle_in_education&amp;diff=5196"/>
		<updated>2006-02-12T11:53:13Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added Blocks howto&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;Note for contributors:&#039;&#039;&#039; Design and/or style improvements to this page are welcome :-) Please add additional teacher documentation links to the See also section.&amp;lt;/p&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 15px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4;&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Activity modules]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[mod/assignment/index|Assignments]] | [[mod/chat/index|Chats]] | [[mod/choice/index|Choices]] | [[mod/forum/index|Forums]] | [[mod/glossary/index|Glossaries]] | [[mod/hotpot/index|Hot Potatoes]] | [[mod/lesson/index|Lessons]] | [[mod/quiz/index|Quizzes]] | [[mod/scorm/index|SCORM]] | [[mod/survey/index|Surveys]] | [[mod/wiki/index|Wikis]] | [[mod/workshop/index|Workshops]]&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 15px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[mod/resource/index|Resources]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[course/mod/text|Text page]] | [[course/mod/html|Web page]] | [[course/mod/file|File or website link]] | [[course/mod/directory|Directory]] | [[course/mod/label|Label]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Blocks]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Activities]] | [[Administration]] | [[Blocks howto]] | [[Calendar]] | [[Courses]] | [[Course/Site Description]] | [[HTML]] | [[Latest News]] | [[Messages]] | [[Online Users]] | [[People]] | [[Quiz Results]] | [[Random Glossary Entry]] | [[Recent Activity]] | [[RSS feeds]] | [[Search Forums]] | [[Section Links]] | [[Upcoming Events]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Tools]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Gradebook]] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Teaching with Moodle]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Teaching FAQ]] | [[Teaching Good Practices (K-12) | Good Practices (K-12)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
*[[course/view|The course homepage]]&lt;br /&gt;
*[[Course sections]]&lt;br /&gt;
*[[Formatting options]]&lt;br /&gt;
*[[HTML in Moodle]]&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
*[[Moodle manuals]]&lt;br /&gt;
*[[Adding resources and activities|Adding resources and activities to your course]]&lt;br /&gt;
*[[Non-standard modules]]&lt;br /&gt;
*[[Non-standard blocks]]&lt;br /&gt;
*[[Teaching FAQ]]&lt;br /&gt;
*[[Teaching Best Practices (K-12) | Teaching with Moodle - Good Practices (K-12)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=About_Moodle&amp;diff=5166</id>
		<title>About Moodle</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=About_Moodle&amp;diff=5166"/>
		<updated>2006-02-11T15:35:07Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added Moodle at Wikipedia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{About Moodle}}&lt;br /&gt;
Moodle is a software package for producing internet-based courses and web sites. It&#039;s an ongoing development project designed to support a [[Philosophy|social constructionist]] framework of education.&lt;br /&gt;
&lt;br /&gt;
Moodle is provided freely as [http://www.opensource.org/docs/definition_plain.html Open Source] software (under the [http://www.gnu.org/copyleft/gpl.html GNU Public License]). Basically this means Moodle is copyrighted, but that you have additional freedoms. You are allowed to copy, use and modify Moodle provided that you agree to: &#039;&#039;&#039;provide the source to others; not modify or remove the original license and copyrights&#039;&#039;&#039;, and &#039;&#039;&#039;apply this same license to any derivative work&#039;&#039;&#039;. Read the [[License|license]] for full details and please contact the [http://moodle.org/user/view.php?id=1&amp;amp;course=1 copyright holder] directly if you have any questions.&lt;br /&gt;
&lt;br /&gt;
Moodle will run on any computer that can run [http://www.php.net/ PHP], and can support many types of database (particularly [http://www.mysql.com/ MySQL]).&lt;br /&gt;
&lt;br /&gt;
The word Moodle was originally an acronym for Modular Object-Oriented Dynamic Learning Environment, which is mostly useful to programmers and education theorists.  It&#039;s also a verb that describes the process of lazily meandering through something, doing things as it occurs to you to do them, an enjoyable tinkering that often leads to insight and creativity. As such it applies both to the way Moodle was developed, and to the way a student or teacher might approach studying or teaching an online course. Anyone who uses Moodle is a Moodler.&lt;br /&gt;
&lt;br /&gt;
Come [http://moodle.org/community/ moodle with us]!&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[http://en.wikipedia.org/wiki/Moodle Moodle at Wikipedia]&lt;br /&gt;
&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Broken/Developer_documentation&amp;diff=5098</id>
		<title>Broken/Developer documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Broken/Developer_documentation&amp;diff=5098"/>
		<updated>2006-02-09T12:33:29Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added Using Moodle book&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Roadmap]]&lt;br /&gt;
&lt;br /&gt;
*[[Developer notes]]&lt;br /&gt;
*[[Developer conference|Developer conferences]]&lt;br /&gt;
*[[Coding|Coding guidelines]]&lt;br /&gt;
*[[CVS|Moodle CVS for developers]]&lt;br /&gt;
*[[Moodle architecture]]&lt;br /&gt;
&lt;br /&gt;
===Documentation for specific modules===&lt;br /&gt;
&lt;br /&gt;
*[[Quiz developer docs|Quiz module]]&lt;br /&gt;
*[[SCORM schema|SCORM module 1.5 schema]]&lt;br /&gt;
&lt;br /&gt;
===How you can contribute===&lt;br /&gt;
&lt;br /&gt;
Even if you are not a programmer there are things you can change or help with.&lt;br /&gt;
*[[Activity modules]]&lt;br /&gt;
*[[Themes]]&lt;br /&gt;
*[[Translation]]&lt;br /&gt;
*[[Database Schemas|Database schemas]]&lt;br /&gt;
*[[Course formats]]&lt;br /&gt;
*[[Bug tracker|Participating in the bug tracker]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
*[http://moodle.org/blocks/HOWTO.html A step-by-step guide to creating blocks]&lt;br /&gt;
*[http://moodle.org/bugs/ Moodle bug tracker] - bug reports, feature requests and other tracked issues&lt;br /&gt;
*[http://cvs.sourceforge.net/viewcvs.py/moodle/moodle/ CVS code]&lt;br /&gt;
*[http://moodle.org/xref/nav.html?index.html Cross reference] - phpxref output for browsing Moodle source code&lt;br /&gt;
*[http://moodle.org/mod/resource/view.php?id=1267 Core API]&lt;br /&gt;
*[http://moodle.sourceforge.net/dhawes-phpdoc/ Moodle PHP doc reference]&lt;br /&gt;
*[http://security.moodle.org/ Moodle Security Centre]&lt;br /&gt;
*[http://moodle.com/partners/ Moodle Partners] - providers of custom Moodle development services&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
*[[Moodle manuals]]&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Core]]&lt;br /&gt;
[[Category:Developer]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Administrator_documentation&amp;diff=5097</id>
		<title>Administrator documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Administrator_documentation&amp;diff=5097"/>
		<updated>2006-02-09T12:32:37Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added Using Moodle book&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;Note for contributors:&#039;&#039;&#039; Design and/or style improvements to this page are welcome :-)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Site management ==&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
&lt;br /&gt;
*[[Installing Moodle]]&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installation FAQ]]&lt;br /&gt;
*[[Installing AMP|Installing Apache, MySQL and PHP]]&lt;br /&gt;
*[[Upgrading|Upgrading Moodle]]&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
&lt;br /&gt;
*[[admin/config|Variables]]&lt;br /&gt;
*[[admin/site|Site settings]]&lt;br /&gt;
*[[Themes]]&lt;br /&gt;
*[[admin/lang|Language]]&lt;br /&gt;
*[[admin/modules|Modules]]&lt;br /&gt;
*[[admin/blocks|Blocks]]&lt;br /&gt;
*[[admin/filters|Filters]]&lt;br /&gt;
*[[admin/backup|Backup]]&lt;br /&gt;
*[[admin/editor|Editor settings]]&lt;br /&gt;
*[[admin/calendar|Calendar]]&lt;br /&gt;
*[[admin/maintenance|Maintenance mode]]&lt;br /&gt;
&lt;br /&gt;
==== Performance ====&lt;br /&gt;
&lt;br /&gt;
*Please see [[Performance]]&lt;br /&gt;
*[[Large installations|List of large Moodle installations (1000 or more users)]]&lt;br /&gt;
&lt;br /&gt;
==== See also ====&lt;br /&gt;
&lt;br /&gt;
*[[Administration FAQ]]&lt;br /&gt;
*[[Backup FAQ]]&lt;br /&gt;
*[[Block layout]]&lt;br /&gt;
*[[CVS|CVS documentation]]&lt;br /&gt;
*[[Email processing]]&lt;br /&gt;
*[[Messaging]]&lt;br /&gt;
*[[Migration]]&lt;br /&gt;
*[[Search engine optimization]]&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
*[[Moodle manuals]]&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
&lt;br /&gt;
== Users ==&lt;br /&gt;
&lt;br /&gt;
*[[User Authentication|Authentication]]&lt;br /&gt;
*[[admin/uploaduser|Upload users]]&lt;br /&gt;
*[[admin/enrol|Enrolments]]&lt;br /&gt;
*[[admin/admin|Assign admins]]&lt;br /&gt;
&lt;br /&gt;
==Course management==&lt;br /&gt;
&lt;br /&gt;
*[[Course Categories|Course categories]]&lt;br /&gt;
*[[Metacourses]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Administrator]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Moodle_in_education&amp;diff=5096</id>
		<title>Moodle in education</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Moodle_in_education&amp;diff=5096"/>
		<updated>2006-02-09T12:31:42Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added Using Moodle book&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;&#039;Note for contributors:&#039;&#039;&#039; Design and/or style improvements to this page are welcome :-) Please add additional teacher documentation links to the See also section.&amp;lt;/p&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 15px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4;&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Activity modules]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[mod/assignment/index|Assignments]] | [[mod/chat/index|Chats]] | [[mod/choice/index|Choices]] | [[mod/forum/index|Forums]] | [[mod/glossary/index|Glossaries]] | [[mod/hotpot/index|Hot Potatoes]] | [[mod/lesson/index|Lessons]] | [[mod/quiz/index|Quizzes]] | [[mod/scorm/index|SCORM]] | [[mod/survey/index|Surveys]] | [[mod/wiki/index|Wikis]] | [[mod/workshop/index|Workshops]]&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 15px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[mod/resource/index|Resources]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[course/mod/text|Text page]] | [[course/mod/html|Web page]] | [[course/mod/file|File or website link]] | [[course/mod/directory|Directory]] | [[course/mod/label|Label]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Blocks]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Activities]] | [[Administration]] | [[Calendar]] | [[Courses]] | [[Course/Site Description]] | [[HTML]] | [[Latest News]] | [[Messages]] | [[Online Users]] | [[People]] | [[Quiz Results]] | [[Random Glossary Entry]] | [[Recent Activity]] | [[RSS feeds]] | [[Search Forums]] | [[Section Links]] | [[Upcoming Events]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Tools]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Gradebook]] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #aaa; background: #f9f9f9; padding: 5px; margin: 5px 0 10px 0; width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding: 0 5px 0 5px; background:#e4e4e4&amp;quot; align=&amp;quot;center&amp;quot; | &amp;lt;h2 style=&amp;quot;border: 0; margin: 0&amp;quot;&amp;gt;[[Teaching with Moodle]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;font-size: 100%;&amp;quot; | [[Teaching FAQ]] | [[Teaching Good Practices (K-12) | Good Practices (K-12)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Using Moodle book]]&lt;br /&gt;
*[[course/view|The course homepage]]&lt;br /&gt;
*[[Course sections]]&lt;br /&gt;
*[[Formatting options]]&lt;br /&gt;
*[[HTML in Moodle]]&lt;br /&gt;
*[[Presentations]]&lt;br /&gt;
*[[Moodle manuals]]&lt;br /&gt;
*[[Adding resources and activities|Adding resources and activities to your course]]&lt;br /&gt;
*[[Non-standard modules]]&lt;br /&gt;
*[[Non-standard blocks]]&lt;br /&gt;
*[[Teaching FAQ]]&lt;br /&gt;
*[[Teaching Best Practices (K-12) | Teaching with Moodle - Good Practices (K-12)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Teacher]]&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Using_Moodle_book&amp;diff=5095</id>
		<title>Using Moodle book</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Using_Moodle_book&amp;diff=5095"/>
		<updated>2006-02-09T12:30:16Z</updated>

		<summary type="html">&lt;p&gt;Davidds: Added link to Jason Cole profile in Moodle.org&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:UsingMoodleBook.jpg|left]]&lt;br /&gt;
[http://moodle.org/user/view.php?id=9318&amp;amp;course=5 Jason Cole] has kindly allowed us to freely use excerpts from his book &amp;quot;&#039;&#039;&#039;Using Moodle&#039;&#039;&#039;&amp;quot; on MoodleDocs. If you do use it on a page then please add the [[Template:excerpted from Jason Cole]] at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
For more information about the book see its [http://www.amazon.com/gp/product/0596008635/ page on amazon.com].&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/4x/sv/index.php?title=Using_Moodle_book&amp;diff=5094</id>
		<title>Using Moodle book</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/4x/sv/index.php?title=Using_Moodle_book&amp;diff=5094"/>
		<updated>2006-02-09T12:27:31Z</updated>

		<summary type="html">&lt;p&gt;Davidds: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:UsingMoodleBook.jpg|left]]&lt;br /&gt;
Jason Cole has kindly allowed us to freely use excerpts from his book &amp;quot;Using Moodle&amp;quot; on MoodleDocs. If you do use it on a page then please add the [[Template:excerpted from Jason Cole]] at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
For more information about the book see its [http://www.amazon.com/gp/product/0596008635/ page on amazon.com].&lt;/div&gt;</summary>
		<author><name>Davidds</name></author>
	</entry>
</feed>